@sd-angular/core 1.3.75 → 1.3.77
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-common.umd.js +13 -2
- package/bundles/sd-angular-core-common.umd.js.map +1 -1
- package/bundles/sd-angular-core-common.umd.min.js +1 -1
- package/bundles/sd-angular-core-common.umd.min.js.map +1 -1
- package/bundles/sd-angular-core-image-preview.umd.js +122 -7
- package/bundles/sd-angular-core-image-preview.umd.js.map +1 -1
- package/bundles/sd-angular-core-image-preview.umd.min.js +1 -1
- package/bundles/sd-angular-core-image-preview.umd.min.js.map +1 -1
- package/bundles/sd-angular-core-modal-resizable.umd.js +14 -5
- package/bundles/sd-angular-core-modal-resizable.umd.js.map +1 -1
- package/bundles/sd-angular-core-modal-resizable.umd.min.js +2 -2
- package/bundles/sd-angular-core-modal-resizable.umd.min.js.map +1 -1
- package/bundles/sd-angular-core-utility.umd.js +2 -2
- package/bundles/sd-angular-core-utility.umd.js.map +1 -1
- package/bundles/sd-angular-core-utility.umd.min.js +1 -1
- package/bundles/sd-angular-core-utility.umd.min.js.map +1 -1
- package/common/src/lib/typings/number.extension.d.ts +2 -1
- package/esm2015/common/src/lib/typings/number.extension.js +14 -3
- package/esm2015/image-preview/sd-angular-core-image-preview.js +3 -2
- package/esm2015/image-preview/src/lib/image-preview/image-preview-sdmodal.component.js +92 -0
- package/esm2015/image-preview/src/lib/image-preview/image-preview.module.js +6 -3
- package/esm2015/modal-resizable/src/lib/modal-resizable/modal-resizable.component.js +15 -6
- package/esm2015/utility/src/lib/pipes/currency.pipe.js +3 -3
- package/fesm2015/sd-angular-core-common.js +13 -2
- package/fesm2015/sd-angular-core-common.js.map +1 -1
- package/fesm2015/sd-angular-core-image-preview.js +95 -4
- package/fesm2015/sd-angular-core-image-preview.js.map +1 -1
- package/fesm2015/sd-angular-core-modal-resizable.js +14 -5
- package/fesm2015/sd-angular-core-modal-resizable.js.map +1 -1
- package/fesm2015/sd-angular-core-utility.js +2 -2
- package/fesm2015/sd-angular-core-utility.js.map +1 -1
- package/image-preview/sd-angular-core-image-preview.d.ts +2 -1
- package/image-preview/sd-angular-core-image-preview.metadata.json +1 -1
- package/image-preview/src/lib/image-preview/image-preview-sdmodal.component.d.ts +28 -0
- package/modal-resizable/sd-angular-core-modal-resizable.metadata.json +1 -1
- package/modal-resizable/src/lib/modal-resizable/modal-resizable.component.d.ts +2 -0
- package/package.json +1 -1
- package/{sd-angular-core-1.3.75.tgz → sd-angular-core-1.3.77.tgz} +0 -0
- package/utility/src/lib/pipes/currency.pipe.d.ts +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../node_modules/tslib/tslib.es6.js","../../../../projects/sd-core/common/src/lib/typings/array.extension.ts","../../../../projects/sd-core/common/src/lib/typings/date.extension.ts","../../../../projects/sd-core/common/src/lib/typings/number.extension.ts","../../../../projects/sd-core/common/src/lib/typings/string.extension.ts","../../../../projects/sd-core/common/src/lib/typings/utility.extension.ts","../../../../projects/sd-core/common/src/lib/configurations/firebase.configuration.ts","../../../../projects/sd-core/common/src/lib/configurations/form.configuration.ts","../../../../projects/sd-core/common/src/lib/models/sd-form-control.ts","../../../../projects/sd-core/common/src/lib/services/browser.service.ts","../../../../projects/sd-core/common/src/lib/directives/view-def.directive.ts","../../../../projects/sd-core/common/src/lib/directives/sd-let.directive.ts","../../../../projects/sd-core/common/src/lib/directives/sd-scroll.directive.ts","../../../../projects/sd-core/common/src/lib/directives/sd-suffix.directive.ts","../../../../projects/sd-core/common/src/lib/directives/sd-lable.directive.ts","../../../../projects/sd-core/common/src/lib/common.module.ts"],"names":["extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","prototype","hasOwnProperty","call","__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","pop","length","push","create","__values","o","s","m","i","__read","r","ar","error","__spread","arguments","concat","__classPrivateFieldGet","receiver","state","kind","has","get","__classPrivateFieldSet","set","search","searchText","fields","items","toString","isArray","fs_1","filter","item","some","field","String","aliasIncludes","paging","pageSize","page","index","toObject","key","reduce","obj","_a","union","args","_i","results","filterUnion","val","self","findIndex","args_1","args_1_1","arg","asObservable","of","Date","equal","date1","date2","isDate","getTime","parseFrom","format","dmy","indexOf","hms","strDate","dd","substr","MM","yyyy","today","getFullYear","getMonth","padStart","getDate","date","isNaN","toFormat","addMiliseconds","miliseconds","addHours","hours","addDays","days","addMonths","months","begin","end","diffDays","from","to","diffTime","Math","round","setMilliseconds","getMilliseconds","setHours","getHours","setDate","setMonth","replace","getMinutes","getSeconds","Number","toVNCurrency","toLocaleString","maximumFractionDigits","isPositiveInteger","test","isPositiveNumber","isNumber","isValidEmail","isValidPhone","isValidCode","isNullOrEmpty","isNullOrWhiteSpace","match","changeAliasLowerCase","alias","str","toLowerCase","trim","includes","template","arr","regexp","RegExp","templateToDisplay","entity","matches","matches_1","matches_1_1","slice","SALT","encrypt","l","JSON","stringify","split","encodeURI","join","decrypt","encripted","decodeURI","Error","strs","substring","parse","upload","option","uploadId","document","getElementsByTagName","existedElement","getElementById","remove","element","createElement","setAttribute","style","display","appendChild","addEventListener","evt","file","target","files","lastDot","name","lastIndexOf","extension_1","extensions","toUpperCase","maxSizeInMb","size","message","validator","click","download","filePath","fileName","link","href","visibility","downloadBlob","blob","url","window","URL","createObjectURL","undefined","revokeObjectURL","console","copyToClipboard","text","navigator","clipboard","writeText","allWithPaging","func","defaultPageSize","pageNumber","count","res","_b","total","SdUtility","globalThis","FIREBASE_CONFIG","InjectionToken","FORM_CONFIG","SdFormControl","formState","asyncValidator","_this","_super","sdChanges","Subject","untouchChanges","touchChanges","pristineChanges","__","constructor","__extends","markAsUntouched","onlySelf","markAsTouched","markAsPristine","opts","FormControl","SdBrowserService","_getBrowserNameAndVersion","tem","ua","userAgent","M","version","exec","appName","appVersion","splice","browserNameAndVersion","browerName","browserVersion","defineProperty","Injectable","providedIn","templateRef","Directive","selector","TemplateRef","SdLetDirective","vcRef","context","_updateView","clear","createEmbeddedView","$implicit","sdLet","ViewContainerRef","Input","SdScrollDirective","elementRef","renderer","browserService","_overflow","scrollTop","setTimeout","nativeElement","onMouseOver","isFirefox","setStyle","onMouseOut","ngOnInit","ElementRef","Renderer2","HostListener","NgModule","imports","CommonModule","declarations","SdViewDefDirective","SdSuffixDirective","SdLabelDefDirective","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 { Observable, of } from 'rxjs';\r\n\r\nexport { };\r\n\r\ndeclare global {\r\n interface Array<T = any> {\r\n search(searchText: string | number, fields?: string | string[]): T[];\r\n paging(pageSize: number, page?: number): T[];\r\n toObject(key?: string): { [key: string]: T };\r\n union(key: string, ...args: T[][]): T[];\r\n asObservable(): Observable<T[]>\r\n }\r\n interface ArrayConstructor {\r\n search<T = any>(items: T[], searchText: string | number, fields?: string | string[]): T[];\r\n union<T = any>(key: string, ...args: T[][]): T[];\r\n toObject<T = any>(items: T[], key?: string): { [key: string]: T };\r\n }\r\n}\r\n\r\nArray.prototype.search = function <T = any>(searchText: any, fields?: string | string[]): T[] {\r\n const items: T[] = this;\r\n if (!searchText?.toString()) {\r\n return items;\r\n }\r\n if (Array.isArray(fields)) {\r\n const fs = fields.filter(e => e !== undefined && e !== null && e !== '');\r\n if (!fs.length) {\r\n return items.filter(item => item !== undefined && item !== null && String.aliasIncludes(item, searchText));\r\n }\r\n return items.filter(item => item !== undefined && item !== null && fs.some(field => String.aliasIncludes(item[field], searchText)));\r\n }\r\n if (!fields) {\r\n return items.filter(item => item !== undefined && item !== null && String.aliasIncludes(item, searchText));\r\n }\r\n return items.filter(item => item !== undefined && item !== null && String.aliasIncludes(item[fields], searchText));\r\n};\r\n\r\nArray.prototype.paging = function <T = any>(pageSize: number, page: number = 0): T[] {\r\n const items: T[] = this;\r\n return items.filter((item, index) => {\r\n return index >= page * pageSize\r\n && index < (page + 1) * pageSize;\r\n });\r\n};\r\n\r\nArray.prototype.toObject = function <T = any>(key: string): { [key: string]: T } {\r\n const items: T[] = this;\r\n if (!key) {\r\n return items.filter(item => item !== undefined && item !== null).reduce((obj, item) => { obj[item?.toString()] = item; return obj; }, {});\r\n }\r\n return items.filter(item => item !== undefined && item !== null).reduce((obj, item) => { obj[item[key]?.toString()] = item; return obj; }, {});\r\n};\r\n\r\nArray.prototype.union = function <T = any>(key: string, ...args: T[][]) {\r\n let results: T[] = this;\r\n const filterUnion = <T = any>(val: T, index: number, self: T[]) => val !== undefined && val !== null && self.findIndex((e: { [x: string]: any; }) => !!key ? e[key] === val[key] : e === val) === index;\r\n if (!args?.length) {\r\n return results.filter(filterUnion);\r\n }\r\n for (const arg of args) {\r\n if (Array.isArray(arg)) {\r\n results = [...results, ...arg].filter(filterUnion);\r\n }\r\n }\r\n return results;\r\n}\r\n\r\nArray.prototype.asObservable = function <T = any>() {\r\n const items: T[] = this;\r\n return of(items);\r\n}\r\n\r\nArray.search = <T = any>(items: T[], searchText: string | number, fields?: string | string[]) => {\r\n if (!Array.isArray(items)) {\r\n return [];\r\n }\r\n return items.search(searchText, fields);\r\n};\r\n\r\nArray.union = <T = any>(key: string, ...args: T[][]) => {\r\n return [].union(key, ...args);\r\n}\r\n\r\nArray.toObject = <T>(items: T[], key?: string): { [key: string]: T } => {\r\n if (!Array.isArray(items)) {\r\n return {};\r\n }\r\n return items.toObject(key);\r\n}\r\n\r\n","export { };\r\n\r\ndeclare global {\r\n interface Date {\r\n begin(): Date;\r\n end(): Date;\r\n addMiliseconds(miliseconds: number): Date;\r\n addHours(hours: number): Date;\r\n addDays(days: number): Date;\r\n addMonths(months: number): Date;\r\n toFormat(format: string): string;\r\n }\r\n interface DateConstructor {\r\n equal(date1: any, date2: any): boolean;\r\n parseFrom(value: any, format: string): Date;\r\n isDate(value: any): boolean;\r\n toFormat(value: any, format: string): string;\r\n addMiliseconds(value: any, miliseconds: number): Date;\r\n addHours(value: any, hours: number): Date;\r\n addDays(value: any, days: number): Date;\r\n addMonths(value: any, months: number): Date;\r\n begin(value: any): Date;\r\n end(value: any): Date;\r\n diffDays(from: any, to: any): number;\r\n }\r\n}\r\n\r\nDate.equal = (date1: any, date2: any) => {\r\n if (!Date.isDate(date1) && !Date.isDate(date2)) {\r\n return true;\r\n }\r\n if (!Date.isDate(date1) || !Date.isDate(date2)) {\r\n return false;\r\n }\r\n return new Date(date1).getTime() === new Date(date2).getTime();\r\n};\r\n\r\nDate.parseFrom = (value: any, format: string) => {\r\n if (!value) {\r\n return null;\r\n }\r\n if (!format) {\r\n return null;\r\n }\r\n value = value.toString();\r\n const dmy = format.indexOf('dd') > -1 && format.indexOf('MM') > -1 && format.indexOf('yyyy') > -1;\r\n const hms = format.indexOf('HH') > -1 || format.indexOf('mm') > -1 || format.indexOf('ss') > -1;\r\n let strDate = '';\r\n if (dmy) {\r\n const dd = value.substr(format.indexOf('dd'), 'dd'.length);\r\n const MM = value.substr(format.indexOf('MM'), 'MM'.length);\r\n const yyyy = value.substr(format.indexOf('yyyy'), 'yyyy'.length);\r\n if (+yyyy > 0 && +MM > 0 && +dd > 0) {\r\n strDate += `${MM}/${dd}/${yyyy}`;\r\n } else {\r\n return null;\r\n }\r\n } else {\r\n const today = new Date();\r\n const yyyy = today.getFullYear().toString();\r\n const MM = (today.getMonth() + 1).toString().padStart(2, '0');\r\n const dd = today.getDate().toString().padStart(2, '0');\r\n strDate += `${MM}/${dd}/${yyyy}`;\r\n }\r\n if (hms) {\r\n const HH = format.indexOf('HH') > -1 ? value.substr(format.indexOf('HH'), 'HH'.length) : '00';\r\n const mm = format.indexOf('mm') > -1 ? value.substr(format.indexOf('mm'), 'mm'.length) : '00';\r\n const ss = format.indexOf('ss') > -1 ? value.substr(format.indexOf('ss'), 'ss'.length) : '00';\r\n strDate += ` ${HH || '00'}:${mm || '00'}:${ss || '00'}`;\r\n }\r\n if (!Date.isDate(strDate)) {\r\n return null;\r\n }\r\n return new Date(strDate);\r\n};\r\n\r\nDate.isDate = (value: any) => {\r\n if (!value) {\r\n return false;\r\n }\r\n const date = new Date(value);\r\n return !isNaN(date.getTime());\r\n};\r\n\r\nDate.toFormat = (value: any, format: string): string => {\r\n if (!Date.isDate(value)) {\r\n return '';\r\n }\r\n const date: Date = new Date(value);\r\n return date.toFormat(format);\r\n};\r\n\r\nDate.addMiliseconds = (value: any, miliseconds: number): Date => {\r\n if (!Date.isDate(value)) {\r\n return null;\r\n }\r\n const date: Date = new Date(value);\r\n return date.addMiliseconds(miliseconds);\r\n};\r\n\r\nDate.addHours = (value: any, hours: number): Date => {\r\n if (!Date.isDate(value)) {\r\n return null;\r\n }\r\n const date: Date = new Date(value);\r\n return date.addHours(hours);\r\n};\r\n\r\nDate.addDays = (value: any, days: number): Date => {\r\n if (!Date.isDate(value)) {\r\n return null;\r\n }\r\n const date: Date = new Date(value);\r\n return date.addDays(days);\r\n};\r\n\r\nDate.addMonths = (value: any, months: number): Date => {\r\n if (!Date.isDate(value)) {\r\n return null;\r\n }\r\n const date: Date = new Date(value);\r\n return date.addMonths(months);\r\n};\r\n\r\nDate.begin = (value: any) => {\r\n if (!Date.isDate(value)) {\r\n return null;\r\n }\r\n return new Date(Date.toFormat(value, 'MM/dd/yyyy'));\r\n};\r\n\r\nDate.end = (value: any) => {\r\n if (!Date.isDate(value)) {\r\n return null;\r\n }\r\n return new Date(value).addDays(1).begin().addMiliseconds(-1);\r\n};\r\n\r\nDate.diffDays = (from: any, to: any) => {\r\n if (!Date.isDate(from) || !Date.isDate(to)) {\r\n return undefined;\r\n }\r\n const diffTime = new Date(to).getTime() - new Date(from).getTime();\r\n const diffDays = Math.round((diffTime / (1000 * 60 * 60 * 24)) * 100) / 100; \r\n return diffDays;\r\n};\r\n\r\nDate.prototype.begin = function () {\r\n return new Date(this.toFormat('MM/dd/yyyy'));\r\n};\r\n\r\nDate.prototype.end = function () {\r\n const date: Date = this;\r\n return date.addDays(1).begin().addMiliseconds(-1);\r\n};\r\n\r\nDate.prototype.addMiliseconds = function (miliseconds: number) {\r\n const date: Date = this;\r\n date.setMilliseconds(date.getMilliseconds() + miliseconds);\r\n return date;\r\n};\r\n\r\nDate.prototype.addHours = function (hours: number) {\r\n const date: Date = this;\r\n date.setHours(date.getHours() + hours);\r\n return date;\r\n};\r\n\r\nDate.prototype.addDays = function (days: number) {\r\n const date: Date = this;\r\n date.setDate(date.getDate() + days);\r\n return date;\r\n};\r\n\r\nDate.prototype.addMonths = function (months: number) {\r\n const date: Date = this;\r\n date.setMonth(date.getMonth() + months);\r\n return date;\r\n};\r\n\r\nDate.prototype.toFormat = function (format: string) {\r\n const date: Date = this;\r\n let result = format;\r\n result = result.replace('yyyy', date.getFullYear().toString());\r\n result = result.replace('MM', (date.getMonth() + 1).toString().padStart(2, '0'));\r\n result = result.replace('dd', date.getDate().toString().padStart(2, '0'));\r\n result = result.replace('HH', date.getHours().toString().padStart(2, '0'));\r\n result = result.replace('mm', date.getMinutes().toString().padStart(2, '0'));\r\n result = result.replace('ss', date.getSeconds().toString().padStart(2, '0'));\r\n return result;\r\n};\r\n","export { };\r\n\r\ndeclare global {\r\n interface NumberConstructor {\r\n toVNCurrency(value: any): string;\r\n isNumber(value: any): boolean;\r\n isPositiveInteger(value: any): boolean;\r\n isPositiveNumber(value: any): boolean;\r\n }\r\n}\r\n\r\nNumber.toVNCurrency = (value: any) => {\r\n value = (value ?? '').toString().replace(/,/g, '');\r\n if (!value) {\r\n return null;\r\n }\r\n const val = +value;\r\n if (!Number.isNaN(val)) {\r\n return val.toLocaleString('vi-VN', { maximumFractionDigits: 10 });\r\n }\r\n return null;\r\n};\r\n\r\nNumber.isPositiveInteger = (value: any) => {\r\n if (!value) {\r\n return false;\r\n }\r\n const regex = /^([0-9]*)$/;\r\n return regex.test(value) && +value > 0;\r\n};\r\n\r\nNumber.isPositiveNumber = (value: any) => {\r\n if (!value) {\r\n return false;\r\n }\r\n const regex = /^([0-9]*)(\\.[0-9]+$){0,1}$/;\r\n return regex.test(value) && +value > 0;\r\n};\r\n\r\nNumber.isNumber = (value: any) => {\r\n if (value === undefined || value === null || value === '') {\r\n return false;\r\n }\r\n return !Number.isNaN(+value);\r\n};\r\n","export { };\r\n\r\ndeclare global {\r\n interface StringConstructor {\r\n isValidEmail(value: any): boolean;\r\n isValidPhone(value: any): boolean;\r\n isValidCode(value: any): boolean;\r\n changeAliasLowerCase(alias: any): string;\r\n aliasIncludes(alias: any, searchText: any): boolean;\r\n format(template: string, ...arr: any[]): string;\r\n templateToDisplay(template: string, entity: any): string; // Convert theo format ${key}\r\n encrypt(obj: any): string;\r\n decrypt(encripted: string): any;\r\n isNullOrEmpty(value: any): boolean;\r\n isNullOrWhiteSpace(value: any): boolean;\r\n }\r\n}\r\n\r\nString.isValidEmail = (value: any) => {\r\n if (!value) {\r\n return false;\r\n }\r\n const re = /^(([^<>()\\[\\]\\.,;:\\s@\\\"]+(\\.[^<>()\\[\\]\\.,;:\\s@\\\"]+)*)|(\\\".+\\\"))@(([^<>()[\\]\\.,;:\\s@\\\"]+\\.)+[^<>()[\\]\\.,;:\\s@\\\"]{2,})$/i;\r\n return re.test(value);\r\n};\r\n\r\nString.isValidPhone = (value: any) => {\r\n if (!value) {\r\n return false;\r\n }\r\n const re = /^[+]*[(]{0,1}[0-9]{1,4}[)]{0,1}[-\\s\\./0-9]*$/;\r\n return re.test(value);\r\n};\r\n\r\nString.isValidCode = (value: any) => {\r\n if (!value) {\r\n return false;\r\n }\r\n const re = /^[a-zA-Z0-9\\@\\_\\-]{2,20}$/;\r\n return re.test(value);\r\n};\r\n\r\nString.isNullOrEmpty = (value: any) => {\r\n return value === undefined || value === null || value === '';\r\n};\r\n\r\nString.isNullOrWhiteSpace = (value: any) => {\r\n return value === undefined || value === null || typeof value !== 'string' || value.match(/^ *$/) !== null;\r\n};\r\n\r\nString.changeAliasLowerCase = (alias: any) => {\r\n let str: string = alias?.toString() ?? '';\r\n str = str.toString().toLowerCase();\r\n str = str.replace(/à|á|ạ|ả|ã|â|ầ|ấ|ậ|ẩ|ẫ|ă|ằ|ắ|ặ|ẳ|ẵ/g, 'a');\r\n str = str.replace(/è|é|ẹ|ẻ|ẽ|ê|ề|ế|ệ|ể|ễ/g, 'e');\r\n str = str.replace(/ì|í|ị|ỉ|ĩ/g, 'i');\r\n str = str.replace(/ò|ó|ọ|ỏ|õ|ô|ồ|ố|ộ|ổ|ỗ|ơ|ờ|ớ|ợ|ở|ỡ/g, 'o');\r\n str = str.replace(/ù|ú|ụ|ủ|ũ|ư|ừ|ứ|ự|ử|ữ/g, 'u');\r\n str = str.replace(/ỳ|ý|ỵ|ỷ|ỹ/g, 'y');\r\n str = str.replace(/đ/g, 'd');\r\n str = str.replace(/!|@|%|\\^|\\*|\\(|\\)|\\+|\\=|\\<|\\>|\\?|\\/|,|\\.|\\:|\\;|\\'|\\\"|\\&|\\#|\\[|\\]|~|\\$|_|`|-|{|}|\\||\\\\/g, ' ');\r\n str = str.replace(/ + /g, ' ');\r\n str = str.trim();\r\n return str;\r\n}\r\n\r\nString.aliasIncludes = (alias: any, searchText: any) => {\r\n return String.changeAliasLowerCase(alias).includes(String.changeAliasLowerCase(searchText));\r\n}\r\n\r\nString.format = (template: string, ...arr: any[]) => {\r\n for (let i = 0; i < arr.length; i++) {\r\n const regexp = new RegExp(`\\\\{${i}\\\\}`, 'gi');\r\n template = template.replace(regexp, arr[i]);\r\n }\r\n return template;\r\n}\r\n\r\nString.templateToDisplay = (template: string, entity: any) => {\r\n if (!template) {\r\n return template;\r\n }\r\n const regex = /\\$\\{([A-Za-z._\\-]*)\\}/g;\r\n const matches = template.match(regex) || [];\r\n for (const match of matches) {\r\n const key = match.slice(2, match.length - 1);\r\n if (key) {\r\n template = template.replace(match, entity?.[key] || '');\r\n }\r\n }\r\n return template;\r\n}\r\n\r\nconst SALT = 'cb9f4b2a-d26c-4787-a66e-e7130ee00f95';\r\n\r\nString.encrypt = (obj: any) => {\r\n obj = JSON.stringify(obj).split('');\r\n for (var i = 0, l = obj.length; i < l; i++)\r\n if (obj[i] == '{')\r\n obj[i] = '}';\r\n else if (obj[i] == '}')\r\n obj[i] = '{';\r\n return encodeURI(SALT + obj.join(''));\r\n}\r\n\r\nString.decrypt = (encripted: string) => {\r\n encripted = decodeURI(encripted);\r\n if (SALT && encripted.indexOf(SALT) != 0)\r\n throw new Error('object cannot be decrypted');\r\n const strs = encripted.substring(SALT.length).split('');\r\n for (let i = 0, l = strs.length; i < l; i++)\r\n if (strs[i] == '{')\r\n strs[i] = '}';\r\n else if (encripted[i] == '}')\r\n strs[i] = '{';\r\n return JSON.parse(strs.join(''));\r\n}\r\n","export { };\r\n// declare var Date: DateConstructor;\r\ninterface SdUtilityContructor {\r\n upload: (option?: {\r\n extensions?: string[];\r\n maxSizeInMb?: number;\r\n validator?: (fileName: string) => string;\r\n }) => Promise<File | null>;\r\n download: (filePath: string, fileName?: string) => void\r\n downloadBlob: (blob: Blob, fileName?: string) => void;\r\n changeAliasLowerCase: (alias: string) => string;\r\n copyToClipboard: (text: string) => void;\r\n allWithPaging: <T = any>(func: (pageSize: number, pageNumber: number) => Promise<{\r\n items: T[];\r\n total: number;\r\n }>, defaultPageSize?: number) => Promise<T[]>\r\n}\r\n\r\n\r\nconst upload = (option?: {\r\n extensions?: string[],\r\n maxSizeInMb?: number,\r\n validator?: (fileName: string) => string\r\n}) => {\r\n const uploadId = 'U1e09c1c0-b647-437e-995e-d7a1a1b60550';\r\n const promise = new Promise<File | null>((resolve, reject) => {\r\n const body = document.getElementsByTagName('body')?.[0];\r\n if (!body) {\r\n resolve(null);\r\n return;\r\n }\r\n const existedElement = document.getElementById(uploadId);\r\n if (existedElement) {\r\n existedElement.remove();\r\n }\r\n const element = document.createElement('input');\r\n element.setAttribute('id', uploadId);\r\n element.setAttribute('type', 'file');\r\n element.style.display = 'none';\r\n body.appendChild(element);\r\n element.addEventListener('change', (evt: any) => {\r\n try {\r\n const target = evt.target as DataTransfer;\r\n const file = target.files.item(0);\r\n if (file) {\r\n const lastDot = file.name.lastIndexOf('.');\r\n if (lastDot === -1) {\r\n throw new Error(`File không đúng định dạng`);\r\n }\r\n const extension = file.name.substring(lastDot + 1);\r\n if (option) {\r\n if (option.extensions?.length && !option.extensions.some(e => e.toUpperCase() === extension.toUpperCase())) {\r\n throw new Error(`File không đúng định dạng`);\r\n }\r\n if (option.maxSizeInMb && option.maxSizeInMb > 0 && option.maxSizeInMb * 1024 * 1024 < file.size) {\r\n const message = `[${file.name}] Dung lượng tối đa ${option.maxSizeInMb} Mbs`;\r\n throw new Error(message);\r\n }\r\n if (option.validator && option.validator(file.name)) {\r\n const message = option.validator(file.name);\r\n throw new Error(message);\r\n }\r\n }\r\n resolve(file);\r\n }\r\n } catch (error) {\r\n reject(error);\r\n }\r\n });\r\n element.click();\r\n });\r\n return promise;\r\n}\r\n\r\nconst download = (filePath: string, fileName?: string) => {\r\n const link = document.createElement('a');\r\n link.download = `${fileName || 'File'}_${new Date().toFormat('yyyy_MM_dd_HH_mm')}`;\r\n link.href = filePath;\r\n link.style.visibility = 'hidden';\r\n document.body.appendChild(link);\r\n link.click();\r\n link.remove();\r\n}\r\n\r\nconst downloadBlob = (blob: Blob, fileName?: string) => {\r\n try {\r\n const url = window.URL.createObjectURL(blob);\r\n const link = document.createElement('a');\r\n if (link.download !== undefined) { // feature detection\r\n link.download = `${fileName || 'File'}_${new Date().toFormat('yyyy_MM_dd_HH_mm')}`;\r\n link.href = url;\r\n link.style.visibility = 'hidden';\r\n document.body.appendChild(link);\r\n link.click();\r\n window.URL.revokeObjectURL(url);\r\n link.remove();\r\n }\r\n } catch (e) {\r\n console.error('BlobToSaveAs error', e);\r\n }\r\n}\r\n\r\nconst changeAliasLowerCase = (alias: string) => {\r\n let str = alias?.toString() ?? '';\r\n str = str.toString().toLowerCase();\r\n str = str.replace(/à|á|ạ|ả|ã|â|ầ|ấ|ậ|ẩ|ẫ|ă|ằ|ắ|ặ|ẳ|ẵ/g, 'a');\r\n str = str.replace(/è|é|ẹ|ẻ|ẽ|ê|ề|ế|ệ|ể|ễ/g, 'e');\r\n str = str.replace(/ì|í|ị|ỉ|ĩ/g, 'i');\r\n str = str.replace(/ò|ó|ọ|ỏ|õ|ô|ồ|ố|ộ|ổ|ỗ|ơ|ờ|ớ|ợ|ở|ỡ/g, 'o');\r\n str = str.replace(/ù|ú|ụ|ủ|ũ|ư|ừ|ứ|ự|ử|ữ/g, 'u');\r\n str = str.replace(/ỳ|ý|ỵ|ỷ|ỹ/g, 'y');\r\n str = str.replace(/đ/g, 'd');\r\n str = str.replace(/!|@|%|\\^|\\*|\\(|\\)|\\+|\\=|\\<|\\>|\\?|\\/|,|\\.|\\:|\\;|\\'|\\\"|\\&|\\#|\\[|\\]|~|\\$|_|`|-|{|}|\\||\\\\/g, ' ');\r\n str = str.replace(/ + /g, ' ');\r\n str = str.trim();\r\n return str;\r\n}\r\n\r\nconst copyToClipboard = (text: string) => {\r\n navigator.clipboard.writeText(text);\r\n}\r\n\r\nconst allWithPaging = async <T = any>(func: (pageSize: number, pageNumber: number) => Promise<{ items: T[], total: number }>, defaultPageSize?: number): Promise<T[]> => {\r\n let pageSize = defaultPageSize || 1000;\r\n let pageNumber = 0;\r\n let count = 0;\r\n let items: T[] = [];\r\n while (true) {\r\n const res = await func(pageSize, pageNumber);\r\n if (Array(res?.items) && res?.total > 0) {\r\n items = [...items, ...res.items];\r\n count += res.items.length;\r\n pageNumber++;\r\n if (count >= res.total || !res.items?.length) {\r\n return items;\r\n }\r\n } else {\r\n return [];\r\n }\r\n }\r\n}\r\n\r\nvar SdUtility: SdUtilityContructor = {\r\n upload,\r\n download,\r\n downloadBlob,\r\n changeAliasLowerCase,\r\n copyToClipboard,\r\n allWithPaging\r\n};\r\n\r\ndeclare global {\r\n var SdUtility: SdUtilityContructor;\r\n}\r\nglobalThis.SdUtility = SdUtility;","import { InjectionToken } from \"@angular/core\";\r\n\r\nexport interface IFirebaseConfiguration {\r\n functionUrl: string;\r\n project: string;\r\n env: string;\r\n folder?: string | (() => string);\r\n}\r\n\r\nexport const FIREBASE_CONFIG = new InjectionToken<IFirebaseConfiguration>('sd.firebase.configuration');","import { InjectionToken } from \"@angular/core\";\r\nimport { MatFormFieldAppearance } from \"@angular/material/form-field\";\r\n\r\nexport interface IFormConfiguration {\r\n appearance?: MatFormFieldAppearance; \r\n}\r\n\r\nexport const FORM_CONFIG = new InjectionToken<IFormConfiguration>('sd.form.configuration');","import { FormControl, AsyncValidatorFn, ValidatorFn } from '@angular/forms';\r\nimport { Subject } from 'rxjs';\r\nexport class SdFormControl extends FormControl {\r\n sdChanges: Subject<boolean> = new Subject<boolean>();\r\n untouchChanges: Subject<boolean> = new Subject<boolean>();\r\n touchChanges: Subject<boolean> = new Subject<boolean>();\r\n pristineChanges: Subject<boolean> = new Subject<boolean>();\r\n constructor(\r\n formState?: Object,\r\n validator: ValidatorFn | ValidatorFn[] = null,\r\n asyncValidator: AsyncValidatorFn | AsyncValidatorFn[] = null\r\n ) {\r\n super(formState, validator, asyncValidator);\r\n }\r\n\r\n markAsUntouched({ onlySelf }: { onlySelf?: boolean } = {}): void {\r\n super.markAsUntouched({ onlySelf });\r\n this.untouchChanges.next(true);\r\n this.sdChanges.next(true);\r\n }\r\n\r\n markAsTouched({ onlySelf }: { onlySelf?: boolean } = {}): void {\r\n super.markAsTouched({ onlySelf });\r\n this.touchChanges.next(true);\r\n this.sdChanges.next(true);\r\n }\r\n\r\n markAsPristine(opts?: {\r\n onlySelf?: boolean;\r\n }): void {\r\n super.markAsPristine(opts);\r\n this.pristineChanges.next(true);\r\n this.sdChanges.next(true);\r\n }\r\n}","import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SdBrowserService {\r\n browerName: string;\r\n browserVersion: string;\r\n get isChrome() { return this.browerName === 'Chrome'; }\r\n get isFirefox() { return this.browerName === 'Firefox'; }\r\n get isSafari() { return this.browerName === 'Safari'; }\r\n constructor() {\r\n const browserNameAndVersion = this.#getBrowserNameAndVersion();\r\n this.browerName = browserNameAndVersion.name;\r\n this.browserVersion = browserNameAndVersion.version;\r\n }\r\n\r\n #getBrowserNameAndVersion = () => {\r\n const ua = navigator.userAgent;\r\n let M = ua.match(/(opera|chrome|safari|firefox|msie|trident(?=\\/))\\/?\\s*(\\d+)/i) || [];\r\n let tem: RegExpMatchArray;\r\n if (/trident/i.test(M[1])) {\r\n tem = /\\brv[ :]+(\\d+)/g.exec(ua) || [];\r\n return { name: 'IE', version: (tem[1] || '') };\r\n }\r\n if (M[1] === 'Chrome') {\r\n tem = ua.match(/\\bEdg\\/(\\d+)/);\r\n if (tem != null) { return { name: 'Edge(Chromium)', version: tem[1] }; }\r\n tem = ua.match(/\\bOPR\\/(\\d+)/);\r\n if (tem != null) { return { name: 'Opera', version: tem[1] }; }\r\n }\r\n M = M[2] ? [M[1], M[2]] : [navigator.appName, navigator.appVersion, '-?'];\r\n tem = ua.match(/version\\/(\\d+)/i);\r\n if (tem != null) { M.splice(1, 1, tem[1]); }\r\n return {\r\n name: M[0],\r\n version: M[1]\r\n };\r\n }\r\n}\r\n","import { Directive, TemplateRef } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[sdViewDef]'\r\n})\r\nexport class SdViewDefDirective {\r\n // @Input() sdViewDef: string;\r\n constructor(public templateRef: TemplateRef<any>) { }\r\n}\r\n","import { Directive, Input, TemplateRef, ViewContainerRef } from \"@angular/core\";\r\n@Directive({\r\n selector: '[sdLet]',\r\n})\r\nexport class SdLetDirective {\r\n @Input()\r\n set sdLet(context: any) {\r\n this.context.$implicit = this.context.sdLet = context;\r\n this.#updateView();\r\n }\r\n context: any = {};\r\n\r\n constructor(private vcRef: ViewContainerRef, private templateRef: TemplateRef<any>) { }\r\n\r\n #updateView = () => {\r\n this.vcRef.clear();\r\n this.vcRef.createEmbeddedView(this.templateRef, this.context);\r\n }\r\n}","import { Directive, ElementRef, HostListener, OnInit, Renderer2 } from \"@angular/core\";\r\nimport { SdBrowserService } from '../services/browser.service';\r\n\r\n@Directive({\r\n selector: \"[sdScroll]\",\r\n})\r\nexport class SdScrollDirective implements OnInit {\r\n #overflow: 'hidden' | 'auto' | 'overlay' = 'hidden';\r\n @HostListener('mouseover')\r\n onMouseOver() {\r\n this.#overflow = this.browserService.isFirefox ? 'auto' : 'overlay';\r\n this.renderer.setStyle(this.elementRef.nativeElement, 'overflow', this.#overflow);\r\n }\r\n\r\n @HostListener('mouseout')\r\n onMouseOut() {\r\n this.#overflow = 'hidden';\r\n this.renderer.setStyle(this.elementRef.nativeElement, 'overflow', this.#overflow);\r\n }\r\n constructor(\r\n private elementRef: ElementRef,\r\n private renderer: Renderer2,\r\n private browserService: SdBrowserService) { }\r\n\r\n ngOnInit(): void {\r\n this.renderer.setStyle(this.elementRef.nativeElement, '-webkit-transform', 'translate3d(0, 0, 0)');\r\n this.renderer.setStyle(this.elementRef.nativeElement, 'overflow', this.#overflow);\r\n }\r\n\r\n scrollTop = () => {\r\n setTimeout(() => {\r\n if (this.elementRef?.nativeElement) {\r\n this.elementRef.nativeElement.scrollTop = 0; \r\n }\r\n }, 1);\r\n }\r\n}\r\n","import { Directive, TemplateRef } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[sdSuffix]'\r\n})\r\nexport class SdSuffixDirective {\r\n constructor(public templateRef: TemplateRef<any>) { }\r\n}\r\n","import { Directive, TemplateRef } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[sdLabelDef]'\r\n})\r\nexport class SdLabelDefDirective {\r\n // @Input() sdLableDef: string;\r\n constructor(public templateRef: TemplateRef<any>) { }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { SdViewDefDirective } from './directives/view-def.directive';\r\nimport { SdLetDirective } from './directives/sd-let.directive';\r\nimport { SdScrollDirective } from './directives/sd-scroll.directive';\r\nimport { SdSuffixDirective } from './directives/sd-suffix.directive';\r\nimport { SdLabelDefDirective } from './directives/sd-lable.directive';\r\n// import './typings';\r\n@NgModule({\r\n imports: [\r\n CommonModule\r\n ],\r\n declarations: [\r\n SdViewDefDirective,\r\n SdLetDirective,\r\n SdScrollDirective,\r\n SdSuffixDirective,\r\n SdLabelDefDirective\r\n ],\r\n exports: [\r\n SdViewDefDirective,\r\n SdLetDirective,\r\n SdScrollDirective,\r\n SdSuffixDirective,\r\n SdLabelDefDirective\r\n ],\r\n providers: [\r\n ]\r\n})\r\nexport class SdCommonModule { }\r\n"]}
|
|
1
|
+
{"version":3,"sources":["../../../../node_modules/tslib/tslib.es6.js","../../../../projects/sd-core/common/src/lib/typings/array.extension.ts","../../../../projects/sd-core/common/src/lib/typings/date.extension.ts","../../../../projects/sd-core/common/src/lib/typings/number.extension.ts","../../../../projects/sd-core/common/src/lib/typings/string.extension.ts","../../../../projects/sd-core/common/src/lib/typings/utility.extension.ts","../../../../projects/sd-core/common/src/lib/configurations/firebase.configuration.ts","../../../../projects/sd-core/common/src/lib/configurations/form.configuration.ts","../../../../projects/sd-core/common/src/lib/models/sd-form-control.ts","../../../../projects/sd-core/common/src/lib/services/browser.service.ts","../../../../projects/sd-core/common/src/lib/directives/view-def.directive.ts","../../../../projects/sd-core/common/src/lib/directives/sd-let.directive.ts","../../../../projects/sd-core/common/src/lib/directives/sd-scroll.directive.ts","../../../../projects/sd-core/common/src/lib/directives/sd-suffix.directive.ts","../../../../projects/sd-core/common/src/lib/directives/sd-lable.directive.ts","../../../../projects/sd-core/common/src/lib/common.module.ts"],"names":["extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","prototype","hasOwnProperty","call","__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","pop","length","push","create","__values","o","s","m","i","__read","r","ar","error","__spread","arguments","concat","__classPrivateFieldGet","receiver","state","kind","has","get","__classPrivateFieldSet","set","search","searchText","fields","items","toString","isArray","fs_1","filter","item","some","field","String","aliasIncludes","paging","pageSize","page","index","toObject","key","reduce","obj","_a","union","args","_i","results","filterUnion","val","self","findIndex","args_1","args_1_1","arg","asObservable","of","Date","equal","date1","date2","isDate","getTime","parseFrom","format","dmy","indexOf","hms","strDate","dd","substr","MM","yyyy","today","getFullYear","getMonth","padStart","getDate","date","isNaN","toFormat","addMiliseconds","miliseconds","addHours","hours","addDays","days","addMonths","months","begin","end","diffDays","from","to","diffTime","Math","round","setMilliseconds","getMilliseconds","setHours","getHours","setDate","setMonth","replace","getMinutes","getSeconds","Number","toVNCurrency","digits","toLocaleString","maximumFractionDigits","isPositiveInteger","test","isPositiveNumber","isNumber","pow","isValidEmail","isValidPhone","isValidCode","isNullOrEmpty","isNullOrWhiteSpace","match","changeAliasLowerCase","alias","str","toLowerCase","trim","includes","template","arr","regexp","RegExp","templateToDisplay","entity","matches","matches_1","matches_1_1","slice","SALT","encrypt","l","JSON","stringify","split","encodeURI","join","decrypt","encripted","decodeURI","Error","strs","substring","parse","upload","option","uploadId","document","getElementsByTagName","existedElement","getElementById","remove","element","createElement","setAttribute","style","display","appendChild","addEventListener","evt","file","target","files","lastDot","name","lastIndexOf","extension_1","extensions","toUpperCase","maxSizeInMb","size","message","validator","click","download","filePath","fileName","link","href","visibility","downloadBlob","blob","url","window","URL","createObjectURL","undefined","revokeObjectURL","console","copyToClipboard","text","navigator","clipboard","writeText","allWithPaging","func","defaultPageSize","pageNumber","count","res","_b","total","SdUtility","globalThis","FIREBASE_CONFIG","InjectionToken","FORM_CONFIG","SdFormControl","formState","asyncValidator","_this","_super","sdChanges","Subject","untouchChanges","touchChanges","pristineChanges","__","constructor","__extends","markAsUntouched","onlySelf","markAsTouched","markAsPristine","opts","FormControl","SdBrowserService","_getBrowserNameAndVersion","tem","ua","userAgent","M","version","exec","appName","appVersion","splice","browserNameAndVersion","browerName","browserVersion","defineProperty","Injectable","providedIn","templateRef","Directive","selector","TemplateRef","SdLetDirective","vcRef","context","_updateView","clear","createEmbeddedView","$implicit","sdLet","ViewContainerRef","Input","SdScrollDirective","elementRef","renderer","browserService","_overflow","scrollTop","setTimeout","nativeElement","onMouseOver","isFirefox","setStyle","onMouseOut","ngOnInit","ElementRef","Renderer2","HostListener","NgModule","imports","CommonModule","declarations","SdViewDefDirective","SdSuffixDirective","SdLabelDefDirective","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 { Observable, of } from 'rxjs';\r\n\r\nexport { };\r\n\r\ndeclare global {\r\n interface Array<T = any> {\r\n search(searchText: string | number, fields?: string | string[]): T[];\r\n paging(pageSize: number, page?: number): T[];\r\n toObject(key?: string): { [key: string]: T };\r\n union(key: string, ...args: T[][]): T[];\r\n asObservable(): Observable<T[]>\r\n }\r\n interface ArrayConstructor {\r\n search<T = any>(items: T[], searchText: string | number, fields?: string | string[]): T[];\r\n union<T = any>(key: string, ...args: T[][]): T[];\r\n toObject<T = any>(items: T[], key?: string): { [key: string]: T };\r\n }\r\n}\r\n\r\nArray.prototype.search = function <T = any>(searchText: any, fields?: string | string[]): T[] {\r\n const items: T[] = this;\r\n if (!searchText?.toString()) {\r\n return items;\r\n }\r\n if (Array.isArray(fields)) {\r\n const fs = fields.filter(e => e !== undefined && e !== null && e !== '');\r\n if (!fs.length) {\r\n return items.filter(item => item !== undefined && item !== null && String.aliasIncludes(item, searchText));\r\n }\r\n return items.filter(item => item !== undefined && item !== null && fs.some(field => String.aliasIncludes(item[field], searchText)));\r\n }\r\n if (!fields) {\r\n return items.filter(item => item !== undefined && item !== null && String.aliasIncludes(item, searchText));\r\n }\r\n return items.filter(item => item !== undefined && item !== null && String.aliasIncludes(item[fields], searchText));\r\n};\r\n\r\nArray.prototype.paging = function <T = any>(pageSize: number, page: number = 0): T[] {\r\n const items: T[] = this;\r\n return items.filter((item, index) => {\r\n return index >= page * pageSize\r\n && index < (page + 1) * pageSize;\r\n });\r\n};\r\n\r\nArray.prototype.toObject = function <T = any>(key: string): { [key: string]: T } {\r\n const items: T[] = this;\r\n if (!key) {\r\n return items.filter(item => item !== undefined && item !== null).reduce((obj, item) => { obj[item?.toString()] = item; return obj; }, {});\r\n }\r\n return items.filter(item => item !== undefined && item !== null).reduce((obj, item) => { obj[item[key]?.toString()] = item; return obj; }, {});\r\n};\r\n\r\nArray.prototype.union = function <T = any>(key: string, ...args: T[][]) {\r\n let results: T[] = this;\r\n const filterUnion = <T = any>(val: T, index: number, self: T[]) => val !== undefined && val !== null && self.findIndex((e: { [x: string]: any; }) => !!key ? e[key] === val[key] : e === val) === index;\r\n if (!args?.length) {\r\n return results.filter(filterUnion);\r\n }\r\n for (const arg of args) {\r\n if (Array.isArray(arg)) {\r\n results = [...results, ...arg].filter(filterUnion);\r\n }\r\n }\r\n return results;\r\n}\r\n\r\nArray.prototype.asObservable = function <T = any>() {\r\n const items: T[] = this;\r\n return of(items);\r\n}\r\n\r\nArray.search = <T = any>(items: T[], searchText: string | number, fields?: string | string[]) => {\r\n if (!Array.isArray(items)) {\r\n return [];\r\n }\r\n return items.search(searchText, fields);\r\n};\r\n\r\nArray.union = <T = any>(key: string, ...args: T[][]) => {\r\n return [].union(key, ...args);\r\n}\r\n\r\nArray.toObject = <T>(items: T[], key?: string): { [key: string]: T } => {\r\n if (!Array.isArray(items)) {\r\n return {};\r\n }\r\n return items.toObject(key);\r\n}\r\n\r\n","export { };\r\n\r\ndeclare global {\r\n interface Date {\r\n begin(): Date;\r\n end(): Date;\r\n addMiliseconds(miliseconds: number): Date;\r\n addHours(hours: number): Date;\r\n addDays(days: number): Date;\r\n addMonths(months: number): Date;\r\n toFormat(format: string): string;\r\n }\r\n interface DateConstructor {\r\n equal(date1: any, date2: any): boolean;\r\n parseFrom(value: any, format: string): Date;\r\n isDate(value: any): boolean;\r\n toFormat(value: any, format: string): string;\r\n addMiliseconds(value: any, miliseconds: number): Date;\r\n addHours(value: any, hours: number): Date;\r\n addDays(value: any, days: number): Date;\r\n addMonths(value: any, months: number): Date;\r\n begin(value: any): Date;\r\n end(value: any): Date;\r\n diffDays(from: any, to: any): number;\r\n }\r\n}\r\n\r\nDate.equal = (date1: any, date2: any) => {\r\n if (!Date.isDate(date1) && !Date.isDate(date2)) {\r\n return true;\r\n }\r\n if (!Date.isDate(date1) || !Date.isDate(date2)) {\r\n return false;\r\n }\r\n return new Date(date1).getTime() === new Date(date2).getTime();\r\n};\r\n\r\nDate.parseFrom = (value: any, format: string) => {\r\n if (!value) {\r\n return null;\r\n }\r\n if (!format) {\r\n return null;\r\n }\r\n value = value.toString();\r\n const dmy = format.indexOf('dd') > -1 && format.indexOf('MM') > -1 && format.indexOf('yyyy') > -1;\r\n const hms = format.indexOf('HH') > -1 || format.indexOf('mm') > -1 || format.indexOf('ss') > -1;\r\n let strDate = '';\r\n if (dmy) {\r\n const dd = value.substr(format.indexOf('dd'), 'dd'.length);\r\n const MM = value.substr(format.indexOf('MM'), 'MM'.length);\r\n const yyyy = value.substr(format.indexOf('yyyy'), 'yyyy'.length);\r\n if (+yyyy > 0 && +MM > 0 && +dd > 0) {\r\n strDate += `${MM}/${dd}/${yyyy}`;\r\n } else {\r\n return null;\r\n }\r\n } else {\r\n const today = new Date();\r\n const yyyy = today.getFullYear().toString();\r\n const MM = (today.getMonth() + 1).toString().padStart(2, '0');\r\n const dd = today.getDate().toString().padStart(2, '0');\r\n strDate += `${MM}/${dd}/${yyyy}`;\r\n }\r\n if (hms) {\r\n const HH = format.indexOf('HH') > -1 ? value.substr(format.indexOf('HH'), 'HH'.length) : '00';\r\n const mm = format.indexOf('mm') > -1 ? value.substr(format.indexOf('mm'), 'mm'.length) : '00';\r\n const ss = format.indexOf('ss') > -1 ? value.substr(format.indexOf('ss'), 'ss'.length) : '00';\r\n strDate += ` ${HH || '00'}:${mm || '00'}:${ss || '00'}`;\r\n }\r\n if (!Date.isDate(strDate)) {\r\n return null;\r\n }\r\n return new Date(strDate);\r\n};\r\n\r\nDate.isDate = (value: any) => {\r\n if (!value) {\r\n return false;\r\n }\r\n const date = new Date(value);\r\n return !isNaN(date.getTime());\r\n};\r\n\r\nDate.toFormat = (value: any, format: string): string => {\r\n if (!Date.isDate(value)) {\r\n return '';\r\n }\r\n const date: Date = new Date(value);\r\n return date.toFormat(format);\r\n};\r\n\r\nDate.addMiliseconds = (value: any, miliseconds: number): Date => {\r\n if (!Date.isDate(value)) {\r\n return null;\r\n }\r\n const date: Date = new Date(value);\r\n return date.addMiliseconds(miliseconds);\r\n};\r\n\r\nDate.addHours = (value: any, hours: number): Date => {\r\n if (!Date.isDate(value)) {\r\n return null;\r\n }\r\n const date: Date = new Date(value);\r\n return date.addHours(hours);\r\n};\r\n\r\nDate.addDays = (value: any, days: number): Date => {\r\n if (!Date.isDate(value)) {\r\n return null;\r\n }\r\n const date: Date = new Date(value);\r\n return date.addDays(days);\r\n};\r\n\r\nDate.addMonths = (value: any, months: number): Date => {\r\n if (!Date.isDate(value)) {\r\n return null;\r\n }\r\n const date: Date = new Date(value);\r\n return date.addMonths(months);\r\n};\r\n\r\nDate.begin = (value: any) => {\r\n if (!Date.isDate(value)) {\r\n return null;\r\n }\r\n return new Date(Date.toFormat(value, 'MM/dd/yyyy'));\r\n};\r\n\r\nDate.end = (value: any) => {\r\n if (!Date.isDate(value)) {\r\n return null;\r\n }\r\n return new Date(value).addDays(1).begin().addMiliseconds(-1);\r\n};\r\n\r\nDate.diffDays = (from: any, to: any) => {\r\n if (!Date.isDate(from) || !Date.isDate(to)) {\r\n return undefined;\r\n }\r\n const diffTime = new Date(to).getTime() - new Date(from).getTime();\r\n const diffDays = Math.round((diffTime / (1000 * 60 * 60 * 24)) * 100) / 100; \r\n return diffDays;\r\n};\r\n\r\nDate.prototype.begin = function () {\r\n return new Date(this.toFormat('MM/dd/yyyy'));\r\n};\r\n\r\nDate.prototype.end = function () {\r\n const date: Date = this;\r\n return date.addDays(1).begin().addMiliseconds(-1);\r\n};\r\n\r\nDate.prototype.addMiliseconds = function (miliseconds: number) {\r\n const date: Date = this;\r\n date.setMilliseconds(date.getMilliseconds() + miliseconds);\r\n return date;\r\n};\r\n\r\nDate.prototype.addHours = function (hours: number) {\r\n const date: Date = this;\r\n date.setHours(date.getHours() + hours);\r\n return date;\r\n};\r\n\r\nDate.prototype.addDays = function (days: number) {\r\n const date: Date = this;\r\n date.setDate(date.getDate() + days);\r\n return date;\r\n};\r\n\r\nDate.prototype.addMonths = function (months: number) {\r\n const date: Date = this;\r\n date.setMonth(date.getMonth() + months);\r\n return date;\r\n};\r\n\r\nDate.prototype.toFormat = function (format: string) {\r\n const date: Date = this;\r\n let result = format;\r\n result = result.replace('yyyy', date.getFullYear().toString());\r\n result = result.replace('MM', (date.getMonth() + 1).toString().padStart(2, '0'));\r\n result = result.replace('dd', date.getDate().toString().padStart(2, '0'));\r\n result = result.replace('HH', date.getHours().toString().padStart(2, '0'));\r\n result = result.replace('mm', date.getMinutes().toString().padStart(2, '0'));\r\n result = result.replace('ss', date.getSeconds().toString().padStart(2, '0'));\r\n return result;\r\n};\r\n","export { };\r\n\r\ndeclare global {\r\n interface NumberConstructor {\r\n toVNCurrency(value: any, digits?: number): string;\r\n isNumber(value: any): boolean;\r\n isPositiveInteger(value: any): boolean;\r\n isPositiveNumber(value: any): boolean;\r\n round(value: any, digits?: number): number;\r\n }\r\n}\r\n\r\nNumber.toVNCurrency = (value: any, digits?: number) => {\r\n value = (value ?? '').toString().replace(/,/g, '');\r\n if (!value) {\r\n return null;\r\n }\r\n const val = +value;\r\n if (!Number.isNaN(val)) {\r\n if(!digits && digits !== 0) {\r\n return val.toLocaleString('vi-VN', { maximumFractionDigits: 10 });\r\n }\r\n return val.toLocaleString('vi-VN', { maximumFractionDigits: digits });\r\n }\r\n return null;\r\n};\r\n\r\nNumber.isPositiveInteger = (value: any) => {\r\n if (!value) {\r\n return false;\r\n }\r\n const regex = /^([0-9]*)$/;\r\n return regex.test(value) && +value > 0;\r\n};\r\n\r\nNumber.isPositiveNumber = (value: any) => {\r\n if (!value) {\r\n return false;\r\n }\r\n const regex = /^([0-9]*)(\\.[0-9]+$){0,1}$/;\r\n return regex.test(value) && +value > 0;\r\n};\r\n\r\nNumber.isNumber = (value: any) => {\r\n if (value === undefined || value === null || value === '') {\r\n return false;\r\n }\r\n return !Number.isNaN(+value);\r\n};\r\n\r\nNumber.round = (value: any, digits?: number) => {\r\n digits = digits ?? 2;\r\n if (!Number.isNumber(value)) {\r\n return null;\r\n }\r\n const val = Math.pow(10, digits);\r\n return Math.round(value * val) / val;\r\n};","export { };\r\n\r\ndeclare global {\r\n interface StringConstructor {\r\n isValidEmail(value: any): boolean;\r\n isValidPhone(value: any): boolean;\r\n isValidCode(value: any): boolean;\r\n changeAliasLowerCase(alias: any): string;\r\n aliasIncludes(alias: any, searchText: any): boolean;\r\n format(template: string, ...arr: any[]): string;\r\n templateToDisplay(template: string, entity: any): string; // Convert theo format ${key}\r\n encrypt(obj: any): string;\r\n decrypt(encripted: string): any;\r\n isNullOrEmpty(value: any): boolean;\r\n isNullOrWhiteSpace(value: any): boolean;\r\n }\r\n}\r\n\r\nString.isValidEmail = (value: any) => {\r\n if (!value) {\r\n return false;\r\n }\r\n const re = /^(([^<>()\\[\\]\\.,;:\\s@\\\"]+(\\.[^<>()\\[\\]\\.,;:\\s@\\\"]+)*)|(\\\".+\\\"))@(([^<>()[\\]\\.,;:\\s@\\\"]+\\.)+[^<>()[\\]\\.,;:\\s@\\\"]{2,})$/i;\r\n return re.test(value);\r\n};\r\n\r\nString.isValidPhone = (value: any) => {\r\n if (!value) {\r\n return false;\r\n }\r\n const re = /^[+]*[(]{0,1}[0-9]{1,4}[)]{0,1}[-\\s\\./0-9]*$/;\r\n return re.test(value);\r\n};\r\n\r\nString.isValidCode = (value: any) => {\r\n if (!value) {\r\n return false;\r\n }\r\n const re = /^[a-zA-Z0-9\\@\\_\\-]{2,20}$/;\r\n return re.test(value);\r\n};\r\n\r\nString.isNullOrEmpty = (value: any) => {\r\n return value === undefined || value === null || value === '';\r\n};\r\n\r\nString.isNullOrWhiteSpace = (value: any) => {\r\n return value === undefined || value === null || typeof value !== 'string' || value.match(/^ *$/) !== null;\r\n};\r\n\r\nString.changeAliasLowerCase = (alias: any) => {\r\n let str: string = alias?.toString() ?? '';\r\n str = str.toString().toLowerCase();\r\n str = str.replace(/à|á|ạ|ả|ã|â|ầ|ấ|ậ|ẩ|ẫ|ă|ằ|ắ|ặ|ẳ|ẵ/g, 'a');\r\n str = str.replace(/è|é|ẹ|ẻ|ẽ|ê|ề|ế|ệ|ể|ễ/g, 'e');\r\n str = str.replace(/ì|í|ị|ỉ|ĩ/g, 'i');\r\n str = str.replace(/ò|ó|ọ|ỏ|õ|ô|ồ|ố|ộ|ổ|ỗ|ơ|ờ|ớ|ợ|ở|ỡ/g, 'o');\r\n str = str.replace(/ù|ú|ụ|ủ|ũ|ư|ừ|ứ|ự|ử|ữ/g, 'u');\r\n str = str.replace(/ỳ|ý|ỵ|ỷ|ỹ/g, 'y');\r\n str = str.replace(/đ/g, 'd');\r\n str = str.replace(/!|@|%|\\^|\\*|\\(|\\)|\\+|\\=|\\<|\\>|\\?|\\/|,|\\.|\\:|\\;|\\'|\\\"|\\&|\\#|\\[|\\]|~|\\$|_|`|-|{|}|\\||\\\\/g, ' ');\r\n str = str.replace(/ + /g, ' ');\r\n str = str.trim();\r\n return str;\r\n}\r\n\r\nString.aliasIncludes = (alias: any, searchText: any) => {\r\n return String.changeAliasLowerCase(alias).includes(String.changeAliasLowerCase(searchText));\r\n}\r\n\r\nString.format = (template: string, ...arr: any[]) => {\r\n for (let i = 0; i < arr.length; i++) {\r\n const regexp = new RegExp(`\\\\{${i}\\\\}`, 'gi');\r\n template = template.replace(regexp, arr[i]);\r\n }\r\n return template;\r\n}\r\n\r\nString.templateToDisplay = (template: string, entity: any) => {\r\n if (!template) {\r\n return template;\r\n }\r\n const regex = /\\$\\{([A-Za-z._\\-]*)\\}/g;\r\n const matches = template.match(regex) || [];\r\n for (const match of matches) {\r\n const key = match.slice(2, match.length - 1);\r\n if (key) {\r\n template = template.replace(match, entity?.[key] || '');\r\n }\r\n }\r\n return template;\r\n}\r\n\r\nconst SALT = 'cb9f4b2a-d26c-4787-a66e-e7130ee00f95';\r\n\r\nString.encrypt = (obj: any) => {\r\n obj = JSON.stringify(obj).split('');\r\n for (var i = 0, l = obj.length; i < l; i++)\r\n if (obj[i] == '{')\r\n obj[i] = '}';\r\n else if (obj[i] == '}')\r\n obj[i] = '{';\r\n return encodeURI(SALT + obj.join(''));\r\n}\r\n\r\nString.decrypt = (encripted: string) => {\r\n encripted = decodeURI(encripted);\r\n if (SALT && encripted.indexOf(SALT) != 0)\r\n throw new Error('object cannot be decrypted');\r\n const strs = encripted.substring(SALT.length).split('');\r\n for (let i = 0, l = strs.length; i < l; i++)\r\n if (strs[i] == '{')\r\n strs[i] = '}';\r\n else if (encripted[i] == '}')\r\n strs[i] = '{';\r\n return JSON.parse(strs.join(''));\r\n}\r\n","export { };\r\n// declare var Date: DateConstructor;\r\ninterface SdUtilityContructor {\r\n upload: (option?: {\r\n extensions?: string[];\r\n maxSizeInMb?: number;\r\n validator?: (fileName: string) => string;\r\n }) => Promise<File | null>;\r\n download: (filePath: string, fileName?: string) => void\r\n downloadBlob: (blob: Blob, fileName?: string) => void;\r\n changeAliasLowerCase: (alias: string) => string;\r\n copyToClipboard: (text: string) => void;\r\n allWithPaging: <T = any>(func: (pageSize: number, pageNumber: number) => Promise<{\r\n items: T[];\r\n total: number;\r\n }>, defaultPageSize?: number) => Promise<T[]>\r\n}\r\n\r\n\r\nconst upload = (option?: {\r\n extensions?: string[],\r\n maxSizeInMb?: number,\r\n validator?: (fileName: string) => string\r\n}) => {\r\n const uploadId = 'U1e09c1c0-b647-437e-995e-d7a1a1b60550';\r\n const promise = new Promise<File | null>((resolve, reject) => {\r\n const body = document.getElementsByTagName('body')?.[0];\r\n if (!body) {\r\n resolve(null);\r\n return;\r\n }\r\n const existedElement = document.getElementById(uploadId);\r\n if (existedElement) {\r\n existedElement.remove();\r\n }\r\n const element = document.createElement('input');\r\n element.setAttribute('id', uploadId);\r\n element.setAttribute('type', 'file');\r\n element.style.display = 'none';\r\n body.appendChild(element);\r\n element.addEventListener('change', (evt: any) => {\r\n try {\r\n const target = evt.target as DataTransfer;\r\n const file = target.files.item(0);\r\n if (file) {\r\n const lastDot = file.name.lastIndexOf('.');\r\n if (lastDot === -1) {\r\n throw new Error(`File không đúng định dạng`);\r\n }\r\n const extension = file.name.substring(lastDot + 1);\r\n if (option) {\r\n if (option.extensions?.length && !option.extensions.some(e => e.toUpperCase() === extension.toUpperCase())) {\r\n throw new Error(`File không đúng định dạng`);\r\n }\r\n if (option.maxSizeInMb && option.maxSizeInMb > 0 && option.maxSizeInMb * 1024 * 1024 < file.size) {\r\n const message = `[${file.name}] Dung lượng tối đa ${option.maxSizeInMb} Mbs`;\r\n throw new Error(message);\r\n }\r\n if (option.validator && option.validator(file.name)) {\r\n const message = option.validator(file.name);\r\n throw new Error(message);\r\n }\r\n }\r\n resolve(file);\r\n }\r\n } catch (error) {\r\n reject(error);\r\n }\r\n });\r\n element.click();\r\n });\r\n return promise;\r\n}\r\n\r\nconst download = (filePath: string, fileName?: string) => {\r\n const link = document.createElement('a');\r\n link.download = `${fileName || 'File'}_${new Date().toFormat('yyyy_MM_dd_HH_mm')}`;\r\n link.href = filePath;\r\n link.style.visibility = 'hidden';\r\n document.body.appendChild(link);\r\n link.click();\r\n link.remove();\r\n}\r\n\r\nconst downloadBlob = (blob: Blob, fileName?: string) => {\r\n try {\r\n const url = window.URL.createObjectURL(blob);\r\n const link = document.createElement('a');\r\n if (link.download !== undefined) { // feature detection\r\n link.download = `${fileName || 'File'}_${new Date().toFormat('yyyy_MM_dd_HH_mm')}`;\r\n link.href = url;\r\n link.style.visibility = 'hidden';\r\n document.body.appendChild(link);\r\n link.click();\r\n window.URL.revokeObjectURL(url);\r\n link.remove();\r\n }\r\n } catch (e) {\r\n console.error('BlobToSaveAs error', e);\r\n }\r\n}\r\n\r\nconst changeAliasLowerCase = (alias: string) => {\r\n let str = alias?.toString() ?? '';\r\n str = str.toString().toLowerCase();\r\n str = str.replace(/à|á|ạ|ả|ã|â|ầ|ấ|ậ|ẩ|ẫ|ă|ằ|ắ|ặ|ẳ|ẵ/g, 'a');\r\n str = str.replace(/è|é|ẹ|ẻ|ẽ|ê|ề|ế|ệ|ể|ễ/g, 'e');\r\n str = str.replace(/ì|í|ị|ỉ|ĩ/g, 'i');\r\n str = str.replace(/ò|ó|ọ|ỏ|õ|ô|ồ|ố|ộ|ổ|ỗ|ơ|ờ|ớ|ợ|ở|ỡ/g, 'o');\r\n str = str.replace(/ù|ú|ụ|ủ|ũ|ư|ừ|ứ|ự|ử|ữ/g, 'u');\r\n str = str.replace(/ỳ|ý|ỵ|ỷ|ỹ/g, 'y');\r\n str = str.replace(/đ/g, 'd');\r\n str = str.replace(/!|@|%|\\^|\\*|\\(|\\)|\\+|\\=|\\<|\\>|\\?|\\/|,|\\.|\\:|\\;|\\'|\\\"|\\&|\\#|\\[|\\]|~|\\$|_|`|-|{|}|\\||\\\\/g, ' ');\r\n str = str.replace(/ + /g, ' ');\r\n str = str.trim();\r\n return str;\r\n}\r\n\r\nconst copyToClipboard = (text: string) => {\r\n navigator.clipboard.writeText(text);\r\n}\r\n\r\nconst allWithPaging = async <T = any>(func: (pageSize: number, pageNumber: number) => Promise<{ items: T[], total: number }>, defaultPageSize?: number): Promise<T[]> => {\r\n let pageSize = defaultPageSize || 1000;\r\n let pageNumber = 0;\r\n let count = 0;\r\n let items: T[] = [];\r\n while (true) {\r\n const res = await func(pageSize, pageNumber);\r\n if (Array(res?.items) && res?.total > 0) {\r\n items = [...items, ...res.items];\r\n count += res.items.length;\r\n pageNumber++;\r\n if (count >= res.total || !res.items?.length) {\r\n return items;\r\n }\r\n } else {\r\n return [];\r\n }\r\n }\r\n}\r\n\r\nvar SdUtility: SdUtilityContructor = {\r\n upload,\r\n download,\r\n downloadBlob,\r\n changeAliasLowerCase,\r\n copyToClipboard,\r\n allWithPaging\r\n};\r\n\r\ndeclare global {\r\n var SdUtility: SdUtilityContructor;\r\n}\r\nglobalThis.SdUtility = SdUtility;","import { InjectionToken } from \"@angular/core\";\r\n\r\nexport interface IFirebaseConfiguration {\r\n functionUrl: string;\r\n project: string;\r\n env: string;\r\n folder?: string | (() => string);\r\n}\r\n\r\nexport const FIREBASE_CONFIG = new InjectionToken<IFirebaseConfiguration>('sd.firebase.configuration');","import { InjectionToken } from \"@angular/core\";\r\nimport { MatFormFieldAppearance } from \"@angular/material/form-field\";\r\n\r\nexport interface IFormConfiguration {\r\n appearance?: MatFormFieldAppearance; \r\n}\r\n\r\nexport const FORM_CONFIG = new InjectionToken<IFormConfiguration>('sd.form.configuration');","import { FormControl, AsyncValidatorFn, ValidatorFn } from '@angular/forms';\r\nimport { Subject } from 'rxjs';\r\nexport class SdFormControl extends FormControl {\r\n sdChanges: Subject<boolean> = new Subject<boolean>();\r\n untouchChanges: Subject<boolean> = new Subject<boolean>();\r\n touchChanges: Subject<boolean> = new Subject<boolean>();\r\n pristineChanges: Subject<boolean> = new Subject<boolean>();\r\n constructor(\r\n formState?: Object,\r\n validator: ValidatorFn | ValidatorFn[] = null,\r\n asyncValidator: AsyncValidatorFn | AsyncValidatorFn[] = null\r\n ) {\r\n super(formState, validator, asyncValidator);\r\n }\r\n\r\n markAsUntouched({ onlySelf }: { onlySelf?: boolean } = {}): void {\r\n super.markAsUntouched({ onlySelf });\r\n this.untouchChanges.next(true);\r\n this.sdChanges.next(true);\r\n }\r\n\r\n markAsTouched({ onlySelf }: { onlySelf?: boolean } = {}): void {\r\n super.markAsTouched({ onlySelf });\r\n this.touchChanges.next(true);\r\n this.sdChanges.next(true);\r\n }\r\n\r\n markAsPristine(opts?: {\r\n onlySelf?: boolean;\r\n }): void {\r\n super.markAsPristine(opts);\r\n this.pristineChanges.next(true);\r\n this.sdChanges.next(true);\r\n }\r\n}","import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SdBrowserService {\r\n browerName: string;\r\n browserVersion: string;\r\n get isChrome() { return this.browerName === 'Chrome'; }\r\n get isFirefox() { return this.browerName === 'Firefox'; }\r\n get isSafari() { return this.browerName === 'Safari'; }\r\n constructor() {\r\n const browserNameAndVersion = this.#getBrowserNameAndVersion();\r\n this.browerName = browserNameAndVersion.name;\r\n this.browserVersion = browserNameAndVersion.version;\r\n }\r\n\r\n #getBrowserNameAndVersion = () => {\r\n const ua = navigator.userAgent;\r\n let M = ua.match(/(opera|chrome|safari|firefox|msie|trident(?=\\/))\\/?\\s*(\\d+)/i) || [];\r\n let tem: RegExpMatchArray;\r\n if (/trident/i.test(M[1])) {\r\n tem = /\\brv[ :]+(\\d+)/g.exec(ua) || [];\r\n return { name: 'IE', version: (tem[1] || '') };\r\n }\r\n if (M[1] === 'Chrome') {\r\n tem = ua.match(/\\bEdg\\/(\\d+)/);\r\n if (tem != null) { return { name: 'Edge(Chromium)', version: tem[1] }; }\r\n tem = ua.match(/\\bOPR\\/(\\d+)/);\r\n if (tem != null) { return { name: 'Opera', version: tem[1] }; }\r\n }\r\n M = M[2] ? [M[1], M[2]] : [navigator.appName, navigator.appVersion, '-?'];\r\n tem = ua.match(/version\\/(\\d+)/i);\r\n if (tem != null) { M.splice(1, 1, tem[1]); }\r\n return {\r\n name: M[0],\r\n version: M[1]\r\n };\r\n }\r\n}\r\n","import { Directive, TemplateRef } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[sdViewDef]'\r\n})\r\nexport class SdViewDefDirective {\r\n // @Input() sdViewDef: string;\r\n constructor(public templateRef: TemplateRef<any>) { }\r\n}\r\n","import { Directive, Input, TemplateRef, ViewContainerRef } from \"@angular/core\";\r\n@Directive({\r\n selector: '[sdLet]',\r\n})\r\nexport class SdLetDirective {\r\n @Input()\r\n set sdLet(context: any) {\r\n this.context.$implicit = this.context.sdLet = context;\r\n this.#updateView();\r\n }\r\n context: any = {};\r\n\r\n constructor(private vcRef: ViewContainerRef, private templateRef: TemplateRef<any>) { }\r\n\r\n #updateView = () => {\r\n this.vcRef.clear();\r\n this.vcRef.createEmbeddedView(this.templateRef, this.context);\r\n }\r\n}","import { Directive, ElementRef, HostListener, OnInit, Renderer2 } from \"@angular/core\";\r\nimport { SdBrowserService } from '../services/browser.service';\r\n\r\n@Directive({\r\n selector: \"[sdScroll]\",\r\n})\r\nexport class SdScrollDirective implements OnInit {\r\n #overflow: 'hidden' | 'auto' | 'overlay' = 'hidden';\r\n @HostListener('mouseover')\r\n onMouseOver() {\r\n this.#overflow = this.browserService.isFirefox ? 'auto' : 'overlay';\r\n this.renderer.setStyle(this.elementRef.nativeElement, 'overflow', this.#overflow);\r\n }\r\n\r\n @HostListener('mouseout')\r\n onMouseOut() {\r\n this.#overflow = 'hidden';\r\n this.renderer.setStyle(this.elementRef.nativeElement, 'overflow', this.#overflow);\r\n }\r\n constructor(\r\n private elementRef: ElementRef,\r\n private renderer: Renderer2,\r\n private browserService: SdBrowserService) { }\r\n\r\n ngOnInit(): void {\r\n this.renderer.setStyle(this.elementRef.nativeElement, '-webkit-transform', 'translate3d(0, 0, 0)');\r\n this.renderer.setStyle(this.elementRef.nativeElement, 'overflow', this.#overflow);\r\n }\r\n\r\n scrollTop = () => {\r\n setTimeout(() => {\r\n if (this.elementRef?.nativeElement) {\r\n this.elementRef.nativeElement.scrollTop = 0; \r\n }\r\n }, 1);\r\n }\r\n}\r\n","import { Directive, TemplateRef } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[sdSuffix]'\r\n})\r\nexport class SdSuffixDirective {\r\n constructor(public templateRef: TemplateRef<any>) { }\r\n}\r\n","import { Directive, TemplateRef } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[sdLabelDef]'\r\n})\r\nexport class SdLabelDefDirective {\r\n // @Input() sdLableDef: string;\r\n constructor(public templateRef: TemplateRef<any>) { }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { SdViewDefDirective } from './directives/view-def.directive';\r\nimport { SdLetDirective } from './directives/sd-let.directive';\r\nimport { SdScrollDirective } from './directives/sd-scroll.directive';\r\nimport { SdSuffixDirective } from './directives/sd-suffix.directive';\r\nimport { SdLabelDefDirective } from './directives/sd-lable.directive';\r\n// import './typings';\r\n@NgModule({\r\n imports: [\r\n CommonModule\r\n ],\r\n declarations: [\r\n SdViewDefDirective,\r\n SdLetDirective,\r\n SdScrollDirective,\r\n SdSuffixDirective,\r\n SdLabelDefDirective\r\n ],\r\n exports: [\r\n SdViewDefDirective,\r\n SdLetDirective,\r\n SdScrollDirective,\r\n SdSuffixDirective,\r\n SdLabelDefDirective\r\n ],\r\n providers: [\r\n ]\r\n})\r\nexport class SdCommonModule { }\r\n"]}
|
|
@@ -1,8 +1,31 @@
|
|
|
1
1
|
(function (global, factory) {
|
|
2
|
-
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/common'), require('@angular/material/dialog'), require('@angular/material/icon')) :
|
|
3
|
-
typeof define === 'function' && define.amd ? define('@sd-angular/core/image-preview', ['exports', '@angular/core', '@angular/common', '@angular/material/dialog', '@angular/material/icon'], factory) :
|
|
4
|
-
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global['sd-angular'] = global['sd-angular'] || {}, global['sd-angular'].core = global['sd-angular'].core || {}, global['sd-angular'].core['image-preview'] = {}), global.ng.core, global.ng.common, global.ng.material.dialog, global.ng.material.icon));
|
|
5
|
-
}(this, (function (exports, core, common, dialog, icon) { 'use strict';
|
|
2
|
+
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/common'), require('@angular/material/dialog'), require('@angular/material/icon'), require('jquery'), require('@sd-angular/core/modal')) :
|
|
3
|
+
typeof define === 'function' && define.amd ? define('@sd-angular/core/image-preview', ['exports', '@angular/core', '@angular/common', '@angular/material/dialog', '@angular/material/icon', 'jquery', '@sd-angular/core/modal'], factory) :
|
|
4
|
+
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global['sd-angular'] = global['sd-angular'] || {}, global['sd-angular'].core = global['sd-angular'].core || {}, global['sd-angular'].core['image-preview'] = {}), global.ng.core, global.ng.common, global.ng.material.dialog, global.ng.material.icon, global.$, global['sd-angular'].core.modal));
|
|
5
|
+
}(this, (function (exports, core, common, dialog, icon, $, modal) { 'use strict';
|
|
6
|
+
|
|
7
|
+
function _interopNamespace(e) {
|
|
8
|
+
if (e && e.__esModule) { return e; } else {
|
|
9
|
+
var n = Object.create(null);
|
|
10
|
+
if (e) {
|
|
11
|
+
Object.keys(e).forEach(function (k) {
|
|
12
|
+
if (k !== 'default') {
|
|
13
|
+
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
14
|
+
Object.defineProperty(n, k, d.get ? d : {
|
|
15
|
+
enumerable: true,
|
|
16
|
+
get: function () {
|
|
17
|
+
return e[k];
|
|
18
|
+
}
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
n['default'] = e;
|
|
24
|
+
return Object.freeze(n);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
var $__namespace = /*#__PURE__*/_interopNamespace($);
|
|
6
29
|
|
|
7
30
|
var ImagePreviewComponent = /** @class */ (function () {
|
|
8
31
|
function ImagePreviewComponent(dialogRef, data) {
|
|
@@ -85,6 +108,96 @@
|
|
|
85
108
|
onClick: [{ type: core.HostListener, args: ["click",] }]
|
|
86
109
|
};
|
|
87
110
|
|
|
111
|
+
var _initImageSlideShowBox;
|
|
112
|
+
var ImagePreviewSdmodalComponent = /** @class */ (function () {
|
|
113
|
+
function ImagePreviewSdmodalComponent(dialogRef, data) {
|
|
114
|
+
var _this = this;
|
|
115
|
+
this.dialogRef = dialogRef;
|
|
116
|
+
this.data = data;
|
|
117
|
+
this.imageList = [];
|
|
118
|
+
this.imageOrgWidthList = [];
|
|
119
|
+
this.imageListTotal = 0;
|
|
120
|
+
this.imageCurrent = '';
|
|
121
|
+
this.imageCurrentIndex = 0;
|
|
122
|
+
this.imageCurrentPercent = 100;
|
|
123
|
+
this.imageCurrentWidth = 0;
|
|
124
|
+
_initImageSlideShowBox.set(this, function () {
|
|
125
|
+
setTimeout(function () {
|
|
126
|
+
_this.imageList = [];
|
|
127
|
+
_this.imageOrgWidthList = [];
|
|
128
|
+
$__namespace('img[alt=c-image-editor-quill]').each(function (index, obj) {
|
|
129
|
+
$__namespace(obj).parent('a').addClass('c-image-editor-quill-box');
|
|
130
|
+
$__namespace(obj).parent('a').click(function (e) {
|
|
131
|
+
e.preventDefault();
|
|
132
|
+
e.stopPropagation();
|
|
133
|
+
var currentImg = $__namespace(e.currentTarget).children('img');
|
|
134
|
+
_this.imageCurrent = $__namespace(currentImg).attr('src');
|
|
135
|
+
_this.imageCurrentIndex = _this.imageList.findIndex(function (t) { return t === _this.imageCurrent; });
|
|
136
|
+
_this.imageCurrentPercent = 100;
|
|
137
|
+
// @ts-ignore
|
|
138
|
+
_this.imageCurrentWidth = $__namespace(currentImg)[0].naturalWidth;
|
|
139
|
+
_this.popup.open();
|
|
140
|
+
});
|
|
141
|
+
_this.imageList.push($__namespace(obj).attr('src'));
|
|
142
|
+
// @ts-ignore
|
|
143
|
+
_this.imageOrgWidthList.push($__namespace(obj)[0].naturalWidth);
|
|
144
|
+
_this.imageListTotal = _this.imageList.length;
|
|
145
|
+
});
|
|
146
|
+
}, 100);
|
|
147
|
+
});
|
|
148
|
+
this.imageGalleryBoxPrev = function () {
|
|
149
|
+
if (_this.imageCurrentIndex > 0) {
|
|
150
|
+
_this.imageCurrentIndex--;
|
|
151
|
+
_this.imageCurrent = _this.imageList[_this.imageCurrentIndex];
|
|
152
|
+
_this.imageGalleryBoxCalculateWidth();
|
|
153
|
+
}
|
|
154
|
+
};
|
|
155
|
+
this.imageGalleryBoxNext = function () {
|
|
156
|
+
if (_this.imageCurrentIndex < _this.imageList.length - 1) {
|
|
157
|
+
_this.imageCurrentIndex++;
|
|
158
|
+
_this.imageCurrent = _this.imageList[_this.imageCurrentIndex];
|
|
159
|
+
_this.imageGalleryBoxCalculateWidth();
|
|
160
|
+
}
|
|
161
|
+
};
|
|
162
|
+
this.imageGalleryBoxZoomIn = function () {
|
|
163
|
+
if (_this.imageCurrentPercent < 200) {
|
|
164
|
+
_this.imageCurrentPercent += 10;
|
|
165
|
+
_this.imageGalleryBoxCalculateWidth();
|
|
166
|
+
}
|
|
167
|
+
};
|
|
168
|
+
this.imageGalleryBoxZoomOut = function () {
|
|
169
|
+
if (_this.imageCurrentPercent > 10) {
|
|
170
|
+
_this.imageCurrentPercent -= 10;
|
|
171
|
+
_this.imageGalleryBoxCalculateWidth();
|
|
172
|
+
}
|
|
173
|
+
};
|
|
174
|
+
this.imageGalleryBoxCalculateWidth = function () {
|
|
175
|
+
var orgWidth = _this.imageOrgWidthList[_this.imageCurrentIndex];
|
|
176
|
+
_this.imageCurrentWidth = _this.imageCurrentPercent * orgWidth / 100.0;
|
|
177
|
+
};
|
|
178
|
+
}
|
|
179
|
+
ImagePreviewSdmodalComponent.prototype.ngOnInit = function () {
|
|
180
|
+
// tslint:disable-next-line:max-line-length
|
|
181
|
+
// this.currentImageUrl = typeof this.data.currentImage === 'string' ? this.data.currentImage : this.data.currentImage.previewSrc || this.data.currentImage.src;
|
|
182
|
+
};
|
|
183
|
+
return ImagePreviewSdmodalComponent;
|
|
184
|
+
}());
|
|
185
|
+
_initImageSlideShowBox = new WeakMap();
|
|
186
|
+
ImagePreviewSdmodalComponent.decorators = [
|
|
187
|
+
{ type: core.Component, args: [{
|
|
188
|
+
selector: 'sd-image-preview-2',
|
|
189
|
+
template: "<sd-modal [title]=\"' '\" width=\"90%\" #popup>\r\n <sd-modal-body>\r\n <div class=\"c-image-gallery-box\">\r\n <div class=\"c-content-scroll\">\r\n <div class=\"c-content\">\r\n <div class=\"c-content-cell\">\r\n <img src=\"{{imageCurrent}}\" style=\"width: {{imageCurrentWidth}}px\"/>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"c-toolbar\">\r\n <mat-icon (click)=\"imageGalleryBoxZoomOut()\">zoom_out</mat-icon>\r\n <span><b>{{imageCurrentPercent}}%</b></span>\r\n <mat-icon (click)=\"imageGalleryBoxZoomIn()\">zoom_in</mat-icon>\r\n <span> </span>\r\n <mat-icon (click)=\"imageGalleryBoxPrev()\">navigate_before</mat-icon>\r\n <span><b>{{(imageCurrentIndex + 1)}} / {{imageListTotal}}</b></span>\r\n <mat-icon (click)=\"imageGalleryBoxNext()\">navigate_next</mat-icon>\r\n </div>\r\n\r\n </div>\r\n\r\n </sd-modal-body>\r\n</sd-modal>\r\n",
|
|
190
|
+
styles: [".c-image-gallery-box{background:rgba(0,0,0,.54);position:relative}.c-image-gallery-box .c-content-scroll{height:79vh;overflow:auto;width:100%}.c-image-gallery-box .c-content-scroll .c-content{display:table;height:100%;width:100%}.c-image-gallery-box .c-content-scroll .c-content .c-content-cell{display:table-cell;text-align:center;vertical-align:middle}.c-image-gallery-box .c-toolbar{-moz-user-select:none;-webkit-user-select:none;background:rgba(0,0,0,.5);border-radius:4px;bottom:18px;color:#eee;left:0;margin-left:auto;margin-right:auto;padding-top:8px;position:absolute;right:0;text-align:center;user-select:none;width:250px}.c-image-gallery-box .c-toolbar span{margin:0 4px;vertical-align:top}.c-image-gallery-box .c-toolbar mat-icon{cursor:pointer;margin:0 4px}"]
|
|
191
|
+
},] }
|
|
192
|
+
];
|
|
193
|
+
ImagePreviewSdmodalComponent.ctorParameters = function () { return [
|
|
194
|
+
{ type: dialog.MatDialogRef },
|
|
195
|
+
{ type: undefined, decorators: [{ type: core.Inject, args: [dialog.MAT_DIALOG_DATA,] }] }
|
|
196
|
+
]; };
|
|
197
|
+
ImagePreviewSdmodalComponent.propDecorators = {
|
|
198
|
+
popup: [{ type: core.ViewChild, args: [modal.SdModal,] }]
|
|
199
|
+
};
|
|
200
|
+
|
|
88
201
|
var SdImagePreviewModule = /** @class */ (function () {
|
|
89
202
|
function SdImagePreviewModule() {
|
|
90
203
|
}
|
|
@@ -92,12 +205,13 @@
|
|
|
92
205
|
}());
|
|
93
206
|
SdImagePreviewModule.decorators = [
|
|
94
207
|
{ type: core.NgModule, args: [{
|
|
95
|
-
declarations: [ImagePreviewComponent, ImagePreviewDirective],
|
|
208
|
+
declarations: [ImagePreviewComponent, ImagePreviewSdmodalComponent, ImagePreviewDirective],
|
|
96
209
|
exports: [ImagePreviewDirective],
|
|
97
210
|
imports: [
|
|
98
211
|
common.CommonModule,
|
|
99
212
|
dialog.MatDialogModule,
|
|
100
|
-
icon.MatIconModule
|
|
213
|
+
icon.MatIconModule,
|
|
214
|
+
modal.SdModalModule
|
|
101
215
|
],
|
|
102
216
|
entryComponents: [ImagePreviewComponent]
|
|
103
217
|
},] }
|
|
@@ -113,7 +227,8 @@
|
|
|
113
227
|
|
|
114
228
|
exports.SdImagePreviewModule = SdImagePreviewModule;
|
|
115
229
|
exports.ɵa = ImagePreviewComponent;
|
|
116
|
-
exports.ɵb =
|
|
230
|
+
exports.ɵb = ImagePreviewSdmodalComponent;
|
|
231
|
+
exports.ɵc = ImagePreviewDirective;
|
|
117
232
|
|
|
118
233
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
119
234
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sd-angular-core-image-preview.umd.js","sources":["../../../../projects/sd-core/image-preview/src/lib/image-preview/image-preview.component.ts","../../../../projects/sd-core/image-preview/src/lib/directives/image-preview.directive.ts","../../../../projects/sd-core/image-preview/src/lib/image-preview/image-preview.module.ts","../../../../projects/sd-core/image-preview/src/public-api.ts","../../../../projects/sd-core/image-preview/sd-angular-core-image-preview.ts"],"sourcesContent":["import { Component, Inject, OnInit } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { ImagePreview } from '../models/image-preview.model';\r\n\r\nexport interface Data {\r\n currentImage: Partial<ImagePreview> | string;\r\n images: Array<Partial<ImagePreview>>\r\n}\r\n\r\n@Component({\r\n selector: 'app-image-preview',\r\n templateUrl: './image-preview.component.html',\r\n styleUrls: ['./image-preview.component.scss']\r\n})\r\nexport class ImagePreviewComponent implements OnInit {\r\n currentImageUrl: string;\r\n\r\n constructor(\r\n public dialogRef: MatDialogRef<ImagePreviewComponent>,\r\n @Inject(MAT_DIALOG_DATA) public data: Data\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.currentImageUrl = typeof this.data.currentImage === 'string' ? this.data.currentImage : this.data.currentImage.previewSrc || this.data.currentImage.src;\r\n }\r\n\r\n next(): void {\r\n const currentIdx = this.data.images.findIndex((image: Partial<ImagePreview> )=> (image.previewSrc || image.src) === this.currentImageUrl);\r\n if(currentIdx === this.data.images.length - 1) {\r\n this.currentImageUrl = (this.data.images[0] as Partial<ImagePreview>).previewSrc || (this.data.images[0] as Partial<ImagePreview>).src\r\n } else {\r\n this.currentImageUrl = (this.data.images[currentIdx + 1] as Partial<ImagePreview>).previewSrc || (this.data.images[currentIdx + 1] as Partial<ImagePreview>).src;\r\n }\r\n }\r\n\r\n prev(): void {\r\n const currentIdx = this.data.images.findIndex((image: Partial<ImagePreview> )=> (image.previewSrc || image.src) === this.currentImageUrl);\r\n if(currentIdx === 0) {\r\n this.currentImageUrl = (this.data.images[this.data.images.length - 1] as Partial<ImagePreview>).previewSrc || (this.data.images[this.data.images.length - 1] as Partial<ImagePreview>).src\r\n } else {\r\n this.currentImageUrl = (this.data.images[currentIdx - 1] as Partial<ImagePreview>).previewSrc || (this.data.images[currentIdx - 1] as Partial<ImagePreview>).src;\r\n }\r\n }\r\n\r\n}\r\n","import { Directive, ElementRef, HostListener, Input } from \"@angular/core\";\r\nimport { MatDialog } from \"@angular/material/dialog\";\r\nimport { ImagePreviewComponent } from \"../image-preview/image-preview.component\";\r\n\r\nexport interface ImagePreview {\r\n extension: string;\r\n file: File;\r\n fileName: string;\r\n previewSrc: string;\r\n src: string;\r\n}\r\n\r\n@Directive({\r\n selector: \"[sdImagePreview]\",\r\n})\r\nexport class ImagePreviewDirective {\r\n @Input(\"sdImagePreview\") images?: Array<Partial<ImagePreview>> | string = null;\r\n @Input() sdPreviewCurrentIdx: number;\r\n\r\n constructor(private el: ElementRef, public dialog: MatDialog) {}\r\n\r\n @HostListener(\"click\") onClick() {\r\n let currentImage: string | Partial<ImagePreview>;\r\n currentImage = this.el.nativeElement.src;\r\n if (this.images.length && this.sdPreviewCurrentIdx >= 0) {\r\n currentImage = this.images[this.sdPreviewCurrentIdx];\r\n }\r\n this.dialog.open(ImagePreviewComponent, {\r\n data: { currentImage, images: this.images },\r\n backdropClass: [\"image-prevew-backdrop\"],\r\n panelClass: \"image-prevew-panel\",\r\n width: \"600px\",\r\n maxWidth: \"90%\",\r\n height: \"600px\",\r\n maxHeight: \"90%\",\r\n });\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ImagePreviewComponent } from './image-preview.component';\r\nimport { ImagePreviewDirective } from '../directives/image-preview.directive';\r\nimport { MatDialogModule } from '@angular/material/dialog';\r\nimport { MatIconModule } from '@angular/material/icon';\r\n\r\n\r\n@NgModule({\r\n declarations: [ImagePreviewComponent, ImagePreviewDirective],\r\n exports: [ImagePreviewDirective],\r\n imports: [\r\n CommonModule,\r\n MatDialogModule,\r\n MatIconModule\r\n ],\r\n entryComponents: [ImagePreviewComponent]\r\n})\r\nexport class SdImagePreviewModule { }\r\n","/*\r\n * Public API Surface of superdev-angular-core\r\n */\r\n\r\n\r\nexport * from './lib/image-preview/image-preview.module';\r\nexport * from './lib/models/image-preview.model';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n\nexport {ImagePreviewDirective as ɵb} from './src/lib/directives/image-preview.directive';\nexport {ImagePreviewComponent as ɵa} from './src/lib/image-preview/image-preview.component';"],"names":["Component","MatDialogRef","Inject","MAT_DIALOG_DATA","Directive","ElementRef","MatDialog","Input","HostListener","NgModule","CommonModule","MatDialogModule","MatIconModule"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sd-angular-core-image-preview.umd.js","sources":["../../../../projects/sd-core/image-preview/src/lib/image-preview/image-preview.component.ts","../../../../projects/sd-core/image-preview/src/lib/directives/image-preview.directive.ts","../../../../projects/sd-core/image-preview/src/lib/image-preview/image-preview-sdmodal.component.ts","../../../../projects/sd-core/image-preview/src/lib/image-preview/image-preview.module.ts","../../../../projects/sd-core/image-preview/src/public-api.ts","../../../../projects/sd-core/image-preview/sd-angular-core-image-preview.ts"],"sourcesContent":["import { Component, Inject, OnInit } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { ImagePreview } from '../models/image-preview.model';\r\n\r\nexport interface Data {\r\n currentImage: Partial<ImagePreview> | string;\r\n images: Array<Partial<ImagePreview>>\r\n}\r\n\r\n@Component({\r\n selector: 'app-image-preview',\r\n templateUrl: './image-preview.component.html',\r\n styleUrls: ['./image-preview.component.scss']\r\n})\r\nexport class ImagePreviewComponent implements OnInit {\r\n currentImageUrl: string;\r\n\r\n constructor(\r\n public dialogRef: MatDialogRef<ImagePreviewComponent>,\r\n @Inject(MAT_DIALOG_DATA) public data: Data\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.currentImageUrl = typeof this.data.currentImage === 'string' ? this.data.currentImage : this.data.currentImage.previewSrc || this.data.currentImage.src;\r\n }\r\n\r\n next(): void {\r\n const currentIdx = this.data.images.findIndex((image: Partial<ImagePreview> )=> (image.previewSrc || image.src) === this.currentImageUrl);\r\n if(currentIdx === this.data.images.length - 1) {\r\n this.currentImageUrl = (this.data.images[0] as Partial<ImagePreview>).previewSrc || (this.data.images[0] as Partial<ImagePreview>).src\r\n } else {\r\n this.currentImageUrl = (this.data.images[currentIdx + 1] as Partial<ImagePreview>).previewSrc || (this.data.images[currentIdx + 1] as Partial<ImagePreview>).src;\r\n }\r\n }\r\n\r\n prev(): void {\r\n const currentIdx = this.data.images.findIndex((image: Partial<ImagePreview> )=> (image.previewSrc || image.src) === this.currentImageUrl);\r\n if(currentIdx === 0) {\r\n this.currentImageUrl = (this.data.images[this.data.images.length - 1] as Partial<ImagePreview>).previewSrc || (this.data.images[this.data.images.length - 1] as Partial<ImagePreview>).src\r\n } else {\r\n this.currentImageUrl = (this.data.images[currentIdx - 1] as Partial<ImagePreview>).previewSrc || (this.data.images[currentIdx - 1] as Partial<ImagePreview>).src;\r\n }\r\n }\r\n\r\n}\r\n","import { Directive, ElementRef, HostListener, Input } from \"@angular/core\";\r\nimport { MatDialog } from \"@angular/material/dialog\";\r\nimport { ImagePreviewComponent } from \"../image-preview/image-preview.component\";\r\n\r\nexport interface ImagePreview {\r\n extension: string;\r\n file: File;\r\n fileName: string;\r\n previewSrc: string;\r\n src: string;\r\n}\r\n\r\n@Directive({\r\n selector: \"[sdImagePreview]\",\r\n})\r\nexport class ImagePreviewDirective {\r\n @Input(\"sdImagePreview\") images?: Array<Partial<ImagePreview>> | string = null;\r\n @Input() sdPreviewCurrentIdx: number;\r\n\r\n constructor(private el: ElementRef, public dialog: MatDialog) {}\r\n\r\n @HostListener(\"click\") onClick() {\r\n let currentImage: string | Partial<ImagePreview>;\r\n currentImage = this.el.nativeElement.src;\r\n if (this.images.length && this.sdPreviewCurrentIdx >= 0) {\r\n currentImage = this.images[this.sdPreviewCurrentIdx];\r\n }\r\n this.dialog.open(ImagePreviewComponent, {\r\n data: { currentImage, images: this.images },\r\n backdropClass: [\"image-prevew-backdrop\"],\r\n panelClass: \"image-prevew-panel\",\r\n width: \"600px\",\r\n maxWidth: \"90%\",\r\n height: \"600px\",\r\n maxHeight: \"90%\",\r\n });\r\n }\r\n}\r\n","import {Component, Inject, OnInit, ViewChild} from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { ImagePreview } from '../models/image-preview.model';\r\nimport * as $ from 'jquery';\r\nimport {SdModal} from '@sd-angular/core/modal';\r\n\r\nexport interface Data {\r\n currentImage: Partial<ImagePreview> | string;\r\n images: Array<Partial<ImagePreview>>;\r\n}\r\n\r\n@Component({\r\n selector: 'sd-image-preview-2',\r\n templateUrl: './image-preview-sdmodal.component.html',\r\n styleUrls: ['./image-preview-sdmodal.component.scss']\r\n})\r\nexport class ImagePreviewSdmodalComponent implements OnInit {\r\n @ViewChild(SdModal) popup: SdModal;\r\n imageList = [];\r\n imageOrgWidthList = [];\r\n imageListTotal = 0;\r\n imageCurrent = '';\r\n imageCurrentIndex = 0;\r\n imageCurrentPercent = 100;\r\n imageCurrentWidth = 0;\r\n\r\n constructor(\r\n public dialogRef: MatDialogRef<ImagePreviewSdmodalComponent>,\r\n @Inject(MAT_DIALOG_DATA) public data: Data\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n // tslint:disable-next-line:max-line-length\r\n // this.currentImageUrl = typeof this.data.currentImage === 'string' ? this.data.currentImage : this.data.currentImage.previewSrc || this.data.currentImage.src;\r\n }\r\n\r\n #initImageSlideShowBox = () => {\r\n setTimeout(() => {\r\n this.imageList = [];\r\n this.imageOrgWidthList = [];\r\n $('img[alt=c-image-editor-quill]').each((index, obj) => {\r\n $(obj).parent('a').addClass('c-image-editor-quill-box');\r\n $(obj).parent('a').click((e) => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n const currentImg = $(e.currentTarget).children('img');\r\n this.imageCurrent = $(currentImg).attr('src');\r\n this.imageCurrentIndex = this.imageList.findIndex(t => t === this.imageCurrent);\r\n this.imageCurrentPercent = 100;\r\n // @ts-ignore\r\n this.imageCurrentWidth = $(currentImg)[0].naturalWidth;\r\n this.popup.open();\r\n });\r\n this.imageList.push($(obj).attr('src'));\r\n // @ts-ignore\r\n this.imageOrgWidthList.push($(obj)[0].naturalWidth);\r\n this.imageListTotal = this.imageList.length;\r\n });\r\n }, 100);\r\n\r\n }\r\n\r\n imageGalleryBoxPrev = () => {\r\n if (this.imageCurrentIndex > 0) {\r\n this.imageCurrentIndex--;\r\n this.imageCurrent = this.imageList[this.imageCurrentIndex];\r\n this.imageGalleryBoxCalculateWidth();\r\n }\r\n }\r\n imageGalleryBoxNext = () => {\r\n if (this.imageCurrentIndex < this.imageList.length - 1) {\r\n this.imageCurrentIndex++;\r\n this.imageCurrent = this.imageList[this.imageCurrentIndex];\r\n this.imageGalleryBoxCalculateWidth();\r\n }\r\n }\r\n imageGalleryBoxZoomIn = () => {\r\n if (this.imageCurrentPercent < 200) {\r\n this.imageCurrentPercent += 10;\r\n this.imageGalleryBoxCalculateWidth();\r\n }\r\n }\r\n imageGalleryBoxZoomOut = () => {\r\n if (this.imageCurrentPercent > 10) {\r\n this.imageCurrentPercent -= 10;\r\n this.imageGalleryBoxCalculateWidth();\r\n }\r\n }\r\n imageGalleryBoxCalculateWidth = () => {\r\n const orgWidth = this.imageOrgWidthList[this.imageCurrentIndex];\r\n this.imageCurrentWidth = this.imageCurrentPercent * orgWidth / 100.0;\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ImagePreviewComponent } from './image-preview.component';\r\nimport { ImagePreviewDirective } from '../directives/image-preview.directive';\r\nimport { MatDialogModule } from '@angular/material/dialog';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport {ImagePreviewSdmodalComponent} from './image-preview-sdmodal.component';\r\nimport {SdModalModule} from '@sd-angular/core/modal';\r\n\r\n@NgModule({\r\n declarations: [ImagePreviewComponent, ImagePreviewSdmodalComponent, ImagePreviewDirective],\r\n exports: [ImagePreviewDirective],\r\n imports: [\r\n CommonModule,\r\n MatDialogModule,\r\n MatIconModule,\r\n SdModalModule\r\n ],\r\n entryComponents: [ImagePreviewComponent]\r\n})\r\nexport class SdImagePreviewModule { }\r\n","/*\r\n * Public API Surface of superdev-angular-core\r\n */\r\n\r\n\r\nexport * from './lib/image-preview/image-preview.module';\r\nexport * from './lib/models/image-preview.model';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n\nexport {ImagePreviewDirective as ɵc} from './src/lib/directives/image-preview.directive';\nexport {ImagePreviewSdmodalComponent as ɵb} from './src/lib/image-preview/image-preview-sdmodal.component';\nexport {ImagePreviewComponent as ɵa} from './src/lib/image-preview/image-preview.component';"],"names":["Component","MatDialogRef","Inject","MAT_DIALOG_DATA","Directive","ElementRef","MatDialog","Input","HostListener","$","ViewChild","SdModal","NgModule","CommonModule","MatDialogModule","MatIconModule","SdModalModule"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
!function(e,
|
|
1
|
+
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core"),require("@angular/common"),require("@angular/material/dialog"),require("@angular/material/icon"),require("jquery"),require("@sd-angular/core/modal")):"function"==typeof define&&define.amd?define("@sd-angular/core/image-preview",["exports","@angular/core","@angular/common","@angular/material/dialog","@angular/material/icon","jquery","@sd-angular/core/modal"],t):t(((e="undefined"!=typeof globalThis?globalThis:e||self)["sd-angular"]=e["sd-angular"]||{},e["sd-angular"].core=e["sd-angular"].core||{},e["sd-angular"].core["image-preview"]={}),e.ng.core,e.ng.common,e.ng.material.dialog,e.ng.material.icon,e.$,e["sd-angular"].core.modal)}(this,(function(e,t,a,r,i,n,o){"use strict";function l(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(a){if("default"!==a){var r=Object.getOwnPropertyDescriptor(e,a);Object.defineProperty(t,a,r.get?r:{enumerable:!0,get:function(){return e[a]}})}})),t.default=e,Object.freeze(t)}var s=l(n),c=function(){function e(e,t){this.dialogRef=e,this.data=t}return e.prototype.ngOnInit=function(){this.currentImageUrl="string"==typeof this.data.currentImage?this.data.currentImage:this.data.currentImage.previewSrc||this.data.currentImage.src},e.prototype.next=function(){var e=this,t=this.data.images.findIndex((function(t){return(t.previewSrc||t.src)===e.currentImageUrl}));t===this.data.images.length-1?this.currentImageUrl=this.data.images[0].previewSrc||this.data.images[0].src:this.currentImageUrl=this.data.images[t+1].previewSrc||this.data.images[t+1].src},e.prototype.prev=function(){var e=this,t=this.data.images.findIndex((function(t){return(t.previewSrc||t.src)===e.currentImageUrl}));this.currentImageUrl=0===t?this.data.images[this.data.images.length-1].previewSrc||this.data.images[this.data.images.length-1].src:this.data.images[t-1].previewSrc||this.data.images[t-1].src},e}();c.decorators=[{type:t.Component,args:[{selector:"app-image-preview",template:'<h1 mat-dialog-title class="d-flex">\r\n <mat-icon\r\n mat-dialog-close\r\n role="img"\r\n class="mat-icon notranslate material-icons mat-icon-no-color ml-auto"\r\n >close</mat-icon\r\n >\r\n</h1>\r\n<div mat-dialog-content class="h-100 position-relative m-0">\r\n <ng-container *ngIf="data?.images?.length">\r\n <span class="material-icons-outlined position-absolute prev" (click)="prev()">\r\n arrow_back_ios\r\n </span>\r\n <span class="material-icons-outlined position-absolute next" (click)="next()">\r\n arrow_forward_ios\r\n </span>\r\n </ng-container>\r\n <img\r\n [src]="currentImageUrl"\r\n class="image-preview_image"\r\n />\r\n</div>\r\n',styles:[".image-prevew-panel .mat-dialog-container{padding:0}:host{display:flex;flex-direction:column;height:100%}.image-preview_image{-o-object-fit:contain;display:block;height:100%;margin:0 auto;object-fit:contain;width:90%}.material-icons-outlined{cursor:pointer}.material-icons-outlined.prev{left:5px;top:50%;transform:translateY(-50%)}.material-icons-outlined.next{right:5px;top:50%;transform:translateY(-50%)}"]}]}],c.ctorParameters=function(){return[{type:r.MatDialogRef},{type:void 0,decorators:[{type:t.Inject,args:[r.MAT_DIALOG_DATA]}]}]};var g,m=function(){function e(e,t){this.el=e,this.dialog=t,this.images=null}return e.prototype.onClick=function(){var e;e=this.el.nativeElement.src,this.images.length&&this.sdPreviewCurrentIdx>=0&&(e=this.images[this.sdPreviewCurrentIdx]),this.dialog.open(c,{data:{currentImage:e,images:this.images},backdropClass:["image-prevew-backdrop"],panelClass:"image-prevew-panel",width:"600px",maxWidth:"90%",height:"600px",maxHeight:"90%"})},e}();m.decorators=[{type:t.Directive,args:[{selector:"[sdImagePreview]"}]}],m.ctorParameters=function(){return[{type:t.ElementRef},{type:r.MatDialog}]},m.propDecorators={images:[{type:t.Input,args:["sdImagePreview"]}],sdPreviewCurrentIdx:[{type:t.Input}],onClick:[{type:t.HostListener,args:["click"]}]};var d=function(){function e(e,t){var a=this;this.dialogRef=e,this.data=t,this.imageList=[],this.imageOrgWidthList=[],this.imageListTotal=0,this.imageCurrent="",this.imageCurrentIndex=0,this.imageCurrentPercent=100,this.imageCurrentWidth=0,g.set(this,(function(){setTimeout((function(){a.imageList=[],a.imageOrgWidthList=[],s("img[alt=c-image-editor-quill]").each((function(e,t){s(t).parent("a").addClass("c-image-editor-quill-box"),s(t).parent("a").click((function(e){e.preventDefault(),e.stopPropagation();var t=s(e.currentTarget).children("img");a.imageCurrent=s(t).attr("src"),a.imageCurrentIndex=a.imageList.findIndex((function(e){return e===a.imageCurrent})),a.imageCurrentPercent=100,a.imageCurrentWidth=s(t)[0].naturalWidth,a.popup.open()})),a.imageList.push(s(t).attr("src")),a.imageOrgWidthList.push(s(t)[0].naturalWidth),a.imageListTotal=a.imageList.length}))}),100)})),this.imageGalleryBoxPrev=function(){a.imageCurrentIndex>0&&(a.imageCurrentIndex--,a.imageCurrent=a.imageList[a.imageCurrentIndex],a.imageGalleryBoxCalculateWidth())},this.imageGalleryBoxNext=function(){a.imageCurrentIndex<a.imageList.length-1&&(a.imageCurrentIndex++,a.imageCurrent=a.imageList[a.imageCurrentIndex],a.imageGalleryBoxCalculateWidth())},this.imageGalleryBoxZoomIn=function(){a.imageCurrentPercent<200&&(a.imageCurrentPercent+=10,a.imageGalleryBoxCalculateWidth())},this.imageGalleryBoxZoomOut=function(){a.imageCurrentPercent>10&&(a.imageCurrentPercent-=10,a.imageGalleryBoxCalculateWidth())},this.imageGalleryBoxCalculateWidth=function(){var e=a.imageOrgWidthList[a.imageCurrentIndex];a.imageCurrentWidth=a.imageCurrentPercent*e/100}}return e.prototype.ngOnInit=function(){},e}();g=new WeakMap,d.decorators=[{type:t.Component,args:[{selector:"sd-image-preview-2",template:'<sd-modal [title]="\' \'" width="90%" #popup>\r\n <sd-modal-body>\r\n <div class="c-image-gallery-box">\r\n <div class="c-content-scroll">\r\n <div class="c-content">\r\n <div class="c-content-cell">\r\n <img src="{{imageCurrent}}" style="width: {{imageCurrentWidth}}px"/>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class="c-toolbar">\r\n <mat-icon (click)="imageGalleryBoxZoomOut()">zoom_out</mat-icon>\r\n <span><b>{{imageCurrentPercent}}%</b></span>\r\n <mat-icon (click)="imageGalleryBoxZoomIn()">zoom_in</mat-icon>\r\n <span> </span>\r\n <mat-icon (click)="imageGalleryBoxPrev()">navigate_before</mat-icon>\r\n <span><b>{{(imageCurrentIndex + 1)}} / {{imageListTotal}}</b></span>\r\n <mat-icon (click)="imageGalleryBoxNext()">navigate_next</mat-icon>\r\n </div>\r\n\r\n </div>\r\n\r\n </sd-modal-body>\r\n</sd-modal>\r\n',styles:[".c-image-gallery-box{background:rgba(0,0,0,.54);position:relative}.c-image-gallery-box .c-content-scroll{height:79vh;overflow:auto;width:100%}.c-image-gallery-box .c-content-scroll .c-content{display:table;height:100%;width:100%}.c-image-gallery-box .c-content-scroll .c-content .c-content-cell{display:table-cell;text-align:center;vertical-align:middle}.c-image-gallery-box .c-toolbar{-moz-user-select:none;-webkit-user-select:none;background:rgba(0,0,0,.5);border-radius:4px;bottom:18px;color:#eee;left:0;margin-left:auto;margin-right:auto;padding-top:8px;position:absolute;right:0;text-align:center;user-select:none;width:250px}.c-image-gallery-box .c-toolbar span{margin:0 4px;vertical-align:top}.c-image-gallery-box .c-toolbar mat-icon{cursor:pointer;margin:0 4px}"]}]}],d.ctorParameters=function(){return[{type:r.MatDialogRef},{type:void 0,decorators:[{type:t.Inject,args:[r.MAT_DIALOG_DATA]}]}]},d.propDecorators={popup:[{type:t.ViewChild,args:[o.SdModal]}]};var u=function(){};u.decorators=[{type:t.NgModule,args:[{declarations:[c,d,m],exports:[m],imports:[a.CommonModule,r.MatDialogModule,i.MatIconModule,o.SdModalModule],entryComponents:[c]}]}],e.SdImagePreviewModule=u,e.ɵa=c,e.ɵb=d,e.ɵc=m,Object.defineProperty(e,"__esModule",{value:!0})}));
|
|
2
2
|
//# sourceMappingURL=sd-angular-core-image-preview.umd.min.js.map
|