UNPKG

@ngx-performance-ui/ui

Version:
154 lines 14.7 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import * as tslib_1 from "tslib"; import { Component, ViewEncapsulation, ChangeDetectionStrategy, forwardRef, Input, Injector, } from '@angular/core'; import { AbstractNgModelComponent } from '@ngx-performance-ui/core'; import { NG_VALUE_ACCESSOR } from '@angular/forms'; import compare from 'just-compare'; /** * @record */ export function ListboxItem() { } if (false) { /** @type {?} */ ListboxItem.prototype.text; /** @type {?|undefined} */ ListboxItem.prototype.value; /** @type {?|undefined} */ ListboxItem.prototype.classes; } var ListboxComponent = /** @class */ (function (_super) { tslib_1.__extends(ListboxComponent, _super); function ListboxComponent(injector) { var _this = _super.call(this, injector) || this; _this.injector = injector; _this.items = []; _this.classes = ''; _this.activeClass = 'active'; _this.title = ''; _this.isFilterShow = true; _this.filterPlaceholder = ''; _this.multiple = false; _this.filterValue = ''; _this.trackByFn = (/** * @param {?} index * @param {?} item * @return {?} */ function (index, item) { return item.text || index; }); return _this; } /** * @param {?} item * @return {?} */ ListboxComponent.prototype.onClick = /** * @param {?} item * @return {?} */ function (item) { if (!this.multiple) { compare(this.value, item) ? (this.value = (/** @type {?} */ ({}))) : (this.value = item); return; } if (!this.value || !Array.isArray(this.value) || !this.value.length) this.value = []; /** @type {?} */ var index = this.value.findIndex((/** * @param {?} val * @return {?} */ function (val) { return compare(val, item); })); if (index > -1) { this.value = tslib_1.__spread(this.value.slice(0, index), this.value.slice(index + 1)); } else { /** @type {?} */ var cloneItem = tslib_1.__assign({}, item); delete cloneItem.classes; this.value = tslib_1.__spread(this.value, [cloneItem]); } this.cdRef.detectChanges(); }; /** * @param {?} item * @return {?} */ ListboxComponent.prototype.isActive = /** * @param {?} item * @return {?} */ function (item) { if (!this.multiple) { return compare(this.value, item); } if (!this.value || !((/** @type {?} */ (this.value))).length) return; /** @type {?} */ var cloneItem = tslib_1.__assign({}, item); delete cloneItem.classes; return ((/** @type {?} */ (this.value))).findIndex((/** * @param {?} val * @return {?} */ function (val) { return compare(val, cloneItem); })) > -1; }; ListboxComponent.decorators = [ { type: Component, args: [{ selector: 'p-listbox', template: "\n <div class=\"card\">\n <div class=\"card-header\">\n <div class=\"col-12 px-0\">\n <h5>{{ title }}</h5>\n </div>\n <div *ngIf=\"isFilterShow\" class=\"col-12 px-0 mt-2\">\n <div class=\"input-group mb-3\">\n <div class=\"input-group-prepend\">\n <span class=\"input-group-text\"><fa-icon [icon]=\"['fas', 'search']\"></fa-icon></span>\n </div>\n <p-input\n [(ngModel)]=\"filterValue\"\n [attr.placeholder]=\"filterPlaceholder\"\n classes=\"bg-transparent\"\n class=\"w-75\"\n ></p-input>\n </div>\n </div>\n </div>\n <ul class=\"list-group list-group-flush {{ classes }}\">\n <li\n *pFor=\"\n let item of items;\n filterValue: filterValue;\n filterContain: true;\n filterKey: 'text';\n trackBy: trackByFn\n \"\n [ngClass]=\"[isActive(item) ? activeClass : '']\"\n (click)=\"onClick(item)\"\n style=\"cursor: pointer\"\n class=\"list-group-item {{ item.classes }}\"\n >\n {{ item.text }}\n </li>\n </ul>\n </div>\n ", encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [ { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef((/** * @return {?} */ function () { return ListboxComponent; })), multi: true, }, ] }] } ]; /** @nocollapse */ ListboxComponent.ctorParameters = function () { return [ { type: Injector } ]; }; ListboxComponent.propDecorators = { items: [{ type: Input }], classes: [{ type: Input }], activeClass: [{ type: Input }], title: [{ type: Input }], isFilterShow: [{ type: Input }], filterPlaceholder: [{ type: Input }], multiple: [{ type: Input }] }; return ListboxComponent; }(AbstractNgModelComponent)); export { ListboxComponent }; if (false) { /** @type {?} */ ListboxComponent.prototype.items; /** @type {?} */ ListboxComponent.prototype.classes; /** @type {?} */ ListboxComponent.prototype.activeClass; /** @type {?} */ ListboxComponent.prototype.title; /** @type {?} */ ListboxComponent.prototype.isFilterShow; /** @type {?} */ ListboxComponent.prototype.filterPlaceholder; /** @type {?} */ ListboxComponent.prototype.multiple; /** @type {?} */ ListboxComponent.prototype.filterValue; /** @type {?} */ ListboxComponent.prototype.trackByFn; /** @type {?} */ ListboxComponent.prototype.injector; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdGJveC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Abmd4LXBlcmZvcm1hbmNlLXVpL3VpLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvbGlzdGJveC9saXN0Ym94LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFDTCxTQUFTLEVBRVQsaUJBQWlCLEVBQ2pCLHVCQUF1QixFQUN2QixVQUFVLEVBQ1YsS0FBSyxFQUVMLFFBQVEsR0FDVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuRCxPQUFPLE9BQU8sTUFBTSxjQUFjLENBQUM7Ozs7QUFFbkMsaUNBSUM7OztJQUhDLDJCQUFhOztJQUNiLDRCQUFZOztJQUNaLDhCQUFpQjs7QUFHbkI7SUFtRHNDLDRDQUFxRDtJQW9CekYsMEJBQW1CLFFBQWtCO1FBQXJDLFlBQ0Usa0JBQU0sUUFBUSxDQUFDLFNBQ2hCO1FBRmtCLGNBQVEsR0FBUixRQUFRLENBQVU7UUFsQnJDLFdBQUssR0FBa0IsRUFBRSxDQUFDO1FBRWpCLGFBQU8sR0FBVyxFQUFFLENBQUM7UUFFckIsaUJBQVcsR0FBVyxRQUFRLENBQUM7UUFFL0IsV0FBSyxHQUFXLEVBQUUsQ0FBQztRQUVuQixrQkFBWSxHQUFZLElBQUksQ0FBQztRQUU3Qix1QkFBaUIsR0FBVyxFQUFFLENBQUM7UUFFL0IsY0FBUSxHQUFZLEtBQUssQ0FBQztRQUVuQyxpQkFBVyxHQUFXLEVBQUUsQ0FBQztRQUV6QixlQUFTOzs7OztRQUFpQyxVQUFDLEtBQUssRUFBRSxJQUFJLElBQUssT0FBQSxJQUFJLENBQUMsSUFBSSxJQUFJLEtBQUssRUFBbEIsQ0FBa0IsRUFBQzs7SUFJOUUsQ0FBQzs7Ozs7SUFFRCxrQ0FBTzs7OztJQUFQLFVBQVEsSUFBaUI7UUFD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OztJQUV0Qyw2Q0FBd0M7O0lBRXhDLG9DQUFtQzs7SUFFbkMsdUNBQXlCOztJQUV6QixxQ0FBOEU7O0lBRWxFLG9DQUF5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgT25Jbml0LFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIGZvcndhcmRSZWYsXG4gIElucHV0LFxuICBUcmFja0J5RnVuY3Rpb24sXG4gIEluamVjdG9yLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFic3RyYWN0TmdNb2RlbENvbXBvbmVudCB9IGZyb20gJ0BuZ3gtcGVyZm9ybWFuY2UtdWkvY29yZSc7XG5pbXBvcnQgeyBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCBjb21wYXJlIGZyb20gJ2p1c3QtY29tcGFyZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGlzdGJveEl0ZW0ge1xuICB0ZXh0OiBzdHJpbmc7XG4gIHZhbHVlPzogYW55O1xuICBjbGFzc2VzPzogc3RyaW5nO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwLWxpc3Rib3gnLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXYgY2xhc3M9XCJjYXJkXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1oZWFkZXJcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBweC0wXCI+XG4gICAgICAgICAgPGg1Pnt7IHRpdGxlIH19PC9oNT5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgKm5nSWY9XCJpc0ZpbHRlclNob3dcIiBjbGFzcz1cImNvbC0xMiBweC0wIG10LTJcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtZ3JvdXAgbWItM1wiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImlucHV0LWdyb3VwLXByZXBlbmRcIj5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJpbnB1dC1ncm91cC10ZXh0XCI+PGZhLWljb24gW2ljb25dPVwiWydmYXMnLCAnc2VhcmNoJ11cIj48L2ZhLWljb24+PC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8cC1pbnB1dFxuICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImZpbHRlclZhbHVlXCJcbiAgICAgICAgICAgICAgW2F0dHIucGxhY2Vob2xkZXJdPVwiZmlsdGVyUGxhY2Vob2xkZXJcIlxuICAgICAgICAgICAgICBjbGFzc2VzPVwiYmctdHJhbnNwYXJlbnRcIlxuICAgICAgICAgICAgICBjbGFzcz1cInctNzVcIlxuICAgICAgICAgICAgPjwvcC1pbnB1dD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDx1bCBjbGFzcz1cImxpc3QtZ3JvdXAgIGxpc3QtZ3JvdXAtZmx1c2gge3sgY2xhc3NlcyB9fVwiPlxuICAgICAgICA8bGlcbiAgICAgICAgICAqcEZvcj1cIlxuICAgICAgICAgICAgbGV0IGl0ZW0gb2YgaXRlbXM7XG4gICAgICAgICAgICBmaWx0ZXJWYWx1ZTogZmlsdGVyVmFsdWU7XG4gICAgICAgICAgICBmaWx0ZXJDb250YWluOiB0cnVlO1xuICAgICAgICAgICAgZmlsdGVyS2V5OiAndGV4dCc7XG4gICAgICAgICAgICB0cmFja0J5OiB0cmFja0J5Rm5cbiAgICAgICAgICBcIlxuICAgICAgICAgIFtuZ0NsYXNzXT1cIltpc0FjdGl2ZShpdGVtKSA/IGFjdGl2ZUNsYXNzIDogJyddXCJcbiAgICAgICAgICAoY2xpY2spPVwib25DbGljayhpdGVtKVwiXG4gICAgICAgICAgc3R5bGU9XCJjdXJzb3I6IHBvaW50ZXJcIlxuICAgICAgICAgIGNsYXNzPVwibGlzdC1ncm91cC1pdGVtIHt7IGl0ZW0uY2xhc3NlcyB9fVwiXG4gICAgICAgID5cbiAgICAgICAgICB7eyBpdGVtLnRleHQgfX1cbiAgICAgICAgPC9saT5cbiAgICAgIDwvdWw+XG4gICAgPC9kaXY+XG4gIGAsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IExpc3Rib3hDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgTGlzdGJveENvbXBvbmVudCBleHRlbmRzIEFic3RyYWN0TmdNb2RlbENvbXBvbmVudDxMaXN0Ym94SXRlbSB8IExpc3Rib3hJdGVtW10+IHtcbiAgQElucHV0KClcbiAgaXRlbXM6IExpc3Rib3hJdGVtW10gPSBbXTtcblxuICBASW5wdXQoKSBjbGFzc2VzOiBzdHJpbmcgPSAnJztcblxuICBASW5wdXQoKSBhY3RpdmVDbGFzczogc3RyaW5nID0gJ2FjdGl2ZSc7XG5cbiAgQElucHV0KCkgdGl0bGU6IHN0cmluZyA9ICcnO1xuXG4gIEBJbnB1dCgpIGlzRmlsdGVyU2hvdzogYm9vbGVhbiA9IHRydWU7XG5cbiAgQElucHV0KCkgZmlsdGVyUGxhY2Vob2xkZXI6IHN0cmluZyA9ICcnO1xuXG4gIEBJbnB1dCgpIG11bHRpcGxlOiBib29sZWFuID0gZmFsc2U7XG5cbiAgZmlsdGVyVmFsdWU6IHN0cmluZyA9ICcnO1xuXG4gIHRyYWNrQnlGbjogVHJhY2tCeUZ1bmN0aW9uPExpc3Rib3hJdGVtPiA9IChpbmRleCwgaXRlbSkgPT4gaXRlbS50ZXh0IHx8IGluZGV4O1xuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBpbmplY3RvcjogSW5qZWN0b3IpIHtcbiAgICBzdXBlcihpbmplY3Rvcik7XG4gIH1cblxuICBvbkNsaWNrKGl0ZW06IExpc3Rib3hJdGVtKSB7XG4gICAgaWYgKCF0aGlzLm11bHRpcGxlKSB7XG4gICAgICBjb21wYXJlKHRoaXMudmFsdWUsIGl0ZW0pID8gKHRoaXMudmFsdWUgPSB7fSBhcyBMaXN0Ym94SXRlbSkgOiAodGhpcy52YWx1ZSA9IGl0ZW0pO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICghdGhpcy52YWx1ZSB8fCAhQXJyYXkuaXNBcnJheSh0aGlzLnZhbHVlKSB8fCAhdGhpcy52YWx1ZS5sZW5ndGgpIHRoaXMudmFsdWUgPSBbXTtcblxuICAgIGNvbnN0IGluZGV4ID0gdGhpcy52YWx1ZS5maW5kSW5kZXgodmFsID0+IGNvbXBhcmUodmFsLCBpdGVtKSk7XG4gICAgaWYgKGluZGV4ID4gLTEpIHtcbiAgICAgIHRoaXMudmFsdWUgPSBbLi4udGhpcy52YWx1ZS5zbGljZSgwLCBpbmRleCksIC4uLnRoaXMudmFsdWUuc2xpY2UoaW5kZXggKyAxKV07XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IGNsb25lSXRlbSA9IHsgLi4uaXRlbSB9O1xuICAgICAgZGVsZXRlIGNsb25lSXRlbS5jbGFzc2VzO1xuICAgICAgdGhpcy52YWx1ZSA9IFsuLi50aGlzLnZhbHVlLCBjbG9uZUl0ZW1dO1xuICAgIH1cbiAgICB0aGlzLmNkUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIGlzQWN0aXZlKGl0ZW06IExpc3Rib3hJdGVtKSB7XG4gICAgaWYgKCF0aGlzLm11bHRpcGxlKSB7XG4gICAgICByZXR1cm4gY29tcGFyZSh0aGlzLnZhbHVlLCBpdGVtKTtcbiAgICB9XG5cbiAgICBpZiAoIXRoaXMudmFsdWUgfHwgISh0aGlzLnZhbHVlIGFzIExpc3Rib3hJdGVtW10pLmxlbmd0aCkgcmV0dXJuO1xuICAgIGNvbnN0IGNsb25lSXRlbSA9IHsgLi4uaXRlbSB9O1xuICAgIGRlbGV0ZSBjbG9uZUl0ZW0uY2xhc3NlcztcbiAgICByZXR1cm4gKHRoaXMudmFsdWUgYXMgTGlzdGJveEl0ZW1bXSkuZmluZEluZGV4KHZhbCA9PiBjb21wYXJlKHZhbCwgY2xvbmVJdGVtKSkgPiAtMTtcbiAgfVxufVxuIl19