ontimize-web-ngx
Version:
Ontimize Web framework using Angular 15
97 lines • 15.7 kB
JavaScript
import { __decorate, __metadata } from "tslib";
import { Component, ContentChildren, EventEmitter, forwardRef, QueryList, ViewChild, ViewContainerRef, ViewEncapsulation } from '@angular/core';
import { MatButtonToggleGroup } from '@angular/material/button-toggle';
import { BooleanInputConverter } from '../../../decorators/input-converter';
import { Util } from '../../../util/util';
import { OButtonToggleComponent } from '../o-button-toggle.component';
import * as i0 from "@angular/core";
import * as i1 from "@angular/material/button-toggle";
export const DEFAULT_INPUTS_O_BUTTON_TOGGLE_GROUP = [
'oattr: attr',
'name',
'enabled',
'layout',
'multiple',
'value'
];
export const DEFAULT_OUTPUTS_O_BUTTON_TOGGLE_GROUP = [
'onChange'
];
export class OButtonToggleGroupComponent {
constructor() {
this.DEFAULT_INPUTS_O_BUTTON_TOGGLE_GROUP = DEFAULT_INPUTS_O_BUTTON_TOGGLE_GROUP;
this.DEFAULT_OUTPUTS_O_BUTTON_TOGGLE_GROUP = DEFAULT_OUTPUTS_O_BUTTON_TOGGLE_GROUP;
this._enabled = true;
this.layout = 'row';
this.multiple = false;
this.onChange = new EventEmitter();
}
get enabled() {
if (this._innerButtonToggleGroup instanceof MatButtonToggleGroup) {
return !this._innerButtonToggleGroup.disabled;
}
return true;
}
set enabled(val) {
if (this._innerButtonToggleGroup instanceof MatButtonToggleGroup) {
val = Util.parseBoolean(String(val));
this._innerButtonToggleGroup.disabled = !val;
}
}
ngOnInit() {
if (!Util.isDefined(this.name)) {
this.name = this.oattr;
}
}
ngAfterViewInit() {
this.buildChildren();
this._children.changes.subscribe(() => this.buildChildren());
}
buildChildren() {
this._viewContainerRef.clear();
const childList = this._children.map((child) => {
const componentRef = this._viewContainerRef.createComponent(OButtonToggleComponent);
componentRef.instance.oattr = child.oattr;
componentRef.instance.label = child.label;
componentRef.instance.icon = child.icon;
componentRef.instance.iconPosition = child.iconPosition;
componentRef.instance.checked = child.checked;
componentRef.instance.enabled = child.enabled;
componentRef.instance.value = child.value;
componentRef.instance.name = this.name;
componentRef.instance.onChange = child.onChange;
componentRef.changeDetectorRef.detectChanges();
return componentRef.instance;
});
this._innerButtonToggleGroup._buttonToggles.reset(childList.map(c => c._innerButtonToggle));
this._children.reset(childList);
}
getValue() {
return this._innerButtonToggleGroup ? this._innerButtonToggleGroup.value : void 0;
}
setValue(val) {
this._innerButtonToggleGroup.value = val;
}
}
OButtonToggleGroupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: OButtonToggleGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
OButtonToggleGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: OButtonToggleGroupComponent, selector: "o-button-toggle-group", inputs: { oattr: ["attr", "oattr"], name: "name", enabled: "enabled", layout: "layout", multiple: "multiple", value: "value" }, outputs: { onChange: "onChange" }, host: { properties: { "class.o-button-toggle-group": "true" } }, queries: [{ propertyName: "_children", predicate: i0.forwardRef(function () { return OButtonToggleComponent; }) }], viewQueries: [{ propertyName: "_innerButtonToggleGroup", first: true, predicate: MatButtonToggleGroup, descendants: true }, { propertyName: "_viewContainerRef", first: true, predicate: ["childContainer"], descendants: true, read: ViewContainerRef }], ngImport: i0, template: "<mat-button-toggle-group [disabled]=\"!enabled\" [name]=\"name\" [value]=\"value\" [vertical]=\"layout==='column'\" [multiple]=\"multiple\"\n (change)=\"onChange.emit($event)\">\n <ng-container #childContainer></ng-container>\n</mat-button-toggle-group>\n", dependencies: [{ kind: "directive", type: i1.MatButtonToggleGroup, selector: "mat-button-toggle-group", inputs: ["appearance", "name", "vertical", "value", "multiple", "disabled"], outputs: ["valueChange", "change"], exportAs: ["matButtonToggleGroup"] }], encapsulation: i0.ViewEncapsulation.None });
__decorate([
BooleanInputConverter(),
__metadata("design:type", Boolean)
], OButtonToggleGroupComponent.prototype, "multiple", void 0);
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: OButtonToggleGroupComponent, decorators: [{
type: Component,
args: [{ selector: 'o-button-toggle-group', inputs: DEFAULT_INPUTS_O_BUTTON_TOGGLE_GROUP, outputs: DEFAULT_OUTPUTS_O_BUTTON_TOGGLE_GROUP, encapsulation: ViewEncapsulation.None, host: {
'[class.o-button-toggle-group]': 'true'
}, template: "<mat-button-toggle-group [disabled]=\"!enabled\" [name]=\"name\" [value]=\"value\" [vertical]=\"layout==='column'\" [multiple]=\"multiple\"\n (change)=\"onChange.emit($event)\">\n <ng-container #childContainer></ng-container>\n</mat-button-toggle-group>\n" }]
}], propDecorators: { multiple: [], _innerButtonToggleGroup: [{
type: ViewChild,
args: [MatButtonToggleGroup]
}], _viewContainerRef: [{
type: ViewChild,
args: ['childContainer', { read: ViewContainerRef }]
}], _children: [{
type: ContentChildren,
args: [forwardRef(() => OButtonToggleComponent)]
}] } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiby1idXR0b24tdG9nZ2xlLWdyb3VwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29udGltaXplLXdlYi1uZ3gvc3JjL2xpYi9jb21wb25lbnRzL2J1dHRvbi10b2dnbGUvby1idXR0b24tdG9nZ2xlLWdyb3VwL28tYnV0dG9uLXRvZ2dsZS1ncm91cC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vbnRpbWl6ZS13ZWItbmd4L3NyYy9saWIvY29tcG9uZW50cy9idXR0b24tdG9nZ2xlL28tYnV0dG9uLXRvZ2dsZS1ncm91cC9vLWJ1dHRvbi10b2dnbGUtZ3JvdXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFFTCxTQUFTLEVBQ1QsZUFBZSxFQUNmLFlBQVksRUFDWixVQUFVLEVBRVYsU0FBUyxFQUNULFNBQVMsRUFDVCxnQkFBZ0IsRUFDaEIsaUJBQWlCLEVBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBeUIsb0JBQW9CLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUU5RixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUM1RSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDMUMsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sOEJBQThCLENBQUM7OztBQUV0RSxNQUFNLENBQUMsTUFBTSxvQ0FBb0MsR0FBRztJQUNsRCxhQUFhO0lBQ2IsTUFBTTtJQUNOLFNBQVM7SUFDVCxRQUFRO0lBQ1IsVUFBVTtJQUNWLE9BQU87Q0FDUixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0scUNBQXFDLEdBQUc7SUFDbkQsVUFBVTtDQUNYLENBQUM7QUFZRixNQUFNLE9BQU8sMkJBQTJCO0lBVnhDO1FBWVMseUNBQW9DLEdBQUcsb0NBQW9DLENBQUM7UUFDNUUs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QUksQ0FBQyx1QkFBdUIsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3BGLENBQUM7SUFFRCxRQUFRLENBQUMsR0FBUTtRQUNmLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxLQUFLLEdBQUcsR0FBRyxDQUFDO0lBQzNDLENBQUM7O3lIQTNFVSwyQkFBMkI7NkdBQTNCLDJCQUEyQiw4VkFtQ0osc0JBQXNCLDBGQUo3QyxvQkFBb0IsaUlBRU0sZ0JBQWdCLDZCQzFFdkQsbVFBSUE7QUQyREU7SUFBQyxxQkFBcUIsRUFBRTs7NkRBQ1M7NEZBdkJ0QiwyQkFBMkI7a0JBVnZDLFNBQVM7K0JBQ0UsdUJBQXVCLFVBRXpCLG9DQUFvQyxXQUNuQyxxQ0FBcUMsaUJBQy9CLGlCQUFpQixDQUFDLElBQUksUUFDL0I7d0JBQ0osK0JBQStCLEVBQUUsTUFBTTtxQkFDeEM7OEJBeUJNLFFBQVEsTUFTTCx1QkFBdUI7c0JBRGhDLFNBQVM7dUJBQUMsb0JBQW9CO2dCQUdyQixpQkFBaUI7c0JBRDFCLFNBQVM7dUJBQUMsZ0JBQWdCLEVBQUUsRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBRzdDLFNBQVM7c0JBRGxCLGVBQWU7dUJBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHNCQUFzQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGRyZW4sXG4gIEV2ZW50RW1pdHRlcixcbiAgZm9yd2FyZFJlZixcbiAgT25Jbml0LFxuICBRdWVyeUxpc3QsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0NvbnRhaW5lclJlZixcbiAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRCdXR0b25Ub2dnbGVDaGFuZ2UsIE1hdEJ1dHRvblRvZ2dsZUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uLXRvZ2dsZSc7XG5cbmltcG9ydCB7IEJvb2xlYW5JbnB1dENvbnZlcnRlciB9IGZyb20gJy4uLy4uLy4uL2RlY29yYXRvcnMvaW5wdXQtY29udmVydGVyJztcbmltcG9ydCB7IFV0aWwgfSBmcm9tICcuLi8uLi8uLi91dGlsL3V0aWwnO1xuaW1wb3J0IHsgT0J1dHRvblRvZ2dsZUNvbXBvbmVudCB9IGZyb20gJy4uL28tYnV0dG9uLXRvZ2dsZS5jb21wb25lbnQnO1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9JTlBVVFNfT19CVVRUT05fVE9HR0xFX0dST1VQID0gW1xuICAnb2F0dHI6IGF0dHInLFxuICAnbmFtZScsXG4gICdlbmFibGVkJyxcbiAgJ2xheW91dCcsXG4gICdtdWx0aXBsZScsXG4gICd2YWx1ZSdcbl07XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX09VVFBVVFNfT19CVVRUT05fVE9HR0xFX0dST1VQID0gW1xuICAnb25DaGFuZ2UnXG5dO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdvLWJ1dHRvbi10b2dnbGUtZ3JvdXAnLFxuICB0ZW1wbGF0ZVVybDogJy4vby1idXR0b24tdG9nZ2xlLWdyb3VwLmNvbXBvbmVudC5odG1sJyxcbiAgaW5wdXRzOiBERUZBVUxUX0lOUFVUU19PX0JVVFRPTl9UT0dHTEVfR1JPVVAsXG4gIG91dHB1dHM6IERFRkFVTFRfT1VUUFVUU19PX0JVVFRPTl9UT0dHTEVfR1JPVVAsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGhvc3Q6IHtcbiAgICAnW2NsYXNzLm8tYnV0dG9uLXRvZ2dsZS1ncm91cF0nOiAndHJ1ZSdcbiAgfVxufSlcbmV4cG9ydCBjbGFzcyBPQnV0dG9uVG9nZ2xlR3JvdXBDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkluaXQge1xuXG4gIHB1YmxpYyBERUZBVUxUX0lOUFVUU19PX0JVVFRPTl9UT0dHTEVfR1JPVVAgPSBERUZBVUxUX0lOUFVUU19PX0JVVFRPTl9UT0dHTEVfR1JPVVA7XG4gIHB1YmxpYyBERUZBVUxUX09VVFBVVFNfT19CVVRUT05fVE9HR0xFX0dST1VQID0gREVGQVVMVF9PVVRQVVRTX09fQlVUVE9OX1RPR0dMRV9HUk9VUDtcblxuICAvKiBJbnB1dHMgKi9cbiAgcHJvdGVjdGVkIG9hdHRyOiBzdHJpbmc7XG4gIHB1YmxpYyBuYW1lOiBzdHJpbmc7XG4gIGdldCBlbmFibGVkKCk6IGJvb2xlYW4ge1xuICAgIGlmICh0aGlzLl9pbm5lckJ1dHRvblRvZ2dsZUdyb3VwIGluc3RhbmNlb2YgTWF0QnV0dG9uVG9nZ2xlR3JvdXApIHtcbiAgICAgIHJldHVybiAhdGhpcy5faW5uZXJCdXR0b25Ub2dnbGVHcm91cC5kaXNhYmxlZDtcbiAgICB9XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbiAgc2V0IGVuYWJsZWQodmFsOiBib29sZWFuKSB7XG4gICAgaWYgKHRoaXMuX2lubmVyQnV0dG9uVG9nZ2xlR3JvdXAgaW5zdGFuY2VvZiBNYXRCdXR0b25Ub2dnbGVHcm91cCkge1xuICAgICAgdmFsID0gVXRpbC5wYXJzZUJvb2xlYW4oU3RyaW5nKHZhbCkpO1xuICAgICAgdGhpcy5faW5uZXJCdXR0b25Ub2dnbGVHcm91cC5kaXNhYmxlZCA9ICF2YWw7XG4gICAgfVxuICB9XG4gIHByb3RlY3RlZCBfZW5hYmxlZDogYm9vbGVhbiA9IHRydWU7XG4gIHB1YmxpYyBsYXlvdXQ6ICdyb3cnIHwgJ2NvbHVtbicgPSAncm93JztcbiAgQEJvb2xlYW5JbnB1dENvbnZlcnRlcigpXG4gIHB1YmxpYyBtdWx0aXBsZTogYm9vbGVhbiA9IGZhbHNlO1xuICBwdWJsaWMgdmFsdWU6IGFueTtcbiAgLyogRW5kIGlucHV0cyAqL1xuXG4gIC8qIE91dHB1dHMgKi9cbiAgcHVibGljIG9uQ2hhbmdlOiBFdmVudEVtaXR0ZXI8TWF0QnV0dG9uVG9nZ2xlQ2hhbmdlPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgLyogRW5kIG91dHB1dHMgKi9cblxuICBAVmlld0NoaWxkKE1hdEJ1dHRvblRvZ2dsZUdyb3VwKVxuICBwcm90ZWN0ZWQgX2lubmVyQnV0dG9uVG9nZ2xlR3JvdXA6IE1hdEJ1dHRvblRvZ2dsZUdyb3VwO1xuICBAVmlld0NoaWxkKCdjaGlsZENvbnRhaW5lcicsIHsgcmVhZDogVmlld0NvbnRhaW5lclJlZiB9KVxuICBwcm90ZWN0ZWQgX3ZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWY7XG4gIEBDb250ZW50Q2hpbGRyZW4oZm9yd2FyZFJlZigoKSA9PiBPQnV0dG9uVG9nZ2xlQ29tcG9uZW50KSlcbiAgcHJvdGVjdGVkIF9jaGlsZHJlbjogUXVlcnlMaXN0PE9CdXR0b25Ub2dnbGVDb21wb25lbnQ+O1xuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmICghVXRpbC5pc0RlZmluZWQodGhpcy5uYW1lKSkge1xuICAgICAgdGhpcy5uYW1lID0gdGhpcy5vYXR0cjtcbiAgICB9XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy5idWlsZENoaWxkcmVuKCk7XG4gICAgdGhpcy5fY2hpbGRyZW4uY2hhbmdlcy5zdWJzY3JpYmUoKCkgPT4gdGhpcy5idWlsZENoaWxkcmVuKCkpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGJ1aWxkQ2hpbGRyZW4oKTogdm9pZCB7XG4gICAgdGhpcy5fdmlld0NvbnRhaW5lclJlZi5jbGVhcigpO1xuICAgIGNvbnN0IGNoaWxkTGlzdCA9IHRoaXMuX2NoaWxkcmVuLm1hcCgoY2hpbGQpID0+IHtcbiAgICAgIGNvbnN0IGNvbXBvbmVudFJlZiA9IHRoaXMuX3ZpZXdDb250YWluZXJSZWYuY3JlYXRlQ29tcG9uZW50KE9CdXR0b25Ub2dnbGVDb21wb25lbnQpO1xuICAgICAgY29tcG9uZW50UmVmLmluc3RhbmNlLm9hdHRyID0gY2hpbGQub2F0dHI7XG4gICAgICBjb21wb25lbnRSZWYuaW5zdGFuY2UubGFiZWwgPSBjaGlsZC5sYWJlbDtcbiAgICAgIGNvbXBvbmVudFJlZi5pbnN0YW5jZS5pY29uID0gY2hpbGQuaWNvbjtcbiAgICAgIGNvbXBvbmVudFJlZi5pbnN0YW5jZS5pY29uUG9zaXRpb24gPSBjaGlsZC5pY29uUG9zaXRpb247XG4gICAgICBjb21wb25lbnRSZWYuaW5zdGFuY2UuY2hlY2tlZCA9IGNoaWxkLmNoZWNrZWQ7XG4gICAgICBjb21wb25lbnRSZWYuaW5zdGFuY2UuZW5hYmxlZCA9IGNoaWxkLmVuYWJsZWQ7XG4gICAgICBjb21wb25lbnRSZWYuaW5zdGFuY2UudmFsdWUgPSBjaGlsZC52YWx1ZTtcbiAgICAgIGNvbXBvbmVudFJlZi5pbnN0YW5jZS5uYW1lID0gdGhpcy5uYW1lO1xuICAgICAgY29tcG9uZW50UmVmLmluc3RhbmNlLm9uQ2hhbmdlID0gY2hpbGQub25DaGFuZ2U7XG4gICAgICBjb21wb25lbnRSZWYuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgcmV0dXJuIGNvbXBvbmVudFJlZi5pbnN0YW5jZTtcbiAgICB9KTtcbiAgICB0aGlzLl9pbm5lckJ1dHRvblRvZ2dsZUdyb3VwLl9idXR0b25Ub2dnbGVzLnJlc2V0KGNoaWxkTGlzdC5tYXAoYyA9PiBjLl9pbm5lckJ1dHRvblRvZ2dsZSkpO1xuICAgIHRoaXMuX2NoaWxkcmVuLnJlc2V0KGNoaWxkTGlzdCk7XG4gIH1cblxuICBnZXRWYWx1ZSgpOiBhbnkge1xuICAgIHJldHVybiB0aGlzLl9pbm5lckJ1dHRvblRvZ2dsZUdyb3VwID8gdGhpcy5faW5uZXJCdXR0b25Ub2dnbGVHcm91cC52YWx1ZSA6IHZvaWQgMDtcbiAgfVxuXG4gIHNldFZhbHVlKHZhbDogYW55KTogdm9pZCB7XG4gICAgdGhpcy5faW5uZXJCdXR0b25Ub2dnbGVHcm91cC52YWx1ZSA9IHZhbDtcbiAgfVxuXG59XG4iLCI8bWF0LWJ1dHRvbi10b2dnbGUtZ3JvdXAgW2Rpc2FibGVkXT1cIiFlbmFibGVkXCIgW25hbWVdPVwibmFtZVwiIFt2YWx1ZV09XCJ2YWx1ZVwiIFt2ZXJ0aWNhbF09XCJsYXlvdXQ9PT0nY29sdW1uJ1wiIFttdWx0aXBsZV09XCJtdWx0aXBsZVwiXG4gIChjaGFuZ2UpPVwib25DaGFuZ2UuZW1pdCgkZXZlbnQpXCI+XG4gIDxuZy1jb250YWluZXIgI2NoaWxkQ29udGFpbmVyPjwvbmctY29udGFpbmVyPlxuPC9tYXQtYnV0dG9uLXRvZ2dsZS1ncm91cD5cbiJdfQ==