@sd-angular/core 1.3.74 → 1.3.76

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (31) hide show
  1. package/bundles/sd-angular-core-export.umd.js +1 -1
  2. package/bundles/sd-angular-core-export.umd.js.map +1 -1
  3. package/bundles/sd-angular-core-export.umd.min.js +1 -1
  4. package/bundles/sd-angular-core-export.umd.min.js.map +1 -1
  5. package/bundles/sd-angular-core-image-preview.umd.js +122 -7
  6. package/bundles/sd-angular-core-image-preview.umd.js.map +1 -1
  7. package/bundles/sd-angular-core-image-preview.umd.min.js +1 -1
  8. package/bundles/sd-angular-core-image-preview.umd.min.js.map +1 -1
  9. package/bundles/sd-angular-core-modal-resizable.umd.js +14 -5
  10. package/bundles/sd-angular-core-modal-resizable.umd.js.map +1 -1
  11. package/bundles/sd-angular-core-modal-resizable.umd.min.js +2 -2
  12. package/bundles/sd-angular-core-modal-resizable.umd.min.js.map +1 -1
  13. package/esm2015/export/src/lib/export.service.js +2 -2
  14. package/esm2015/image-preview/sd-angular-core-image-preview.js +3 -2
  15. package/esm2015/image-preview/src/lib/image-preview/image-preview-sdmodal.component.js +92 -0
  16. package/esm2015/image-preview/src/lib/image-preview/image-preview.module.js +6 -3
  17. package/esm2015/modal-resizable/src/lib/modal-resizable/modal-resizable.component.js +15 -6
  18. package/fesm2015/sd-angular-core-export.js +1 -1
  19. package/fesm2015/sd-angular-core-export.js.map +1 -1
  20. package/fesm2015/sd-angular-core-image-preview.js +95 -4
  21. package/fesm2015/sd-angular-core-image-preview.js.map +1 -1
  22. package/fesm2015/sd-angular-core-modal-resizable.js +14 -5
  23. package/fesm2015/sd-angular-core-modal-resizable.js.map +1 -1
  24. package/image-preview/sd-angular-core-image-preview.d.ts +2 -1
  25. package/image-preview/sd-angular-core-image-preview.metadata.json +1 -1
  26. package/image-preview/src/lib/image-preview/image-preview-sdmodal.component.d.ts +28 -0
  27. package/modal-resizable/sd-angular-core-modal-resizable.metadata.json +1 -1
  28. package/modal-resizable/src/lib/modal-resizable/modal-resizable.component.d.ts +2 -0
  29. package/package.json +1 -1
  30. package/sd-angular-core-1.3.76.tgz +0 -0
  31. package/sd-angular-core-1.3.74.tgz +0 -0
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../projects/sd-core/export/src/lib/export.model.ts","../../../../node_modules/tslib/tslib.es6.js","../../../../projects/sd-core/export/src/lib/export.service.ts"],"names":["API","uploadTemplate","generateUploadTemplate","filesInFolder","removeFile","sdExportByTemplate","sdMergePDF","__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","value","step","next","e","rejected","result","done","then","apply","__generator","body","f","y","t","g","_","label","sent","trys","ops","verb","throw","return","Symbol","iterator","this","n","v","op","TypeError","call","pop","length","push","Object","create","__values","o","s","m","i","__read","r","ar","error","__classPrivateFieldGet","receiver","state","kind","has","get","SdExportService","apiService","notifyService","firebaseConfiguration","_this","_fieldStyle","set","border","bottom","style","left","right","alignment","vertical","horizontal","wrapText","font","bold","size","color","argb","fill","type","pattern","fgColor","_titleColor","_titleFgColor","_titleStyle","_requiredStyle","italic","_descriptionStyle","_cellStyle","_directory","key","group","hashedFolder","hash","folder","userFolder","generateTemplate","template","fileName","columns","sheets","Array","isArray","Error","_g","entries","_h","_j","idx","column","field","title","hasDescription","some","description","workbook","Workbook","firstSheet","addWorksheet","forEach","index","required","fontColor","cellField","getCell","cellTitle","cellDescription","width","endsWith","replace","getColumn","assign","_a","_c","_b","_f","_e","_d","sheet","name","items","fields","newSheet_1","item","idx1","idx2","sheets_1","sheets_1_1","xlsx","writeBuffer","file","_m","SdUtility","downloadBlob","Blob","args","validator","url","functionUrl","upload","extensions","maxSizeInMb","catch","err","notify","warning","message","filePath","post","res","files","map","publicUrl","download","link","document","createElement","uuid.v4","href","appendChild","click","removeChild","exportByTemplate","responseType","buffer","blob","exportCSV","option","headerCSV","columns_1","columns_1_1","ExportToCsv","filename","Date","toFormat","fieldSeparator","quoteStrings","decimalSeparator","showLabels","showTitle","useBom","generateCsv","arguments","concat","__spread","export","newSheet_2","sheets_2","sheets_2_1","fromRow","Number","isNumber","numFmt","exportCustom","cells","worksheet","e_7","_k","_l","e_8","cells_1","cells_1_1","cell","row","_q","mergePDF","urls","defineProperty","prototype","project","env","Injectable","providedIn","SdApiService","SdNotifyService","Inject","FIREBASE_CONFIG","Optional"],"mappings":"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","sourcesContent":["export * from './excel.model';\r\nexport interface SdExportTemplate {\r\n fileName?: string;\r\n columns: SdExportTempateColumn[];\r\n sheets?: {\r\n name: string,\r\n items: any[],\r\n fields: string[]\r\n }[];\r\n}\r\n\r\nexport interface SdExportTempateColumn {\r\n field: string;\r\n title: string;\r\n required?: boolean;\r\n color?: string;\r\n width?: string;\r\n description?: string;\r\n fontColor?: string;\r\n fill?: string;\r\n}\r\n\r\nexport interface SdExportFile {\r\n fileName?: string;\r\n filePath?: string;\r\n}\r\n\r\nexport interface SdExportColumn {\r\n field: string;\r\n title: string;\r\n description?: string;\r\n width?: string;\r\n}\r\n\r\nexport interface IExportOption {\r\n columns: SdExportTempateColumn[];\r\n items: any[];\r\n fileName?: string;\r\n sheets?: {\r\n name: string,\r\n items: any[],\r\n fields: string[]\r\n }[];\r\n}\r\n\r\nexport interface IBigExportRequest {\r\n filePath?: string;\r\n destination?: string;\r\n latestRow: number;\r\n columns: {\r\n field: string,\r\n title: string,\r\n description?: string,\r\n width?: string,\r\n }[];\r\n items: any[];\r\n}\r\n\r\nexport interface IBigExportResponse {\r\n filePath: string;\r\n destination: string;\r\n latestRow: number;\r\n}\r\n\r\nexport type GroupPermission = 'view' | 'add' | 'delete';\r\n\r\nexport const API = {\r\n uploadTemplate: '/excel/uploadTemplate',\r\n generateUploadTemplate: '/excel/generateUploadTemplate',\r\n filesInFolder: '/excel/filesInFolder',\r\n removeFile: '/excel/remove',\r\n sdExportByTemplate: '/excel/sd-export-by-template',\r\n sdMergePDF: '/excel/sd-merge-pdf',\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 { Optional } from '@angular/core';\r\nimport { Injectable, Inject } from '@angular/core';\r\nimport { SdApiService } from '@sd-angular/core/api';\r\nimport * as uuid from 'uuid';\r\nimport hash from 'object-hash';\r\nimport { ExportToCsv } from 'export-to-csv';\r\nimport { Workbook, Style } from 'exceljs';\r\nimport { SdExportTemplate, IExportOption, API, SdExportFile, SdExportCustomOption } from './export.model';\r\nimport { SdNotifyService } from '@sd-angular/core/notify';\r\nimport { FIREBASE_CONFIG, IFirebaseConfiguration } from '@sd-angular/core/common';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SdExportService {\r\n private get functionUrl() {\r\n return this.firebaseConfiguration?.functionUrl;\r\n }\r\n\r\n private get folder() {\r\n const { project, env } = this.firebaseConfiguration;\r\n return `${project}-${env}`;\r\n }\r\n\r\n private get userFolder() {\r\n const { folder } = this.firebaseConfiguration;\r\n if (!folder) {\r\n return;\r\n }\r\n if (typeof (folder) === 'string') {\r\n return folder;\r\n }\r\n return folder();\r\n }\r\n\r\n #fieldStyle: Partial<Style> = {\r\n border: {\r\n bottom: { style: 'thin' },\r\n left: { style: 'thin' },\r\n right: { style: 'thin' }\r\n },\r\n alignment: {\r\n vertical: 'middle',\r\n horizontal: 'center',\r\n wrapText: true\r\n },\r\n font: {\r\n bold: true,\r\n size: 11,\r\n color: { argb: '000000' },\r\n },\r\n fill: {\r\n type: 'pattern',\r\n pattern: 'solid',\r\n fgColor: {\r\n argb: 'FAFAFA'\r\n }\r\n }\r\n }\r\n #titleColor = 'FFFFFF';\r\n #titleFgColor = '143180';\r\n #titleStyle: Partial<Style> = {\r\n border: {\r\n bottom: { style: 'thin' },\r\n left: { style: 'thin' },\r\n right: { style: 'thin' }\r\n },\r\n alignment: {\r\n vertical: 'middle',\r\n horizontal: 'center',\r\n wrapText: true\r\n },\r\n font: {\r\n bold: true,\r\n size: 11,\r\n color: { argb: this.#titleColor },\r\n },\r\n fill: {\r\n type: 'pattern',\r\n pattern: 'solid',\r\n fgColor: {\r\n argb: this.#titleFgColor,\r\n }\r\n }\r\n }\r\n\r\n #requiredStyle: Partial<Style> = {\r\n border: {\r\n bottom: { style: 'thin' },\r\n left: { style: 'thin' },\r\n right: { style: 'thin' }\r\n },\r\n alignment: {\r\n vertical: 'middle',\r\n horizontal: 'center',\r\n wrapText: true\r\n },\r\n font: {\r\n italic: true,\r\n size: 11,\r\n color: { argb: 'FFFFFF' },\r\n },\r\n fill: {\r\n type: 'pattern',\r\n pattern: 'solid',\r\n fgColor: {\r\n argb: 'FF1744'\r\n }\r\n }\r\n }\r\n\r\n #descriptionStyle: Partial<Style> = {\r\n border: {\r\n bottom: { style: 'thin' },\r\n left: { style: 'thin' },\r\n right: { style: 'thin' }\r\n },\r\n alignment: {\r\n wrapText: true\r\n },\r\n font: {\r\n italic: true,\r\n size: 9,\r\n color: { argb: '000000' },\r\n },\r\n fill: {\r\n type: 'pattern',\r\n pattern: 'solid',\r\n fgColor: {\r\n argb: 'CFD8DC'\r\n }\r\n }\r\n }\r\n\r\n #cellStyle: Partial<Style> = {\r\n alignment: {\r\n vertical: 'middle',\r\n wrapText: true\r\n }\r\n }\r\n\r\n constructor(\r\n private apiService: SdApiService,\r\n private notifyService: SdNotifyService,\r\n @Inject(FIREBASE_CONFIG) @Optional() private firebaseConfiguration: IFirebaseConfiguration) {\r\n }\r\n\r\n #directory = (key: string, group: string) => {\r\n let hashedFolder = hash({\r\n folder: this.folder,\r\n userFolder: this.userFolder\r\n });\r\n if (!group) {\r\n return `dir1=${this.folder}&dir2=U-${hashedFolder}&dir3=${key || ''}`;\r\n }\r\n hashedFolder = hash({\r\n folder: this.folder,\r\n group\r\n });\r\n return `dir1=${this.folder}&dir2=G-${hashedFolder}&dir3=${key || ''}`;\r\n }\r\n\r\n generateTemplate = async (template: SdExportTemplate) => {\r\n const { fileName, columns, sheets } = template;\r\n if (!Array.isArray(columns)) {\r\n throw new Error('Excel template columns must be an array');\r\n }\r\n for (const [idx, column] of columns.entries()) {\r\n if (!column.field) {\r\n throw new Error(`Column ${idx + 1}: Field is required`);\r\n }\r\n if (!column.title) {\r\n throw new Error(`Column ${idx + 1}: Title is required`);\r\n }\r\n }\r\n const hasDescription = columns.some(column => column.description);\r\n const workbook = new Workbook(); //await XlsxPopulate.fromBlankAsync(); // Đọc file sau khi đã download\r\n const firstSheet = workbook.addWorksheet('template'); // Lấy ra sheet đầu tiên\r\n columns.forEach((column, index) => {\r\n const { required, fill, fontColor } = column;\r\n const cellField = firstSheet.getCell(1, index + 1);\r\n const cellTitle = firstSheet.getCell(2, index + 1);\r\n const cellDescription = firstSheet.getCell(3, index + 1);\r\n let width = 120;\r\n if (column.width && column.width.endsWith('px')) {\r\n width = +column.width.replace('px', '');\r\n }\r\n firstSheet.getColumn(index + 1).width = width / 7 || 20;\r\n cellField.style = this.#fieldStyle;\r\n if (required) {\r\n cellField.style = this.#requiredStyle;\r\n } else {\r\n cellField.style = this.#fieldStyle;\r\n }\r\n cellTitle.style = {\r\n ...this.#titleStyle,\r\n font: {\r\n ...this.#titleStyle?.font,\r\n color: {\r\n ...this.#titleStyle?.font?.color,\r\n argb: fontColor || this.#titleStyle?.font?.color?.argb\r\n }\r\n },\r\n fill: {\r\n type: 'pattern',\r\n pattern: 'solid',\r\n fgColor: {\r\n argb: fill || this.#titleFgColor\r\n }\r\n }\r\n };\r\n cellField.value = column.field;\r\n cellTitle.value = column.title;\r\n if (hasDescription) {\r\n cellDescription.style = this.#descriptionStyle;\r\n cellDescription.value = column.description || '';\r\n }\r\n });\r\n if (sheets?.length) {\r\n for (const sheet of sheets) {\r\n if (sheet.name && Array.isArray(sheet.items) && Array.isArray(sheet.fields)) {\r\n const newSheet = workbook.addWorksheet(sheet.name);\r\n sheet.fields.forEach((field, index) => {\r\n newSheet.getColumn(index + 1).width = 30;\r\n newSheet.getCell(1, index + 1).style = this.#titleStyle;\r\n newSheet.getCell(1, index + 1).value = field;\r\n });\r\n sheet.items.forEach((item, idx1) => {\r\n sheet.fields.forEach((field, idx2) => {\r\n newSheet.getCell(2 + idx1, 1 + idx2).value = item[field];\r\n newSheet.getCell(2 + idx1, 1 + idx2).style = this.#cellStyle;\r\n });\r\n });\r\n }\r\n }\r\n }\r\n const file = await workbook.xlsx.writeBuffer();\r\n SdUtility.downloadBlob(new Blob([file], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' }), fileName);\r\n }\r\n\r\n uploadTemplate = async (args: {\r\n key: string;\r\n group?: string;\r\n validator?: (fileName: string) => string\r\n }): Promise<SdExportFile> => {\r\n const { key, group, validator } = args;\r\n const { uploadTemplate } = API;\r\n const url = `${this.functionUrl}${uploadTemplate}?${this.#directory(key, group)}`;\r\n const file = await SdUtility.upload({\r\n extensions: ['xlsx'],\r\n maxSizeInMb: 0.1,\r\n validator\r\n });\r\n if (file) {\r\n const { filePath, fileName } = await this.apiService.upload(url, file).catch((err: Error) => {\r\n this.notifyService.notify.warning(err?.message);\r\n throw err;\r\n });\r\n return {\r\n filePath,\r\n fileName,\r\n };\r\n }\r\n return null;\r\n }\r\n\r\n generateUploadTemplate = async (args: {\r\n key: string;\r\n template: SdExportTemplate;\r\n group?: string;\r\n }) => {\r\n const { key, template, group } = args;\r\n const { generateUploadTemplate } = API;\r\n const url = `${this.functionUrl}${generateUploadTemplate}?${this.#directory(key, group)}`;\r\n const { filePath, fileName } = await this.apiService.post(url, template);\r\n return { filePath, fileName };\r\n }\r\n\r\n removeFile = async (args: {\r\n key: string;\r\n group?: string;\r\n fileName?: string;\r\n }) => {\r\n const { key, group, fileName } = args;\r\n const { removeFile } = API;\r\n const url = `${this.functionUrl}${removeFile}?${this.#directory(key, group)}&name=${fileName}`;\r\n await this.apiService.post(url);\r\n }\r\n\r\n filesInFolder = async (args: {\r\n key: string;\r\n group?: string;\r\n }): Promise<SdExportFile[]> => {\r\n interface FilesInFolderRes {\r\n directory: string;\r\n files: {\r\n publicUrl: string, fullPath: string, name: string\r\n }[];\r\n }\r\n const { key, group } = args;\r\n const { filesInFolder } = API;\r\n const url = `${this.functionUrl}${filesInFolder}?${this.#directory(key, group)}`;\r\n const res = await this.apiService.get<FilesInFolderRes>(url);\r\n return res.files?.map(e => ({\r\n filePath: e.publicUrl,\r\n fileName: e.name\r\n })) || [];\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()}.xlsx`;\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 exportByTemplate = async (args: {\r\n filePath: string,\r\n columns: any[],\r\n items: any[],\r\n fileName?: string\r\n }) => {\r\n const { filePath, columns, items, fileName } = args;\r\n const { sdExportByTemplate } = API;\r\n const url = `${this.functionUrl}${sdExportByTemplate}`;\r\n const buffer = await this.apiService.post(url, {\r\n filePath,\r\n columns,\r\n items,\r\n fileName\r\n }, null, {\r\n responseType: 'arraybuffer'\r\n });\r\n const blob = new Blob([buffer], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;base64,' });\r\n SdUtility.downloadBlob(blob, fileName);\r\n }\r\n\r\n exportCSV = async (option: IExportOption) => {\r\n const { columns, items, fileName } = option;\r\n const headerCSV = {};\r\n for (const column of columns) {\r\n headerCSV[column.field] = column.title;\r\n }\r\n const csvExporter = new ExportToCsv({\r\n filename: `${fileName || 'CSV'}_${Date.toFormat(new Date(), 'yyyy-MM-dd-HH-mm-ss')}`,\r\n fieldSeparator: ',',\r\n quoteStrings: '\"',\r\n decimalSeparator: '.',\r\n showLabels: true,\r\n showTitle: false,\r\n title: fileName || 'CSV',\r\n useBom: true,\r\n });\r\n csvExporter.generateCsv([headerCSV, ...items]);\r\n }\r\n\r\n export = async (option: IExportOption) => {\r\n const { columns, items, fileName, sheets } = option;\r\n let hasDescription = false;\r\n for (const [idx, column] of columns.entries()) {\r\n if (!column.field) {\r\n throw new Error(`Column ${idx + 1}: Field is required`);\r\n }\r\n if (!column.title) {\r\n throw new Error(`Column ${idx + 1}: Title is required`);\r\n }\r\n if (column.description) {\r\n hasDescription = true;\r\n }\r\n }\r\n const workbook = new Workbook(); //await XlsxPopulate.fromBlankAsync(); // Đọc file sau khi đã download\r\n const firstSheet = workbook.addWorksheet('data'); // Lấy ra sheet đầu tiên\r\n columns.forEach((column, index) => {\r\n let width = 120;\r\n if (column.width && column.width.endsWith('px')) {\r\n width = +column.width.replace('px', '');\r\n }\r\n firstSheet.getColumn(index + 1).width = width / 7 || 20;\r\n firstSheet.getCell(1, index + 1).style = this.#fieldStyle\r\n if (column.required) {\r\n firstSheet.getCell(2, index + 1).style = this.#requiredStyle;\r\n } else {\r\n firstSheet.getCell(2, index + 1).style = this.#titleStyle;\r\n }\r\n firstSheet.getCell(1, index + 1).value = column.field;\r\n firstSheet.getCell(2, index + 1).value = column.title;\r\n if (hasDescription) {\r\n firstSheet.getCell(3, index + 1).style = this.#descriptionStyle;\r\n firstSheet.getCell(3, index + 1).value = column.description || '';\r\n }\r\n });\r\n if (sheets?.length) {\r\n for (const sheet of sheets) {\r\n if (sheet.name && Array.isArray(sheet.items) && Array.isArray(sheet.fields)) {\r\n const newSheet = workbook.addWorksheet(sheet.name);\r\n sheet.fields.forEach((field, index) => {\r\n newSheet.getColumn(index + 1).width = 30;\r\n newSheet.getCell(1, index + 1).style = this.#titleStyle;\r\n newSheet.getCell(1, index + 1).value = field;\r\n });\r\n sheet.items.forEach((item, idx1) => {\r\n sheet.fields.forEach((field, idx2) => {\r\n newSheet.getCell(2 + idx1, 1 + idx2).value = item[field];\r\n newSheet.getCell(2 + idx1, 1 + idx2).style = this.#cellStyle;\r\n });\r\n });\r\n }\r\n }\r\n }\r\n\r\n const fromRow = hasDescription ? 4 : 3;\r\n items.forEach((e, idx1) => {\r\n columns.forEach((column, idx2) => {\r\n if (Number.isNumber(e[column.field])) {\r\n firstSheet.getCell(fromRow + idx1, 1 + idx2).value = +e[column.field];\r\n firstSheet.getCell(fromRow + idx1, 1 + idx2).numFmt = '#';\r\n } else {\r\n firstSheet.getCell(fromRow + idx1, 1 + idx2).value = e[column.field];\r\n }\r\n firstSheet.getCell(fromRow + idx1, 1 + idx2).style = this.#cellStyle;\r\n });\r\n });\r\n const file = await workbook.xlsx.writeBuffer();\r\n SdUtility.downloadBlob(new Blob([file], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' }), fileName);\r\n }\r\n\r\n exportCustom = async (option: SdExportCustomOption) => {\r\n const { fileName, sheets } = option;\r\n if (!sheets?.length) {\r\n this.notifyService.notify.warning('Phải có ít nhất 1 sheet');\r\n return;\r\n }\r\n const workbook = new Workbook();\r\n for (const [idx, sheet] of sheets.entries()) {\r\n const { name, columns, cells } = sheet\r\n const worksheet = workbook.addWorksheet(name || `Sheet ${idx + 1}`);\r\n for (const column of (columns || [])) {\r\n worksheet.getColumn(column.index).style = column.style;\r\n worksheet.getColumn(column.index).width = column.width;\r\n }\r\n for (const cell of cells) {\r\n const { row, column, value, style } = cell;\r\n worksheet.getCell(row, column).style = style || worksheet.getColumn(column).style;\r\n worksheet.getCell(row, column).value = value;\r\n }\r\n }\r\n const file = await workbook.xlsx.writeBuffer();\r\n SdUtility.downloadBlob(new Blob([file], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' }), fileName);\r\n }\r\n\r\n mergePDF = async (urls: string[]) => {\r\n const { sdMergePDF } = API;\r\n const url = `${this.functionUrl}${sdMergePDF}`;\r\n const buffer = await this.apiService.post(url, {\r\n urls\r\n }, null, {\r\n responseType: 'arraybuffer'\r\n });\r\n SdUtility.downloadBlob(new Blob([buffer], { type: 'application/pdf' }));\r\n }\r\n}"]}
1
+ {"version":3,"sources":["../../../../projects/sd-core/export/src/lib/export.model.ts","../../../../node_modules/tslib/tslib.es6.js","../../../../projects/sd-core/export/src/lib/export.service.ts"],"names":["API","uploadTemplate","generateUploadTemplate","filesInFolder","removeFile","sdExportByTemplate","sdMergePDF","__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","value","step","next","e","rejected","result","done","then","apply","__generator","body","f","y","t","g","_","label","sent","trys","ops","verb","throw","return","Symbol","iterator","this","n","v","op","TypeError","call","pop","length","push","Object","create","__values","o","s","m","i","__read","r","ar","error","__classPrivateFieldGet","receiver","state","kind","has","get","SdExportService","apiService","notifyService","firebaseConfiguration","_this","_fieldStyle","set","border","bottom","style","left","right","alignment","vertical","horizontal","wrapText","font","bold","size","color","argb","fill","type","pattern","fgColor","_titleColor","_titleFgColor","_titleStyle","_requiredStyle","italic","_descriptionStyle","_cellStyle","_directory","key","group","hashedFolder","hash","folder","userFolder","generateTemplate","template","fileName","columns","sheets","Array","isArray","Error","_g","entries","_h","_j","idx","column","field","title","hasDescription","some","description","workbook","Workbook","firstSheet","addWorksheet","forEach","index","required","fontColor","cellField","getCell","cellTitle","cellDescription","width","endsWith","replace","getColumn","assign","_a","_c","_b","_f","_e","_d","sheet","name","items","fields","newSheet_1","item","idx1","idx2","sheets_1","sheets_1_1","xlsx","writeBuffer","file","_m","SdUtility","downloadBlob","Blob","args","validator","url","functionUrl","upload","extensions","maxSizeInMb","catch","err","notify","warning","message","filePath","post","res","files","map","publicUrl","download","link","document","createElement","uuid.v4","href","appendChild","click","removeChild","exportByTemplate","responseType","buffer","blob","exportCSV","option","headerCSV","columns_1","columns_1_1","ExportToCsv","filename","Date","toFormat","fieldSeparator","quoteStrings","decimalSeparator","showLabels","showTitle","useBom","generateCsv","arguments","concat","__spread","export","newSheet_2","sheets_2","sheets_2_1","fromRow","numFmt","exportCustom","cells","worksheet","e_7","_k","_l","e_8","cells_1","cells_1_1","cell","row","_q","mergePDF","urls","defineProperty","prototype","project","env","Injectable","providedIn","SdApiService","SdNotifyService","Inject","FIREBASE_CONFIG","Optional"],"mappings":"y7BAkEaA,EAAM,CACjBC,eAAgB,wBAChBC,uBAAwB,gCACxBC,cAAe,uBACfC,WAAY,gBACZC,mBAAoB,+BACpBC,WAAY,gCCHEC,EAAUC,EAASC,EAAYC,EAAGC,GAE9C,OAAO,IAAKD,IAAMA,EAAIE,WAAU,SAAUC,EAASC,GAC/C,SAASC,EAAUC,GAAS,IAAMC,EAAKN,EAAUO,KAAKF,IAAW,MAAOG,GAAKL,EAAOK,IACpF,SAASC,EAASJ,GAAS,IAAMC,EAAKN,EAAiB,MAAEK,IAAW,MAAOG,GAAKL,EAAOK,IACvF,SAASF,EAAKI,GAJlB,IAAeL,EAIaK,EAAOC,KAAOT,EAAQQ,EAAOL,QAJ1CA,EAIyDK,EAAOL,MAJhDA,aAAiBN,EAAIM,EAAQ,IAAIN,GAAE,SAAUG,GAAWA,EAAQG,OAITO,KAAKR,EAAWK,GAClGH,GAAMN,EAAYA,EAAUa,MAAMhB,EAASC,GAAc,KAAKS,oBAItDO,EAAYjB,EAASkB,GACjC,IAAsGC,EAAGC,EAAGC,EAAGC,EAA3GC,EAAI,CAAEC,MAAO,EAAGC,KAAM,WAAa,GAAW,EAAPJ,EAAE,GAAQ,MAAMA,EAAE,GAAI,OAAOA,EAAE,IAAOK,KAAM,GAAIC,IAAK,IAChG,OAAOL,EAAI,CAAEZ,KAAMkB,EAAK,GAAIC,MAASD,EAAK,GAAIE,OAAUF,EAAK,IAAwB,mBAAXG,SAA0BT,EAAES,OAAOC,UAAY,WAAa,OAAOC,OAAUX,EACvJ,SAASM,EAAKM,GAAK,OAAO,SAAUC,GAAK,OACzC,SAAcC,GACV,GAAIjB,EAAG,MAAM,IAAIkB,UAAU,mCAC3B,KAAOd,OACH,GAAIJ,EAAI,EAAGC,IAAMC,EAAY,EAARe,EAAG,GAAShB,EAAU,OAAIgB,EAAG,GAAKhB,EAAS,SAAOC,EAAID,EAAU,SAAMC,EAAEiB,KAAKlB,GAAI,GAAKA,EAAEV,SAAWW,EAAIA,EAAEiB,KAAKlB,EAAGgB,EAAG,KAAKtB,KAAM,OAAOO,EAE3J,OADID,EAAI,EAAGC,IAAGe,EAAK,CAAS,EAARA,EAAG,GAAQf,EAAEb,QACzB4B,EAAG,IACP,KAAK,EAAG,KAAK,EAAGf,EAAIe,EAAI,MACxB,KAAK,EAAc,OAAXb,EAAEC,QAAgB,CAAEhB,MAAO4B,EAAG,GAAItB,MAAM,GAChD,KAAK,EAAGS,EAAEC,QAASJ,EAAIgB,EAAG,GAAIA,EAAK,CAAC,GAAI,SACxC,KAAK,EAAGA,EAAKb,EAAEI,IAAIY,MAAOhB,EAAEG,KAAKa,MAAO,SACxC,QACI,KAAMlB,EAAIE,EAAEG,MAAML,EAAIA,EAAEmB,OAAS,GAAKnB,EAAEA,EAAEmB,OAAS,KAAkB,IAAVJ,EAAG,IAAsB,IAAVA,EAAG,IAAW,CAAEb,EAAI,EAAG,SACjG,GAAc,IAAVa,EAAG,MAAcf,GAAMe,EAAG,GAAKf,EAAE,IAAMe,EAAG,GAAKf,EAAE,IAAM,CAAEE,EAAEC,MAAQY,EAAG,GAAI,MAC9E,GAAc,IAAVA,EAAG,IAAYb,EAAEC,MAAQH,EAAE,GAAI,CAAEE,EAAEC,MAAQH,EAAE,GAAIA,EAAIe,EAAI,MAC7D,GAAIf,GAAKE,EAAEC,MAAQH,EAAE,GAAI,CAAEE,EAAEC,MAAQH,EAAE,GAAIE,EAAEI,IAAIc,KAAKL,GAAK,MACvDf,EAAE,IAAIE,EAAEI,IAAIY,MAChBhB,EAAEG,KAAKa,MAAO,SAEtBH,EAAKlB,EAAKoB,KAAKtC,EAASuB,GAC1B,MAAOZ,GAAKyB,EAAK,CAAC,EAAGzB,GAAIS,EAAI,UAAeD,EAAIE,EAAI,EACtD,GAAY,EAARe,EAAG,GAAQ,MAAMA,EAAG,GAAI,MAAO,CAAE5B,MAAO4B,EAAG,GAAKA,EAAG,QAAK,EAAQtB,MAAM,GArB9BL,CAAK,CAACyB,EAAGC,MAyBhCO,OAAOC,gBAYpBC,EAASC,GACrB,IAAIC,EAAsB,mBAAXf,QAAyBA,OAAOC,SAAUe,EAAID,GAAKD,EAAEC,GAAIE,EAAI,EAC5E,GAAID,EAAG,OAAOA,EAAET,KAAKO,GACrB,GAAIA,GAAyB,iBAAbA,EAAEL,OAAqB,MAAO,CAC1C9B,KAAM,WAEF,OADImC,GAAKG,GAAKH,EAAEL,SAAQK,OAAI,GACrB,CAAErC,MAAOqC,GAAKA,EAAEG,KAAMlC,MAAO+B,KAG5C,MAAM,IAAIR,UAAUS,EAAI,0BAA4B,4CAGxCG,EAAOJ,EAAGX,GACtB,IAAIa,EAAsB,mBAAXhB,QAAyBc,EAAEd,OAAOC,UACjD,IAAKe,EAAG,OAAOF,EACf,IAAmBK,EAAYvC,EAA3BqC,EAAID,EAAET,KAAKO,GAAOM,EAAK,GAC3B,IACI,WAAc,IAANjB,GAAgBA,KAAM,MAAQgB,EAAIF,EAAEtC,QAAQI,MAAMqC,EAAGV,KAAKS,EAAE1C,OAExE,MAAO4C,GAASzC,EAAI,CAAEyC,MAAOA,WAEzB,IACQF,IAAMA,EAAEpC,OAASiC,EAAIC,EAAU,SAAID,EAAET,KAAKU,WAExC,GAAIrC,EAAG,MAAMA,EAAEyC,OAE7B,OAAOD,EAgEX,oBAAyBT,OAAOC,gBAkBhBU,EAAuBC,EAAUC,EAAOC,EAAMrC,GAC1D,GAAa,MAATqC,IAAiBrC,EAAG,MAAM,IAAIkB,UAAU,iDAC5C,GAAqB,mBAAVkB,EAAuBD,IAAaC,IAAUpC,GAAKoC,EAAME,IAAIH,GAAW,MAAM,IAAIjB,UAAU,4EACvG,MAAgB,MAATmB,EAAerC,EAAa,MAATqC,EAAerC,EAAEmB,KAAKgB,GAAYnC,EAAIA,EAAEX,MAAQ+C,EAAMG,IAAIJ,oBCzFtF,SAAAK,EACUC,EACAC,EACqCC,GAH/C,IAAAC,EAAA9B,KACUA,KAAA2B,WAAAA,EACA3B,KAAA4B,cAAAA,EACqC5B,KAAA6B,sBAAAA,EA7G/CE,EAAAC,IAAAhC,KAA8B,CAC5BiC,OAAQ,CACNC,OAAQ,CAAEC,MAAO,QACjBC,KAAM,CAAED,MAAO,QACfE,MAAO,CAAEF,MAAO,SAElBG,UAAW,CACTC,SAAU,SACVC,WAAY,SACZC,UAAU,GAEZC,KAAM,CACJC,MAAM,EACNC,KAAM,GACNC,MAAO,CAAEC,KAAM,WAEjBC,KAAM,CACJC,KAAM,UACNC,QAAS,QACTC,QAAS,CACPJ,KAAM,aAIZK,EAAAnB,IAAAhC,KAAc,UACdoD,EAAApB,IAAAhC,KAAgB,UAChBqD,EAAArB,IAAAhC,KAA8B,CAC5BiC,OAAQ,CACNC,OAAQ,CAAEC,MAAO,QACjBC,KAAM,CAAED,MAAO,QACfE,MAAO,CAAEF,MAAO,SAElBG,UAAW,CACTC,SAAU,SACVC,WAAY,SACZC,UAAU,GAEZC,KAAM,CACJC,MAAM,EACNC,KAAM,GACNC,MAAO,CAAEC,KAAI1B,EAAApB,KAAAmD,KAEfJ,KAAM,CACJC,KAAM,UACNC,QAAS,QACTC,QAAS,CACPJ,KAAI1B,EAAApB,KAAAoD,OAKVE,EAAAtB,IAAAhC,KAAiC,CAC/BiC,OAAQ,CACNC,OAAQ,CAAEC,MAAO,QACjBC,KAAM,CAAED,MAAO,QACfE,MAAO,CAAEF,MAAO,SAElBG,UAAW,CACTC,SAAU,SACVC,WAAY,SACZC,UAAU,GAEZC,KAAM,CACJa,QAAQ,EACRX,KAAM,GACNC,MAAO,CAAEC,KAAM,WAEjBC,KAAM,CACJC,KAAM,UACNC,QAAS,QACTC,QAAS,CACPJ,KAAM,aAKZU,EAAAxB,IAAAhC,KAAoC,CAClCiC,OAAQ,CACNC,OAAQ,CAAEC,MAAO,QACjBC,KAAM,CAAED,MAAO,QACfE,MAAO,CAAEF,MAAO,SAElBG,UAAW,CACTG,UAAU,GAEZC,KAAM,CACJa,QAAQ,EACRX,KAAM,EACNC,MAAO,CAAEC,KAAM,WAEjBC,KAAM,CACJC,KAAM,UACNC,QAAS,QACTC,QAAS,CACPJ,KAAM,aAKZW,EAAAzB,IAAAhC,KAA6B,CAC3BsC,UAAW,CACTC,SAAU,SACVE,UAAU,KAUdiB,EAAA1B,IAAAhC,MAAa,SAAC2D,EAAaC,GACzB,IAAIC,EAAeC,EAAAA,QAAK,CACtBC,OAAQjC,EAAKiC,OACbC,WAAYlC,EAAKkC,aAEnB,OAAKJ,GAGLC,EAAeC,EAAAA,QAAK,CAClBC,OAAQjC,EAAKiC,OACbH,MAAKA,IAEA,QAAQ9B,EAAKiC,OAAM,WAAWF,EAAY,UAASF,GAAO,KANxD,QAAQ7B,EAAKiC,OAAM,WAAWF,EAAY,UAASF,GAAO,OASrE3D,KAAAiE,iBAAmB,SAAOC,GAA0B,OAAApG,EAAAgE,OAAA,OAAA,GAAA,gHAElD,GADQqC,EAA8BD,EAAQC,SAA5BC,EAAoBF,EAAQE,QAAnBC,EAAWH,EAAQG,QACzCC,MAAMC,QAAQH,GACjB,MAAM,IAAII,MAAM,+CAElB,IAA4BC,EAAA9D,EAAAyD,EAAQM,WAASC,EAAAF,EAAAhG,QAAAkG,EAAA9F,KAAA8F,EAAAF,EAAAhG,OAAE,CAC7C,GADSmG,EAAA5D,EAAA2D,EAAApG,MAAA,GAACsG,EAAGD,EAAA,KAAEE,EAAMF,EAAA,IACTG,MACV,MAAM,IAAIP,MAAM,WAAUK,EAAM,GAAC,uBAEnC,IAAKC,EAAOE,MACV,MAAM,IAAIR,MAAM,WAAUK,EAAM,GAAC,yHA8CrC,GA3CMI,EAAiBb,EAAQc,MAAK,SAAAJ,GAAU,OAAAA,EAAOK,eAC/CC,EAAW,IAAIC,EAAAA,SACfC,EAAaF,EAASG,aAAa,YACzCnB,EAAQoB,SAAQ,SAACV,EAAQW,mBACfC,EAA8BZ,EAAMY,SAA1B3C,EAAoB+B,EAAM/B,KAApB4C,EAAcb,EAAMa,UACtCC,EAAYN,EAAWO,QAAQ,EAAGJ,EAAQ,GAC1CK,EAAYR,EAAWO,QAAQ,EAAGJ,EAAQ,GAC1CM,EAAkBT,EAAWO,QAAQ,EAAGJ,EAAQ,GAClDO,EAAQ,IACRlB,EAAOkB,OAASlB,EAAOkB,MAAMC,SAAS,QACxCD,GAASlB,EAAOkB,MAAME,QAAQ,KAAM,KAEtCZ,EAAWa,UAAUV,EAAQ,GAAGO,MAAQA,EAAQ,GAAK,GACrDJ,EAAUzD,MAAKf,EAAAU,EAAAC,GAEb6D,EAAUzD,MAAKf,EAAAU,EADb4D,EACapC,EAEAvB,GAEjB+D,EAAU3D,MAAK1B,OAAA2F,OAAA3F,OAAA2F,OAAA,GAAAhF,EAAAU,EAAAuB,IAAA,CAEbX,KAAIjC,OAAA2F,OAAA3F,OAAA2F,OAAA,GAAA,QAAAC,EAAAjF,EAAAU,EAAAuB,UAAA,IAAAgD,OAAA,EAAAA,EACmB3D,MAAI,CACzBG,MAAKpC,OAAA2F,OAAA3F,OAAA2F,OAAA,GACsB,QADtBE,EAAA,QAAAC,EAAAnF,EAAAU,EAAAuB,UAAA,IAAAkD,OAAA,EAAAA,EACkB7D,YAAI,IAAA4D,OAAA,EAAAA,EAAEzD,OAAK,CAChCC,KAAM6C,IAA0C,QAAjCa,EAA0B,QAA1BC,EAAA,QAAAC,EAAAtF,EAAAU,EAAAuB,UAAA,IAAAqD,OAAA,EAAAA,EAAsBhE,YAAI,IAAA+D,OAAA,EAAAA,EAAE5D,aAAK,IAAA2D,OAAA,EAAAA,EAAE1D,UAGtDC,KAAM,CACJC,KAAM,UACNC,QAAS,QACTC,QAAS,CACPJ,KAAMC,GAAI3B,EAAAU,EAAAsB,OAIhBwC,EAAUrH,MAAQuG,EAAOC,MACzBe,EAAUvH,MAAQuG,EAAOE,MACrBC,IACFc,EAAgB5D,MAAKf,EAAAU,EAAA0B,GACrBuC,EAAgBxH,MAAQuG,EAAOK,aAAe,OAG9Cd,MAAAA,OAAM,EAANA,EAAQ9D,OAAQ,YACPoG,GACT,GAAIA,EAAMC,MAAQtC,MAAMC,QAAQoC,EAAME,QAAUvC,MAAMC,QAAQoC,EAAMG,QAAS,CAC3E,IAAMC,EAAW3B,EAASG,aAAaoB,EAAMC,MAC7CD,EAAMG,OAAOtB,SAAQ,SAACT,EAAOU,GAC3BsB,EAASZ,UAAUV,EAAQ,GAAGO,MAAQ,GACtCe,EAASlB,QAAQ,EAAGJ,EAAQ,GAAGtD,MAAKf,EAAAU,EAAAuB,GACpC0D,EAASlB,QAAQ,EAAGJ,EAAQ,GAAGlH,MAAQwG,KAEzC4B,EAAME,MAAMrB,SAAQ,SAACwB,EAAMC,GACzBN,EAAMG,OAAOtB,SAAQ,SAACT,EAAOmC,GAC3BH,EAASlB,QAAQ,EAAIoB,EAAM,EAAIC,GAAM3I,MAAQyI,EAAKjC,GAClDgC,EAASlB,QAAQ,EAAIoB,EAAM,EAAIC,GAAM/E,MAAKf,EAAAU,EAAA2B,eAXlD,IAAoB0D,EAAAxG,EAAA0D,GAAM+C,EAAAD,EAAA1I,QAAA2I,EAAAvI,KAAAuI,EAAAD,EAAA1I,OAAfkI,EAAKS,EAAA7I,QAALoI,qGAiBA,MAAA,CAAA,EAAMvB,EAASiC,KAAKC,6BAA3BC,EAAOC,EAAAhI,OACbiI,UAAUC,aAAa,IAAIC,KAAK,CAACJ,GAAO,CAAEvE,KAAM,sEAAwEmB,eAG1HnE,KAAAxC,eAAiB,SAAOoK,GAIvB,OAAA9J,EAAAgE,OAAA,OAAA,GAAA,0FAIc,OAHL6B,EAA0BiE,EAAIjE,IAAzBC,EAAqBgE,EAAIhE,MAAlBiE,EAAcD,EAAIC,UAC9BrK,EAAmBD,EAAGC,eACxBsK,EAAM,GAAG9H,KAAK+H,YAAcvK,EAAc,IAAI4D,EAAApB,KAAA0D,GAAArD,KAAAL,KAAgB2D,EAAKC,GAC5D,CAAA,EAAM6D,UAAUO,OAAO,CAClCC,WAAY,CAAC,QACbC,YAAa,GACbL,UAASA,mBAHLN,EAAO5C,EAAAnF,QAMoB,CAAA,EAAMQ,KAAK2B,WAAWqG,OAAOF,EAAKP,GAAMY,OAAM,SAACC,GAE5E,MADAtG,EAAKF,cAAcyG,OAAOC,QAAQF,MAAAA,OAAG,EAAHA,EAAKG,SACjCH,MAHN,CAAA,EAAA,UAKF,OAJM3D,EAAyBE,EAAAnF,OAAvBgJ,EAAQ/D,EAAA+D,SAAErE,EAAQM,EAAAN,SAI1B,CAAA,EAAO,CACLqE,SAAQA,EACRrE,SAAQA,WAGZ,MAAA,CAAA,EAAO,cAGTnE,KAAAvC,uBAAyB,SAAOmK,GAI/B,OAAA9J,EAAAgE,OAAA,OAAA,GAAA,iFAIgC,OAHvB6B,EAAyBiE,EAAIjE,IAAxBO,EAAoB0D,EAAI1D,SAAdN,EAAUgE,EAAIhE,MAC7BnG,EAA2BF,EAAGE,uBAChCqK,EAAM,GAAG9H,KAAK+H,YAActK,EAAsB,IAAI2D,EAAApB,KAAA0D,GAAArD,KAAAL,KAAgB2D,EAAKC,GAClD,CAAA,EAAM5D,KAAK2B,WAAW8G,KAAKX,EAAK5D,WAC/D,OADMO,EAAyBE,EAAAnF,OAAvBgJ,EAAQ/D,EAAA+D,SAAErE,EAAQM,EAAAN,SAC1B,CAAA,EAAO,CAAEqE,SAAQA,EAAErE,SAAQA,YAG7BnE,KAAArC,WAAa,SAAOiK,GAInB,OAAA9J,EAAAgE,OAAA,OAAA,GAAA,2EAIC,OAHQ6B,EAAyBiE,EAAIjE,IAAxBC,EAAoBgE,EAAIhE,MAAjBO,EAAayD,EAAIzD,SAC7BxG,EAAeJ,EAAGI,WACpBmK,EAAM,GAAG9H,KAAK+H,YAAcpK,EAAU,IAAIyD,EAAApB,KAAA0D,GAAArD,KAAAL,KAAgB2D,EAAKC,GAAM,SAASO,EACpF,CAAA,EAAMnE,KAAK2B,WAAW8G,KAAKX,kBAA3BrD,EAAAjF,mBAGFQ,KAAAtC,cAAgB,SAAOkK,GAGtB,OAAA9J,EAAAgE,OAAA,OAAA,GAAA,6EAUa,OAHJ6B,EAAeiE,EAAIjE,IAAdC,EAAUgE,EAAIhE,MACnBlG,EAAkBH,EAAGG,cACvBoK,EAAM,GAAG9H,KAAK+H,YAAcrK,EAAa,IAAI0D,EAAApB,KAAA0D,GAAArD,KAAAL,KAAgB2D,EAAKC,GAC5D,CAAA,EAAM5D,KAAK2B,WAAWF,IAAsBqG,WACxD,OADMY,EAAMjE,EAAAjF,OACZ,CAAA,GAAgB,QAAT6G,EAAAqC,EAAIC,aAAK,IAAAtC,OAAA,EAAAA,EAAEuC,KAAI,SAAAlK,GAAK,MAAA,CACzB8J,SAAU9J,EAAEmK,UACZ1E,SAAUzF,EAAEkI,WACP,YAGT5G,KAAA8I,SAAW,SAACN,EAAkBrE,GAC5B,IAAM4E,EAAYC,SAASC,cAAc,KACzCF,EAAKD,UAAc3E,GAAY+E,EAAAA,MAAS,QACxCH,EAAKI,KAAOX,EACZQ,SAAS/J,KAAKmK,YAAYL,GAC1BA,EAAKM,QACLL,SAAS/J,KAAKqK,YAAYP,IAG5B/I,KAAAuJ,iBAAmB,SAAO3B,GAKzB,OAAA9J,EAAAgE,OAAA,OAAA,GAAA,iFAIgB,OAHP0G,EAAuCZ,EAAIY,SAAjCpE,EAA6BwD,EAAIxD,QAAxByC,EAAoBe,EAAIf,MAAjB1C,EAAayD,EAAIzD,SAC3CvG,EAAuBL,EAAGK,mBAC5BkK,EAAM,GAAG9H,KAAK+H,YAAcnK,EACnB,CAAA,EAAMoC,KAAK2B,WAAW8G,KAAKX,EAAK,CAC7CU,SAAQA,EACRpE,QAAOA,EACPyC,MAAKA,EACL1C,SAAQA,GACP,KAAM,CACPqF,aAAc,+BANVC,EAAShF,EAAAjF,OAQTkK,EAAO,IAAI/B,KAAK,CAAC8B,GAAS,CAAEzG,KAAM,8EACxCyE,UAAUC,aAAagC,EAAMvF,eAG/BnE,KAAA2J,UAAY,SAAOC,GAAqB,OAAA9L,EAAAgE,OAAA,OAAA,GAAA,4DAC9BsC,EAA6BwF,EAAMxF,QAA1ByC,EAAoB+C,EAAM/C,MAAnB1C,EAAayF,EAAMzF,SACrC0F,EAAY,OAClB,IAAqBC,EAAAnJ,EAAAyD,GAAO2F,EAAAD,EAAArL,QAAAsL,EAAAlL,KAAAkL,EAAAD,EAAArL,OAAjBqG,EAAMiF,EAAAxL,MACfsL,EAAU/E,EAAOC,OAASD,EAAOE,8GAEf,IAAIgF,EAAAA,YAAY,CAClCC,UAAa9F,GAAY,OAAK,IAAI+F,KAAKC,SAAS,IAAID,KAAQ,uBAC5DE,eAAgB,IAChBC,aAAc,IACdC,iBAAkB,IAClBC,YAAY,EACZC,WAAW,EACXxF,MAAOb,GAAY,MACnBsG,QAAQ,IAEEC,uBD7MZ,IAAK,IAAIxJ,EAAK,GAAIH,EAAI,EAAGA,EAAI4J,UAAUpK,OAAQQ,IAC3CG,EAAKA,EAAG0J,OAAO5J,EAAO2J,UAAU5J,KACpC,OAAOG,EC2MgB2J,CAAA,CAAEhB,GAAchD,eAGzC7G,KAAA8K,OAAS,SAAOlB,GAAqB,OAAA9L,EAAAgE,OAAA,OAAA,GAAA,oHAC3BsC,EAAqCwF,EAAMxF,QAAlCyC,EAA4B+C,EAAM/C,MAA3B1C,EAAqByF,EAAMzF,SAAjBE,EAAWuF,EAAMvF,OAC/CY,GAAiB,MACrB,IAA4BR,EAAA9D,EAAAyD,EAAQM,WAASC,EAAAF,EAAAhG,QAAAkG,EAAA9F,KAAA8F,EAAAF,EAAAhG,OAAE,CAC7C,GADSmG,EAAA5D,EAAA2D,EAAApG,MAAA,GAACsG,EAAGD,EAAA,KAAEE,EAAMF,EAAA,IACTG,MACV,MAAM,IAAIP,MAAM,WAAUK,EAAM,GAAC,uBAEnC,IAAKC,EAAOE,MACV,MAAM,IAAIR,MAAM,WAAUK,EAAM,GAAC,uBAE/BC,EAAOK,cACTF,GAAiB,qGAwBrB,GArBMG,EAAW,IAAIC,EAAAA,SACfC,EAAaF,EAASG,aAAa,QACzCnB,EAAQoB,SAAQ,SAACV,EAAQW,GACvB,IAAIO,EAAQ,IACRlB,EAAOkB,OAASlB,EAAOkB,MAAMC,SAAS,QACxCD,GAASlB,EAAOkB,MAAME,QAAQ,KAAM,KAEtCZ,EAAWa,UAAUV,EAAQ,GAAGO,MAAQA,EAAQ,GAAK,GACrDV,EAAWO,QAAQ,EAAGJ,EAAQ,GAAGtD,MAAKf,EAAAU,EAAAC,GAClC+C,EAAOY,SACTJ,EAAWO,QAAQ,EAAGJ,EAAQ,GAAGtD,MAAKf,EAAAU,EAAAwB,GAEtCgC,EAAWO,QAAQ,EAAGJ,EAAQ,GAAGtD,MAAKf,EAAAU,EAAAuB,GAExCiC,EAAWO,QAAQ,EAAGJ,EAAQ,GAAGlH,MAAQuG,EAAOC,MAChDO,EAAWO,QAAQ,EAAGJ,EAAQ,GAAGlH,MAAQuG,EAAOE,MAC5CC,IACFK,EAAWO,QAAQ,EAAGJ,EAAQ,GAAGtD,MAAKf,EAAAU,EAAA0B,GACtC8B,EAAWO,QAAQ,EAAGJ,EAAQ,GAAGlH,MAAQuG,EAAOK,aAAe,OAG/Dd,MAAAA,OAAM,EAANA,EAAQ9D,OAAQ,YACPoG,GACT,GAAIA,EAAMC,MAAQtC,MAAMC,QAAQoC,EAAME,QAAUvC,MAAMC,QAAQoC,EAAMG,QAAS,CAC3E,IAAMiE,EAAW3F,EAASG,aAAaoB,EAAMC,MAC7CD,EAAMG,OAAOtB,SAAQ,SAACT,EAAOU,GAC3BsF,EAAS5E,UAAUV,EAAQ,GAAGO,MAAQ,GACtC+E,EAASlF,QAAQ,EAAGJ,EAAQ,GAAGtD,MAAKf,EAAAU,EAAAuB,GACpC0H,EAASlF,QAAQ,EAAGJ,EAAQ,GAAGlH,MAAQwG,KAEzC4B,EAAME,MAAMrB,SAAQ,SAACwB,EAAMC,GACzBN,EAAMG,OAAOtB,SAAQ,SAACT,EAAOmC,GAC3B6D,EAASlF,QAAQ,EAAIoB,EAAM,EAAIC,GAAM3I,MAAQyI,EAAKjC,GAClDgG,EAASlF,QAAQ,EAAIoB,EAAM,EAAIC,GAAM/E,MAAKf,EAAAU,EAAA2B,eAXlD,IAAoBuH,EAAArK,EAAA0D,GAAM4G,EAAAD,EAAAvM,QAAAwM,EAAApM,KAAAoM,EAAAD,EAAAvM,OAAfkI,EAAKsE,EAAA1M,QAALoI,qGA8BA,OAZPuE,EAAUjG,EAAiB,EAAI,EACrC4B,EAAMrB,SAAQ,SAAC9G,EAAGuI,GAChB7C,EAAQoB,SAAQ,SAACV,EAAQoC,GACU,iBAArBxI,EAAEoG,EAAOC,QACnBO,EAAWO,QAAQqF,EAAUjE,EAAM,EAAIC,GAAM3I,OAASG,EAAEoG,EAAOC,OAC/DO,EAAWO,QAAQqF,EAAUjE,EAAM,EAAIC,GAAMiE,OAAS,KAEtD7F,EAAWO,QAAQqF,EAAUjE,EAAM,EAAIC,GAAM3I,MAAQG,EAAEoG,EAAOC,OAEhEO,EAAWO,QAAQqF,EAAUjE,EAAM,EAAIC,GAAM/E,MAAKf,EAAAU,EAAA2B,SAGzC,CAAA,EAAM2B,EAASiC,KAAKC,6BAA3BC,EAAOC,EAAAhI,OACbiI,UAAUC,aAAa,IAAIC,KAAK,CAACJ,GAAO,CAAEvE,KAAM,sEAAwEmB,eAG1HnE,KAAAoL,aAAe,SAAOxB,GAA4B,OAAA9L,EAAAgE,OAAA,OAAA,GAAA,yHAEhD,GADQqC,EAAqByF,EAAMzF,WAC9BE,OADaA,EAAWuF,EAAMvF,aACxB,EAANA,EAAQ9D,QAEX,OADAP,KAAK4B,cAAcyG,OAAOC,QAAQ,2BAClC,CAAA,GAEIlD,EAAW,IAAIC,EAAAA,aACrB,IAA2BZ,EAAA9D,EAAA0D,EAAOK,WAASC,EAAAF,EAAAhG,QAAAkG,EAAA9F,KAAA8F,EAAAF,EAAAhG,OAAE,CAAlCmG,EAAA5D,EAAA2D,EAAApG,MAAA,GAACsG,EAAGD,EAAA,GAAE+B,EAAK/B,EAAA,GACZgC,EAAyBD,EAAKC,KAAxBxC,EAAmBuC,EAAKvC,QAAfiH,EAAU1E,EAAK0E,MAChCC,EAAYlG,EAASG,aAAaqB,GAAQ,UAAS/B,EAAM,QAC/D,IAAqB0G,OAAA,EAAAC,EAAA7K,EAACyD,GAAW,IAAGqH,EAAAD,EAAA/M,QAAAgN,EAAA5M,KAAA4M,EAAAD,EAAA/M,OAAzBqG,EAAM2G,EAAAlN,MACf+M,EAAUnF,UAAUrB,EAAOW,OAAOtD,MAAQ2C,EAAO3C,MACjDmJ,EAAUnF,UAAUrB,EAAOW,OAAOO,MAAQlB,EAAOkB,2GAEnD,IAAmB0F,OAAA,EAAAC,EAAAhL,EAAA0K,GAAKO,EAAAD,EAAAlN,QAAAmN,EAAA/M,KAAA+M,EAAAD,EAAAlN,OAAboN,EAAID,EAAArN,MACLuN,EAA8BD,EAAIC,IAA7BhH,EAAyB+G,EAAI/G,OAArBvG,EAAiBsN,EAAItN,MAAd4D,EAAU0J,EAAI1J,MAC1CmJ,EAAUzF,QAAQiG,EAAKhH,GAAQ3C,MAAQA,GAASmJ,EAAUnF,UAAUrB,GAAQ3C,MAC5EmJ,EAAUzF,QAAQiG,EAAKhH,GAAQvG,MAAQA,sMAG9B,MAAA,CAAA,EAAM6G,EAASiC,KAAKC,6BAA3BC,EAAOwE,EAAAvM,OACbiI,UAAUC,aAAa,IAAIC,KAAK,CAACJ,GAAO,CAAEvE,KAAM,sEAAwEmB,eAG1HnE,KAAAgM,SAAW,SAAOC,GAAc,OAAAnO,EAAAgE,OAAA,OAAA,GAAA,uEAGf,OAFPjE,EAAeN,EAAGM,WACpBiK,EAAM,GAAG9H,KAAK+H,YAAclK,EACnB,CAAA,EAAMmC,KAAK2B,WAAW8G,KAAKX,EAAK,CAC7CmE,KAAIA,GACH,KAAM,CACPzC,aAAc,+BAHVC,EAAShF,EAAAjF,OAKfiI,UAAUC,aAAa,IAAIC,KAAK,CAAC8B,GAAS,CAAEzG,KAAM,wCA7bpDvC,OAAAyL,eAAYxK,EAAAyK,UAAA,cAAW,KAAvB,iBACE,OAAiC,QAAjC9F,EAAOrG,KAAK6B,6BAAqB,IAAAwE,OAAA,EAAAA,EAAE0B,6CAGrCtH,OAAAyL,eAAYxK,EAAAyK,UAAA,SAAM,KAAlB,WACQ,IAAA1H,EAAmBzE,KAAK6B,sBAC9B,OADe4C,EAAA2H,QACE,IADG3H,EAAA4H,qCAItB5L,OAAAyL,eAAYxK,EAAAyK,UAAA,aAAU,KAAtB,WACU,IAAApI,EAAW/D,KAAK6B,sBAAqBkC,OAC7C,GAAKA,EAGL,MAAwB,iBAApB,EACKA,EAEFA,mWArBVuI,EAAAA,WAAU1E,KAAA,CAAC,CACV2E,WAAY,oDAVLC,EAAAA,oBAMAC,EAAAA,gDAwIJC,EAAAA,OAAM9E,KAAA,CAAC+E,EAAAA,kBAAe,CAAA3J,KAAG4J,EAAAA","sourcesContent":["export * from './excel.model';\r\nexport interface SdExportTemplate {\r\n fileName?: string;\r\n columns: SdExportTempateColumn[];\r\n sheets?: {\r\n name: string,\r\n items: any[],\r\n fields: string[]\r\n }[];\r\n}\r\n\r\nexport interface SdExportTempateColumn {\r\n field: string;\r\n title: string;\r\n required?: boolean;\r\n color?: string;\r\n width?: string;\r\n description?: string;\r\n fontColor?: string;\r\n fill?: string;\r\n}\r\n\r\nexport interface SdExportFile {\r\n fileName?: string;\r\n filePath?: string;\r\n}\r\n\r\nexport interface SdExportColumn {\r\n field: string;\r\n title: string;\r\n description?: string;\r\n width?: string;\r\n}\r\n\r\nexport interface IExportOption {\r\n columns: SdExportTempateColumn[];\r\n items: any[];\r\n fileName?: string;\r\n sheets?: {\r\n name: string,\r\n items: any[],\r\n fields: string[]\r\n }[];\r\n}\r\n\r\nexport interface IBigExportRequest {\r\n filePath?: string;\r\n destination?: string;\r\n latestRow: number;\r\n columns: {\r\n field: string,\r\n title: string,\r\n description?: string,\r\n width?: string,\r\n }[];\r\n items: any[];\r\n}\r\n\r\nexport interface IBigExportResponse {\r\n filePath: string;\r\n destination: string;\r\n latestRow: number;\r\n}\r\n\r\nexport type GroupPermission = 'view' | 'add' | 'delete';\r\n\r\nexport const API = {\r\n uploadTemplate: '/excel/uploadTemplate',\r\n generateUploadTemplate: '/excel/generateUploadTemplate',\r\n filesInFolder: '/excel/filesInFolder',\r\n removeFile: '/excel/remove',\r\n sdExportByTemplate: '/excel/sd-export-by-template',\r\n sdMergePDF: '/excel/sd-merge-pdf',\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 { Optional } from '@angular/core';\r\nimport { Injectable, Inject } from '@angular/core';\r\nimport { SdApiService } from '@sd-angular/core/api';\r\nimport * as uuid from 'uuid';\r\nimport hash from 'object-hash';\r\nimport { ExportToCsv } from 'export-to-csv';\r\nimport { Workbook, Style } from 'exceljs';\r\nimport { SdExportTemplate, IExportOption, API, SdExportFile, SdExportCustomOption } from './export.model';\r\nimport { SdNotifyService } from '@sd-angular/core/notify';\r\nimport { FIREBASE_CONFIG, IFirebaseConfiguration } from '@sd-angular/core/common';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SdExportService {\r\n private get functionUrl() {\r\n return this.firebaseConfiguration?.functionUrl;\r\n }\r\n\r\n private get folder() {\r\n const { project, env } = this.firebaseConfiguration;\r\n return `${project}-${env}`;\r\n }\r\n\r\n private get userFolder() {\r\n const { folder } = this.firebaseConfiguration;\r\n if (!folder) {\r\n return;\r\n }\r\n if (typeof (folder) === 'string') {\r\n return folder;\r\n }\r\n return folder();\r\n }\r\n\r\n #fieldStyle: Partial<Style> = {\r\n border: {\r\n bottom: { style: 'thin' },\r\n left: { style: 'thin' },\r\n right: { style: 'thin' }\r\n },\r\n alignment: {\r\n vertical: 'middle',\r\n horizontal: 'center',\r\n wrapText: true\r\n },\r\n font: {\r\n bold: true,\r\n size: 11,\r\n color: { argb: '000000' },\r\n },\r\n fill: {\r\n type: 'pattern',\r\n pattern: 'solid',\r\n fgColor: {\r\n argb: 'FAFAFA'\r\n }\r\n }\r\n }\r\n #titleColor = 'FFFFFF';\r\n #titleFgColor = '143180';\r\n #titleStyle: Partial<Style> = {\r\n border: {\r\n bottom: { style: 'thin' },\r\n left: { style: 'thin' },\r\n right: { style: 'thin' }\r\n },\r\n alignment: {\r\n vertical: 'middle',\r\n horizontal: 'center',\r\n wrapText: true\r\n },\r\n font: {\r\n bold: true,\r\n size: 11,\r\n color: { argb: this.#titleColor },\r\n },\r\n fill: {\r\n type: 'pattern',\r\n pattern: 'solid',\r\n fgColor: {\r\n argb: this.#titleFgColor,\r\n }\r\n }\r\n }\r\n\r\n #requiredStyle: Partial<Style> = {\r\n border: {\r\n bottom: { style: 'thin' },\r\n left: { style: 'thin' },\r\n right: { style: 'thin' }\r\n },\r\n alignment: {\r\n vertical: 'middle',\r\n horizontal: 'center',\r\n wrapText: true\r\n },\r\n font: {\r\n italic: true,\r\n size: 11,\r\n color: { argb: 'FFFFFF' },\r\n },\r\n fill: {\r\n type: 'pattern',\r\n pattern: 'solid',\r\n fgColor: {\r\n argb: 'FF1744'\r\n }\r\n }\r\n }\r\n\r\n #descriptionStyle: Partial<Style> = {\r\n border: {\r\n bottom: { style: 'thin' },\r\n left: { style: 'thin' },\r\n right: { style: 'thin' }\r\n },\r\n alignment: {\r\n wrapText: true\r\n },\r\n font: {\r\n italic: true,\r\n size: 9,\r\n color: { argb: '000000' },\r\n },\r\n fill: {\r\n type: 'pattern',\r\n pattern: 'solid',\r\n fgColor: {\r\n argb: 'CFD8DC'\r\n }\r\n }\r\n }\r\n\r\n #cellStyle: Partial<Style> = {\r\n alignment: {\r\n vertical: 'middle',\r\n wrapText: true\r\n }\r\n }\r\n\r\n constructor(\r\n private apiService: SdApiService,\r\n private notifyService: SdNotifyService,\r\n @Inject(FIREBASE_CONFIG) @Optional() private firebaseConfiguration: IFirebaseConfiguration) {\r\n }\r\n\r\n #directory = (key: string, group: string) => {\r\n let hashedFolder = hash({\r\n folder: this.folder,\r\n userFolder: this.userFolder\r\n });\r\n if (!group) {\r\n return `dir1=${this.folder}&dir2=U-${hashedFolder}&dir3=${key || ''}`;\r\n }\r\n hashedFolder = hash({\r\n folder: this.folder,\r\n group\r\n });\r\n return `dir1=${this.folder}&dir2=G-${hashedFolder}&dir3=${key || ''}`;\r\n }\r\n\r\n generateTemplate = async (template: SdExportTemplate) => {\r\n const { fileName, columns, sheets } = template;\r\n if (!Array.isArray(columns)) {\r\n throw new Error('Excel template columns must be an array');\r\n }\r\n for (const [idx, column] of columns.entries()) {\r\n if (!column.field) {\r\n throw new Error(`Column ${idx + 1}: Field is required`);\r\n }\r\n if (!column.title) {\r\n throw new Error(`Column ${idx + 1}: Title is required`);\r\n }\r\n }\r\n const hasDescription = columns.some(column => column.description);\r\n const workbook = new Workbook(); //await XlsxPopulate.fromBlankAsync(); // Đọc file sau khi đã download\r\n const firstSheet = workbook.addWorksheet('template'); // Lấy ra sheet đầu tiên\r\n columns.forEach((column, index) => {\r\n const { required, fill, fontColor } = column;\r\n const cellField = firstSheet.getCell(1, index + 1);\r\n const cellTitle = firstSheet.getCell(2, index + 1);\r\n const cellDescription = firstSheet.getCell(3, index + 1);\r\n let width = 120;\r\n if (column.width && column.width.endsWith('px')) {\r\n width = +column.width.replace('px', '');\r\n }\r\n firstSheet.getColumn(index + 1).width = width / 7 || 20;\r\n cellField.style = this.#fieldStyle;\r\n if (required) {\r\n cellField.style = this.#requiredStyle;\r\n } else {\r\n cellField.style = this.#fieldStyle;\r\n }\r\n cellTitle.style = {\r\n ...this.#titleStyle,\r\n font: {\r\n ...this.#titleStyle?.font,\r\n color: {\r\n ...this.#titleStyle?.font?.color,\r\n argb: fontColor || this.#titleStyle?.font?.color?.argb\r\n }\r\n },\r\n fill: {\r\n type: 'pattern',\r\n pattern: 'solid',\r\n fgColor: {\r\n argb: fill || this.#titleFgColor\r\n }\r\n }\r\n };\r\n cellField.value = column.field;\r\n cellTitle.value = column.title;\r\n if (hasDescription) {\r\n cellDescription.style = this.#descriptionStyle;\r\n cellDescription.value = column.description || '';\r\n }\r\n });\r\n if (sheets?.length) {\r\n for (const sheet of sheets) {\r\n if (sheet.name && Array.isArray(sheet.items) && Array.isArray(sheet.fields)) {\r\n const newSheet = workbook.addWorksheet(sheet.name);\r\n sheet.fields.forEach((field, index) => {\r\n newSheet.getColumn(index + 1).width = 30;\r\n newSheet.getCell(1, index + 1).style = this.#titleStyle;\r\n newSheet.getCell(1, index + 1).value = field;\r\n });\r\n sheet.items.forEach((item, idx1) => {\r\n sheet.fields.forEach((field, idx2) => {\r\n newSheet.getCell(2 + idx1, 1 + idx2).value = item[field];\r\n newSheet.getCell(2 + idx1, 1 + idx2).style = this.#cellStyle;\r\n });\r\n });\r\n }\r\n }\r\n }\r\n const file = await workbook.xlsx.writeBuffer();\r\n SdUtility.downloadBlob(new Blob([file], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' }), fileName);\r\n }\r\n\r\n uploadTemplate = async (args: {\r\n key: string;\r\n group?: string;\r\n validator?: (fileName: string) => string\r\n }): Promise<SdExportFile> => {\r\n const { key, group, validator } = args;\r\n const { uploadTemplate } = API;\r\n const url = `${this.functionUrl}${uploadTemplate}?${this.#directory(key, group)}`;\r\n const file = await SdUtility.upload({\r\n extensions: ['xlsx'],\r\n maxSizeInMb: 0.1,\r\n validator\r\n });\r\n if (file) {\r\n const { filePath, fileName } = await this.apiService.upload(url, file).catch((err: Error) => {\r\n this.notifyService.notify.warning(err?.message);\r\n throw err;\r\n });\r\n return {\r\n filePath,\r\n fileName,\r\n };\r\n }\r\n return null;\r\n }\r\n\r\n generateUploadTemplate = async (args: {\r\n key: string;\r\n template: SdExportTemplate;\r\n group?: string;\r\n }) => {\r\n const { key, template, group } = args;\r\n const { generateUploadTemplate } = API;\r\n const url = `${this.functionUrl}${generateUploadTemplate}?${this.#directory(key, group)}`;\r\n const { filePath, fileName } = await this.apiService.post(url, template);\r\n return { filePath, fileName };\r\n }\r\n\r\n removeFile = async (args: {\r\n key: string;\r\n group?: string;\r\n fileName?: string;\r\n }) => {\r\n const { key, group, fileName } = args;\r\n const { removeFile } = API;\r\n const url = `${this.functionUrl}${removeFile}?${this.#directory(key, group)}&name=${fileName}`;\r\n await this.apiService.post(url);\r\n }\r\n\r\n filesInFolder = async (args: {\r\n key: string;\r\n group?: string;\r\n }): Promise<SdExportFile[]> => {\r\n interface FilesInFolderRes {\r\n directory: string;\r\n files: {\r\n publicUrl: string, fullPath: string, name: string\r\n }[];\r\n }\r\n const { key, group } = args;\r\n const { filesInFolder } = API;\r\n const url = `${this.functionUrl}${filesInFolder}?${this.#directory(key, group)}`;\r\n const res = await this.apiService.get<FilesInFolderRes>(url);\r\n return res.files?.map(e => ({\r\n filePath: e.publicUrl,\r\n fileName: e.name\r\n })) || [];\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()}.xlsx`;\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 exportByTemplate = async (args: {\r\n filePath: string,\r\n columns: any[],\r\n items: any[],\r\n fileName?: string\r\n }) => {\r\n const { filePath, columns, items, fileName } = args;\r\n const { sdExportByTemplate } = API;\r\n const url = `${this.functionUrl}${sdExportByTemplate}`;\r\n const buffer = await this.apiService.post(url, {\r\n filePath,\r\n columns,\r\n items,\r\n fileName\r\n }, null, {\r\n responseType: 'arraybuffer'\r\n });\r\n const blob = new Blob([buffer], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;base64,' });\r\n SdUtility.downloadBlob(blob, fileName);\r\n }\r\n\r\n exportCSV = async (option: IExportOption) => {\r\n const { columns, items, fileName } = option;\r\n const headerCSV = {};\r\n for (const column of columns) {\r\n headerCSV[column.field] = column.title;\r\n }\r\n const csvExporter = new ExportToCsv({\r\n filename: `${fileName || 'CSV'}_${Date.toFormat(new Date(), 'yyyy-MM-dd-HH-mm-ss')}`,\r\n fieldSeparator: ',',\r\n quoteStrings: '\"',\r\n decimalSeparator: '.',\r\n showLabels: true,\r\n showTitle: false,\r\n title: fileName || 'CSV',\r\n useBom: true,\r\n });\r\n csvExporter.generateCsv([headerCSV, ...items]);\r\n }\r\n\r\n export = async (option: IExportOption) => {\r\n const { columns, items, fileName, sheets } = option;\r\n let hasDescription = false;\r\n for (const [idx, column] of columns.entries()) {\r\n if (!column.field) {\r\n throw new Error(`Column ${idx + 1}: Field is required`);\r\n }\r\n if (!column.title) {\r\n throw new Error(`Column ${idx + 1}: Title is required`);\r\n }\r\n if (column.description) {\r\n hasDescription = true;\r\n }\r\n }\r\n const workbook = new Workbook(); //await XlsxPopulate.fromBlankAsync(); // Đọc file sau khi đã download\r\n const firstSheet = workbook.addWorksheet('data'); // Lấy ra sheet đầu tiên\r\n columns.forEach((column, index) => {\r\n let width = 120;\r\n if (column.width && column.width.endsWith('px')) {\r\n width = +column.width.replace('px', '');\r\n }\r\n firstSheet.getColumn(index + 1).width = width / 7 || 20;\r\n firstSheet.getCell(1, index + 1).style = this.#fieldStyle\r\n if (column.required) {\r\n firstSheet.getCell(2, index + 1).style = this.#requiredStyle;\r\n } else {\r\n firstSheet.getCell(2, index + 1).style = this.#titleStyle;\r\n }\r\n firstSheet.getCell(1, index + 1).value = column.field;\r\n firstSheet.getCell(2, index + 1).value = column.title;\r\n if (hasDescription) {\r\n firstSheet.getCell(3, index + 1).style = this.#descriptionStyle;\r\n firstSheet.getCell(3, index + 1).value = column.description || '';\r\n }\r\n });\r\n if (sheets?.length) {\r\n for (const sheet of sheets) {\r\n if (sheet.name && Array.isArray(sheet.items) && Array.isArray(sheet.fields)) {\r\n const newSheet = workbook.addWorksheet(sheet.name);\r\n sheet.fields.forEach((field, index) => {\r\n newSheet.getColumn(index + 1).width = 30;\r\n newSheet.getCell(1, index + 1).style = this.#titleStyle;\r\n newSheet.getCell(1, index + 1).value = field;\r\n });\r\n sheet.items.forEach((item, idx1) => {\r\n sheet.fields.forEach((field, idx2) => {\r\n newSheet.getCell(2 + idx1, 1 + idx2).value = item[field];\r\n newSheet.getCell(2 + idx1, 1 + idx2).style = this.#cellStyle;\r\n });\r\n });\r\n }\r\n }\r\n }\r\n\r\n const fromRow = hasDescription ? 4 : 3;\r\n items.forEach((e, idx1) => {\r\n columns.forEach((column, idx2) => {\r\n if (typeof (e[column.field]) === 'number') {\r\n firstSheet.getCell(fromRow + idx1, 1 + idx2).value = +e[column.field];\r\n firstSheet.getCell(fromRow + idx1, 1 + idx2).numFmt = '#';\r\n } else {\r\n firstSheet.getCell(fromRow + idx1, 1 + idx2).value = e[column.field];\r\n }\r\n firstSheet.getCell(fromRow + idx1, 1 + idx2).style = this.#cellStyle;\r\n });\r\n });\r\n const file = await workbook.xlsx.writeBuffer();\r\n SdUtility.downloadBlob(new Blob([file], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' }), fileName);\r\n }\r\n\r\n exportCustom = async (option: SdExportCustomOption) => {\r\n const { fileName, sheets } = option;\r\n if (!sheets?.length) {\r\n this.notifyService.notify.warning('Phải có ít nhất 1 sheet');\r\n return;\r\n }\r\n const workbook = new Workbook();\r\n for (const [idx, sheet] of sheets.entries()) {\r\n const { name, columns, cells } = sheet\r\n const worksheet = workbook.addWorksheet(name || `Sheet ${idx + 1}`);\r\n for (const column of (columns || [])) {\r\n worksheet.getColumn(column.index).style = column.style;\r\n worksheet.getColumn(column.index).width = column.width;\r\n }\r\n for (const cell of cells) {\r\n const { row, column, value, style } = cell;\r\n worksheet.getCell(row, column).style = style || worksheet.getColumn(column).style;\r\n worksheet.getCell(row, column).value = value;\r\n }\r\n }\r\n const file = await workbook.xlsx.writeBuffer();\r\n SdUtility.downloadBlob(new Blob([file], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' }), fileName);\r\n }\r\n\r\n mergePDF = async (urls: string[]) => {\r\n const { sdMergePDF } = API;\r\n const url = `${this.functionUrl}${sdMergePDF}`;\r\n const buffer = await this.apiService.post(url, {\r\n urls\r\n }, null, {\r\n responseType: 'arraybuffer'\r\n });\r\n SdUtility.downloadBlob(new Blob([buffer], { type: 'application/pdf' }));\r\n }\r\n}"]}
@@ -1,8 +1,31 @@
1
1
  (function (global, factory) {
2
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/common'), require('@angular/material/dialog'), require('@angular/material/icon')) :
3
- typeof define === 'function' && define.amd ? define('@sd-angular/core/image-preview', ['exports', '@angular/core', '@angular/common', '@angular/material/dialog', '@angular/material/icon'], factory) :
4
- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global['sd-angular'] = global['sd-angular'] || {}, global['sd-angular'].core = global['sd-angular'].core || {}, global['sd-angular'].core['image-preview'] = {}), global.ng.core, global.ng.common, global.ng.material.dialog, global.ng.material.icon));
5
- }(this, (function (exports, core, common, dialog, icon) { 'use strict';
2
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/common'), require('@angular/material/dialog'), require('@angular/material/icon'), require('jquery'), require('@sd-angular/core/modal')) :
3
+ typeof define === 'function' && define.amd ? define('@sd-angular/core/image-preview', ['exports', '@angular/core', '@angular/common', '@angular/material/dialog', '@angular/material/icon', 'jquery', '@sd-angular/core/modal'], factory) :
4
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global['sd-angular'] = global['sd-angular'] || {}, global['sd-angular'].core = global['sd-angular'].core || {}, global['sd-angular'].core['image-preview'] = {}), global.ng.core, global.ng.common, global.ng.material.dialog, global.ng.material.icon, global.$, global['sd-angular'].core.modal));
5
+ }(this, (function (exports, core, common, dialog, icon, $, modal) { 'use strict';
6
+
7
+ function _interopNamespace(e) {
8
+ if (e && e.__esModule) { return e; } else {
9
+ var n = Object.create(null);
10
+ if (e) {
11
+ Object.keys(e).forEach(function (k) {
12
+ if (k !== 'default') {
13
+ var d = Object.getOwnPropertyDescriptor(e, k);
14
+ Object.defineProperty(n, k, d.get ? d : {
15
+ enumerable: true,
16
+ get: function () {
17
+ return e[k];
18
+ }
19
+ });
20
+ }
21
+ });
22
+ }
23
+ n['default'] = e;
24
+ return Object.freeze(n);
25
+ }
26
+ }
27
+
28
+ var $__namespace = /*#__PURE__*/_interopNamespace($);
6
29
 
7
30
  var ImagePreviewComponent = /** @class */ (function () {
8
31
  function ImagePreviewComponent(dialogRef, data) {
@@ -85,6 +108,96 @@
85
108
  onClick: [{ type: core.HostListener, args: ["click",] }]
86
109
  };
87
110
 
111
+ var _initImageSlideShowBox;
112
+ var ImagePreviewSdmodalComponent = /** @class */ (function () {
113
+ function ImagePreviewSdmodalComponent(dialogRef, data) {
114
+ var _this = this;
115
+ this.dialogRef = dialogRef;
116
+ this.data = data;
117
+ this.imageList = [];
118
+ this.imageOrgWidthList = [];
119
+ this.imageListTotal = 0;
120
+ this.imageCurrent = '';
121
+ this.imageCurrentIndex = 0;
122
+ this.imageCurrentPercent = 100;
123
+ this.imageCurrentWidth = 0;
124
+ _initImageSlideShowBox.set(this, function () {
125
+ setTimeout(function () {
126
+ _this.imageList = [];
127
+ _this.imageOrgWidthList = [];
128
+ $__namespace('img[alt=c-image-editor-quill]').each(function (index, obj) {
129
+ $__namespace(obj).parent('a').addClass('c-image-editor-quill-box');
130
+ $__namespace(obj).parent('a').click(function (e) {
131
+ e.preventDefault();
132
+ e.stopPropagation();
133
+ var currentImg = $__namespace(e.currentTarget).children('img');
134
+ _this.imageCurrent = $__namespace(currentImg).attr('src');
135
+ _this.imageCurrentIndex = _this.imageList.findIndex(function (t) { return t === _this.imageCurrent; });
136
+ _this.imageCurrentPercent = 100;
137
+ // @ts-ignore
138
+ _this.imageCurrentWidth = $__namespace(currentImg)[0].naturalWidth;
139
+ _this.popup.open();
140
+ });
141
+ _this.imageList.push($__namespace(obj).attr('src'));
142
+ // @ts-ignore
143
+ _this.imageOrgWidthList.push($__namespace(obj)[0].naturalWidth);
144
+ _this.imageListTotal = _this.imageList.length;
145
+ });
146
+ }, 100);
147
+ });
148
+ this.imageGalleryBoxPrev = function () {
149
+ if (_this.imageCurrentIndex > 0) {
150
+ _this.imageCurrentIndex--;
151
+ _this.imageCurrent = _this.imageList[_this.imageCurrentIndex];
152
+ _this.imageGalleryBoxCalculateWidth();
153
+ }
154
+ };
155
+ this.imageGalleryBoxNext = function () {
156
+ if (_this.imageCurrentIndex < _this.imageList.length - 1) {
157
+ _this.imageCurrentIndex++;
158
+ _this.imageCurrent = _this.imageList[_this.imageCurrentIndex];
159
+ _this.imageGalleryBoxCalculateWidth();
160
+ }
161
+ };
162
+ this.imageGalleryBoxZoomIn = function () {
163
+ if (_this.imageCurrentPercent < 200) {
164
+ _this.imageCurrentPercent += 10;
165
+ _this.imageGalleryBoxCalculateWidth();
166
+ }
167
+ };
168
+ this.imageGalleryBoxZoomOut = function () {
169
+ if (_this.imageCurrentPercent > 10) {
170
+ _this.imageCurrentPercent -= 10;
171
+ _this.imageGalleryBoxCalculateWidth();
172
+ }
173
+ };
174
+ this.imageGalleryBoxCalculateWidth = function () {
175
+ var orgWidth = _this.imageOrgWidthList[_this.imageCurrentIndex];
176
+ _this.imageCurrentWidth = _this.imageCurrentPercent * orgWidth / 100.0;
177
+ };
178
+ }
179
+ ImagePreviewSdmodalComponent.prototype.ngOnInit = function () {
180
+ // tslint:disable-next-line:max-line-length
181
+ // this.currentImageUrl = typeof this.data.currentImage === 'string' ? this.data.currentImage : this.data.currentImage.previewSrc || this.data.currentImage.src;
182
+ };
183
+ return ImagePreviewSdmodalComponent;
184
+ }());
185
+ _initImageSlideShowBox = new WeakMap();
186
+ ImagePreviewSdmodalComponent.decorators = [
187
+ { type: core.Component, args: [{
188
+ selector: 'sd-image-preview-2',
189
+ template: "<sd-modal [title]=\"' '\" width=\"90%\" #popup>\r\n <sd-modal-body>\r\n <div class=\"c-image-gallery-box\">\r\n <div class=\"c-content-scroll\">\r\n <div class=\"c-content\">\r\n <div class=\"c-content-cell\">\r\n <img src=\"{{imageCurrent}}\" style=\"width: {{imageCurrentWidth}}px\"/>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"c-toolbar\">\r\n <mat-icon (click)=\"imageGalleryBoxZoomOut()\">zoom_out</mat-icon>\r\n <span><b>{{imageCurrentPercent}}%</b></span>\r\n <mat-icon (click)=\"imageGalleryBoxZoomIn()\">zoom_in</mat-icon>\r\n <span>&nbsp;</span>\r\n <mat-icon (click)=\"imageGalleryBoxPrev()\">navigate_before</mat-icon>\r\n <span><b>{{(imageCurrentIndex + 1)}} / {{imageListTotal}}</b></span>\r\n <mat-icon (click)=\"imageGalleryBoxNext()\">navigate_next</mat-icon>\r\n </div>\r\n\r\n </div>\r\n\r\n </sd-modal-body>\r\n</sd-modal>\r\n",
190
+ styles: [".c-image-gallery-box{background:rgba(0,0,0,.54);position:relative}.c-image-gallery-box .c-content-scroll{height:79vh;overflow:auto;width:100%}.c-image-gallery-box .c-content-scroll .c-content{display:table;height:100%;width:100%}.c-image-gallery-box .c-content-scroll .c-content .c-content-cell{display:table-cell;text-align:center;vertical-align:middle}.c-image-gallery-box .c-toolbar{-moz-user-select:none;-webkit-user-select:none;background:rgba(0,0,0,.5);border-radius:4px;bottom:18px;color:#eee;left:0;margin-left:auto;margin-right:auto;padding-top:8px;position:absolute;right:0;text-align:center;user-select:none;width:250px}.c-image-gallery-box .c-toolbar span{margin:0 4px;vertical-align:top}.c-image-gallery-box .c-toolbar mat-icon{cursor:pointer;margin:0 4px}"]
191
+ },] }
192
+ ];
193
+ ImagePreviewSdmodalComponent.ctorParameters = function () { return [
194
+ { type: dialog.MatDialogRef },
195
+ { type: undefined, decorators: [{ type: core.Inject, args: [dialog.MAT_DIALOG_DATA,] }] }
196
+ ]; };
197
+ ImagePreviewSdmodalComponent.propDecorators = {
198
+ popup: [{ type: core.ViewChild, args: [modal.SdModal,] }]
199
+ };
200
+
88
201
  var SdImagePreviewModule = /** @class */ (function () {
89
202
  function SdImagePreviewModule() {
90
203
  }
@@ -92,12 +205,13 @@
92
205
  }());
93
206
  SdImagePreviewModule.decorators = [
94
207
  { type: core.NgModule, args: [{
95
- declarations: [ImagePreviewComponent, ImagePreviewDirective],
208
+ declarations: [ImagePreviewComponent, ImagePreviewSdmodalComponent, ImagePreviewDirective],
96
209
  exports: [ImagePreviewDirective],
97
210
  imports: [
98
211
  common.CommonModule,
99
212
  dialog.MatDialogModule,
100
- icon.MatIconModule
213
+ icon.MatIconModule,
214
+ modal.SdModalModule
101
215
  ],
102
216
  entryComponents: [ImagePreviewComponent]
103
217
  },] }
@@ -113,7 +227,8 @@
113
227
 
114
228
  exports.SdImagePreviewModule = SdImagePreviewModule;
115
229
  exports.ɵa = ImagePreviewComponent;
116
- exports.ɵb = ImagePreviewDirective;
230
+ exports.ɵb = ImagePreviewSdmodalComponent;
231
+ exports.ɵc = ImagePreviewDirective;
117
232
 
118
233
  Object.defineProperty(exports, '__esModule', { value: true });
119
234
 
@@ -1 +1 @@
1
- {"version":3,"file":"sd-angular-core-image-preview.umd.js","sources":["../../../../projects/sd-core/image-preview/src/lib/image-preview/image-preview.component.ts","../../../../projects/sd-core/image-preview/src/lib/directives/image-preview.directive.ts","../../../../projects/sd-core/image-preview/src/lib/image-preview/image-preview.module.ts","../../../../projects/sd-core/image-preview/src/public-api.ts","../../../../projects/sd-core/image-preview/sd-angular-core-image-preview.ts"],"sourcesContent":["import { Component, Inject, OnInit } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { ImagePreview } from '../models/image-preview.model';\r\n\r\nexport interface Data {\r\n currentImage: Partial<ImagePreview> | string;\r\n images: Array<Partial<ImagePreview>>\r\n}\r\n\r\n@Component({\r\n selector: 'app-image-preview',\r\n templateUrl: './image-preview.component.html',\r\n styleUrls: ['./image-preview.component.scss']\r\n})\r\nexport class ImagePreviewComponent implements OnInit {\r\n currentImageUrl: string;\r\n\r\n constructor(\r\n public dialogRef: MatDialogRef<ImagePreviewComponent>,\r\n @Inject(MAT_DIALOG_DATA) public data: Data\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.currentImageUrl = typeof this.data.currentImage === 'string' ? this.data.currentImage : this.data.currentImage.previewSrc || this.data.currentImage.src;\r\n }\r\n\r\n next(): void {\r\n const currentIdx = this.data.images.findIndex((image: Partial<ImagePreview> )=> (image.previewSrc || image.src) === this.currentImageUrl);\r\n if(currentIdx === this.data.images.length - 1) {\r\n this.currentImageUrl = (this.data.images[0] as Partial<ImagePreview>).previewSrc || (this.data.images[0] as Partial<ImagePreview>).src\r\n } else {\r\n this.currentImageUrl = (this.data.images[currentIdx + 1] as Partial<ImagePreview>).previewSrc || (this.data.images[currentIdx + 1] as Partial<ImagePreview>).src;\r\n }\r\n }\r\n\r\n prev(): void {\r\n const currentIdx = this.data.images.findIndex((image: Partial<ImagePreview> )=> (image.previewSrc || image.src) === this.currentImageUrl);\r\n if(currentIdx === 0) {\r\n this.currentImageUrl = (this.data.images[this.data.images.length - 1] as Partial<ImagePreview>).previewSrc || (this.data.images[this.data.images.length - 1] as Partial<ImagePreview>).src\r\n } else {\r\n this.currentImageUrl = (this.data.images[currentIdx - 1] as Partial<ImagePreview>).previewSrc || (this.data.images[currentIdx - 1] as Partial<ImagePreview>).src;\r\n }\r\n }\r\n\r\n}\r\n","import { Directive, ElementRef, HostListener, Input } from \"@angular/core\";\r\nimport { MatDialog } from \"@angular/material/dialog\";\r\nimport { ImagePreviewComponent } from \"../image-preview/image-preview.component\";\r\n\r\nexport interface ImagePreview {\r\n extension: string;\r\n file: File;\r\n fileName: string;\r\n previewSrc: string;\r\n src: string;\r\n}\r\n\r\n@Directive({\r\n selector: \"[sdImagePreview]\",\r\n})\r\nexport class ImagePreviewDirective {\r\n @Input(\"sdImagePreview\") images?: Array<Partial<ImagePreview>> | string = null;\r\n @Input() sdPreviewCurrentIdx: number;\r\n\r\n constructor(private el: ElementRef, public dialog: MatDialog) {}\r\n\r\n @HostListener(\"click\") onClick() {\r\n let currentImage: string | Partial<ImagePreview>;\r\n currentImage = this.el.nativeElement.src;\r\n if (this.images.length && this.sdPreviewCurrentIdx >= 0) {\r\n currentImage = this.images[this.sdPreviewCurrentIdx];\r\n }\r\n this.dialog.open(ImagePreviewComponent, {\r\n data: { currentImage, images: this.images },\r\n backdropClass: [\"image-prevew-backdrop\"],\r\n panelClass: \"image-prevew-panel\",\r\n width: \"600px\",\r\n maxWidth: \"90%\",\r\n height: \"600px\",\r\n maxHeight: \"90%\",\r\n });\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ImagePreviewComponent } from './image-preview.component';\r\nimport { ImagePreviewDirective } from '../directives/image-preview.directive';\r\nimport { MatDialogModule } from '@angular/material/dialog';\r\nimport { MatIconModule } from '@angular/material/icon';\r\n\r\n\r\n@NgModule({\r\n declarations: [ImagePreviewComponent, ImagePreviewDirective],\r\n exports: [ImagePreviewDirective],\r\n imports: [\r\n CommonModule,\r\n MatDialogModule,\r\n MatIconModule\r\n ],\r\n entryComponents: [ImagePreviewComponent]\r\n})\r\nexport class SdImagePreviewModule { }\r\n","/*\r\n * Public API Surface of superdev-angular-core\r\n */\r\n\r\n\r\nexport * from './lib/image-preview/image-preview.module';\r\nexport * from './lib/models/image-preview.model';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n\nexport {ImagePreviewDirective as ɵb} from './src/lib/directives/image-preview.directive';\nexport {ImagePreviewComponent as ɵa} from './src/lib/image-preview/image-preview.component';"],"names":["Component","MatDialogRef","Inject","MAT_DIALOG_DATA","Directive","ElementRef","MatDialog","Input","HostListener","NgModule","CommonModule","MatDialogModule","MatIconModule"],"mappings":"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"}
1
+ {"version":3,"file":"sd-angular-core-image-preview.umd.js","sources":["../../../../projects/sd-core/image-preview/src/lib/image-preview/image-preview.component.ts","../../../../projects/sd-core/image-preview/src/lib/directives/image-preview.directive.ts","../../../../projects/sd-core/image-preview/src/lib/image-preview/image-preview-sdmodal.component.ts","../../../../projects/sd-core/image-preview/src/lib/image-preview/image-preview.module.ts","../../../../projects/sd-core/image-preview/src/public-api.ts","../../../../projects/sd-core/image-preview/sd-angular-core-image-preview.ts"],"sourcesContent":["import { Component, Inject, OnInit } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { ImagePreview } from '../models/image-preview.model';\r\n\r\nexport interface Data {\r\n currentImage: Partial<ImagePreview> | string;\r\n images: Array<Partial<ImagePreview>>\r\n}\r\n\r\n@Component({\r\n selector: 'app-image-preview',\r\n templateUrl: './image-preview.component.html',\r\n styleUrls: ['./image-preview.component.scss']\r\n})\r\nexport class ImagePreviewComponent implements OnInit {\r\n currentImageUrl: string;\r\n\r\n constructor(\r\n public dialogRef: MatDialogRef<ImagePreviewComponent>,\r\n @Inject(MAT_DIALOG_DATA) public data: Data\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.currentImageUrl = typeof this.data.currentImage === 'string' ? this.data.currentImage : this.data.currentImage.previewSrc || this.data.currentImage.src;\r\n }\r\n\r\n next(): void {\r\n const currentIdx = this.data.images.findIndex((image: Partial<ImagePreview> )=> (image.previewSrc || image.src) === this.currentImageUrl);\r\n if(currentIdx === this.data.images.length - 1) {\r\n this.currentImageUrl = (this.data.images[0] as Partial<ImagePreview>).previewSrc || (this.data.images[0] as Partial<ImagePreview>).src\r\n } else {\r\n this.currentImageUrl = (this.data.images[currentIdx + 1] as Partial<ImagePreview>).previewSrc || (this.data.images[currentIdx + 1] as Partial<ImagePreview>).src;\r\n }\r\n }\r\n\r\n prev(): void {\r\n const currentIdx = this.data.images.findIndex((image: Partial<ImagePreview> )=> (image.previewSrc || image.src) === this.currentImageUrl);\r\n if(currentIdx === 0) {\r\n this.currentImageUrl = (this.data.images[this.data.images.length - 1] as Partial<ImagePreview>).previewSrc || (this.data.images[this.data.images.length - 1] as Partial<ImagePreview>).src\r\n } else {\r\n this.currentImageUrl = (this.data.images[currentIdx - 1] as Partial<ImagePreview>).previewSrc || (this.data.images[currentIdx - 1] as Partial<ImagePreview>).src;\r\n }\r\n }\r\n\r\n}\r\n","import { Directive, ElementRef, HostListener, Input } from \"@angular/core\";\r\nimport { MatDialog } from \"@angular/material/dialog\";\r\nimport { ImagePreviewComponent } from \"../image-preview/image-preview.component\";\r\n\r\nexport interface ImagePreview {\r\n extension: string;\r\n file: File;\r\n fileName: string;\r\n previewSrc: string;\r\n src: string;\r\n}\r\n\r\n@Directive({\r\n selector: \"[sdImagePreview]\",\r\n})\r\nexport class ImagePreviewDirective {\r\n @Input(\"sdImagePreview\") images?: Array<Partial<ImagePreview>> | string = null;\r\n @Input() sdPreviewCurrentIdx: number;\r\n\r\n constructor(private el: ElementRef, public dialog: MatDialog) {}\r\n\r\n @HostListener(\"click\") onClick() {\r\n let currentImage: string | Partial<ImagePreview>;\r\n currentImage = this.el.nativeElement.src;\r\n if (this.images.length && this.sdPreviewCurrentIdx >= 0) {\r\n currentImage = this.images[this.sdPreviewCurrentIdx];\r\n }\r\n this.dialog.open(ImagePreviewComponent, {\r\n data: { currentImage, images: this.images },\r\n backdropClass: [\"image-prevew-backdrop\"],\r\n panelClass: \"image-prevew-panel\",\r\n width: \"600px\",\r\n maxWidth: \"90%\",\r\n height: \"600px\",\r\n maxHeight: \"90%\",\r\n });\r\n }\r\n}\r\n","import {Component, Inject, OnInit, ViewChild} from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { ImagePreview } from '../models/image-preview.model';\r\nimport * as $ from 'jquery';\r\nimport {SdModal} from '@sd-angular/core/modal';\r\n\r\nexport interface Data {\r\n currentImage: Partial<ImagePreview> | string;\r\n images: Array<Partial<ImagePreview>>;\r\n}\r\n\r\n@Component({\r\n selector: 'sd-image-preview-2',\r\n templateUrl: './image-preview-sdmodal.component.html',\r\n styleUrls: ['./image-preview-sdmodal.component.scss']\r\n})\r\nexport class ImagePreviewSdmodalComponent implements OnInit {\r\n @ViewChild(SdModal) popup: SdModal;\r\n imageList = [];\r\n imageOrgWidthList = [];\r\n imageListTotal = 0;\r\n imageCurrent = '';\r\n imageCurrentIndex = 0;\r\n imageCurrentPercent = 100;\r\n imageCurrentWidth = 0;\r\n\r\n constructor(\r\n public dialogRef: MatDialogRef<ImagePreviewSdmodalComponent>,\r\n @Inject(MAT_DIALOG_DATA) public data: Data\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n // tslint:disable-next-line:max-line-length\r\n // this.currentImageUrl = typeof this.data.currentImage === 'string' ? this.data.currentImage : this.data.currentImage.previewSrc || this.data.currentImage.src;\r\n }\r\n\r\n #initImageSlideShowBox = () => {\r\n setTimeout(() => {\r\n this.imageList = [];\r\n this.imageOrgWidthList = [];\r\n $('img[alt=c-image-editor-quill]').each((index, obj) => {\r\n $(obj).parent('a').addClass('c-image-editor-quill-box');\r\n $(obj).parent('a').click((e) => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n const currentImg = $(e.currentTarget).children('img');\r\n this.imageCurrent = $(currentImg).attr('src');\r\n this.imageCurrentIndex = this.imageList.findIndex(t => t === this.imageCurrent);\r\n this.imageCurrentPercent = 100;\r\n // @ts-ignore\r\n this.imageCurrentWidth = $(currentImg)[0].naturalWidth;\r\n this.popup.open();\r\n });\r\n this.imageList.push($(obj).attr('src'));\r\n // @ts-ignore\r\n this.imageOrgWidthList.push($(obj)[0].naturalWidth);\r\n this.imageListTotal = this.imageList.length;\r\n });\r\n }, 100);\r\n\r\n }\r\n\r\n imageGalleryBoxPrev = () => {\r\n if (this.imageCurrentIndex > 0) {\r\n this.imageCurrentIndex--;\r\n this.imageCurrent = this.imageList[this.imageCurrentIndex];\r\n this.imageGalleryBoxCalculateWidth();\r\n }\r\n }\r\n imageGalleryBoxNext = () => {\r\n if (this.imageCurrentIndex < this.imageList.length - 1) {\r\n this.imageCurrentIndex++;\r\n this.imageCurrent = this.imageList[this.imageCurrentIndex];\r\n this.imageGalleryBoxCalculateWidth();\r\n }\r\n }\r\n imageGalleryBoxZoomIn = () => {\r\n if (this.imageCurrentPercent < 200) {\r\n this.imageCurrentPercent += 10;\r\n this.imageGalleryBoxCalculateWidth();\r\n }\r\n }\r\n imageGalleryBoxZoomOut = () => {\r\n if (this.imageCurrentPercent > 10) {\r\n this.imageCurrentPercent -= 10;\r\n this.imageGalleryBoxCalculateWidth();\r\n }\r\n }\r\n imageGalleryBoxCalculateWidth = () => {\r\n const orgWidth = this.imageOrgWidthList[this.imageCurrentIndex];\r\n this.imageCurrentWidth = this.imageCurrentPercent * orgWidth / 100.0;\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ImagePreviewComponent } from './image-preview.component';\r\nimport { ImagePreviewDirective } from '../directives/image-preview.directive';\r\nimport { MatDialogModule } from '@angular/material/dialog';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport {ImagePreviewSdmodalComponent} from './image-preview-sdmodal.component';\r\nimport {SdModalModule} from '@sd-angular/core/modal';\r\n\r\n@NgModule({\r\n declarations: [ImagePreviewComponent, ImagePreviewSdmodalComponent, ImagePreviewDirective],\r\n exports: [ImagePreviewDirective],\r\n imports: [\r\n CommonModule,\r\n MatDialogModule,\r\n MatIconModule,\r\n SdModalModule\r\n ],\r\n entryComponents: [ImagePreviewComponent]\r\n})\r\nexport class SdImagePreviewModule { }\r\n","/*\r\n * Public API Surface of superdev-angular-core\r\n */\r\n\r\n\r\nexport * from './lib/image-preview/image-preview.module';\r\nexport * from './lib/models/image-preview.model';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n\nexport {ImagePreviewDirective as ɵc} from './src/lib/directives/image-preview.directive';\nexport {ImagePreviewSdmodalComponent as ɵb} from './src/lib/image-preview/image-preview-sdmodal.component';\nexport {ImagePreviewComponent as ɵa} from './src/lib/image-preview/image-preview.component';"],"names":["Component","MatDialogRef","Inject","MAT_DIALOG_DATA","Directive","ElementRef","MatDialog","Input","HostListener","$","ViewChild","SdModal","NgModule","CommonModule","MatDialogModule","MatIconModule","SdModalModule"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- !function(e,a){"object"==typeof exports&&"undefined"!=typeof module?a(exports,require("@angular/core"),require("@angular/common"),require("@angular/material/dialog"),require("@angular/material/icon")):"function"==typeof define&&define.amd?define("@sd-angular/core/image-preview",["exports","@angular/core","@angular/common","@angular/material/dialog","@angular/material/icon"],a):a(((e="undefined"!=typeof globalThis?globalThis:e||self)["sd-angular"]=e["sd-angular"]||{},e["sd-angular"].core=e["sd-angular"].core||{},e["sd-angular"].core["image-preview"]={}),e.ng.core,e.ng.common,e.ng.material.dialog,e.ng.material.icon)}(this,(function(e,a,t,r,i){"use strict";var n=function(){function e(e,a){this.dialogRef=e,this.data=a}return e.prototype.ngOnInit=function(){this.currentImageUrl="string"==typeof this.data.currentImage?this.data.currentImage:this.data.currentImage.previewSrc||this.data.currentImage.src},e.prototype.next=function(){var e=this,a=this.data.images.findIndex((function(a){return(a.previewSrc||a.src)===e.currentImageUrl}));a===this.data.images.length-1?this.currentImageUrl=this.data.images[0].previewSrc||this.data.images[0].src:this.currentImageUrl=this.data.images[a+1].previewSrc||this.data.images[a+1].src},e.prototype.prev=function(){var e=this,a=this.data.images.findIndex((function(a){return(a.previewSrc||a.src)===e.currentImageUrl}));this.currentImageUrl=0===a?this.data.images[this.data.images.length-1].previewSrc||this.data.images[this.data.images.length-1].src:this.data.images[a-1].previewSrc||this.data.images[a-1].src},e}();n.decorators=[{type:a.Component,args:[{selector:"app-image-preview",template:'<h1 mat-dialog-title class="d-flex">\r\n <mat-icon\r\n mat-dialog-close\r\n role="img"\r\n class="mat-icon notranslate material-icons mat-icon-no-color ml-auto"\r\n >close</mat-icon\r\n >\r\n</h1>\r\n<div mat-dialog-content class="h-100 position-relative m-0">\r\n <ng-container *ngIf="data?.images?.length">\r\n <span class="material-icons-outlined position-absolute prev" (click)="prev()">\r\n arrow_back_ios\r\n </span>\r\n <span class="material-icons-outlined position-absolute next" (click)="next()">\r\n arrow_forward_ios\r\n </span>\r\n </ng-container>\r\n <img\r\n [src]="currentImageUrl"\r\n class="image-preview_image"\r\n />\r\n</div>\r\n',styles:[".image-prevew-panel .mat-dialog-container{padding:0}:host{display:flex;flex-direction:column;height:100%}.image-preview_image{-o-object-fit:contain;display:block;height:100%;margin:0 auto;object-fit:contain;width:90%}.material-icons-outlined{cursor:pointer}.material-icons-outlined.prev{left:5px;top:50%;transform:translateY(-50%)}.material-icons-outlined.next{right:5px;top:50%;transform:translateY(-50%)}"]}]}],n.ctorParameters=function(){return[{type:r.MatDialogRef},{type:void 0,decorators:[{type:a.Inject,args:[r.MAT_DIALOG_DATA]}]}]};var o=function(){function e(e,a){this.el=e,this.dialog=a,this.images=null}return e.prototype.onClick=function(){var e;e=this.el.nativeElement.src,this.images.length&&this.sdPreviewCurrentIdx>=0&&(e=this.images[this.sdPreviewCurrentIdx]),this.dialog.open(n,{data:{currentImage:e,images:this.images},backdropClass:["image-prevew-backdrop"],panelClass:"image-prevew-panel",width:"600px",maxWidth:"90%",height:"600px",maxHeight:"90%"})},e}();o.decorators=[{type:a.Directive,args:[{selector:"[sdImagePreview]"}]}],o.ctorParameters=function(){return[{type:a.ElementRef},{type:r.MatDialog}]},o.propDecorators={images:[{type:a.Input,args:["sdImagePreview"]}],sdPreviewCurrentIdx:[{type:a.Input}],onClick:[{type:a.HostListener,args:["click"]}]};var s=function(){};s.decorators=[{type:a.NgModule,args:[{declarations:[n,o],exports:[o],imports:[t.CommonModule,r.MatDialogModule,i.MatIconModule],entryComponents:[n]}]}],e.SdImagePreviewModule=s,e.ɵa=n,e.ɵb=o,Object.defineProperty(e,"__esModule",{value:!0})}));
1
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core"),require("@angular/common"),require("@angular/material/dialog"),require("@angular/material/icon"),require("jquery"),require("@sd-angular/core/modal")):"function"==typeof define&&define.amd?define("@sd-angular/core/image-preview",["exports","@angular/core","@angular/common","@angular/material/dialog","@angular/material/icon","jquery","@sd-angular/core/modal"],t):t(((e="undefined"!=typeof globalThis?globalThis:e||self)["sd-angular"]=e["sd-angular"]||{},e["sd-angular"].core=e["sd-angular"].core||{},e["sd-angular"].core["image-preview"]={}),e.ng.core,e.ng.common,e.ng.material.dialog,e.ng.material.icon,e.$,e["sd-angular"].core.modal)}(this,(function(e,t,a,r,i,n,o){"use strict";function l(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(a){if("default"!==a){var r=Object.getOwnPropertyDescriptor(e,a);Object.defineProperty(t,a,r.get?r:{enumerable:!0,get:function(){return e[a]}})}})),t.default=e,Object.freeze(t)}var s=l(n),c=function(){function e(e,t){this.dialogRef=e,this.data=t}return e.prototype.ngOnInit=function(){this.currentImageUrl="string"==typeof this.data.currentImage?this.data.currentImage:this.data.currentImage.previewSrc||this.data.currentImage.src},e.prototype.next=function(){var e=this,t=this.data.images.findIndex((function(t){return(t.previewSrc||t.src)===e.currentImageUrl}));t===this.data.images.length-1?this.currentImageUrl=this.data.images[0].previewSrc||this.data.images[0].src:this.currentImageUrl=this.data.images[t+1].previewSrc||this.data.images[t+1].src},e.prototype.prev=function(){var e=this,t=this.data.images.findIndex((function(t){return(t.previewSrc||t.src)===e.currentImageUrl}));this.currentImageUrl=0===t?this.data.images[this.data.images.length-1].previewSrc||this.data.images[this.data.images.length-1].src:this.data.images[t-1].previewSrc||this.data.images[t-1].src},e}();c.decorators=[{type:t.Component,args:[{selector:"app-image-preview",template:'<h1 mat-dialog-title class="d-flex">\r\n <mat-icon\r\n mat-dialog-close\r\n role="img"\r\n class="mat-icon notranslate material-icons mat-icon-no-color ml-auto"\r\n >close</mat-icon\r\n >\r\n</h1>\r\n<div mat-dialog-content class="h-100 position-relative m-0">\r\n <ng-container *ngIf="data?.images?.length">\r\n <span class="material-icons-outlined position-absolute prev" (click)="prev()">\r\n arrow_back_ios\r\n </span>\r\n <span class="material-icons-outlined position-absolute next" (click)="next()">\r\n arrow_forward_ios\r\n </span>\r\n </ng-container>\r\n <img\r\n [src]="currentImageUrl"\r\n class="image-preview_image"\r\n />\r\n</div>\r\n',styles:[".image-prevew-panel .mat-dialog-container{padding:0}:host{display:flex;flex-direction:column;height:100%}.image-preview_image{-o-object-fit:contain;display:block;height:100%;margin:0 auto;object-fit:contain;width:90%}.material-icons-outlined{cursor:pointer}.material-icons-outlined.prev{left:5px;top:50%;transform:translateY(-50%)}.material-icons-outlined.next{right:5px;top:50%;transform:translateY(-50%)}"]}]}],c.ctorParameters=function(){return[{type:r.MatDialogRef},{type:void 0,decorators:[{type:t.Inject,args:[r.MAT_DIALOG_DATA]}]}]};var g,m=function(){function e(e,t){this.el=e,this.dialog=t,this.images=null}return e.prototype.onClick=function(){var e;e=this.el.nativeElement.src,this.images.length&&this.sdPreviewCurrentIdx>=0&&(e=this.images[this.sdPreviewCurrentIdx]),this.dialog.open(c,{data:{currentImage:e,images:this.images},backdropClass:["image-prevew-backdrop"],panelClass:"image-prevew-panel",width:"600px",maxWidth:"90%",height:"600px",maxHeight:"90%"})},e}();m.decorators=[{type:t.Directive,args:[{selector:"[sdImagePreview]"}]}],m.ctorParameters=function(){return[{type:t.ElementRef},{type:r.MatDialog}]},m.propDecorators={images:[{type:t.Input,args:["sdImagePreview"]}],sdPreviewCurrentIdx:[{type:t.Input}],onClick:[{type:t.HostListener,args:["click"]}]};var d=function(){function e(e,t){var a=this;this.dialogRef=e,this.data=t,this.imageList=[],this.imageOrgWidthList=[],this.imageListTotal=0,this.imageCurrent="",this.imageCurrentIndex=0,this.imageCurrentPercent=100,this.imageCurrentWidth=0,g.set(this,(function(){setTimeout((function(){a.imageList=[],a.imageOrgWidthList=[],s("img[alt=c-image-editor-quill]").each((function(e,t){s(t).parent("a").addClass("c-image-editor-quill-box"),s(t).parent("a").click((function(e){e.preventDefault(),e.stopPropagation();var t=s(e.currentTarget).children("img");a.imageCurrent=s(t).attr("src"),a.imageCurrentIndex=a.imageList.findIndex((function(e){return e===a.imageCurrent})),a.imageCurrentPercent=100,a.imageCurrentWidth=s(t)[0].naturalWidth,a.popup.open()})),a.imageList.push(s(t).attr("src")),a.imageOrgWidthList.push(s(t)[0].naturalWidth),a.imageListTotal=a.imageList.length}))}),100)})),this.imageGalleryBoxPrev=function(){a.imageCurrentIndex>0&&(a.imageCurrentIndex--,a.imageCurrent=a.imageList[a.imageCurrentIndex],a.imageGalleryBoxCalculateWidth())},this.imageGalleryBoxNext=function(){a.imageCurrentIndex<a.imageList.length-1&&(a.imageCurrentIndex++,a.imageCurrent=a.imageList[a.imageCurrentIndex],a.imageGalleryBoxCalculateWidth())},this.imageGalleryBoxZoomIn=function(){a.imageCurrentPercent<200&&(a.imageCurrentPercent+=10,a.imageGalleryBoxCalculateWidth())},this.imageGalleryBoxZoomOut=function(){a.imageCurrentPercent>10&&(a.imageCurrentPercent-=10,a.imageGalleryBoxCalculateWidth())},this.imageGalleryBoxCalculateWidth=function(){var e=a.imageOrgWidthList[a.imageCurrentIndex];a.imageCurrentWidth=a.imageCurrentPercent*e/100}}return e.prototype.ngOnInit=function(){},e}();g=new WeakMap,d.decorators=[{type:t.Component,args:[{selector:"sd-image-preview-2",template:'<sd-modal [title]="\' \'" width="90%" #popup>\r\n <sd-modal-body>\r\n <div class="c-image-gallery-box">\r\n <div class="c-content-scroll">\r\n <div class="c-content">\r\n <div class="c-content-cell">\r\n <img src="{{imageCurrent}}" style="width: {{imageCurrentWidth}}px"/>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class="c-toolbar">\r\n <mat-icon (click)="imageGalleryBoxZoomOut()">zoom_out</mat-icon>\r\n <span><b>{{imageCurrentPercent}}%</b></span>\r\n <mat-icon (click)="imageGalleryBoxZoomIn()">zoom_in</mat-icon>\r\n <span>&nbsp;</span>\r\n <mat-icon (click)="imageGalleryBoxPrev()">navigate_before</mat-icon>\r\n <span><b>{{(imageCurrentIndex + 1)}} / {{imageListTotal}}</b></span>\r\n <mat-icon (click)="imageGalleryBoxNext()">navigate_next</mat-icon>\r\n </div>\r\n\r\n </div>\r\n\r\n </sd-modal-body>\r\n</sd-modal>\r\n',styles:[".c-image-gallery-box{background:rgba(0,0,0,.54);position:relative}.c-image-gallery-box .c-content-scroll{height:79vh;overflow:auto;width:100%}.c-image-gallery-box .c-content-scroll .c-content{display:table;height:100%;width:100%}.c-image-gallery-box .c-content-scroll .c-content .c-content-cell{display:table-cell;text-align:center;vertical-align:middle}.c-image-gallery-box .c-toolbar{-moz-user-select:none;-webkit-user-select:none;background:rgba(0,0,0,.5);border-radius:4px;bottom:18px;color:#eee;left:0;margin-left:auto;margin-right:auto;padding-top:8px;position:absolute;right:0;text-align:center;user-select:none;width:250px}.c-image-gallery-box .c-toolbar span{margin:0 4px;vertical-align:top}.c-image-gallery-box .c-toolbar mat-icon{cursor:pointer;margin:0 4px}"]}]}],d.ctorParameters=function(){return[{type:r.MatDialogRef},{type:void 0,decorators:[{type:t.Inject,args:[r.MAT_DIALOG_DATA]}]}]},d.propDecorators={popup:[{type:t.ViewChild,args:[o.SdModal]}]};var u=function(){};u.decorators=[{type:t.NgModule,args:[{declarations:[c,d,m],exports:[m],imports:[a.CommonModule,r.MatDialogModule,i.MatIconModule,o.SdModalModule],entryComponents:[c]}]}],e.SdImagePreviewModule=u,e.ɵa=c,e.ɵb=d,e.ɵc=m,Object.defineProperty(e,"__esModule",{value:!0})}));
2
2
  //# sourceMappingURL=sd-angular-core-image-preview.umd.min.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../projects/sd-core/image-preview/src/lib/image-preview/image-preview.component.ts","../../../../projects/sd-core/image-preview/src/lib/directives/image-preview.directive.ts","../../../../projects/sd-core/image-preview/src/lib/image-preview/image-preview.module.ts"],"names":["ImagePreviewComponent","dialogRef","data","this","prototype","ngOnInit","currentImageUrl","currentImage","previewSrc","src","next","_this","currentIdx","images","findIndex","image","length","prev","Component","args","selector","template","MatDialogRef","Inject","MAT_DIALOG_DATA","ImagePreviewDirective","el","dialog","onClick","nativeElement","sdPreviewCurrentIdx","open","backdropClass","panelClass","width","maxWidth","height","maxHeight","Directive","ElementRef","MatDialog","Input","HostListener","NgModule","declarations","exports","imports","CommonModule","MatDialogModule","MatIconModule","entryComponents"],"mappings":"uqBAiBE,SAAAA,EACSC,EACyBC,GADzBC,KAAAF,UAAAA,EACyBE,KAAAD,KAAAA,SAGlCF,EAAAI,UAAAC,SAAA,WACEF,KAAKG,gBAAoD,iBAA3BH,KAAKD,KAAKK,aAA4BJ,KAAKD,KAAKK,aAAeJ,KAAKD,KAAKK,aAAaC,YAAcL,KAAKD,KAAKK,aAAaE,KAG3JT,EAAAI,UAAAM,KAAA,WAAA,IAAAC,EAAAR,KACQS,EAAaT,KAAKD,KAAKW,OAAOC,WAAU,SAACC,GAAiC,OAACA,EAAMP,YAAcO,EAAMN,OAASE,EAAKL,mBACtHM,IAAeT,KAAKD,KAAKW,OAAOG,OAAS,EAC1Cb,KAAKG,gBAAmBH,KAAKD,KAAKW,OAAO,GAA6BL,YAAgBL,KAAKD,KAAKW,OAAO,GAA6BJ,IAEpIN,KAAKG,gBAAmBH,KAAKD,KAAKW,OAAOD,EAAa,GAA6BJ,YAAeL,KAAKD,KAAKW,OAAOD,EAAa,GAA6BH,KAIjKT,EAAAI,UAAAa,KAAA,WAAA,IAAAN,EAAAR,KACQS,EAAaT,KAAKD,KAAKW,OAAOC,WAAU,SAACC,GAAiC,OAACA,EAAMP,YAAcO,EAAMN,OAASE,EAAKL,mBAEvHH,KAAKG,gBADW,IAAfM,EACuBT,KAAKD,KAAKW,OAAOV,KAAKD,KAAKW,OAAOG,OAAS,GAA6BR,YAAeL,KAAKD,KAAKW,OAAOV,KAAKD,KAAKW,OAAOG,OAAS,GAA6BP,IAE/JN,KAAKD,KAAKW,OAAOD,EAAa,GAA6BJ,YAAeL,KAAKD,KAAKW,OAAOD,EAAa,GAA6BH,8BA/BlKS,EAAAA,UAASC,KAAA,CAAC,CACTC,SAAU,oBACVC,SAAA,uoCAVOC,EAAAA,6CAkBJC,EAAAA,OAAMJ,KAAA,CAACK,EAAAA,uCCAV,SAAAC,EAAoBC,EAAuBC,GAAvBxB,KAAAuB,GAAAA,EAAuBvB,KAAAwB,OAAAA,EAHlBxB,KAAAU,OAAiD,YAKnDY,EAAArB,UAAAwB,QAAA,WACrB,IAAIrB,EACFA,EAAeJ,KAAKuB,GAAGG,cAAcpB,IACjCN,KAAKU,OAAOG,QAAUb,KAAK2B,qBAAuB,IACpDvB,EAAeJ,KAAKU,OAAOV,KAAK2B,sBAElC3B,KAAKwB,OAAOI,KAAK/B,EAAuB,CACtCE,KAAM,CAAEK,aAAYA,EAAEM,OAAQV,KAAKU,QACnCmB,cAAe,CAAC,yBAChBC,WAAY,qBACZC,MAAO,QACPC,SAAU,MACVC,OAAQ,QACRC,UAAW,kCAtBlBC,EAAAA,UAASnB,KAAA,CAAC,CACTC,SAAU,gEAbQmB,EAAAA,kBACXC,EAAAA,6CAeNC,EAAAA,MAAKtB,KAAA,CAAC,+CACNsB,EAAAA,uBAIAC,EAAAA,aAAYvB,KAAA,CAAC,kBCHhB,iCAVCwB,EAAAA,SAAQxB,KAAA,CAAC,CACRyB,aAAc,CAAC5C,EAAuByB,GACtCoB,QAAS,CAACpB,GACVqB,QAAS,CACPC,EAAAA,aACAC,EAAAA,gBACAC,EAAAA,eAEFC,gBAAiB,CAAClD","sourcesContent":["import { Component, Inject, OnInit } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { ImagePreview } from '../models/image-preview.model';\r\n\r\nexport interface Data {\r\n currentImage: Partial<ImagePreview> | string;\r\n images: Array<Partial<ImagePreview>>\r\n}\r\n\r\n@Component({\r\n selector: 'app-image-preview',\r\n templateUrl: './image-preview.component.html',\r\n styleUrls: ['./image-preview.component.scss']\r\n})\r\nexport class ImagePreviewComponent implements OnInit {\r\n currentImageUrl: string;\r\n\r\n constructor(\r\n public dialogRef: MatDialogRef<ImagePreviewComponent>,\r\n @Inject(MAT_DIALOG_DATA) public data: Data\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.currentImageUrl = typeof this.data.currentImage === 'string' ? this.data.currentImage : this.data.currentImage.previewSrc || this.data.currentImage.src;\r\n }\r\n\r\n next(): void {\r\n const currentIdx = this.data.images.findIndex((image: Partial<ImagePreview> )=> (image.previewSrc || image.src) === this.currentImageUrl);\r\n if(currentIdx === this.data.images.length - 1) {\r\n this.currentImageUrl = (this.data.images[0] as Partial<ImagePreview>).previewSrc || (this.data.images[0] as Partial<ImagePreview>).src\r\n } else {\r\n this.currentImageUrl = (this.data.images[currentIdx + 1] as Partial<ImagePreview>).previewSrc || (this.data.images[currentIdx + 1] as Partial<ImagePreview>).src;\r\n }\r\n }\r\n\r\n prev(): void {\r\n const currentIdx = this.data.images.findIndex((image: Partial<ImagePreview> )=> (image.previewSrc || image.src) === this.currentImageUrl);\r\n if(currentIdx === 0) {\r\n this.currentImageUrl = (this.data.images[this.data.images.length - 1] as Partial<ImagePreview>).previewSrc || (this.data.images[this.data.images.length - 1] as Partial<ImagePreview>).src\r\n } else {\r\n this.currentImageUrl = (this.data.images[currentIdx - 1] as Partial<ImagePreview>).previewSrc || (this.data.images[currentIdx - 1] as Partial<ImagePreview>).src;\r\n }\r\n }\r\n\r\n}\r\n","import { Directive, ElementRef, HostListener, Input } from \"@angular/core\";\r\nimport { MatDialog } from \"@angular/material/dialog\";\r\nimport { ImagePreviewComponent } from \"../image-preview/image-preview.component\";\r\n\r\nexport interface ImagePreview {\r\n extension: string;\r\n file: File;\r\n fileName: string;\r\n previewSrc: string;\r\n src: string;\r\n}\r\n\r\n@Directive({\r\n selector: \"[sdImagePreview]\",\r\n})\r\nexport class ImagePreviewDirective {\r\n @Input(\"sdImagePreview\") images?: Array<Partial<ImagePreview>> | string = null;\r\n @Input() sdPreviewCurrentIdx: number;\r\n\r\n constructor(private el: ElementRef, public dialog: MatDialog) {}\r\n\r\n @HostListener(\"click\") onClick() {\r\n let currentImage: string | Partial<ImagePreview>;\r\n currentImage = this.el.nativeElement.src;\r\n if (this.images.length && this.sdPreviewCurrentIdx >= 0) {\r\n currentImage = this.images[this.sdPreviewCurrentIdx];\r\n }\r\n this.dialog.open(ImagePreviewComponent, {\r\n data: { currentImage, images: this.images },\r\n backdropClass: [\"image-prevew-backdrop\"],\r\n panelClass: \"image-prevew-panel\",\r\n width: \"600px\",\r\n maxWidth: \"90%\",\r\n height: \"600px\",\r\n maxHeight: \"90%\",\r\n });\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ImagePreviewComponent } from './image-preview.component';\r\nimport { ImagePreviewDirective } from '../directives/image-preview.directive';\r\nimport { MatDialogModule } from '@angular/material/dialog';\r\nimport { MatIconModule } from '@angular/material/icon';\r\n\r\n\r\n@NgModule({\r\n declarations: [ImagePreviewComponent, ImagePreviewDirective],\r\n exports: [ImagePreviewDirective],\r\n imports: [\r\n CommonModule,\r\n MatDialogModule,\r\n MatIconModule\r\n ],\r\n entryComponents: [ImagePreviewComponent]\r\n})\r\nexport class SdImagePreviewModule { }\r\n"]}
1
+ {"version":3,"sources":["../../../../projects/sd-core/image-preview/src/lib/image-preview/image-preview.component.ts","../../../../projects/sd-core/image-preview/src/lib/directives/image-preview.directive.ts","../../../../projects/sd-core/image-preview/src/lib/image-preview/image-preview-sdmodal.component.ts","../../../../projects/sd-core/image-preview/src/lib/image-preview/image-preview.module.ts"],"names":["ImagePreviewComponent","dialogRef","data","this","prototype","ngOnInit","currentImageUrl","currentImage","previewSrc","src","next","_this","currentIdx","images","findIndex","image","length","prev","Component","args","selector","template","MatDialogRef","Inject","MAT_DIALOG_DATA","ImagePreviewDirective","el","dialog","onClick","nativeElement","sdPreviewCurrentIdx","open","backdropClass","panelClass","width","maxWidth","height","maxHeight","Directive","ElementRef","MatDialog","Input","HostListener","ImagePreviewSdmodalComponent","imageList","imageOrgWidthList","imageListTotal","imageCurrent","imageCurrentIndex","imageCurrentPercent","imageCurrentWidth","_initImageSlideShowBox","set","setTimeout","$","each","index","obj","parent","addClass","click","e","preventDefault","stopPropagation","currentImg","currentTarget","children","attr","t","naturalWidth","popup","push","imageGalleryBoxPrev","imageGalleryBoxCalculateWidth","imageGalleryBoxNext","imageGalleryBoxZoomIn","imageGalleryBoxZoomOut","orgWidth","ViewChild","SdModal","NgModule","declarations","exports","imports","CommonModule","MatDialogModule","MatIconModule","SdModalModule","entryComponents"],"mappings":"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","sourcesContent":["import { Component, Inject, OnInit } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { ImagePreview } from '../models/image-preview.model';\r\n\r\nexport interface Data {\r\n currentImage: Partial<ImagePreview> | string;\r\n images: Array<Partial<ImagePreview>>\r\n}\r\n\r\n@Component({\r\n selector: 'app-image-preview',\r\n templateUrl: './image-preview.component.html',\r\n styleUrls: ['./image-preview.component.scss']\r\n})\r\nexport class ImagePreviewComponent implements OnInit {\r\n currentImageUrl: string;\r\n\r\n constructor(\r\n public dialogRef: MatDialogRef<ImagePreviewComponent>,\r\n @Inject(MAT_DIALOG_DATA) public data: Data\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.currentImageUrl = typeof this.data.currentImage === 'string' ? this.data.currentImage : this.data.currentImage.previewSrc || this.data.currentImage.src;\r\n }\r\n\r\n next(): void {\r\n const currentIdx = this.data.images.findIndex((image: Partial<ImagePreview> )=> (image.previewSrc || image.src) === this.currentImageUrl);\r\n if(currentIdx === this.data.images.length - 1) {\r\n this.currentImageUrl = (this.data.images[0] as Partial<ImagePreview>).previewSrc || (this.data.images[0] as Partial<ImagePreview>).src\r\n } else {\r\n this.currentImageUrl = (this.data.images[currentIdx + 1] as Partial<ImagePreview>).previewSrc || (this.data.images[currentIdx + 1] as Partial<ImagePreview>).src;\r\n }\r\n }\r\n\r\n prev(): void {\r\n const currentIdx = this.data.images.findIndex((image: Partial<ImagePreview> )=> (image.previewSrc || image.src) === this.currentImageUrl);\r\n if(currentIdx === 0) {\r\n this.currentImageUrl = (this.data.images[this.data.images.length - 1] as Partial<ImagePreview>).previewSrc || (this.data.images[this.data.images.length - 1] as Partial<ImagePreview>).src\r\n } else {\r\n this.currentImageUrl = (this.data.images[currentIdx - 1] as Partial<ImagePreview>).previewSrc || (this.data.images[currentIdx - 1] as Partial<ImagePreview>).src;\r\n }\r\n }\r\n\r\n}\r\n","import { Directive, ElementRef, HostListener, Input } from \"@angular/core\";\r\nimport { MatDialog } from \"@angular/material/dialog\";\r\nimport { ImagePreviewComponent } from \"../image-preview/image-preview.component\";\r\n\r\nexport interface ImagePreview {\r\n extension: string;\r\n file: File;\r\n fileName: string;\r\n previewSrc: string;\r\n src: string;\r\n}\r\n\r\n@Directive({\r\n selector: \"[sdImagePreview]\",\r\n})\r\nexport class ImagePreviewDirective {\r\n @Input(\"sdImagePreview\") images?: Array<Partial<ImagePreview>> | string = null;\r\n @Input() sdPreviewCurrentIdx: number;\r\n\r\n constructor(private el: ElementRef, public dialog: MatDialog) {}\r\n\r\n @HostListener(\"click\") onClick() {\r\n let currentImage: string | Partial<ImagePreview>;\r\n currentImage = this.el.nativeElement.src;\r\n if (this.images.length && this.sdPreviewCurrentIdx >= 0) {\r\n currentImage = this.images[this.sdPreviewCurrentIdx];\r\n }\r\n this.dialog.open(ImagePreviewComponent, {\r\n data: { currentImage, images: this.images },\r\n backdropClass: [\"image-prevew-backdrop\"],\r\n panelClass: \"image-prevew-panel\",\r\n width: \"600px\",\r\n maxWidth: \"90%\",\r\n height: \"600px\",\r\n maxHeight: \"90%\",\r\n });\r\n }\r\n}\r\n","import {Component, Inject, OnInit, ViewChild} from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { ImagePreview } from '../models/image-preview.model';\r\nimport * as $ from 'jquery';\r\nimport {SdModal} from '@sd-angular/core/modal';\r\n\r\nexport interface Data {\r\n currentImage: Partial<ImagePreview> | string;\r\n images: Array<Partial<ImagePreview>>;\r\n}\r\n\r\n@Component({\r\n selector: 'sd-image-preview-2',\r\n templateUrl: './image-preview-sdmodal.component.html',\r\n styleUrls: ['./image-preview-sdmodal.component.scss']\r\n})\r\nexport class ImagePreviewSdmodalComponent implements OnInit {\r\n @ViewChild(SdModal) popup: SdModal;\r\n imageList = [];\r\n imageOrgWidthList = [];\r\n imageListTotal = 0;\r\n imageCurrent = '';\r\n imageCurrentIndex = 0;\r\n imageCurrentPercent = 100;\r\n imageCurrentWidth = 0;\r\n\r\n constructor(\r\n public dialogRef: MatDialogRef<ImagePreviewSdmodalComponent>,\r\n @Inject(MAT_DIALOG_DATA) public data: Data\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n // tslint:disable-next-line:max-line-length\r\n // this.currentImageUrl = typeof this.data.currentImage === 'string' ? this.data.currentImage : this.data.currentImage.previewSrc || this.data.currentImage.src;\r\n }\r\n\r\n #initImageSlideShowBox = () => {\r\n setTimeout(() => {\r\n this.imageList = [];\r\n this.imageOrgWidthList = [];\r\n $('img[alt=c-image-editor-quill]').each((index, obj) => {\r\n $(obj).parent('a').addClass('c-image-editor-quill-box');\r\n $(obj).parent('a').click((e) => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n const currentImg = $(e.currentTarget).children('img');\r\n this.imageCurrent = $(currentImg).attr('src');\r\n this.imageCurrentIndex = this.imageList.findIndex(t => t === this.imageCurrent);\r\n this.imageCurrentPercent = 100;\r\n // @ts-ignore\r\n this.imageCurrentWidth = $(currentImg)[0].naturalWidth;\r\n this.popup.open();\r\n });\r\n this.imageList.push($(obj).attr('src'));\r\n // @ts-ignore\r\n this.imageOrgWidthList.push($(obj)[0].naturalWidth);\r\n this.imageListTotal = this.imageList.length;\r\n });\r\n }, 100);\r\n\r\n }\r\n\r\n imageGalleryBoxPrev = () => {\r\n if (this.imageCurrentIndex > 0) {\r\n this.imageCurrentIndex--;\r\n this.imageCurrent = this.imageList[this.imageCurrentIndex];\r\n this.imageGalleryBoxCalculateWidth();\r\n }\r\n }\r\n imageGalleryBoxNext = () => {\r\n if (this.imageCurrentIndex < this.imageList.length - 1) {\r\n this.imageCurrentIndex++;\r\n this.imageCurrent = this.imageList[this.imageCurrentIndex];\r\n this.imageGalleryBoxCalculateWidth();\r\n }\r\n }\r\n imageGalleryBoxZoomIn = () => {\r\n if (this.imageCurrentPercent < 200) {\r\n this.imageCurrentPercent += 10;\r\n this.imageGalleryBoxCalculateWidth();\r\n }\r\n }\r\n imageGalleryBoxZoomOut = () => {\r\n if (this.imageCurrentPercent > 10) {\r\n this.imageCurrentPercent -= 10;\r\n this.imageGalleryBoxCalculateWidth();\r\n }\r\n }\r\n imageGalleryBoxCalculateWidth = () => {\r\n const orgWidth = this.imageOrgWidthList[this.imageCurrentIndex];\r\n this.imageCurrentWidth = this.imageCurrentPercent * orgWidth / 100.0;\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ImagePreviewComponent } from './image-preview.component';\r\nimport { ImagePreviewDirective } from '../directives/image-preview.directive';\r\nimport { MatDialogModule } from '@angular/material/dialog';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport {ImagePreviewSdmodalComponent} from './image-preview-sdmodal.component';\r\nimport {SdModalModule} from '@sd-angular/core/modal';\r\n\r\n@NgModule({\r\n declarations: [ImagePreviewComponent, ImagePreviewSdmodalComponent, ImagePreviewDirective],\r\n exports: [ImagePreviewDirective],\r\n imports: [\r\n CommonModule,\r\n MatDialogModule,\r\n MatIconModule,\r\n SdModalModule\r\n ],\r\n entryComponents: [ImagePreviewComponent]\r\n})\r\nexport class SdImagePreviewModule { }\r\n"]}