@sd-angular/core 1.2.38 → 1.2.39
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-utility.umd.js +6 -8
- 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/esm2015/utility/src/lib/utility.service.js +7 -9
- package/fesm2015/sd-angular-core-utility.js +6 -8
- package/fesm2015/sd-angular-core-utility.js.map +1 -1
- package/package.json +1 -1
- package/{sd-angular-core-1.2.38.tgz → sd-angular-core-1.2.39.tgz} +0 -0
- package/utility/src/lib/utility.service.d.ts +1 -1
|
@@ -557,7 +557,7 @@
|
|
|
557
557
|
this.copyToClipboard = function (text) {
|
|
558
558
|
navigator.clipboard.writeText(text);
|
|
559
559
|
};
|
|
560
|
-
this.printHtml = function (elementId) {
|
|
560
|
+
this.printHtml = function (elementId, fileName) {
|
|
561
561
|
var printId = "sdPrintSection";
|
|
562
562
|
var div = 'sd-print';
|
|
563
563
|
// const printContents = document.getElementById(elementId).innerHTML;
|
|
@@ -574,14 +574,12 @@
|
|
|
574
574
|
printSection.appendChild(domClone);
|
|
575
575
|
document.body.insertBefore(printSection, document.body.firstChild);
|
|
576
576
|
document.querySelector('body app-root').classList.add(div);
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
// oldElem.parentNode.removeChild(oldElem); // oldElem.remove() not supported by IE
|
|
582
|
-
// }
|
|
583
|
-
// }, 100);
|
|
577
|
+
var title = document.title;
|
|
578
|
+
if (fileName) {
|
|
579
|
+
document.title = fileName;
|
|
580
|
+
}
|
|
584
581
|
window.print();
|
|
582
|
+
document.title = title;
|
|
585
583
|
document.querySelector('body app-root').classList.remove(div);
|
|
586
584
|
var oldElem = document.getElementById(printId);
|
|
587
585
|
if (oldElem !== null) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sd-angular-core-utility.umd.js","sources":["../../../../projects/sd-core/utility/src/lib/directives/desktop.directive.ts","../../../../projects/sd-core/utility/src/lib/directives/mobile.directive.ts","../../../../projects/sd-core/utility/src/lib/directives/mobile-tablet.directive.ts","../../../../projects/sd-core/utility/src/lib/directives/tablet.directive.ts","../../../../projects/sd-core/utility/src/lib/pipes/currency.pipe.ts","../../../../projects/sd-core/utility/src/lib/pipes/safe-html.pipe.ts","../../../../node_modules/tslib/tslib.es6.js","../../../../projects/sd-core/utility/src/lib/utility.service.ts","../../../../projects/sd-core/utility/src/lib/pipes/time-different.pipe.ts","../../../../projects/sd-core/utility/src/lib/utility.module.ts","../../../../projects/sd-core/utility/sd-angular-core-utility.ts"],"sourcesContent":["\r\nimport { Directive, ViewContainerRef, TemplateRef } from '@angular/core';\r\nimport { DeviceDetectorService } from 'ngx-device-detector';\r\n\r\n@Directive({\r\n selector: '[sdDesktop]'\r\n})\r\nexport class SdDesktopDirective {\r\n constructor(\r\n private templateRef: TemplateRef<any>,\r\n private viewContainerRef: ViewContainerRef,\r\n deviceService: DeviceDetectorService,\r\n ) {\r\n if (deviceService.isDesktop()) {\r\n this.viewContainerRef.createEmbeddedView(this.templateRef);\r\n }\r\n }\r\n}\r\n","\r\nimport { Directive, TemplateRef, ViewContainerRef } from '@angular/core';\r\nimport { DeviceDetectorService } from 'ngx-device-detector';\r\n\r\n@Directive({\r\n selector: '[sdMobile]'\r\n})\r\nexport class SdMobileDirective {\r\n constructor(\r\n private templateRef: TemplateRef<any>,\r\n private viewContainerRef: ViewContainerRef,\r\n deviceService: DeviceDetectorService,\r\n ) {\r\n if (deviceService.isMobile()) {\r\n this.viewContainerRef.createEmbeddedView(this.templateRef);\r\n }\r\n }\r\n}\r\n","\r\nimport { Directive, TemplateRef, ViewContainerRef } from '@angular/core';\r\nimport { DeviceDetectorService } from 'ngx-device-detector';\r\n\r\n@Directive({\r\n selector: '[sdMobileTablet]'\r\n})\r\nexport class SdMobileTabletDirective {\r\n constructor(\r\n private templateRef: TemplateRef<any>,\r\n private viewContainerRef: ViewContainerRef,\r\n deviceService: DeviceDetectorService,\r\n ) {\r\n if (deviceService.isMobile() || deviceService.isTablet()) {\r\n this.viewContainerRef.createEmbeddedView(this.templateRef);\r\n }\r\n }\r\n}\r\n","\r\nimport { Directive, TemplateRef, ViewContainerRef } from '@angular/core';\r\nimport { DeviceDetectorService } from 'ngx-device-detector';\r\n\r\n@Directive({\r\n selector: '[sdTablet]'\r\n})\r\nexport class SdTabletDirective {\r\n constructor(\r\n private templateRef: TemplateRef<any>,\r\n private viewContainerRef: ViewContainerRef,\r\n deviceService: DeviceDetectorService,\r\n ) {\r\n if (deviceService.isTablet()) {\r\n this.viewContainerRef.createEmbeddedView(this.templateRef);\r\n }\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n@Pipe({\r\n name: 'sdCurrency',\r\n})\r\nexport class SdCurrencyPipe implements PipeTransform {\r\n transform(value: any) {\r\n return Number.toVNCurrency(value);\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\n\r\n@Pipe({\r\n name: 'safeHtml',\r\n})\r\nexport class SdSafeHtmlPipe implements PipeTransform {\r\n\r\n constructor(private sanitizer: DomSanitizer) { }\r\n\r\n transform(html: string) {\r\n return this.sanitizer.bypassSecurityTrustHtml(html);\r\n }\r\n}\r\n","/*! *****************************************************************************\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 { Injectable } from '@angular/core';\r\n// import PDFMerger from 'pdf-merger-js/browser';\r\nimport md5 from 'md5';\r\nimport $ from 'jquery';\r\nimport * as uuid from 'uuid';\r\nimport { HttpClient } from '@angular/common/http';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SdUtilityService {\r\n #uploadId = 'U1e09c1c0-b647-437e-995e-d7a1a1b60550';\r\n\r\n constructor(private httpClient: HttpClient) { }\r\n #translate = (value: string) => value;\r\n\r\n hashMD5 = (key: string) => md5(key);\r\n\r\n arrayToObject = <T>(items: T[], key: string): { [key: string]: T } => {\r\n return items.reduce((obj, item) => { obj[item[key]] = item; return obj; }, {});\r\n }\r\n\r\n 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\n timeDifference = (previous: any, current: any = new Date()) => {\r\n if (!Date.isDate(previous)) {\r\n return '';\r\n }\r\n if (!Date.isDate(current)) {\r\n return '';\r\n }\r\n const from = new Date(previous);\r\n const to = new Date(current);\r\n const msPerMinute = 60 * 1000;\r\n const msPerHour = msPerMinute * 60;\r\n const msPerDay = msPerHour * 24;\r\n const msPerMonth = msPerDay * 30;\r\n const msPerYear = msPerDay * 365;\r\n const elapsed = to.getTime() - from.getTime();\r\n\r\n if (elapsed < msPerMinute) {\r\n return `${Math.round(elapsed / 1000)} ${this.#translate('seconds ago')}`;\r\n }\r\n\r\n if (elapsed < msPerHour) {\r\n return `${Math.round(elapsed / msPerMinute)} ${this.#translate('minutes ago')}`;\r\n }\r\n\r\n if (elapsed < msPerDay) {\r\n return `${Math.round(elapsed / msPerHour)} ${this.#translate('hours ago')}`;\r\n }\r\n\r\n if (elapsed < msPerMonth) {\r\n return `${Math.round(elapsed / msPerDay)} ${this.#translate('days ago')}`;\r\n }\r\n\r\n if (elapsed < msPerYear) {\r\n return `${Math.round(elapsed / msPerMonth)} ${this.#translate('months ago')}`;\r\n }\r\n return `${Math.round(elapsed / msPerYear)} ${this.#translate('years ago')}`;\r\n }\r\n\r\n upload = (option?: {\r\n extensions?: string[],\r\n maxSizeInMb?: number,\r\n validator?: (fileName: string) => string\r\n }): Promise<File> => {\r\n const promise = new Promise<File>((resolve, reject) => {\r\n if ($(`#${this.#uploadId}`).length) {\r\n $('body').children(`#${this.#uploadId}`).remove();\r\n }\r\n $('body').append(`<input id=\"${this.#uploadId}\" style=\"display: none\" type=\"file\" />`);\r\n $(`#${this.#uploadId}`).on('change', (evt: any) => {\r\n try {\r\n const target: DataTransfer = evt.target;\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 const message = this.#translate(`Invalid file extension`);\r\n throw new Error(message);\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 const message = `[${file.name}] ${this.#translate('Uploaded file is not match extension')} ${option.extensions.join(', ')}`;\r\n throw new Error(message);\r\n }\r\n if (option.maxSizeInMb > 0 && option.maxSizeInMb * 1024 * 1024 < file.size) {\r\n const message = `[${file.name}] ${this.#translate('Max file size')} ${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 $(`#${this.#uploadId}`).trigger('click');\r\n });\r\n return promise;\r\n }\r\n\r\n download = (filePath: string, fileName?: string) => {\r\n const link: any = document.createElement('a');\r\n link.download = `${fileName || uuid.v4()}`;\r\n link.href = filePath;\r\n document.body.appendChild(link);\r\n link.click();\r\n document.body.removeChild(link);\r\n }\r\n\r\n copyToClipboard = (text: string) => {\r\n navigator.clipboard.writeText(text);\r\n }\r\n\r\n printHtml = (elementId: string) => {\r\n const printId = `sdPrintSection`;\r\n const div = 'sd-print';\r\n // const printContents = document.getElementById(elementId).innerHTML;\r\n // const originalContents = document.body.innerHTML;\r\n\r\n // document.body.innerHTML = printContents;\r\n // setTimeout(() => {\r\n // document.body.innerHTML = originalContents;\r\n // }, 100);\r\n // window.print();\r\n\r\n const elem = document.querySelector('#' + elementId).firstElementChild;\r\n const domClone = elem.cloneNode(true);\r\n\r\n const printSection = document.createElement('div');\r\n printSection.id = printId;\r\n printSection.appendChild(domClone);\r\n\r\n document.body.insertBefore(printSection, document.body.firstChild);\r\n document.querySelector('body app-root').classList.add(div);\r\n // setTimeout(() => {\r\n // document.querySelector('body app-root').classList.remove('sd-print');\r\n // const oldElem = document.getElementById(printId);\r\n // if (oldElem !== null) {\r\n // oldElem.parentNode.removeChild(oldElem); // oldElem.remove() not supported by IE\r\n // }\r\n // }, 100);\r\n window.print();\r\n document.querySelector('body app-root').classList.remove(div);\r\n const oldElem = document.getElementById(printId);\r\n if (oldElem !== null) {\r\n oldElem.parentNode.removeChild(oldElem); // oldElem.remove() not supported by IE\r\n }\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { interval, Observable, of } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\nimport { SdUtilityService } from '../utility.service';\r\n@Pipe({\r\n name: 'sdTimeDifferent',\r\n})\r\nexport class SdTimeDifferentPipe implements PipeTransform {\r\n private maxSecond = 60;\r\n private maxMinute = this.maxSecond * 60;\r\n private maxHour = this.maxMinute * 24;\r\n private maxDay = this.maxHour * 30;\r\n private maxMonth = this.maxHour * 365;\r\n constructor(private utilityService: SdUtilityService) { }\r\n transform(value: any, format: string, different: 'second' | 'minute' | 'hour' | 'day' | 'month'): Observable<string> {\r\n if (!Date.isDate(value)) {\r\n return of(null);\r\n }\r\n if (!different) {\r\n return of(Date.toFormat(value, format));\r\n }\r\n if (Math.round((new Date().getTime() - new Date(value).getTime()) / 1000) < 0) {\r\n return of(Date.toFormat(value, format));\r\n }\r\n return interval(1000).pipe(map(() => {\r\n const timeDifferent = Math.round((new Date().getTime() - new Date(value).getTime()) / 1000);\r\n if (different === 'month' && timeDifferent < this.maxMonth) {\r\n return this.utilityService.timeDifference(value);\r\n }\r\n if (different === 'day' && timeDifferent < this.maxDay) {\r\n return this.utilityService.timeDifference(value);\r\n }\r\n if (different === 'hour' && timeDifferent < this.maxHour) {\r\n return this.utilityService.timeDifference(value);\r\n }\r\n if (different === 'minute' && timeDifferent < this.maxMinute) {\r\n return this.utilityService.timeDifference(value);\r\n }\r\n if (different === 'second' && timeDifferent < this.maxSecond) {\r\n return this.utilityService.timeDifference(value);\r\n }\r\n return Date.toFormat(value, format);\r\n }));\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { SdDesktopDirective } from './directives/desktop.directive';\r\nimport { SdMobileDirective } from './directives/mobile.directive';\r\nimport { SdMobileTabletDirective } from './directives/mobile-tablet.directive';\r\nimport { SdTabletDirective } from './directives/tablet.directive';\r\n\r\nimport { SdCurrencyPipe } from './pipes/currency.pipe';\r\nimport { SdSafeHtmlPipe } from './pipes/safe-html.pipe';\r\nimport { SdTimeDifferentPipe } from './pipes/time-different.pipe';\r\nimport { HttpClientModule } from '@angular/common/http';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n HttpClientModule\r\n ],\r\n declarations: [\r\n SdDesktopDirective,\r\n SdMobileTabletDirective,\r\n SdMobileDirective,\r\n SdTabletDirective,\r\n SdCurrencyPipe,\r\n SdSafeHtmlPipe,\r\n SdTimeDifferentPipe\r\n ],\r\n exports: [\r\n SdDesktopDirective,\r\n SdMobileTabletDirective,\r\n SdMobileDirective,\r\n SdTabletDirective,\r\n SdCurrencyPipe,\r\n SdSafeHtmlPipe,\r\n SdTimeDifferentPipe\r\n ],\r\n providers: [\r\n SdCurrencyPipe,\r\n SdSafeHtmlPipe,\r\n SdTimeDifferentPipe\r\n ]\r\n})\r\nexport class SdUtilityModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["Directive","TemplateRef","ViewContainerRef","DeviceDetectorService","Pipe","DomSanitizer","md5","$","uuid.v4","Injectable","HttpClient","of","interval","map","NgModule","CommonModule","HttpClientModule"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sd-angular-core-utility.umd.js","sources":["../../../../projects/sd-core/utility/src/lib/directives/desktop.directive.ts","../../../../projects/sd-core/utility/src/lib/directives/mobile.directive.ts","../../../../projects/sd-core/utility/src/lib/directives/mobile-tablet.directive.ts","../../../../projects/sd-core/utility/src/lib/directives/tablet.directive.ts","../../../../projects/sd-core/utility/src/lib/pipes/currency.pipe.ts","../../../../projects/sd-core/utility/src/lib/pipes/safe-html.pipe.ts","../../../../node_modules/tslib/tslib.es6.js","../../../../projects/sd-core/utility/src/lib/utility.service.ts","../../../../projects/sd-core/utility/src/lib/pipes/time-different.pipe.ts","../../../../projects/sd-core/utility/src/lib/utility.module.ts","../../../../projects/sd-core/utility/sd-angular-core-utility.ts"],"sourcesContent":["\r\nimport { Directive, ViewContainerRef, TemplateRef } from '@angular/core';\r\nimport { DeviceDetectorService } from 'ngx-device-detector';\r\n\r\n@Directive({\r\n selector: '[sdDesktop]'\r\n})\r\nexport class SdDesktopDirective {\r\n constructor(\r\n private templateRef: TemplateRef<any>,\r\n private viewContainerRef: ViewContainerRef,\r\n deviceService: DeviceDetectorService,\r\n ) {\r\n if (deviceService.isDesktop()) {\r\n this.viewContainerRef.createEmbeddedView(this.templateRef);\r\n }\r\n }\r\n}\r\n","\r\nimport { Directive, TemplateRef, ViewContainerRef } from '@angular/core';\r\nimport { DeviceDetectorService } from 'ngx-device-detector';\r\n\r\n@Directive({\r\n selector: '[sdMobile]'\r\n})\r\nexport class SdMobileDirective {\r\n constructor(\r\n private templateRef: TemplateRef<any>,\r\n private viewContainerRef: ViewContainerRef,\r\n deviceService: DeviceDetectorService,\r\n ) {\r\n if (deviceService.isMobile()) {\r\n this.viewContainerRef.createEmbeddedView(this.templateRef);\r\n }\r\n }\r\n}\r\n","\r\nimport { Directive, TemplateRef, ViewContainerRef } from '@angular/core';\r\nimport { DeviceDetectorService } from 'ngx-device-detector';\r\n\r\n@Directive({\r\n selector: '[sdMobileTablet]'\r\n})\r\nexport class SdMobileTabletDirective {\r\n constructor(\r\n private templateRef: TemplateRef<any>,\r\n private viewContainerRef: ViewContainerRef,\r\n deviceService: DeviceDetectorService,\r\n ) {\r\n if (deviceService.isMobile() || deviceService.isTablet()) {\r\n this.viewContainerRef.createEmbeddedView(this.templateRef);\r\n }\r\n }\r\n}\r\n","\r\nimport { Directive, TemplateRef, ViewContainerRef } from '@angular/core';\r\nimport { DeviceDetectorService } from 'ngx-device-detector';\r\n\r\n@Directive({\r\n selector: '[sdTablet]'\r\n})\r\nexport class SdTabletDirective {\r\n constructor(\r\n private templateRef: TemplateRef<any>,\r\n private viewContainerRef: ViewContainerRef,\r\n deviceService: DeviceDetectorService,\r\n ) {\r\n if (deviceService.isTablet()) {\r\n this.viewContainerRef.createEmbeddedView(this.templateRef);\r\n }\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n@Pipe({\r\n name: 'sdCurrency',\r\n})\r\nexport class SdCurrencyPipe implements PipeTransform {\r\n transform(value: any) {\r\n return Number.toVNCurrency(value);\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\n\r\n@Pipe({\r\n name: 'safeHtml',\r\n})\r\nexport class SdSafeHtmlPipe implements PipeTransform {\r\n\r\n constructor(private sanitizer: DomSanitizer) { }\r\n\r\n transform(html: string) {\r\n return this.sanitizer.bypassSecurityTrustHtml(html);\r\n }\r\n}\r\n","/*! *****************************************************************************\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 { Injectable } from '@angular/core';\r\n// import PDFMerger from 'pdf-merger-js/browser';\r\nimport md5 from 'md5';\r\nimport $ from 'jquery';\r\nimport * as uuid from 'uuid';\r\nimport { HttpClient } from '@angular/common/http';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SdUtilityService {\r\n #uploadId = 'U1e09c1c0-b647-437e-995e-d7a1a1b60550';\r\n\r\n constructor(private httpClient: HttpClient) { }\r\n #translate = (value: string) => value;\r\n\r\n hashMD5 = (key: string) => md5(key);\r\n\r\n arrayToObject = <T>(items: T[], key: string): { [key: string]: T } => {\r\n return items.reduce((obj, item) => { obj[item[key]] = item; return obj; }, {});\r\n }\r\n\r\n 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\n timeDifference = (previous: any, current: any = new Date()) => {\r\n if (!Date.isDate(previous)) {\r\n return '';\r\n }\r\n if (!Date.isDate(current)) {\r\n return '';\r\n }\r\n const from = new Date(previous);\r\n const to = new Date(current);\r\n const msPerMinute = 60 * 1000;\r\n const msPerHour = msPerMinute * 60;\r\n const msPerDay = msPerHour * 24;\r\n const msPerMonth = msPerDay * 30;\r\n const msPerYear = msPerDay * 365;\r\n const elapsed = to.getTime() - from.getTime();\r\n\r\n if (elapsed < msPerMinute) {\r\n return `${Math.round(elapsed / 1000)} ${this.#translate('seconds ago')}`;\r\n }\r\n\r\n if (elapsed < msPerHour) {\r\n return `${Math.round(elapsed / msPerMinute)} ${this.#translate('minutes ago')}`;\r\n }\r\n\r\n if (elapsed < msPerDay) {\r\n return `${Math.round(elapsed / msPerHour)} ${this.#translate('hours ago')}`;\r\n }\r\n\r\n if (elapsed < msPerMonth) {\r\n return `${Math.round(elapsed / msPerDay)} ${this.#translate('days ago')}`;\r\n }\r\n\r\n if (elapsed < msPerYear) {\r\n return `${Math.round(elapsed / msPerMonth)} ${this.#translate('months ago')}`;\r\n }\r\n return `${Math.round(elapsed / msPerYear)} ${this.#translate('years ago')}`;\r\n }\r\n\r\n upload = (option?: {\r\n extensions?: string[],\r\n maxSizeInMb?: number,\r\n validator?: (fileName: string) => string\r\n }): Promise<File> => {\r\n const promise = new Promise<File>((resolve, reject) => {\r\n if ($(`#${this.#uploadId}`).length) {\r\n $('body').children(`#${this.#uploadId}`).remove();\r\n }\r\n $('body').append(`<input id=\"${this.#uploadId}\" style=\"display: none\" type=\"file\" />`);\r\n $(`#${this.#uploadId}`).on('change', (evt: any) => {\r\n try {\r\n const target: DataTransfer = evt.target;\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 const message = this.#translate(`Invalid file extension`);\r\n throw new Error(message);\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 const message = `[${file.name}] ${this.#translate('Uploaded file is not match extension')} ${option.extensions.join(', ')}`;\r\n throw new Error(message);\r\n }\r\n if (option.maxSizeInMb > 0 && option.maxSizeInMb * 1024 * 1024 < file.size) {\r\n const message = `[${file.name}] ${this.#translate('Max file size')} ${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 $(`#${this.#uploadId}`).trigger('click');\r\n });\r\n return promise;\r\n }\r\n\r\n download = (filePath: string, fileName?: string) => {\r\n const link: any = document.createElement('a');\r\n link.download = `${fileName || uuid.v4()}`;\r\n link.href = filePath;\r\n document.body.appendChild(link);\r\n link.click();\r\n document.body.removeChild(link);\r\n }\r\n\r\n copyToClipboard = (text: string) => {\r\n navigator.clipboard.writeText(text);\r\n }\r\n\r\n printHtml = (elementId: string, fileName?: string) => {\r\n const printId = `sdPrintSection`;\r\n const div = 'sd-print';\r\n // const printContents = document.getElementById(elementId).innerHTML;\r\n // const originalContents = document.body.innerHTML;\r\n\r\n // document.body.innerHTML = printContents;\r\n // setTimeout(() => {\r\n // document.body.innerHTML = originalContents;\r\n // }, 100);\r\n // window.print();\r\n\r\n const elem = document.querySelector('#' + elementId).firstElementChild;\r\n const domClone = elem.cloneNode(true);\r\n\r\n const printSection = document.createElement('div');\r\n printSection.id = printId;\r\n printSection.appendChild(domClone);\r\n\r\n document.body.insertBefore(printSection, document.body.firstChild);\r\n document.querySelector('body app-root').classList.add(div);\r\n const title = document.title;\r\n if(fileName) {\r\n document.title = fileName;\r\n }\r\n window.print();\r\n document.title = title;\r\n document.querySelector('body app-root').classList.remove(div);\r\n const oldElem = document.getElementById(printId);\r\n if (oldElem !== null) {\r\n oldElem.parentNode.removeChild(oldElem); // oldElem.remove() not supported by IE\r\n }\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { interval, Observable, of } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\nimport { SdUtilityService } from '../utility.service';\r\n@Pipe({\r\n name: 'sdTimeDifferent',\r\n})\r\nexport class SdTimeDifferentPipe implements PipeTransform {\r\n private maxSecond = 60;\r\n private maxMinute = this.maxSecond * 60;\r\n private maxHour = this.maxMinute * 24;\r\n private maxDay = this.maxHour * 30;\r\n private maxMonth = this.maxHour * 365;\r\n constructor(private utilityService: SdUtilityService) { }\r\n transform(value: any, format: string, different: 'second' | 'minute' | 'hour' | 'day' | 'month'): Observable<string> {\r\n if (!Date.isDate(value)) {\r\n return of(null);\r\n }\r\n if (!different) {\r\n return of(Date.toFormat(value, format));\r\n }\r\n if (Math.round((new Date().getTime() - new Date(value).getTime()) / 1000) < 0) {\r\n return of(Date.toFormat(value, format));\r\n }\r\n return interval(1000).pipe(map(() => {\r\n const timeDifferent = Math.round((new Date().getTime() - new Date(value).getTime()) / 1000);\r\n if (different === 'month' && timeDifferent < this.maxMonth) {\r\n return this.utilityService.timeDifference(value);\r\n }\r\n if (different === 'day' && timeDifferent < this.maxDay) {\r\n return this.utilityService.timeDifference(value);\r\n }\r\n if (different === 'hour' && timeDifferent < this.maxHour) {\r\n return this.utilityService.timeDifference(value);\r\n }\r\n if (different === 'minute' && timeDifferent < this.maxMinute) {\r\n return this.utilityService.timeDifference(value);\r\n }\r\n if (different === 'second' && timeDifferent < this.maxSecond) {\r\n return this.utilityService.timeDifference(value);\r\n }\r\n return Date.toFormat(value, format);\r\n }));\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { SdDesktopDirective } from './directives/desktop.directive';\r\nimport { SdMobileDirective } from './directives/mobile.directive';\r\nimport { SdMobileTabletDirective } from './directives/mobile-tablet.directive';\r\nimport { SdTabletDirective } from './directives/tablet.directive';\r\n\r\nimport { SdCurrencyPipe } from './pipes/currency.pipe';\r\nimport { SdSafeHtmlPipe } from './pipes/safe-html.pipe';\r\nimport { SdTimeDifferentPipe } from './pipes/time-different.pipe';\r\nimport { HttpClientModule } from '@angular/common/http';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n HttpClientModule\r\n ],\r\n declarations: [\r\n SdDesktopDirective,\r\n SdMobileTabletDirective,\r\n SdMobileDirective,\r\n SdTabletDirective,\r\n SdCurrencyPipe,\r\n SdSafeHtmlPipe,\r\n SdTimeDifferentPipe\r\n ],\r\n exports: [\r\n SdDesktopDirective,\r\n SdMobileTabletDirective,\r\n SdMobileDirective,\r\n SdTabletDirective,\r\n SdCurrencyPipe,\r\n SdSafeHtmlPipe,\r\n SdTimeDifferentPipe\r\n ],\r\n providers: [\r\n SdCurrencyPipe,\r\n SdSafeHtmlPipe,\r\n SdTimeDifferentPipe\r\n ]\r\n})\r\nexport class SdUtilityModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["Directive","TemplateRef","ViewContainerRef","DeviceDetectorService","Pipe","DomSanitizer","md5","$","uuid.v4","Injectable","HttpClient","of","interval","map","NgModule","CommonModule","HttpClientModule"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@sd-angular/core/common"),require("@angular/core"),require("@angular/common"),require("ngx-device-detector"),require("@angular/platform-browser"),require("rxjs"),require("rxjs/operators"),require("md5"),require("jquery"),require("uuid"),require("@angular/common/http")):"function"==typeof define&&define.amd?define("@sd-angular/core/utility",["exports","@sd-angular/core/common","@angular/core","@angular/common","ngx-device-detector","@angular/platform-browser","rxjs","rxjs/operators","md5","jquery","uuid","@angular/common/http"],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.utility={}),e["sd-angular"].core.common,e.ng.core,e.ng.common,e["ngx-device-detector"],e.ng.platformBrowser,e.rxjs,e.rxjs.operators,e.md5,e.jquery,e.uuid,e.ng.common.http)}(this,(function(e,t,r,n,i,o,a,c,s,u,d,l){"use strict";function m(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var f=m(s),p=m(u),h=function(e,t,r){this.templateRef=e,this.viewContainerRef=t,r.isDesktop()&&this.viewContainerRef.createEmbeddedView(this.templateRef)};h.decorators=[{type:r.Directive,args:[{selector:"[sdDesktop]"}]}],h.ctorParameters=function(){return[{type:r.TemplateRef},{type:r.ViewContainerRef},{type:i.DeviceDetectorService}]};var v=function(e,t,r){this.templateRef=e,this.viewContainerRef=t,r.isMobile()&&this.viewContainerRef.createEmbeddedView(this.templateRef)};v.decorators=[{type:r.Directive,args:[{selector:"[sdMobile]"}]}],v.ctorParameters=function(){return[{type:r.TemplateRef},{type:r.ViewContainerRef},{type:i.DeviceDetectorService}]};var y=function(e,t,r){this.templateRef=e,this.viewContainerRef=t,(r.isMobile()||r.isTablet())&&this.viewContainerRef.createEmbeddedView(this.templateRef)};y.decorators=[{type:r.Directive,args:[{selector:"[sdMobileTablet]"}]}],y.ctorParameters=function(){return[{type:r.TemplateRef},{type:r.ViewContainerRef},{type:i.DeviceDetectorService}]};var g=function(e,t,r){this.templateRef=e,this.viewContainerRef=t,r.isTablet()&&this.viewContainerRef.createEmbeddedView(this.templateRef)};g.decorators=[{type:r.Directive,args:[{selector:"[sdTablet]"}]}],g.ctorParameters=function(){return[{type:r.TemplateRef},{type:r.ViewContainerRef},{type:i.DeviceDetectorService}]};var w=function(){function e(){}return e.prototype.transform=function(e){return Number.toVNCurrency(e)},e}();w.decorators=[{type:r.Pipe,args:[{name:"sdCurrency"}]}];var b=function(){function e(e){this.sanitizer=e}return e.prototype.transform=function(e){return this.sanitizer.bypassSecurityTrustHtml(e)},e}();b.decorators=[{type:r.Pipe,args:[{name:"safeHtml"}]}],b.ctorParameters=function(){return[{type:o.DomSanitizer}]};Object.create;var D,x;Object.create;function C(e,t,r,n){if("a"===r&&!n)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!n:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?n:"a"===r?n.call(e):n?n.value:t.get(e)}var M=function(e){var t=this;this.httpClient=e,D.set(this,"U1e09c1c0-b647-437e-995e-d7a1a1b60550"),x.set(this,(function(e){return e})),this.hashMD5=function(e){return f.default(e)},this.arrayToObject=function(e,t){return e.reduce((function(e,r){return e[r[t]]=r,e}),{})},this.changeAliasLowerCase=function(e){var t,r=null!==(t=null==e?void 0:e.toString())&&void 0!==t?t:"";return r=(r=(r=(r=(r=(r=(r=(r=(r=(r=(r=r.toString().toLowerCase()).replace(/à|á|ạ|ả|ã|â|ầ|ấ|ậ|ẩ|ẫ|ă|ằ|ắ|ặ|ẳ|ẵ/g,"a")).replace(/è|é|ẹ|ẻ|ẽ|ê|ề|ế|ệ|ể|ễ/g,"e")).replace(/ì|í|ị|ỉ|ĩ/g,"i")).replace(/ò|ó|ọ|ỏ|õ|ô|ồ|ố|ộ|ổ|ỗ|ơ|ờ|ớ|ợ|ở|ỡ/g,"o")).replace(/ù|ú|ụ|ủ|ũ|ư|ừ|ứ|ự|ử|ữ/g,"u")).replace(/ỳ|ý|ỵ|ỷ|ỹ/g,"y")).replace(/đ/g,"d")).replace(/!|@|%|\^|\*|\(|\)|\+|\=|\<|\>|\?|\/|,|\.|\:|\;|\'|\"|\&|\#|\[|\]|~|\$|_|`|-|{|}|\||\\/g," ")).replace(/ + /g," ")).trim()},this.timeDifference=function(e,r){if(void 0===r&&(r=new Date),!Date.isDate(e))return"";if(!Date.isDate(r))return"";var n=new Date(e),i=6e4,o=36e5,a=864e5,c=2592e6,s=31536e6,u=new Date(r).getTime()-n.getTime();return u<i?Math.round(u/1e3)+" "+C(t,x).call(t,"seconds ago"):u<o?Math.round(u/i)+" "+C(t,x).call(t,"minutes ago"):u<a?Math.round(u/o)+" "+C(t,x).call(t,"hours ago"):u<c?Math.round(u/a)+" "+C(t,x).call(t,"days ago"):u<s?Math.round(u/c)+" "+C(t,x).call(t,"months ago"):Math.round(u/s)+" "+C(t,x).call(t,"years ago")},this.upload=function(e){return new Promise((function(r,n){p.default("#"+C(t,D)).length&&p.default("body").children("#"+C(t,D)).remove(),p.default("body").append('<input id="'+C(t,D)+'" style="display: none" type="file" />'),p.default("#"+C(t,D)).on("change",(function(i){var o;try{var a=i.target.files.item(0);if(a){var c=a.name.lastIndexOf(".");if(-1===c){var s=C(t,x).call(t,"Invalid file extension");throw new Error(s)}var u=a.name.substring(c+1);if(e){if((null===(o=e.extensions)||void 0===o?void 0:o.length)&&!e.extensions.some((function(e){return e.toUpperCase()===u.toUpperCase()})))throw s="["+a.name+"] "+C(t,x).call(t,"Uploaded file is not match extension")+" "+e.extensions.join(", "),new Error(s);if(e.maxSizeInMb>0&&1024*e.maxSizeInMb*1024<a.size)throw s="["+a.name+"] "+C(t,x).call(t,"Max file size")+" "+e.maxSizeInMb+" Mbs",new Error(s);if(e.validator&&e.validator(a.name))throw s=e.validator(a.name),new Error(s)}r(a)}}catch(e){n(e)}})),p.default("#"+C(t,D)).trigger("click")}))},this.download=function(e,t){var r=document.createElement("a");r.download=""+(t||d.v4()),r.href=e,document.body.appendChild(r),r.click(),document.body.removeChild(r)},this.copyToClipboard=function(e){navigator.clipboard.writeText(e)},this.printHtml=function(e){var
|
|
1
|
+
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@sd-angular/core/common"),require("@angular/core"),require("@angular/common"),require("ngx-device-detector"),require("@angular/platform-browser"),require("rxjs"),require("rxjs/operators"),require("md5"),require("jquery"),require("uuid"),require("@angular/common/http")):"function"==typeof define&&define.amd?define("@sd-angular/core/utility",["exports","@sd-angular/core/common","@angular/core","@angular/common","ngx-device-detector","@angular/platform-browser","rxjs","rxjs/operators","md5","jquery","uuid","@angular/common/http"],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.utility={}),e["sd-angular"].core.common,e.ng.core,e.ng.common,e["ngx-device-detector"],e.ng.platformBrowser,e.rxjs,e.rxjs.operators,e.md5,e.jquery,e.uuid,e.ng.common.http)}(this,(function(e,t,r,n,i,o,a,c,s,u,d,l){"use strict";function m(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var f=m(s),p=m(u),h=function(e,t,r){this.templateRef=e,this.viewContainerRef=t,r.isDesktop()&&this.viewContainerRef.createEmbeddedView(this.templateRef)};h.decorators=[{type:r.Directive,args:[{selector:"[sdDesktop]"}]}],h.ctorParameters=function(){return[{type:r.TemplateRef},{type:r.ViewContainerRef},{type:i.DeviceDetectorService}]};var v=function(e,t,r){this.templateRef=e,this.viewContainerRef=t,r.isMobile()&&this.viewContainerRef.createEmbeddedView(this.templateRef)};v.decorators=[{type:r.Directive,args:[{selector:"[sdMobile]"}]}],v.ctorParameters=function(){return[{type:r.TemplateRef},{type:r.ViewContainerRef},{type:i.DeviceDetectorService}]};var y=function(e,t,r){this.templateRef=e,this.viewContainerRef=t,(r.isMobile()||r.isTablet())&&this.viewContainerRef.createEmbeddedView(this.templateRef)};y.decorators=[{type:r.Directive,args:[{selector:"[sdMobileTablet]"}]}],y.ctorParameters=function(){return[{type:r.TemplateRef},{type:r.ViewContainerRef},{type:i.DeviceDetectorService}]};var g=function(e,t,r){this.templateRef=e,this.viewContainerRef=t,r.isTablet()&&this.viewContainerRef.createEmbeddedView(this.templateRef)};g.decorators=[{type:r.Directive,args:[{selector:"[sdTablet]"}]}],g.ctorParameters=function(){return[{type:r.TemplateRef},{type:r.ViewContainerRef},{type:i.DeviceDetectorService}]};var w=function(){function e(){}return e.prototype.transform=function(e){return Number.toVNCurrency(e)},e}();w.decorators=[{type:r.Pipe,args:[{name:"sdCurrency"}]}];var b=function(){function e(e){this.sanitizer=e}return e.prototype.transform=function(e){return this.sanitizer.bypassSecurityTrustHtml(e)},e}();b.decorators=[{type:r.Pipe,args:[{name:"safeHtml"}]}],b.ctorParameters=function(){return[{type:o.DomSanitizer}]};Object.create;var D,x;Object.create;function C(e,t,r,n){if("a"===r&&!n)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!n:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?n:"a"===r?n.call(e):n?n.value:t.get(e)}var M=function(e){var t=this;this.httpClient=e,D.set(this,"U1e09c1c0-b647-437e-995e-d7a1a1b60550"),x.set(this,(function(e){return e})),this.hashMD5=function(e){return f.default(e)},this.arrayToObject=function(e,t){return e.reduce((function(e,r){return e[r[t]]=r,e}),{})},this.changeAliasLowerCase=function(e){var t,r=null!==(t=null==e?void 0:e.toString())&&void 0!==t?t:"";return r=(r=(r=(r=(r=(r=(r=(r=(r=(r=(r=r.toString().toLowerCase()).replace(/à|á|ạ|ả|ã|â|ầ|ấ|ậ|ẩ|ẫ|ă|ằ|ắ|ặ|ẳ|ẵ/g,"a")).replace(/è|é|ẹ|ẻ|ẽ|ê|ề|ế|ệ|ể|ễ/g,"e")).replace(/ì|í|ị|ỉ|ĩ/g,"i")).replace(/ò|ó|ọ|ỏ|õ|ô|ồ|ố|ộ|ổ|ỗ|ơ|ờ|ớ|ợ|ở|ỡ/g,"o")).replace(/ù|ú|ụ|ủ|ũ|ư|ừ|ứ|ự|ử|ữ/g,"u")).replace(/ỳ|ý|ỵ|ỷ|ỹ/g,"y")).replace(/đ/g,"d")).replace(/!|@|%|\^|\*|\(|\)|\+|\=|\<|\>|\?|\/|,|\.|\:|\;|\'|\"|\&|\#|\[|\]|~|\$|_|`|-|{|}|\||\\/g," ")).replace(/ + /g," ")).trim()},this.timeDifference=function(e,r){if(void 0===r&&(r=new Date),!Date.isDate(e))return"";if(!Date.isDate(r))return"";var n=new Date(e),i=6e4,o=36e5,a=864e5,c=2592e6,s=31536e6,u=new Date(r).getTime()-n.getTime();return u<i?Math.round(u/1e3)+" "+C(t,x).call(t,"seconds ago"):u<o?Math.round(u/i)+" "+C(t,x).call(t,"minutes ago"):u<a?Math.round(u/o)+" "+C(t,x).call(t,"hours ago"):u<c?Math.round(u/a)+" "+C(t,x).call(t,"days ago"):u<s?Math.round(u/c)+" "+C(t,x).call(t,"months ago"):Math.round(u/s)+" "+C(t,x).call(t,"years ago")},this.upload=function(e){return new Promise((function(r,n){p.default("#"+C(t,D)).length&&p.default("body").children("#"+C(t,D)).remove(),p.default("body").append('<input id="'+C(t,D)+'" style="display: none" type="file" />'),p.default("#"+C(t,D)).on("change",(function(i){var o;try{var a=i.target.files.item(0);if(a){var c=a.name.lastIndexOf(".");if(-1===c){var s=C(t,x).call(t,"Invalid file extension");throw new Error(s)}var u=a.name.substring(c+1);if(e){if((null===(o=e.extensions)||void 0===o?void 0:o.length)&&!e.extensions.some((function(e){return e.toUpperCase()===u.toUpperCase()})))throw s="["+a.name+"] "+C(t,x).call(t,"Uploaded file is not match extension")+" "+e.extensions.join(", "),new Error(s);if(e.maxSizeInMb>0&&1024*e.maxSizeInMb*1024<a.size)throw s="["+a.name+"] "+C(t,x).call(t,"Max file size")+" "+e.maxSizeInMb+" Mbs",new Error(s);if(e.validator&&e.validator(a.name))throw s=e.validator(a.name),new Error(s)}r(a)}}catch(e){n(e)}})),p.default("#"+C(t,D)).trigger("click")}))},this.download=function(e,t){var r=document.createElement("a");r.download=""+(t||d.v4()),r.href=e,document.body.appendChild(r),r.click(),document.body.removeChild(r)},this.copyToClipboard=function(e){navigator.clipboard.writeText(e)},this.printHtml=function(e,t){var r="sdPrintSection",n="sd-print",i=document.querySelector("#"+e).firstElementChild.cloneNode(!0),o=document.createElement("div");o.id=r,o.appendChild(i),document.body.insertBefore(o,document.body.firstChild),document.querySelector("body app-root").classList.add(n);var a=document.title;t&&(document.title=t),window.print(),document.title=a,document.querySelector("body app-root").classList.remove(n);var c=document.getElementById(r);null!==c&&c.parentNode.removeChild(c)}};D=new WeakMap,x=new WeakMap,M.ɵprov=r.ɵɵdefineInjectable({factory:function(){return new M(r.ɵɵinject(l.HttpClient))},token:M,providedIn:"root"}),M.decorators=[{type:r.Injectable,args:[{providedIn:"root"}]}],M.ctorParameters=function(){return[{type:l.HttpClient}]};var S=function(){function e(e){this.utilityService=e,this.maxSecond=60,this.maxMinute=60*this.maxSecond,this.maxHour=24*this.maxMinute,this.maxDay=30*this.maxHour,this.maxMonth=365*this.maxHour}return e.prototype.transform=function(e,t,r){var n=this;return Date.isDate(e)?r?Math.round(((new Date).getTime()-new Date(e).getTime())/1e3)<0?a.of(Date.toFormat(e,t)):a.interval(1e3).pipe(c.map((function(){var i=Math.round(((new Date).getTime()-new Date(e).getTime())/1e3);return"month"===r&&i<n.maxMonth||"day"===r&&i<n.maxDay||"hour"===r&&i<n.maxHour||"minute"===r&&i<n.maxMinute||"second"===r&&i<n.maxSecond?n.utilityService.timeDifference(e):Date.toFormat(e,t)}))):a.of(Date.toFormat(e,t)):a.of(null)},e}();S.decorators=[{type:r.Pipe,args:[{name:"sdTimeDifferent"}]}],S.ctorParameters=function(){return[{type:M}]};var T=function(){};T.decorators=[{type:r.NgModule,args:[{imports:[n.CommonModule,l.HttpClientModule],declarations:[h,y,v,g,w,b,S],exports:[h,y,v,g,w,b,S],providers:[w,b,S]}]}],e.SdCurrencyPipe=w,e.SdDesktopDirective=h,e.SdMobileDirective=v,e.SdMobileTabletDirective=y,e.SdSafeHtmlPipe=b,e.SdTabletDirective=g,e.SdTimeDifferentPipe=S,e.SdUtilityModule=T,e.SdUtilityService=M,Object.defineProperty(e,"__esModule",{value:!0})}));
|
|
2
2
|
//# sourceMappingURL=sd-angular-core-utility.umd.min.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../projects/sd-core/utility/src/lib/directives/desktop.directive.ts","../../../../projects/sd-core/utility/src/lib/directives/mobile.directive.ts","../../../../projects/sd-core/utility/src/lib/directives/mobile-tablet.directive.ts","../../../../projects/sd-core/utility/src/lib/directives/tablet.directive.ts","../../../../projects/sd-core/utility/src/lib/pipes/currency.pipe.ts","../../../../projects/sd-core/utility/src/lib/pipes/safe-html.pipe.ts","../../../../node_modules/tslib/tslib.es6.js","../../../../projects/sd-core/utility/src/lib/utility.service.ts","../../../../projects/sd-core/utility/src/lib/pipes/time-different.pipe.ts","../../../../projects/sd-core/utility/src/lib/utility.module.ts"],"names":["templateRef","viewContainerRef","deviceService","this","isDesktop","createEmbeddedView","Directive","args","selector","TemplateRef","ViewContainerRef","DeviceDetectorService","isMobile","isTablet","SdCurrencyPipe","prototype","transform","value","Number","toVNCurrency","Pipe","name","SdSafeHtmlPipe","sanitizer","html","bypassSecurityTrustHtml","DomSanitizer","Object","create","__classPrivateFieldGet","receiver","state","kind","f","TypeError","has","call","get","httpClient","_this","_uploadId","set","_translate","hashMD5","key","md5","arrayToObject","items","reduce","obj","item","changeAliasLowerCase","alias","str","_a","toString","toLowerCase","replace","trim","timeDifference","previous","current","Date","isDate","from","msPerMinute","msPerHour","msPerDay","msPerMonth","msPerYear","elapsed","getTime","Math","round","upload","option","Promise","resolve","reject","$","length","children","remove","append","on","evt","file","target","files","lastDot","lastIndexOf","message","Error","extension_1","substring","extensions","some","e","toUpperCase","join","maxSizeInMb","size","validator","error","trigger","download","filePath","fileName","link","document","createElement","uuid.v4","href","body","appendChild","click","removeChild","copyToClipboard","text","navigator","clipboard","writeText","printHtml","elementId","printId","div","domClone","querySelector","firstElementChild","cloneNode","printSection","id","insertBefore","firstChild","classList","add","window","print","oldElem","getElementById","parentNode","Injectable","providedIn","HttpClient","SdTimeDifferentPipe","utilityService","maxSecond","maxMinute","maxHour","maxDay","maxMonth","format","different","of","toFormat","interval","pipe","map","timeDifferent","SdUtilityService","NgModule","imports","CommonModule","HttpClientModule","declarations","SdDesktopDirective","SdMobileTabletDirective","SdMobileDirective","SdTabletDirective","exports","providers"],"mappings":"2kCAQE,SACUA,EACAC,EACRC,GAFQC,KAAAH,YAAAA,EACAG,KAAAF,iBAAAA,EAGJC,EAAcE,aAChBD,KAAKF,iBAAiBI,mBAAmBF,KAAKH,kCAVnDM,EAAAA,UAASC,KAAA,CAAC,CACTC,SAAU,2DAJ0BC,EAAAA,mBAAlBC,EAAAA,wBACXC,EAAAA,+BCMP,SACUX,EACAC,EACRC,GAFQC,KAAAH,YAAAA,EACAG,KAAAF,iBAAAA,EAGJC,EAAcU,YAChBT,KAAKF,iBAAiBI,mBAAmBF,KAAKH,kCAVnDM,EAAAA,UAASC,KAAA,CAAC,CACTC,SAAU,0DAJQC,EAAAA,mBAAaC,EAAAA,wBACxBC,EAAAA,+BCMP,SACUX,EACAC,EACRC,GAFQC,KAAAH,YAAAA,EACAG,KAAAF,iBAAAA,GAGJC,EAAcU,YAAcV,EAAcW,aAC5CV,KAAKF,iBAAiBI,mBAAmBF,KAAKH,kCAVnDM,EAAAA,UAASC,KAAA,CAAC,CACTC,SAAU,gEAJQC,EAAAA,mBAAaC,EAAAA,wBACxBC,EAAAA,+BCMP,SACUX,EACAC,EACRC,GAFQC,KAAAH,YAAAA,EACAG,KAAAF,iBAAAA,EAGJC,EAAcW,YAChBV,KAAKF,iBAAiBI,mBAAmBF,KAAKH,kCAVnDM,EAAAA,UAASC,KAAA,CAAC,CACTC,SAAU,0DAJQC,EAAAA,mBAAaC,EAAAA,wBACxBC,EAAAA,0CCET,SAAAG,YACEA,EAAAC,UAAAC,UAAA,SAAUC,GACR,OAAOC,OAAOC,aAAaF,6BAL9BG,EAAAA,KAAIb,KAAA,CAAC,CACJc,KAAM,kCCMN,SAAAC,EAAoBC,GAAApB,KAAAoB,UAAAA,SAEpBD,EAAAP,UAAAC,UAAA,SAAUQ,GACR,OAAOrB,KAAKoB,UAAUE,wBAAwBD,6BARjDJ,EAAAA,KAAIb,KAAA,CAAC,CACJc,KAAM,wDAHCK,EAAAA,gBC0GoBC,OAAOC,OAsGpC,QAAyBD,OAAOC,gBAkBhBC,EAAuBC,EAAUC,EAAOC,EAAMC,GAC1D,GAAa,MAATD,IAAiBC,EAAG,MAAM,IAAIC,UAAU,iDAC5C,GAAqB,mBAAVH,EAAuBD,IAAaC,IAAUE,GAAKF,EAAMI,IAAIL,GAAW,MAAM,IAAII,UAAU,4EACvG,MAAgB,MAATF,EAAeC,EAAa,MAATD,EAAeC,EAAEG,KAAKN,GAAYG,EAAIA,EAAEhB,MAAQc,EAAMM,IAAIP,SCzNtF,SAAoBQ,GAApB,IAAAC,EAAApC,KAAoBA,KAAAmC,WAAAA,EAFpBE,EAAAC,IAAAtC,KAAY,yCAGZuC,EAAAD,IAAAtC,MAAa,SAACc,GAAkB,OAAAA,KAEhCd,KAAAwC,QAAU,SAACC,GAAgB,OAAAC,EAAAA,QAAID,IAE/BzC,KAAA2C,cAAgB,SAAIC,EAAYH,GAC9B,OAAOG,EAAMC,QAAO,SAACC,EAAKC,GAAkC,OAAvBD,EAAIC,EAAKN,IAAQM,EAAaD,IAAQ,KAG7E9C,KAAAgD,qBAAuB,SAACC,SAClBC,EAAqB,QAAlBC,EAAGF,MAAAA,OAAK,EAALA,EAAOG,kBAAQ,IAAAD,EAAAA,EAAM,GAY/B,OADAD,GADAA,GADAA,GADAA,GADAA,GADAA,GADAA,GADAA,GADAA,GADAA,GADAA,EAAMA,EAAIE,WAAWC,eACXC,QAAQ,qCAAsC,MAC9CA,QAAQ,yBAA0B,MAClCA,QAAQ,aAAc,MACtBA,QAAQ,qCAAsC,MAC9CA,QAAQ,yBAA0B,MAClCA,QAAQ,aAAc,MACtBA,QAAQ,KAAM,MACdA,QAAQ,yFAA0F,MAClGA,QAAQ,OAAQ,MAChBC,QAIZvD,KAAAwD,eAAiB,SAACC,EAAeC,GAC/B,QAD+B,IAAAA,IAAAA,EAAA,IAAmBC,OAC7CA,KAAKC,OAAOH,GACf,MAAO,GAET,IAAKE,KAAKC,OAAOF,GACf,MAAO,GAET,IAAMG,EAAO,IAAIF,KAAKF,GAEhBK,EAAc,IACdC,EAAYD,KACZE,EAAWD,MACXE,EAAaD,OACbE,EAAYF,QACZG,EANK,IAAIR,KAAKD,GAMDU,UAAYP,EAAKO,UAEpC,OAAID,EAAUL,EACFO,KAAKC,MAAMH,EAAU,KAAK,IAAIzC,EAAAU,EAAAG,GAAAN,KAAAG,EAAgB,eAGtD+B,EAAUJ,EACFM,KAAKC,MAAMH,EAAUL,GAAY,IAAIpC,EAAAU,EAAAG,GAAAN,KAAAG,EAAgB,eAG7D+B,EAAUH,EACFK,KAAKC,MAAMH,EAAUJ,GAAU,IAAIrC,EAAAU,EAAAG,GAAAN,KAAAG,EAAgB,aAG3D+B,EAAUF,EACFI,KAAKC,MAAMH,EAAUH,GAAS,IAAItC,EAAAU,EAAAG,GAAAN,KAAAG,EAAgB,YAG1D+B,EAAUD,EACFG,KAAKC,MAAMH,EAAUF,GAAW,IAAIvC,EAAAU,EAAAG,GAAAN,KAAAG,EAAgB,cAEtDiC,KAAKC,MAAMH,EAAUD,GAAU,IAAIxC,EAAAU,EAAAG,GAAAN,KAAAG,EAAgB,cAG/DpC,KAAAuE,OAAS,SAACC,GA2CR,OAtCgB,IAAIC,SAAc,SAACC,EAASC,GACtCC,EAAAA,QAAE,IAAIlD,EAAAU,EAAAC,IAAkBwC,QAC1BD,EAAAA,QAAE,QAAQE,SAAS,IAAIpD,EAAAU,EAAAC,IAAkB0C,SAE3CH,EAAAA,QAAE,QAAQI,OAAO,cAActD,EAAAU,EAAAC,GAAc,0CAC7CuC,EAAAA,QAAE,IAAIlD,EAAAU,EAAAC,IAAkB4C,GAAG,UAAU,SAACC,SACpC,IACE,IACMC,EADuBD,EAAIE,OACbC,MAAMtC,KAAK,GAC/B,GAAIoC,EAAM,CACR,IAAMG,EAAUH,EAAKjE,KAAKqE,YAAY,KACtC,IAAiB,IAAbD,EAAgB,CAClB,IAAME,EAAU9D,EAAAU,EAAAG,GAAAN,KAAAG,EAAgB,0BAChC,MAAM,IAAIqD,MAAMD,GAElB,IAAME,EAAYP,EAAKjE,KAAKyE,UAAUL,EAAU,GAChD,GAAId,EAAQ,CACV,IAAqB,QAAjBrB,EAAAqB,EAAOoB,kBAAU,IAAAzC,OAAA,EAAAA,EAAE0B,UAAWL,EAAOoB,WAAWC,MAAK,SAAAC,GAAK,OAAAA,EAAEC,gBAAkBL,EAAUK,iBAE1F,MADMP,EAAU,IAAIL,EAAKjE,KAAI,KAAKQ,EAAAU,EAAAG,GAAAN,KAAAG,EAAgB,wCAAuC,IAAIoC,EAAOoB,WAAWI,KAAK,MAC9G,IAAIP,MAAMD,GAElB,GAAIhB,EAAOyB,YAAc,GAA0B,KAArBzB,EAAOyB,YAAqB,KAAOd,EAAKe,KAEpE,MADMV,EAAU,IAAIL,EAAKjE,KAAI,KAAKQ,EAAAU,EAAAG,GAAAN,KAAAG,EAAgB,iBAAgB,IAAIoC,EAAOyB,YAAW,OAClF,IAAIR,MAAMD,GAElB,GAAIhB,EAAO2B,WAAa3B,EAAO2B,UAAUhB,EAAKjE,MAE5C,MADMsE,EAAUhB,EAAO2B,UAAUhB,EAAKjE,MAChC,IAAIuE,MAAMD,GAGpBd,EAAQS,IAEV,MAAOiB,GACPzB,EAAOyB,OAGXxB,EAAAA,QAAE,IAAIlD,EAAAU,EAAAC,IAAkBgE,QAAQ,aAKpCrG,KAAAsG,SAAW,SAACC,EAAkBC,GAC5B,IAAMC,EAAYC,SAASC,cAAc,KACzCF,EAAKH,SAAW,IAAGE,GAAYI,EAAAA,MAC/BH,EAAKI,KAAON,EACZG,SAASI,KAAKC,YAAYN,GAC1BA,EAAKO,QACLN,SAASI,KAAKG,YAAYR,IAG5BzG,KAAAkH,gBAAkB,SAACC,GACjBC,UAAUC,UAAUC,UAAUH,IAGhCnH,KAAAuH,UAAY,SAACC,GACX,IAAMC,EAAU,iBACVC,EAAM,WAWNC,EADOjB,SAASkB,cAAc,IAAMJ,GAAWK,kBAC/BC,WAAU,GAE1BC,EAAerB,SAASC,cAAc,OAC5CoB,EAAaC,GAAKP,EAClBM,EAAahB,YAAYY,GAEzBjB,SAASI,KAAKmB,aAAaF,EAAcrB,SAASI,KAAKoB,YACvDxB,SAASkB,cAAc,iBAAiBO,UAAUC,IAAIV,GAQtDW,OAAOC,QACP5B,SAASkB,cAAc,iBAAiBO,UAAUpD,OAAO2C,GACzD,IAAMa,EAAU7B,SAAS8B,eAAef,GACxB,OAAZc,GACFA,EAAQE,WAAWxB,YAAYsB,0KAhKpCG,EAAAA,WAAUtI,KAAA,CAAC,CACVuI,WAAY,oDAHLC,EAAAA,+BCQP,SAAAC,EAAoBC,GAAA9I,KAAA8I,eAAAA,EALZ9I,KAAA+I,UAAY,GACZ/I,KAAAgJ,UAA6B,GAAjBhJ,KAAK+I,UACjB/I,KAAAiJ,QAA2B,GAAjBjJ,KAAKgJ,UACfhJ,KAAAkJ,OAAwB,GAAflJ,KAAKiJ,QACdjJ,KAAAmJ,SAA0B,IAAfnJ,KAAKiJ,eAExBJ,EAAAjI,UAAAC,UAAA,SAAUC,EAAYsI,EAAgBC,GAAtC,IAAAjH,EAAApC,KACE,OAAK2D,KAAKC,OAAO9C,GAGZuI,EAGDhF,KAAKC,QAAO,IAAIX,MAAOS,UAAY,IAAIT,KAAK7C,GAAOsD,WAAa,KAAQ,EACnEkF,EAAAA,GAAG3F,KAAK4F,SAASzI,EAAOsI,IAE1BI,EAAAA,SAAS,KAAMC,KAAKC,EAAAA,KAAI,WAC7B,IAAMC,EAAgBtF,KAAKC,QAAO,IAAIX,MAAOS,UAAY,IAAIT,KAAK7C,GAAOsD,WAAa,KACtF,MAAkB,UAAdiF,GAAyBM,EAAgBvH,EAAK+G,UAGhC,QAAdE,GAAuBM,EAAgBvH,EAAK8G,QAG9B,SAAdG,GAAwBM,EAAgBvH,EAAK6G,SAG/B,WAAdI,GAA0BM,EAAgBvH,EAAK4G,WAGjC,WAAdK,GAA0BM,EAAgBvH,EAAK2G,UAX1C3G,EAAK0G,eAAetF,eAAe1C,GAcrC6C,KAAK4F,SAASzI,EAAOsI,OAtBrBE,EAAAA,GAAG3F,KAAK4F,SAASzI,EAAOsI,IAHxBE,EAAAA,GAAG,gCAZfrI,EAAAA,KAAIb,KAAA,CAAC,CACJc,KAAM,+DAFC0I,WCsCT,iCA7BCC,EAAAA,SAAQzJ,KAAA,CAAC,CACR0J,QAAS,CACPC,EAAAA,aACAC,EAAAA,kBAEFC,aAAc,CACZC,EACAC,EACAC,EACAC,EACA1J,EACAQ,EACA0H,GAEFyB,QAAS,CACPJ,EACAC,EACAC,EACAC,EACA1J,EACAQ,EACA0H,GAEF0B,UAAW,CACT5J,EACAQ,EACA0H","sourcesContent":["\r\nimport { Directive, ViewContainerRef, TemplateRef } from '@angular/core';\r\nimport { DeviceDetectorService } from 'ngx-device-detector';\r\n\r\n@Directive({\r\n selector: '[sdDesktop]'\r\n})\r\nexport class SdDesktopDirective {\r\n constructor(\r\n private templateRef: TemplateRef<any>,\r\n private viewContainerRef: ViewContainerRef,\r\n deviceService: DeviceDetectorService,\r\n ) {\r\n if (deviceService.isDesktop()) {\r\n this.viewContainerRef.createEmbeddedView(this.templateRef);\r\n }\r\n }\r\n}\r\n","\r\nimport { Directive, TemplateRef, ViewContainerRef } from '@angular/core';\r\nimport { DeviceDetectorService } from 'ngx-device-detector';\r\n\r\n@Directive({\r\n selector: '[sdMobile]'\r\n})\r\nexport class SdMobileDirective {\r\n constructor(\r\n private templateRef: TemplateRef<any>,\r\n private viewContainerRef: ViewContainerRef,\r\n deviceService: DeviceDetectorService,\r\n ) {\r\n if (deviceService.isMobile()) {\r\n this.viewContainerRef.createEmbeddedView(this.templateRef);\r\n }\r\n }\r\n}\r\n","\r\nimport { Directive, TemplateRef, ViewContainerRef } from '@angular/core';\r\nimport { DeviceDetectorService } from 'ngx-device-detector';\r\n\r\n@Directive({\r\n selector: '[sdMobileTablet]'\r\n})\r\nexport class SdMobileTabletDirective {\r\n constructor(\r\n private templateRef: TemplateRef<any>,\r\n private viewContainerRef: ViewContainerRef,\r\n deviceService: DeviceDetectorService,\r\n ) {\r\n if (deviceService.isMobile() || deviceService.isTablet()) {\r\n this.viewContainerRef.createEmbeddedView(this.templateRef);\r\n }\r\n }\r\n}\r\n","\r\nimport { Directive, TemplateRef, ViewContainerRef } from '@angular/core';\r\nimport { DeviceDetectorService } from 'ngx-device-detector';\r\n\r\n@Directive({\r\n selector: '[sdTablet]'\r\n})\r\nexport class SdTabletDirective {\r\n constructor(\r\n private templateRef: TemplateRef<any>,\r\n private viewContainerRef: ViewContainerRef,\r\n deviceService: DeviceDetectorService,\r\n ) {\r\n if (deviceService.isTablet()) {\r\n this.viewContainerRef.createEmbeddedView(this.templateRef);\r\n }\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n@Pipe({\r\n name: 'sdCurrency',\r\n})\r\nexport class SdCurrencyPipe implements PipeTransform {\r\n transform(value: any) {\r\n return Number.toVNCurrency(value);\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\n\r\n@Pipe({\r\n name: 'safeHtml',\r\n})\r\nexport class SdSafeHtmlPipe implements PipeTransform {\r\n\r\n constructor(private sanitizer: DomSanitizer) { }\r\n\r\n transform(html: string) {\r\n return this.sanitizer.bypassSecurityTrustHtml(html);\r\n }\r\n}\r\n","/*! *****************************************************************************\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 { Injectable } from '@angular/core';\r\n// import PDFMerger from 'pdf-merger-js/browser';\r\nimport md5 from 'md5';\r\nimport $ from 'jquery';\r\nimport * as uuid from 'uuid';\r\nimport { HttpClient } from '@angular/common/http';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SdUtilityService {\r\n #uploadId = 'U1e09c1c0-b647-437e-995e-d7a1a1b60550';\r\n\r\n constructor(private httpClient: HttpClient) { }\r\n #translate = (value: string) => value;\r\n\r\n hashMD5 = (key: string) => md5(key);\r\n\r\n arrayToObject = <T>(items: T[], key: string): { [key: string]: T } => {\r\n return items.reduce((obj, item) => { obj[item[key]] = item; return obj; }, {});\r\n }\r\n\r\n 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\n timeDifference = (previous: any, current: any = new Date()) => {\r\n if (!Date.isDate(previous)) {\r\n return '';\r\n }\r\n if (!Date.isDate(current)) {\r\n return '';\r\n }\r\n const from = new Date(previous);\r\n const to = new Date(current);\r\n const msPerMinute = 60 * 1000;\r\n const msPerHour = msPerMinute * 60;\r\n const msPerDay = msPerHour * 24;\r\n const msPerMonth = msPerDay * 30;\r\n const msPerYear = msPerDay * 365;\r\n const elapsed = to.getTime() - from.getTime();\r\n\r\n if (elapsed < msPerMinute) {\r\n return `${Math.round(elapsed / 1000)} ${this.#translate('seconds ago')}`;\r\n }\r\n\r\n if (elapsed < msPerHour) {\r\n return `${Math.round(elapsed / msPerMinute)} ${this.#translate('minutes ago')}`;\r\n }\r\n\r\n if (elapsed < msPerDay) {\r\n return `${Math.round(elapsed / msPerHour)} ${this.#translate('hours ago')}`;\r\n }\r\n\r\n if (elapsed < msPerMonth) {\r\n return `${Math.round(elapsed / msPerDay)} ${this.#translate('days ago')}`;\r\n }\r\n\r\n if (elapsed < msPerYear) {\r\n return `${Math.round(elapsed / msPerMonth)} ${this.#translate('months ago')}`;\r\n }\r\n return `${Math.round(elapsed / msPerYear)} ${this.#translate('years ago')}`;\r\n }\r\n\r\n upload = (option?: {\r\n extensions?: string[],\r\n maxSizeInMb?: number,\r\n validator?: (fileName: string) => string\r\n }): Promise<File> => {\r\n const promise = new Promise<File>((resolve, reject) => {\r\n if ($(`#${this.#uploadId}`).length) {\r\n $('body').children(`#${this.#uploadId}`).remove();\r\n }\r\n $('body').append(`<input id=\"${this.#uploadId}\" style=\"display: none\" type=\"file\" />`);\r\n $(`#${this.#uploadId}`).on('change', (evt: any) => {\r\n try {\r\n const target: DataTransfer = evt.target;\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 const message = this.#translate(`Invalid file extension`);\r\n throw new Error(message);\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 const message = `[${file.name}] ${this.#translate('Uploaded file is not match extension')} ${option.extensions.join(', ')}`;\r\n throw new Error(message);\r\n }\r\n if (option.maxSizeInMb > 0 && option.maxSizeInMb * 1024 * 1024 < file.size) {\r\n const message = `[${file.name}] ${this.#translate('Max file size')} ${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 $(`#${this.#uploadId}`).trigger('click');\r\n });\r\n return promise;\r\n }\r\n\r\n download = (filePath: string, fileName?: string) => {\r\n const link: any = document.createElement('a');\r\n link.download = `${fileName || uuid.v4()}`;\r\n link.href = filePath;\r\n document.body.appendChild(link);\r\n link.click();\r\n document.body.removeChild(link);\r\n }\r\n\r\n copyToClipboard = (text: string) => {\r\n navigator.clipboard.writeText(text);\r\n }\r\n\r\n printHtml = (elementId: string) => {\r\n const printId = `sdPrintSection`;\r\n const div = 'sd-print';\r\n // const printContents = document.getElementById(elementId).innerHTML;\r\n // const originalContents = document.body.innerHTML;\r\n\r\n // document.body.innerHTML = printContents;\r\n // setTimeout(() => {\r\n // document.body.innerHTML = originalContents;\r\n // }, 100);\r\n // window.print();\r\n\r\n const elem = document.querySelector('#' + elementId).firstElementChild;\r\n const domClone = elem.cloneNode(true);\r\n\r\n const printSection = document.createElement('div');\r\n printSection.id = printId;\r\n printSection.appendChild(domClone);\r\n\r\n document.body.insertBefore(printSection, document.body.firstChild);\r\n document.querySelector('body app-root').classList.add(div);\r\n // setTimeout(() => {\r\n // document.querySelector('body app-root').classList.remove('sd-print');\r\n // const oldElem = document.getElementById(printId);\r\n // if (oldElem !== null) {\r\n // oldElem.parentNode.removeChild(oldElem); // oldElem.remove() not supported by IE\r\n // }\r\n // }, 100);\r\n window.print();\r\n document.querySelector('body app-root').classList.remove(div);\r\n const oldElem = document.getElementById(printId);\r\n if (oldElem !== null) {\r\n oldElem.parentNode.removeChild(oldElem); // oldElem.remove() not supported by IE\r\n }\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { interval, Observable, of } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\nimport { SdUtilityService } from '../utility.service';\r\n@Pipe({\r\n name: 'sdTimeDifferent',\r\n})\r\nexport class SdTimeDifferentPipe implements PipeTransform {\r\n private maxSecond = 60;\r\n private maxMinute = this.maxSecond * 60;\r\n private maxHour = this.maxMinute * 24;\r\n private maxDay = this.maxHour * 30;\r\n private maxMonth = this.maxHour * 365;\r\n constructor(private utilityService: SdUtilityService) { }\r\n transform(value: any, format: string, different: 'second' | 'minute' | 'hour' | 'day' | 'month'): Observable<string> {\r\n if (!Date.isDate(value)) {\r\n return of(null);\r\n }\r\n if (!different) {\r\n return of(Date.toFormat(value, format));\r\n }\r\n if (Math.round((new Date().getTime() - new Date(value).getTime()) / 1000) < 0) {\r\n return of(Date.toFormat(value, format));\r\n }\r\n return interval(1000).pipe(map(() => {\r\n const timeDifferent = Math.round((new Date().getTime() - new Date(value).getTime()) / 1000);\r\n if (different === 'month' && timeDifferent < this.maxMonth) {\r\n return this.utilityService.timeDifference(value);\r\n }\r\n if (different === 'day' && timeDifferent < this.maxDay) {\r\n return this.utilityService.timeDifference(value);\r\n }\r\n if (different === 'hour' && timeDifferent < this.maxHour) {\r\n return this.utilityService.timeDifference(value);\r\n }\r\n if (different === 'minute' && timeDifferent < this.maxMinute) {\r\n return this.utilityService.timeDifference(value);\r\n }\r\n if (different === 'second' && timeDifferent < this.maxSecond) {\r\n return this.utilityService.timeDifference(value);\r\n }\r\n return Date.toFormat(value, format);\r\n }));\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { SdDesktopDirective } from './directives/desktop.directive';\r\nimport { SdMobileDirective } from './directives/mobile.directive';\r\nimport { SdMobileTabletDirective } from './directives/mobile-tablet.directive';\r\nimport { SdTabletDirective } from './directives/tablet.directive';\r\n\r\nimport { SdCurrencyPipe } from './pipes/currency.pipe';\r\nimport { SdSafeHtmlPipe } from './pipes/safe-html.pipe';\r\nimport { SdTimeDifferentPipe } from './pipes/time-different.pipe';\r\nimport { HttpClientModule } from '@angular/common/http';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n HttpClientModule\r\n ],\r\n declarations: [\r\n SdDesktopDirective,\r\n SdMobileTabletDirective,\r\n SdMobileDirective,\r\n SdTabletDirective,\r\n SdCurrencyPipe,\r\n SdSafeHtmlPipe,\r\n SdTimeDifferentPipe\r\n ],\r\n exports: [\r\n SdDesktopDirective,\r\n SdMobileTabletDirective,\r\n SdMobileDirective,\r\n SdTabletDirective,\r\n SdCurrencyPipe,\r\n SdSafeHtmlPipe,\r\n SdTimeDifferentPipe\r\n ],\r\n providers: [\r\n SdCurrencyPipe,\r\n SdSafeHtmlPipe,\r\n SdTimeDifferentPipe\r\n ]\r\n})\r\nexport class SdUtilityModule {}\r\n"]}
|
|
1
|
+
{"version":3,"sources":["../../../../projects/sd-core/utility/src/lib/directives/desktop.directive.ts","../../../../projects/sd-core/utility/src/lib/directives/mobile.directive.ts","../../../../projects/sd-core/utility/src/lib/directives/mobile-tablet.directive.ts","../../../../projects/sd-core/utility/src/lib/directives/tablet.directive.ts","../../../../projects/sd-core/utility/src/lib/pipes/currency.pipe.ts","../../../../projects/sd-core/utility/src/lib/pipes/safe-html.pipe.ts","../../../../node_modules/tslib/tslib.es6.js","../../../../projects/sd-core/utility/src/lib/utility.service.ts","../../../../projects/sd-core/utility/src/lib/pipes/time-different.pipe.ts","../../../../projects/sd-core/utility/src/lib/utility.module.ts"],"names":["templateRef","viewContainerRef","deviceService","this","isDesktop","createEmbeddedView","Directive","args","selector","TemplateRef","ViewContainerRef","DeviceDetectorService","isMobile","isTablet","SdCurrencyPipe","prototype","transform","value","Number","toVNCurrency","Pipe","name","SdSafeHtmlPipe","sanitizer","html","bypassSecurityTrustHtml","DomSanitizer","Object","create","__classPrivateFieldGet","receiver","state","kind","f","TypeError","has","call","get","httpClient","_this","_uploadId","set","_translate","hashMD5","key","md5","arrayToObject","items","reduce","obj","item","changeAliasLowerCase","alias","str","_a","toString","toLowerCase","replace","trim","timeDifference","previous","current","Date","isDate","from","msPerMinute","msPerHour","msPerDay","msPerMonth","msPerYear","elapsed","getTime","Math","round","upload","option","Promise","resolve","reject","$","length","children","remove","append","on","evt","file","target","files","lastDot","lastIndexOf","message","Error","extension_1","substring","extensions","some","e","toUpperCase","join","maxSizeInMb","size","validator","error","trigger","download","filePath","fileName","link","document","createElement","uuid.v4","href","body","appendChild","click","removeChild","copyToClipboard","text","navigator","clipboard","writeText","printHtml","elementId","printId","div","domClone","querySelector","firstElementChild","cloneNode","printSection","id","insertBefore","firstChild","classList","add","title","window","print","oldElem","getElementById","parentNode","Injectable","providedIn","HttpClient","SdTimeDifferentPipe","utilityService","maxSecond","maxMinute","maxHour","maxDay","maxMonth","format","different","of","toFormat","interval","pipe","map","timeDifferent","SdUtilityService","NgModule","imports","CommonModule","HttpClientModule","declarations","SdDesktopDirective","SdMobileTabletDirective","SdMobileDirective","SdTabletDirective","exports","providers"],"mappings":"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","sourcesContent":["\r\nimport { Directive, ViewContainerRef, TemplateRef } from '@angular/core';\r\nimport { DeviceDetectorService } from 'ngx-device-detector';\r\n\r\n@Directive({\r\n selector: '[sdDesktop]'\r\n})\r\nexport class SdDesktopDirective {\r\n constructor(\r\n private templateRef: TemplateRef<any>,\r\n private viewContainerRef: ViewContainerRef,\r\n deviceService: DeviceDetectorService,\r\n ) {\r\n if (deviceService.isDesktop()) {\r\n this.viewContainerRef.createEmbeddedView(this.templateRef);\r\n }\r\n }\r\n}\r\n","\r\nimport { Directive, TemplateRef, ViewContainerRef } from '@angular/core';\r\nimport { DeviceDetectorService } from 'ngx-device-detector';\r\n\r\n@Directive({\r\n selector: '[sdMobile]'\r\n})\r\nexport class SdMobileDirective {\r\n constructor(\r\n private templateRef: TemplateRef<any>,\r\n private viewContainerRef: ViewContainerRef,\r\n deviceService: DeviceDetectorService,\r\n ) {\r\n if (deviceService.isMobile()) {\r\n this.viewContainerRef.createEmbeddedView(this.templateRef);\r\n }\r\n }\r\n}\r\n","\r\nimport { Directive, TemplateRef, ViewContainerRef } from '@angular/core';\r\nimport { DeviceDetectorService } from 'ngx-device-detector';\r\n\r\n@Directive({\r\n selector: '[sdMobileTablet]'\r\n})\r\nexport class SdMobileTabletDirective {\r\n constructor(\r\n private templateRef: TemplateRef<any>,\r\n private viewContainerRef: ViewContainerRef,\r\n deviceService: DeviceDetectorService,\r\n ) {\r\n if (deviceService.isMobile() || deviceService.isTablet()) {\r\n this.viewContainerRef.createEmbeddedView(this.templateRef);\r\n }\r\n }\r\n}\r\n","\r\nimport { Directive, TemplateRef, ViewContainerRef } from '@angular/core';\r\nimport { DeviceDetectorService } from 'ngx-device-detector';\r\n\r\n@Directive({\r\n selector: '[sdTablet]'\r\n})\r\nexport class SdTabletDirective {\r\n constructor(\r\n private templateRef: TemplateRef<any>,\r\n private viewContainerRef: ViewContainerRef,\r\n deviceService: DeviceDetectorService,\r\n ) {\r\n if (deviceService.isTablet()) {\r\n this.viewContainerRef.createEmbeddedView(this.templateRef);\r\n }\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n@Pipe({\r\n name: 'sdCurrency',\r\n})\r\nexport class SdCurrencyPipe implements PipeTransform {\r\n transform(value: any) {\r\n return Number.toVNCurrency(value);\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\n\r\n@Pipe({\r\n name: 'safeHtml',\r\n})\r\nexport class SdSafeHtmlPipe implements PipeTransform {\r\n\r\n constructor(private sanitizer: DomSanitizer) { }\r\n\r\n transform(html: string) {\r\n return this.sanitizer.bypassSecurityTrustHtml(html);\r\n }\r\n}\r\n","/*! *****************************************************************************\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 { Injectable } from '@angular/core';\r\n// import PDFMerger from 'pdf-merger-js/browser';\r\nimport md5 from 'md5';\r\nimport $ from 'jquery';\r\nimport * as uuid from 'uuid';\r\nimport { HttpClient } from '@angular/common/http';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SdUtilityService {\r\n #uploadId = 'U1e09c1c0-b647-437e-995e-d7a1a1b60550';\r\n\r\n constructor(private httpClient: HttpClient) { }\r\n #translate = (value: string) => value;\r\n\r\n hashMD5 = (key: string) => md5(key);\r\n\r\n arrayToObject = <T>(items: T[], key: string): { [key: string]: T } => {\r\n return items.reduce((obj, item) => { obj[item[key]] = item; return obj; }, {});\r\n }\r\n\r\n 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\n timeDifference = (previous: any, current: any = new Date()) => {\r\n if (!Date.isDate(previous)) {\r\n return '';\r\n }\r\n if (!Date.isDate(current)) {\r\n return '';\r\n }\r\n const from = new Date(previous);\r\n const to = new Date(current);\r\n const msPerMinute = 60 * 1000;\r\n const msPerHour = msPerMinute * 60;\r\n const msPerDay = msPerHour * 24;\r\n const msPerMonth = msPerDay * 30;\r\n const msPerYear = msPerDay * 365;\r\n const elapsed = to.getTime() - from.getTime();\r\n\r\n if (elapsed < msPerMinute) {\r\n return `${Math.round(elapsed / 1000)} ${this.#translate('seconds ago')}`;\r\n }\r\n\r\n if (elapsed < msPerHour) {\r\n return `${Math.round(elapsed / msPerMinute)} ${this.#translate('minutes ago')}`;\r\n }\r\n\r\n if (elapsed < msPerDay) {\r\n return `${Math.round(elapsed / msPerHour)} ${this.#translate('hours ago')}`;\r\n }\r\n\r\n if (elapsed < msPerMonth) {\r\n return `${Math.round(elapsed / msPerDay)} ${this.#translate('days ago')}`;\r\n }\r\n\r\n if (elapsed < msPerYear) {\r\n return `${Math.round(elapsed / msPerMonth)} ${this.#translate('months ago')}`;\r\n }\r\n return `${Math.round(elapsed / msPerYear)} ${this.#translate('years ago')}`;\r\n }\r\n\r\n upload = (option?: {\r\n extensions?: string[],\r\n maxSizeInMb?: number,\r\n validator?: (fileName: string) => string\r\n }): Promise<File> => {\r\n const promise = new Promise<File>((resolve, reject) => {\r\n if ($(`#${this.#uploadId}`).length) {\r\n $('body').children(`#${this.#uploadId}`).remove();\r\n }\r\n $('body').append(`<input id=\"${this.#uploadId}\" style=\"display: none\" type=\"file\" />`);\r\n $(`#${this.#uploadId}`).on('change', (evt: any) => {\r\n try {\r\n const target: DataTransfer = evt.target;\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 const message = this.#translate(`Invalid file extension`);\r\n throw new Error(message);\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 const message = `[${file.name}] ${this.#translate('Uploaded file is not match extension')} ${option.extensions.join(', ')}`;\r\n throw new Error(message);\r\n }\r\n if (option.maxSizeInMb > 0 && option.maxSizeInMb * 1024 * 1024 < file.size) {\r\n const message = `[${file.name}] ${this.#translate('Max file size')} ${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 $(`#${this.#uploadId}`).trigger('click');\r\n });\r\n return promise;\r\n }\r\n\r\n download = (filePath: string, fileName?: string) => {\r\n const link: any = document.createElement('a');\r\n link.download = `${fileName || uuid.v4()}`;\r\n link.href = filePath;\r\n document.body.appendChild(link);\r\n link.click();\r\n document.body.removeChild(link);\r\n }\r\n\r\n copyToClipboard = (text: string) => {\r\n navigator.clipboard.writeText(text);\r\n }\r\n\r\n printHtml = (elementId: string, fileName?: string) => {\r\n const printId = `sdPrintSection`;\r\n const div = 'sd-print';\r\n // const printContents = document.getElementById(elementId).innerHTML;\r\n // const originalContents = document.body.innerHTML;\r\n\r\n // document.body.innerHTML = printContents;\r\n // setTimeout(() => {\r\n // document.body.innerHTML = originalContents;\r\n // }, 100);\r\n // window.print();\r\n\r\n const elem = document.querySelector('#' + elementId).firstElementChild;\r\n const domClone = elem.cloneNode(true);\r\n\r\n const printSection = document.createElement('div');\r\n printSection.id = printId;\r\n printSection.appendChild(domClone);\r\n\r\n document.body.insertBefore(printSection, document.body.firstChild);\r\n document.querySelector('body app-root').classList.add(div);\r\n const title = document.title;\r\n if(fileName) {\r\n document.title = fileName;\r\n }\r\n window.print();\r\n document.title = title;\r\n document.querySelector('body app-root').classList.remove(div);\r\n const oldElem = document.getElementById(printId);\r\n if (oldElem !== null) {\r\n oldElem.parentNode.removeChild(oldElem); // oldElem.remove() not supported by IE\r\n }\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { interval, Observable, of } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\nimport { SdUtilityService } from '../utility.service';\r\n@Pipe({\r\n name: 'sdTimeDifferent',\r\n})\r\nexport class SdTimeDifferentPipe implements PipeTransform {\r\n private maxSecond = 60;\r\n private maxMinute = this.maxSecond * 60;\r\n private maxHour = this.maxMinute * 24;\r\n private maxDay = this.maxHour * 30;\r\n private maxMonth = this.maxHour * 365;\r\n constructor(private utilityService: SdUtilityService) { }\r\n transform(value: any, format: string, different: 'second' | 'minute' | 'hour' | 'day' | 'month'): Observable<string> {\r\n if (!Date.isDate(value)) {\r\n return of(null);\r\n }\r\n if (!different) {\r\n return of(Date.toFormat(value, format));\r\n }\r\n if (Math.round((new Date().getTime() - new Date(value).getTime()) / 1000) < 0) {\r\n return of(Date.toFormat(value, format));\r\n }\r\n return interval(1000).pipe(map(() => {\r\n const timeDifferent = Math.round((new Date().getTime() - new Date(value).getTime()) / 1000);\r\n if (different === 'month' && timeDifferent < this.maxMonth) {\r\n return this.utilityService.timeDifference(value);\r\n }\r\n if (different === 'day' && timeDifferent < this.maxDay) {\r\n return this.utilityService.timeDifference(value);\r\n }\r\n if (different === 'hour' && timeDifferent < this.maxHour) {\r\n return this.utilityService.timeDifference(value);\r\n }\r\n if (different === 'minute' && timeDifferent < this.maxMinute) {\r\n return this.utilityService.timeDifference(value);\r\n }\r\n if (different === 'second' && timeDifferent < this.maxSecond) {\r\n return this.utilityService.timeDifference(value);\r\n }\r\n return Date.toFormat(value, format);\r\n }));\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { SdDesktopDirective } from './directives/desktop.directive';\r\nimport { SdMobileDirective } from './directives/mobile.directive';\r\nimport { SdMobileTabletDirective } from './directives/mobile-tablet.directive';\r\nimport { SdTabletDirective } from './directives/tablet.directive';\r\n\r\nimport { SdCurrencyPipe } from './pipes/currency.pipe';\r\nimport { SdSafeHtmlPipe } from './pipes/safe-html.pipe';\r\nimport { SdTimeDifferentPipe } from './pipes/time-different.pipe';\r\nimport { HttpClientModule } from '@angular/common/http';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n HttpClientModule\r\n ],\r\n declarations: [\r\n SdDesktopDirective,\r\n SdMobileTabletDirective,\r\n SdMobileDirective,\r\n SdTabletDirective,\r\n SdCurrencyPipe,\r\n SdSafeHtmlPipe,\r\n SdTimeDifferentPipe\r\n ],\r\n exports: [\r\n SdDesktopDirective,\r\n SdMobileTabletDirective,\r\n SdMobileDirective,\r\n SdTabletDirective,\r\n SdCurrencyPipe,\r\n SdSafeHtmlPipe,\r\n SdTimeDifferentPipe\r\n ],\r\n providers: [\r\n SdCurrencyPipe,\r\n SdSafeHtmlPipe,\r\n SdTimeDifferentPipe\r\n ]\r\n})\r\nexport class SdUtilityModule {}\r\n"]}
|
|
@@ -119,7 +119,7 @@ export class SdUtilityService {
|
|
|
119
119
|
this.copyToClipboard = (text) => {
|
|
120
120
|
navigator.clipboard.writeText(text);
|
|
121
121
|
};
|
|
122
|
-
this.printHtml = (elementId) => {
|
|
122
|
+
this.printHtml = (elementId, fileName) => {
|
|
123
123
|
const printId = `sdPrintSection`;
|
|
124
124
|
const div = 'sd-print';
|
|
125
125
|
// const printContents = document.getElementById(elementId).innerHTML;
|
|
@@ -136,14 +136,12 @@ export class SdUtilityService {
|
|
|
136
136
|
printSection.appendChild(domClone);
|
|
137
137
|
document.body.insertBefore(printSection, document.body.firstChild);
|
|
138
138
|
document.querySelector('body app-root').classList.add(div);
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
// oldElem.parentNode.removeChild(oldElem); // oldElem.remove() not supported by IE
|
|
144
|
-
// }
|
|
145
|
-
// }, 100);
|
|
139
|
+
const title = document.title;
|
|
140
|
+
if (fileName) {
|
|
141
|
+
document.title = fileName;
|
|
142
|
+
}
|
|
146
143
|
window.print();
|
|
144
|
+
document.title = title;
|
|
147
145
|
document.querySelector('body app-root').classList.remove(div);
|
|
148
146
|
const oldElem = document.getElementById(printId);
|
|
149
147
|
if (oldElem !== null) {
|
|
@@ -162,4 +160,4 @@ SdUtilityService.decorators = [
|
|
|
162
160
|
SdUtilityService.ctorParameters = () => [
|
|
163
161
|
{ type: HttpClient }
|
|
164
162
|
];
|
|
165
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbGl0eS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IkM6L1VzZXJzL25naGlhdHQxNV9vbmVtb3VudC9Eb2N1bWVudHMvbGliLWNvcmUtdWkvcHJvamVjdHMvc2QtY29yZS91dGlsaXR5LyIsInNvdXJjZXMiOlsic3JjL2xpYi91dGlsaXR5LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLGlEQUFpRDtBQUNqRCxPQUFPLEdBQUcsTUFBTSxLQUFLLENBQUM7QUFDdEIsT0FBTyxDQUFDLE1BQU0sUUFBUSxDQUFDO0FBQ3ZCLE9BQU8sS0FBSyxJQUFJLE1BQU0sTUFBTSxDQUFDO0FBQzdCLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7O0FBS2xELE1BQU0sT0FBTyxnQkFBZ0I7SUFHM0IsWUFBb0IsVUFBc0I7UUFBdEIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUYxQyxvQkFBWSx1Q0FBdUMsRUFBQztRQUdwRCxxQkFBYSxDQUFDLEtBQWEsRUFBRSxFQUFFLENBQUMsS0FBSyxFQUFDO1FBRXRDLFlBQU8sR0FBRyxDQUFDLEdBQVcsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRXBDLGtCQUFhLEdBQUcsQ0FBSSxLQUFVLEVBQUUsR0FBVyxFQUF3QixFQUFFO1lBQ25FLE9BQU8sS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUUsRUFBRSxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNqRixDQUFDLENBQUE7UUFFRCx5QkFBb0IsR0FBRyxDQUFDLEtBQWEsRUFBRSxFQUFFOztZQUN2QyxJQUFJLEdBQUcsU0FBRyxLQUFLLGFBQUwsS0FB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Q0FBdUM7YUFDakY7UUFDSCxDQUFDLENBQUE7SUE1SjZDLENBQUM7Ozs7O1lBTmhELFVBQVUsU0FBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQjs7O1lBSlEsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuLy8gaW1wb3J0IFBERk1lcmdlciBmcm9tICdwZGYtbWVyZ2VyLWpzL2Jyb3dzZXInO1xyXG5pbXBvcnQgbWQ1IGZyb20gJ21kNSc7XHJcbmltcG9ydCAkIGZyb20gJ2pxdWVyeSc7XHJcbmltcG9ydCAqIGFzIHV1aWQgZnJvbSAndXVpZCc7XHJcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTZFV0aWxpdHlTZXJ2aWNlIHtcclxuICAjdXBsb2FkSWQgPSAnVTFlMDljMWMwLWI2NDctNDM3ZS05OTVlLWQ3YTFhMWI2MDU1MCc7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cENsaWVudDogSHR0cENsaWVudCkgeyB9XHJcbiAgI3RyYW5zbGF0ZSA9ICh2YWx1ZTogc3RyaW5nKSA9PiB2YWx1ZTtcclxuXHJcbiAgaGFzaE1ENSA9IChrZXk6IHN0cmluZykgPT4gbWQ1KGtleSk7XHJcblxyXG4gIGFycmF5VG9PYmplY3QgPSA8VD4oaXRlbXM6IFRbXSwga2V5OiBzdHJpbmcpOiB7IFtrZXk6IHN0cmluZ106IFQgfSA9PiB7XHJcbiAgICByZXR1cm4gaXRlbXMucmVkdWNlKChvYmosIGl0ZW0pID0+IHsgb2JqW2l0ZW1ba2V5XV0gPSBpdGVtOyByZXR1cm4gb2JqOyB9LCB7fSk7XHJcbiAgfVxyXG5cclxuICBjaGFuZ2VBbGlhc0xvd2VyQ2FzZSA9IChhbGlhczogc3RyaW5nKSA9PiB7XHJcbiAgICBsZXQgc3RyID0gYWxpYXM/LnRvU3RyaW5nKCkgPz8gJyc7XHJcbiAgICBzdHIgPSBzdHIudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpO1xyXG4gICAgc3RyID0gc3RyLnJlcGxhY2UoL8OgfMOhfOG6oXzhuqN8w6N8w6J84bqnfOG6pXzhuq184bqpfOG6q3zEg3zhurF84bqvfOG6t3zhurN84bq1L2csICdhJyk7XHJcbiAgICBzdHIgPSBzdHIucmVwbGFjZSgvw6h8w6l84bq5fOG6u3zhur18w6p84buBfOG6v3zhu4d84buDfOG7hS9nLCAnZScpO1xyXG4gICAgc3RyID0gc3RyLnJlcGxhY2UoL8OsfMOtfOG7i3zhu4l8xKkvZywgJ2knKTtcclxuICAgIHN0ciA9IHN0ci5yZXBsYWNlKC/DsnzDs3zhu4184buPfMO1fMO0fOG7k3zhu5F84buZfOG7lXzhu5d8xqF84budfOG7m3zhu6N84buffOG7oS9nLCAnbycpO1xyXG4gICAgc3RyID0gc3RyLnJlcGxhY2UoL8O5fMO6fOG7pXzhu6d8xal8xrB84burfOG7qXzhu7F84butfOG7ry9nLCAndScpO1xyXG4gICAgc3RyID0gc3RyLnJlcGxhY2UoL+G7s3zDvXzhu7V84bu3fOG7uS9nLCAneScpO1xyXG4gICAgc3RyID0gc3RyLnJlcGxhY2UoL8SRL2csICdkJyk7XHJcbiAgICBzdHIgPSBzdHIucmVwbGFjZSgvIXxAfCV8XFxefFxcKnxcXCh8XFwpfFxcK3xcXD18XFw8fFxcPnxcXD98XFwvfCx8XFwufFxcOnxcXDt8XFwnfFxcXCJ8XFwmfFxcI3xcXFt8XFxdfH58XFwkfF98YHwtfHt8fXxcXHx8XFxcXC9nLCAnICcpO1xyXG4gICAgc3RyID0gc3RyLnJlcGxhY2UoLyArIC9nLCAnICcpO1xyXG4gICAgc3RyID0gc3RyLnRyaW0oKTtcclxuICAgIHJldHVybiBzdHI7XHJcbiAgfVxyXG5cclxuICB0aW1lRGlmZmVyZW5jZSA9IChwcmV2aW91czogYW55LCBjdXJyZW50OiBhbnkgPSBuZXcgRGF0ZSgpKSA9PiB7XHJcbiAgICBpZiAoIURhdGUuaXNEYXRlKHByZXZpb3VzKSkge1xyXG4gICAgICByZXR1cm4gJyc7XHJcbiAgICB9XHJcbiAgICBpZiAoIURhdGUuaXNEYXRlKGN1cnJlbnQpKSB7XHJcbiAgICAgIHJldHVybiAnJztcclxuICAgIH1cclxuICAgIGNvbnN0IGZyb20gPSBuZXcgRGF0ZShwcmV2aW91cyk7XHJcbiAgICBjb25zdCB0byA9IG5ldyBEYXRlKGN1cnJlbnQpO1xyXG4gICAgY29uc3QgbXNQZXJNaW51dGUgPSA2MCAqIDEwMDA7XHJcbiAgICBjb25zdCBtc1BlckhvdXIgPSBtc1Blck1pbnV0ZSAqIDYwO1xyXG4gICAgY29uc3QgbXNQZXJEYXkgPSBtc1BlckhvdXIgKiAyNDtcclxuICAgIGNvbnN0IG1zUGVyTW9udGggPSBtc1BlckRheSAqIDMwO1xyXG4gICAgY29uc3QgbXNQZXJZZWFyID0gbXNQZXJEYXkgKiAzNjU7XHJcbiAgICBjb25zdCBlbGFwc2VkID0gdG8uZ2V0VGltZSgpIC0gZnJvbS5nZXRUaW1lKCk7XHJcblxyXG4gICAgaWYgKGVsYXBzZWQgPCBtc1Blck1pbnV0ZSkge1xyXG4gICAgICByZXR1cm4gYCR7TWF0aC5yb3VuZChlbGFwc2VkIC8gMTAwMCl9ICR7dGhpcy4jdHJhbnNsYXRlKCdzZWNvbmRzIGFnbycpfWA7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGVsYXBzZWQgPCBtc1BlckhvdXIpIHtcclxuICAgICAgcmV0dXJuIGAke01hdGgucm91bmQoZWxhcHNlZCAvIG1zUGVyTWludXRlKX0gJHt0aGlzLiN0cmFuc2xhdGUoJ21pbnV0ZXMgYWdvJyl9YDtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoZWxhcHNlZCA8IG1zUGVyRGF5KSB7XHJcbiAgICAgIHJldHVybiBgJHtNYXRoLnJvdW5kKGVsYXBzZWQgLyBtc1BlckhvdXIpfSAke3RoaXMuI3RyYW5zbGF0ZSgnaG91cnMgYWdvJyl9YDtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoZWxhcHNlZCA8IG1zUGVyTW9udGgpIHtcclxuICAgICAgcmV0dXJuIGAke01hdGgucm91bmQoZWxhcHNlZCAvIG1zUGVyRGF5KX0gJHt0aGlzLiN0cmFuc2xhdGUoJ2RheXMgYWdvJyl9YDtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoZWxhcHNlZCA8IG1zUGVyWWVhcikge1xyXG4gICAgICByZXR1cm4gYCR7TWF0aC5yb3VuZChlbGFwc2VkIC8gbXNQZXJNb250aCl9ICR7dGhpcy4jdHJhbnNsYXRlKCdtb250aHMgYWdvJyl9YDtcclxuICAgIH1cclxuICAgIHJldHVybiBgJHtNYXRoLnJvdW5kKGVsYXBzZWQgLyBtc1BlclllYXIpfSAke3RoaXMuI3RyYW5zbGF0ZSgneWVhcnMgYWdvJyl9YDtcclxuICB9XHJcblxyXG4gIHVwbG9hZCA9IChvcHRpb24/OiB7XHJcbiAgICBleHRlbnNpb25zPzogc3RyaW5nW10sXHJcbiAgICBtYXhTaXplSW5NYj86IG51bWJlcixcclxuICAgIHZhbGlkYXRvcj86IChmaWxlTmFtZTogc3RyaW5nKSA9PiBzdHJpbmdcclxuICB9KTogUHJvbWlzZTxGaWxlPiA9PiB7XHJcbiAgICBjb25zdCBwcm9taXNlID0gbmV3IFByb21pc2U8RmlsZT4oKHJlc29sdmUsIHJlamVjdCkgPT4ge1xyXG4gICAgICBpZiAoJChgIyR7dGhpcy4jdXBsb2FkSWR9YCkubGVuZ3RoKSB7XHJcbiAgICAgICAgJCgnYm9keScpLmNoaWxkcmVuKGAjJHt0aGlzLiN1cGxvYWRJZH1gKS5yZW1vdmUoKTtcclxuICAgICAgfVxyXG4gICAgICAkKCdib2R5JykuYXBwZW5kKGA8aW5wdXQgaWQ9XCIke3RoaXMuI3VwbG9hZElkfVwiIHN0eWxlPVwiZGlzcGxheTogbm9uZVwiIHR5cGU9XCJmaWxlXCIgLz5gKTtcclxuICAgICAgJChgIyR7dGhpcy4jdXBsb2FkSWR9YCkub24oJ2NoYW5nZScsIChldnQ6IGFueSkgPT4ge1xyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICBjb25zdCB0YXJnZXQ6IERhdGFUcmFuc2ZlciA9IGV2dC50YXJnZXQ7XHJcbiAgICAgICAgICBjb25zdCBmaWxlID0gdGFyZ2V0LmZpbGVzLml0ZW0oMCk7XHJcbiAgICAgICAgICBpZiAoZmlsZSkge1xyXG4gICAgICAgICAgICBjb25zdCBsYXN0RG90ID0gZmlsZS5uYW1lLmxhc3RJbmRleE9mKCcuJyk7XHJcbiAgICAgICAgICAgIGlmIChsYXN0RG90ID09PSAtMSkge1xyXG4gICAgICAgICAgICAgIGNvbnN0IG1lc3NhZ2UgPSB0aGlzLiN0cmFuc2xhdGUoYEludmFsaWQgZmlsZSBleHRlbnNpb25gKTtcclxuICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IobWVzc2FnZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgY29uc3QgZXh0ZW5zaW9uID0gZmlsZS5uYW1lLnN1YnN0cmluZyhsYXN0RG90ICsgMSk7XHJcbiAgICAgICAgICAgIGlmIChvcHRpb24pIHtcclxuICAgICAgICAgICAgICBpZiAob3B0aW9uLmV4dGVuc2lvbnM/Lmxlbmd0aCAmJiAhb3B0aW9uLmV4dGVuc2lvbnMuc29tZShlID0+IGUudG9VcHBlckNhc2UoKSA9PT0gZXh0ZW5zaW9uLnRvVXBwZXJDYXNlKCkpKSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBtZXNzYWdlID0gYFske2ZpbGUubmFtZX1dICR7dGhpcy4jdHJhbnNsYXRlKCdVcGxvYWRlZCBmaWxlIGlzIG5vdCBtYXRjaCBleHRlbnNpb24nKX0gJHtvcHRpb24uZXh0ZW5zaW9ucy5qb2luKCcsICcpfWA7XHJcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IobWVzc2FnZSk7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIGlmIChvcHRpb24ubWF4U2l6ZUluTWIgPiAwICYmIG9wdGlvbi5tYXhTaXplSW5NYiAqIDEwMjQgKiAxMDI0IDwgZmlsZS5zaXplKSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBtZXNzYWdlID0gYFske2ZpbGUubmFtZX1dICR7dGhpcy4jdHJhbnNsYXRlKCdNYXggZmlsZSBzaXplJyl9ICR7b3B0aW9uLm1heFNpemVJbk1ifSBNYnNgO1xyXG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKG1lc3NhZ2UpO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICBpZiAob3B0aW9uLnZhbGlkYXRvciAmJiBvcHRpb24udmFsaWRhdG9yKGZpbGUubmFtZSkpIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IG1lc3NhZ2UgPSBvcHRpb24udmFsaWRhdG9yKGZpbGUubmFtZSk7XHJcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IobWVzc2FnZSk7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJlc29sdmUoZmlsZSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcclxuICAgICAgICAgIHJlamVjdChlcnJvcik7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgICAgJChgIyR7dGhpcy4jdXBsb2FkSWR9YCkudHJpZ2dlcignY2xpY2snKTtcclxuICAgIH0pO1xyXG4gICAgcmV0dXJuIHByb21pc2U7XHJcbiAgfVxyXG5cclxuICBkb3dubG9hZCA9IChmaWxlUGF0aDogc3RyaW5nLCBmaWxlTmFtZT86IHN0cmluZykgPT4ge1xyXG4gICAgY29uc3QgbGluazogYW55ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYScpO1xyXG4gICAgbGluay5kb3dubG9hZCA9IGAke2ZpbGVOYW1lIHx8IHV1aWQudjQoKX1gO1xyXG4gICAgbGluay5ocmVmID0gZmlsZVBhdGg7XHJcbiAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGxpbmspO1xyXG4gICAgbGluay5jbGljaygpO1xyXG4gICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChsaW5rKTtcclxuICB9XHJcblxyXG4gIGNvcHlUb0NsaXBib2FyZCA9ICh0ZXh0OiBzdHJpbmcpID0+IHtcclxuICAgIG5hdmlnYXRvci5jbGlwYm9hcmQud3JpdGVUZXh0KHRleHQpO1xyXG4gIH1cclxuXHJcbiAgcHJpbnRIdG1sID0gKGVsZW1lbnRJZDogc3RyaW5nKSA9PiB7XHJcbiAgICBjb25zdCBwcmludElkID0gYHNkUHJpbnRTZWN0aW9uYDtcclxuICAgIGNvbnN0IGRpdiA9ICdzZC1wcmludCc7XHJcbiAgICAvLyBjb25zdCBwcmludENvbnRlbnRzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoZWxlbWVudElkKS5pbm5lckhUTUw7XHJcbiAgICAvLyBjb25zdCBvcmlnaW5hbENvbnRlbnRzID0gZG9jdW1lbnQuYm9keS5pbm5lckhUTUw7XHJcblxyXG4gICAgLy8gZG9jdW1lbnQuYm9keS5pbm5lckhUTUwgPSBwcmludENvbnRlbnRzO1xyXG4gICAgLy8gc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAvLyAgIGRvY3VtZW50LmJvZHkuaW5uZXJIVE1MID0gb3JpZ2luYWxDb250ZW50cztcclxuICAgIC8vIH0sIDEwMCk7XHJcbiAgICAvLyB3aW5kb3cucHJpbnQoKTtcclxuXHJcbiAgICBjb25zdCBlbGVtID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignIycgKyBlbGVtZW50SWQpLmZpcnN0RWxlbWVudENoaWxkO1xyXG4gICAgY29uc3QgZG9tQ2xvbmUgPSBlbGVtLmNsb25lTm9kZSh0cnVlKTtcclxuXHJcbiAgICBjb25zdCBwcmludFNlY3Rpb24gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcclxuICAgIHByaW50U2VjdGlvbi5pZCA9IHByaW50SWQ7XHJcbiAgICBwcmludFNlY3Rpb24uYXBwZW5kQ2hpbGQoZG9tQ2xvbmUpO1xyXG5cclxuICAgIGRvY3VtZW50LmJvZHkuaW5zZXJ0QmVmb3JlKHByaW50U2VjdGlvbiwgZG9jdW1lbnQuYm9keS5maXJzdENoaWxkKTtcclxuICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ2JvZHkgYXBwLXJvb3QnKS5jbGFzc0xpc3QuYWRkKGRpdik7XHJcbiAgICAvLyBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgIC8vICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvcignYm9keSBhcHAtcm9vdCcpLmNsYXNzTGlzdC5yZW1vdmUoJ3NkLXByaW50Jyk7XHJcbiAgICAvLyAgIGNvbnN0IG9sZEVsZW0gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChwcmludElkKTtcclxuICAgIC8vICAgaWYgKG9sZEVsZW0gIT09IG51bGwpIHtcclxuICAgIC8vICAgICBvbGRFbGVtLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQob2xkRWxlbSk7IC8vIG9sZEVsZW0ucmVtb3ZlKCkgbm90IHN1cHBvcnRlZCBieSBJRVxyXG4gICAgLy8gICB9XHJcbiAgICAvLyB9LCAxMDApO1xyXG4gICAgd2luZG93LnByaW50KCk7XHJcbiAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdib2R5IGFwcC1yb290JykuY2xhc3NMaXN0LnJlbW92ZShkaXYpO1xyXG4gICAgY29uc3Qgb2xkRWxlbSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHByaW50SWQpO1xyXG4gICAgaWYgKG9sZEVsZW0gIT09IG51bGwpIHtcclxuICAgICAgb2xkRWxlbS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKG9sZEVsZW0pOyAvLyBvbGRFbGVtLnJlbW92ZSgpIG5vdCBzdXBwb3J0ZWQgYnkgSUVcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
|
|
163
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbGl0eS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IkM6L1VzZXJzL25naGlhdHQxNV9vbmVtb3VudC9Eb2N1bWVudHMvbGliLWNvcmUtdWkvcHJvamVjdHMvc2QtY29yZS91dGlsaXR5LyIsInNvdXJjZXMiOlsic3JjL2xpYi91dGlsaXR5LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLGlEQUFpRDtBQUNqRCxPQUFPLEdBQUcsTUFBTSxLQUFLLENBQUM7QUFDdEIsT0FBTyxDQUFDLE1BQU0sUUFBUSxDQUFDO0FBQ3ZCLE9BQU8sS0FBSyxJQUFJLE1BQU0sTUFBTSxDQUFDO0FBQzdCLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7O0FBS2xELE1BQU0sT0FBTyxnQkFBZ0I7SUFHM0IsWUFBb0IsVUFBc0I7UUFBdEIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUYxQyxvQkFBWSx1Q0FBdUMsRUFBQztRQUdwRCxxQkFBYSxDQUFDLEtBQWEsRUFBRSxFQUFFLENBQUMsS0FBSyxFQUFDO1FBRXRDLFlBQU8sR0FBRyxDQUFDLEdBQVcsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRXBDLGtCQUFhLEdBQUcsQ0FBSSxLQUFVLEVBQUUsR0FBVyxFQUF3QixFQUFFO1lBQ25FLE9BQU8sS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUUsRUFBRSxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNqRixDQUFDLENBQUE7UUFFRCx5QkFBb0IsR0FBRyxDQUFDLEtBQWEsRUFBRSxFQUFFOztZQUN2QyxJQUFJLEdBQUcsU0FBRyxLQUFLLGFBQUwsS0FB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SSxFQUFFO2dCQUNwQixPQUFPLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLHVDQUF1QzthQUNqRjtRQUNILENBQUMsQ0FBQTtJQTFKNkMsQ0FBQzs7Ozs7WUFOaEQsVUFBVSxTQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25COzs7WUFKUSxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG4vLyBpbXBvcnQgUERGTWVyZ2VyIGZyb20gJ3BkZi1tZXJnZXItanMvYnJvd3Nlcic7XHJcbmltcG9ydCBtZDUgZnJvbSAnbWQ1JztcclxuaW1wb3J0ICQgZnJvbSAnanF1ZXJ5JztcclxuaW1wb3J0ICogYXMgdXVpZCBmcm9tICd1dWlkJztcclxuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFNkVXRpbGl0eVNlcnZpY2Uge1xyXG4gICN1cGxvYWRJZCA9ICdVMWUwOWMxYzAtYjY0Ny00MzdlLTk5NWUtZDdhMWExYjYwNTUwJztcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwQ2xpZW50OiBIdHRwQ2xpZW50KSB7IH1cclxuICAjdHJhbnNsYXRlID0gKHZhbHVlOiBzdHJpbmcpID0+IHZhbHVlO1xyXG5cclxuICBoYXNoTUQ1ID0gKGtleTogc3RyaW5nKSA9PiBtZDUoa2V5KTtcclxuXHJcbiAgYXJyYXlUb09iamVjdCA9IDxUPihpdGVtczogVFtdLCBrZXk6IHN0cmluZyk6IHsgW2tleTogc3RyaW5nXTogVCB9ID0+IHtcclxuICAgIHJldHVybiBpdGVtcy5yZWR1Y2UoKG9iaiwgaXRlbSkgPT4geyBvYmpbaXRlbVtrZXldXSA9IGl0ZW07IHJldHVybiBvYmo7IH0sIHt9KTtcclxuICB9XHJcblxyXG4gIGNoYW5nZUFsaWFzTG93ZXJDYXNlID0gKGFsaWFzOiBzdHJpbmcpID0+IHtcclxuICAgIGxldCBzdHIgPSBhbGlhcz8udG9TdHJpbmcoKSA/PyAnJztcclxuICAgIHN0ciA9IHN0ci50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7XHJcbiAgICBzdHIgPSBzdHIucmVwbGFjZSgvw6B8w6F84bqhfOG6o3zDo3zDonzhuqd84bqlfOG6rXzhuql84bqrfMSDfOG6sXzhuq984bq3fOG6s3zhurUvZywgJ2EnKTtcclxuICAgIHN0ciA9IHN0ci5yZXBsYWNlKC/DqHzDqXzhurl84bq7fOG6vXzDqnzhu4F84bq/fOG7h3zhu4N84buFL2csICdlJyk7XHJcbiAgICBzdHIgPSBzdHIucmVwbGFjZSgvw6x8w6184buLfOG7iXzEqS9nLCAnaScpO1xyXG4gICAgc3RyID0gc3RyLnJlcGxhY2UoL8OyfMOzfOG7jXzhu498w7V8w7R84buTfOG7kXzhu5l84buVfOG7l3zGoXzhu5184bubfOG7o3zhu5984buhL2csICdvJyk7XHJcbiAgICBzdHIgPSBzdHIucmVwbGFjZSgvw7l8w7p84bulfOG7p3zFqXzGsHzhu6t84bupfOG7sXzhu6184buvL2csICd1Jyk7XHJcbiAgICBzdHIgPSBzdHIucmVwbGFjZSgv4buzfMO9fOG7tXzhu7d84bu5L2csICd5Jyk7XHJcbiAgICBzdHIgPSBzdHIucmVwbGFjZSgvxJEvZywgJ2QnKTtcclxuICAgIHN0ciA9IHN0ci5yZXBsYWNlKC8hfEB8JXxcXF58XFwqfFxcKHxcXCl8XFwrfFxcPXxcXDx8XFw+fFxcP3xcXC98LHxcXC58XFw6fFxcO3xcXCd8XFxcInxcXCZ8XFwjfFxcW3xcXF18fnxcXCR8X3xgfC18e3x9fFxcfHxcXFxcL2csICcgJyk7XHJcbiAgICBzdHIgPSBzdHIucmVwbGFjZSgvICsgL2csICcgJyk7XHJcbiAgICBzdHIgPSBzdHIudHJpbSgpO1xyXG4gICAgcmV0dXJuIHN0cjtcclxuICB9XHJcblxyXG4gIHRpbWVEaWZmZXJlbmNlID0gKHByZXZpb3VzOiBhbnksIGN1cnJlbnQ6IGFueSA9IG5ldyBEYXRlKCkpID0+IHtcclxuICAgIGlmICghRGF0ZS5pc0RhdGUocHJldmlvdXMpKSB7XHJcbiAgICAgIHJldHVybiAnJztcclxuICAgIH1cclxuICAgIGlmICghRGF0ZS5pc0RhdGUoY3VycmVudCkpIHtcclxuICAgICAgcmV0dXJuICcnO1xyXG4gICAgfVxyXG4gICAgY29uc3QgZnJvbSA9IG5ldyBEYXRlKHByZXZpb3VzKTtcclxuICAgIGNvbnN0IHRvID0gbmV3IERhdGUoY3VycmVudCk7XHJcbiAgICBjb25zdCBtc1Blck1pbnV0ZSA9IDYwICogMTAwMDtcclxuICAgIGNvbnN0IG1zUGVySG91ciA9IG1zUGVyTWludXRlICogNjA7XHJcbiAgICBjb25zdCBtc1BlckRheSA9IG1zUGVySG91ciAqIDI0O1xyXG4gICAgY29uc3QgbXNQZXJNb250aCA9IG1zUGVyRGF5ICogMzA7XHJcbiAgICBjb25zdCBtc1BlclllYXIgPSBtc1BlckRheSAqIDM2NTtcclxuICAgIGNvbnN0IGVsYXBzZWQgPSB0by5nZXRUaW1lKCkgLSBmcm9tLmdldFRpbWUoKTtcclxuXHJcbiAgICBpZiAoZWxhcHNlZCA8IG1zUGVyTWludXRlKSB7XHJcbiAgICAgIHJldHVybiBgJHtNYXRoLnJvdW5kKGVsYXBzZWQgLyAxMDAwKX0gJHt0aGlzLiN0cmFuc2xhdGUoJ3NlY29uZHMgYWdvJyl9YDtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoZWxhcHNlZCA8IG1zUGVySG91cikge1xyXG4gICAgICByZXR1cm4gYCR7TWF0aC5yb3VuZChlbGFwc2VkIC8gbXNQZXJNaW51dGUpfSAke3RoaXMuI3RyYW5zbGF0ZSgnbWludXRlcyBhZ28nKX1gO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChlbGFwc2VkIDwgbXNQZXJEYXkpIHtcclxuICAgICAgcmV0dXJuIGAke01hdGgucm91bmQoZWxhcHNlZCAvIG1zUGVySG91cil9ICR7dGhpcy4jdHJhbnNsYXRlKCdob3VycyBhZ28nKX1gO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChlbGFwc2VkIDwgbXNQZXJNb250aCkge1xyXG4gICAgICByZXR1cm4gYCR7TWF0aC5yb3VuZChlbGFwc2VkIC8gbXNQZXJEYXkpfSAke3RoaXMuI3RyYW5zbGF0ZSgnZGF5cyBhZ28nKX1gO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChlbGFwc2VkIDwgbXNQZXJZZWFyKSB7XHJcbiAgICAgIHJldHVybiBgJHtNYXRoLnJvdW5kKGVsYXBzZWQgLyBtc1Blck1vbnRoKX0gJHt0aGlzLiN0cmFuc2xhdGUoJ21vbnRocyBhZ28nKX1gO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGAke01hdGgucm91bmQoZWxhcHNlZCAvIG1zUGVyWWVhcil9ICR7dGhpcy4jdHJhbnNsYXRlKCd5ZWFycyBhZ28nKX1gO1xyXG4gIH1cclxuXHJcbiAgdXBsb2FkID0gKG9wdGlvbj86IHtcclxuICAgIGV4dGVuc2lvbnM/OiBzdHJpbmdbXSxcclxuICAgIG1heFNpemVJbk1iPzogbnVtYmVyLFxyXG4gICAgdmFsaWRhdG9yPzogKGZpbGVOYW1lOiBzdHJpbmcpID0+IHN0cmluZ1xyXG4gIH0pOiBQcm9taXNlPEZpbGU+ID0+IHtcclxuICAgIGNvbnN0IHByb21pc2UgPSBuZXcgUHJvbWlzZTxGaWxlPigocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XHJcbiAgICAgIGlmICgkKGAjJHt0aGlzLiN1cGxvYWRJZH1gKS5sZW5ndGgpIHtcclxuICAgICAgICAkKCdib2R5JykuY2hpbGRyZW4oYCMke3RoaXMuI3VwbG9hZElkfWApLnJlbW92ZSgpO1xyXG4gICAgICB9XHJcbiAgICAgICQoJ2JvZHknKS5hcHBlbmQoYDxpbnB1dCBpZD1cIiR7dGhpcy4jdXBsb2FkSWR9XCIgc3R5bGU9XCJkaXNwbGF5OiBub25lXCIgdHlwZT1cImZpbGVcIiAvPmApO1xyXG4gICAgICAkKGAjJHt0aGlzLiN1cGxvYWRJZH1gKS5vbignY2hhbmdlJywgKGV2dDogYW55KSA9PiB7XHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgIGNvbnN0IHRhcmdldDogRGF0YVRyYW5zZmVyID0gZXZ0LnRhcmdldDtcclxuICAgICAgICAgIGNvbnN0IGZpbGUgPSB0YXJnZXQuZmlsZXMuaXRlbSgwKTtcclxuICAgICAgICAgIGlmIChmaWxlKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGxhc3REb3QgPSBmaWxlLm5hbWUubGFzdEluZGV4T2YoJy4nKTtcclxuICAgICAgICAgICAgaWYgKGxhc3REb3QgPT09IC0xKSB7XHJcbiAgICAgICAgICAgICAgY29uc3QgbWVzc2FnZSA9IHRoaXMuI3RyYW5zbGF0ZShgSW52YWxpZCBmaWxlIGV4dGVuc2lvbmApO1xyXG4gICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihtZXNzYWdlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBjb25zdCBleHRlbnNpb24gPSBmaWxlLm5hbWUuc3Vic3RyaW5nKGxhc3REb3QgKyAxKTtcclxuICAgICAgICAgICAgaWYgKG9wdGlvbikge1xyXG4gICAgICAgICAgICAgIGlmIChvcHRpb24uZXh0ZW5zaW9ucz8ubGVuZ3RoICYmICFvcHRpb24uZXh0ZW5zaW9ucy5zb21lKGUgPT4gZS50b1VwcGVyQ2FzZSgpID09PSBleHRlbnNpb24udG9VcHBlckNhc2UoKSkpIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IG1lc3NhZ2UgPSBgWyR7ZmlsZS5uYW1lfV0gJHt0aGlzLiN0cmFuc2xhdGUoJ1VwbG9hZGVkIGZpbGUgaXMgbm90IG1hdGNoIGV4dGVuc2lvbicpfSAke29wdGlvbi5leHRlbnNpb25zLmpvaW4oJywgJyl9YDtcclxuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihtZXNzYWdlKTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgaWYgKG9wdGlvbi5tYXhTaXplSW5NYiA+IDAgJiYgb3B0aW9uLm1heFNpemVJbk1iICogMTAyNCAqIDEwMjQgPCBmaWxlLnNpemUpIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IG1lc3NhZ2UgPSBgWyR7ZmlsZS5uYW1lfV0gJHt0aGlzLiN0cmFuc2xhdGUoJ01heCBmaWxlIHNpemUnKX0gJHtvcHRpb24ubWF4U2l6ZUluTWJ9IE1ic2A7XHJcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IobWVzc2FnZSk7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIGlmIChvcHRpb24udmFsaWRhdG9yICYmIG9wdGlvbi52YWxpZGF0b3IoZmlsZS5uYW1lKSkge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgbWVzc2FnZSA9IG9wdGlvbi52YWxpZGF0b3IoZmlsZS5uYW1lKTtcclxuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihtZXNzYWdlKTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmVzb2x2ZShmaWxlKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xyXG4gICAgICAgICAgcmVqZWN0KGVycm9yKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgICAkKGAjJHt0aGlzLiN1cGxvYWRJZH1gKS50cmlnZ2VyKCdjbGljaycpO1xyXG4gICAgfSk7XHJcbiAgICByZXR1cm4gcHJvbWlzZTtcclxuICB9XHJcblxyXG4gIGRvd25sb2FkID0gKGZpbGVQYXRoOiBzdHJpbmcsIGZpbGVOYW1lPzogc3RyaW5nKSA9PiB7XHJcbiAgICBjb25zdCBsaW5rOiBhbnkgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJyk7XHJcbiAgICBsaW5rLmRvd25sb2FkID0gYCR7ZmlsZU5hbWUgfHwgdXVpZC52NCgpfWA7XHJcbiAgICBsaW5rLmhyZWYgPSBmaWxlUGF0aDtcclxuICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQobGluayk7XHJcbiAgICBsaW5rLmNsaWNrKCk7XHJcbiAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGxpbmspO1xyXG4gIH1cclxuXHJcbiAgY29weVRvQ2xpcGJvYXJkID0gKHRleHQ6IHN0cmluZykgPT4ge1xyXG4gICAgbmF2aWdhdG9yLmNsaXBib2FyZC53cml0ZVRleHQodGV4dCk7XHJcbiAgfVxyXG5cclxuICBwcmludEh0bWwgPSAoZWxlbWVudElkOiBzdHJpbmcsIGZpbGVOYW1lPzogc3RyaW5nKSA9PiB7XHJcbiAgICBjb25zdCBwcmludElkID0gYHNkUHJpbnRTZWN0aW9uYDtcclxuICAgIGNvbnN0IGRpdiA9ICdzZC1wcmludCc7XHJcbiAgICAvLyBjb25zdCBwcmludENvbnRlbnRzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoZWxlbWVudElkKS5pbm5lckhUTUw7XHJcbiAgICAvLyBjb25zdCBvcmlnaW5hbENvbnRlbnRzID0gZG9jdW1lbnQuYm9keS5pbm5lckhUTUw7XHJcblxyXG4gICAgLy8gZG9jdW1lbnQuYm9keS5pbm5lckhUTUwgPSBwcmludENvbnRlbnRzO1xyXG4gICAgLy8gc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAvLyAgIGRvY3VtZW50LmJvZHkuaW5uZXJIVE1MID0gb3JpZ2luYWxDb250ZW50cztcclxuICAgIC8vIH0sIDEwMCk7XHJcbiAgICAvLyB3aW5kb3cucHJpbnQoKTtcclxuXHJcbiAgICBjb25zdCBlbGVtID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignIycgKyBlbGVtZW50SWQpLmZpcnN0RWxlbWVudENoaWxkO1xyXG4gICAgY29uc3QgZG9tQ2xvbmUgPSBlbGVtLmNsb25lTm9kZSh0cnVlKTtcclxuXHJcbiAgICBjb25zdCBwcmludFNlY3Rpb24gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcclxuICAgIHByaW50U2VjdGlvbi5pZCA9IHByaW50SWQ7XHJcbiAgICBwcmludFNlY3Rpb24uYXBwZW5kQ2hpbGQoZG9tQ2xvbmUpO1xyXG5cclxuICAgIGRvY3VtZW50LmJvZHkuaW5zZXJ0QmVmb3JlKHByaW50U2VjdGlvbiwgZG9jdW1lbnQuYm9keS5maXJzdENoaWxkKTtcclxuICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ2JvZHkgYXBwLXJvb3QnKS5jbGFzc0xpc3QuYWRkKGRpdik7XHJcbiAgICBjb25zdCB0aXRsZSA9IGRvY3VtZW50LnRpdGxlO1xyXG4gICAgaWYoZmlsZU5hbWUpIHtcclxuICAgICAgZG9jdW1lbnQudGl0bGUgPSBmaWxlTmFtZTtcclxuICAgIH1cclxuICAgIHdpbmRvdy5wcmludCgpO1xyXG4gICAgZG9jdW1lbnQudGl0bGUgPSB0aXRsZTtcclxuICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ2JvZHkgYXBwLXJvb3QnKS5jbGFzc0xpc3QucmVtb3ZlKGRpdik7XHJcbiAgICBjb25zdCBvbGRFbGVtID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQocHJpbnRJZCk7XHJcbiAgICBpZiAob2xkRWxlbSAhPT0gbnVsbCkge1xyXG4gICAgICBvbGRFbGVtLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQob2xkRWxlbSk7IC8vIG9sZEVsZW0ucmVtb3ZlKCkgbm90IHN1cHBvcnRlZCBieSBJRVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -231,7 +231,7 @@ class SdUtilityService {
|
|
|
231
231
|
this.copyToClipboard = (text) => {
|
|
232
232
|
navigator.clipboard.writeText(text);
|
|
233
233
|
};
|
|
234
|
-
this.printHtml = (elementId) => {
|
|
234
|
+
this.printHtml = (elementId, fileName) => {
|
|
235
235
|
const printId = `sdPrintSection`;
|
|
236
236
|
const div = 'sd-print';
|
|
237
237
|
// const printContents = document.getElementById(elementId).innerHTML;
|
|
@@ -248,14 +248,12 @@ class SdUtilityService {
|
|
|
248
248
|
printSection.appendChild(domClone);
|
|
249
249
|
document.body.insertBefore(printSection, document.body.firstChild);
|
|
250
250
|
document.querySelector('body app-root').classList.add(div);
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
// oldElem.parentNode.removeChild(oldElem); // oldElem.remove() not supported by IE
|
|
256
|
-
// }
|
|
257
|
-
// }, 100);
|
|
251
|
+
const title = document.title;
|
|
252
|
+
if (fileName) {
|
|
253
|
+
document.title = fileName;
|
|
254
|
+
}
|
|
258
255
|
window.print();
|
|
256
|
+
document.title = title;
|
|
259
257
|
document.querySelector('body app-root').classList.remove(div);
|
|
260
258
|
const oldElem = document.getElementById(printId);
|
|
261
259
|
if (oldElem !== null) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sd-angular-core-utility.js","sources":["../../../../projects/sd-core/utility/src/lib/directives/desktop.directive.ts","../../../../projects/sd-core/utility/src/lib/directives/mobile.directive.ts","../../../../projects/sd-core/utility/src/lib/directives/mobile-tablet.directive.ts","../../../../projects/sd-core/utility/src/lib/directives/tablet.directive.ts","../../../../projects/sd-core/utility/src/lib/pipes/currency.pipe.ts","../../../../projects/sd-core/utility/src/lib/pipes/safe-html.pipe.ts","../../../../projects/sd-core/utility/src/lib/utility.service.ts","../../../../projects/sd-core/utility/src/lib/pipes/time-different.pipe.ts","../../../../projects/sd-core/utility/src/lib/utility.module.ts","../../../../projects/sd-core/utility/sd-angular-core-utility.ts"],"sourcesContent":["\r\nimport { Directive, ViewContainerRef, TemplateRef } from '@angular/core';\r\nimport { DeviceDetectorService } from 'ngx-device-detector';\r\n\r\n@Directive({\r\n selector: '[sdDesktop]'\r\n})\r\nexport class SdDesktopDirective {\r\n constructor(\r\n private templateRef: TemplateRef<any>,\r\n private viewContainerRef: ViewContainerRef,\r\n deviceService: DeviceDetectorService,\r\n ) {\r\n if (deviceService.isDesktop()) {\r\n this.viewContainerRef.createEmbeddedView(this.templateRef);\r\n }\r\n }\r\n}\r\n","\r\nimport { Directive, TemplateRef, ViewContainerRef } from '@angular/core';\r\nimport { DeviceDetectorService } from 'ngx-device-detector';\r\n\r\n@Directive({\r\n selector: '[sdMobile]'\r\n})\r\nexport class SdMobileDirective {\r\n constructor(\r\n private templateRef: TemplateRef<any>,\r\n private viewContainerRef: ViewContainerRef,\r\n deviceService: DeviceDetectorService,\r\n ) {\r\n if (deviceService.isMobile()) {\r\n this.viewContainerRef.createEmbeddedView(this.templateRef);\r\n }\r\n }\r\n}\r\n","\r\nimport { Directive, TemplateRef, ViewContainerRef } from '@angular/core';\r\nimport { DeviceDetectorService } from 'ngx-device-detector';\r\n\r\n@Directive({\r\n selector: '[sdMobileTablet]'\r\n})\r\nexport class SdMobileTabletDirective {\r\n constructor(\r\n private templateRef: TemplateRef<any>,\r\n private viewContainerRef: ViewContainerRef,\r\n deviceService: DeviceDetectorService,\r\n ) {\r\n if (deviceService.isMobile() || deviceService.isTablet()) {\r\n this.viewContainerRef.createEmbeddedView(this.templateRef);\r\n }\r\n }\r\n}\r\n","\r\nimport { Directive, TemplateRef, ViewContainerRef } from '@angular/core';\r\nimport { DeviceDetectorService } from 'ngx-device-detector';\r\n\r\n@Directive({\r\n selector: '[sdTablet]'\r\n})\r\nexport class SdTabletDirective {\r\n constructor(\r\n private templateRef: TemplateRef<any>,\r\n private viewContainerRef: ViewContainerRef,\r\n deviceService: DeviceDetectorService,\r\n ) {\r\n if (deviceService.isTablet()) {\r\n this.viewContainerRef.createEmbeddedView(this.templateRef);\r\n }\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n@Pipe({\r\n name: 'sdCurrency',\r\n})\r\nexport class SdCurrencyPipe implements PipeTransform {\r\n transform(value: any) {\r\n return Number.toVNCurrency(value);\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\n\r\n@Pipe({\r\n name: 'safeHtml',\r\n})\r\nexport class SdSafeHtmlPipe implements PipeTransform {\r\n\r\n constructor(private sanitizer: DomSanitizer) { }\r\n\r\n transform(html: string) {\r\n return this.sanitizer.bypassSecurityTrustHtml(html);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\n// import PDFMerger from 'pdf-merger-js/browser';\r\nimport md5 from 'md5';\r\nimport $ from 'jquery';\r\nimport * as uuid from 'uuid';\r\nimport { HttpClient } from '@angular/common/http';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SdUtilityService {\r\n #uploadId = 'U1e09c1c0-b647-437e-995e-d7a1a1b60550';\r\n\r\n constructor(private httpClient: HttpClient) { }\r\n #translate = (value: string) => value;\r\n\r\n hashMD5 = (key: string) => md5(key);\r\n\r\n arrayToObject = <T>(items: T[], key: string): { [key: string]: T } => {\r\n return items.reduce((obj, item) => { obj[item[key]] = item; return obj; }, {});\r\n }\r\n\r\n 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\n timeDifference = (previous: any, current: any = new Date()) => {\r\n if (!Date.isDate(previous)) {\r\n return '';\r\n }\r\n if (!Date.isDate(current)) {\r\n return '';\r\n }\r\n const from = new Date(previous);\r\n const to = new Date(current);\r\n const msPerMinute = 60 * 1000;\r\n const msPerHour = msPerMinute * 60;\r\n const msPerDay = msPerHour * 24;\r\n const msPerMonth = msPerDay * 30;\r\n const msPerYear = msPerDay * 365;\r\n const elapsed = to.getTime() - from.getTime();\r\n\r\n if (elapsed < msPerMinute) {\r\n return `${Math.round(elapsed / 1000)} ${this.#translate('seconds ago')}`;\r\n }\r\n\r\n if (elapsed < msPerHour) {\r\n return `${Math.round(elapsed / msPerMinute)} ${this.#translate('minutes ago')}`;\r\n }\r\n\r\n if (elapsed < msPerDay) {\r\n return `${Math.round(elapsed / msPerHour)} ${this.#translate('hours ago')}`;\r\n }\r\n\r\n if (elapsed < msPerMonth) {\r\n return `${Math.round(elapsed / msPerDay)} ${this.#translate('days ago')}`;\r\n }\r\n\r\n if (elapsed < msPerYear) {\r\n return `${Math.round(elapsed / msPerMonth)} ${this.#translate('months ago')}`;\r\n }\r\n return `${Math.round(elapsed / msPerYear)} ${this.#translate('years ago')}`;\r\n }\r\n\r\n upload = (option?: {\r\n extensions?: string[],\r\n maxSizeInMb?: number,\r\n validator?: (fileName: string) => string\r\n }): Promise<File> => {\r\n const promise = new Promise<File>((resolve, reject) => {\r\n if ($(`#${this.#uploadId}`).length) {\r\n $('body').children(`#${this.#uploadId}`).remove();\r\n }\r\n $('body').append(`<input id=\"${this.#uploadId}\" style=\"display: none\" type=\"file\" />`);\r\n $(`#${this.#uploadId}`).on('change', (evt: any) => {\r\n try {\r\n const target: DataTransfer = evt.target;\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 const message = this.#translate(`Invalid file extension`);\r\n throw new Error(message);\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 const message = `[${file.name}] ${this.#translate('Uploaded file is not match extension')} ${option.extensions.join(', ')}`;\r\n throw new Error(message);\r\n }\r\n if (option.maxSizeInMb > 0 && option.maxSizeInMb * 1024 * 1024 < file.size) {\r\n const message = `[${file.name}] ${this.#translate('Max file size')} ${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 $(`#${this.#uploadId}`).trigger('click');\r\n });\r\n return promise;\r\n }\r\n\r\n download = (filePath: string, fileName?: string) => {\r\n const link: any = document.createElement('a');\r\n link.download = `${fileName || uuid.v4()}`;\r\n link.href = filePath;\r\n document.body.appendChild(link);\r\n link.click();\r\n document.body.removeChild(link);\r\n }\r\n\r\n copyToClipboard = (text: string) => {\r\n navigator.clipboard.writeText(text);\r\n }\r\n\r\n printHtml = (elementId: string) => {\r\n const printId = `sdPrintSection`;\r\n const div = 'sd-print';\r\n // const printContents = document.getElementById(elementId).innerHTML;\r\n // const originalContents = document.body.innerHTML;\r\n\r\n // document.body.innerHTML = printContents;\r\n // setTimeout(() => {\r\n // document.body.innerHTML = originalContents;\r\n // }, 100);\r\n // window.print();\r\n\r\n const elem = document.querySelector('#' + elementId).firstElementChild;\r\n const domClone = elem.cloneNode(true);\r\n\r\n const printSection = document.createElement('div');\r\n printSection.id = printId;\r\n printSection.appendChild(domClone);\r\n\r\n document.body.insertBefore(printSection, document.body.firstChild);\r\n document.querySelector('body app-root').classList.add(div);\r\n // setTimeout(() => {\r\n // document.querySelector('body app-root').classList.remove('sd-print');\r\n // const oldElem = document.getElementById(printId);\r\n // if (oldElem !== null) {\r\n // oldElem.parentNode.removeChild(oldElem); // oldElem.remove() not supported by IE\r\n // }\r\n // }, 100);\r\n window.print();\r\n document.querySelector('body app-root').classList.remove(div);\r\n const oldElem = document.getElementById(printId);\r\n if (oldElem !== null) {\r\n oldElem.parentNode.removeChild(oldElem); // oldElem.remove() not supported by IE\r\n }\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { interval, Observable, of } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\nimport { SdUtilityService } from '../utility.service';\r\n@Pipe({\r\n name: 'sdTimeDifferent',\r\n})\r\nexport class SdTimeDifferentPipe implements PipeTransform {\r\n private maxSecond = 60;\r\n private maxMinute = this.maxSecond * 60;\r\n private maxHour = this.maxMinute * 24;\r\n private maxDay = this.maxHour * 30;\r\n private maxMonth = this.maxHour * 365;\r\n constructor(private utilityService: SdUtilityService) { }\r\n transform(value: any, format: string, different: 'second' | 'minute' | 'hour' | 'day' | 'month'): Observable<string> {\r\n if (!Date.isDate(value)) {\r\n return of(null);\r\n }\r\n if (!different) {\r\n return of(Date.toFormat(value, format));\r\n }\r\n if (Math.round((new Date().getTime() - new Date(value).getTime()) / 1000) < 0) {\r\n return of(Date.toFormat(value, format));\r\n }\r\n return interval(1000).pipe(map(() => {\r\n const timeDifferent = Math.round((new Date().getTime() - new Date(value).getTime()) / 1000);\r\n if (different === 'month' && timeDifferent < this.maxMonth) {\r\n return this.utilityService.timeDifference(value);\r\n }\r\n if (different === 'day' && timeDifferent < this.maxDay) {\r\n return this.utilityService.timeDifference(value);\r\n }\r\n if (different === 'hour' && timeDifferent < this.maxHour) {\r\n return this.utilityService.timeDifference(value);\r\n }\r\n if (different === 'minute' && timeDifferent < this.maxMinute) {\r\n return this.utilityService.timeDifference(value);\r\n }\r\n if (different === 'second' && timeDifferent < this.maxSecond) {\r\n return this.utilityService.timeDifference(value);\r\n }\r\n return Date.toFormat(value, format);\r\n }));\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { SdDesktopDirective } from './directives/desktop.directive';\r\nimport { SdMobileDirective } from './directives/mobile.directive';\r\nimport { SdMobileTabletDirective } from './directives/mobile-tablet.directive';\r\nimport { SdTabletDirective } from './directives/tablet.directive';\r\n\r\nimport { SdCurrencyPipe } from './pipes/currency.pipe';\r\nimport { SdSafeHtmlPipe } from './pipes/safe-html.pipe';\r\nimport { SdTimeDifferentPipe } from './pipes/time-different.pipe';\r\nimport { HttpClientModule } from '@angular/common/http';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n HttpClientModule\r\n ],\r\n declarations: [\r\n SdDesktopDirective,\r\n SdMobileTabletDirective,\r\n SdMobileDirective,\r\n SdTabletDirective,\r\n SdCurrencyPipe,\r\n SdSafeHtmlPipe,\r\n SdTimeDifferentPipe\r\n ],\r\n exports: [\r\n SdDesktopDirective,\r\n SdMobileTabletDirective,\r\n SdMobileDirective,\r\n SdTabletDirective,\r\n SdCurrencyPipe,\r\n SdSafeHtmlPipe,\r\n SdTimeDifferentPipe\r\n ],\r\n providers: [\r\n SdCurrencyPipe,\r\n SdSafeHtmlPipe,\r\n SdTimeDifferentPipe\r\n ]\r\n})\r\nexport class SdUtilityModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["uuid.v4"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sd-angular-core-utility.js","sources":["../../../../projects/sd-core/utility/src/lib/directives/desktop.directive.ts","../../../../projects/sd-core/utility/src/lib/directives/mobile.directive.ts","../../../../projects/sd-core/utility/src/lib/directives/mobile-tablet.directive.ts","../../../../projects/sd-core/utility/src/lib/directives/tablet.directive.ts","../../../../projects/sd-core/utility/src/lib/pipes/currency.pipe.ts","../../../../projects/sd-core/utility/src/lib/pipes/safe-html.pipe.ts","../../../../projects/sd-core/utility/src/lib/utility.service.ts","../../../../projects/sd-core/utility/src/lib/pipes/time-different.pipe.ts","../../../../projects/sd-core/utility/src/lib/utility.module.ts","../../../../projects/sd-core/utility/sd-angular-core-utility.ts"],"sourcesContent":["\r\nimport { Directive, ViewContainerRef, TemplateRef } from '@angular/core';\r\nimport { DeviceDetectorService } from 'ngx-device-detector';\r\n\r\n@Directive({\r\n selector: '[sdDesktop]'\r\n})\r\nexport class SdDesktopDirective {\r\n constructor(\r\n private templateRef: TemplateRef<any>,\r\n private viewContainerRef: ViewContainerRef,\r\n deviceService: DeviceDetectorService,\r\n ) {\r\n if (deviceService.isDesktop()) {\r\n this.viewContainerRef.createEmbeddedView(this.templateRef);\r\n }\r\n }\r\n}\r\n","\r\nimport { Directive, TemplateRef, ViewContainerRef } from '@angular/core';\r\nimport { DeviceDetectorService } from 'ngx-device-detector';\r\n\r\n@Directive({\r\n selector: '[sdMobile]'\r\n})\r\nexport class SdMobileDirective {\r\n constructor(\r\n private templateRef: TemplateRef<any>,\r\n private viewContainerRef: ViewContainerRef,\r\n deviceService: DeviceDetectorService,\r\n ) {\r\n if (deviceService.isMobile()) {\r\n this.viewContainerRef.createEmbeddedView(this.templateRef);\r\n }\r\n }\r\n}\r\n","\r\nimport { Directive, TemplateRef, ViewContainerRef } from '@angular/core';\r\nimport { DeviceDetectorService } from 'ngx-device-detector';\r\n\r\n@Directive({\r\n selector: '[sdMobileTablet]'\r\n})\r\nexport class SdMobileTabletDirective {\r\n constructor(\r\n private templateRef: TemplateRef<any>,\r\n private viewContainerRef: ViewContainerRef,\r\n deviceService: DeviceDetectorService,\r\n ) {\r\n if (deviceService.isMobile() || deviceService.isTablet()) {\r\n this.viewContainerRef.createEmbeddedView(this.templateRef);\r\n }\r\n }\r\n}\r\n","\r\nimport { Directive, TemplateRef, ViewContainerRef } from '@angular/core';\r\nimport { DeviceDetectorService } from 'ngx-device-detector';\r\n\r\n@Directive({\r\n selector: '[sdTablet]'\r\n})\r\nexport class SdTabletDirective {\r\n constructor(\r\n private templateRef: TemplateRef<any>,\r\n private viewContainerRef: ViewContainerRef,\r\n deviceService: DeviceDetectorService,\r\n ) {\r\n if (deviceService.isTablet()) {\r\n this.viewContainerRef.createEmbeddedView(this.templateRef);\r\n }\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n@Pipe({\r\n name: 'sdCurrency',\r\n})\r\nexport class SdCurrencyPipe implements PipeTransform {\r\n transform(value: any) {\r\n return Number.toVNCurrency(value);\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\n\r\n@Pipe({\r\n name: 'safeHtml',\r\n})\r\nexport class SdSafeHtmlPipe implements PipeTransform {\r\n\r\n constructor(private sanitizer: DomSanitizer) { }\r\n\r\n transform(html: string) {\r\n return this.sanitizer.bypassSecurityTrustHtml(html);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\n// import PDFMerger from 'pdf-merger-js/browser';\r\nimport md5 from 'md5';\r\nimport $ from 'jquery';\r\nimport * as uuid from 'uuid';\r\nimport { HttpClient } from '@angular/common/http';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SdUtilityService {\r\n #uploadId = 'U1e09c1c0-b647-437e-995e-d7a1a1b60550';\r\n\r\n constructor(private httpClient: HttpClient) { }\r\n #translate = (value: string) => value;\r\n\r\n hashMD5 = (key: string) => md5(key);\r\n\r\n arrayToObject = <T>(items: T[], key: string): { [key: string]: T } => {\r\n return items.reduce((obj, item) => { obj[item[key]] = item; return obj; }, {});\r\n }\r\n\r\n 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\n timeDifference = (previous: any, current: any = new Date()) => {\r\n if (!Date.isDate(previous)) {\r\n return '';\r\n }\r\n if (!Date.isDate(current)) {\r\n return '';\r\n }\r\n const from = new Date(previous);\r\n const to = new Date(current);\r\n const msPerMinute = 60 * 1000;\r\n const msPerHour = msPerMinute * 60;\r\n const msPerDay = msPerHour * 24;\r\n const msPerMonth = msPerDay * 30;\r\n const msPerYear = msPerDay * 365;\r\n const elapsed = to.getTime() - from.getTime();\r\n\r\n if (elapsed < msPerMinute) {\r\n return `${Math.round(elapsed / 1000)} ${this.#translate('seconds ago')}`;\r\n }\r\n\r\n if (elapsed < msPerHour) {\r\n return `${Math.round(elapsed / msPerMinute)} ${this.#translate('minutes ago')}`;\r\n }\r\n\r\n if (elapsed < msPerDay) {\r\n return `${Math.round(elapsed / msPerHour)} ${this.#translate('hours ago')}`;\r\n }\r\n\r\n if (elapsed < msPerMonth) {\r\n return `${Math.round(elapsed / msPerDay)} ${this.#translate('days ago')}`;\r\n }\r\n\r\n if (elapsed < msPerYear) {\r\n return `${Math.round(elapsed / msPerMonth)} ${this.#translate('months ago')}`;\r\n }\r\n return `${Math.round(elapsed / msPerYear)} ${this.#translate('years ago')}`;\r\n }\r\n\r\n upload = (option?: {\r\n extensions?: string[],\r\n maxSizeInMb?: number,\r\n validator?: (fileName: string) => string\r\n }): Promise<File> => {\r\n const promise = new Promise<File>((resolve, reject) => {\r\n if ($(`#${this.#uploadId}`).length) {\r\n $('body').children(`#${this.#uploadId}`).remove();\r\n }\r\n $('body').append(`<input id=\"${this.#uploadId}\" style=\"display: none\" type=\"file\" />`);\r\n $(`#${this.#uploadId}`).on('change', (evt: any) => {\r\n try {\r\n const target: DataTransfer = evt.target;\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 const message = this.#translate(`Invalid file extension`);\r\n throw new Error(message);\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 const message = `[${file.name}] ${this.#translate('Uploaded file is not match extension')} ${option.extensions.join(', ')}`;\r\n throw new Error(message);\r\n }\r\n if (option.maxSizeInMb > 0 && option.maxSizeInMb * 1024 * 1024 < file.size) {\r\n const message = `[${file.name}] ${this.#translate('Max file size')} ${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 $(`#${this.#uploadId}`).trigger('click');\r\n });\r\n return promise;\r\n }\r\n\r\n download = (filePath: string, fileName?: string) => {\r\n const link: any = document.createElement('a');\r\n link.download = `${fileName || uuid.v4()}`;\r\n link.href = filePath;\r\n document.body.appendChild(link);\r\n link.click();\r\n document.body.removeChild(link);\r\n }\r\n\r\n copyToClipboard = (text: string) => {\r\n navigator.clipboard.writeText(text);\r\n }\r\n\r\n printHtml = (elementId: string, fileName?: string) => {\r\n const printId = `sdPrintSection`;\r\n const div = 'sd-print';\r\n // const printContents = document.getElementById(elementId).innerHTML;\r\n // const originalContents = document.body.innerHTML;\r\n\r\n // document.body.innerHTML = printContents;\r\n // setTimeout(() => {\r\n // document.body.innerHTML = originalContents;\r\n // }, 100);\r\n // window.print();\r\n\r\n const elem = document.querySelector('#' + elementId).firstElementChild;\r\n const domClone = elem.cloneNode(true);\r\n\r\n const printSection = document.createElement('div');\r\n printSection.id = printId;\r\n printSection.appendChild(domClone);\r\n\r\n document.body.insertBefore(printSection, document.body.firstChild);\r\n document.querySelector('body app-root').classList.add(div);\r\n const title = document.title;\r\n if(fileName) {\r\n document.title = fileName;\r\n }\r\n window.print();\r\n document.title = title;\r\n document.querySelector('body app-root').classList.remove(div);\r\n const oldElem = document.getElementById(printId);\r\n if (oldElem !== null) {\r\n oldElem.parentNode.removeChild(oldElem); // oldElem.remove() not supported by IE\r\n }\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { interval, Observable, of } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\nimport { SdUtilityService } from '../utility.service';\r\n@Pipe({\r\n name: 'sdTimeDifferent',\r\n})\r\nexport class SdTimeDifferentPipe implements PipeTransform {\r\n private maxSecond = 60;\r\n private maxMinute = this.maxSecond * 60;\r\n private maxHour = this.maxMinute * 24;\r\n private maxDay = this.maxHour * 30;\r\n private maxMonth = this.maxHour * 365;\r\n constructor(private utilityService: SdUtilityService) { }\r\n transform(value: any, format: string, different: 'second' | 'minute' | 'hour' | 'day' | 'month'): Observable<string> {\r\n if (!Date.isDate(value)) {\r\n return of(null);\r\n }\r\n if (!different) {\r\n return of(Date.toFormat(value, format));\r\n }\r\n if (Math.round((new Date().getTime() - new Date(value).getTime()) / 1000) < 0) {\r\n return of(Date.toFormat(value, format));\r\n }\r\n return interval(1000).pipe(map(() => {\r\n const timeDifferent = Math.round((new Date().getTime() - new Date(value).getTime()) / 1000);\r\n if (different === 'month' && timeDifferent < this.maxMonth) {\r\n return this.utilityService.timeDifference(value);\r\n }\r\n if (different === 'day' && timeDifferent < this.maxDay) {\r\n return this.utilityService.timeDifference(value);\r\n }\r\n if (different === 'hour' && timeDifferent < this.maxHour) {\r\n return this.utilityService.timeDifference(value);\r\n }\r\n if (different === 'minute' && timeDifferent < this.maxMinute) {\r\n return this.utilityService.timeDifference(value);\r\n }\r\n if (different === 'second' && timeDifferent < this.maxSecond) {\r\n return this.utilityService.timeDifference(value);\r\n }\r\n return Date.toFormat(value, format);\r\n }));\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { SdDesktopDirective } from './directives/desktop.directive';\r\nimport { SdMobileDirective } from './directives/mobile.directive';\r\nimport { SdMobileTabletDirective } from './directives/mobile-tablet.directive';\r\nimport { SdTabletDirective } from './directives/tablet.directive';\r\n\r\nimport { SdCurrencyPipe } from './pipes/currency.pipe';\r\nimport { SdSafeHtmlPipe } from './pipes/safe-html.pipe';\r\nimport { SdTimeDifferentPipe } from './pipes/time-different.pipe';\r\nimport { HttpClientModule } from '@angular/common/http';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n HttpClientModule\r\n ],\r\n declarations: [\r\n SdDesktopDirective,\r\n SdMobileTabletDirective,\r\n SdMobileDirective,\r\n SdTabletDirective,\r\n SdCurrencyPipe,\r\n SdSafeHtmlPipe,\r\n SdTimeDifferentPipe\r\n ],\r\n exports: [\r\n SdDesktopDirective,\r\n SdMobileTabletDirective,\r\n SdMobileDirective,\r\n SdTabletDirective,\r\n SdCurrencyPipe,\r\n SdSafeHtmlPipe,\r\n SdTimeDifferentPipe\r\n ],\r\n providers: [\r\n SdCurrencyPipe,\r\n SdSafeHtmlPipe,\r\n SdTimeDifferentPipe\r\n ]\r\n})\r\nexport class SdUtilityModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["uuid.v4"],"mappings":"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"}
|
package/package.json
CHANGED
|
Binary file
|
|
@@ -16,5 +16,5 @@ export declare class SdUtilityService {
|
|
|
16
16
|
}) => Promise<File>;
|
|
17
17
|
download: (filePath: string, fileName?: string) => void;
|
|
18
18
|
copyToClipboard: (text: string) => void;
|
|
19
|
-
printHtml: (elementId: string) => void;
|
|
19
|
+
printHtml: (elementId: string, fileName?: string) => void;
|
|
20
20
|
}
|