@sd-angular/core 0.0.983 → 0.0.987
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/sd-angular-core-select.umd.js +6 -8
- package/bundles/sd-angular-core-select.umd.js.map +1 -1
- package/bundles/sd-angular-core-select.umd.min.js +1 -1
- package/bundles/sd-angular-core-select.umd.min.js.map +1 -1
- package/esm2015/select/src/lib/select.component.js +7 -9
- package/fesm2015/sd-angular-core-select.js +6 -8
- package/fesm2015/sd-angular-core-select.js.map +1 -1
- package/package.json +1 -1
- package/{sd-angular-core-0.0.983.tgz → sd-angular-core-0.0.987.tgz} +0 -0
- package/select/sd-angular-core-select.metadata.json +1 -1
|
@@ -622,14 +622,10 @@
|
|
|
622
622
|
set: function (value) {
|
|
623
623
|
__classPrivateFieldSet(this, _model, value);
|
|
624
624
|
if (Array.isArray(value)) {
|
|
625
|
-
this.formControl.setValue(value.map(function (val) { return (val !== null && val !== void 0 ? val : '') + ''; })
|
|
626
|
-
emitEvent: false
|
|
627
|
-
});
|
|
625
|
+
this.formControl.setValue(value.map(function (val) { return (val !== null && val !== void 0 ? val : '') + ''; }));
|
|
628
626
|
}
|
|
629
627
|
else {
|
|
630
|
-
this.formControl.setValue((value !== null && value !== void 0 ? value : '') + ''
|
|
631
|
-
emitEvent: false
|
|
632
|
-
});
|
|
628
|
+
this.formControl.setValue((value !== null && value !== void 0 ? value : '') + '');
|
|
633
629
|
}
|
|
634
630
|
this.ref.detectChanges();
|
|
635
631
|
},
|
|
@@ -733,6 +729,9 @@
|
|
|
733
729
|
return (formValue === null || formValue === void 0 ? void 0 : formValue.toString()) === value;
|
|
734
730
|
}).sort(function (a, b) {
|
|
735
731
|
var _a, _b;
|
|
732
|
+
if (!_this.multiple) {
|
|
733
|
+
return 0;
|
|
734
|
+
}
|
|
736
735
|
var value1 = hasFields ? (_a = a[_this.valueField]) === null || _a === void 0 ? void 0 : _a.toString() : (a === null || a === void 0 ? void 0 : a.toString()) || '';
|
|
737
736
|
var value2 = hasFields ? (_b = b[_this.valueField]) === null || _b === void 0 ? void 0 : _b.toString() : (b === null || b === void 0 ? void 0 : b.toString()) || '';
|
|
738
737
|
if (isArray) {
|
|
@@ -760,7 +759,6 @@
|
|
|
760
759
|
});
|
|
761
760
|
}); }));
|
|
762
761
|
this.filteredItems = this.allItems.pipe(operators.map(function (allItems) {
|
|
763
|
-
__classPrivateFieldGet(_this, _allItem);
|
|
764
762
|
return allItems.filter(function (item, index) { return index < _this.limit; });
|
|
765
763
|
}));
|
|
766
764
|
// this.filteredItems = this.searchTerm$.asObservable().pipe(
|
|
@@ -841,7 +839,7 @@
|
|
|
841
839
|
// return this.#selectedItem[this.displayField]?.toString();
|
|
842
840
|
// }
|
|
843
841
|
// }));
|
|
844
|
-
this.display = rxjs.combineLatest([this.allItems, this.formControl.valueChanges]).pipe(operators.map(function (_c) {
|
|
842
|
+
this.display = rxjs.combineLatest([this.allItems, this.formControl.valueChanges.pipe(operators.startWith(this.formControl.value))]).pipe(operators.map(function (_c) {
|
|
845
843
|
var _d = __read(_c, 2), items = _d[0], formValue = _d[1];
|
|
846
844
|
var isArray = Array.isArray(formValue);
|
|
847
845
|
if (!_this.valueField || !_this.displayField) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sd-angular-core-select.umd.js","sources":["../../../../node_modules/tslib/tslib.es6.js","../../../../projects/sd-core/select/src/lib/select-display-def.directive.ts","../../../../projects/sd-core/select/src/lib/select.component.ts","../../../../projects/sd-core/select/src/lib/select.module.ts","../../../../projects/sd-core/select/src/public-api.ts","../../../../projects/sd-core/select/sd-angular-core-select.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import { Directive, TemplateRef } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[sdSelectDisplayDef]'\r\n})\r\nexport class SdSelectDisplayDefDirective {\r\n constructor(public templateRef: TemplateRef<any>) { }\r\n}\r\n","import { Component, Input, Output, EventEmitter, ChangeDetectorRef, AfterViewInit, OnDestroy, OnInit, ViewChild, ChangeDetectionStrategy, ContentChild } from '@angular/core';\r\nimport { NgForm, FormControl, Validators, ValidatorFn, AbstractControl, AsyncValidatorFn, FormGroup } from '@angular/forms';\r\nimport * as uuid from 'uuid';\r\nimport { MatSelect, MatSelectChange } from '@angular/material/select';\r\nimport { combineLatest, Observable, Subject } from 'rxjs';\r\nimport { debounceTime, map, startWith, switchMap } from 'rxjs/operators';\r\nimport { SdUtilityService } from '@sd-angular/core/utility';\r\nimport { MatInput } from '@angular/material/input';\r\nimport { SdSelectDisplayDefDirective } from './select-display-def.directive';\r\n@Component({\r\n selector: 'sd-select',\r\n templateUrl: './select.component.html',\r\n styleUrls: ['./select.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class SdSelect implements OnInit, AfterViewInit, OnDestroy {\r\n #input: MatInput;\r\n @ViewChild(MatInput) set input(input: MatInput) {\r\n if (this.#input !== input) {\r\n this.#input = input;\r\n this.#input.value = null;\r\n }\r\n }\r\n @ViewChild('select') select: MatSelect;\r\n #name = uuid.v4();\r\n @Input() set name(val: string) {\r\n if (val) {\r\n this.#name = val;\r\n }\r\n }\r\n disableErrorMessage = false;\r\n @Input('disableErrorMessage') set _disableErrorMessage(val: boolean | '') {\r\n this.disableErrorMessage = (val === '') || val;\r\n val = (val === '') || val;\r\n }\r\n formControl = new FormControl();\r\n\r\n searchTerm$ = new Subject();\r\n\r\n get dataType(): 'boolean' | 'number' | 'string' {\r\n if (Array.isArray(this.#model)) {\r\n if (this.#model.length && typeof (this.#model[0]) === 'number') {\r\n return 'number';\r\n }\r\n if (this.#model.length && typeof (this.#model[0]) === 'boolean') {\r\n return 'boolean';\r\n }\r\n return 'string';\r\n } else {\r\n if ((this.#model && typeof (this.#model) === 'number') || this.#model === 0) {\r\n return 'number';\r\n }\r\n if ((this.#model && typeof (this.#model) === 'boolean') || this.#model === false) {\r\n return 'boolean';\r\n }\r\n }\r\n if (this.#currentItems?.length) {\r\n if (this.valueField && typeof (this.#currentItems[0][this.valueField]) === 'number') {\r\n return 'number';\r\n } else if (this.valueField && typeof (this.#currentItems[0][this.valueField]) === 'boolean') {\r\n return 'boolean';\r\n } else if (typeof (this.#currentItems[0]) === 'number') {\r\n return 'number';\r\n } else if (typeof (this.#currentItems[0]) === 'boolean') {\r\n return 'boolean';\r\n }\r\n }\r\n return 'string';\r\n }\r\n @Input() size: 'sm' | 'lg';\r\n #form: FormGroup;\r\n @Input() set form(val: NgForm | FormGroup) {\r\n if (val) {\r\n if (val instanceof NgForm) {\r\n this.#form = val.form;\r\n } else {\r\n this.#form = val;\r\n }\r\n }\r\n }\r\n @Input() label: string;\r\n @Input() placeholder: string;\r\n\r\n // Model\r\n display: Observable<string>;\r\n #model: boolean | number | string | (number | string)[];\r\n @Input() set model(value: undefined | boolean | number | string | (number | string)[]) {\r\n this.#model = value;\r\n if (Array.isArray(value)) {\r\n this.formControl.setValue(value.map(val => (val ?? '') + ''), {\r\n emitEvent: false\r\n });\r\n } else {\r\n this.formControl.setValue((value ?? '') + '', {\r\n emitEvent: false\r\n });\r\n }\r\n this.ref.detectChanges();\r\n }\r\n // Items\r\n #selectedItem: any;\r\n #selectedItems: any[] = [];\r\n #items: any[] | ((searchText?: string) => Promise<any[]>) = [];\r\n #currentItems: any[] = [];\r\n #allItem: {\r\n [key: string]: any\r\n } = {};\r\n @Input() set items(items: undefined | any[] | ((searchText?: string | string[]) => Promise<any[]>)) {\r\n if (!items) {\r\n this.#items = [];\r\n } else if (Array.isArray(items)) {\r\n this.#items = items.filter(e => e !== null && e !== undefined);\r\n } else {\r\n this.#items = items;\r\n }\r\n this.searchTerm$.next('');\r\n }\r\n @Input() valueField: string;\r\n @Input() displayField: string;\r\n\r\n // Server search\r\n loading = false;\r\n #delay = 500; // Sau khoảng thời gian delay nếu không có thay đổi thì thì mới bắt đầu thực hiện gọi hàm\r\n\r\n // Validator\r\n isRequired = false;\r\n #validator: (value: any) => string | Promise<string>;\r\n @Input() set required(val: boolean | '') {\r\n this.isRequired = (val === '') || val;\r\n this.#updateValidator();\r\n }\r\n @Input() set validator(validator: (value: any) => string | Promise<string>) {\r\n this.#validator = validator;\r\n this.#updateValidator();\r\n }\r\n // Optional\r\n @Input() set disabled(val: boolean | '') {\r\n val = (val === '') || val;\r\n if (val) {\r\n this.formControl.disable();\r\n } else {\r\n this.formControl.enable();\r\n }\r\n }\r\n multiple = false;\r\n @Input('multiple') set _multiple(val: boolean | '') {\r\n this.multiple = (val === '') || val;\r\n }\r\n @Input() limit = 100;\r\n filtered = false;\r\n @Input('filtered') set _filtered(val: boolean | '') {\r\n this.filtered = (val === '') || val;\r\n }\r\n @ContentChild(SdSelectDisplayDefDirective) selectDisplayDef: SdSelectDisplayDefDirective;\r\n selectAll = false;\r\n @Input('selectAll') set _selectAll(val: boolean | '') {\r\n this.selectAll = (val === '') || val;\r\n }\r\n allItems: Observable<any[]>;\r\n filteredItems: Observable<any[]>;\r\n allSelected = false;\r\n @Output() modelChange = new EventEmitter();\r\n @Output() sdChange = new EventEmitter();\r\n @Output() sdSelection = new EventEmitter<{ value: any | any[], item?: any, items?: any[] }>();\r\n constructor(\r\n private ref: ChangeDetectorRef,\r\n private utilityService: SdUtilityService) { }\r\n\r\n ngOnInit() {\r\n this.allItems = this.searchTerm$.asObservable().pipe(\r\n startWith(''),\r\n debounceTime(typeof (this.#items) === 'function' ? this.#delay : 0),\r\n switchMap(async (val: string) => {\r\n if (typeof (this.#items) === 'function') {\r\n return await this.#loadItems(val, this.#items);\r\n }\r\n const { changeAliasLowerCase } = this.utilityService;\r\n const searchText = changeAliasLowerCase(val);\r\n const formValue = this.formControl.value;\r\n const isArray = Array.isArray(formValue);\r\n const hasFields = !!this.valueField && !!this.displayField;\r\n return this.#items.filter(item => {\r\n const value = hasFields ? item[this.valueField]?.toString() : item?.toString() || '';\r\n const display = hasFields ? item[this.displayField]?.toString() : item?.toString() || '';\r\n if (changeAliasLowerCase(value).includes(searchText) || changeAliasLowerCase(display).includes(searchText)) {\r\n return true;\r\n }\r\n if (isArray) {\r\n return formValue.some(e => e?.toString() === value)\r\n }\r\n return formValue?.toString() === value;\r\n }).sort((a, b) => {\r\n const value1 = hasFields ? a[this.valueField]?.toString() : a?.toString() || '';\r\n const value2 = hasFields ? b[this.valueField]?.toString() : b?.toString() || '';\r\n if (isArray) {\r\n const t1 = formValue.some(e => e?.toString() === value1);\r\n const t2 = formValue.some(e => e?.toString() === value2);\r\n if (t1 && !t2) {\r\n return -1;\r\n }\r\n if (!t1 && t2) {\r\n return 1;\r\n }\r\n return 0;\r\n }\r\n const t1 = formValue?.toString() === value1;\r\n const t2 = formValue?.toString() === value2;\r\n if (t1 && !t2) {\r\n return -1;\r\n }\r\n if (!t1 && t2) {\r\n return 1;\r\n }\r\n return 0;\r\n });\r\n })\r\n );\r\n this.filteredItems = this.allItems.pipe(map(allItems => {\r\n this.#allItem\r\n return allItems.filter((item, index) => index < this.limit);\r\n }));\r\n\r\n // this.filteredItems = this.searchTerm$.asObservable().pipe(\r\n // startWith(''),\r\n // debounceTime(typeof (this.#items) === 'function' ? this.#delay : 0),\r\n // // distinctUntilChanged(), Dùng sẽ gây ra bug khi items changes\r\n // switchMap(async (val: string) => {\r\n // if (typeof (this.#items) === 'function') {\r\n // const items = await this.#loadItems(val, this.#items);\r\n // this.#currentItems = items.filter((item, index) => {\r\n // const formValue: any | any[] = this.formControl.value;\r\n // let value = item?.toString() || '';\r\n // if (this.valueField && this.displayField) {\r\n // value = item[this.valueField]?.toString() || '';\r\n // }\r\n // return (Array.isArray(formValue) ? formValue.some(e => e?.toString() === value) : formValue?.toString() === value)\r\n // || index < this.limit;\r\n // });\r\n // return this.#currentItems.map(e => {\r\n // if (this.valueField && this.displayField) {\r\n // return {\r\n // ...e,\r\n // [`${this.valueField}`]: e[this.valueField]?.toString()\r\n // };\r\n // }\r\n // return e?.toString();\r\n // });\r\n // }\r\n // const { changeAliasLowerCase } = this.utilityService;\r\n // this.#currentItems = this.#items.filter(item => {\r\n // const searchText = changeAliasLowerCase(val);\r\n // const formValue: any | any[] = this.formControl.value;\r\n // if (this.valueField && this.displayField) {\r\n // const value = item[this.valueField]?.toString() || '';\r\n // const display = item[this.displayField]?.toString() || '';\r\n // return (Array.isArray(formValue) ? formValue.some(e => e?.toString() === value) : formValue?.toString() === value)\r\n // || changeAliasLowerCase(value).indexOf(searchText) !== -1\r\n // || changeAliasLowerCase(display).indexOf(searchText) !== -1;\r\n // } else {\r\n // const value = item?.toString() || '';\r\n // return (Array.isArray(formValue) ? formValue.some(e => e?.toString() === value) : formValue?.toString() === value)\r\n // || changeAliasLowerCase(value).indexOf(searchText) !== -1;\r\n // }\r\n // }).filter((item, index) => {\r\n // const formValue: any | any[] = this.formControl.value;\r\n // let value = item?.toString() || '';\r\n // if (this.valueField && this.displayField) {\r\n // value = item[this.valueField]?.toString() || '';\r\n // }\r\n // return (Array.isArray(formValue) ? formValue.some(e => e?.toString() === value) : formValue?.toString() === value)\r\n // || index < this.limit;\r\n // });\r\n // return this.#currentItems.map(e => {\r\n // if (this.valueField && this.displayField) {\r\n // return {\r\n // ...e,\r\n // [`${this.valueField}`]: e[this.valueField]?.toString()\r\n // };\r\n // }\r\n // return e?.toString();\r\n // });\r\n // })\r\n // );\r\n\r\n // this.display = this.formControl.valueChanges.pipe(map(formValue => {\r\n // if (!this.displayField) {\r\n // return Array.isArray(formValue) ? formValue?.join(', ') : formValue;\r\n // }\r\n // if (Array.isArray(formValue)) {\r\n // if (!formValue.length) {\r\n // return '';\r\n // }\r\n // return this.#selectedItems.map(e => e[this.displayField]?.toString()).join(', ');\r\n // } else {\r\n // const value = formValue?.toString() || '';\r\n // if (!value) {\r\n // return '';\r\n // }\r\n // return this.#selectedItem[this.displayField]?.toString();\r\n // }\r\n // }));\r\n\r\n this.display = combineLatest([this.allItems, this.formControl.valueChanges]).pipe(\r\n map(([items, formValue]) => {\r\n const isArray = Array.isArray(formValue);\r\n if (!this.valueField || !this.displayField) {\r\n return isArray ? formValue?.join(', ') : formValue;\r\n }\r\n return items.filter(e => isArray ? formValue.includes(e[this.valueField]) : formValue === e[this.valueField])\r\n .map(e => e[this.displayField]?.toString())\r\n .join(', ');\r\n }),\r\n )\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.#form?.addControl(this.#name, this.formControl);\r\n }\r\n\r\n ngOnDestroy() {\r\n this.#form?.removeControl(this.#name);\r\n }\r\n\r\n #updateValidator = () => {\r\n this.formControl.clearValidators();\r\n this.formControl.clearAsyncValidators();\r\n const validators: ValidatorFn[] = [];\r\n const asyncValidators: AsyncValidatorFn[] = [];\r\n if (this.isRequired) {\r\n validators.push(Validators.required);\r\n }\r\n if (this.#validator) {\r\n asyncValidators.push(this.#customValidator(this.#validator));\r\n }\r\n this.formControl.setValidators(validators);\r\n this.formControl.setAsyncValidators(asyncValidators);\r\n this.formControl.updateValueAndValidity();\r\n }\r\n\r\n #search = async (value: any | any[], items: (searchText?: string | string[]) => Promise<any[]>) => {\r\n const results = await items(value).catch(() => []);\r\n if (Array.isArray(value)) {\r\n return results.filter(e => !!e && (value.includes(e) || value.includes(e[this.valueField])));\r\n }\r\n return results.filter(e => !!e && (e === value || e[this.valueField] === value));\r\n }\r\n\r\n #loadItems = async (searchText: string, items: (searchText?: string) => Promise<any[]>) => {\r\n this.loading = true;\r\n const results = await items(searchText).finally(() => this.loading = false);\r\n const objItem = this.valueField ? this.utilityService.arrayToObject(results, this.valueField) : results.forEach(item => objItem[item?.toString()] = item);\r\n Object.assign(this.#allItem, objItem);\r\n if (!this.formControl.value?.toString()) {\r\n return results;\r\n }\r\n const values = Array.isArray(this.formControl.value) ? this.formControl.value : [this.formControl.value];\r\n values.forEach(val => {\r\n if (!objItem[val]) {\r\n if (this.#allItem[val]) {\r\n results.push(this.#allItem[val]);\r\n } else {\r\n if (this.valueField && this.displayField) {\r\n results.push({\r\n [this.valueField]: val,\r\n [this.displayField]: val\r\n });\r\n } else {\r\n results.push(val);\r\n }\r\n }\r\n }\r\n });\r\n return results;\r\n }\r\n\r\n onSelectionChange = (change: MatSelectChange) => {\r\n this.allSelected = !this.select.options.some(e => !e.selected);\r\n const value = change?.value ?? '';\r\n if (this.multiple) {\r\n this.#onChange(value || []);\r\n } else {\r\n this.searchTerm$.next('');\r\n this.#onChange(value);\r\n }\r\n }\r\n\r\n onSelectAll() {\r\n if (this.allSelected) {\r\n this.formControl.setValue(this.select.options.map(e => e.value));\r\n } else {\r\n this.formControl.setValue([]);\r\n }\r\n this.#onChange(this.formControl.value);\r\n }\r\n\r\n reValidate = () => {\r\n this.formControl.updateValueAndValidity({ emitEvent: true });\r\n }\r\n\r\n #onChange = (value: boolean | number | string | (number | string)[]) => {\r\n if (Array.isArray(value)) {\r\n let vals = value;\r\n if (this.dataType === 'number' && value.every(val => Number.isNumber(val))) {\r\n vals = value.map(e => +e);\r\n }\r\n this.#selectedItems = this.#currentItems?.filter(e => vals.some(e1 => e1?.toString() === e?.[this.valueField]?.toString()))\r\n this.modelChange.emit(vals);\r\n this.sdChange.emit(vals);\r\n this.sdSelection.emit({\r\n value: vals,\r\n items: this.#selectedItems\r\n });\r\n } else {\r\n let val = value;\r\n if (this.dataType === 'number' && Number.isNumber(value)) {\r\n val = +value;\r\n }\r\n if (this.dataType === 'boolean') {\r\n if (value === 'true') {\r\n val = true;\r\n } else if (value === 'false') {\r\n val = false;\r\n } else {\r\n val = !!value;\r\n }\r\n }\r\n this.#selectedItem = this.#currentItems?.find(e => val?.toString() === e?.[this.valueField]?.toString());\r\n this.modelChange.emit(val);\r\n this.sdChange.emit(val);\r\n this.sdSelection.emit({\r\n value: val,\r\n item: this.#selectedItem\r\n });\r\n }\r\n }\r\n\r\n clear = ($event?: any) => {\r\n $event?.stopPropagation();\r\n if (this.multiple) {\r\n this.formControl.setValue([]);\r\n this.modelChange.emit([]);\r\n this.sdChange.emit([]);\r\n this.sdSelection.emit({\r\n value: [],\r\n items: []\r\n });\r\n } else {\r\n this.formControl.setValue(null);\r\n this.modelChange.emit(null);\r\n this.sdChange.emit(null);\r\n this.sdSelection.emit({\r\n value: null,\r\n item: null\r\n });\r\n }\r\n }\r\n\r\n #customValidator = (func: (value: any) => string | Promise<string>): AsyncValidatorFn => {\r\n return async (c: AbstractControl): Promise<{ [key: string]: any } | null> => {\r\n const value = c.value || null;\r\n if (func && typeof (func) === 'function') {\r\n const result = func(value);\r\n if (result instanceof Promise) {\r\n const message = await result;\r\n if (message) {\r\n return {\r\n customValidator: message\r\n };\r\n }\r\n return null;\r\n }\r\n if (result) {\r\n return {\r\n customValidator: result\r\n };\r\n }\r\n return null;\r\n }\r\n return null;\r\n };\r\n }\r\n\r\n onOpenChange = (isOpened: boolean) => {\r\n if (isOpened) {\r\n if (this.#input) {\r\n this.#input.value = null;\r\n }\r\n this.searchTerm$.next('');\r\n }\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport '@sd-angular/core/typing';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\r\nimport { SdSelect } from './select.component';\r\nimport { MatSelectModule } from '@angular/material/select';\r\nimport { SdTranslateModule } from '@sd-angular/core/translate';\r\nimport { MatCheckboxModule } from '@angular/material/checkbox';\r\nimport { SdSelectDisplayDefDirective } from './select-display-def.directive';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n MatInputModule,\r\n MatTooltipModule,\r\n MatFormFieldModule,\r\n MatIconModule,\r\n MatSelectModule,\r\n MatProgressSpinnerModule,\r\n MatCheckboxModule,\r\n SdTranslateModule\r\n ],\r\n declarations: [\r\n SdSelect,\r\n SdSelectDisplayDefDirective\r\n ],\r\n exports: [\r\n SdSelect,\r\n SdSelectDisplayDefDirective\r\n ],\r\n providers: [\r\n ]\r\n})\r\nexport class SdSelectModule {\r\n\r\n}\r\n","/*\r\n * Public API Surface of superdev-angular-core\r\n */\r\n\r\nexport * from './lib/select.module';\r\nexport * from './lib/select.component';\r\nexport * from './lib/select-display-def.directive';","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["Directive","TemplateRef","uuid.v4","FormControl","Subject","EventEmitter","Validators","NgForm","startWith","debounceTime","switchMap","map","combineLatest","Component","ChangeDetectionStrategy","ChangeDetectorRef","SdUtilityService","ViewChild","MatInput","Input","ContentChild","Output","NgModule","CommonModule","FormsModule","ReactiveFormsModule","MatInputModule","MatTooltipModule","MatFormFieldModule","MatIconModule","MatSelectModule","MatProgressSpinnerModule","MatCheckboxModule","SdTranslateModule"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sd-angular-core-select.umd.js","sources":["../../../../node_modules/tslib/tslib.es6.js","../../../../projects/sd-core/select/src/lib/select-display-def.directive.ts","../../../../projects/sd-core/select/src/lib/select.component.ts","../../../../projects/sd-core/select/src/lib/select.module.ts","../../../../projects/sd-core/select/src/public-api.ts","../../../../projects/sd-core/select/sd-angular-core-select.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import { Directive, TemplateRef } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[sdSelectDisplayDef]'\r\n})\r\nexport class SdSelectDisplayDefDirective {\r\n constructor(public templateRef: TemplateRef<any>) { }\r\n}\r\n","import { Component, Input, Output, EventEmitter, ChangeDetectorRef, AfterViewInit, OnDestroy, OnInit, ViewChild, ChangeDetectionStrategy, ContentChild } from '@angular/core';\r\nimport { NgForm, FormControl, Validators, ValidatorFn, AbstractControl, AsyncValidatorFn, FormGroup } from '@angular/forms';\r\nimport * as uuid from 'uuid';\r\nimport { MatSelect, MatSelectChange } from '@angular/material/select';\r\nimport { combineLatest, Observable, Subject } from 'rxjs';\r\nimport { debounceTime, map, startWith, switchMap } from 'rxjs/operators';\r\nimport { SdUtilityService } from '@sd-angular/core/utility';\r\nimport { MatInput } from '@angular/material/input';\r\nimport { SdSelectDisplayDefDirective } from './select-display-def.directive';\r\n@Component({\r\n selector: 'sd-select',\r\n templateUrl: './select.component.html',\r\n styleUrls: ['./select.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class SdSelect implements OnInit, AfterViewInit, OnDestroy {\r\n #input: MatInput;\r\n @ViewChild(MatInput) set input(input: MatInput) {\r\n if (this.#input !== input) {\r\n this.#input = input;\r\n this.#input.value = null;\r\n }\r\n }\r\n @ViewChild('select') select: MatSelect;\r\n #name = uuid.v4();\r\n @Input() set name(val: string) {\r\n if (val) {\r\n this.#name = val;\r\n }\r\n }\r\n disableErrorMessage = false;\r\n @Input('disableErrorMessage') set _disableErrorMessage(val: boolean | '') {\r\n this.disableErrorMessage = (val === '') || val;\r\n val = (val === '') || val;\r\n }\r\n formControl = new FormControl();\r\n\r\n searchTerm$ = new Subject();\r\n\r\n get dataType(): 'boolean' | 'number' | 'string' {\r\n if (Array.isArray(this.#model)) {\r\n if (this.#model.length && typeof (this.#model[0]) === 'number') {\r\n return 'number';\r\n }\r\n if (this.#model.length && typeof (this.#model[0]) === 'boolean') {\r\n return 'boolean';\r\n }\r\n return 'string';\r\n } else {\r\n if ((this.#model && typeof (this.#model) === 'number') || this.#model === 0) {\r\n return 'number';\r\n }\r\n if ((this.#model && typeof (this.#model) === 'boolean') || this.#model === false) {\r\n return 'boolean';\r\n }\r\n }\r\n if (this.#currentItems?.length) {\r\n if (this.valueField && typeof (this.#currentItems[0][this.valueField]) === 'number') {\r\n return 'number';\r\n } else if (this.valueField && typeof (this.#currentItems[0][this.valueField]) === 'boolean') {\r\n return 'boolean';\r\n } else if (typeof (this.#currentItems[0]) === 'number') {\r\n return 'number';\r\n } else if (typeof (this.#currentItems[0]) === 'boolean') {\r\n return 'boolean';\r\n }\r\n }\r\n return 'string';\r\n }\r\n @Input() size: 'sm' | 'lg';\r\n #form: FormGroup;\r\n @Input() set form(val: NgForm | FormGroup) {\r\n if (val) {\r\n if (val instanceof NgForm) {\r\n this.#form = val.form;\r\n } else {\r\n this.#form = val;\r\n }\r\n }\r\n }\r\n @Input() label: string;\r\n @Input() placeholder: string;\r\n\r\n // Model\r\n display: Observable<string>;\r\n #model: boolean | number | string | (number | string)[];\r\n @Input() set model(value: undefined | boolean | number | string | (number | string)[]) {\r\n this.#model = value;\r\n if (Array.isArray(value)) {\r\n this.formControl.setValue(value.map(val => (val ?? '') + ''));\r\n } else {\r\n this.formControl.setValue((value ?? '') + '');\r\n }\r\n this.ref.detectChanges();\r\n }\r\n // Items\r\n #selectedItem: any;\r\n #selectedItems: any[] = [];\r\n #items: any[] | ((searchText?: string) => Promise<any[]>) = [];\r\n #currentItems: any[] = [];\r\n #allItem: {\r\n [key: string]: any\r\n } = {};\r\n @Input() set items(items: undefined | any[] | ((searchText?: string | string[]) => Promise<any[]>)) {\r\n if (!items) {\r\n this.#items = [];\r\n } else if (Array.isArray(items)) {\r\n this.#items = items.filter(e => e !== null && e !== undefined);\r\n } else {\r\n this.#items = items;\r\n }\r\n this.searchTerm$.next('');\r\n }\r\n @Input() valueField: string;\r\n @Input() displayField: string;\r\n\r\n // Server search\r\n loading = false;\r\n #delay = 500; // Sau khoảng thời gian delay nếu không có thay đổi thì thì mới bắt đầu thực hiện gọi hàm\r\n\r\n // Validator\r\n isRequired = false;\r\n #validator: (value: any) => string | Promise<string>;\r\n @Input() set required(val: boolean | '') {\r\n this.isRequired = (val === '') || val;\r\n this.#updateValidator();\r\n }\r\n @Input() set validator(validator: (value: any) => string | Promise<string>) {\r\n this.#validator = validator;\r\n this.#updateValidator();\r\n }\r\n // Optional\r\n @Input() set disabled(val: boolean | '') {\r\n val = (val === '') || val;\r\n if (val) {\r\n this.formControl.disable();\r\n } else {\r\n this.formControl.enable();\r\n }\r\n }\r\n multiple = false;\r\n @Input('multiple') set _multiple(val: boolean | '') {\r\n this.multiple = (val === '') || val;\r\n }\r\n @Input() limit = 100;\r\n filtered = false;\r\n @Input('filtered') set _filtered(val: boolean | '') {\r\n this.filtered = (val === '') || val;\r\n }\r\n @ContentChild(SdSelectDisplayDefDirective) selectDisplayDef: SdSelectDisplayDefDirective;\r\n selectAll = false;\r\n @Input('selectAll') set _selectAll(val: boolean | '') {\r\n this.selectAll = (val === '') || val;\r\n }\r\n allItems: Observable<any[]>;\r\n filteredItems: Observable<any[]>;\r\n allSelected = false;\r\n @Output() modelChange = new EventEmitter();\r\n @Output() sdChange = new EventEmitter();\r\n @Output() sdSelection = new EventEmitter<{ value: any | any[], item?: any, items?: any[] }>();\r\n constructor(\r\n private ref: ChangeDetectorRef,\r\n private utilityService: SdUtilityService) { }\r\n\r\n ngOnInit() {\r\n this.allItems = this.searchTerm$.asObservable().pipe(\r\n startWith(''),\r\n debounceTime(typeof (this.#items) === 'function' ? this.#delay : 0),\r\n switchMap(async (val: string) => {\r\n if (typeof (this.#items) === 'function') {\r\n return await this.#loadItems(val, this.#items);\r\n }\r\n const { changeAliasLowerCase } = this.utilityService;\r\n const searchText = changeAliasLowerCase(val);\r\n const formValue = this.formControl.value;\r\n const isArray = Array.isArray(formValue);\r\n const hasFields = !!this.valueField && !!this.displayField;\r\n return this.#items.filter(item => {\r\n const value = hasFields ? item[this.valueField]?.toString() : item?.toString() || '';\r\n const display = hasFields ? item[this.displayField]?.toString() : item?.toString() || '';\r\n if (changeAliasLowerCase(value).includes(searchText) || changeAliasLowerCase(display).includes(searchText)) {\r\n return true;\r\n }\r\n if (isArray) {\r\n return formValue.some(e => e?.toString() === value)\r\n }\r\n return formValue?.toString() === value;\r\n }).sort((a, b) => {\r\n if (!this.multiple) {\r\n return 0;\r\n }\r\n const value1 = hasFields ? a[this.valueField]?.toString() : a?.toString() || '';\r\n const value2 = hasFields ? b[this.valueField]?.toString() : b?.toString() || '';\r\n if (isArray) {\r\n const t1 = formValue.some(e => e?.toString() === value1);\r\n const t2 = formValue.some(e => e?.toString() === value2);\r\n if (t1 && !t2) {\r\n return -1;\r\n }\r\n if (!t1 && t2) {\r\n return 1;\r\n }\r\n return 0;\r\n }\r\n const t1 = formValue?.toString() === value1;\r\n const t2 = formValue?.toString() === value2;\r\n if (t1 && !t2) {\r\n return -1;\r\n }\r\n if (!t1 && t2) {\r\n return 1;\r\n }\r\n return 0;\r\n });\r\n })\r\n );\r\n this.filteredItems = this.allItems.pipe(map(allItems => {\r\n return allItems.filter((item, index) => index < this.limit);\r\n }));\r\n\r\n // this.filteredItems = this.searchTerm$.asObservable().pipe(\r\n // startWith(''),\r\n // debounceTime(typeof (this.#items) === 'function' ? this.#delay : 0),\r\n // // distinctUntilChanged(), Dùng sẽ gây ra bug khi items changes\r\n // switchMap(async (val: string) => {\r\n // if (typeof (this.#items) === 'function') {\r\n // const items = await this.#loadItems(val, this.#items);\r\n // this.#currentItems = items.filter((item, index) => {\r\n // const formValue: any | any[] = this.formControl.value;\r\n // let value = item?.toString() || '';\r\n // if (this.valueField && this.displayField) {\r\n // value = item[this.valueField]?.toString() || '';\r\n // }\r\n // return (Array.isArray(formValue) ? formValue.some(e => e?.toString() === value) : formValue?.toString() === value)\r\n // || index < this.limit;\r\n // });\r\n // return this.#currentItems.map(e => {\r\n // if (this.valueField && this.displayField) {\r\n // return {\r\n // ...e,\r\n // [`${this.valueField}`]: e[this.valueField]?.toString()\r\n // };\r\n // }\r\n // return e?.toString();\r\n // });\r\n // }\r\n // const { changeAliasLowerCase } = this.utilityService;\r\n // this.#currentItems = this.#items.filter(item => {\r\n // const searchText = changeAliasLowerCase(val);\r\n // const formValue: any | any[] = this.formControl.value;\r\n // if (this.valueField && this.displayField) {\r\n // const value = item[this.valueField]?.toString() || '';\r\n // const display = item[this.displayField]?.toString() || '';\r\n // return (Array.isArray(formValue) ? formValue.some(e => e?.toString() === value) : formValue?.toString() === value)\r\n // || changeAliasLowerCase(value).indexOf(searchText) !== -1\r\n // || changeAliasLowerCase(display).indexOf(searchText) !== -1;\r\n // } else {\r\n // const value = item?.toString() || '';\r\n // return (Array.isArray(formValue) ? formValue.some(e => e?.toString() === value) : formValue?.toString() === value)\r\n // || changeAliasLowerCase(value).indexOf(searchText) !== -1;\r\n // }\r\n // }).filter((item, index) => {\r\n // const formValue: any | any[] = this.formControl.value;\r\n // let value = item?.toString() || '';\r\n // if (this.valueField && this.displayField) {\r\n // value = item[this.valueField]?.toString() || '';\r\n // }\r\n // return (Array.isArray(formValue) ? formValue.some(e => e?.toString() === value) : formValue?.toString() === value)\r\n // || index < this.limit;\r\n // });\r\n // return this.#currentItems.map(e => {\r\n // if (this.valueField && this.displayField) {\r\n // return {\r\n // ...e,\r\n // [`${this.valueField}`]: e[this.valueField]?.toString()\r\n // };\r\n // }\r\n // return e?.toString();\r\n // });\r\n // })\r\n // );\r\n\r\n // this.display = this.formControl.valueChanges.pipe(map(formValue => {\r\n // if (!this.displayField) {\r\n // return Array.isArray(formValue) ? formValue?.join(', ') : formValue;\r\n // }\r\n // if (Array.isArray(formValue)) {\r\n // if (!formValue.length) {\r\n // return '';\r\n // }\r\n // return this.#selectedItems.map(e => e[this.displayField]?.toString()).join(', ');\r\n // } else {\r\n // const value = formValue?.toString() || '';\r\n // if (!value) {\r\n // return '';\r\n // }\r\n // return this.#selectedItem[this.displayField]?.toString();\r\n // }\r\n // }));\r\n\r\n this.display = combineLatest([this.allItems, this.formControl.valueChanges.pipe(startWith(this.formControl.value))]).pipe(\r\n map(([items, formValue]) => {\r\n const isArray = Array.isArray(formValue);\r\n if (!this.valueField || !this.displayField) {\r\n return isArray ? formValue?.join(', ') : formValue;\r\n }\r\n return items.filter(e => isArray ? formValue.includes(e[this.valueField]) : formValue === e[this.valueField])\r\n .map(e => e[this.displayField]?.toString())\r\n .join(', ');\r\n }),\r\n )\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.#form?.addControl(this.#name, this.formControl);\r\n }\r\n\r\n ngOnDestroy() {\r\n this.#form?.removeControl(this.#name);\r\n }\r\n\r\n #updateValidator = () => {\r\n this.formControl.clearValidators();\r\n this.formControl.clearAsyncValidators();\r\n const validators: ValidatorFn[] = [];\r\n const asyncValidators: AsyncValidatorFn[] = [];\r\n if (this.isRequired) {\r\n validators.push(Validators.required);\r\n }\r\n if (this.#validator) {\r\n asyncValidators.push(this.#customValidator(this.#validator));\r\n }\r\n this.formControl.setValidators(validators);\r\n this.formControl.setAsyncValidators(asyncValidators);\r\n this.formControl.updateValueAndValidity();\r\n }\r\n\r\n #search = async (value: any | any[], items: (searchText?: string | string[]) => Promise<any[]>) => {\r\n const results = await items(value).catch(() => []);\r\n if (Array.isArray(value)) {\r\n return results.filter(e => !!e && (value.includes(e) || value.includes(e[this.valueField])));\r\n }\r\n return results.filter(e => !!e && (e === value || e[this.valueField] === value));\r\n }\r\n\r\n #loadItems = async (searchText: string, items: (searchText?: string) => Promise<any[]>) => {\r\n this.loading = true;\r\n const results = await items(searchText).finally(() => this.loading = false);\r\n const objItem = this.valueField ? this.utilityService.arrayToObject(results, this.valueField) : results.forEach(item => objItem[item?.toString()] = item);\r\n Object.assign(this.#allItem, objItem);\r\n if (!this.formControl.value?.toString()) {\r\n return results;\r\n }\r\n const values = Array.isArray(this.formControl.value) ? this.formControl.value : [this.formControl.value];\r\n values.forEach(val => {\r\n if (!objItem[val]) {\r\n if (this.#allItem[val]) {\r\n results.push(this.#allItem[val]);\r\n } else {\r\n if (this.valueField && this.displayField) {\r\n results.push({\r\n [this.valueField]: val,\r\n [this.displayField]: val\r\n });\r\n } else {\r\n results.push(val);\r\n }\r\n }\r\n }\r\n });\r\n return results;\r\n }\r\n\r\n onSelectionChange = (change: MatSelectChange) => {\r\n this.allSelected = !this.select.options.some(e => !e.selected);\r\n const value = change?.value ?? '';\r\n if (this.multiple) {\r\n this.#onChange(value || []);\r\n } else {\r\n this.searchTerm$.next('');\r\n this.#onChange(value);\r\n }\r\n }\r\n\r\n onSelectAll() {\r\n if (this.allSelected) {\r\n this.formControl.setValue(this.select.options.map(e => e.value));\r\n } else {\r\n this.formControl.setValue([]);\r\n }\r\n this.#onChange(this.formControl.value);\r\n }\r\n\r\n reValidate = () => {\r\n this.formControl.updateValueAndValidity({ emitEvent: true });\r\n }\r\n\r\n #onChange = (value: boolean | number | string | (number | string)[]) => {\r\n if (Array.isArray(value)) {\r\n let vals = value;\r\n if (this.dataType === 'number' && value.every(val => Number.isNumber(val))) {\r\n vals = value.map(e => +e);\r\n }\r\n this.#selectedItems = this.#currentItems?.filter(e => vals.some(e1 => e1?.toString() === e?.[this.valueField]?.toString()))\r\n this.modelChange.emit(vals);\r\n this.sdChange.emit(vals);\r\n this.sdSelection.emit({\r\n value: vals,\r\n items: this.#selectedItems\r\n });\r\n } else {\r\n let val = value;\r\n if (this.dataType === 'number' && Number.isNumber(value)) {\r\n val = +value;\r\n }\r\n if (this.dataType === 'boolean') {\r\n if (value === 'true') {\r\n val = true;\r\n } else if (value === 'false') {\r\n val = false;\r\n } else {\r\n val = !!value;\r\n }\r\n }\r\n this.#selectedItem = this.#currentItems?.find(e => val?.toString() === e?.[this.valueField]?.toString());\r\n this.modelChange.emit(val);\r\n this.sdChange.emit(val);\r\n this.sdSelection.emit({\r\n value: val,\r\n item: this.#selectedItem\r\n });\r\n }\r\n }\r\n\r\n clear = ($event?: any) => {\r\n $event?.stopPropagation();\r\n if (this.multiple) {\r\n this.formControl.setValue([]);\r\n this.modelChange.emit([]);\r\n this.sdChange.emit([]);\r\n this.sdSelection.emit({\r\n value: [],\r\n items: []\r\n });\r\n } else {\r\n this.formControl.setValue(null);\r\n this.modelChange.emit(null);\r\n this.sdChange.emit(null);\r\n this.sdSelection.emit({\r\n value: null,\r\n item: null\r\n });\r\n }\r\n }\r\n\r\n #customValidator = (func: (value: any) => string | Promise<string>): AsyncValidatorFn => {\r\n return async (c: AbstractControl): Promise<{ [key: string]: any } | null> => {\r\n const value = c.value || null;\r\n if (func && typeof (func) === 'function') {\r\n const result = func(value);\r\n if (result instanceof Promise) {\r\n const message = await result;\r\n if (message) {\r\n return {\r\n customValidator: message\r\n };\r\n }\r\n return null;\r\n }\r\n if (result) {\r\n return {\r\n customValidator: result\r\n };\r\n }\r\n return null;\r\n }\r\n return null;\r\n };\r\n }\r\n\r\n onOpenChange = (isOpened: boolean) => {\r\n if (isOpened) {\r\n if (this.#input) {\r\n this.#input.value = null;\r\n }\r\n this.searchTerm$.next('');\r\n }\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport '@sd-angular/core/typing';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\r\nimport { SdSelect } from './select.component';\r\nimport { MatSelectModule } from '@angular/material/select';\r\nimport { SdTranslateModule } from '@sd-angular/core/translate';\r\nimport { MatCheckboxModule } from '@angular/material/checkbox';\r\nimport { SdSelectDisplayDefDirective } from './select-display-def.directive';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n MatInputModule,\r\n MatTooltipModule,\r\n MatFormFieldModule,\r\n MatIconModule,\r\n MatSelectModule,\r\n MatProgressSpinnerModule,\r\n MatCheckboxModule,\r\n SdTranslateModule\r\n ],\r\n declarations: [\r\n SdSelect,\r\n SdSelectDisplayDefDirective\r\n ],\r\n exports: [\r\n SdSelect,\r\n SdSelectDisplayDefDirective\r\n ],\r\n providers: [\r\n ]\r\n})\r\nexport class SdSelectModule {\r\n\r\n}\r\n","/*\r\n * Public API Surface of superdev-angular-core\r\n */\r\n\r\nexport * from './lib/select.module';\r\nexport * from './lib/select.component';\r\nexport * from './lib/select-display-def.directive';","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["Directive","TemplateRef","uuid.v4","FormControl","Subject","EventEmitter","Validators","NgForm","startWith","debounceTime","switchMap","map","combineLatest","Component","ChangeDetectionStrategy","ChangeDetectorRef","SdUtilityService","ViewChild","MatInput","Input","ContentChild","Output","NgModule","CommonModule","FormsModule","ReactiveFormsModule","MatInputModule","MatTooltipModule","MatFormFieldModule","MatIconModule","MatSelectModule","MatProgressSpinnerModule","MatCheckboxModule","SdTranslateModule"],"mappings":"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"}
|
|
@@ -12,5 +12,5 @@
|
|
|
12
12
|
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|
13
13
|
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
14
14
|
PERFORMANCE OF THIS SOFTWARE.
|
|
15
|
-
***************************************************************************** */function v(e,t,n,r){return new(n||(n=Promise))((function(i,o){function l(e){try{s(r.next(e))}catch(e){o(e)}}function a(e){try{s(r.throw(e))}catch(e){o(e)}}function s(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(l,a)}s((r=r.apply(e,t||[])).next())}))}function y(e,t){var n,r,i,o,l={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;l;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return l.label++,{value:o[1],done:!1};case 5:l.label++,r=o[1],o=[0];continue;case 7:o=l.ops.pop(),l.trys.pop();continue;default:if(!(i=l.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){l=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]<i[3])){l.label=o[1];break}if(6===o[0]&&l.label<i[1]){l.label=i[1],i=o;break}if(i&&l.label<i[2]){l.label=i[2],l.ops.push(o);break}i[2]&&l.ops.pop(),l.trys.pop();continue}o=t.call(e,l)}catch(e){o=[6,e],r=0}finally{n=i=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,a])}}}Object.create;function b(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,i,o=n.call(e),l=[];try{for(;(void 0===t||t-- >0)&&!(r=o.next()).done;)l.push(r.value)}catch(e){i={error:e}}finally{try{r&&!r.done&&(n=o.return)&&n.call(o)}finally{if(i)throw i.error}}return l}Object.create;function C(e,t){if(!t.has(e))throw new TypeError("attempted to get private field on non-instance");return t.get(e)}function S(e,t,n){if(!t.has(e))throw new TypeError("attempted to set private field on non-instance");return t.set(e,n),n}var w,I,F,M,k,x,T,D,O,q,P,A,j,R,V,E,$=function(e){this.templateRef=e};$.decorators=[{type:t.Directive,args:[{selector:"[sdSelectDisplayDef]"}]}],$.ctorParameters=function(){return[{type:t.TemplateRef}]};var W=function(){function e(e,n){var i=this;this.ref=e,this.utilityService=n,w.set(this,void 0),I.set(this,c.v4()),this.disableErrorMessage=!1,this.formControl=new r.FormControl,this.searchTerm$=new d.Subject,F.set(this,void 0),M.set(this,void 0),k.set(this,void 0),x.set(this,[]),T.set(this,[]),D.set(this,[]),O.set(this,{}),this.loading=!1,q.set(this,500),this.isRequired=!1,P.set(this,void 0),this.multiple=!1,this.limit=100,this.filtered=!1,this.selectAll=!1,this.allSelected=!1,this.modelChange=new t.EventEmitter,this.sdChange=new t.EventEmitter,this.sdSelection=new t.EventEmitter,A.set(this,(function(){i.formControl.clearValidators(),i.formControl.clearAsyncValidators();var e=[],t=[];i.isRequired&&e.push(r.Validators.required),C(i,P)&&t.push(C(i,E).call(i,C(i,P))),i.formControl.setValidators(e),i.formControl.setAsyncValidators(t),i.formControl.updateValueAndValidity()})),j.set(this,(function(e,t){return v(i,void 0,void 0,(function(){var n,r=this;return y(this,(function(i){switch(i.label){case 0:return[4,t(e).catch((function(){return[]}))];case 1:return n=i.sent(),Array.isArray(e)?[2,n.filter((function(t){return!!t&&(e.includes(t)||e.includes(t[r.valueField]))}))]:[2,n.filter((function(t){return!!t&&(t===e||t[r.valueField]===e)}))]}}))}))})),R.set(this,(function(e,t){return v(i,void 0,void 0,(function(){var n,r,i,o=this;return y(this,(function(l){switch(l.label){case 0:return this.loading=!0,[4,t(e).finally((function(){return o.loading=!1}))];case 1:return r=l.sent(),i=this.valueField?this.utilityService.arrayToObject(r,this.valueField):r.forEach((function(e){return i[null==e?void 0:e.toString()]=e})),Object.assign(C(this,O),i),(null===(n=this.formControl.value)||void 0===n?void 0:n.toString())?((Array.isArray(this.formControl.value)?this.formControl.value:[this.formControl.value]).forEach((function(e){var t;i[e]||(C(o,O)[e]?r.push(C(o,O)[e]):o.valueField&&o.displayField?r.push(((t={})[o.valueField]=e,t[o.displayField]=e,t)):r.push(e))})),[2,r]):[2,r]}}))}))})),this.onSelectionChange=function(e){var t;i.allSelected=!i.select.options.some((function(e){return!e.selected}));var n=null!==(t=null==e?void 0:e.value)&&void 0!==t?t:"";i.multiple?C(i,V).call(i,n||[]):(i.searchTerm$.next(""),C(i,V).call(i,n))},this.reValidate=function(){i.formControl.updateValueAndValidity({emitEvent:!0})},V.set(this,(function(e){var t,n;if(Array.isArray(e)){var r=e;"number"===i.dataType&&e.every((function(e){return Number.isNumber(e)}))&&(r=e.map((function(e){return+e}))),S(i,x,null===(t=C(i,D))||void 0===t?void 0:t.filter((function(e){return r.some((function(t){var n;return(null==t?void 0:t.toString())===(null===(n=null==e?void 0:e[i.valueField])||void 0===n?void 0:n.toString())}))}))),i.modelChange.emit(r),i.sdChange.emit(r),i.sdSelection.emit({value:r,items:C(i,x)})}else{var o=e;"number"===i.dataType&&Number.isNumber(e)&&(o=+e),"boolean"===i.dataType&&(o="true"===e||"false"!==e&&!!e),S(i,k,null===(n=C(i,D))||void 0===n?void 0:n.find((function(e){var t;return(null==o?void 0:o.toString())===(null===(t=null==e?void 0:e[i.valueField])||void 0===t?void 0:t.toString())}))),i.modelChange.emit(o),i.sdChange.emit(o),i.sdSelection.emit({value:o,item:C(i,k)})}})),this.clear=function(e){null==e||e.stopPropagation(),i.multiple?(i.formControl.setValue([]),i.modelChange.emit([]),i.sdChange.emit([]),i.sdSelection.emit({value:[],items:[]})):(i.formControl.setValue(null),i.modelChange.emit(null),i.sdChange.emit(null),i.sdSelection.emit({value:null,item:null}))},E.set(this,(function(e){return function(t){return v(i,void 0,void 0,(function(){var n,r,i;return y(this,(function(o){switch(o.label){case 0:return n=t.value||null,e&&"function"==typeof e?(r=e(n))instanceof Promise?[4,r]:[3,2]:[3,3];case 1:return(i=o.sent())?[2,{customValidator:i}]:[2,null];case 2:return r?[2,{customValidator:r}]:[2,null];case 3:return[2,null]}}))}))}})),this.onOpenChange=function(e){e&&(C(i,w)&&(C(i,w).value=null),i.searchTerm$.next(""))}}return Object.defineProperty(e.prototype,"input",{set:function(e){C(this,w)!==e&&(S(this,w,e),C(this,w).value=null)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"name",{set:function(e){e&&S(this,I,e)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"_disableErrorMessage",{set:function(e){this.disableErrorMessage=""===e||e,e=""===e||e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"dataType",{get:function(){var e;if(Array.isArray(C(this,M)))return C(this,M).length&&"number"==typeof C(this,M)[0]?"number":C(this,M).length&&"boolean"==typeof C(this,M)[0]?"boolean":"string";if(C(this,M)&&"number"==typeof C(this,M)||0===C(this,M))return"number";if(C(this,M)&&"boolean"==typeof C(this,M)||!1===C(this,M))return"boolean";if(null===(e=C(this,D))||void 0===e?void 0:e.length){if(this.valueField&&"number"==typeof C(this,D)[0][this.valueField])return"number";if(this.valueField&&"boolean"==typeof C(this,D)[0][this.valueField])return"boolean";if("number"==typeof C(this,D)[0])return"number";if("boolean"==typeof C(this,D)[0])return"boolean"}return"string"},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"form",{set:function(e){e&&(e instanceof r.NgForm?S(this,F,e.form):S(this,F,e))},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"model",{set:function(e){S(this,M,e),Array.isArray(e)?this.formControl.setValue(e.map((function(e){return(null!=e?e:"")+""})),{emitEvent:!1}):this.formControl.setValue((null!=e?e:"")+"",{emitEvent:!1}),this.ref.detectChanges()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"items",{set:function(e){e?Array.isArray(e)?S(this,T,e.filter((function(e){return null!=e}))):S(this,T,e):S(this,T,[]),this.searchTerm$.next("")},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"required",{set:function(e){this.isRequired=""===e||e,C(this,A).call(this)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"validator",{set:function(e){S(this,P,e),C(this,A).call(this)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"disabled",{set:function(e){(e=""===e||e)?this.formControl.disable():this.formControl.enable()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"_multiple",{set:function(e){this.multiple=""===e||e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"_filtered",{set:function(e){this.filtered=""===e||e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"_selectAll",{set:function(e){this.selectAll=""===e||e},enumerable:!1,configurable:!0}),e.prototype.ngOnInit=function(){var e=this;this.allItems=this.searchTerm$.asObservable().pipe(p.startWith(""),p.debounceTime("function"==typeof C(this,T)?C(this,q):0),p.switchMap((function(t){return v(e,void 0,void 0,(function(){var e,n,r,i,o,l=this;return y(this,(function(a){switch(a.label){case 0:return"function"!=typeof C(this,T)?[3,2]:[4,C(this,R).call(this,t,C(this,T))];case 1:return[2,a.sent()];case 2:return e=this.utilityService.changeAliasLowerCase,n=e(t),r=this.formControl.value,i=Array.isArray(r),o=!!this.valueField&&!!this.displayField,[2,C(this,T).filter((function(t){var a,s,u=o?null===(a=t[l.valueField])||void 0===a?void 0:a.toString():(null==t?void 0:t.toString())||"",c=o?null===(s=t[l.displayField])||void 0===s?void 0:s.toString():(null==t?void 0:t.toString())||"";return!(!e(u).includes(n)&&!e(c).includes(n))||(i?r.some((function(e){return(null==e?void 0:e.toString())===u})):(null==r?void 0:r.toString())===u)})).sort((function(e,t){var n,a,s=o?null===(n=e[l.valueField])||void 0===n?void 0:n.toString():(null==e?void 0:e.toString())||"",u=o?null===(a=t[l.valueField])||void 0===a?void 0:a.toString():(null==t?void 0:t.toString())||"";if(i){var c=r.some((function(e){return(null==e?void 0:e.toString())===s})),d=r.some((function(e){return(null==e?void 0:e.toString())===u}));return c&&!d?-1:!c&&d?1:0}var p=(null==r?void 0:r.toString())===s,f=(null==r?void 0:r.toString())===u;return p&&!f?-1:!p&&f?1:0}))]}}))}))}))),this.filteredItems=this.allItems.pipe(p.map((function(t){return C(e,O),t.filter((function(t,n){return n<e.limit}))}))),this.display=d.combineLatest([this.allItems,this.formControl.valueChanges]).pipe(p.map((function(t){var n=b(t,2),r=n[0],i=n[1],o=Array.isArray(i);return e.valueField&&e.displayField?r.filter((function(t){return o?i.includes(t[e.valueField]):i===t[e.valueField]})).map((function(t){var n;return null===(n=t[e.displayField])||void 0===n?void 0:n.toString()})).join(", "):o?null==i?void 0:i.join(", "):i})))},e.prototype.ngAfterViewInit=function(){var e;null===(e=C(this,F))||void 0===e||e.addControl(C(this,I),this.formControl)},e.prototype.ngOnDestroy=function(){var e;null===(e=C(this,F))||void 0===e||e.removeControl(C(this,I))},e.prototype.onSelectAll=function(){this.allSelected?this.formControl.setValue(this.select.options.map((function(e){return e.value}))):this.formControl.setValue([]),C(this,V).call(this,this.formControl.value)},e}();w=new WeakMap,I=new WeakMap,F=new WeakMap,M=new WeakMap,k=new WeakMap,x=new WeakMap,T=new WeakMap,D=new WeakMap,O=new WeakMap,q=new WeakMap,P=new WeakMap,A=new WeakMap,j=new WeakMap,R=new WeakMap,V=new WeakMap,E=new WeakMap,W.decorators=[{type:t.Component,args:[{selector:"sd-select",template:'<div class="d-flex align-items-center">\r\n <mat-form-field class="sd-md" [ngClass]="{\'sd-sm\': size === \'sm\', \'no-padding-wrapper\': disableErrorMessage}"\r\n appearance="outline">\r\n <mat-label *ngIf="label">{{label}}</mat-label>\r\n <mat-select #select [formControl]="formControl" placeholder="{{placeholder || label}}" multiple\r\n (selectionChange)="onSelectionChange($event)" disableOptionCentering="true" panelClass="sd-select-panel"\r\n [ngClass]="{\'sd-selected\': !isRequired && (multiple ? formControl?.value?.length : formControl?.value)}"\r\n [required]="isRequired" (openedChange)="onOpenChange($event)" *ngIf="multiple">\r\n <mat-select-trigger>\r\n {{display | async }}\r\n </mat-select-trigger>\r\n <mat-option *ngIf="filtered" class="sd-filtered-input" (keyup.Space)="$event.stopPropagation()" disabled="true">\r\n <mat-form-field class="sd-md" appearance="outline">\r\n <mat-icon matPrefix>search</mat-icon>\r\n <input #input placeholder="{{\'Search\' | sdTranslate}}" matInput autocomplete="off"\r\n (keydown)="$event.stopPropagation()" (keyup)="searchTerm$.next($event.target.value)">\r\n </mat-form-field>\r\n </mat-option>\r\n <ng-container *ngIf="multiple && selectAll">\r\n <mat-checkbox class="mat-option" [(ngModel)]="allSelected" [ngModelOptions]="{standalone: true}"\r\n (change)="onSelectAll()">\r\n Tất cả</mat-checkbox>\r\n </ng-container>\r\n <ng-container *ngIf="valueField && displayField">\r\n <mat-option *ngFor="let item of filteredItems | async" [value]="item[valueField]" matTooltipPosition="above"\r\n [matTooltip]="item[displayField]">\r\n <ng-container *ngIf="selectDisplayDef?.templateRef">\r\n <ng-container *ngTemplateOutlet="selectDisplayDef.templateRef;context:{item: item}">\r\n </ng-container>\r\n </ng-container>\r\n <ng-container *ngIf="!selectDisplayDef?.templateRef">\r\n {{ item[displayField] }}\r\n </ng-container>\r\n </mat-option>\r\n </ng-container>\r\n <ng-container *ngIf="!valueField && !displayField">\r\n <mat-option *ngFor="let item of filteredItems | async" [value]="item" matTooltipPosition="above"\r\n [matTooltip]="item">\r\n <ng-container *ngIf="selectDisplayDef?.templateRef">\r\n <ng-container *ngTemplateOutlet="selectDisplayDef.templateRef;context:{item: item}">\r\n </ng-container>\r\n </ng-container>\r\n <ng-container *ngIf="!selectDisplayDef?.templateRef">\r\n {{ item }}\r\n </ng-container>\r\n </mat-option>\r\n </ng-container>\r\n </mat-select>\r\n <mat-select #select [formControl]="formControl" placeholder="{{placeholder || label}}"\r\n (selectionChange)="onSelectionChange($event)" disableOptionCentering="true" panelClass="sd-select-panel"\r\n [ngClass]="{\'sd-selected\': !isRequired && formControl?.value}" [required]="isRequired"\r\n (openedChange)="onOpenChange($event)" *ngIf="!multiple">\r\n <mat-select-trigger>\r\n {{display | async }}\r\n </mat-select-trigger>\r\n <mat-option *ngIf="filtered" class="sd-filtered-input" (keyup.Space)="$event.stopPropagation()" disabled="true">\r\n <mat-form-field class="sd-md" appearance="outline">\r\n <mat-icon matPrefix>search</mat-icon>\r\n <input #input placeholder="{{\'Search\' | sdTranslate}}" matInput autocomplete="off"\r\n (keydown)="$event.stopPropagation()" (keyup)="searchTerm$.next($event.target.value)">\r\n </mat-form-field>\r\n </mat-option>\r\n <ng-container *ngIf="valueField && displayField">\r\n <mat-option *ngFor="let item of filteredItems | async" [value]="item[valueField]" matTooltipPosition="above"\r\n [matTooltip]="item[displayField]">\r\n <ng-container *ngIf="selectDisplayDef?.templateRef">\r\n <ng-container *ngTemplateOutlet="selectDisplayDef.templateRef;context:{item: item}">\r\n </ng-container>\r\n </ng-container>\r\n <ng-container *ngIf="!selectDisplayDef?.templateRef">\r\n {{ item[displayField] }}\r\n </ng-container>\r\n </mat-option>\r\n </ng-container>\r\n <ng-container *ngIf="!valueField && !displayField">\r\n <mat-option *ngFor="let item of filteredItems | async" [value]="item" matTooltipPosition="above"\r\n [matTooltip]="item">\r\n <ng-container *ngIf="selectDisplayDef?.templateRef">\r\n <ng-container *ngTemplateOutlet="selectDisplayDef.templateRef;context:{item: item}">\r\n </ng-container>\r\n </ng-container>\r\n <ng-container *ngIf="!selectDisplayDef?.templateRef">\r\n {{ item }}\r\n </ng-container>\r\n </mat-option>\r\n </ng-container>\r\n </mat-select>\r\n <mat-icon\r\n *ngIf="(multiple ? formControl?.value?.length : formControl?.value) && !isRequired && !formControl.disabled"\r\n class="pointer sd-suffix-icon" (click)="clear($event)" matSuffix>cancel\r\n </mat-icon>\r\n <mat-error *ngIf="formControl.errors?.required && !disableErrorMessage">\r\n {{\'This field is required\' | sdTranslate}}\r\n </mat-error>\r\n <mat-error *ngIf="formControl?.errors?.customValidator && !disableErrorMessage">\r\n {{formControl?.errors?.customValidator}}\r\n </mat-error>\r\n </mat-form-field>\r\n</div>',changeDetection:t.ChangeDetectionStrategy.OnPush,styles:[":host{display:block;padding-top:5px}:host ::ng-deep .mat-form-field.mat-form-field-appearance-outline .mat-select-arrow-wrapper{transform:none}:host ::ng-deep .sd-selected .mat-select-arrow{border:none}:host ::ng-deep .mat-form-field.no-padding-wrapper .mat-form-field-wrapper{padding-bottom:0}:host ::ng-deep .mat-form-field.mat-form-field-appearance-outline.mat-form-field-disabled .mat-form-field-outline{background:#f6f6f6;color:#e9e9e9}:host ::ng-deep .mat-form-field mat-select.mat-select-disabled .mat-select-value{color:#4d4d4d!important}:host ::ng-deep .mat-form-field .mat-placeholder-required{color:#f82c13}::ng-deep .sd-select-panel .mat-option.sd-filtered-input{background-color:#fff;position:-webkit-sticky;position:sticky;top:0;z-index:10}::ng-deep .sd-select-panel .mat-option.sd-filtered-input .mat-form-field.mat-form-field-appearance-outline{width:100%}::ng-deep .sd-select-panel .mat-option.sd-filtered-input mat-pseudo-checkbox{display:none}::ng-deep .mat-select-panel .mat-option.sd-filtered-input{height:auto}::ng-deep .sd-select-panel .mat-option.sd-filtered-input input{color:#000}::ng-deep .sd-select-panel .mat-option.sd-filtered-input .mat-form-field-prefix .mat-icon{margin-right:0}::ng-deep .sd-select-panel .mat-option.sd-filtered-input .mat-form-field.mat-form-field-appearance-outline .mat-form-field-wrapper{padding:10px 0}::ng-deep .sd-select-panel .mat-option.sd-filtered-input .mat-form-field.mat-form-field-appearance-outline .mat-form-field-wrapper .mat-form-field-outline{background-color:rgba(0,0,0,.04)}"]}]}],W.ctorParameters=function(){return[{type:t.ChangeDetectorRef},{type:f.SdUtilityService}]},W.propDecorators={input:[{type:t.ViewChild,args:[o.MatInput]}],select:[{type:t.ViewChild,args:["select"]}],name:[{type:t.Input}],_disableErrorMessage:[{type:t.Input,args:["disableErrorMessage"]}],size:[{type:t.Input}],form:[{type:t.Input}],label:[{type:t.Input}],placeholder:[{type:t.Input}],model:[{type:t.Input}],items:[{type:t.Input}],valueField:[{type:t.Input}],displayField:[{type:t.Input}],required:[{type:t.Input}],validator:[{type:t.Input}],disabled:[{type:t.Input}],_multiple:[{type:t.Input,args:["multiple"]}],limit:[{type:t.Input}],_filtered:[{type:t.Input,args:["filtered"]}],selectDisplayDef:[{type:t.ContentChild,args:[$]}],_selectAll:[{type:t.Input,args:["selectAll"]}],modelChange:[{type:t.Output}],sdChange:[{type:t.Output}],sdSelection:[{type:t.Output}]};var _=function(){};_.decorators=[{type:t.NgModule,args:[{imports:[n.CommonModule,r.FormsModule,r.ReactiveFormsModule,o.MatInputModule,s.MatTooltipModule,i.MatFormFieldModule,a.MatIconModule,m.MatSelectModule,u.MatProgressSpinnerModule,h.MatCheckboxModule,g.SdTranslateModule],declarations:[W,$],exports:[W,$],providers:[]}]}],e.SdSelect=W,e.SdSelectDisplayDefDirective=$,e.SdSelectModule=_,Object.defineProperty(e,"__esModule",{value:!0})}));
|
|
15
|
+
***************************************************************************** */function v(e,t,n,r){return new(n||(n=Promise))((function(i,o){function l(e){try{s(r.next(e))}catch(e){o(e)}}function a(e){try{s(r.throw(e))}catch(e){o(e)}}function s(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(l,a)}s((r=r.apply(e,t||[])).next())}))}function y(e,t){var n,r,i,o,l={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;l;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return l.label++,{value:o[1],done:!1};case 5:l.label++,r=o[1],o=[0];continue;case 7:o=l.ops.pop(),l.trys.pop();continue;default:if(!(i=l.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){l=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]<i[3])){l.label=o[1];break}if(6===o[0]&&l.label<i[1]){l.label=i[1],i=o;break}if(i&&l.label<i[2]){l.label=i[2],l.ops.push(o);break}i[2]&&l.ops.pop(),l.trys.pop();continue}o=t.call(e,l)}catch(e){o=[6,e],r=0}finally{n=i=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,a])}}}Object.create;function b(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,i,o=n.call(e),l=[];try{for(;(void 0===t||t-- >0)&&!(r=o.next()).done;)l.push(r.value)}catch(e){i={error:e}}finally{try{r&&!r.done&&(n=o.return)&&n.call(o)}finally{if(i)throw i.error}}return l}Object.create;function C(e,t){if(!t.has(e))throw new TypeError("attempted to get private field on non-instance");return t.get(e)}function S(e,t,n){if(!t.has(e))throw new TypeError("attempted to set private field on non-instance");return t.set(e,n),n}var w,I,F,M,k,x,T,D,O,q,P,A,j,R,V,E,W=function(e){this.templateRef=e};W.decorators=[{type:t.Directive,args:[{selector:"[sdSelectDisplayDef]"}]}],W.ctorParameters=function(){return[{type:t.TemplateRef}]};var $=function(){function e(e,n){var i=this;this.ref=e,this.utilityService=n,w.set(this,void 0),I.set(this,c.v4()),this.disableErrorMessage=!1,this.formControl=new r.FormControl,this.searchTerm$=new d.Subject,F.set(this,void 0),M.set(this,void 0),k.set(this,void 0),x.set(this,[]),T.set(this,[]),D.set(this,[]),O.set(this,{}),this.loading=!1,q.set(this,500),this.isRequired=!1,P.set(this,void 0),this.multiple=!1,this.limit=100,this.filtered=!1,this.selectAll=!1,this.allSelected=!1,this.modelChange=new t.EventEmitter,this.sdChange=new t.EventEmitter,this.sdSelection=new t.EventEmitter,A.set(this,(function(){i.formControl.clearValidators(),i.formControl.clearAsyncValidators();var e=[],t=[];i.isRequired&&e.push(r.Validators.required),C(i,P)&&t.push(C(i,E).call(i,C(i,P))),i.formControl.setValidators(e),i.formControl.setAsyncValidators(t),i.formControl.updateValueAndValidity()})),j.set(this,(function(e,t){return v(i,void 0,void 0,(function(){var n,r=this;return y(this,(function(i){switch(i.label){case 0:return[4,t(e).catch((function(){return[]}))];case 1:return n=i.sent(),Array.isArray(e)?[2,n.filter((function(t){return!!t&&(e.includes(t)||e.includes(t[r.valueField]))}))]:[2,n.filter((function(t){return!!t&&(t===e||t[r.valueField]===e)}))]}}))}))})),R.set(this,(function(e,t){return v(i,void 0,void 0,(function(){var n,r,i,o=this;return y(this,(function(l){switch(l.label){case 0:return this.loading=!0,[4,t(e).finally((function(){return o.loading=!1}))];case 1:return r=l.sent(),i=this.valueField?this.utilityService.arrayToObject(r,this.valueField):r.forEach((function(e){return i[null==e?void 0:e.toString()]=e})),Object.assign(C(this,O),i),(null===(n=this.formControl.value)||void 0===n?void 0:n.toString())?((Array.isArray(this.formControl.value)?this.formControl.value:[this.formControl.value]).forEach((function(e){var t;i[e]||(C(o,O)[e]?r.push(C(o,O)[e]):o.valueField&&o.displayField?r.push(((t={})[o.valueField]=e,t[o.displayField]=e,t)):r.push(e))})),[2,r]):[2,r]}}))}))})),this.onSelectionChange=function(e){var t;i.allSelected=!i.select.options.some((function(e){return!e.selected}));var n=null!==(t=null==e?void 0:e.value)&&void 0!==t?t:"";i.multiple?C(i,V).call(i,n||[]):(i.searchTerm$.next(""),C(i,V).call(i,n))},this.reValidate=function(){i.formControl.updateValueAndValidity({emitEvent:!0})},V.set(this,(function(e){var t,n;if(Array.isArray(e)){var r=e;"number"===i.dataType&&e.every((function(e){return Number.isNumber(e)}))&&(r=e.map((function(e){return+e}))),S(i,x,null===(t=C(i,D))||void 0===t?void 0:t.filter((function(e){return r.some((function(t){var n;return(null==t?void 0:t.toString())===(null===(n=null==e?void 0:e[i.valueField])||void 0===n?void 0:n.toString())}))}))),i.modelChange.emit(r),i.sdChange.emit(r),i.sdSelection.emit({value:r,items:C(i,x)})}else{var o=e;"number"===i.dataType&&Number.isNumber(e)&&(o=+e),"boolean"===i.dataType&&(o="true"===e||"false"!==e&&!!e),S(i,k,null===(n=C(i,D))||void 0===n?void 0:n.find((function(e){var t;return(null==o?void 0:o.toString())===(null===(t=null==e?void 0:e[i.valueField])||void 0===t?void 0:t.toString())}))),i.modelChange.emit(o),i.sdChange.emit(o),i.sdSelection.emit({value:o,item:C(i,k)})}})),this.clear=function(e){null==e||e.stopPropagation(),i.multiple?(i.formControl.setValue([]),i.modelChange.emit([]),i.sdChange.emit([]),i.sdSelection.emit({value:[],items:[]})):(i.formControl.setValue(null),i.modelChange.emit(null),i.sdChange.emit(null),i.sdSelection.emit({value:null,item:null}))},E.set(this,(function(e){return function(t){return v(i,void 0,void 0,(function(){var n,r,i;return y(this,(function(o){switch(o.label){case 0:return n=t.value||null,e&&"function"==typeof e?(r=e(n))instanceof Promise?[4,r]:[3,2]:[3,3];case 1:return(i=o.sent())?[2,{customValidator:i}]:[2,null];case 2:return r?[2,{customValidator:r}]:[2,null];case 3:return[2,null]}}))}))}})),this.onOpenChange=function(e){e&&(C(i,w)&&(C(i,w).value=null),i.searchTerm$.next(""))}}return Object.defineProperty(e.prototype,"input",{set:function(e){C(this,w)!==e&&(S(this,w,e),C(this,w).value=null)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"name",{set:function(e){e&&S(this,I,e)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"_disableErrorMessage",{set:function(e){this.disableErrorMessage=""===e||e,e=""===e||e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"dataType",{get:function(){var e;if(Array.isArray(C(this,M)))return C(this,M).length&&"number"==typeof C(this,M)[0]?"number":C(this,M).length&&"boolean"==typeof C(this,M)[0]?"boolean":"string";if(C(this,M)&&"number"==typeof C(this,M)||0===C(this,M))return"number";if(C(this,M)&&"boolean"==typeof C(this,M)||!1===C(this,M))return"boolean";if(null===(e=C(this,D))||void 0===e?void 0:e.length){if(this.valueField&&"number"==typeof C(this,D)[0][this.valueField])return"number";if(this.valueField&&"boolean"==typeof C(this,D)[0][this.valueField])return"boolean";if("number"==typeof C(this,D)[0])return"number";if("boolean"==typeof C(this,D)[0])return"boolean"}return"string"},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"form",{set:function(e){e&&(e instanceof r.NgForm?S(this,F,e.form):S(this,F,e))},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"model",{set:function(e){S(this,M,e),Array.isArray(e)?this.formControl.setValue(e.map((function(e){return(null!=e?e:"")+""}))):this.formControl.setValue((null!=e?e:"")+""),this.ref.detectChanges()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"items",{set:function(e){e?Array.isArray(e)?S(this,T,e.filter((function(e){return null!=e}))):S(this,T,e):S(this,T,[]),this.searchTerm$.next("")},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"required",{set:function(e){this.isRequired=""===e||e,C(this,A).call(this)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"validator",{set:function(e){S(this,P,e),C(this,A).call(this)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"disabled",{set:function(e){(e=""===e||e)?this.formControl.disable():this.formControl.enable()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"_multiple",{set:function(e){this.multiple=""===e||e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"_filtered",{set:function(e){this.filtered=""===e||e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"_selectAll",{set:function(e){this.selectAll=""===e||e},enumerable:!1,configurable:!0}),e.prototype.ngOnInit=function(){var e=this;this.allItems=this.searchTerm$.asObservable().pipe(p.startWith(""),p.debounceTime("function"==typeof C(this,T)?C(this,q):0),p.switchMap((function(t){return v(e,void 0,void 0,(function(){var e,n,r,i,o,l=this;return y(this,(function(a){switch(a.label){case 0:return"function"!=typeof C(this,T)?[3,2]:[4,C(this,R).call(this,t,C(this,T))];case 1:return[2,a.sent()];case 2:return e=this.utilityService.changeAliasLowerCase,n=e(t),r=this.formControl.value,i=Array.isArray(r),o=!!this.valueField&&!!this.displayField,[2,C(this,T).filter((function(t){var a,s,u=o?null===(a=t[l.valueField])||void 0===a?void 0:a.toString():(null==t?void 0:t.toString())||"",c=o?null===(s=t[l.displayField])||void 0===s?void 0:s.toString():(null==t?void 0:t.toString())||"";return!(!e(u).includes(n)&&!e(c).includes(n))||(i?r.some((function(e){return(null==e?void 0:e.toString())===u})):(null==r?void 0:r.toString())===u)})).sort((function(e,t){var n,a;if(!l.multiple)return 0;var s=o?null===(n=e[l.valueField])||void 0===n?void 0:n.toString():(null==e?void 0:e.toString())||"",u=o?null===(a=t[l.valueField])||void 0===a?void 0:a.toString():(null==t?void 0:t.toString())||"";if(i){var c=r.some((function(e){return(null==e?void 0:e.toString())===s})),d=r.some((function(e){return(null==e?void 0:e.toString())===u}));return c&&!d?-1:!c&&d?1:0}var p=(null==r?void 0:r.toString())===s,f=(null==r?void 0:r.toString())===u;return p&&!f?-1:!p&&f?1:0}))]}}))}))}))),this.filteredItems=this.allItems.pipe(p.map((function(t){return t.filter((function(t,n){return n<e.limit}))}))),this.display=d.combineLatest([this.allItems,this.formControl.valueChanges.pipe(p.startWith(this.formControl.value))]).pipe(p.map((function(t){var n=b(t,2),r=n[0],i=n[1],o=Array.isArray(i);return e.valueField&&e.displayField?r.filter((function(t){return o?i.includes(t[e.valueField]):i===t[e.valueField]})).map((function(t){var n;return null===(n=t[e.displayField])||void 0===n?void 0:n.toString()})).join(", "):o?null==i?void 0:i.join(", "):i})))},e.prototype.ngAfterViewInit=function(){var e;null===(e=C(this,F))||void 0===e||e.addControl(C(this,I),this.formControl)},e.prototype.ngOnDestroy=function(){var e;null===(e=C(this,F))||void 0===e||e.removeControl(C(this,I))},e.prototype.onSelectAll=function(){this.allSelected?this.formControl.setValue(this.select.options.map((function(e){return e.value}))):this.formControl.setValue([]),C(this,V).call(this,this.formControl.value)},e}();w=new WeakMap,I=new WeakMap,F=new WeakMap,M=new WeakMap,k=new WeakMap,x=new WeakMap,T=new WeakMap,D=new WeakMap,O=new WeakMap,q=new WeakMap,P=new WeakMap,A=new WeakMap,j=new WeakMap,R=new WeakMap,V=new WeakMap,E=new WeakMap,$.decorators=[{type:t.Component,args:[{selector:"sd-select",template:'<div class="d-flex align-items-center">\r\n <mat-form-field class="sd-md" [ngClass]="{\'sd-sm\': size === \'sm\', \'no-padding-wrapper\': disableErrorMessage}"\r\n appearance="outline">\r\n <mat-label *ngIf="label">{{label}}</mat-label>\r\n <mat-select #select [formControl]="formControl" placeholder="{{placeholder || label}}" multiple\r\n (selectionChange)="onSelectionChange($event)" disableOptionCentering="true" panelClass="sd-select-panel"\r\n [ngClass]="{\'sd-selected\': !isRequired && (multiple ? formControl?.value?.length : formControl?.value)}"\r\n [required]="isRequired" (openedChange)="onOpenChange($event)" *ngIf="multiple">\r\n <mat-select-trigger>\r\n {{display | async }}\r\n </mat-select-trigger>\r\n <mat-option *ngIf="filtered" class="sd-filtered-input" (keyup.Space)="$event.stopPropagation()" disabled="true">\r\n <mat-form-field class="sd-md" appearance="outline">\r\n <mat-icon matPrefix>search</mat-icon>\r\n <input #input placeholder="{{\'Search\' | sdTranslate}}" matInput autocomplete="off"\r\n (keydown)="$event.stopPropagation()" (keyup)="searchTerm$.next($event.target.value)">\r\n </mat-form-field>\r\n </mat-option>\r\n <ng-container *ngIf="multiple && selectAll">\r\n <mat-checkbox class="mat-option" [(ngModel)]="allSelected" [ngModelOptions]="{standalone: true}"\r\n (change)="onSelectAll()">\r\n Tất cả</mat-checkbox>\r\n </ng-container>\r\n <ng-container *ngIf="valueField && displayField">\r\n <mat-option *ngFor="let item of filteredItems | async" [value]="item[valueField]" matTooltipPosition="above"\r\n [matTooltip]="item[displayField]">\r\n <ng-container *ngIf="selectDisplayDef?.templateRef">\r\n <ng-container *ngTemplateOutlet="selectDisplayDef.templateRef;context:{item: item}">\r\n </ng-container>\r\n </ng-container>\r\n <ng-container *ngIf="!selectDisplayDef?.templateRef">\r\n {{ item[displayField] }}\r\n </ng-container>\r\n </mat-option>\r\n </ng-container>\r\n <ng-container *ngIf="!valueField && !displayField">\r\n <mat-option *ngFor="let item of filteredItems | async" [value]="item" matTooltipPosition="above"\r\n [matTooltip]="item">\r\n <ng-container *ngIf="selectDisplayDef?.templateRef">\r\n <ng-container *ngTemplateOutlet="selectDisplayDef.templateRef;context:{item: item}">\r\n </ng-container>\r\n </ng-container>\r\n <ng-container *ngIf="!selectDisplayDef?.templateRef">\r\n {{ item }}\r\n </ng-container>\r\n </mat-option>\r\n </ng-container>\r\n </mat-select>\r\n <mat-select #select [formControl]="formControl" placeholder="{{placeholder || label}}"\r\n (selectionChange)="onSelectionChange($event)" disableOptionCentering="true" panelClass="sd-select-panel"\r\n [ngClass]="{\'sd-selected\': !isRequired && formControl?.value}" [required]="isRequired"\r\n (openedChange)="onOpenChange($event)" *ngIf="!multiple">\r\n <mat-select-trigger>\r\n {{display | async }}\r\n </mat-select-trigger>\r\n <mat-option *ngIf="filtered" class="sd-filtered-input" (keyup.Space)="$event.stopPropagation()" disabled="true">\r\n <mat-form-field class="sd-md" appearance="outline">\r\n <mat-icon matPrefix>search</mat-icon>\r\n <input #input placeholder="{{\'Search\' | sdTranslate}}" matInput autocomplete="off"\r\n (keydown)="$event.stopPropagation()" (keyup)="searchTerm$.next($event.target.value)">\r\n </mat-form-field>\r\n </mat-option>\r\n <ng-container *ngIf="valueField && displayField">\r\n <mat-option *ngFor="let item of filteredItems | async" [value]="item[valueField]" matTooltipPosition="above"\r\n [matTooltip]="item[displayField]">\r\n <ng-container *ngIf="selectDisplayDef?.templateRef">\r\n <ng-container *ngTemplateOutlet="selectDisplayDef.templateRef;context:{item: item}">\r\n </ng-container>\r\n </ng-container>\r\n <ng-container *ngIf="!selectDisplayDef?.templateRef">\r\n {{ item[displayField] }}\r\n </ng-container>\r\n </mat-option>\r\n </ng-container>\r\n <ng-container *ngIf="!valueField && !displayField">\r\n <mat-option *ngFor="let item of filteredItems | async" [value]="item" matTooltipPosition="above"\r\n [matTooltip]="item">\r\n <ng-container *ngIf="selectDisplayDef?.templateRef">\r\n <ng-container *ngTemplateOutlet="selectDisplayDef.templateRef;context:{item: item}">\r\n </ng-container>\r\n </ng-container>\r\n <ng-container *ngIf="!selectDisplayDef?.templateRef">\r\n {{ item }}\r\n </ng-container>\r\n </mat-option>\r\n </ng-container>\r\n </mat-select>\r\n <mat-icon\r\n *ngIf="(multiple ? formControl?.value?.length : formControl?.value) && !isRequired && !formControl.disabled"\r\n class="pointer sd-suffix-icon" (click)="clear($event)" matSuffix>cancel\r\n </mat-icon>\r\n <mat-error *ngIf="formControl.errors?.required && !disableErrorMessage">\r\n {{\'This field is required\' | sdTranslate}}\r\n </mat-error>\r\n <mat-error *ngIf="formControl?.errors?.customValidator && !disableErrorMessage">\r\n {{formControl?.errors?.customValidator}}\r\n </mat-error>\r\n </mat-form-field>\r\n</div>',changeDetection:t.ChangeDetectionStrategy.OnPush,styles:[":host{display:block;padding-top:5px}:host ::ng-deep .mat-form-field.mat-form-field-appearance-outline .mat-select-arrow-wrapper{transform:none}:host ::ng-deep .sd-selected .mat-select-arrow{border:none}:host ::ng-deep .mat-form-field.no-padding-wrapper .mat-form-field-wrapper{padding-bottom:0}:host ::ng-deep .mat-form-field.mat-form-field-appearance-outline.mat-form-field-disabled .mat-form-field-outline{background:#f6f6f6;color:#e9e9e9}:host ::ng-deep .mat-form-field mat-select.mat-select-disabled .mat-select-value{color:#4d4d4d!important}:host ::ng-deep .mat-form-field .mat-placeholder-required{color:#f82c13}::ng-deep .sd-select-panel .mat-option.sd-filtered-input{background-color:#fff;position:-webkit-sticky;position:sticky;top:0;z-index:10}::ng-deep .sd-select-panel .mat-option.sd-filtered-input .mat-form-field.mat-form-field-appearance-outline{width:100%}::ng-deep .sd-select-panel .mat-option.sd-filtered-input mat-pseudo-checkbox{display:none}::ng-deep .mat-select-panel .mat-option.sd-filtered-input{height:auto}::ng-deep .sd-select-panel .mat-option.sd-filtered-input input{color:#000}::ng-deep .sd-select-panel .mat-option.sd-filtered-input .mat-form-field-prefix .mat-icon{margin-right:0}::ng-deep .sd-select-panel .mat-option.sd-filtered-input .mat-form-field.mat-form-field-appearance-outline .mat-form-field-wrapper{padding:10px 0}::ng-deep .sd-select-panel .mat-option.sd-filtered-input .mat-form-field.mat-form-field-appearance-outline .mat-form-field-wrapper .mat-form-field-outline{background-color:rgba(0,0,0,.04)}"]}]}],$.ctorParameters=function(){return[{type:t.ChangeDetectorRef},{type:f.SdUtilityService}]},$.propDecorators={input:[{type:t.ViewChild,args:[o.MatInput]}],select:[{type:t.ViewChild,args:["select"]}],name:[{type:t.Input}],_disableErrorMessage:[{type:t.Input,args:["disableErrorMessage"]}],size:[{type:t.Input}],form:[{type:t.Input}],label:[{type:t.Input}],placeholder:[{type:t.Input}],model:[{type:t.Input}],items:[{type:t.Input}],valueField:[{type:t.Input}],displayField:[{type:t.Input}],required:[{type:t.Input}],validator:[{type:t.Input}],disabled:[{type:t.Input}],_multiple:[{type:t.Input,args:["multiple"]}],limit:[{type:t.Input}],_filtered:[{type:t.Input,args:["filtered"]}],selectDisplayDef:[{type:t.ContentChild,args:[W]}],_selectAll:[{type:t.Input,args:["selectAll"]}],modelChange:[{type:t.Output}],sdChange:[{type:t.Output}],sdSelection:[{type:t.Output}]};var _=function(){};_.decorators=[{type:t.NgModule,args:[{imports:[n.CommonModule,r.FormsModule,r.ReactiveFormsModule,o.MatInputModule,s.MatTooltipModule,i.MatFormFieldModule,a.MatIconModule,m.MatSelectModule,u.MatProgressSpinnerModule,h.MatCheckboxModule,g.SdTranslateModule],declarations:[$,W],exports:[$,W],providers:[]}]}],e.SdSelect=$,e.SdSelectDisplayDefDirective=W,e.SdSelectModule=_,Object.defineProperty(e,"__esModule",{value:!0})}));
|
|
16
16
|
//# sourceMappingURL=sd-angular-core-select.umd.min.js.map
|