@sd-angular/core 1.1.78 → 1.1.81

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.
Files changed (35) hide show
  1. package/autocomplete/sd-angular-core-autocomplete.metadata.json +1 -1
  2. package/bundles/sd-angular-core-autocomplete.umd.js +1 -1
  3. package/bundles/sd-angular-core-autocomplete.umd.js.map +1 -1
  4. package/bundles/sd-angular-core-autocomplete.umd.min.js +1 -1
  5. package/bundles/sd-angular-core-autocomplete.umd.min.js.map +1 -1
  6. package/bundles/sd-angular-core-grid-material.umd.js +119 -112
  7. package/bundles/sd-angular-core-grid-material.umd.js.map +1 -1
  8. package/bundles/sd-angular-core-grid-material.umd.min.js +2 -2
  9. package/bundles/sd-angular-core-grid-material.umd.min.js.map +1 -1
  10. package/bundles/sd-angular-core-input-number.umd.js +28 -25
  11. package/bundles/sd-angular-core-input-number.umd.js.map +1 -1
  12. package/bundles/sd-angular-core-input-number.umd.min.js +1 -1
  13. package/bundles/sd-angular-core-input-number.umd.min.js.map +1 -1
  14. package/esm2015/autocomplete/src/lib/autocomplete.component.js +2 -2
  15. package/esm2015/grid-material/sd-angular-core-grid-material.js +31 -31
  16. package/esm2015/grid-material/src/lib/components/desktop-cell/desktop-cell.component.js +2 -2
  17. package/esm2015/grid-material/src/lib/grid-material.component.js +15 -6
  18. package/esm2015/grid-material/src/lib/grid-material.module.js +2 -1
  19. package/esm2015/grid-material/src/lib/models/grid.model.js +1 -1
  20. package/esm2015/grid-material/src/lib/pipes/editor-handler-column.pipe.js +5 -7
  21. package/esm2015/input-number/src/lib/input-number.component.js +29 -26
  22. package/fesm2015/sd-angular-core-autocomplete.js +1 -1
  23. package/fesm2015/sd-angular-core-autocomplete.js.map +1 -1
  24. package/fesm2015/sd-angular-core-grid-material.js +68 -61
  25. package/fesm2015/sd-angular-core-grid-material.js.map +1 -1
  26. package/fesm2015/sd-angular-core-input-number.js +28 -25
  27. package/fesm2015/sd-angular-core-input-number.js.map +1 -1
  28. package/grid-material/sd-angular-core-grid-material.d.ts +30 -30
  29. package/grid-material/sd-angular-core-grid-material.metadata.json +1 -1
  30. package/grid-material/src/lib/grid-material.component.d.ts +4 -1
  31. package/grid-material/src/lib/models/grid.model.d.ts +1 -0
  32. package/grid-material/src/lib/pipes/editor-handler-column.pipe.d.ts +1 -2
  33. package/input-number/sd-angular-core-input-number.metadata.json +1 -1
  34. package/package.json +1 -1
  35. package/{sd-angular-core-1.1.78.tgz → sd-angular-core-1.1.81.tgz} +0 -0
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../node_modules/tslib/tslib.es6.js","../../../../projects/sd-core/autocomplete/src/lib/autocomplete-display-def.directive.ts","../../../../projects/sd-core/autocomplete/src/lib/autocomplete.component.ts","../../../../projects/sd-core/autocomplete/src/lib/autocomplete.module.ts"],"names":["Object","create","__read","o","n","m","Symbol","iterator","r","e","i","call","ar","next","done","push","value","error","__classPrivateFieldGet","receiver","state","kind","f","TypeError","has","get","__classPrivateFieldSet","set","templateRef","this","Directive","args","selector","TemplateRef","SdAutocompleteErrotStateMatcher","formControl","prototype","isErrorState","control","form","isSubmitted","submitted","_a","invalid","_b","dirty","_c","touched","SdAutocomplete","ref","formConfig","_this","id","uuid.v4","_model","_delay","_name","loading","inputControl","SdFormControl","matcher","_form","_itemsChanges","BehaviorSubject","limit","action","EventEmitter","modelChange","sdChange","isRequired","disableErrorMessage","_subscription","Subscription","isFocused","_cache","_item","onSelect","item","setValue","emit","valueField","displayField","val","emitEvent","onFocus","onBlur","onClick","sdView","disabled","focus","blur","input","nativeElement","setTimeout","autocompleteTrigger","openPanel","clear","$event","stopPropagation","onAction","closePanel","reValidate","updateValueAndValidity","_updateValidator","clearValidators","clearAsyncValidators","validators","Validators","required","setValidators","defineProperty","NgForm","label","qcId","hash","items","Array","isArray","filter","disable","enable","ngOnInit","appearance","add","touchChanges","subscribe","markAsTouched","markForCheck","sdChanges","filteredItems","combineLatest","asObservable","valueChanges","pipe","debounceTime","switchMap","_e","_f","searchText","key_1","checksum","cacheChecksum","undefined","obs","func_1","Promise","defer","from","map","data","assign","toObject","finalize","search","paging","selected","startWith","of","func_2","find","controlPlaceHolder","_d","placeholder","ngAfterViewInit","addControl","ngOnDestroy","unsubscribe","removeControl","Component","template","changeDetection","ChangeDetectionStrategy","OnPush","ChangeDetectorRef","Inject","FORM_CONFIG","type","Optional","Input","ViewChild","MatAutocompleteTrigger","read","ContentChild","SdAutocompleteDisplayDefDirective","Output","SdViewDefDirective","NgModule","imports","CommonModule","FormsModule","ReactiveFormsModule","MatInputModule","MatTooltipModule","MatFormFieldModule","MatAutocompleteModule","MatIconModule","MatProgressSpinnerModule","SdTranslateModule","SdCommonModule","declarations","exports","providers"],"mappings":"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","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 if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\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\n/** @deprecated */\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\n/** @deprecated */\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 __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\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, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","import { Directive, TemplateRef } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[sdAutocompleteDisplayDef]'\r\n})\r\nexport class SdAutocompleteDisplayDefDirective {\r\n constructor(public templateRef: TemplateRef<any>) { }\r\n}\r\n","import {\r\n Component,\r\n Input,\r\n ViewChild,\r\n Output,\r\n EventEmitter,\r\n OnInit,\r\n OnDestroy,\r\n AfterViewInit,\r\n ChangeDetectorRef,\r\n ContentChild,\r\n ChangeDetectionStrategy,\r\n ElementRef,\r\n Inject,\r\n Optional\r\n} from '@angular/core';\r\nimport { startWith, switchMap, debounceTime, map, finalize } from 'rxjs/operators';\r\n\r\nimport * as uuid from 'uuid';\r\nimport hash from 'object-hash';\r\nimport { FormControl, NgForm, Validators, FormGroupDirective, FormGroup, ValidatorFn, AsyncValidatorFn } from '@angular/forms';\r\nimport { BehaviorSubject, combineLatest, defer, from, Observable, of, Subscription } from 'rxjs';\r\nimport { ErrorStateMatcher } from '@angular/material/core';\r\nimport { SdAutocompleteDisplayDefDirective } from './autocomplete-display-def.directive';\r\nimport { MatAutocompleteTrigger } from '@angular/material/autocomplete';\r\nimport { FORM_CONFIG, IFormConfiguration, SdFormControl, SdViewDefDirective } from '@sd-angular/core/common';\r\nimport { MatFormFieldAppearance } from '@angular/material/form-field';\r\n\r\nclass SdAutocompleteErrotStateMatcher implements ErrorStateMatcher {\r\n constructor(private formControl: FormControl) { }\r\n isErrorState(control: FormControl | null, form: FormGroupDirective | NgForm | null): boolean {\r\n const isSubmitted = form && form.submitted;\r\n return !!(this.formControl?.invalid && (this.formControl?.dirty || this.formControl?.touched || isSubmitted));\r\n }\r\n}\r\n\r\n@Component({\r\n selector: 'sd-autocomplete',\r\n templateUrl: './autocomplete.component.html',\r\n styleUrls: ['./autocomplete.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class SdAutocomplete implements OnInit, OnDestroy, AfterViewInit {\r\n @Input() set key(value: any) {\r\n this.#cache = {};\r\n this.#item = {};\r\n }\r\n @ViewChild(MatAutocompleteTrigger, { read: MatAutocompleteTrigger }) autocompleteTrigger: MatAutocompleteTrigger;\r\n id = `I${uuid.v4()}`;\r\n #model: string | number;\r\n\r\n #delay = 0; // 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 #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 @Input() appearance: MatFormFieldAppearance;\r\n loading = false;\r\n inputControl = new SdFormControl();\r\n formControl = new SdFormControl();\r\n matcher = new SdAutocompleteErrotStateMatcher(this.formControl);\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 qcId: string;\r\n label: string;\r\n @Input('label') set _label(val: string) {\r\n this.label = val;\r\n this.qcId = hash({\r\n selector: 'sd-autocomplete',\r\n label: val\r\n });\r\n };\r\n @Input() valueField: string;\r\n @Input() displayField: string;\r\n @Input() placeholder: string;\r\n\r\n #itemsChanges = new BehaviorSubject<any[] | SearchFunc>([]);\r\n @Input() set items(items: undefined | any[] | SearchFunc) {\r\n if (!items) {\r\n this.#itemsChanges.next([]);\r\n } else if (Array.isArray(items)) {\r\n this.#itemsChanges.next(items.filter(e => e !== null && e !== undefined));\r\n } else {\r\n this.#itemsChanges.next(items);\r\n this.#delay = 500;\r\n }\r\n this.formControl.updateValueAndValidity();\r\n }\r\n\r\n @Input() limit = 100;\r\n filteredItems: Observable<any[]>;\r\n\r\n @Input() cacheChecksum: any;\r\n\r\n controlPlaceHolder: Observable<string | number>;\r\n controlPlaceHolder2: Observable<string | number>;\r\n @Input() set model(value: undefined | number | string) {\r\n this.#model = value;\r\n this.formControl.setValue(value);\r\n }\r\n\r\n @ContentChild(SdAutocompleteDisplayDefDirective) autocompleteDisplayDef: SdAutocompleteDisplayDefDirective;\r\n @Input() actionIcon: string;\r\n @Output() action = new EventEmitter();\r\n @Output() modelChange = new EventEmitter();\r\n @Output() sdChange = new EventEmitter();\r\n\r\n // Optional\r\n @Input() set disabled(val: boolean | '') {\r\n val = (val === '') || val;\r\n if (val) {\r\n this.inputControl.disable();\r\n this.formControl.disable();\r\n } else {\r\n this.inputControl.enable();\r\n this.formControl.enable();\r\n }\r\n }\r\n isRequired = false;\r\n @Input() set required(val: boolean | '') {\r\n this.isRequired = (val === '') || val;\r\n this.#updateValidator();\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 #subscription = new Subscription();\r\n @ViewChild('input') input: ElementRef;\r\n @ContentChild(SdViewDefDirective) sdView: SdViewDefDirective;\r\n isFocused = false;\r\n selected: Observable<any>;\r\n\r\n #cache: {\r\n [key: string]: any[]\r\n } = {};\r\n #item: {\r\n [key: string]: any\r\n } = {};\r\n constructor(\r\n private ref: ChangeDetectorRef,\r\n @Inject(FORM_CONFIG) @Optional() private formConfig: IFormConfiguration) {\r\n }\r\n\r\n ngOnInit() {\r\n this.appearance = this.appearance || this.formConfig?.appearance;\r\n this.#subscription.add(this.inputControl.touchChanges.subscribe(() => {\r\n this.formControl.markAsTouched();\r\n this.ref.markForCheck();\r\n }));\r\n this.#subscription.add(this.formControl.sdChanges.subscribe(() => {\r\n this.ref.markForCheck();\r\n }));\r\n this.#subscription.add(this.inputControl.sdChanges.subscribe(() => {\r\n this.ref.markForCheck();\r\n }));\r\n this.filteredItems = combineLatest([\r\n this.#itemsChanges.asObservable(),\r\n this.inputControl.valueChanges.pipe(debounceTime(this.#delay))]).pipe(\r\n switchMap(([items, searchText]) => {\r\n searchText = searchText || '';\r\n if (typeof (items) === 'function') {\r\n const key = hash({\r\n checksum: this.cacheChecksum || null,\r\n searchText\r\n });\r\n if (this.#cache[key] !== undefined) {\r\n return this.#cache[key].asObservable();\r\n }\r\n let obs: Observable<any[]>;\r\n const func = items(searchText, false);\r\n if (func instanceof Promise) {\r\n obs = defer(() => from(func));\r\n } else {\r\n obs = func\r\n }\r\n this.loading = true;\r\n return obs.pipe(map(data => {\r\n this.#cache[key] = data || [];\r\n Object.assign(this.#item, Array.toObject(this.#cache[key], this.valueField));\r\n return this.#cache[key];\r\n }), finalize(() => this.loading = false));\r\n }\r\n return items\r\n .search(searchText, [this.valueField, this.displayField])\r\n .paging(this.limit)\r\n .asObservable();\r\n })\r\n );\r\n this.selected = combineLatest([\r\n this.#itemsChanges.asObservable(),\r\n this.formControl.valueChanges.pipe(startWith(this.formControl.value))])\r\n .pipe(\r\n switchMap(([items, val]) => {\r\n // Vì một số lý do chưa xác định mà khi sử dụng sdViewDef thì khi chuyển sang dạng view sẽ trigger val = null\r\n // Nhưng formControl.value vẫn có giá trị đúng nên thực hiện gán val = this.formControl.value;\r\n val = this.formControl.value;\r\n if (!this.valueField) {\r\n return of(val);\r\n }\r\n if (val || val === 0) {\r\n if (typeof (items) === 'function') {\r\n if (this.#item[val]) {\r\n return of(this.#item[val]);\r\n }\r\n let obs: Observable<any[]>;\r\n const func = items(val, true);\r\n if (func instanceof Promise) {\r\n obs = defer(() => from(func));\r\n } else {\r\n obs = func;\r\n }\r\n return obs.pipe(map(data => {\r\n Object.assign(this.#item, Array.toObject(data, this.valueField));\r\n return this.#item[val] || {\r\n [this.valueField]: val,\r\n [this.displayField]: val\r\n };\r\n }));\r\n }\r\n return of(items.find(e => e[this.valueField] === val));\r\n }\r\n return of('');\r\n })\r\n );\r\n this.controlPlaceHolder = this.selected.pipe(map(item => item?.[this.displayField] ?? item ?? this.placeholder ?? this.label ?? ''));\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.#subscription.unsubscribe();\r\n this.#form?.removeControl(this.#name);\r\n }\r\n onSelect = (item: any) => {\r\n if (item) {\r\n if (typeof (item) === 'string' || typeof (item) === 'number') {\r\n if (this.formControl.value !== item) {\r\n this.formControl.setValue(item);\r\n this.modelChange.emit(item);\r\n this.sdChange.emit(item);\r\n }\r\n } else if (this.valueField && this.displayField) {\r\n const val = item?.[this.valueField] || null;\r\n if (this.formControl.value !== val) {\r\n this.formControl.setValue(val);\r\n this.modelChange.emit(val);\r\n this.sdChange.emit(item);\r\n }\r\n }\r\n this.inputControl.setValue('', {\r\n emitEvent: false\r\n });\r\n }\r\n }\r\n\r\n onFocus = () => {\r\n this.isFocused = true;\r\n this.inputControl.setValue('');\r\n // this.inputControl.updateValueAndValidity();\r\n }\r\n\r\n onBlur = () => {\r\n this.isFocused = false;\r\n this.inputControl.setValue('', {\r\n emitEvent: false\r\n });\r\n }\r\n\r\n onClick = () => {\r\n if (this.sdView?.templateRef) {\r\n if (!this.formControl.disabled && !this.isFocused) {\r\n this.focus();\r\n }\r\n }\r\n }\r\n\r\n blur = () => {\r\n this.input?.nativeElement?.blur();\r\n }\r\n\r\n focus = () => {\r\n this.isFocused = true;\r\n setTimeout(() => {\r\n this.autocompleteTrigger?.openPanel();\r\n this.input?.nativeElement?.focus();\r\n }, 100);\r\n }\r\n\r\n clear = ($event?: any) => {\r\n $event?.stopPropagation();\r\n this.inputControl?.setValue('');\r\n if (this.#model) {\r\n this.formControl.setValue(null);\r\n this.modelChange.emit(null);\r\n this.sdChange.emit(null);\r\n }\r\n }\r\n\r\n onAction = ($event: Event) => {\r\n $event?.stopPropagation();\r\n this.autocompleteTrigger?.closePanel();\r\n this.action.emit();\r\n }\r\n\r\n reValidate = () => {\r\n this.inputControl.updateValueAndValidity({ emitEvent: true });\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\r\ntype SearchFunc = (searchText?: string | number, isFormValue?: boolean) => Promise<any[]> | Observable<any[]>;","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 { SdAutocomplete } from './autocomplete.component';\r\nimport { MatAutocompleteModule } from '@angular/material/autocomplete';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { SdTranslateModule } from '@sd-angular/core/translate';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\r\nimport { SdAutocompleteDisplayDefDirective } from './autocomplete-display-def.directive';\r\nimport { SdCommonModule } from '@sd-angular/core/common';\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 MatAutocompleteModule,\r\n MatIconModule,\r\n MatProgressSpinnerModule,\r\n SdTranslateModule,\r\n SdCommonModule\r\n ],\r\n declarations: [\r\n SdAutocomplete,\r\n SdAutocompleteDisplayDefDirective\r\n ],\r\n exports: [\r\n SdAutocomplete,\r\n SdAutocompleteDisplayDefDirective,\r\n SdCommonModule\r\n ],\r\n providers: [\r\n ]\r\n})\r\nexport class SdAutocompleteModule {\r\n\r\n}\r\n"]}
1
+ {"version":3,"sources":["../../../../node_modules/tslib/tslib.es6.js","../../../../projects/sd-core/autocomplete/src/lib/autocomplete-display-def.directive.ts","../../../../projects/sd-core/autocomplete/src/lib/autocomplete.component.ts","../../../../projects/sd-core/autocomplete/src/lib/autocomplete.module.ts"],"names":["Object","create","__read","o","n","m","Symbol","iterator","r","e","i","call","ar","next","done","push","value","error","__classPrivateFieldGet","receiver","state","kind","f","TypeError","has","get","__classPrivateFieldSet","set","templateRef","this","Directive","args","selector","TemplateRef","SdAutocompleteErrotStateMatcher","formControl","prototype","isErrorState","control","form","isSubmitted","submitted","_a","invalid","_b","dirty","_c","touched","SdAutocomplete","ref","formConfig","_this","id","uuid.v4","_model","_delay","_name","loading","inputControl","SdFormControl","matcher","_form","_itemsChanges","BehaviorSubject","limit","action","EventEmitter","modelChange","sdChange","isRequired","disableErrorMessage","_subscription","Subscription","isFocused","_cache","_item","onSelect","item","setValue","emit","valueField","displayField","val","emitEvent","onFocus","onBlur","onClick","sdView","disabled","focus","blur","input","nativeElement","setTimeout","autocompleteTrigger","openPanel","clear","$event","stopPropagation","onAction","closePanel","reValidate","updateValueAndValidity","_updateValidator","clearValidators","clearAsyncValidators","validators","Validators","required","setValidators","defineProperty","NgForm","label","qcId","hash","items","Array","isArray","filter","disable","enable","ngOnInit","appearance","add","touchChanges","subscribe","markAsTouched","markForCheck","sdChanges","filteredItems","combineLatest","asObservable","valueChanges","pipe","debounceTime","switchMap","_e","_f","searchText","key_1","checksum","cacheChecksum","undefined","obs","func_1","Promise","defer","from","map","data","assign","toObject","finalize","search","paging","selected","startWith","of","func_2","find","controlPlaceHolder","_d","placeholder","ngAfterViewInit","addControl","ngOnDestroy","unsubscribe","removeControl","Component","template","changeDetection","ChangeDetectionStrategy","OnPush","ChangeDetectorRef","Inject","FORM_CONFIG","type","Optional","Input","ViewChild","MatAutocompleteTrigger","read","ContentChild","SdAutocompleteDisplayDefDirective","Output","SdViewDefDirective","NgModule","imports","CommonModule","FormsModule","ReactiveFormsModule","MatInputModule","MatTooltipModule","MatFormFieldModule","MatAutocompleteModule","MatIconModule","MatProgressSpinnerModule","SdTranslateModule","SdCommonModule","declarations","exports","providers"],"mappings":"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","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 if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\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\n/** @deprecated */\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\n/** @deprecated */\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 __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\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, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","import { Directive, TemplateRef } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[sdAutocompleteDisplayDef]'\r\n})\r\nexport class SdAutocompleteDisplayDefDirective {\r\n constructor(public templateRef: TemplateRef<any>) { }\r\n}\r\n","import {\r\n Component,\r\n Input,\r\n ViewChild,\r\n Output,\r\n EventEmitter,\r\n OnInit,\r\n OnDestroy,\r\n AfterViewInit,\r\n ChangeDetectorRef,\r\n ContentChild,\r\n ChangeDetectionStrategy,\r\n ElementRef,\r\n Inject,\r\n Optional\r\n} from '@angular/core';\r\nimport { startWith, switchMap, debounceTime, map, finalize } from 'rxjs/operators';\r\n\r\nimport * as uuid from 'uuid';\r\nimport hash from 'object-hash';\r\nimport { FormControl, NgForm, Validators, FormGroupDirective, FormGroup, ValidatorFn, AsyncValidatorFn } from '@angular/forms';\r\nimport { BehaviorSubject, combineLatest, defer, from, Observable, of, Subscription } from 'rxjs';\r\nimport { ErrorStateMatcher } from '@angular/material/core';\r\nimport { SdAutocompleteDisplayDefDirective } from './autocomplete-display-def.directive';\r\nimport { MatAutocompleteTrigger } from '@angular/material/autocomplete';\r\nimport { FORM_CONFIG, IFormConfiguration, SdFormControl, SdViewDefDirective } from '@sd-angular/core/common';\r\nimport { MatFormFieldAppearance } from '@angular/material/form-field';\r\n\r\nclass SdAutocompleteErrotStateMatcher implements ErrorStateMatcher {\r\n constructor(private formControl: FormControl) { }\r\n isErrorState(control: FormControl | null, form: FormGroupDirective | NgForm | null): boolean {\r\n const isSubmitted = form && form.submitted;\r\n return !!(this.formControl?.invalid && (this.formControl?.dirty || this.formControl?.touched || isSubmitted));\r\n }\r\n}\r\n\r\n@Component({\r\n selector: 'sd-autocomplete',\r\n templateUrl: './autocomplete.component.html',\r\n styleUrls: ['./autocomplete.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class SdAutocomplete implements OnInit, OnDestroy, AfterViewInit {\r\n @Input() set key(value: any) {\r\n this.#cache = {};\r\n this.#item = {};\r\n }\r\n @ViewChild(MatAutocompleteTrigger, { read: MatAutocompleteTrigger }) autocompleteTrigger: MatAutocompleteTrigger;\r\n id = `I${uuid.v4()}`;\r\n #model: string | number;\r\n\r\n #delay = 0; // 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 #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 @Input() appearance: MatFormFieldAppearance;\r\n loading = false;\r\n inputControl = new SdFormControl();\r\n formControl = new SdFormControl();\r\n matcher = new SdAutocompleteErrotStateMatcher(this.formControl);\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 qcId: string;\r\n label: string;\r\n @Input('label') set _label(val: string) {\r\n this.label = val;\r\n this.qcId = hash({\r\n selector: 'sd-autocomplete',\r\n label: val\r\n });\r\n };\r\n @Input() valueField: string;\r\n @Input() displayField: string;\r\n @Input() placeholder: string;\r\n\r\n #itemsChanges = new BehaviorSubject<any[] | SearchFunc>([]);\r\n @Input() set items(items: undefined | any[] | SearchFunc) {\r\n if (!items) {\r\n this.#itemsChanges.next([]);\r\n } else if (Array.isArray(items)) {\r\n this.#itemsChanges.next(items.filter(e => e !== null && e !== undefined));\r\n } else {\r\n this.#itemsChanges.next(items);\r\n this.#delay = 500;\r\n }\r\n this.formControl.updateValueAndValidity();\r\n }\r\n\r\n @Input() limit = 100;\r\n filteredItems: Observable<any[]>;\r\n\r\n @Input() cacheChecksum: any;\r\n\r\n controlPlaceHolder: Observable<string | number>;\r\n controlPlaceHolder2: Observable<string | number>;\r\n @Input() set model(value: undefined | number | string) {\r\n this.#model = value;\r\n this.formControl.setValue(value);\r\n }\r\n\r\n @ContentChild(SdAutocompleteDisplayDefDirective) autocompleteDisplayDef: SdAutocompleteDisplayDefDirective;\r\n @Input() actionIcon: string;\r\n @Output() action = new EventEmitter();\r\n @Output() modelChange = new EventEmitter();\r\n @Output() sdChange = new EventEmitter();\r\n\r\n // Optional\r\n @Input() set disabled(val: boolean | '') {\r\n val = (val === '') || val;\r\n if (val) {\r\n this.inputControl.disable();\r\n this.formControl.disable();\r\n } else {\r\n this.inputControl.enable();\r\n this.formControl.enable();\r\n }\r\n }\r\n isRequired = false;\r\n @Input() set required(val: boolean | '') {\r\n this.isRequired = (val === '') || val;\r\n this.#updateValidator();\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 #subscription = new Subscription();\r\n @ViewChild('input') input: ElementRef;\r\n @ContentChild(SdViewDefDirective) sdView: SdViewDefDirective;\r\n isFocused = false;\r\n selected: Observable<any>;\r\n\r\n #cache: {\r\n [key: string]: any[]\r\n } = {};\r\n #item: {\r\n [key: string]: any\r\n } = {};\r\n constructor(\r\n private ref: ChangeDetectorRef,\r\n @Inject(FORM_CONFIG) @Optional() private formConfig: IFormConfiguration) {\r\n }\r\n\r\n ngOnInit() {\r\n this.appearance = this.appearance || this.formConfig?.appearance;\r\n this.#subscription.add(this.inputControl.touchChanges.subscribe(() => {\r\n this.formControl.markAsTouched();\r\n this.ref.markForCheck();\r\n }));\r\n this.#subscription.add(this.formControl.sdChanges.subscribe(() => {\r\n this.ref.markForCheck();\r\n }));\r\n this.#subscription.add(this.inputControl.sdChanges.subscribe(() => {\r\n this.ref.markForCheck();\r\n }));\r\n this.filteredItems = combineLatest([\r\n this.#itemsChanges.asObservable(),\r\n this.inputControl.valueChanges.pipe(debounceTime(this.#delay))]).pipe(\r\n switchMap(([items, searchText]) => {\r\n searchText = searchText || '';\r\n if (typeof (items) === 'function') {\r\n const key = hash({\r\n checksum: this.cacheChecksum || null,\r\n searchText\r\n });\r\n if (this.#cache[key] !== undefined) {\r\n return this.#cache[key].asObservable();\r\n }\r\n let obs: Observable<any[]>;\r\n const func = items(searchText, false);\r\n if (func instanceof Promise) {\r\n obs = defer(() => from(func));\r\n } else {\r\n obs = func\r\n }\r\n this.loading = true;\r\n return obs.pipe(map(data => {\r\n this.#cache[key] = data || [];\r\n Object.assign(this.#item, Array.toObject(this.#cache[key], this.valueField));\r\n return this.#cache[key];\r\n }), finalize(() => this.loading = false));\r\n }\r\n return items\r\n .search(searchText, [this.valueField, this.displayField])\r\n .paging(this.limit)\r\n .asObservable();\r\n })\r\n );\r\n this.selected = combineLatest([\r\n this.#itemsChanges.asObservable(),\r\n this.formControl.valueChanges.pipe(startWith(this.formControl.value))])\r\n .pipe(\r\n switchMap(([items, val]) => {\r\n // Vì một số lý do chưa xác định mà khi sử dụng sdViewDef thì khi chuyển sang dạng view sẽ trigger val = null\r\n // Nhưng formControl.value vẫn có giá trị đúng nên thực hiện gán val = this.formControl.value;\r\n val = this.formControl.value;\r\n if (!this.valueField) {\r\n return of(val);\r\n }\r\n if (val || val === 0) {\r\n if (typeof (items) === 'function') {\r\n if (this.#item[val]) {\r\n return of(this.#item[val]);\r\n }\r\n let obs: Observable<any[]>;\r\n const func = items(val, true);\r\n if (func instanceof Promise) {\r\n obs = defer(() => from(func));\r\n } else {\r\n obs = func;\r\n }\r\n return obs.pipe(map(data => {\r\n Object.assign(this.#item, Array.toObject(data, this.valueField));\r\n return this.#item[val] || {\r\n [this.valueField]: val,\r\n [this.displayField]: val\r\n };\r\n }));\r\n }\r\n return of(items.find(e => e[this.valueField] === val));\r\n }\r\n return of('');\r\n })\r\n );\r\n this.controlPlaceHolder = this.selected.pipe(map(item => item?.[this.displayField] ?? item ?? this.placeholder ?? this.label ?? ''));\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.#subscription.unsubscribe();\r\n this.#form?.removeControl(this.#name);\r\n }\r\n\r\n onSelect = (item: any) => {\r\n if (item) {\r\n if (typeof (item) === 'string' || typeof (item) === 'number') {\r\n if (this.formControl.value !== item) {\r\n this.formControl.setValue(item);\r\n this.modelChange.emit(item);\r\n this.sdChange.emit(item);\r\n }\r\n } else if (this.valueField && this.displayField) {\r\n const val = item?.[this.valueField] || null;\r\n if (this.formControl.value !== val) {\r\n this.formControl.setValue(val);\r\n this.modelChange.emit(val);\r\n this.sdChange.emit(item);\r\n }\r\n }\r\n this.inputControl.setValue('', {\r\n emitEvent: false\r\n });\r\n }\r\n }\r\n\r\n onFocus = () => {\r\n this.isFocused = true;\r\n this.inputControl.setValue('');\r\n // this.inputControl.updateValueAndValidity();\r\n }\r\n\r\n onBlur = () => {\r\n this.isFocused = false;\r\n this.inputControl.setValue('', {\r\n emitEvent: false\r\n });\r\n }\r\n\r\n onClick = () => {\r\n if (this.sdView?.templateRef) {\r\n if (!this.formControl.disabled && !this.isFocused) {\r\n this.focus();\r\n }\r\n }\r\n }\r\n\r\n blur = () => {\r\n this.input?.nativeElement?.blur();\r\n }\r\n\r\n focus = () => {\r\n this.isFocused = true;\r\n setTimeout(() => {\r\n this.autocompleteTrigger?.openPanel();\r\n this.input?.nativeElement?.focus();\r\n }, 100);\r\n }\r\n\r\n clear = ($event?: any) => {\r\n $event?.stopPropagation();\r\n this.inputControl?.setValue('');\r\n if (this.#model) {\r\n this.formControl.setValue(null);\r\n this.modelChange.emit(null);\r\n this.sdChange.emit(null);\r\n }\r\n }\r\n\r\n onAction = ($event: Event) => {\r\n $event?.stopPropagation();\r\n this.autocompleteTrigger?.closePanel();\r\n this.action.emit();\r\n }\r\n\r\n reValidate = () => {\r\n this.inputControl.updateValueAndValidity({ emitEvent: true });\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\r\ntype SearchFunc = (searchText?: string | number, isFormValue?: boolean) => Promise<any[]> | Observable<any[]>;","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 { SdAutocomplete } from './autocomplete.component';\r\nimport { MatAutocompleteModule } from '@angular/material/autocomplete';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { SdTranslateModule } from '@sd-angular/core/translate';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\r\nimport { SdAutocompleteDisplayDefDirective } from './autocomplete-display-def.directive';\r\nimport { SdCommonModule } from '@sd-angular/core/common';\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 MatAutocompleteModule,\r\n MatIconModule,\r\n MatProgressSpinnerModule,\r\n SdTranslateModule,\r\n SdCommonModule\r\n ],\r\n declarations: [\r\n SdAutocomplete,\r\n SdAutocompleteDisplayDefDirective\r\n ],\r\n exports: [\r\n SdAutocomplete,\r\n SdAutocompleteDisplayDefDirective,\r\n SdCommonModule\r\n ],\r\n providers: [\r\n ]\r\n})\r\nexport class SdAutocompleteModule {\r\n\r\n}\r\n"]}
@@ -1703,9 +1703,78 @@
1703
1703
  },] }
