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,43 @@
 | 
			
		||||
import {fireEvent} from '../utils/Event.js?v=2';
 | 
			
		||||
 | 
			
		||||
export class BaseFilter {
 | 
			
		||||
    constructor(selectorId, renderItemFn, renderChoiceFn, eventType) {
 | 
			
		||||
        this.selectorId = selectorId;
 | 
			
		||||
        this.renderItemFn = renderItemFn;
 | 
			
		||||
        this.renderChoiceFn = renderChoiceFn;
 | 
			
		||||
        this.eventType = eventType;
 | 
			
		||||
 | 
			
		||||
        const renderItem = renderItemFn;
 | 
			
		||||
        const renderChoice = renderChoiceFn;
 | 
			
		||||
 | 
			
		||||
        const choices = new Choices(`${this.selectorId} select`, {
 | 
			
		||||
            removeItemButton: true,
 | 
			
		||||
            allowHTML: true,
 | 
			
		||||
            callbackOnCreateTemplates: function(strToEl) {
 | 
			
		||||
                const {classNames, itemSelectText} = this.config;
 | 
			
		||||
                return {
 | 
			
		||||
                    item: function({classNames}, data) {
 | 
			
		||||
                        return strToEl(renderItem(classNames, data));
 | 
			
		||||
                    },
 | 
			
		||||
                    choice: function({classNames}, data) {
 | 
			
		||||
                        return strToEl(renderChoice(classNames, data, itemSelectText));
 | 
			
		||||
                    },
 | 
			
		||||
                };
 | 
			
		||||
            }
 | 
			
		||||
        });
 | 
			
		||||
        choices.passedElement.element.addEventListener(
 | 
			
		||||
            'change',
 | 
			
		||||
            () => fireEvent(this.eventType)
 | 
			
		||||
        );
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    getValues() {
 | 
			
		||||
        return Array.from(document.querySelector(`${this.selectorId} select`).options)
 | 
			
		||||
            .filter(option => option.selected)
 | 
			
		||||
            .map(option => option.value);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    getEventType() {
 | 
			
		||||
        return this.eventType;
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@@ -0,0 +1,16 @@
 | 
			
		||||
import {BaseFilter} from './BaseFilter.js?v=2';
 | 
			
		||||
import {
 | 
			
		||||
    renderDeviceTypeSelectorItem,
 | 
			
		||||
    renderDeviceTypeSelectorChoice,
 | 
			
		||||
} from '../DataRenderers.js?v=2';
 | 
			
		||||
 | 
			
		||||
export class DeviceTypeFilter extends BaseFilter {
 | 
			
		||||
    constructor() {
 | 
			
		||||
        super(
 | 
			
		||||
            '#device-type-selectors',
 | 
			
		||||
            renderDeviceTypeSelectorItem,
 | 
			
		||||
            renderDeviceTypeSelectorChoice,
 | 
			
		||||
            'deviceTypeFilterChanged'
 | 
			
		||||
        );
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@@ -0,0 +1,16 @@
 | 
			
		||||
import {BaseFilter} from './BaseFilter.js?v=2';
 | 
			
		||||
import {
 | 
			
		||||
    renderEntityTypeSelectorItem,
 | 
			
		||||
    renderEntityTypeSelectorChoice,
 | 
			
		||||
} from '../DataRenderers.js?v=2';
 | 
			
		||||
 | 
			
		||||
export class EntityTypeFilter extends BaseFilter {
 | 
			
		||||
    constructor() {
 | 
			
		||||
        super(
 | 
			
		||||
            '#entity-type-selectors',
 | 
			
		||||
            renderEntityTypeSelectorItem,
 | 
			
		||||
            renderEntityTypeSelectorChoice,
 | 
			
		||||
            'entityTypeFilterChanged'
 | 
			
		||||
        );
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@@ -0,0 +1,16 @@
 | 
			
		||||
import {BaseFilter} from './BaseFilter.js?v=2';
 | 
			
		||||
import {
 | 
			
		||||
    renderEventTypeSelectorItem,
 | 
			
		||||
    renderEventTypeSelectorChoice,
 | 
			
		||||
} from '../DataRenderers.js?v=2';
 | 
			
		||||
 | 
			
		||||
export class EventTypeFilter extends BaseFilter {
 | 
			
		||||
    constructor() {
 | 
			
		||||
        super(
 | 
			
		||||
            '#event-type-selectors',
 | 
			
		||||
            renderEventTypeSelectorItem,
 | 
			
		||||
            renderEventTypeSelectorChoice,
 | 
			
		||||
            'eventTypeFilterChanged'
 | 
			
		||||
        );
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@@ -0,0 +1,16 @@
 | 
			
		||||
import {BaseFilter} from './BaseFilter.js?v=2';
 | 
			
		||||
import {
 | 
			
		||||
    renderIpTypeSelectorItem,
 | 
			
		||||
    renderIpTypeSelectorChoice,
 | 
			
		||||
} from '../DataRenderers.js?v=2';
 | 
			
		||||
 | 
			
		||||
export class IpTypeFilter extends BaseFilter {
 | 
			
		||||
    constructor() {
 | 
			
		||||
        super(
 | 
			
		||||
            '#ip-type-selectors',
 | 
			
		||||
            renderIpTypeSelectorItem,
 | 
			
		||||
            renderIpTypeSelectorChoice,
 | 
			
		||||
            'ipTypeFilterChanged'
 | 
			
		||||
        );
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@@ -0,0 +1,16 @@
 | 
			
		||||
import {BaseFilter} from './BaseFilter.js?v=2';
 | 
			
		||||
import {
 | 
			
		||||
    renderRuleSelectorItem,
 | 
			
		||||
    renderRuleSelectorChoice,
 | 
			
		||||
} from '../DataRenderers.js?v=2';
 | 
			
		||||
 | 
			
		||||
export class RulesFilter extends BaseFilter {
 | 
			
		||||
    constructor() {
 | 
			
		||||
        super(
 | 
			
		||||
            '#rule-selectors',
 | 
			
		||||
            renderRuleSelectorItem,
 | 
			
		||||
            renderRuleSelectorChoice,
 | 
			
		||||
            'rulesFilterChanged'
 | 
			
		||||
        );
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@@ -0,0 +1,16 @@
 | 
			
		||||
import {BaseFilter} from './BaseFilter.js?v=2';
 | 
			
		||||
import {
 | 
			
		||||
    renderScoresRangeSelectorItem,
 | 
			
		||||
    renderScoresRangeSelectorChoice,
 | 
			
		||||
} from '../DataRenderers.js?v=2';
 | 
			
		||||
 | 
			
		||||
export class ScoresRangeFilter extends BaseFilter {
 | 
			
		||||
    constructor() {
 | 
			
		||||
        super(
 | 
			
		||||
            '#scores-range-selectors',
 | 
			
		||||
            renderScoresRangeSelectorItem,
 | 
			
		||||
            renderScoresRangeSelectorChoice,
 | 
			
		||||
            'scoresRangeFilterChanged'
 | 
			
		||||
        );
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
		Reference in New Issue
	
	Block a user