ontimize-web-ngx
Version:
Ontimize Web framework using Angular 15
57 lines • 6.25 kB
JavaScript
import { Directive } from '@angular/core';
import { Util } from '../../util/util';
import * as i0 from "@angular/core";
export const DEFAULT_INPUTS_O_CONTEXT_MENU_ITEMS = [
'attr',
'ovisible: visible',
'icon',
'data',
'label',
'oenabled: enabled',
'svgIcon: svg-icon'
];
export class OComponentMenuBaseItem {
constructor() {
this.ovisible = true;
this.type = OComponentMenuBaseItem.TYPE_GROUP_MENU;
this.enabled = true;
}
get disabled() {
if (this.enabled instanceof Function) {
return !this.enabled(this.data);
}
return !this.enabled;
}
get isVisible() {
if (this.ovisible instanceof Function) {
return this.ovisible(this.data);
}
return this.ovisible;
}
set oenabled(value) {
if (value instanceof Function) {
this.enabled = value;
}
else {
this.enabled = this.parseInput(value, true);
}
}
parseInput(value, defaultValue) {
if (value instanceof Function || typeof value === 'boolean') {
return value;
}
return Util.parseBoolean(value, defaultValue);
}
}
OComponentMenuBaseItem.TYPE_ITEM_MENU = 'item_menu';
OComponentMenuBaseItem.TYPE_GROUP_MENU = 'item_group';
OComponentMenuBaseItem.TYPE_SEPARATOR_MENU = 'item_separator';
OComponentMenuBaseItem.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: OComponentMenuBaseItem, deps: [], target: i0.ɵɵFactoryTarget.Directive });
OComponentMenuBaseItem.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: OComponentMenuBaseItem, inputs: { attr: "attr", ovisible: ["visible", "ovisible"], icon: "icon", data: "data", label: "label", oenabled: ["enabled", "oenabled"], svgIcon: ["svg-icon", "svgIcon"] }, ngImport: i0 });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: OComponentMenuBaseItem, decorators: [{
type: Directive,
args: [{
inputs: DEFAULT_INPUTS_O_CONTEXT_MENU_ITEMS
}]
}] });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiby1jb250ZW50LW1lbnUtYmFzZS1pdGVtLmNsYXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb250aW1pemUtd2ViLW5neC9zcmMvbGliL2NvbXBvbmVudHMvY29udGV4dG1lbnUvby1jb250ZW50LW1lbnUtYmFzZS1pdGVtLmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQUV2QyxNQUFNLENBQUMsTUFBTSxtQ0FBbUMsR0FBRztJQUNqRCxNQUFNO0lBQ04sbUJBQW1CO0lBQ25CLE1BQU07SUFDTixNQUFNO0lBQ04sT0FBTztJQUNQLG1CQUFtQjtJQUNuQixtQkFBbUI7Q0FDcEIsQ0FBQztBQUtGLE1BQU0sT0FBTyxzQkFBc0I7SUFIbkM7UUFRUyxhQUFRLEdBQXVDLElBQUksQ0FBQztRQUVwRCxTQUFJLEdBQUcsc0JBQXNCLENBQUMsZUFBZSxDQUFDO1FBSTlDLFlBQU8sR0FBdUMsSUFBSSxDQUFDO0tBZ0MzRDtJQTdCQyxJQUFJLFFBQVE7UUFDVixJQUFJLElBQUksQ0FBQyxPQUFPLFlBQVksUUFBUSxFQUFFO1lBQ3BDLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUNqQztRQUNELE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxJQUFJLFNBQVM7UUFDWCxJQUFJLElBQUksQ0FBQyxRQUFRLFlBQVksUUFBUSxFQUFFO1lBQ3JDLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDakM7UUFDRCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDdkIsQ0FBQztJQUVELElBQUksUUFBUSxDQUFDLEtBQTJDO1FBQ3RELElBQUksS0FBSyxZQUFZLFFBQVEsRUFBRTtZQUM3QixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztTQUN0QjthQUFNO1lBQ0wsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQztTQUM3QztJQUNILENBQUM7SUFFUyxVQUFVLENBQUMsS0FBVSxFQUFFLFlBQXNCO1FBQ3JELElBQUksS0FBSyxZQUFZLFFBQVEsSUFBSSxPQUFPLEtBQUssS0FBSyxTQUFTLEVBQUU7WUFDM0QsT0FBTyxLQUFLLENBQUM7U0FDZDtRQUNELE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsWUFBWSxDQUFDLENBQUM7SUFDaEQsQ0FBQzs7QUF2Q2EscUNBQWMsR0FBRyxXQUFXLENBQUM7QUFDN0Isc0NBQWUsR0FBRyxZQUFZLENBQUM7QUFDL0IsMENBQW1CLEdBQUcsZ0JBQWdCLENBQUM7b0hBSjFDLHNCQUFzQjt3R0FBdEIsc0JBQXNCOzRGQUF0QixzQkFBc0I7a0JBSGxDLFNBQVM7bUJBQUM7b0JBQ1QsTUFBTSxFQUFFLG1DQUFtQztpQkFDNUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFV0aWwgfSBmcm9tICcuLi8uLi91dGlsL3V0aWwnO1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9JTlBVVFNfT19DT05URVhUX01FTlVfSVRFTVMgPSBbXG4gICdhdHRyJyxcbiAgJ292aXNpYmxlOiB2aXNpYmxlJyxcbiAgJ2ljb24nLFxuICAnZGF0YScsXG4gICdsYWJlbCcsXG4gICdvZW5hYmxlZDogZW5hYmxlZCcsXG4gICdzdmdJY29uOiBzdmctaWNvbidcbl07XG5cbkBEaXJlY3RpdmUoe1xuICBpbnB1dHM6IERFRkFVTFRfSU5QVVRTX09fQ09OVEVYVF9NRU5VX0lURU1TXG59KVxuZXhwb3J0IGNsYXNzIE9Db21wb25lbnRNZW51QmFzZUl0ZW0ge1xuXG4gIHB1YmxpYyBzdGF0aWMgVFlQRV9JVEVNX01FTlUgPSAnaXRlbV9tZW51JztcbiAgcHVibGljIHN0YXRpYyBUWVBFX0dST1VQX01FTlUgPSAnaXRlbV9ncm91cCc7XG4gIHB1YmxpYyBzdGF0aWMgVFlQRV9TRVBBUkFUT1JfTUVOVSA9ICdpdGVtX3NlcGFyYXRvcic7XG4gIHB1YmxpYyBvdmlzaWJsZTogYm9vbGVhbiB8ICgoaXRlbTogYW55KSA9PiBib29sZWFuKSA9IHRydWU7XG4gIHB1YmxpYyBhdHRyO1xuICBwdWJsaWMgdHlwZSA9IE9Db21wb25lbnRNZW51QmFzZUl0ZW0uVFlQRV9HUk9VUF9NRU5VO1xuICBwdWJsaWMgaWNvbjogc3RyaW5nO1xuICBwdWJsaWMgZGF0YTogYW55O1xuICBwdWJsaWMgbGFiZWw6IHN0cmluZztcbiAgcHVibGljIGVuYWJsZWQ6IGJvb2xlYW4gfCAoKGl0ZW06IGFueSkgPT4gYm9vbGVhbikgPSB0cnVlO1xuICBwdWJsaWMgc3ZnSWNvbjogc3RyaW5nO1xuXG4gIGdldCBkaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy5lbmFibGVkIGluc3RhbmNlb2YgRnVuY3Rpb24pIHtcbiAgICAgIHJldHVybiAhdGhpcy5lbmFibGVkKHRoaXMuZGF0YSk7XG4gICAgfVxuICAgIHJldHVybiAhdGhpcy5lbmFibGVkO1xuICB9XG5cbiAgZ2V0IGlzVmlzaWJsZSgpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy5vdmlzaWJsZSBpbnN0YW5jZW9mIEZ1bmN0aW9uKSB7XG4gICAgICByZXR1cm4gdGhpcy5vdmlzaWJsZSh0aGlzLmRhdGEpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5vdmlzaWJsZTtcbiAgfVxuXG4gIHNldCBvZW5hYmxlZCh2YWx1ZTogKGJvb2xlYW4gfCAoKGl0ZW06IGFueSkgPT4gYm9vbGVhbikpKSB7XG4gICAgaWYgKHZhbHVlIGluc3RhbmNlb2YgRnVuY3Rpb24pIHtcbiAgICAgIHRoaXMuZW5hYmxlZCA9IHZhbHVlO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmVuYWJsZWQgPSB0aGlzLnBhcnNlSW5wdXQodmFsdWUsIHRydWUpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBwYXJzZUlucHV0KHZhbHVlOiBhbnksIGRlZmF1bHRWYWx1ZT86IGJvb2xlYW4pOiBib29sZWFuIHtcbiAgICBpZiAodmFsdWUgaW5zdGFuY2VvZiBGdW5jdGlvbiB8fCB0eXBlb2YgdmFsdWUgPT09ICdib29sZWFuJykge1xuICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIH1cbiAgICByZXR1cm4gVXRpbC5wYXJzZUJvb2xlYW4odmFsdWUsIGRlZmF1bHRWYWx1ZSk7XG4gIH1cblxufVxuIl19