1704
1704
  ];
1705
1705
 
1706
+ var _visible;
1707
+ var SdEditorHandlerColumnPipe = /** @class */ (function () {
1708
+ function SdEditorHandlerColumnPipe() {
1709
+ _visible.set(this, function (col, item) {
1710
+ if (col.type === 'children' || col.type === 'children-col') {
1711
+ return false;
1712
+ }
1713
+ // Kiểm tra xem có bị disabled hay không?
1714
+ if (col.editor) {
1715
+ var isDisabled = typeof (col.editor.disabled) === 'function' ? col.editor.disabled(item) : col.editor.disabled;
1716
+ if (isDisabled) {
1717
+ return false;
1718
+ }
1719
+ }
1720
+ return true;
1721
+ });
1722
+ }
1723
+ SdEditorHandlerColumnPipe.prototype.transform = function (value, item, gridOption) {
1724
+ var e_1, _a, e_2, _b;
1725
+ var sdId = item.sdId, editorHandlerColumn = item.editorHandlerColumn, expandDetail = item.expandDetail, isExpanded = item.isExpanded, isExpanding = item.isExpanding, isSelected = item.isSelected, sdGroup = item.sdGroup, selectable = item.selectable, actions = item.actions, groupedActions = item.groupedActions, originItem = item.originItem, editorErrorMessage = item.editorErrorMessage, editorHandlerRow = item.editorHandlerRow, remain = __rest(item, ["sdId", "editorHandlerColumn", "expandDetail", "isExpanded", "isExpanding", "isSelected", "sdGroup", "selectable", "actions", "groupedActions", "originItem", "editorErrorMessage", "editorHandlerRow"]);
1726
+ var key = hash__default['default'](remain);
1727
+ if (sdId === key && editorHandlerColumn) {
1728
+ return true;
1729
+ }
1730
+ item.editorHandlerColumn = item.editorHandlerColumn || {};
1731
+ var columns = gridOption.columns;
1732
+ try {
1733
+ for (var columns_1 = __values(columns), columns_1_1 = columns_1.next(); !columns_1_1.done; columns_1_1 = columns_1.next()) {
1734
+ var col = columns_1_1.value;
1735
+ if (col.type === 'children-col') {
1736
+ try {
1737
+ for (var _c = (e_2 = void 0, __values(col.children)), _d = _c.next(); !_d.done; _d = _c.next()) {
1738
+ var childCol = _d.value;
1739
+ item.editorHandlerColumn[childCol.field] = Object.assign(Object.assign({}, item.editorHandlerColumn[childCol.field]), { visible: __classPrivateFieldGet(this, _visible).call(this, childCol, item) });
1740
+ }
1741
+ }
1742
+ catch (e_2_1) { e_2 = { error: e_2_1 }; }
1743
+ finally {
1744
+ try {
1745
+ if (_d && !_d.done && (_b = _c.return)) _b.call(_c);
1746
+ }
1747
+ finally { if (e_2) throw e_2.error; }
1748
+ }
1749
+ }
1750
+ else {
1751
+ item.editorHandlerColumn[col.field] = Object.assign(Object.assign({}, item.editorHandlerColumn[col.field]), { visible: __classPrivateFieldGet(this, _visible).call(this, col, item) });
1752
+ }
1753
+ }
1754
+ }
1755
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
1756
+ finally {
1757
+ try {
1758
+ if (columns_1_1 && !columns_1_1.done && (_a = columns_1.return)) _a.call(columns_1);
1759
+ }
1760
+ finally { if (e_1) throw e_1.error; }
1761
+ }
1762
+ item.sdId = key;
1763
+ return true;
1764
+ };
1765
+ return SdEditorHandlerColumnPipe;
1766
+ }());
1767
+ _visible = new WeakMap();
1768
+ SdEditorHandlerColumnPipe.decorators = [
1769
+ { type: core.Pipe, args: [{
1770
+ name: 'sdEditorHandlerColumn'
1771
+ },] },
1772
+ { type: core.Injectable }
1773
+ ];
1774
+
1706
1775
  var _paginator, _sort, _subscription$1, _optionChanges, _initCellDef, _initFilterDef, _initFooterDef, _filterExportInfo, _initConfiguration, _filterLocal, _getFilter, _load$1, _render, _exportedItems, _allColumns, _allExportedColumns, _onExport, _updateSelectedItems;
