UNPKG

@ngx-performance-ui/ui

Version:
130 lines 10.1 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import * as tslib_1 from "tslib"; import { ChangeDetectionStrategy, Component, ViewEncapsulation, Input, Output, EventEmitter, forwardRef, } from '@angular/core'; import { NG_VALUE_ACCESSOR } from '@angular/forms'; import compare from 'just-compare'; import { AbstractNgModelComponent } from '@ngx-performance-ui/core'; /** * @record */ export function SelectOption() { } if (false) { /** @type {?|undefined} */ SelectOption.prototype.label; /** @type {?} */ SelectOption.prototype.value; } var SelectComponent = /** @class */ (function (_super) { tslib_1.__extends(SelectComponent, _super); function SelectComponent() { var _this = _super !== null && _super.apply(this, arguments) || this; _this.options = []; _this.selectClass = ''; _this.compareFn = compare; _this.select = new EventEmitter(); return _this; } /** * @param {?} value * @return {?} */ SelectComponent.prototype.onSelect = /** * @param {?} value * @return {?} */ function (value) { this.select.emit(value); }; /** * @param {?} option * @return {?} */ SelectComponent.prototype.getOptionLabel = /** * @param {?} option * @return {?} */ function (option) { var _a = (/** @type {?} */ (option)), label = _a.label, value = _a.value; return label || (typeof value === 'string' || typeof value === 'number' ? String(value) : String(option)); }; /** * @param {?} _ * @param {?} option * @return {?} */ SelectComponent.prototype.trackByFn = /** * @param {?} _ * @param {?} option * @return {?} */ function (_, option) { var _a = (/** @type {?} */ (option)), label = _a.label, value = _a.value; if (value === undefined || value instanceof Object) { return label || option; } return value; }; /** * @param {?} option * @return {?} */ SelectComponent.prototype.getOptionValue = /** * @param {?} option * @return {?} */ function (option) { var value = (/** @type {?} */ (option)).value; if (value === undefined) return option; return value; }; SelectComponent.decorators = [ { type: Component, args: [{ selector: 'p-select', template: "\n <label [attr.for]=\"selectId\">{{ label }}</label>\n <select\n class=\"custom-select {{ selectClass }}\"\n [(ngModel)]=\"value\"\n [attr.id]=\"selectId\"\n [compareWith]=\"compareFn\"\n (ngModelChange)=\"onSelect($event)\"\n >\n <option [ngValue]=\"undefined\" *ngIf=\"placeholder\">{{ placeholder }}</option>\n <option *ngFor=\"let option of options; trackBy: trackByFn\" [ngValue]=\"getOptionValue(option)\"\n >{{ getOptionLabel(option) }}\n </option>\n </select>\n ", providers: [ { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef((/** * @return {?} */ function () { return SelectComponent; })), multi: true, }, ], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None }] } ]; SelectComponent.propDecorators = { options: [{ type: Input }], selectId: [{ type: Input }], selectClass: [{ type: Input }], compareFn: [{ type: Input }], label: [{ type: Input }], placeholder: [{ type: Input }], select: [{ type: Output }] }; return SelectComponent; }(AbstractNgModelComponent)); export { SelectComponent }; if (false) { /** @type {?} */ SelectComponent.prototype.options; /** @type {?} */ SelectComponent.prototype.selectId; /** @type {?} */ SelectComponent.prototype.selectClass; /** @type {?} */ SelectComponent.prototype.compareFn; /** @type {?} */ SelectComponent.prototype.label; /** @type {?} */ SelectComponent.prototype.placeholder; /** @type {?} */ SelectComponent.prototype.select; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BuZ3gtcGVyZm9ybWFuY2UtdWkvdWkvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy9zZWxlY3Qvc2VsZWN0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULGlCQUFpQixFQUNqQixLQUFLLEVBQ0wsTUFBTSxFQUNOLFlBQVksRUFDWixVQUFVLEdBQ1gsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkQsT0FBTyxPQUFPLE1BQU0sY0FBYyxDQUFDO0FBQ25DLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDOzs7O0FBRXBFLGtDQUdDOzs7SUFGQyw2QkFBZTs7SUFDZiw2QkFBVzs7QUFLYjtJQTJCcUMsMkNBQXdCO0lBM0I3RDtRQUFBLHFFQTJFQztRQTlDQyxhQUFPLEdBQXVCLEVBQUUsQ0FBQztRQU1qQyxpQkFBVyxHQUFXLEVBQUUsQ0FBQztRQUd6QixlQUFTLEdBQUcsT0FBTyxDQUFDO1FBU3BCLFlBQU0sR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDOztJQTRCbkMsQ0FBQzs7Ozs7SUExQkMsa0NBQVE7Ozs7SUFBUixVQUFTLEtBQUs7UUFDWixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMxQixDQUFDOzs7OztJQUVELHdDQUFjOzs7O0lBQWQsVUFBZSxNQUF3QjtRQUMvQixJQUFBLGdDQUF5QyxFQUF2QyxnQkFBSyxFQUFFLGdCQUFnQztRQUUvQyxPQUFPLEtBQUssSUFBSSxDQUFDLE9BQU8sS0FBSyxLQUFLLFFBQVEsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFDNUcsQ0FBQzs7Ozs7O0lBRUQsbUNBQVM7Ozs7O0lBQVQsVUFBVSxDQUFDLEVBQUUsTUFBd0I7UUFDN0IsSUFBQSxnQ0FBeUMsRUFBdkMsZ0JBQUssRUFBRSxnQkFBZ0M7UUFDL0MsSUFBSSxLQUFLLEtBQUssU0FBUyxJQUFJLEtBQUssWUFBWSxNQUFNLEVBQUU7WUFDbEQsT0FBTyxLQUFLLElBQUksTUFBTSxDQUFDO1NBQ3hCO1FBRUQsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDOzs7OztJQUVELHdDQUFjOzs7O0lBQWQsVUFBZSxNQUF3QjtRQUM3QixJQUFBLHlDQUFLO1FBRWIsSUFBSSxLQUFLLEtBQUssU0FBUztZQUFFLE9BQU8sTUFBTSxDQUFDO1FBRXZDLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQzs7Z0JBMUVGLFNBQVMsU0FBQztvQkFDVCxRQUFRLEVBQUUsVUFBVTtvQkFDcEIsUUFBUSxFQUFFLHFoQkFjVDtvQkFDRCxTQUFTLEVBQUU7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVU7Ozs0QkFBQyxjQUFNLE9BQUEsZUFBZSxFQUFmLENBQWUsRUFBQzs0QkFDOUMsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0Y7b0JBQ0QsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2lCQUN0Qzs7OzBCQUVFLEtBQUs7MkJBR0wsS0FBSzs4QkFHTCxLQUFLOzRCQUdMLEtBQUs7d0JBR0wsS0FBSzs4QkFHTCxLQUFLO3lCQUdMLE1BQU07O0lBNkJULHNCQUFDO0NBQUEsQUEzRUQsQ0EyQnFDLHdCQUF3QixHQWdENUQ7U0FoRFksZUFBZTs7O0lBQzFCLGtDQUNpQzs7SUFFakMsbUNBQ2lCOztJQUVqQixzQ0FDeUI7O0lBRXpCLG9DQUNvQjs7SUFFcEIsZ0NBQ2M7O0lBRWQsc0NBQ29COztJQUVwQixpQ0FDaUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgRXZlbnRFbWl0dGVyLFxuICBmb3J3YXJkUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IGNvbXBhcmUgZnJvbSAnanVzdC1jb21wYXJlJztcbmltcG9ydCB7IEFic3RyYWN0TmdNb2RlbENvbXBvbmVudCB9IGZyb20gJ0BuZ3gtcGVyZm9ybWFuY2UtdWkvY29yZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2VsZWN0T3B0aW9uIHtcbiAgbGFiZWw/OiBzdHJpbmc7XG4gIHZhbHVlOiBhbnk7XG59XG5cbmV4cG9ydCB0eXBlIFNlbGVjdExpc3RPcHRpb24gPSBTZWxlY3RPcHRpb24gfCBzdHJpbmcgfCBudW1iZXI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Atc2VsZWN0JyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8bGFiZWwgW2F0dHIuZm9yXT1cInNlbGVjdElkXCI+e3sgbGFiZWwgfX08L2xhYmVsPlxuICAgIDxzZWxlY3RcbiAgICAgIGNsYXNzPVwiY3VzdG9tLXNlbGVjdCB7eyBzZWxlY3RDbGFzcyB9fVwiXG4gICAgICBbKG5nTW9kZWwpXT1cInZhbHVlXCJcbiAgICAgIFthdHRyLmlkXT1cInNlbGVjdElkXCJcbiAgICAgIFtjb21wYXJlV2l0aF09XCJjb21wYXJlRm5cIlxuICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwib25TZWxlY3QoJGV2ZW50KVwiXG4gICAgPlxuICAgICAgPG9wdGlvbiBbbmdWYWx1ZV09XCJ1bmRlZmluZWRcIiAqbmdJZj1cInBsYWNlaG9sZGVyXCI+e3sgcGxhY2Vob2xkZXIgfX08L29wdGlvbj5cbiAgICAgIDxvcHRpb24gKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBvcHRpb25zOyB0cmFja0J5OiB0cmFja0J5Rm5cIiBbbmdWYWx1ZV09XCJnZXRPcHRpb25WYWx1ZShvcHRpb24pXCJcbiAgICAgICAgPnt7IGdldE9wdGlvbkxhYmVsKG9wdGlvbikgfX1cbiAgICAgIDwvb3B0aW9uPlxuICAgIDwvc2VsZWN0PlxuICBgLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFNlbGVjdENvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICBdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgU2VsZWN0Q29tcG9uZW50IGV4dGVuZHMgQWJzdHJhY3ROZ01vZGVsQ29tcG9uZW50IHtcbiAgQElucHV0KClcbiAgb3B0aW9uczogU2VsZWN0TGlzdE9wdGlvbltdID0gW107XG5cbiAgQElucHV0KClcbiAgc2VsZWN0SWQ6IHN0cmluZztcblxuICBASW5wdXQoKVxuICBzZWxlY3RDbGFzczogc3RyaW5nID0gJyc7XG5cbiAgQElucHV0KClcbiAgY29tcGFyZUZuID0gY29tcGFyZTtcblxuICBASW5wdXQoKVxuICBsYWJlbDogc3RyaW5nO1xuXG4gIEBJbnB1dCgpXG4gIHBsYWNlaG9sZGVyOiBzdHJpbmc7XG5cbiAgQE91dHB1dCgpXG4gIHNlbGVjdCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gIG9uU2VsZWN0KHZhbHVlKSB7XG4gICAgdGhpcy5zZWxlY3QuZW1pdCh2YWx1ZSk7XG4gIH1cblxuICBnZXRPcHRpb25MYWJlbChvcHRpb246IFNlbGVjdExpc3RPcHRpb24pOiBzdHJpbmcge1xuICAgIGNvbnN0IHsgbGFiZWwsIHZhbHVlIH0gPSBvcHRpb24gYXMgU2VsZWN0T3B0aW9uO1xuXG4gICAgcmV0dXJuIGxhYmVsIHx8ICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnIHx8IHR5cGVvZiB2YWx1ZSA9PT0gJ251bWJlcicgPyBTdHJpbmcodmFsdWUpIDogU3RyaW5nKG9wdGlvbikpO1xuICB9XG5cbiAgdHJhY2tCeUZuKF8sIG9wdGlvbjogU2VsZWN0TGlzdE9wdGlvbikge1xuICAgIGNvbnN0IHsgbGFiZWwsIHZhbHVlIH0gPSBvcHRpb24gYXMgU2VsZWN0T3B0aW9uO1xuICAgIGlmICh2YWx1ZSA9PT0gdW5kZWZpbmVkIHx8IHZhbHVlIGluc3RhbmNlb2YgT2JqZWN0KSB7XG4gICAgICByZXR1cm4gbGFiZWwgfHwgb3B0aW9uO1xuICAgIH1cblxuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxuXG4gIGdldE9wdGlvblZhbHVlKG9wdGlvbjogU2VsZWN0TGlzdE9wdGlvbik6IGFueSB7XG4gICAgY29uc3QgeyB2YWx1ZSB9ID0gb3B0aW9uIGFzIFNlbGVjdE9wdGlvbjtcblxuICAgIGlmICh2YWx1ZSA9PT0gdW5kZWZpbmVkKSByZXR1cm4gb3B0aW9uO1xuXG4gICAgcmV0dXJuIHZhbHVlO1xuICB9XG59XG4iXX0=