- 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.
		
			
				
	
	
		
			155 lines
		
	
	
		
			4.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			155 lines
		
	
	
		
			4.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
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');
 | 
						|
    }
 | 
						|
}
 |