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