1707
1776
  var SdGridMaterial = /** @class */ (function () {
1708
- function SdGridMaterial(ref, configuration, gridConfigurationService, exportService, notifyService, translateService, columnValuesPipe) {
1777
+ function SdGridMaterial(ref, configuration, gridConfigurationService, exportService, notifyService, translateService, columnValuesPipe, editorHandlerColumnPipe) {
1709
1778
  var _this = this;
1710
1779
  this.ref = ref;
1711
1780
  this.configuration = configuration;
@@ -1714,6 +1783,7 @@
1714
1783
  this.notifyService = notifyService;
1715
1784
  this.translateService = translateService;
1716
1785
  this.columnValuesPipe = columnValuesPipe;
1786
+ this.editorHandlerColumnPipe = editorHandlerColumnPipe;
1717
1787
  this.key = uuid.v4();
1718
1788
  this.localItems = [];
1719
1789
  this.items = [];
@@ -2509,7 +2579,9 @@
2509
2579
  _updateSelectedItems.set(this, function () {
2510
2580
  _this.selectedItems = _this.items.filter(function (item) { return item.isSelected; })
2511
2581
  .map(function (item) {
2512
- var isSelected = item.isSelected, isExpanded = item.isExpanded, isExpanding = item.isExpanding, expandDetail = item.expandDetail, editorErrorMessage = item.editorErrorMessage, editorHandlerColumn = item.editorHandlerColumn, editorHandlerRow = item.editorHandlerRow, editorStatus = item.editorStatus, originItem = item.originItem, sdId = item.sdId, result = __rest(item, ["isSelected", "isExpanded", "isExpanding", "expandDetail", "editorErrorMessage", "editorHandlerColumn", "editorHandlerRow", "editorStatus", "originItem", "sdId"]);
2582
+ var isSelected = item.isSelected, isExpanded = item.isExpanded, isExpanding = item.isExpanding, expandDetail = item.expandDetail, editorErrorMessage = item.editorErrorMessage, editorHandlerColumn = item.editorHandlerColumn, editorHandlerRow = item.editorHandlerRow, editorStatus = item.editorStatus, originItem = item.originItem, sdId = item.sdId, sdVersion = item.sdVersion,
2583
+ // Giữ lại các trường thông tin cho selectable (action, groupedAction, sdGroup, selectable)
2584
+ result = __rest(item, ["isSelected", "isExpanded", "isExpanding", "expandDetail", "editorErrorMessage", "editorHandlerColumn", "editorHandlerRow", "editorStatus", "originItem", "sdId", "sdVersion"]);
2513
2585
  return result;
2514
2586
  });
2515
2587
  _this.ref.detectChanges();
@@ -2711,6 +2783,10 @@
2711
2783
  _this.items = __spread(_this.items);
2712
2784
  }
2713
2785
  };
2786
+ this.refreshItem = function (idx) {
2787
+ var item = _this.items[idx];
2788
+ _this.editorHandlerColumnPipe.transform(item.sdVersion, item, _this.gridOption);
2789
+ };
2714
2790
  this.detectChanges = function () { return _this.ref.detectChanges(); };
2715
2791
  }
2716
2792
  Object.defineProperty(SdGridMaterial.prototype, "_gridFilter", {
@@ -2799,7 +2875,7 @@
2799
2875
  }
2800
2876
  return false;
2801
2877
  }).map(function (item) {
2802
- var editorStatus = item.editorStatus, editorHandlerRow = item.editorHandlerRow, editorHandlerColumn = item.editorHandlerColumn, editorErrorMessage = item.editorErrorMessage, expandDetail = item.expandDetail, isExpanded = item.isExpanded, isExpanding = item.isExpanding, isSelected = item.isSelected, originItem = item.originItem, sdId = item.sdId, selectable = item.selectable, actions = item.actions, groupedActions = item.groupedActions, sdGroup = item.sdGroup, result = __rest(item, ["editorStatus", "editorHandlerRow", "editorHandlerColumn", "editorErrorMessage", "expandDetail", "isExpanded", "isExpanding", "isSelected", "originItem", "sdId", "selectable", "actions", "groupedActions", "sdGroup"]);
2878
+ var editorStatus = item.editorStatus, editorHandlerRow = item.editorHandlerRow, editorHandlerColumn = item.editorHandlerColumn, editorErrorMessage = item.editorErrorMessage, expandDetail = item.expandDetail, isExpanded = item.isExpanded, isExpanding = item.isExpanding, isSelected = item.isSelected, originItem = item.originItem, sdId = item.sdId, sdVersion = item.sdVersion, selectable = item.selectable, actions = item.actions, groupedActions = item.groupedActions, sdGroup = item.sdGroup, result = __rest(item, ["editorStatus", "editorHandlerRow", "editorHandlerColumn", "editorErrorMessage", "expandDetail", "isExpanded", "isExpanding", "isSelected", "originItem", "sdId", "sdVersion", "selectable", "actions", "groupedActions", "sdGroup"]);
2803
2879
  return Object.assign(Object.assign({}, result), { editorErrorMessage: editorErrorMessage });
2804
2880
  });
2805
2881
  },
@@ -2809,7 +2885,7 @@
2809
2885
  Object.defineProperty(SdGridMaterial.prototype, "gridItems", {
2810
2886
  get: function () {
2811
2887
  return this.items.map(function (item) {
2812
- var editorStatus = item.editorStatus, editorHandlerRow = item.editorHandlerRow, editorHandlerColumn = item.editorHandlerColumn, expandDetail = item.expandDetail, isExpanded = item.isExpanded, isExpanding = item.isExpanding, isSelected = item.isSelected, originItem = item.originItem, sdId = item.sdId, selectable = item.selectable, actions = item.actions, groupedActions = item.groupedActions, sdGroup = item.sdGroup, result = __rest(item, ["editorStatus", "editorHandlerRow", "editorHandlerColumn", "expandDetail", "isExpanded", "isExpanding", "isSelected", "originItem", "sdId", "selectable", "actions", "groupedActions", "sdGroup"]);
2888
+ var editorStatus = item.editorStatus, editorHandlerRow = item.editorHandlerRow, editorHandlerColumn = item.editorHandlerColumn, expandDetail = item.expandDetail, isExpanded = item.isExpanded, isExpanding = item.isExpanding, isSelected = item.isSelected, originItem = item.originItem, sdId = item.sdId, sdVersion = item.sdVersion, selectable = item.selectable, actions = item.actions, groupedActions = item.groupedActions, sdGroup = item.sdGroup, result = __rest(item, ["editorStatus", "editorHandlerRow", "editorHandlerColumn", "expandDetail", "isExpanded", "isExpanding", "isSelected", "originItem", "sdId", "sdVersion", "selectable", "actions", "groupedActions", "sdGroup"]);
2813
2889
  return result;
2814
2890
  });
2815
2891
  },
@@ -2847,7 +2923,8 @@
2847
2923
  { type: _export.SdExportService },
2848
2924
  { type: notify.SdNotifyService },
2849
2925
  { type: translate.SdTranslateService },
2850
- { type: SdColumnValuesPipe }
2926
+ { type: SdColumnValuesPipe },
2927
+ { type: SdEditorHandlerColumnPipe }
2851
2928
  ]; };
2852
2929
  SdGridMaterial.propDecorators = {
2853
2930
  quickAction: [{ type: core.ViewChild, args: [quickAction.SdQuickAction,] }],
@@ -3939,7 +4016,7 @@
3939
4016
  SdDesktopCell.decorators = [
3940
4017
  { type: core.Component, args: [{
3941
4018
  selector: 'sd-desktop-cell',
3942
- template: "<ng-container *ngIf=\"column && item\">\r\n <ng-container *ngIf=\"item.editorHandlerRow?.visible;else useView\">\r\n <ng-container *sdLet=\"item[column.field] | sdEditorHandlerColumn:item:column:gridOption\">\r\n <ng-container *ngIf=\"item.editorHandlerColumn && item.editorHandlerColumn[column.field]?.visible;else useView\">\r\n <ng-container *ngIf=\"cellDef[column.field]\">\r\n <ng-container *ngTemplateOutlet=\"\r\n cellDef[column.field].templateRef;\r\n context: { item: item, column: column, idx: idx, isEdited: true }\r\n \">\r\n </ng-container>\r\n </ng-container>\r\n <sd-desktop-cell-editor *ngIf=\"!cellDef[column.field]\" [sdId]=\"item.sdId\" [column]=\"column\" [item]=\"item\">\r\n </sd-desktop-cell-editor>\r\n </ng-container>\r\n </ng-container>\r\n </ng-container>\r\n <ng-template #useView>\r\n <ng-container *ngIf=\"cellDef[column.field]\">\r\n <ng-container *ngTemplateOutlet=\"\r\n cellDef[column.field].templateRef;\r\n context: { item: item, column: column, idx: idx }\r\n \">\r\n </ng-container>\r\n </ng-container>\r\n <sd-desktop-cell-view *ngIf=\"!cellDef[column.field]\" [sdId]=\"item.sdId\" [key]=\"key\" [column]=\"column\" [gridOption]=\"gridOption\" [item]=\"item\">\r\n </sd-desktop-cell-view>\r\n </ng-template>\r\n</ng-container>",
4019
+ template: "<ng-container *ngIf=\"column && item\">\r\n <ng-container *ngIf=\"item.editorHandlerRow?.visible;else useView\">\r\n <ng-container *sdLet=\"item[column.field] | sdEditorHandlerColumn:item:gridOption\">\r\n <ng-container *ngIf=\"item.editorHandlerColumn && item.editorHandlerColumn[column.field]?.visible;else useView\">\r\n <ng-container *ngIf=\"cellDef[column.field]\">\r\n <ng-container *ngTemplateOutlet=\"\r\n cellDef[column.field].templateRef;\r\n context: { item: item, column: column, idx: idx, isEdited: true }\r\n \">\r\n </ng-container>\r\n </ng-container>\r\n <sd-desktop-cell-editor *ngIf=\"!cellDef[column.field]\" [sdId]=\"item.sdId\" [column]=\"column\" [item]=\"item\">\r\n </sd-desktop-cell-editor>\r\n </ng-container>\r\n </ng-container>\r\n </ng-container>\r\n <ng-template #useView>\r\n <ng-container *ngIf=\"cellDef[column.field]\">\r\n <ng-container *ngTemplateOutlet=\"\r\n cellDef[column.field].templateRef;\r\n context: { item: item, column: column, idx: idx }\r\n \">\r\n </ng-container>\r\n </ng-container>\r\n <sd-desktop-cell-view *ngIf=\"!cellDef[column.field]\" [sdId]=\"item.sdId\" [key]=\"key\" [column]=\"column\" [gridOption]=\"gridOption\" [item]=\"item\">\r\n </sd-desktop-cell-view>\r\n </ng-template>\r\n</ng-container>",
3943
4020
  changeDetection: core.ChangeDetectionStrategy.OnPush
3944
4021
  },] }
3945
4022
  ];
@@ -3982,10 +4059,10 @@
3982
4059
  item: [{ type: core.Input }]
3983
4060
  };
3984
4061
 
3985
- var _visible;
4062
+ var _visible$1;
3986
4063
  var SdEditorHandlerRowPipe = /** @class */ (function () {
3987
4064
  function SdEditorHandlerRowPipe() {
3988
- _visible.set(this, function (col, item) {
4065
+ _visible$1.set(this, function (col, item) {
3989
4066
  if (col.type === 'children' || col.type === 'children-col') {
3990
4067
  return false;
3991
4068
  }
@@ -4040,7 +4117,7 @@
4040
4117
  try {
4041
4118
  for (var _c = (e_2 = void 0, __values(col.children)), _d = _c.next(); !_d.done; _d = _c.next()) {
4042
4119
  var childCol = _d.value;
4043
- item.editorHandlerColumn[childCol.field] = Object.assign(Object.assign({}, item.editorHandlerColumn[childCol.field]), { visible: __classPrivateFieldGet(this, _visible).call(this, childCol, item) });
4120
+ item.editorHandlerColumn[childCol.field] = Object.assign(Object.assign({}, item.editorHandlerColumn[childCol.field]), { visible: __classPrivateFieldGet(this, _visible$1).call(this, childCol, item) });
4044
4121
  }
4045
4122
  }
4046
4123
  catch (e_2_1) { e_2 = { error: e_2_1 }; }
@@ -4052,7 +4129,7 @@
4052
4129
  }
4053
4130
  }
4054
4131
  else {
4055
- item.editorHandlerColumn[col.field] = Object.assign(Object.assign({}, item.editorHandlerColumn[col.field]), { visible: __classPrivateFieldGet(this, _visible).call(this, col, item) });
4132
+ item.editorHandlerColumn[col.field] = Object.assign(Object.assign({}, item.editorHandlerColumn[col.field]), { visible: __classPrivateFieldGet(this, _visible$1).call(this, col, item) });
4056
4133
  }
4057
4134
  }
4058
4135
  }
@@ -4067,84 +4144,13 @@
4067
4144
  };
4068
4145
  return SdEditorHandlerRowPipe;
4069
4146
  }());
4070
- _visible = new WeakMap();
4147
+ _visible$1 = new WeakMap();
4071
4148
  SdEditorHandlerRowPipe.decorators = [
4072
4149
  { type: core.Pipe, args: [{
4073
4150
  name: 'sdEditorHandlerRow'
4074
4151
  },] }
4075
4152
  ];
4076
4153
 
4077
- var _visible$1;
4078
- var SdEditorHandlerColumnPipe = /** @class */ (function () {
4079
- function SdEditorHandlerColumnPipe() {
4080
- _visible$1.set(this, function (col, item) {
4081
- if (col.type === 'children' || col.type === 'children-col') {
4082
- return false;
4083
- }
4084
- // Kiểm tra xem có bị disabled hay không?
4085
- if (col.editor) {
4086
- var isDisabled = typeof (col.editor.disabled) === 'function' ? col.editor.disabled(item) : col.editor.disabled;
4087
- if (isDisabled) {
4088
- return false;
4089
- }
4090
- }
4091
- return true;
4092
- });
4093
- }
4094
- SdEditorHandlerColumnPipe.prototype.transform = function (value, item, column, gridOption) {
4095
- var e_1, _a, e_2, _b;
4096
- if (column.type === 'children' || column.type === 'children-col') {
4097
- return;
4098
- }
4099
- var sdId = item.sdId, editorHandlerColumn = item.editorHandlerColumn, expandDetail = item.expandDetail, isExpanded = item.isExpanded, isExpanding = item.isExpanding, isSelected = item.isSelected, sdGroup = item.sdGroup, selectable = item.selectable, actions = item.actions, groupedActions = item.groupedActions, originItem = item.originItem, editorErrorMessage = item.editorErrorMessage, editorHandlerRow = item.editorHandlerRow, remain = __rest(item, ["sdId", "editorHandlerColumn", "expandDetail", "isExpanded", "isExpanding", "isSelected", "sdGroup", "selectable", "actions", "groupedActions", "originItem", "editorErrorMessage", "editorHandlerRow"]);
4100
- var key = hash__default['default'](remain);
4101
- if (sdId === key && editorHandlerColumn) {
4102
- return true;
4103
- }
4104
- item.editorHandlerColumn = item.editorHandlerColumn || {};
4105
- var columns = gridOption.columns;
4106
- try {
4107
- for (var columns_1 = __values(columns), columns_1_1 = columns_1.next(); !columns_1_1.done; columns_1_1 = columns_1.next()) {
4108
- var col = columns_1_1.value;
4109
- if (col.type === 'children-col') {
4110
- try {
4111
- for (var _c = (e_2 = void 0, __values(col.children)), _d = _c.next(); !_d.done; _d = _c.next()) {
4112
- var childCol = _d.value;
4113
- item.editorHandlerColumn[childCol.field] = Object.assign(Object.assign({}, item.editorHandlerColumn[childCol.field]), { visible: __classPrivateFieldGet(this, _visible$1).call(this, childCol, item) });
4114
- }
4115
- }
4116
- catch (e_2_1) { e_2 = { error: e_2_1 }; }
4117
- finally {
4118
- try {
4119
- if (_d && !_d.done && (_b = _c.return)) _b.call(_c);
4120
- }
4121
- finally { if (e_2) throw e_2.error; }
4122
- }
4123
- }
4124
- else {
4125
- item.editorHandlerColumn[col.field] = Object.assign(Object.assign({}, item.editorHandlerColumn[col.field]), { visible: __classPrivateFieldGet(this, _visible$1).call(this, col, item) });
4126
- }
4127
- }
4128
- }
4129
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
4130
- finally {
4131
- try {
4132
- if (columns_1_1 && !columns_1_1.done && (_a = columns_1.return)) _a.call(columns_1);
4133
- }
4134
- finally { if (e_1) throw e_1.error; }
4135
- }
4136
- item.sdId = key;
4137
- return true;
4138
- };
4139
- return SdEditorHandlerColumnPipe;
4140
- }());
4141
- _visible$1 = new WeakMap();
4142
- SdEditorHandlerColumnPipe.decorators = [
4143
- { type: core.Pipe, args: [{
4144
- name: 'sdEditorHandlerColumn'
4145
- },] }
4146
- ];
4147
-
4148
4154
  var _previous, _delay;
4149
4155
  var SdEditorValidatePipe = /** @class */ (function () {
4150
4156
  function SdEditorValidatePipe() {
@@ -4798,6 +4804,7 @@
4798
4804
  SdGridConfigurationService,
4799
4805
  SdGeneratedColumnService,
4800
4806
  SdColumnValuesPipe,
4807
+ SdEditorHandlerColumnPipe,
4801
4808
  {
4802
4809
  provide: paginator.MatPaginatorIntl, useClass: MatPaginatorIntlCro
4803
4810
  }
@@ -4818,19 +4825,19 @@
4818
4825
  exports.SdMaterialSubInformationDefDirective = SdMaterialSubInformationDefDirective;
4819
4826
  exports.ɵa = MatPaginatorIntlCro;
4820
4827
  exports.ɵb = SdGridFilter;
4821
- exports.ɵba = SdCommandTitlePipe;
4822
- exports.ɵbb = SdColumnHtmlTemplatePipe;
4823
- exports.ɵbc = SdColumnTransformPipe;
4824
- exports.ɵbd = SdColumnTooltipPipe;
4825
- exports.ɵbe = SdColumnBadgePipe;
4826
- exports.ɵbf = SdFilterColumnPipe;
4827
- exports.ɵbg = SdFilterExternalPipe;
4828
- exports.ɵbh = SdSelectionActionFilterPipe;
4829
- exports.ɵbi = SdSelectionVisiblePipe;
4830
- exports.ɵbj = SdSelectionDisablePipe;
4831
- exports.ɵbk = SdSelectionVisibleSelectAllPipe;
4832
- exports.ɵbl = SdEditorHandlerRowPipe;
4833
- exports.ɵbm = SdEditorHandlerColumnPipe;
4828
+ exports.ɵba = SdCommandIconPipe;
4829
+ exports.ɵbb = SdCommandTitlePipe;
4830
+ exports.ɵbc = SdColumnHtmlTemplatePipe;
4831
+ exports.ɵbd = SdColumnTransformPipe;
4832
+ exports.ɵbe = SdColumnTooltipPipe;
4833
+ exports.ɵbf = SdColumnBadgePipe;
4834
+ exports.ɵbg = SdFilterColumnPipe;
4835
+ exports.ɵbh = SdFilterExternalPipe;
4836
+ exports.ɵbi = SdSelectionActionFilterPipe;
4837
+ exports.ɵbj = SdSelectionVisiblePipe;
4838
+ exports.ɵbk = SdSelectionDisablePipe;
4839
+ exports.ɵbl = SdSelectionVisibleSelectAllPipe;
4840
+ exports.ɵbm = SdEditorHandlerRowPipe;
4834
4841
  exports.ɵbn = SdEditorValidatePipe;
4835
4842
  exports.ɵbo = SdStyleRowCss;
4836
4843
  exports.ɵbp = SdCellViewPipe;
@@ -4841,23 +4848,23 @@
4841
4848
  exports.ɵg = GRID_MATERIAL_CONFIG;
4842
4849
  exports.ɵh = SdGridConfigurationService;
4843
4850
  exports.ɵi = SdColumnValuesPipe;
4844
- exports.ɵj = SdGridQuickAction;
4845
- exports.ɵk = SdDesktopCell;
4846
- exports.ɵl = SdDesktopCellEditor;
4847
- exports.ɵm = SdDesktopEditorValidation;
4848
- exports.ɵn = SdDesktopCellView;
4849
- exports.ɵo = SdDesktopCellChildrenView;
4850
- exports.ɵp = SdDesktopCommand;
4851
- exports.ɵq = SdColumnInlineFilter;
4852
- exports.ɵr = SdPopupGridConfiguration;
4853
- exports.ɵs = SdDynamicColumn;
4854
- exports.ɵt = SdGeneratedColumnService;
4855
- exports.ɵu = SdGridConfigurationResultPipe;
4856
- exports.ɵv = SdColumnChildrenFilterPipe;
4857
- exports.ɵw = SdColumnTitlePipe;
4858
- exports.ɵx = SdCommandFilterPipe;
4859
- exports.ɵy = SdCommandDisablePipe;
4860
- exports.ɵz = SdCommandIconPipe;
4851
+ exports.ɵj = SdEditorHandlerColumnPipe;
4852
+ exports.ɵk = SdGridQuickAction;
4853
+ exports.ɵl = SdDesktopCell;
4854
+ exports.ɵm = SdDesktopCellEditor;
4855
+ exports.ɵn = SdDesktopEditorValidation;
4856
+ exports.ɵo = SdDesktopCellView;
4857
+ exports.ɵp = SdDesktopCellChildrenView;
4858
+ exports.ɵq = SdDesktopCommand;
4859
+ exports.ɵr = SdColumnInlineFilter;
4860
+ exports.ɵs = SdPopupGridConfiguration;
4861
+ exports.ɵt = SdDynamicColumn;
4862
+ exports.ɵu = SdGeneratedColumnService;
4863
+ exports.ɵv = SdGridConfigurationResultPipe;
4864
+ exports.ɵw = SdColumnChildrenFilterPipe;
4865
+ exports.ɵx = SdColumnTitlePipe;
4866
+ exports.ɵy = SdCommandFilterPipe;
4867
+ exports.ɵz = SdCommandDisablePipe;
4861
4868
 
4862
4869
  Object.defineProperty(exports, '__esModule', { value: true });
4863
4870