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,154 @@
import {Loader} from './Loader.js?v=2';
import {fireEvent} from './utils/Event.js?v=2';
import {handleAjaxError} from './utils/ErrorHandler.js?v=2';
import {renderEnrichmentCalculation} from './DataRenderers.js?v=2';
export class EnrichAllPopUp {
constructor() {
this.loader = new Loader();
const onEnrichAllButtonClicked = this.onEnrichAllButtonClicked.bind(this);
this.enrichAllButton.addEventListener('click', onEnrichAllButtonClicked, false);
const onConfirmEnrichAllButton = this.onConfirmEnrichAllButton.bind(this);
this.confirmButton.addEventListener('click', onConfirmEnrichAllButton, false);
const onKeydown = this.onKeydown.bind(this);
window.addEventListener('keydown', onKeydown, false);
const onCloseButtonClick = this.onCloseButtonClick.bind(this);
this.closePopUpButton.addEventListener('click', onCloseButtonClick, false);
}
//https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/key
onKeydown(e) {
if (e.defaultPrevented) {
return; // Do nothing if the event was already processed
}
switch (e.key) {
case 'Esc': // IE/Edge specific value
case 'Escape':
this.close();
break;
default:
return;
}
// Cancel the default action to avoid it being handled twice
e.preventDefault();
}
onConfirmEnrichAllButton(e) {
e.preventDefault();
this.accountForm.submit();
this.card.classList.add('is-hidden');
this.contentDiv.classList.add('is-hidden');
}
onEnrichAllButtonClicked(e) {
e.preventDefault();
// close other panels
const card = document.querySelector('.details-card#close-account-popup');
if (card && !card.classList.contains('is-hidden')) {
fireEvent('closeAccountPopUpClosed');
card.classList.add('is-hidden');
}
// call ajax
this.loadData();
}
loadData(id) {
this.contentDiv.classList.add('is-hidden');
this.loaderDiv.classList.remove('is-hidden');
this.card.classList.remove('is-hidden');
const el = this.loaderDiv;
this.loader.start(el);
const onDetailsLoaded = this.onDetailsLoaded.bind(this);
const token = document.head.querySelector('[name=\'csrf-token\'][content]').content;
$.ajax({
url: '/admin/enrichmentDetails',
type: 'get',
data: {token: token},
success: onDetailsLoaded,
error: handleAjaxError,
});
}
onDetailsLoaded(data, status) {
if ('success' !== status || 0 === data.length) {
return;
}
data = this.proceedData(data);
this.loader.stop();
this.contentDiv.classList.remove('is-hidden');
this.loaderDiv.classList.add('is-hidden');
let span = null;
//todo: foreach and arrow fn ?
for (const key in data) {
span = this.card.querySelector(`#details_${key}`);
if (span) {
if (data[key] instanceof Node) {
span.replaceChildren(data[key]);
} else {
span.innerHTML = data[key];
}
}
}
}
proceedData(data) {
data.calculation = renderEnrichmentCalculation(data);
return data;
}
onCloseButtonClick(e) {
e.preventDefault();
this.close();
}
close() {
fireEvent('enrichAllPopUpClosed');
this.card.classList.add('is-hidden');
return false;
}
get loaderDiv() {
return this.card.querySelector('div.text-loader');
}
get contentDiv() {
return this.card.querySelector('div.content');
}
get card() {
return document.querySelector('.details-card#enrich-all-popup');
}
get closePopUpButton() {
return this.card.querySelector('.delete');
}
get accountForm() {
return document.getElementById('enrich-all-form');
}
get confirmButton() {
return document.getElementById('confirm-enrich-all-button');
}
get enrichAllButton() {
return document.getElementById('enrich-all-btn');
}
}