@sd-angular/core 1.2.61 → 1.2.64
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-input-number.umd.js +8 -5
- package/bundles/sd-angular-core-input-number.umd.js.map +1 -1
- package/bundles/sd-angular-core-input-number.umd.min.js +2 -2
- package/bundles/sd-angular-core-input-number.umd.min.js.map +1 -1
- package/bundles/sd-angular-core-upload-excel.umd.js +119 -94
- package/bundles/sd-angular-core-upload-excel.umd.js.map +1 -1
- package/bundles/sd-angular-core-upload-excel.umd.min.js +1 -1
- package/bundles/sd-angular-core-upload-excel.umd.min.js.map +1 -1
- package/esm2015/input-number/src/lib/input-number.component.js +9 -6
- package/esm2015/upload-excel/src/lib/pipes/column-transform.pipe.js +15 -6
- package/esm2015/upload-excel/src/lib/upload-excel.component.js +64 -47
- package/esm2015/upload-excel/src/lib/upload-excel.model.js +1 -1
- package/fesm2015/sd-angular-core-input-number.js +8 -5
- package/fesm2015/sd-angular-core-input-number.js.map +1 -1
- package/fesm2015/sd-angular-core-upload-excel.js +77 -51
- package/fesm2015/sd-angular-core-upload-excel.js.map +1 -1
- package/package.json +1 -1
- package/{sd-angular-core-1.2.61.tgz → sd-angular-core-1.2.64.tgz} +0 -0
- package/upload-excel/sd-angular-core-upload-excel.metadata.json +1 -1
- package/upload-excel/src/lib/pipes/column-transform.pipe.d.ts +2 -2
- package/upload-excel/src/lib/upload-excel.component.d.ts +5 -16
- package/upload-excel/src/lib/upload-excel.model.d.ts +10 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../node_modules/tslib/tslib.es6.js","../../../../projects/sd-core/input-number/src/lib/input-number.component.ts","../../../../projects/sd-core/input-number/src/lib/input-number.module.ts"],"names":["__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","value","step","next","e","rejected","result","done","then","apply","__generator","body","f","y","t","g","_","label","sent","trys","ops","verb","throw","return","Symbol","iterator","this","n","v","op","TypeError","call","pop","length","push","Object","create","__classPrivateFieldGet","receiver","state","kind","has","get","__classPrivateFieldSet","set","SdInputNumberErrotStateMatcher","formControl","prototype","isErrorState","control","form","isSubmitted","submitted","_a","invalid","_b","dirty","_c","touched","SdInputNumber","ref","formConfig","_this","id","uuid.v4","_name","_form","disableErrorMessage","_blurOnEnter_1","modelChange","EventEmitter","isRequired","precision","isReadonly","_min","_max","_validator","sdChange","sdFocus","sdFocusForceBlur","keyupEnter","SdFormControl","inputControl","_subscription","Subscription","matcher","isFocused","_getValueWithFormat","arrayNext","split","_formatNumber","text","Number","toVNCurrency","toString","replace","_toNumber","reValidate","updateValueAndValidity","_updateValidator","clearValidators","clearAsyncValidators","validators","asyncValidators","Validators","required","_customValidator","setValidators","setAsyncValidators","_onChange","setValue","emit","onKeyupEnter","val","trim","blur","onKeydown","event","ctrlKey","key","_checkValue","keyCode","charCode","shiftKey","nextKey","curval_arr","target","splice","selectionStart","selectionEnd","newval","join","type","regExp","RegExp","regex","String","match","setTimeout","preventDefault","onFocus","observers","onBlur","arrayValue","onClick","sdView","templateRef","disabled","focus","nativeElement","func","c","message","_d","customValidator","defineProperty","NgForm","emitEvent","validator","disable","enable","ngOnInit","appearance","add","touchChanges","subscribe","markAsTouched","markForCheck","sdChanges","ngAfterViewInit","valueChanges","isNaN","undefined","addControl","detectChanges","ngOnDestroy","removeControl","unsubscribe","onPaste","clipboardData","getData","Component","args","selector","template","changeDetection","ChangeDetectionStrategy","OnPush","ChangeDetectorRef","Inject","FORM_CONFIG","Optional","Input","Output","ViewChild","ContentChild","SdViewDefDirective","SdSuffixDirective","SdLabelDefDirective","NgModule","declarations","imports","CommonModule","FormsModule","ReactiveFormsModule","MatFormFieldModule","MatInputModule","MatIconModule","MatTooltipModule","SdTranslateModule","SdCommonModule","SdPopoverModule","MatButtonModule","exports"],"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 {\r\n Component,\r\n Input,\r\n ViewChild,\r\n Output,\r\n EventEmitter,\r\n ChangeDetectorRef,\r\n OnDestroy,\r\n AfterViewInit,\r\n ElementRef,\r\n OnInit,\r\n ContentChild,\r\n ChangeDetectionStrategy,\r\n HostListener,\r\n Inject,\r\n SimpleChanges,\r\n Optional\r\n} from '@angular/core';\r\nimport { AbstractControl, NgForm, ValidatorFn, Validators, AsyncValidatorFn, FormGroup, FormControl, FormGroupDirective } from '@angular/forms';\r\nimport * as uuid from 'uuid';\r\nimport { Subscription } from 'rxjs';\r\nimport { SdFormControl, SdSuffixDirective } from '@sd-angular/core/common';\r\nimport { SdViewDefDirective } from '@sd-angular/core/common';\r\nimport { FORM_CONFIG } from '@sd-angular/core/common';\r\nimport { IFormConfiguration } from '@sd-angular/core/common';\r\nimport { MatFormFieldAppearance } from '@angular/material/form-field';\r\nimport { ErrorStateMatcher } from '@angular/material/core';\r\nimport { SdLabelDefDirective } from '@sd-angular/core/common';\r\nclass SdInputNumberErrotStateMatcher 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@Component({\r\n selector: 'sd-input-number',\r\n templateUrl: './input-number.component.html',\r\n styleUrls: ['./input-number.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class SdInputNumber implements OnDestroy, OnInit, AfterViewInit {\r\n id = `I${uuid.v4()}`;\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() 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 disableErrorMessage = false;\r\n @Input('disableErrorMessage') set _disableErrorMessage(val: boolean | '') {\r\n this.disableErrorMessage = (val === '') || val;\r\n }\r\n #blurOnEnter = false;\r\n @Input('blurOnEnter') set _blurOnEnter(val: boolean | '') {\r\n this.#blurOnEnter = (val === '') || val;\r\n }\r\n @Input() set model(value: any) {\r\n if (this.formControl.value !== value) {\r\n this.formControl.setValue(value, {\r\n emitEvent: false\r\n });\r\n if (value || value === 0) {\r\n const val = value.toString().replace(/\\./g, ',');\r\n this.inputControl.setValue(this.#getValueWithFormat(val), {\r\n emitEvent: false\r\n });\r\n } else {\r\n this.inputControl.setValue('', {\r\n emitEvent: false\r\n });\r\n }\r\n }\r\n }\r\n @Output() modelChange = new EventEmitter();\r\n\r\n // Validator\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 @Input() type: 'negative' | 'positive'; //negative: chỉ nhập số âm, positive: chỉ số dương\r\n @Input() precision: number = 3; //số chữ số thập phân \r\n\r\n isReadonly = false;\r\n @Input() set readonly(val: boolean | '') {\r\n this.isReadonly = (val === '') || val;\r\n }\r\n\r\n #min: number;\r\n @Input() set min(val: number) {\r\n this.#min = val;\r\n }\r\n\r\n #max: number;\r\n @Input() set max(val: number) {\r\n this.#max = val;\r\n }\r\n\r\n #validator: (value: any) => string | Promise<string>;\r\n @Input() set validator(validator: (value: any) => string | Promise<string>) {\r\n this.#validator = validator;\r\n this.#updateValidator();\r\n }\r\n\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 @Input() appearance: MatFormFieldAppearance;\r\n\r\n @Output() sdChange = new EventEmitter<any>();\r\n @Output() sdFocus = new EventEmitter<any>();\r\n @Output() sdFocusForceBlur = new EventEmitter<any>();\r\n @Output() keyupEnter = new EventEmitter();\r\n\r\n @ViewChild('control') control: ElementRef;\r\n formControl = new SdFormControl();\r\n inputControl = new SdFormControl();\r\n #subscription = new Subscription();\r\n matcher = new SdInputNumberErrotStateMatcher(this.formControl);\r\n\r\n @ContentChild(SdViewDefDirective) sdView: SdViewDefDirective;\r\n @ContentChild(SdSuffixDirective) sdSuffix: SdSuffixDirective;\r\n @ContentChild(SdLabelDefDirective) sdLabelDef: SdLabelDefDirective;\r\n isFocused = false;\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 }\r\n\r\n private get regex() {\r\n let result = `(([0-9]+(\\\\.[0-9])?)+(\\\\,[0-9]{0,${this.precision}}){0,1})$`;\r\n if (this.precision == 0) {\r\n result = `(([0-9]+(\\\\.[0-9])?)+)$`;\r\n }\r\n if (this.type == 'negative') {\r\n result = `[-]${result}`;\r\n }\r\n if (!this.type) {\r\n result = `[-]?${result}`;\r\n }\r\n return result;\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.#subscription.add(this.inputControl.valueChanges.subscribe(() => {\r\n const val = this.inputControl.value;\r\n if (!val) {\r\n this.#onChange(undefined);\r\n return;\r\n }\r\n let value = this.#toNumber(val);\r\n if (!isNaN(value)) {\r\n if ((this.#min || this.#min === 0) && value < this.#min) {\r\n value = this.#min;\r\n }\r\n if ((this.#max || this.#max === 0) && value > this.#max) {\r\n value = this.#max;\r\n }\r\n this.inputControl.setValue(Number.toVNCurrency(value), {\r\n emitEvent: false\r\n });\r\n this.#onChange(value);\r\n }\r\n }));\r\n this.#form?.addControl(this.#name, this.formControl);\r\n this.ref.detectChanges();\r\n }\r\n\r\n #getValueWithFormat = (value: string) => {\r\n const arrayNext = value.split(',');\r\n if (arrayNext.length >= 2) {\r\n return `${this.#formatNumber(arrayNext[0])},${arrayNext[1]}`;\r\n }\r\n return this.#formatNumber(value);\r\n }\r\n\r\n #formatNumber = (text: any) => {\r\n return Number.toVNCurrency((text?.toString() || '').replace(/\\./g, ''));\r\n // const arrs: string[] = (text?.toString() || '').replace(/\\./g, '').split('');\r\n // return arrs.reverse().reduce((acc, num, index) => {\r\n // return num + (num !== '-' && index && !(index % 3) ? '.' : '') + acc;\r\n // }, '');\r\n }\r\n\r\n #toNumber = (text: any) => +((text?.toString() || '').replace(/\\./g, '').replace(/,/g, '.'));\r\n\r\n ngOnDestroy() {\r\n this.#form?.removeControl(this.#name);\r\n this.#subscription.unsubscribe();\r\n }\r\n\r\n reValidate = () => {\r\n this.formControl.updateValueAndValidity();\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 #onChange = (value: any) => {\r\n this.formControl.setValue(value);\r\n this.modelChange.emit(value);\r\n this.sdChange.emit(value);\r\n }\r\n\r\n onKeyupEnter = () => {\r\n const val: string = (this.inputControl.value ?? '').toString();\r\n if (val.length > val.trim().length) {\r\n this.inputControl.setValue(val.trim());\r\n }\r\n this.keyupEnter.emit(this.inputControl.value);\r\n if (this.#blurOnEnter) {\r\n this.blur();\r\n }\r\n }\r\n\r\n onKeydown = (event: KeyboardEvent) => {\r\n if (event.ctrlKey && event.key == 'v') {\r\n this.#checkValue(event, '');\r\n return;\r\n }\r\n const key = event.keyCode || event.charCode;\r\n if (key == 8 || key == 46 || key == 37 || key == 39 || key == 35 || key == 36 || key == 9) {\r\n return;\r\n }\r\n if (event.ctrlKey && (event.key == 'c' || event.key == 'x' || event.key == 'a')) {\r\n return;\r\n }\r\n if (event.shiftKey && key == 9) {\r\n return;\r\n }\r\n this.#checkValue(event, event.key);\r\n }\r\n\r\n onPaste(event: ClipboardEvent) {\r\n const nextKey = event.clipboardData.getData('text');\r\n this.#checkValue(event, nextKey)\r\n }\r\n\r\n #checkValue = (event, nextKey) => {\r\n const current: string = event.target.value;\r\n // if(this.#max === +current.toString().replace(/\\./g, '').replace(/,/g, '.')){\r\n // event.preventDefault();\r\n // return;\r\n // }\r\n const curval_arr = current.split(\"\");\r\n curval_arr.splice(event.target.selectionStart, (event.target.selectionEnd - event.target.selectionStart), nextKey);\r\n const newval = curval_arr.join(\"\");\r\n if (this.type !== 'positive' && newval === '-') {\r\n return;\r\n }\r\n const regExp: RegExp = new RegExp(`^${this.regex}`, 'g');\r\n if (newval && !String(newval).match(regExp)) {\r\n event.preventDefault();\r\n return;\r\n }\r\n const value = (newval.toString().replace(/\\./g, '').replace(/,/g, '.'));\r\n if ((this.#max || this.#max === 0) && +value > this.#max) {\r\n setTimeout(() => {\r\n this.inputControl.setValue(this.#getValueWithFormat(this.#max.toString().replace(/\\./g, ',')));\r\n }, 10);\r\n event.preventDefault();\r\n }\r\n }\r\n\r\n onFocus = () => {\r\n this.isFocused = true;\r\n this.sdFocus.emit();\r\n if (this.sdFocusForceBlur.observers?.length > 0) {\r\n this.blur();\r\n this.sdFocusForceBlur.emit();\r\n }\r\n }\r\n\r\n onBlur = () => {\r\n this.isFocused = false;\r\n let val: string = (this.inputControl.value ?? '').toString();\r\n const arrayValue = val.split(',');\r\n if (arrayValue.length >= 2 && arrayValue[1] == '') {\r\n this.inputControl.setValue(this.#formatNumber(arrayValue[0]));\r\n return;\r\n }\r\n if (val.length > val.trim().length) {\r\n this.inputControl.setValue(val.trim());\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.isFocused = false;\r\n this.control?.nativeElement?.blur();\r\n }\r\n\r\n focus = () => {\r\n this.isFocused = true;\r\n setTimeout(() => {\r\n this.control?.nativeElement?.focus();\r\n }, 100);\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}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { SdInputNumber } from './input-number.component';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\nimport { SdTranslateModule } from '@sd-angular/core/translate';\r\nimport { SdCommonModule } from '@sd-angular/core/common';\r\nimport { SdPopoverModule } from '@sd-angular/core/popover';\r\n\r\n@NgModule({\r\n declarations: [SdInputNumber],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n MatFormFieldModule,\r\n MatInputModule,\r\n MatIconModule,\r\n MatTooltipModule,\r\n SdTranslateModule,\r\n SdCommonModule,\r\n SdPopoverModule,\r\n MatButtonModule\r\n ],\r\n exports: [\r\n SdInputNumber\r\n ]\r\n})\r\nexport class SdInputNumberModule { }\r\n"]}
|
|
1
|
+
{"version":3,"sources":["../../../../node_modules/tslib/tslib.es6.js","../../../../projects/sd-core/input-number/src/lib/input-number.component.ts","../../../../projects/sd-core/input-number/src/lib/input-number.module.ts"],"names":["__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","value","step","next","e","rejected","result","done","then","apply","__generator","body","f","y","t","g","_","label","sent","trys","ops","verb","throw","return","Symbol","iterator","this","n","v","op","TypeError","call","pop","length","push","Object","create","__classPrivateFieldGet","receiver","state","kind","has","get","__classPrivateFieldSet","set","SdInputNumberErrotStateMatcher","formControl","prototype","isErrorState","control","form","isSubmitted","submitted","_a","invalid","_b","dirty","_c","touched","SdInputNumber","ref","formConfig","_this","id","uuid.v4","_name","_form","disableErrorMessage","_blurOnEnter_1","modelChange","EventEmitter","isRequired","precision","isReadonly","_min","_max","_validator","sdChange","sdFocus","sdFocusForceBlur","keyupEnter","SdFormControl","inputControl","_subscription","Subscription","matcher","isFocused","_getValueWithFormat","arrayNext","split","_formatNumber","text","Number","toVNCurrency","toString","replace","_toNumber","reValidate","updateValueAndValidity","_updateValidator","clearValidators","clearAsyncValidators","validators","asyncValidators","Validators","required","_customValidator","setValidators","setAsyncValidators","_onChange","setValue","emit","onKeyupEnter","val","trim","blur","onKeydown","event","ctrlKey","key","_checkValue","keyCode","charCode","shiftKey","nextKey","curval_arr","target","splice","selectionStart","selectionEnd","newval","join","type","regExp","RegExp","regex","String","match","setTimeout","preventDefault","onFocus","observers","onBlur","arrayValue","onClick","sdView","templateRef","disabled","focus","nativeElement","func","c","message","_d","customValidator","defineProperty","NgForm","emitEvent","validator","disable","enable","ngOnInit","appearance","add","touchChanges","subscribe","markAsTouched","markForCheck","sdChanges","ngAfterViewInit","valueChanges","isNaN","undefined","addControl","detectChanges","ngOnDestroy","removeControl","unsubscribe","onPaste","clipboardData","getData","Component","args","selector","template","changeDetection","ChangeDetectionStrategy","OnPush","ChangeDetectorRef","Inject","FORM_CONFIG","Optional","Input","Output","ViewChild","ContentChild","SdViewDefDirective","SdSuffixDirective","SdLabelDefDirective","NgModule","declarations","imports","CommonModule","FormsModule","ReactiveFormsModule","MatFormFieldModule","MatInputModule","MatIconModule","MatTooltipModule","SdTranslateModule","SdCommonModule","SdPopoverModule","MatButtonModule","exports"],"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 {\r\n Component,\r\n Input,\r\n ViewChild,\r\n Output,\r\n EventEmitter,\r\n ChangeDetectorRef,\r\n OnDestroy,\r\n AfterViewInit,\r\n ElementRef,\r\n OnInit,\r\n ContentChild,\r\n ChangeDetectionStrategy,\r\n HostListener,\r\n Inject,\r\n SimpleChanges,\r\n Optional\r\n} from '@angular/core';\r\nimport { AbstractControl, NgForm, ValidatorFn, Validators, AsyncValidatorFn, FormGroup, FormControl, FormGroupDirective } from '@angular/forms';\r\nimport * as uuid from 'uuid';\r\nimport { Subscription } from 'rxjs';\r\nimport { SdFormControl, SdSuffixDirective } from '@sd-angular/core/common';\r\nimport { SdViewDefDirective } from '@sd-angular/core/common';\r\nimport { FORM_CONFIG } from '@sd-angular/core/common';\r\nimport { IFormConfiguration } from '@sd-angular/core/common';\r\nimport { MatFormFieldAppearance } from '@angular/material/form-field';\r\nimport { ErrorStateMatcher } from '@angular/material/core';\r\nimport { SdLabelDefDirective } from '@sd-angular/core/common';\r\nclass SdInputNumberErrotStateMatcher 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@Component({\r\n selector: 'sd-input-number',\r\n templateUrl: './input-number.component.html',\r\n styleUrls: ['./input-number.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class SdInputNumber implements OnDestroy, OnInit, AfterViewInit {\r\n id = `I${uuid.v4()}`;\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() 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 disableErrorMessage = false;\r\n @Input('disableErrorMessage') set _disableErrorMessage(val: boolean | '') {\r\n this.disableErrorMessage = (val === '') || val;\r\n }\r\n #blurOnEnter = false;\r\n @Input('blurOnEnter') set _blurOnEnter(val: boolean | '') {\r\n this.#blurOnEnter = (val === '') || val;\r\n }\r\n @Input() set model(value: any) {\r\n if (this.formControl.value !== value) {\r\n this.formControl.setValue(value, {\r\n emitEvent: false\r\n });\r\n if (value || value === 0) {\r\n const val = value.toString().replace(/\\./g, ',');\r\n this.inputControl.setValue(this.#getValueWithFormat(val), {\r\n emitEvent: false\r\n });\r\n } else {\r\n this.inputControl.setValue('', {\r\n emitEvent: false\r\n });\r\n }\r\n }\r\n }\r\n @Output() modelChange = new EventEmitter();\r\n\r\n // Validator\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 @Input() type: 'negative' | 'positive'; //negative: chỉ nhập số âm, positive: chỉ số dương\r\n @Input() precision: number = 3; //số chữ số thập phân \r\n\r\n isReadonly = false;\r\n @Input() set readonly(val: boolean | '') {\r\n this.isReadonly = (val === '') || val;\r\n }\r\n\r\n #min: number;\r\n @Input() set min(val: number) {\r\n this.#min = val;\r\n }\r\n\r\n #max: number;\r\n @Input() set max(val: number) {\r\n this.#max = val;\r\n }\r\n\r\n #validator: (value: any) => string | Promise<string>;\r\n @Input() set validator(validator: (value: any) => string | Promise<string>) {\r\n this.#validator = validator;\r\n this.#updateValidator();\r\n }\r\n\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 @Input() appearance: MatFormFieldAppearance;\r\n\r\n @Output() sdChange = new EventEmitter<any>();\r\n @Output() sdFocus = new EventEmitter<any>();\r\n @Output() sdFocusForceBlur = new EventEmitter<any>();\r\n @Output() keyupEnter = new EventEmitter();\r\n\r\n @ViewChild('control') control: ElementRef;\r\n formControl = new SdFormControl();\r\n inputControl = new SdFormControl();\r\n #subscription = new Subscription();\r\n matcher = new SdInputNumberErrotStateMatcher(this.formControl);\r\n\r\n @ContentChild(SdViewDefDirective) sdView: SdViewDefDirective;\r\n @ContentChild(SdSuffixDirective) sdSuffix: SdSuffixDirective;\r\n @ContentChild(SdLabelDefDirective) sdLabelDef: SdLabelDefDirective;\r\n isFocused = false;\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 }\r\n\r\n private get regex() {\r\n let result = `(([0-9]+(\\\\.[0-9])?)+(\\\\,[0-9]{0,${this.precision}}){0,1})$`;\r\n if (this.precision === 0) {\r\n result = `(([0-9]+(\\\\.[0-9])?)+)$`;\r\n }\r\n if (this.type === 'negative') {\r\n result = `[-]${result}`;\r\n }\r\n if (!this.type) {\r\n result = `[-]?${result}`;\r\n }\r\n return result;\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.#subscription.add(this.inputControl.valueChanges.subscribe(() => {\r\n const val = this.inputControl.value;\r\n if (!val) {\r\n this.#onChange(undefined);\r\n return;\r\n }\r\n let value = this.#toNumber(val);\r\n if (!isNaN(value)) {\r\n if ((this.#min || this.#min === 0) && value < this.#min) {\r\n value = this.#min;\r\n this.inputControl.setValue(Number.toVNCurrency(value), {\r\n emitEvent: false\r\n });\r\n }\r\n if ((this.#max || this.#max === 0) && value > this.#max) {\r\n value = this.#max;\r\n this.inputControl.setValue(Number.toVNCurrency(value), {\r\n emitEvent: false\r\n });\r\n }\r\n this.#onChange(value);\r\n }\r\n }));\r\n this.#form?.addControl(this.#name, this.formControl);\r\n this.ref.detectChanges();\r\n }\r\n\r\n #getValueWithFormat = (value: string) => {\r\n const arrayNext = value.split(',');\r\n if (arrayNext.length >= 2) {\r\n return `${this.#formatNumber(arrayNext[0])},${arrayNext[1]}`;\r\n }\r\n return this.#formatNumber(value);\r\n }\r\n\r\n #formatNumber = (text: any) => {\r\n return Number.toVNCurrency((text?.toString() || '').replace(/\\./g, ''));\r\n // const arrs: string[] = (text?.toString() || '').replace(/\\./g, '').split('');\r\n // return arrs.reverse().reduce((acc, num, index) => {\r\n // return num + (num !== '-' && index && !(index % 3) ? '.' : '') + acc;\r\n // }, '');\r\n }\r\n\r\n #toNumber = (text: any) => +((text?.toString() || '').replace(/\\./g, '').replace(/,/g, '.'));\r\n\r\n ngOnDestroy() {\r\n this.#form?.removeControl(this.#name);\r\n this.#subscription.unsubscribe();\r\n }\r\n\r\n reValidate = () => {\r\n this.formControl.updateValueAndValidity();\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 #onChange = (value: any) => {\r\n this.formControl.setValue(value);\r\n this.modelChange.emit(value);\r\n this.sdChange.emit(value);\r\n }\r\n\r\n onKeyupEnter = () => {\r\n const val: string = (this.inputControl.value ?? '').toString();\r\n if (val.length > val.trim().length) {\r\n this.inputControl.setValue(val.trim());\r\n }\r\n this.keyupEnter.emit(this.inputControl.value);\r\n if (this.#blurOnEnter) {\r\n this.blur();\r\n }\r\n }\r\n\r\n onKeydown = (event: KeyboardEvent) => {\r\n if (event.ctrlKey && event.key == 'v') {\r\n this.#checkValue(event, '');\r\n return;\r\n }\r\n const key = event.keyCode || event.charCode;\r\n if (key == 8 || key == 46 || key == 37 || key == 39 || key == 35 || key == 36 || key == 9) {\r\n return;\r\n }\r\n if (event.ctrlKey && (event.key == 'c' || event.key == 'x' || event.key == 'a')) {\r\n return;\r\n }\r\n if (event.shiftKey && key == 9) {\r\n return;\r\n }\r\n this.#checkValue(event, event.key);\r\n }\r\n\r\n onPaste(event: ClipboardEvent) {\r\n const nextKey = event.clipboardData.getData('text');\r\n this.#checkValue(event, nextKey)\r\n }\r\n\r\n #checkValue = (event, nextKey) => {\r\n const current: string = event.target.value;\r\n // if(this.#max === +current.toString().replace(/\\./g, '').replace(/,/g, '.')){\r\n // event.preventDefault();\r\n // return;\r\n // }\r\n const curval_arr = current.split(\"\");\r\n curval_arr.splice(event.target.selectionStart, (event.target.selectionEnd - event.target.selectionStart), nextKey);\r\n const newval = curval_arr.join(\"\");\r\n if (this.type !== 'positive' && newval === '-') {\r\n return;\r\n }\r\n const regExp: RegExp = new RegExp(`^${this.regex}`, 'g');\r\n if (newval && !String(newval).match(regExp)) {\r\n event.preventDefault();\r\n return;\r\n }\r\n const value = (newval.toString().replace(/\\./g, '').replace(/,/g, '.'));\r\n if ((this.#max || this.#max === 0) && +value > this.#max) {\r\n setTimeout(() => {\r\n this.inputControl.setValue(this.#getValueWithFormat(this.#max.toString().replace(/\\./g, ',')));\r\n }, 10);\r\n event.preventDefault();\r\n }\r\n }\r\n\r\n onFocus = () => {\r\n this.isFocused = true;\r\n this.sdFocus.emit();\r\n if (this.sdFocusForceBlur.observers?.length > 0) {\r\n this.blur();\r\n this.sdFocusForceBlur.emit();\r\n }\r\n }\r\n\r\n onBlur = () => {\r\n this.isFocused = false;\r\n let val: string = (this.inputControl.value ?? '').toString();\r\n const arrayValue = val.split(',');\r\n if (arrayValue.length >= 2 && arrayValue[1] == '') {\r\n this.inputControl.setValue(this.#formatNumber(arrayValue[0]));\r\n return;\r\n }\r\n if (val.length > val.trim().length) {\r\n this.inputControl.setValue(val.trim());\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.isFocused = false;\r\n this.control?.nativeElement?.blur();\r\n }\r\n\r\n focus = () => {\r\n this.isFocused = true;\r\n setTimeout(() => {\r\n this.control?.nativeElement?.focus();\r\n }, 100);\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}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { SdInputNumber } from './input-number.component';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\nimport { SdTranslateModule } from '@sd-angular/core/translate';\r\nimport { SdCommonModule } from '@sd-angular/core/common';\r\nimport { SdPopoverModule } from '@sd-angular/core/popover';\r\n\r\n@NgModule({\r\n declarations: [SdInputNumber],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n MatFormFieldModule,\r\n MatInputModule,\r\n MatIconModule,\r\n MatTooltipModule,\r\n SdTranslateModule,\r\n SdCommonModule,\r\n SdPopoverModule,\r\n MatButtonModule\r\n ],\r\n exports: [\r\n SdInputNumber\r\n ]\r\n})\r\nexport class SdInputNumberModule { }\r\n"]}
|
|
@@ -352,7 +352,7 @@
|
|
|
352
352
|
];
|
|
353
353
|
SdColumnHiddenPipe.ctorParameters = function () { return []; };
|
|
354
354
|
|
|
355
|
-
var _paginator, _subscription, _reset, _reload, _mapItem, _import, _isValidDate, _isValidTime, _isValidDateTime;
|
|
355
|
+
var _paginator, _subscription, _reset, _reload, _isError, _isWarning, _isSuccess, _parse, _mapItem, _import, _isValidDate, _isValidTime, _isValidDateTime;
|
|
356
356
|
var SdUploadExcel = /** @class */ (function () {
|
|
357
357
|
function SdUploadExcel(ref, exportService, translateService, notifyService, sdColumnHidden, loadingService) {
|
|
358
358
|
var _this = this;
|
|
@@ -364,7 +364,7 @@
|
|
|
364
364
|
this.loadingService = loadingService;
|
|
365
365
|
this.importId = 'I' + uuid.v4();
|
|
366
366
|
this.items = [];
|
|
367
|
-
|
|
367
|
+
// originItems: SdExcelItem[] = [];
|
|
368
368
|
this.hasDescription = false;
|
|
369
369
|
this.showing = 'ALL';
|
|
370
370
|
this.filteredItems = [];
|
|
@@ -383,7 +383,6 @@
|
|
|
383
383
|
_this.modal.close();
|
|
384
384
|
};
|
|
385
385
|
_reset.set(this, function () {
|
|
386
|
-
_this.originItems = [];
|
|
387
386
|
_this.items = [];
|
|
388
387
|
_this.filteredItems = [];
|
|
389
388
|
_this.viewItems = [];
|
|
@@ -396,36 +395,40 @@
|
|
|
396
395
|
var pageIndex = __classPrivateFieldGet(_this, _paginator).pageIndex;
|
|
397
396
|
var pageSize = __classPrivateFieldGet(_this, _paginator).pageSize;
|
|
398
397
|
_this.filteredItems = _this.items.filter(function (item) {
|
|
399
|
-
var
|
|
398
|
+
var validation = item.sd.validation;
|
|
400
399
|
if (_this.showing === 'SUCCESS') {
|
|
401
|
-
return !(
|
|
400
|
+
return !(validation === null || validation === void 0 ? void 0 : validation.error) && !(validation === null || validation === void 0 ? void 0 : validation.warning);
|
|
402
401
|
}
|
|
403
402
|
else if (_this.showing === 'WARNING') {
|
|
404
|
-
return !!(
|
|
403
|
+
return !!(validation === null || validation === void 0 ? void 0 : validation.warning) && !(validation === null || validation === void 0 ? void 0 : validation.error);
|
|
405
404
|
}
|
|
406
405
|
else if (_this.showing === 'ERROR') {
|
|
407
|
-
return !!(
|
|
406
|
+
return !!(validation === null || validation === void 0 ? void 0 : validation.error);
|
|
408
407
|
}
|
|
409
408
|
return true;
|
|
410
409
|
});
|
|
411
410
|
_this.viewItems = _this.filteredItems
|
|
412
411
|
.filter(function (item, index) { return index >= pageIndex * pageSize && index < (pageIndex + 1) * pageSize; });
|
|
413
|
-
_this.numberOfSuccess = _this.items.filter(
|
|
414
|
-
_this.numberOfError = _this.items.filter(
|
|
415
|
-
_this.numberOfWarning = _this.items.filter(
|
|
412
|
+
_this.numberOfSuccess = _this.items.filter(__classPrivateFieldGet(_this, _isSuccess)).length;
|
|
413
|
+
_this.numberOfError = _this.items.filter(__classPrivateFieldGet(_this, _isError)).length;
|
|
414
|
+
_this.numberOfWarning = _this.items.filter(__classPrivateFieldGet(_this, _isWarning)).length;
|
|
416
415
|
});
|
|
416
|
+
_isError.set(this, function (item) { return !!item.sd.validation.error; });
|
|
417
|
+
_isWarning.set(this, function (item) { var _a, _b; return ((_a = item.sd.validation) === null || _a === void 0 ? void 0 : _a.warning) && !((_b = item.sd.validation) === null || _b === void 0 ? void 0 : _b.error); });
|
|
418
|
+
_isSuccess.set(this, function (item) { var _a, _b; return !((_a = item.sd.validation) === null || _a === void 0 ? void 0 : _a.error) && !((_b = item.sd.validation) === null || _b === void 0 ? void 0 : _b.warning); });
|
|
417
419
|
this.upload = function () { return __awaiter(_this, void 0, void 0, function () {
|
|
418
|
-
var translate,
|
|
419
|
-
var e_1,
|
|
420
|
+
var _f, mappingItems, errorValidation, warningValidation, translate, _g, items, file, offset, mappedItems, _h, _j, _k, _l, idx, item, e_1_1, results, results, err_1;
|
|
421
|
+
var e_1, _m;
|
|
420
422
|
var _this = this;
|
|
421
|
-
return __generator(this, function (
|
|
422
|
-
switch (
|
|
423
|
+
return __generator(this, function (_o) {
|
|
424
|
+
switch (_o.label) {
|
|
423
425
|
case 0:
|
|
424
|
-
|
|
426
|
+
_o.trys.push([0, 17, 18, 19]);
|
|
427
|
+
_f = this.option, mappingItems = _f.mappingItems, errorValidation = _f.errorValidation, warningValidation = _f.warningValidation;
|
|
425
428
|
translate = this.translateService.translate;
|
|
426
429
|
return [4 /*yield*/, __classPrivateFieldGet(this, _import).call(this)];
|
|
427
430
|
case 1:
|
|
428
|
-
|
|
431
|
+
_g = _o.sent(), items = _g.items, file = _g.file;
|
|
429
432
|
if (this.option.columns.some(function (e) { return !!e.description; })) {
|
|
430
433
|
this.hasDescription = true;
|
|
431
434
|
}
|
|
@@ -443,97 +446,101 @@
|
|
|
443
446
|
return [2 /*return*/];
|
|
444
447
|
}
|
|
445
448
|
__classPrivateFieldGet(this, _reset).call(this);
|
|
446
|
-
this.originItems = items
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
449
|
+
// this.originItems = items.map(data => ({
|
|
450
|
+
// data,
|
|
451
|
+
// sd: {}
|
|
452
|
+
// }));
|
|
453
|
+
this.items = items.map(function (data, idx) { return ({
|
|
454
|
+
data: data,
|
|
455
|
+
sd: {
|
|
456
|
+
excelIndex: idx + (_this.hasDescription ? 4 : 3),
|
|
457
|
+
validation: {
|
|
458
|
+
data: {}
|
|
459
|
+
},
|
|
460
|
+
origin: Object.assign({}, data)
|
|
461
|
+
}
|
|
462
|
+
}); });
|
|
463
|
+
if (!mappingItems) return [3 /*break*/, 4];
|
|
464
|
+
mappedItems = mappingItems(this.items);
|
|
465
|
+
if (!(mappedItems instanceof Promise)) return [3 /*break*/, 3];
|
|
451
466
|
this.uploading = true;
|
|
452
|
-
|
|
453
|
-
return [4 /*yield*/,
|
|
467
|
+
_h = this;
|
|
468
|
+
return [4 /*yield*/, mappedItems.finally(function () { return _this.uploading = false; })];
|
|
454
469
|
case 2:
|
|
455
|
-
|
|
470
|
+
_h.items = (_o.sent());
|
|
456
471
|
return [3 /*break*/, 4];
|
|
457
472
|
case 3:
|
|
458
|
-
this.items =
|
|
459
|
-
|
|
460
|
-
case 4:
|
|
461
|
-
case 5:
|
|
462
|
-
this.items = items;
|
|
463
|
-
_m.label = 6;
|
|
464
|
-
case 6:
|
|
473
|
+
this.items = (mappedItems || this.items);
|
|
474
|
+
_o.label = 4;
|
|
475
|
+
case 4:
|
|
465
476
|
this.file = file;
|
|
466
477
|
this.loadingService.start();
|
|
467
|
-
|
|
478
|
+
_o.label = 5;
|
|
479
|
+
case 5:
|
|
480
|
+
_o.trys.push([5, 10, 11, 12]);
|
|
481
|
+
_j = __values(this.items.entries()), _k = _j.next();
|
|
482
|
+
_o.label = 6;
|
|
483
|
+
case 6:
|
|
484
|
+
if (!!_k.done) return [3 /*break*/, 9];
|
|
485
|
+
_l = __read(_k.value, 2), idx = _l[0], item = _l[1];
|
|
486
|
+
return [4 /*yield*/, this.validate(item)];
|
|
468
487
|
case 7:
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
_m.label = 8;
|
|
488
|
+
_o.sent();
|
|
489
|
+
_o.label = 8;
|
|
472
490
|
case 8:
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
item.excelIndex = idx + (this.hasDescription ? 4 : 3);
|
|
477
|
-
return [4 /*yield*/, this.validate(item)];
|
|
478
|
-
case 9:
|
|
479
|
-
_m.sent();
|
|
480
|
-
_m.label = 10;
|
|
491
|
+
_k = _j.next();
|
|
492
|
+
return [3 /*break*/, 6];
|
|
493
|
+
case 9: return [3 /*break*/, 12];
|
|
481
494
|
case 10:
|
|
482
|
-
|
|
483
|
-
return [3 /*break*/, 8];
|
|
484
|
-
case 11: return [3 /*break*/, 14];
|
|
485
|
-
case 12:
|
|
486
|
-
e_1_1 = _m.sent();
|
|
495
|
+
e_1_1 = _o.sent();
|
|
487
496
|
e_1 = { error: e_1_1 };
|
|
488
|
-
return [3 /*break*/,
|
|
489
|
-
case
|
|
497
|
+
return [3 /*break*/, 12];
|
|
498
|
+
case 11:
|
|
490
499
|
try {
|
|
491
|
-
if (
|
|
500
|
+
if (_k && !_k.done && (_m = _j.return)) _m.call(_j);
|
|
492
501
|
}
|
|
493
502
|
finally { if (e_1) throw e_1.error; }
|
|
494
503
|
return [7 /*endfinally*/];
|
|
504
|
+
case 12:
|
|
505
|
+
if (!(!this.items.some(__classPrivateFieldGet(this, _isError)) && errorValidation)) return [3 /*break*/, 14];
|
|
506
|
+
return [4 /*yield*/, errorValidation(this.items)];
|
|
507
|
+
case 13:
|
|
508
|
+
results = _o.sent();
|
|
509
|
+
results.forEach(function (result) { return _this.items[result.idx].sd.validation.error = result.message; });
|
|
510
|
+
_o.label = 14;
|
|
495
511
|
case 14:
|
|
496
|
-
if (!(!this.items.some(
|
|
497
|
-
return [4 /*yield*/,
|
|
512
|
+
if (!(!this.items.some(__classPrivateFieldGet(this, _isWarning)) && warningValidation)) return [3 /*break*/, 16];
|
|
513
|
+
return [4 /*yield*/, warningValidation(this.items)];
|
|
498
514
|
case 15:
|
|
499
|
-
results =
|
|
500
|
-
results.forEach(function (result) { return _this.items[result.idx].validation.
|
|
501
|
-
|
|
515
|
+
results = _o.sent();
|
|
516
|
+
results.forEach(function (result) { return _this.items[result.idx].sd.validation.warning = result.message; });
|
|
517
|
+
_o.label = 16;
|
|
502
518
|
case 16:
|
|
503
|
-
if (!(!this.items.some(function (item) { return !!item.validation.warning; }) && this.option.warningValidation)) return [3 /*break*/, 18];
|
|
504
|
-
return [4 /*yield*/, this.option.warningValidation(this.items)];
|
|
505
|
-
case 17:
|
|
506
|
-
results = _m.sent();
|
|
507
|
-
results.forEach(function (result) { return _this.items[result.idx].validation.warning = result.message; });
|
|
508
|
-
_m.label = 18;
|
|
509
|
-
case 18:
|
|
510
519
|
__classPrivateFieldGet(this, _paginator).pageIndex = 0;
|
|
511
520
|
__classPrivateFieldGet(this, _reload).call(this);
|
|
512
521
|
this.ref.detectChanges();
|
|
513
522
|
this.isUploaded = false;
|
|
514
|
-
return [3 /*break*/,
|
|
515
|
-
case
|
|
516
|
-
err_1 =
|
|
523
|
+
return [3 /*break*/, 19];
|
|
524
|
+
case 17:
|
|
525
|
+
err_1 = _o.sent();
|
|
517
526
|
this.notifyService.handle.error(err_1);
|
|
518
|
-
return [3 /*break*/,
|
|
519
|
-
case
|
|
527
|
+
return [3 /*break*/, 19];
|
|
528
|
+
case 18:
|
|
520
529
|
this.loadingService.stop();
|
|
521
530
|
return [7 /*endfinally*/];
|
|
522
|
-
case
|
|
531
|
+
case 19: return [2 /*return*/];
|
|
523
532
|
}
|
|
524
533
|
});
|
|
525
534
|
}); };
|
|
526
|
-
this.validate = function (
|
|
527
|
-
var _a, validation, translate, _loop_1, this_1, _f, _g, column, e_2_1;
|
|
535
|
+
this.validate = function (excelItem) { return __awaiter(_this, void 0, void 0, function () {
|
|
536
|
+
var _a, item, validation, translate, _loop_1, this_1, _f, _g, column, e_2_1;
|
|
528
537
|
var e_2, _h;
|
|
529
538
|
return __generator(this, function (_j) {
|
|
530
539
|
switch (_j.label) {
|
|
531
540
|
case 0:
|
|
532
|
-
validation = {
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
data: {}
|
|
536
|
-
};
|
|
541
|
+
excelItem.sd.validation = {};
|
|
542
|
+
item = excelItem.data;
|
|
543
|
+
validation = excelItem.sd.validation;
|
|
537
544
|
translate = this.translateService.translate;
|
|
538
545
|
_loop_1 = function (column) {
|
|
539
546
|
var value, value, value, type, format, val, error, warning, ex_1;
|
|
@@ -606,6 +613,11 @@
|
|
|
606
613
|
validation.data[column.field].error = "" + translate('Value shoud be 0 or 1');
|
|
607
614
|
validation.error += "<strong>[" + (column.title || column.field) + "]</strong> " + validation.data[column.field].error + "<br>";
|
|
608
615
|
}
|
|
616
|
+
else {
|
|
617
|
+
if (column.parseToBool) {
|
|
618
|
+
item[column.field] = item[column.field] === '1';
|
|
619
|
+
}
|
|
620
|
+
}
|
|
609
621
|
}
|
|
610
622
|
}
|
|
611
623
|
else if (column.type === 'values') {
|
|
@@ -714,24 +726,28 @@
|
|
|
714
726
|
}
|
|
715
727
|
});
|
|
716
728
|
}); };
|
|
729
|
+
_parse.set(this, function (item) {
|
|
730
|
+
var data = item.data;
|
|
731
|
+
return data;
|
|
732
|
+
});
|
|
717
733
|
_mapItem.set(this, function (item) {
|
|
718
|
-
var
|
|
719
|
-
return
|
|
734
|
+
var data = item.data;
|
|
735
|
+
return data;
|
|
720
736
|
});
|
|
721
737
|
this.accept = function () {
|
|
722
738
|
var _a;
|
|
723
|
-
var successItems = _this.items.filter(
|
|
724
|
-
var errorItems = _this.items.filter(
|
|
725
|
-
var warningItems = _this.items.filter(
|
|
739
|
+
var successItems = _this.items.filter(__classPrivateFieldGet(_this, _isSuccess)).map(__classPrivateFieldGet(_this, _mapItem));
|
|
740
|
+
var errorItems = _this.items.filter(__classPrivateFieldGet(_this, _isError)).map(__classPrivateFieldGet(_this, _mapItem));
|
|
741
|
+
var warningItems = _this.items.filter(__classPrivateFieldGet(_this, _isWarning)).map(__classPrivateFieldGet(_this, _mapItem));
|
|
726
742
|
(_a = _this.option) === null || _a === void 0 ? void 0 : _a.onAccept(_this.items.map(__classPrivateFieldGet(_this, _mapItem)), successItems, errorItems, warningItems, _this.file);
|
|
727
743
|
_this.isUploaded = true;
|
|
728
744
|
};
|
|
729
745
|
this.setValidation = function (validates) {
|
|
730
746
|
if (Array.isArray(validates)) {
|
|
731
747
|
validates.forEach(function (validate) {
|
|
732
|
-
_this.items[validate.idx].validation.error = validate.messageError;
|
|
733
|
-
_this.items[validate.idx].validation.warning = validate.messageWarning;
|
|
734
|
-
_this.items[validate.idx].validation.success = validate.messageSuccess;
|
|
748
|
+
_this.items[validate.idx].sd.validation.error = validate.messageError;
|
|
749
|
+
_this.items[validate.idx].sd.validation.warning = validate.messageWarning;
|
|
750
|
+
_this.items[validate.idx].sd.validation.success = validate.messageSuccess;
|
|
735
751
|
});
|
|
736
752
|
}
|
|
737
753
|
__classPrivateFieldGet(_this, _reload).call(_this);
|
|
@@ -840,12 +856,12 @@
|
|
|
840
856
|
var e_4, _f, _g;
|
|
841
857
|
var _a, _b, _c, _d, _e;
|
|
842
858
|
var result = {
|
|
843
|
-
sdMessage: (_d = (((_a = e.validation) === null || _a === void 0 ? void 0 : _a.error) || ((_b = e.validation) === null || _b === void 0 ? void 0 : _b.warning) || ((_c = e.validation) === null || _c === void 0 ? void 0 : _c.success))) === null || _d === void 0 ? void 0 : _d.replace(/<strong>/g, '').replace(/<\/strong>/g, '').replace(/<br>/g, '\n')
|
|
859
|
+
sdMessage: (_d = (((_a = e.sd.validation) === null || _a === void 0 ? void 0 : _a.error) || ((_b = e.sd.validation) === null || _b === void 0 ? void 0 : _b.warning) || ((_c = e.sd.validation) === null || _c === void 0 ? void 0 : _c.success))) === null || _d === void 0 ? void 0 : _d.replace(/<strong>/g, '').replace(/<\/strong>/g, '').replace(/<br>/g, '\n')
|
|
844
860
|
};
|
|
845
861
|
try {
|
|
846
862
|
for (var columns_1 = __values(columns), columns_1_1 = columns_1.next(); !columns_1_1.done; columns_1_1 = columns_1.next()) {
|
|
847
863
|
var column = columns_1_1.value;
|
|
848
|
-
result = Object.assign(Object.assign({}, result), (_g = {}, _g[column.field] = (_e = e.
|
|
864
|
+
result = Object.assign(Object.assign({}, result), (_g = {}, _g[column.field] = (_e = e.sd.origin) === null || _e === void 0 ? void 0 : _e[column.field], _g));
|
|
849
865
|
}
|
|
850
866
|
}
|
|
851
867
|
catch (e_4_1) { e_4 = { error: e_4_1 }; }
|
|
@@ -977,11 +993,11 @@
|
|
|
977
993
|
};
|
|
978
994
|
return SdUploadExcel;
|
|
979
995
|
}());
|
|
980
|
-
_paginator = new WeakMap(), _subscription = new WeakMap(), _reset = new WeakMap(), _reload = new WeakMap(), _mapItem = new WeakMap(), _import = new WeakMap(), _isValidDate = new WeakMap(), _isValidTime = new WeakMap(), _isValidDateTime = new WeakMap();
|
|
996
|
+
_paginator = new WeakMap(), _subscription = new WeakMap(), _reset = new WeakMap(), _reload = new WeakMap(), _isError = new WeakMap(), _isWarning = new WeakMap(), _isSuccess = new WeakMap(), _parse = new WeakMap(), _mapItem = new WeakMap(), _import = new WeakMap(), _isValidDate = new WeakMap(), _isValidTime = new WeakMap(), _isValidDateTime = new WeakMap();
|
|
981
997
|
SdUploadExcel.decorators = [
|
|
982
998
|
{ type: core.Component, args: [{
|
|
983
999
|
selector: 'sd-upload-excel',
|
|
984
|
-
template: "<sd-modal [title]=\"(option?.title || 'Import Excel')| sdTranslate\" #modal>\r\n <sd-modal-body background=\"#F0F8FF\">\r\n <div class=\"row mx-0 mb-10\">\r\n <sd-button *ngIf=\"items?.length\" class=\"mr-5\" (action)=\"view('ALL')\" icon=\"cached\"\r\n [title]=\"'View all' | sdTranslate\" size=\"sm\"></sd-button>\r\n <sd-button *ngIf=\"numberOfSuccess\" class=\"mr-5\" (action)=\"view('SUCCESS')\" icon=\"done\" [title]=\"numberOfSuccess\"\r\n [tooltip]=\"'Number of success rows' | sdTranslate\" size=\"sm\" color=\"success\"></sd-button>\r\n <sd-button *ngIf=\"numberOfWarning\" class=\"mr-5\" (action)=\"view('WARNING')\" icon=\"warning\"\r\n [title]=\"numberOfWarning\" [tooltip]=\"'Number of warning rows' | sdTranslate\" size=\"sm\"></sd-button>\r\n <sd-button *ngIf=\"numberOfError\" class=\"mr-5\" (action)=\"view('ERROR')\" icon=\"error\" [title]=\"numberOfError\"\r\n color=\"danger\" [tooltip]=\"'Number of error rows' | sdTranslate\" size=\"sm\"></sd-button>\r\n </div>\r\n <div class=\"sd-box\">\r\n <div class=\"sd-box-body p-0\">\r\n <div class=\"table-responsive\" style=\"position: relative; height:50vh\">\r\n <table class=\"table table-striped table-sm table-hover table-bordered\">\r\n <thead class=\"thead-light\">\r\n <tr>\r\n <th class=\"text-center position-sticky c-sticky-left\" style=\"width: 50px;vertical-align: middle;\">#</th>\r\n <th *ngIf=\"filteredItems?.length\" class=\"text-center\"\r\n style=\"min-width: 250px; width: 250px;vertical-align: middle;\">\r\n {{'Upload message' | sdTranslate}}</th>\r\n <ng-container *ngFor=\"let column of option.columns\">\r\n <th *ngIf=\"column | columnHidden\" [ngStyle]=\"{'min-width':column.width ? column.width : '300px'}\"\r\n [matTooltip]=\"column.title\">\r\n <span class=\"c-ellipsis\"\r\n [ngStyle]=\"{'min-width':column.width ? column.width : '300px', 'max-width':column.width ? column.width : '300px'}\">{{column.title}}</span>\r\n </th>\r\n </ng-container>\r\n </tr>\r\n </thead>\r\n <tbody *ngIf=\"viewItems.length\">\r\n <tr *ngFor=\"let item of viewItems\">\r\n <td class=\"text-center position-sticky c-sticky-left\" style=\"width: 50px\">\r\n <span class=\"badge\"\r\n [ngClass]=\"{'badge-success':!item.validation?.warning && !item.validation?.error, 'badge-warning':item.validation?.warning && !item.validation?.error, 'badge-danger':item.validation?.error}\"\r\n style=\"width: 100%\">{{item.excelIndex}}</span>\r\n </td>\r\n <td style=\"min-width: 250px; width: 250px\">\r\n <div\r\n [innerHtml]=\"item.validation?.error || item.validation?.warning || item.validation?.success || ('Success' | sdTranslate)\">\r\n </div>\r\n </td>\r\n <ng-container *ngFor=\"let column of option.columns\">\r\n <td *ngIf=\"column | columnHidden\" class=\"align-middle\"
|
|
1000
|
+
template: "<sd-modal [title]=\"(option?.title || 'Import Excel')| sdTranslate\" #modal>\r\n <sd-modal-body background=\"#F0F8FF\">\r\n <div class=\"row mx-0 mb-10\">\r\n <sd-button *ngIf=\"items?.length\" class=\"mr-5\" (action)=\"view('ALL')\" icon=\"cached\"\r\n [title]=\"'View all' | sdTranslate\" size=\"sm\"></sd-button>\r\n <sd-button *ngIf=\"numberOfSuccess\" class=\"mr-5\" (action)=\"view('SUCCESS')\" icon=\"done\" [title]=\"numberOfSuccess\"\r\n [tooltip]=\"'Number of success rows' | sdTranslate\" size=\"sm\" color=\"success\"></sd-button>\r\n <sd-button *ngIf=\"numberOfWarning\" class=\"mr-5\" (action)=\"view('WARNING')\" icon=\"warning\"\r\n [title]=\"numberOfWarning\" [tooltip]=\"'Number of warning rows' | sdTranslate\" size=\"sm\"></sd-button>\r\n <sd-button *ngIf=\"numberOfError\" class=\"mr-5\" (action)=\"view('ERROR')\" icon=\"error\" [title]=\"numberOfError\"\r\n color=\"danger\" [tooltip]=\"'Number of error rows' | sdTranslate\" size=\"sm\"></sd-button>\r\n </div>\r\n <div class=\"sd-box\">\r\n <div class=\"sd-box-body p-0\">\r\n <div class=\"table-responsive\" style=\"position: relative; height:50vh\">\r\n <table class=\"table table-striped table-sm table-hover table-bordered\">\r\n <thead class=\"thead-light\">\r\n <tr>\r\n <th class=\"text-center position-sticky c-sticky-left\" style=\"width: 50px;vertical-align: middle;\">#</th>\r\n <th *ngIf=\"filteredItems?.length\" class=\"text-center\"\r\n style=\"min-width: 250px; width: 250px;vertical-align: middle;\">\r\n {{'Upload message' | sdTranslate}}</th>\r\n <ng-container *ngFor=\"let column of option.columns\">\r\n <th *ngIf=\"column | columnHidden\" [ngStyle]=\"{'min-width':column.width ? column.width : '300px'}\"\r\n [matTooltip]=\"column.title\">\r\n <span class=\"c-ellipsis\"\r\n [ngStyle]=\"{'min-width':column.width ? column.width : '300px', 'max-width':column.width ? column.width : '300px'}\">{{column.title}}</span>\r\n </th>\r\n </ng-container>\r\n </tr>\r\n </thead>\r\n <tbody *ngIf=\"viewItems.length\">\r\n <tr *ngFor=\"let item of viewItems\">\r\n <td class=\"text-center position-sticky c-sticky-left\" style=\"width: 50px\">\r\n <span class=\"badge\"\r\n [ngClass]=\"{'badge-success':!item.validation?.warning && !item.validation?.error, 'badge-warning':item.validation?.warning && !item.validation?.error, 'badge-danger':item.validation?.error}\"\r\n style=\"width: 100%\">{{item.sd.excelIndex}}</span>\r\n </td>\r\n <td style=\"min-width: 250px; width: 250px\">\r\n <div\r\n [innerHtml]=\"item.sd.validation?.error || item.sd.validation?.warning || item.sd.validation?.success || ('Success' | sdTranslate)\">\r\n </div>\r\n </td>\r\n <ng-container *ngFor=\"let column of option.columns\">\r\n <td *ngIf=\"column | columnHidden\" class=\"align-middle\" [ngClass]=\"{'table-warning':item.sd.validation?.data[column.field]?.warning && !item.sd.validation?.data[column.field]?.error, \r\n 'table-danger':item.sd.validation?.data[column.field]?.error}\"\r\n [matTooltip]=\"item.sd.validation?.data[column.field]?.error || item.sd.validation?.data[column.field]?.warning\"\r\n [ngStyle]=\"{'min-width':column.width ? column.width : '300px'}\" matTooltipPosition=\"above\">\r\n <span class=\"c-ellipsis\">\r\n <div *ngIf=\"column.type !== 'array'\"\r\n [innerHtml]=\"item | columnTransform:column | async | safeHtml\"></div>\r\n <ng-container *ngIf=\"column.type === 'array'\">\r\n {{item.data[column.field]?.split(column.divideString)?.length}} {{column.unitString}}\r\n <button mat-button [matMenuTriggerFor]=\"menu\" class=\"c-mat-menu\">\r\n <mat-icon>open_in_new</mat-icon>\r\n </button>\r\n <mat-menu #menu=\"matMenu\">\r\n <div class=\"row mx-0\">\r\n <div class=\"col-6\" *ngFor=\"let itemArray of item.data[column.field]?.split(column.divideString)\"\r\n [innerHtml]=\"itemArray\">\r\n </div>\r\n </div>\r\n </mat-menu>\r\n </ng-container>\r\n </span>\r\n </td>\r\n </ng-container>\r\n </tr>\r\n </tbody>\r\n </table>\r\n </div>\r\n </div>\r\n <div class=\"sd-box-footer clearfix\">\r\n <div style=\"display: flex; align-items: center; align-content: space-between;\">\r\n <div style=\"flex: 1;\" [innerHTML]=\"option?.note\">\r\n </div>\r\n <div style=\"flex: 1;\">\r\n <mat-paginator [length]=\"filteredItems?.length || 0\" hidePageSize>\r\n </mat-paginator>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </sd-modal-body>\r\n <sd-modal-footer *sdDesktop>\r\n <div class=\"mr-auto\">\r\n <sd-button class=\"mr-5\" (action)=\"upload()\" icon=\"file_upload\" [title]=\"'Upload' | sdTranslate\" size=\"sm\"\r\n color=\"info\" [loading]=\"uploading\"></sd-button>\r\n <sd-button class=\"mr-5\" (action)=\"downloadTemplate()\" icon=\"file_download\" [loading]=\"isDownloadTemplate\"\r\n [title]=\"'Download template' | sdTranslate\" color=\"info\" type=\"outline\" size=\"sm\">\r\n </sd-button>\r\n </div>\r\n <sd-button *ngIf=\"filteredItems?.length\" class=\"mr-5\" (action)=\"export()\" icon=\"get_app\"\r\n [title]=\"'Download result' | sdTranslate\" size=\"sm\" color=\"info\" type=\"outline\">\r\n </sd-button>\r\n <sd-button (action)=\"accept()\" [title]=\"'Accept' | sdTranslate\"\r\n [disabled]=\"numberOfSuccess === 0 || numberOfError > 0 || isUploaded\" color=\"primary\" type=\"fill\" size=\"sm\">\r\n </sd-button>\r\n </sd-modal-footer>\r\n <sd-modal-footer *sdMobileTablet>\r\n <sd-button style=\"flex: 1; padding-right: 5px;\" (action)=\"upload()\" icon=\"file_upload\"\r\n [title]=\"'Upload' | sdTranslate\" width=\"100%\" size=\"sm\" color=\"info\" [loading]=\"uploading\"></sd-button>\r\n <sd-button style=\"flex: 1; padding-left: 5px;\" (action)=\"accept()\" icon=\"check\" [title]=\"'Accept' | sdTranslate\"\r\n [disabled]=\"numberOfSuccess === 0 || numberOfError > 0\" color=\"success\" width=\"100%\" size=\"sm\"></sd-button>\r\n </sd-modal-footer>\r\n</sd-modal>",
|
|
985
1001
|
styles: [".table thead td,.table thead th{padding-bottom:5px;padding-top:5px}.table-striped tbody tr:nth-of-type(2n) .c-sticky-left{background-color:#fff}.table-striped tbody tr:nth-of-type(odd) .c-sticky-left{background-color:#f2f2f2}.c-sticky-left{border-left:none!important;border-right:none!important;left:0!important;z-index:20}.c-ellipsis{display:block;overflow:hidden!important;padding:.1rem;text-overflow:ellipsis;white-space:nowrap}.c-mat-menu{border:none}.c-mat-menu mat-icon{font-size:20px;vertical-align:middle}:host ::ng-deep .mat-paginator-container{height:32px;min-height:32px}:host ::ng-deep .mat-paginator-container .mat-icon-button{height:28px;line-height:28px;width:28px}"]
|
|
986
1002
|
},] }
|
|
987
1003
|
];
|
|
@@ -1003,17 +1019,26 @@
|
|
|
1003
1019
|
function SdColumnTransformPipe(decimalPipe) {
|
|
1004
1020
|
var _this = this;
|
|
1005
1021
|
this.decimalPipe = decimalPipe;
|
|
1006
|
-
this.transform = function (
|
|
1007
|
-
var _a, _b, _c, _d, _e,
|
|
1008
|
-
return __generator(this, function (
|
|
1009
|
-
|
|
1010
|
-
|
|
1022
|
+
this.transform = function (rowData, column) { return __awaiter(_this, void 0, void 0, function () {
|
|
1023
|
+
var _a, _b, _c, _d, _e, value;
|
|
1024
|
+
return __generator(this, function (_f) {
|
|
1025
|
+
value = rowData.data[column.field];
|
|
1026
|
+
if ((_a = rowData.sd.validation.data[column.field]) === null || _a === void 0 ? void 0 : _a.error) {
|
|
1027
|
+
return [2 /*return*/, (_d = (_c = (_b = rowData.sd.origin) === null || _b === void 0 ? void 0 : _b[column.field]) !== null && _c !== void 0 ? _c : value) !== null && _d !== void 0 ? _d : ''];
|
|
1011
1028
|
}
|
|
1012
1029
|
if (column === null || column === void 0 ? void 0 : column.transform) {
|
|
1013
1030
|
return [2 /*return*/, column.transform(value, rowData)];
|
|
1014
1031
|
}
|
|
1015
1032
|
if (column.type === 'number') {
|
|
1016
|
-
return [2 /*return*/, (
|
|
1033
|
+
return [2 /*return*/, (_e = Number.toVNCurrency(value)) !== null && _e !== void 0 ? _e : ''];
|
|
1034
|
+
}
|
|
1035
|
+
if (column.type === 'bool') {
|
|
1036
|
+
if (value === '1' || value === true) {
|
|
1037
|
+
return [2 /*return*/, "<div class=\"text-center\"><input type=\"checkbox\" checked disabled></div>"];
|
|
1038
|
+
}
|
|
1039
|
+
else if (value === '0' || value === false) {
|
|
1040
|
+
return [2 /*return*/, "<div class=\"text-center\"><input type=\"checkbox\" disabled></div>"];
|
|
1041
|
+
}
|
|
1017
1042
|
}
|
|
1018
1043
|
return [2 /*return*/, value !== null && value !== void 0 ? value : ''];
|
|
1019
1044
|
});
|