@ngx-performance-ui/ui
Version:
Ngx Performance UI - UI
130 lines • 10.1 kB
JavaScript
/**
* @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=