feat(cloudron): add tirreno package artifacts

- Add CloudronStack/output/CloudronPackages-Artifacts/tirreno/ directory and its contents
- Includes package manifest, Dockerfile, source code, documentation, and build artifacts
- Add tirreno-1761840148.tar.gz as a build artifact
- Add tirreno-cloudron-package-1761841304.tar.gz as the Cloudron package
- Include all necessary files for the tirreno Cloudron package

This adds the complete tirreno Cloudron package artifacts to the repository.
This commit is contained in:
2025-10-30 11:43:06 -05:00
parent 0ce353ea9d
commit 91d52d2de5
1692 changed files with 202851 additions and 0 deletions

View File

@@ -0,0 +1,77 @@
import {Loader} from '../Loader.js?v=2';
import {Tooltip} from '../Tooltip.js?v=2';
import {handleAjaxError} from '../utils/ErrorHandler.js?v=2';
import {fireEvent} from '../utils/Event.js?v=2';
export class BaseTiles {
constructor(tilesParams) {
const me = this;
this.config = tilesParams;
this.loaders = {};
this.elems.forEach(elem => {
me.loaders[elem] = new Loader();
});
if (!this.config.sequential) {
this.loadData();
}
}
loadData() {
const me = this;
const url = this.url;
const params = this.config.getParams();
const token = document.head.querySelector('[name=\'csrf-token\'][content]').content;
if (!this.config.sequential) {
this.startLoaders();
}
fireEvent('dateFilterChangedCaught');
$.ajax({
url: `${url}?token=${token}`,
type: 'get',
scope: me,
data: params,
success: function(response) {
me.onLoad(response, 'success');
me.initTooltips();
},
error: handleAjaxError,
});
}
stopLoaders() {
for (const property in this.loaders) {
this.loaders[property].stop();
}
}
startLoaders() {
for (const property in this.loaders) {
const el = document.querySelector(`#${property}`);
this.loaders[property].start(el);
}
}
startLoader() {
this.startLoaders();
}
onLoad(data, status) {
if ('success' == status) {
this.stopLoaders();
this.updateTiles(data);
fireEvent('dateFilterChangedCompleted');
}
}
initTooltips() {
Tooltip.addTooltipsToTiles();
}
updateTiles(data) {}
}