UNPKG

gentics-ui-core

Version:

This is the common core framework for the Gentics CMS and Mesh UI, and other Angular applications.

77 lines 7.84 kB
import { Input, Directive, ElementRef, ContentChildren, QueryList } from '@angular/core'; import { coerceToBoolean } from '../../common/coerce-to-boolean'; import * as i0 from "@angular/core"; export class SelectOption { constructor(elementRef) { this.elementRef = elementRef; } set value(value) { this._value = value; } get value() { return this._value; } set disabled(value) { this._disabled = coerceToBoolean(value); } get disabled() { return this._disabled; } /** * Returns the value of the option as displayed in the view, i.e. a string representation. */ get viewValue() { const textContent = this.elementRef.nativeElement.textContent.trim(); if (textContent) { return textContent; } if (!this.isPrimitive(this.value)) { return '[Object]'; } return this.value.toString(); } isPrimitive(value) { return value !== null && (typeof value !== 'function' && typeof value !== 'object'); } } /** @nocollapse */ SelectOption.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: SelectOption, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); /** @nocollapse */ SelectOption.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.8", type: SelectOption, selector: "gtx-option", inputs: { icon: "icon", value: "value", disabled: "disabled" }, ngImport: i0 }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: SelectOption, decorators: [{ type: Directive, args: [{ selector: 'gtx-option' }] }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { icon: [{ type: Input }], value: [{ type: Input }], disabled: [{ type: Input }] } }); export class SelectOptionGroup { set disabled(value) { this._disabled = coerceToBoolean(value); } get disabled() { return this._disabled; } get options() { return this._options.toArray(); } } /** @nocollapse */ SelectOptionGroup.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: SelectOptionGroup, deps: [], target: i0.ɵɵFactoryTarget.Directive }); /** @nocollapse */ SelectOptionGroup.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.8", type: SelectOptionGroup, selector: "gtx-optgroup", inputs: { label: "label", disabled: "disabled" }, queries: [{ propertyName: "_options", predicate: SelectOption }], ngImport: i0 }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: SelectOptionGroup, decorators: [{ type: Directive, args: [{ selector: 'gtx-optgroup' }] }], propDecorators: { label: [{ type: Input }], disabled: [{ type: Input }], _options: [{ type: ContentChildren, args: [SelectOption] }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3NlbGVjdC9vcHRpb24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxLQUFLLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxlQUFlLEVBQUUsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZGLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQzs7QUFLL0QsTUFBTSxPQUFPLFlBQVk7SUFNckIsWUFBbUIsVUFBc0I7UUFBdEIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtJQUFHLENBQUM7SUFFN0MsSUFDSSxLQUFLLENBQUMsS0FBVTtRQUNoQixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztJQUN4QixDQUFDO0lBQ0QsSUFBSSxLQUFLO1FBQ0wsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxJQUNJLFFBQVEsQ0FBQyxLQUFjO1FBQ3ZCLElBQUksQ0FBQyxTQUFTLEdBQUcsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFDRCxJQUFJLFFBQVE7UUFDUixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDMUIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBSSxTQUFTO1FBQ1QsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3JFLElBQUksV0FBVyxFQUFFO1lBQ2IsT0FBTyxXQUFXLENBQUM7U0FDdEI7UUFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDL0IsT0FBTyxVQUFVLENBQUM7U0FDckI7UUFDRCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDakMsQ0FBQztJQUVPLFdBQVcsQ0FBQyxLQUFVO1FBQzFCLE9BQU8sS0FBSyxLQUFLLElBQUksSUFBSSxDQUFDLE9BQU8sS0FBSyxLQUFLLFVBQVUsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLENBQUMsQ0FBQztJQUN4RixDQUFDOzs0SEF4Q1EsWUFBWTtnSEFBWixZQUFZOzJGQUFaLFlBQVk7a0JBSHhCLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLFlBQVk7aUJBQ3pCO2lHQUVZLElBQUk7c0JBQVosS0FBSztnQkFRRixLQUFLO3NCQURSLEtBQUs7Z0JBU0YsUUFBUTtzQkFEWCxLQUFLOztBQThCVixNQUFNLE9BQU8saUJBQWlCO0lBRzFCLElBQ0ksUUFBUSxDQUFDLEtBQWM7UUFDdkIsSUFBSSxDQUFDLFNBQVMsR0FBRyxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUNELElBQUksUUFBUTtRQUNSLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUMxQixDQUFDO0lBTUQsSUFBSSxPQUFPO1FBQ1AsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ25DLENBQUM7O2lJQWpCUSxpQkFBaUI7cUhBQWpCLGlCQUFpQiwrSEFhVCxZQUFZOzJGQWJwQixpQkFBaUI7a0JBSDdCLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGNBQWM7aUJBQzNCOzhCQUVZLEtBQUs7c0JBQWIsS0FBSztnQkFHRixRQUFRO3NCQURYLEtBQUs7Z0JBVWlDLFFBQVE7c0JBQTlDLGVBQWU7dUJBQUMsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5wdXQsIERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgQ29udGVudENoaWxkcmVuLCBRdWVyeUxpc3R9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtjb2VyY2VUb0Jvb2xlYW59IGZyb20gJy4uLy4uL2NvbW1vbi9jb2VyY2UtdG8tYm9vbGVhbic7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnZ3R4LW9wdGlvbidcbn0pXG5leHBvcnQgY2xhc3MgU2VsZWN0T3B0aW9uIHtcbiAgICBASW5wdXQoKSBpY29uOiBzdHJpbmc7XG5cbiAgICBwcml2YXRlIF92YWx1ZTogYW55O1xuICAgIHByaXZhdGUgX2Rpc2FibGVkOiBhbnk7XG5cbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgZWxlbWVudFJlZjogRWxlbWVudFJlZikge31cblxuICAgIEBJbnB1dCgpXG4gICAgc2V0IHZhbHVlKHZhbHVlOiBhbnkpIHtcbiAgICAgICAgdGhpcy5fdmFsdWUgPSB2YWx1ZTtcbiAgICB9XG4gICAgZ2V0IHZhbHVlKCk6IGFueSB7XG4gICAgICAgIHJldHVybiB0aGlzLl92YWx1ZTtcbiAgICB9XG5cbiAgICBASW5wdXQoKVxuICAgIHNldCBkaXNhYmxlZCh2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLl9kaXNhYmxlZCA9IGNvZXJjZVRvQm9vbGVhbih2YWx1ZSk7XG4gICAgfVxuICAgIGdldCBkaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2Rpc2FibGVkO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHVybnMgdGhlIHZhbHVlIG9mIHRoZSBvcHRpb24gYXMgZGlzcGxheWVkIGluIHRoZSB2aWV3LCBpLmUuIGEgc3RyaW5nIHJlcHJlc2VudGF0aW9uLlxuICAgICAqL1xuICAgIGdldCB2aWV3VmFsdWUoKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgdGV4dENvbnRlbnQgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC50ZXh0Q29udGVudC50cmltKCk7XG4gICAgICAgIGlmICh0ZXh0Q29udGVudCkge1xuICAgICAgICAgICAgcmV0dXJuIHRleHRDb250ZW50O1xuICAgICAgICB9XG4gICAgICAgIGlmICghdGhpcy5pc1ByaW1pdGl2ZSh0aGlzLnZhbHVlKSkge1xuICAgICAgICAgICAgcmV0dXJuICdbT2JqZWN0XSc7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMudmFsdWUudG9TdHJpbmcoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGlzUHJpbWl0aXZlKHZhbHVlOiBhbnkpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHZhbHVlICE9PSBudWxsICYmICh0eXBlb2YgdmFsdWUgIT09ICdmdW5jdGlvbicgJiYgdHlwZW9mIHZhbHVlICE9PSAnb2JqZWN0Jyk7XG4gICAgfVxufVxuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ2d0eC1vcHRncm91cCdcbn0pXG5leHBvcnQgY2xhc3MgU2VsZWN0T3B0aW9uR3JvdXAge1xuICAgIEBJbnB1dCgpIGxhYmVsOiBzdHJpbmc7XG5cbiAgICBASW5wdXQoKVxuICAgIHNldCBkaXNhYmxlZCh2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLl9kaXNhYmxlZCA9IGNvZXJjZVRvQm9vbGVhbih2YWx1ZSk7XG4gICAgfVxuICAgIGdldCBkaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2Rpc2FibGVkO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2Rpc2FibGVkOiBhbnk7XG5cbiAgICBAQ29udGVudENoaWxkcmVuKFNlbGVjdE9wdGlvbikgcHJpdmF0ZSBfb3B0aW9uczogUXVlcnlMaXN0PFNlbGVjdE9wdGlvbj47XG5cbiAgICBnZXQgb3B0aW9ucygpOiBTZWxlY3RPcHRpb25bXSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9vcHRpb25zLnRvQXJyYXkoKTtcbiAgICB9XG59XG4iXX0=