ontimize-web-ngx
Version:
Ontimize Web framework using Angular 15
70 lines • 13 kB
JavaScript
import { __decorate, __metadata } from "tslib";
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, EventEmitter, Injector, ViewEncapsulation } from '@angular/core';
import { BooleanInputConverter } from '../../../../../decorators/input-converter';
import * as i0 from "@angular/core";
import * as i1 from "@angular/common";
import * as i2 from "@angular/flex-layout/flex";
import * as i3 from "@angular/forms";
import * as i4 from "@angular/material/checkbox";
import * as i5 from "@angular/material/icon";
import * as i6 from "@angular/material/menu";
import * as i7 from "../../../../../pipes/o-translate.pipe";
export const DEFAULT_INPUTS_O_TABLE_OPTION = [
'oattr: attr',
'enabled',
'icon',
'showCheckboxOption : show-checkbox-option',
'olabel: label',
'active'
];
export const DEFAULT_OUTPUTS_O_TABLE_OPTION = [
'onClick'
];
export class OTableOptionComponent {
constructor(injector, elRef) {
this.injector = injector;
this.elRef = elRef;
this.onClick = new EventEmitter();
this.enabled = true;
this.showCheckboxOption = false;
this.active = false;
try {
this.cd = this.injector.get(ChangeDetectorRef);
}
catch (e) {
}
}
innerOnClick() {
this.onClick.emit();
this.setActive(!this.active);
}
get activeCheckboxOption() {
return this.showCheckboxOption && this.active;
}
setActive(val) {
this.active = val;
this.cd.detectChanges();
}
}
OTableOptionComponent.O_TABLE_OPTION_ACTIVE_CLASS = 'o-table-option-active';
OTableOptionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: OTableOptionComponent, deps: [{ token: i0.Injector }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
OTableOptionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: OTableOptionComponent, selector: "o-table-option", inputs: { oattr: ["attr", "oattr"], enabled: "enabled", icon: "icon", showCheckboxOption: ["show-checkbox-option", "showCheckboxOption"], olabel: ["label", "olabel"], active: "active" }, outputs: { onClick: "onClick" }, host: { properties: { "class.o-table-option": "true" } }, ngImport: i0, template: "<ng-container *ngIf=\"showCheckboxOption; then checkboxTemplate; else buttonTemplate\"></ng-container>\n\n<ng-template #checkboxTemplate>\n <span mat-menu-item>\n <mat-checkbox [disabled]=\"!enabled\" [ngModel]=\"activeCheckboxOption\" (change)=\"innerOnClick()\" disableRipple=\"true\"> \n {{ olabel | oTranslate }}\n <mat-icon *ngIf=\"icon\"> {{ icon }}</mat-icon>\n </mat-checkbox>\n </span>\n</ng-template>\n\n<ng-template #buttonTemplate>\n <button [disabled]=\"!enabled\" type=\"button\" (click)=\"innerOnClick()\" mat-menu-item fxLayout=\"row\"\n fxLayoutAlign=\"start center\">\n {{ olabel | oTranslate }}\n <mat-icon *ngIf=\"icon\"> {{ icon }}</mat-icon>\n </button>\n</ng-template>", styles: [""], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i2.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex"], exportAs: ["matCheckbox"] }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i6.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { kind: "pipe", type: i7.OTranslatePipe, name: "oTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
__decorate([
BooleanInputConverter(),
__metadata("design:type", Boolean)
], OTableOptionComponent.prototype, "enabled", void 0);
__decorate([
BooleanInputConverter(),
__metadata("design:type", Boolean)
], OTableOptionComponent.prototype, "showCheckboxOption", void 0);
__decorate([
BooleanInputConverter(),
__metadata("design:type", Boolean)
], OTableOptionComponent.prototype, "active", void 0);
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: OTableOptionComponent, decorators: [{
type: Component,
args: [{ selector: 'o-table-option', inputs: DEFAULT_INPUTS_O_TABLE_OPTION, outputs: DEFAULT_OUTPUTS_O_TABLE_OPTION, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
'[class.o-table-option]': 'true',
}, template: "<ng-container *ngIf=\"showCheckboxOption; then checkboxTemplate; else buttonTemplate\"></ng-container>\n\n<ng-template #checkboxTemplate>\n <span mat-menu-item>\n <mat-checkbox [disabled]=\"!enabled\" [ngModel]=\"activeCheckboxOption\" (change)=\"innerOnClick()\" disableRipple=\"true\"> \n {{ olabel | oTranslate }}\n <mat-icon *ngIf=\"icon\"> {{ icon }}</mat-icon>\n </mat-checkbox>\n </span>\n</ng-template>\n\n<ng-template #buttonTemplate>\n <button [disabled]=\"!enabled\" type=\"button\" (click)=\"innerOnClick()\" mat-menu-item fxLayout=\"row\"\n fxLayoutAlign=\"start center\">\n {{ olabel | oTranslate }}\n <mat-icon *ngIf=\"icon\"> {{ icon }}</mat-icon>\n </button>\n</ng-template>" }]
}], ctorParameters: function () { return [{ type: i0.Injector }, { type: i0.ElementRef }]; }, propDecorators: { enabled: [], showCheckboxOption: [], active: [] } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiby10YWJsZS1vcHRpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb250aW1pemUtd2ViLW5neC9zcmMvbGliL2NvbXBvbmVudHMvdGFibGUvZXh0ZW5zaW9ucy9oZWFkZXIvdGFibGUtb3B0aW9uL28tdGFibGUtb3B0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29udGltaXplLXdlYi1uZ3gvc3JjL2xpYi9jb21wb25lbnRzL3RhYmxlL2V4dGVuc2lvbnMvaGVhZGVyL3RhYmxlLW9wdGlvbi9vLXRhYmxlLW9wdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBUSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVuSixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQzs7Ozs7Ozs7O0FBRWxGLE1BQU0sQ0FBQyxNQUFNLDZCQUE2QixHQUFHO0lBQzNDLGFBQWE7SUFDYixTQUFTO0lBQ1QsTUFBTTtJQUVOLDJDQUEyQztJQUMzQyxlQUFlO0lBQ2YsUUFBUTtDQUNULENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSw4QkFBOEIsR0FBRztJQUM1QyxTQUFTO0NBQ1YsQ0FBQztBQWVGLE1BQU0sT0FBTyxxQkFBcUI7SUFrQmhDLFlBQ1ksUUFBa0IsRUFDckIsS0FBaUI7UUFEZCxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ3JCLFVBQUssR0FBTCxLQUFLLENBQVk7UUFoQjFCLFlBQU8sR0FBeUIsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUkzRCxZQUFPLEdBQVksSUFBSSxDQUFDO1FBSXhCLHVCQUFrQixHQUFZLEtBQUssQ0FBQztRQUVwQyxXQUFNLEdBQVksS0FBSyxDQUFDO1FBUXRCLElBQUk7WUFDRixJQUFJLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFvQixpQkFBNEMsQ0FBQyxDQUFDO1NBQzlGO1FBQUMsT0FBTyxDQUFDLEVBQUU7U0FDWDtJQUNILENBQUM7SUFFRCxZQUFZO1FBQ1YsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNwQixJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFRCxJQUFJLG9CQUFvQjtRQUN0QixPQUFPLElBQUksQ0FBQyxrQkFBa0IsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ2hELENBQUM7SUFFRCxTQUFTLENBQUMsR0FBWTtRQUNwQixJQUFJLENBQUMsTUFBTSxHQUFHLEdBQUcsQ0FBQztRQUNsQixJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQzFCLENBQUM7O0FBdENhLGlEQUEyQixHQUFHLHVCQUF1QixDQUFDO21IQUZ6RCxxQkFBcUI7dUdBQXJCLHFCQUFxQiw0VUMvQmxDLGt0QkFpQmM7QURxQlo7SUFBQyxxQkFBcUIsRUFBRTs7c0RBQ0E7QUFHeEI7SUFBQyxxQkFBcUIsRUFBRTs7aUVBQ1k7QUFDcEM7SUFBQyxxQkFBcUIsRUFBRTs7cURBQ0E7NEZBZGIscUJBQXFCO2tCQWJqQyxTQUFTOytCQUNFLGdCQUFnQixVQUdsQiw2QkFBNkIsV0FDNUIsOEJBQThCLGlCQUN4QixpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNLFFBQ3pDO3dCQUNKLHdCQUF3QixFQUFFLE1BQU07cUJBQ2pDO3dIQVdELE9BQU8sTUFJUCxrQkFBa0IsTUFFbEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIEluamVjdG9yLCBUeXBlLCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBCb29sZWFuSW5wdXRDb252ZXJ0ZXIgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9kZWNvcmF0b3JzL2lucHV0LWNvbnZlcnRlcic7XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX0lOUFVUU19PX1RBQkxFX09QVElPTiA9IFtcbiAgJ29hdHRyOiBhdHRyJyxcbiAgJ2VuYWJsZWQnLFxuICAnaWNvbicsXG4gIC8vc2hvdy1jaGVja2JveC1vcHRpb24gW3N0cmluZ11beWVzfG5vfHRydWV8ZmFsc2VdOiBzaG93IGNoZWNrYm94IG9wdGlvbi4gRGVmYXVsdCA6bm8uXG4gICdzaG93Q2hlY2tib3hPcHRpb24gOiBzaG93LWNoZWNrYm94LW9wdGlvbicsXG4gICdvbGFiZWw6IGxhYmVsJyxcbiAgJ2FjdGl2ZSdcbl07XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX09VVFBVVFNfT19UQUJMRV9PUFRJT04gPSBbXG4gICdvbkNsaWNrJ1xuXTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnby10YWJsZS1vcHRpb24nLFxuICB0ZW1wbGF0ZVVybDogJy4vby10YWJsZS1vcHRpb24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9vLXRhYmxlLW9wdGlvbi5jb21wb25lbnQuc2NzcyddLFxuICBpbnB1dHM6IERFRkFVTFRfSU5QVVRTX09fVEFCTEVfT1BUSU9OLFxuICBvdXRwdXRzOiBERUZBVUxUX09VVFBVVFNfT19UQUJMRV9PUFRJT04sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBob3N0OiB7XG4gICAgJ1tjbGFzcy5vLXRhYmxlLW9wdGlvbl0nOiAndHJ1ZScsXG4gIH1cbn0pXG5cbmV4cG9ydCBjbGFzcyBPVGFibGVPcHRpb25Db21wb25lbnQge1xuXG4gIHB1YmxpYyBzdGF0aWMgT19UQUJMRV9PUFRJT05fQUNUSVZFX0NMQVNTID0gJ28tdGFibGUtb3B0aW9uLWFjdGl2ZSc7XG5cbiAgb25DbGljazogRXZlbnRFbWl0dGVyPG9iamVjdD4gPSBuZXcgRXZlbnRFbWl0dGVyPG9iamVjdD4oKTtcblxuICBvYXR0cjogc3RyaW5nO1xuICBAQm9vbGVhbklucHV0Q29udmVydGVyKClcbiAgZW5hYmxlZDogYm9vbGVhbiA9IHRydWU7XG4gIGljb246IHN0cmluZztcbiAgb2xhYmVsOiBzdHJpbmc7XG4gIEBCb29sZWFuSW5wdXRDb252ZXJ0ZXIoKVxuICBzaG93Q2hlY2tib3hPcHRpb246IGJvb2xlYW4gPSBmYWxzZTtcbiAgQEJvb2xlYW5JbnB1dENvbnZlcnRlcigpXG4gIGFjdGl2ZTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIGNkOiBDaGFuZ2VEZXRlY3RvclJlZjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcm90ZWN0ZWQgaW5qZWN0b3I6IEluamVjdG9yLFxuICAgIHB1YmxpYyBlbFJlZjogRWxlbWVudFJlZlxuICApIHtcbiAgICB0cnkge1xuICAgICAgdGhpcy5jZCA9IHRoaXMuaW5qZWN0b3IuZ2V0PENoYW5nZURldGVjdG9yUmVmPihDaGFuZ2VEZXRlY3RvclJlZiBhcyBUeXBlPENoYW5nZURldGVjdG9yUmVmPik7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgIH1cbiAgfVxuXG4gIGlubmVyT25DbGljaygpIHtcbiAgICB0aGlzLm9uQ2xpY2suZW1pdCgpO1xuICAgIHRoaXMuc2V0QWN0aXZlKCF0aGlzLmFjdGl2ZSk7XG4gIH1cblxuICBnZXQgYWN0aXZlQ2hlY2tib3hPcHRpb24oKSB7XG4gICAgcmV0dXJuIHRoaXMuc2hvd0NoZWNrYm94T3B0aW9uICYmIHRoaXMuYWN0aXZlO1xuICB9XG5cbiAgc2V0QWN0aXZlKHZhbDogYm9vbGVhbikge1xuICAgIHRoaXMuYWN0aXZlID0gdmFsO1xuICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJzaG93Q2hlY2tib3hPcHRpb247IHRoZW4gY2hlY2tib3hUZW1wbGF0ZTsgZWxzZSBidXR0b25UZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuXG48bmctdGVtcGxhdGUgI2NoZWNrYm94VGVtcGxhdGU+XG4gIDxzcGFuIG1hdC1tZW51LWl0ZW0+XG4gICAgPG1hdC1jaGVja2JveCBbZGlzYWJsZWRdPVwiIWVuYWJsZWRcIiBbbmdNb2RlbF09XCJhY3RpdmVDaGVja2JveE9wdGlvblwiIChjaGFuZ2UpPVwiaW5uZXJPbkNsaWNrKClcIiBkaXNhYmxlUmlwcGxlPVwidHJ1ZVwiPiBcbiAgICAgIHt7IG9sYWJlbCB8IG9UcmFuc2xhdGUgfX1cbiAgICAgIDxtYXQtaWNvbiAqbmdJZj1cImljb25cIj4ge3sgaWNvbiB9fTwvbWF0LWljb24+XG4gICAgPC9tYXQtY2hlY2tib3g+XG4gIDwvc3Bhbj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjYnV0dG9uVGVtcGxhdGU+XG4gIDxidXR0b24gW2Rpc2FibGVkXT1cIiFlbmFibGVkXCIgdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJpbm5lck9uQ2xpY2soKVwiIG1hdC1tZW51LWl0ZW0gZnhMYXlvdXQ9XCJyb3dcIlxuICAgIGZ4TGF5b3V0QWxpZ249XCJzdGFydCBjZW50ZXJcIj5cbiAgICB7eyBvbGFiZWwgfCBvVHJhbnNsYXRlIH19XG4gICAgPG1hdC1pY29uICpuZ0lmPVwiaWNvblwiPiB7eyBpY29uIH19PC9tYXQtaWNvbj5cbiAgPC9idXR0b24+XG48L25nLXRlbXBsYXRlPiJdfQ==