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:
		@@ -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');
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
		Reference in New Issue
	
	Block a user