@sd-angular/core 1.3.30 → 1.3.32

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.
@@ -1,2 +1,2 @@
1
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core"),require("@sd-angular/core/api"),require("uuid"),require("object-hash"),require("export-to-csv"),require("xlsx"),require("@sd-angular/core/notify"),require("@sd-angular/core/utility")):"function"==typeof define&&define.amd?define("@sd-angular/core/export",["exports","@angular/core","@sd-angular/core/api","uuid","object-hash","export-to-csv","xlsx","@sd-angular/core/notify","@sd-angular/core/utility"],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.export={}),e.ng.core,e["sd-angular"].core.api,e.uuid,e["object-hash"],e.exportToCsv,e.XLSX,e["sd-angular"].core.notify,e["sd-angular"].core.utility)}(this,(function(e,t,r,n,i,o,a,l,u){"use strict";function c(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var s=c(i),f={generateTemplate:"/excel/generateTemplate",uploadTemplate:"/excel/uploadTemplate",generateUploadTemplate:"/excel/generateUploadTemplate",export:"/excel/export",downloadByTemplate:"/excel/downloadByTemplate",filesInFolder:"/excel/filesInFolder",removeFile:"/excel/remove",sdExport:"/excel/sd-export",sdExportByTemplate:"/excel/sd-export-by-template",sdMergePDF:"/excel/sd-merge-pdf",sdGenerateTemplate:"/excel/sd-generate-template"},d=new t.InjectionToken("export.configuration");function p(e,t,r,n){return new(r||(r=Promise))((function(i,o){function a(e){try{u(n.next(e))}catch(e){o(e)}}function l(e){try{u(n.throw(e))}catch(e){o(e)}}function u(e){var t;e.done?i(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(a,l)}u((n=n.apply(e,t||[])).next())}))}function h(e,t){var r,n,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;a;)try{if(r=1,n&&(i=2&o[0]?n.return:o[0]?n.throw||((i=n.return)&&i.call(n),0):n.next)&&!(i=i.call(n,o[1])).done)return i;switch(n=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,n=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=a.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]<i[3])){a.label=o[1];break}if(6===o[0]&&a.label<i[1]){a.label=i[1],i=o;break}if(i&&a.label<i[2]){a.label=i[2],a.ops.push(o);break}i[2]&&a.ops.pop(),a.trys.pop();continue}o=t.call(e,a)}catch(e){o=[6,e],n=0}finally{r=i=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,l])}}}Object.create;function v(e){var t="function"==typeof Symbol&&Symbol.iterator,r=t&&e[t],n=0;if(r)return r.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function y(e,t){var r="function"==typeof Symbol&&e[Symbol.iterator];if(!r)return e;var n,i,o=r.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(n=o.next()).done;)a.push(n.value)}catch(e){i={error:e}}finally{try{n&&!n.done&&(r=o.return)&&r.call(o)}finally{if(i)throw i.error}}return a}function m(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(y(arguments[t]));return e}var b,g;Object.create;function x(e,t,r,n){if("a"===r&&!n)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!n:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?n:"a"===r?n.call(e):n?n.value:t.get(e)}var w=function(){function e(e,t,r,i){var l=this;this.apiService=e,this.utilityService=t,this.notifyService=r,this.configuration=i,b.set(this,(function(e,t){var r=s.default({folder:l.folder,userFolder:l.userFolder});return t?(r=s.default({folder:l.folder,group:t}),"dir1="+l.folder+"&dir2=G-"+r+"&dir3="+(e||"")):"dir1="+l.folder+"&dir2=U-"+r+"&dir3="+(e||"")})),this.generateTemplate=function(e){return p(l,void 0,void 0,(function(){var t,r,n,i;return h(this,(function(o){switch(o.label){case 0:return t=this.configuration.firebaseUrl,r=""+t+f.sdGenerateTemplate,[4,this.apiService.post(r,e,null,{responseType:"arraybuffer"})];case 1:return n=o.sent(),i=new Blob([n],{type:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;base64,"}),x(this,g).call(this,i,e.fileName||"Template"),[2]}}))}))},this.uploadTemplate=function(e){return p(l,void 0,void 0,(function(){var t,r,n,i,o,a,l,u,c,s=this;return h(this,(function(d){switch(d.label){case 0:return t=e.key,r=e.group,n=e.validator,i=this.configuration.firebaseUrl,o=""+i+f.uploadTemplate+"?"+x(this,b).call(this,t,r),[4,this.utilityService.upload({extensions:["xlsx"],maxSizeInMb:.1,validator:n})];case 1:return(a=d.sent())?[4,this.apiService.upload(o,a).catch((function(e){throw s.notifyService.notify.warning(null==e?void 0:e.message),e}))]:[3,3];case 2:return l=d.sent(),u=l.filePath,c=l.fileName,[2,{filePath:u,fileName:c}];case 3:return[2,null]}}))}))},this.generateUploadTemplate=function(e){return p(l,void 0,void 0,(function(){var t,r,n,i,o,a,l,u;return h(this,(function(c){switch(c.label){case 0:return t=e.key,r=e.template,n=e.group,i=this.configuration.firebaseUrl,o=""+i+f.generateUploadTemplate+"?"+x(this,b).call(this,t,n),[4,this.apiService.post(o,r)];case 1:return a=c.sent(),l=a.filePath,u=a.fileName,[2,{filePath:l,fileName:u}]}}))}))},this.removeFile=function(e){return p(l,void 0,void 0,(function(){var t,r,n,i,o;return h(this,(function(a){switch(a.label){case 0:return t=e.key,r=e.group,n=e.fileName,i=this.configuration.firebaseUrl,o=""+i+f.removeFile+"?"+x(this,b).call(this,t,r)+"&name="+n,[4,this.apiService.post(o)];case 1:return a.sent(),[2]}}))}))},this.filesInFolder=function(e){return p(l,void 0,void 0,(function(){var t,r,n,i,o,a;return h(this,(function(l){switch(l.label){case 0:return r=e.key,n=e.group,i=this.configuration.firebaseUrl,o=""+i+f.filesInFolder+"?"+x(this,b).call(this,r,n),[4,this.apiService.get(o)];case 1:return a=l.sent(),[2,(null===(t=a.files)||void 0===t?void 0:t.map((function(e){return{filePath:e.publicUrl,fileName:e.name}})))||[]]}}))}))},this.download=function(e,t){var r=document.createElement("a");r.download=(t||n.v4())+".xlsx",r.href=e,document.body.appendChild(r),r.click(),document.body.removeChild(r)},this.exportByTemplate=function(e){return p(l,void 0,void 0,(function(){var t,r,n,i,o,a,l,u;return h(this,(function(c){switch(c.label){case 0:return t=e.filePath,r=e.columns,n=e.items,i=e.fileName,o=this.configuration.firebaseUrl,a=""+o+f.sdExportByTemplate,[4,this.apiService.post(a,{filePath:t,columns:r,items:n,fileName:i},null,{responseType:"arraybuffer"})];case 1:return l=c.sent(),u=new Blob([l],{type:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;base64,"}),x(this,g).call(this,u,i),[2]}}))}))},this.export=function(e){return p(l,void 0,void 0,(function(){var t,r,n,i;return h(this,(function(o){switch(o.label){case 0:return t=this.configuration.firebaseUrl,r=""+t+f.sdExport,[4,this.apiService.post(r,e,null,{responseType:"arraybuffer"})];case 1:return n=o.sent(),i=new Blob([n],{type:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;base64,"}),x(this,g).call(this,i,null==e?void 0:e.fileName),[2]}}))}))},this.exportCSV=function(e){return p(l,void 0,void 0,(function(){var t,r,n,i,a,l,u,c,s;return h(this,(function(f){t=e.columns,r=e.items,n=e.fileName,i={};try{for(a=v(t),l=a.next();!l.done;l=a.next())u=l.value,i[u.field]=u.title}catch(e){c={error:e}}finally{try{l&&!l.done&&(s=a.return)&&s.call(a)}finally{if(c)throw c.error}}return new o.ExportToCsv({filename:(n||"CSV")+"_"+Date.toFormat(new Date,"yyyy-MM-dd-HH-mm-ss"),fieldSeparator:",",quoteStrings:'"',decimalSeparator:".",showLabels:!0,showTitle:!1,title:n||"CSV",useBom:!0}).generateCsv(m([i],r)),[2]}))}))},this.exportExcelRaw=function(e){return p(l,void 0,void 0,(function(){var t,r,n,i,o,l,u,c,s,f,d,p,y;return h(this,(function(h){t=e.columns,r=e.items,n=e.fileName,i={};try{for(o=v(t),l=o.next();!l.done;l=o.next())u=l.value,i[u.field]=u.title}catch(e){p={error:e}}finally{try{l&&!l.done&&(y=o.return)&&y.call(o)}finally{if(p)throw p.error}}return c=a.utils.json_to_sheet(m([i],r)),s={Sheets:{data:c},SheetNames:["data"]},f=a.write(s,{bookType:"xlsx",type:"array"}),d=new Blob([f],{type:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=UTF-8"}),x(this,g).call(this,d,n),[2]}))}))},this.mergePDF=function(e){return p(l,void 0,void 0,(function(){var t,r,i,o;return h(this,(function(a){switch(a.label){case 0:return t=this.configuration.firebaseUrl,r=""+t+f.sdMergePDF,[4,this.apiService.post(r,{urls:e},null,{responseType:"arraybuffer"})];case 1:return i=a.sent(),o=new Blob([i],{type:"application/pdf"}),x(this,g).call(this,o,""+n.v4()),[2]}}))}))},this.loadExportedItems=function(e){return p(l,void 0,void 0,(function(){return h(this,(function(e){return[2]}))}))},g.set(this,(function(e,t){void 0===t&&(t="Export");try{var r=window.URL.createObjectURL(e),n=document.createElement("a");t=(t=t.replace(/.xlsx/i,"")).replace(/.pdf/i,""),void 0!==n.download&&(n.setAttribute("href",r),n.setAttribute("download",t+"_"+(new Date).toFormat("yyyy_MM_dd_HH_mm")),n.style.visibility="hidden",document.body.appendChild(n),n.click(),document.body.removeChild(n))}catch(e){console.error("BlobToSaveAs error",e)}}))}return Object.defineProperty(e.prototype,"hasConfiguration",{get:function(){var e;return!!(null===(e=this.configuration)||void 0===e?void 0:e.firebaseUrl)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"folder",{get:function(){var e=this.configuration.folder;return"string"==typeof e?e:e()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"userFolder",{get:function(){var e=this.configuration.user;if(null==e?void 0:e.folder){var t=e.folder;return"string"==typeof t?t:t()}},enumerable:!1,configurable:!0}),e}();b=new WeakMap,g=new WeakMap,w.ɵprov=t.ɵɵdefineInjectable({factory:function(){return new w(t.ɵɵinject(r.SdApiService),t.ɵɵinject(u.SdUtilityService),t.ɵɵinject(l.SdNotifyService),t.ɵɵinject(d,8))},token:w,providedIn:"root"}),w.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],w.ctorParameters=function(){return[{type:r.SdApiService},{type:u.SdUtilityService},{type:l.SdNotifyService},{type:void 0,decorators:[{type:t.Inject,args:[d]},{type:t.Optional}]}]},e.API=f,e.EXPORT_CONFIG=d,e.SdExportService=w,Object.defineProperty(e,"__esModule",{value:!0})}));
1
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core"),require("@sd-angular/core/api"),require("uuid"),require("object-hash"),require("export-to-csv"),require("xlsx"),require("@sd-angular/core/notify"),require("@sd-angular/core/utility"),require("@sd-angular/core/common")):"function"==typeof define&&define.amd?define("@sd-angular/core/export",["exports","@angular/core","@sd-angular/core/api","uuid","object-hash","export-to-csv","xlsx","@sd-angular/core/notify","@sd-angular/core/utility","@sd-angular/core/common"],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.export={}),e.ng.core,e["sd-angular"].core.api,e.uuid,e["object-hash"],e.exportToCsv,e.XLSX,e["sd-angular"].core.notify,e["sd-angular"].core.utility,e["sd-angular"].core.common)}(this,(function(e,t,r,n,i,o,a,l,u,c){"use strict";function s(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var f=s(i),d={generateTemplate:"/excel/generateTemplate",uploadTemplate:"/excel/uploadTemplate",generateUploadTemplate:"/excel/generateUploadTemplate",export:"/excel/export",downloadByTemplate:"/excel/downloadByTemplate",filesInFolder:"/excel/filesInFolder",removeFile:"/excel/remove",sdExport:"/excel/sd-export",sdExportByTemplate:"/excel/sd-export-by-template",sdMergePDF:"/excel/sd-merge-pdf",sdGenerateTemplate:"/excel/sd-generate-template"};function p(e,t,r,n){return new(r||(r=Promise))((function(i,o){function a(e){try{u(n.next(e))}catch(e){o(e)}}function l(e){try{u(n.throw(e))}catch(e){o(e)}}function u(e){var t;e.done?i(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(a,l)}u((n=n.apply(e,t||[])).next())}))}function h(e,t){var r,n,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;a;)try{if(r=1,n&&(i=2&o[0]?n.return:o[0]?n.throw||((i=n.return)&&i.call(n),0):n.next)&&!(i=i.call(n,o[1])).done)return i;switch(n=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,n=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=a.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]<i[3])){a.label=o[1];break}if(6===o[0]&&a.label<i[1]){a.label=i[1],i=o;break}if(i&&a.label<i[2]){a.label=i[2],a.ops.push(o);break}i[2]&&a.ops.pop(),a.trys.pop();continue}o=t.call(e,a)}catch(e){o=[6,e],n=0}finally{r=i=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,l])}}}Object.create;function v(e){var t="function"==typeof Symbol&&Symbol.iterator,r=t&&e[t],n=0;if(r)return r.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function y(e,t){var r="function"==typeof Symbol&&e[Symbol.iterator];if(!r)return e;var n,i,o=r.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(n=o.next()).done;)a.push(n.value)}catch(e){i={error:e}}finally{try{n&&!n.done&&(r=o.return)&&r.call(o)}finally{if(i)throw i.error}}return a}function m(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(y(arguments[t]));return e}var b,g;Object.create;function x(e,t,r,n){if("a"===r&&!n)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!n:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?n:"a"===r?n.call(e):n?n.value:t.get(e)}var w=function(){function e(e,t,r,i){var l=this;this.apiService=e,this.utilityService=t,this.notifyService=r,this.firebaseConfiguration=i,b.set(this,(function(e,t){var r=f.default({folder:l.folder,userFolder:l.userFolder});return t?(r=f.default({folder:l.folder,group:t}),"dir1="+l.folder+"&dir2=G-"+r+"&dir3="+(e||"")):"dir1="+l.folder+"&dir2=U-"+r+"&dir3="+(e||"")})),this.generateTemplate=function(e){return p(l,void 0,void 0,(function(){var t,r,n,i;return h(this,(function(o){switch(o.label){case 0:return t=d.sdGenerateTemplate,r=""+this.functionUrl+t,[4,this.apiService.post(r,e,null,{responseType:"arraybuffer"})];case 1:return n=o.sent(),i=new Blob([n],{type:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;base64,"}),x(this,g).call(this,i,e.fileName||"Template"),[2]}}))}))},this.uploadTemplate=function(e){return p(l,void 0,void 0,(function(){var t,r,n,i,o,a,l,u,c,s=this;return h(this,(function(f){switch(f.label){case 0:return t=e.key,r=e.group,n=e.validator,i=d.uploadTemplate,o=""+this.functionUrl+i+"?"+x(this,b).call(this,t,r),[4,this.utilityService.upload({extensions:["xlsx"],maxSizeInMb:.1,validator:n})];case 1:return(a=f.sent())?[4,this.apiService.upload(o,a).catch((function(e){throw s.notifyService.notify.warning(null==e?void 0:e.message),e}))]:[3,3];case 2:return l=f.sent(),u=l.filePath,c=l.fileName,[2,{filePath:u,fileName:c}];case 3:return[2,null]}}))}))},this.generateUploadTemplate=function(e){return p(l,void 0,void 0,(function(){var t,r,n,i,o,a,l,u;return h(this,(function(c){switch(c.label){case 0:return t=e.key,r=e.template,n=e.group,i=d.generateUploadTemplate,o=""+this.functionUrl+i+"?"+x(this,b).call(this,t,n),[4,this.apiService.post(o,r)];case 1:return a=c.sent(),l=a.filePath,u=a.fileName,[2,{filePath:l,fileName:u}]}}))}))},this.removeFile=function(e){return p(l,void 0,void 0,(function(){var t,r,n,i,o;return h(this,(function(a){switch(a.label){case 0:return t=e.key,r=e.group,n=e.fileName,i=d.removeFile,o=""+this.functionUrl+i+"?"+x(this,b).call(this,t,r)+"&name="+n,[4,this.apiService.post(o)];case 1:return a.sent(),[2]}}))}))},this.filesInFolder=function(e){return p(l,void 0,void 0,(function(){var t,r,n,i,o,a;return h(this,(function(l){switch(l.label){case 0:return r=e.key,n=e.group,i=d.filesInFolder,o=""+this.functionUrl+i+"?"+x(this,b).call(this,r,n),[4,this.apiService.get(o)];case 1:return a=l.sent(),[2,(null===(t=a.files)||void 0===t?void 0:t.map((function(e){return{filePath:e.publicUrl,fileName:e.name}})))||[]]}}))}))},this.download=function(e,t){var r=document.createElement("a");r.download=(t||n.v4())+".xlsx",r.href=e,document.body.appendChild(r),r.click(),document.body.removeChild(r)},this.exportByTemplate=function(e){return p(l,void 0,void 0,(function(){var t,r,n,i,o,a,l,u;return h(this,(function(c){switch(c.label){case 0:return t=e.filePath,r=e.columns,n=e.items,i=e.fileName,o=d.sdExportByTemplate,a=""+this.functionUrl+o,[4,this.apiService.post(a,{filePath:t,columns:r,items:n,fileName:i},null,{responseType:"arraybuffer"})];case 1:return l=c.sent(),u=new Blob([l],{type:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;base64,"}),x(this,g).call(this,u,i),[2]}}))}))},this.export=function(e){return p(l,void 0,void 0,(function(){var t,r,n,i;return h(this,(function(o){switch(o.label){case 0:return t=d.sdExport,r=""+this.functionUrl+t,[4,this.apiService.post(r,e,null,{responseType:"arraybuffer"})];case 1:return n=o.sent(),i=new Blob([n],{type:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;base64,"}),x(this,g).call(this,i,null==e?void 0:e.fileName),[2]}}))}))},this.exportCSV=function(e){return p(l,void 0,void 0,(function(){var t,r,n,i,a,l,u,c,s;return h(this,(function(f){t=e.columns,r=e.items,n=e.fileName,i={};try{for(a=v(t),l=a.next();!l.done;l=a.next())u=l.value,i[u.field]=u.title}catch(e){c={error:e}}finally{try{l&&!l.done&&(s=a.return)&&s.call(a)}finally{if(c)throw c.error}}return new o.ExportToCsv({filename:(n||"CSV")+"_"+Date.toFormat(new Date,"yyyy-MM-dd-HH-mm-ss"),fieldSeparator:",",quoteStrings:'"',decimalSeparator:".",showLabels:!0,showTitle:!1,title:n||"CSV",useBom:!0}).generateCsv(m([i],r)),[2]}))}))},this.exportExcelRaw=function(e){return p(l,void 0,void 0,(function(){var t,r,n,i,o,l,u,c,s,f,d,p,y;return h(this,(function(h){t=e.columns,r=e.items,n=e.fileName,i={};try{for(o=v(t),l=o.next();!l.done;l=o.next())u=l.value,i[u.field]=u.title}catch(e){p={error:e}}finally{try{l&&!l.done&&(y=o.return)&&y.call(o)}finally{if(p)throw p.error}}return c=a.utils.json_to_sheet(m([i],r)),s={Sheets:{data:c},SheetNames:["data"]},f=a.write(s,{bookType:"xlsx",type:"array"}),d=new Blob([f],{type:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=UTF-8"}),x(this,g).call(this,d,n),[2]}))}))},this.mergePDF=function(e){return p(l,void 0,void 0,(function(){var t,r,i,o;return h(this,(function(a){switch(a.label){case 0:return t=d.sdMergePDF,r=""+this.functionUrl+t,[4,this.apiService.post(r,{urls:e},null,{responseType:"arraybuffer"})];case 1:return i=a.sent(),o=new Blob([i],{type:"application/pdf"}),x(this,g).call(this,o,""+n.v4()),[2]}}))}))},this.loadExportedItems=function(e){return p(l,void 0,void 0,(function(){return h(this,(function(e){return[2]}))}))},g.set(this,(function(e,t){void 0===t&&(t="Export");try{var r=window.URL.createObjectURL(e),n=document.createElement("a");t=(t=t.replace(/.xlsx/i,"")).replace(/.pdf/i,""),void 0!==n.download&&(n.setAttribute("href",r),n.setAttribute("download",t+"_"+(new Date).toFormat("yyyy_MM_dd_HH_mm")),n.style.visibility="hidden",document.body.appendChild(n),n.click(),document.body.removeChild(n))}catch(e){console.error("BlobToSaveAs error",e)}}))}return Object.defineProperty(e.prototype,"hasConfiguration",{get:function(){var e;return!!(null===(e=this.firebaseConfiguration)||void 0===e?void 0:e.functionUrl)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"functionUrl",{get:function(){var e;return null===(e=this.firebaseConfiguration)||void 0===e?void 0:e.functionUrl},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"folder",{get:function(){var e=this.firebaseConfiguration;return e.project+"-"+e.env},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"userFolder",{get:function(){var e=this.firebaseConfiguration.folder;if(e)return"string"==typeof e?e:e()},enumerable:!1,configurable:!0}),e}();b=new WeakMap,g=new WeakMap,w.ɵprov=t.ɵɵdefineInjectable({factory:function(){return new w(t.ɵɵinject(r.SdApiService),t.ɵɵinject(u.SdUtilityService),t.ɵɵinject(l.SdNotifyService),t.ɵɵinject(c.FIREBASE_CONFIG,8))},token:w,providedIn:"root"}),w.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],w.ctorParameters=function(){return[{type:r.SdApiService},{type:u.SdUtilityService},{type:l.SdNotifyService},{type:void 0,decorators:[{type:t.Inject,args:[c.FIREBASE_CONFIG]},{type:t.Optional}]}]},e.API=d,e.SdExportService=w,Object.defineProperty(e,"__esModule",{value:!0})}));
2
2
  //# sourceMappingURL=sd-angular-core-export.umd.min.js.map
@@ -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","generateTemplate","uploadTemplate","generateUploadTemplate","export","downloadByTemplate","filesInFolder","removeFile","sdExport","sdExportByTemplate","sdMergePDF","sdGenerateTemplate","EXPORT_CONFIG","InjectionToken","__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","__spread","arguments","concat","__classPrivateFieldGet","receiver","state","kind","has","get","SdExportService","apiService","utilityService","notifyService","configuration","_this","_directory","set","key","group","hashedFolder","hash","folder","userFolder","template","firebaseUrl","url","post","responseType","buffer","_b","blob","Blob","type","_blobToSaveAs","fileName","args","validator","upload","extensions","maxSizeInMb","file","_c","catch","err","notify","warning","message","filePath","res","_a","files","map","publicUrl","name","download","link","document","createElement","uuid.v4","href","appendChild","click","removeChild","exportByTemplate","columns","items","option","exportCSV","headerCSV","columns_1","columns_1_1","column","field","title","ExportToCsv","filename","Date","toFormat","fieldSeparator","quoteStrings","decimalSeparator","showLabels","showTitle","useBom","generateCsv","exportExcelRaw","header","columns_2","columns_2_1","ws","XLSX.utils","json_to_sheet","wb","Sheets","data","SheetNames","excelBuffer","XLSX.write","bookType","mergePDF","urls","loadExportedItems","window","URL","createObjectURL","replace","undefined","setAttribute","style","visibility","console","defineProperty","prototype","user","Injectable","providedIn","SdApiService","SdUtilityService","SdNotifyService","Inject","Optional"],"mappings":"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","sourcesContent":["import { InjectionToken } from '@angular/core';\r\n\r\nexport interface ExportTemplate {\r\n fileName?: string;\r\n columns: ExportTempateColumn[];\r\n sheets?: {\r\n name: string,\r\n items: any[],\r\n fields: string[]\r\n }[];\r\n}\r\n\r\nexport interface ExportTempateColumn {\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: ExportTempateColumn[];\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 interface IExportConfiguration {\r\n firebaseUrl: string;\r\n folder: string | (() => string);\r\n token?: string;\r\n user?: {\r\n folder: string | (() => string);\r\n }\r\n groups?: {\r\n code: string;\r\n folder: string | (() => string);\r\n permission: GroupPermission | (() => GroupPermission);\r\n }[];\r\n}\r\n\r\nexport type GroupPermission = 'view' | 'add' | 'delete';\r\n\r\nexport const API = {\r\n generateTemplate: '/excel/generateTemplate',\r\n uploadTemplate: '/excel/uploadTemplate',\r\n generateUploadTemplate: '/excel/generateUploadTemplate',\r\n export: '/excel/export',\r\n downloadByTemplate: '/excel/downloadByTemplate',\r\n filesInFolder: '/excel/filesInFolder',\r\n removeFile: '/excel/remove',\r\n sdExport: '/excel/sd-export',\r\n sdExportByTemplate: '/excel/sd-export-by-template',\r\n sdMergePDF: '/excel/sd-merge-pdf',\r\n sdGenerateTemplate: '/excel/sd-generate-template',\r\n};\r\n\r\nexport const EXPORT_CONFIG = new InjectionToken<IExportConfiguration>('export.configuration');\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 * as XLSX from 'xlsx';\r\nimport { ExportTemplate, IExportConfiguration, EXPORT_CONFIG, IExportOption, API, SdExportFile } from './export.model';\r\nimport { SdNotifyService } from '@sd-angular/core/notify';\r\nimport { SdUtilityService } from '@sd-angular/core/utility';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SdExportService {\r\n get hasConfiguration() {\r\n return !!this.configuration?.firebaseUrl;\r\n }\r\n constructor(\r\n private apiService: SdApiService,\r\n private utilityService: SdUtilityService,\r\n private notifyService: SdNotifyService,\r\n @Inject(EXPORT_CONFIG) @Optional() private configuration: IExportConfiguration) {\r\n }\r\n\r\n private get folder() {\r\n const { folder } = this.configuration;\r\n if (typeof (folder) === 'string') {\r\n return folder;\r\n }\r\n return folder();\r\n }\r\n\r\n private get userFolder() {\r\n const { user } = this.configuration;\r\n if (!user?.folder) {\r\n return;\r\n }\r\n const { folder } = user;\r\n if (typeof (folder) === 'string') {\r\n return folder;\r\n }\r\n return folder();\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: ExportTemplate) => {\r\n const { firebaseUrl } = this.configuration;\r\n const { sdGenerateTemplate } = API;\r\n const url = `${firebaseUrl}${sdGenerateTemplate}`;\r\n // const { filePath, fileName } = await this.apiService.post(url, template);\r\n // return { filePath, fileName };\r\n const buffer = await this.apiService.post(url, template, null, {\r\n responseType: 'arraybuffer'\r\n });\r\n const blob = new Blob([buffer], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;base64,' });\r\n this.#blobToSaveAs(blob, template.fileName || 'Template');\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 { firebaseUrl } = this.configuration;\r\n const { uploadTemplate } = API;\r\n const url = `${firebaseUrl}${uploadTemplate}?${this.#directory(key, group)}`;\r\n const file = await this.utilityService.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: ExportTemplate;\r\n group?: string;\r\n }) => {\r\n const { key, template, group } = args;\r\n const { firebaseUrl } = this.configuration;\r\n const { generateUploadTemplate } = API;\r\n const url = `${firebaseUrl}${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 { firebaseUrl } = this.configuration;\r\n const { removeFile } = API;\r\n const url = `${firebaseUrl}${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 { firebaseUrl } = this.configuration;\r\n const { filesInFolder } = API;\r\n const url = `${firebaseUrl}${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 { firebaseUrl } = this.configuration;\r\n const { sdExportByTemplate } = API;\r\n const url = `${firebaseUrl}${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 this.#blobToSaveAs(blob, fileName);\r\n }\r\n\r\n export = async (option: IExportOption) => {\r\n const { firebaseUrl } = this.configuration;\r\n const { sdExport } = API;\r\n const url = `${firebaseUrl}${sdExport}`;\r\n const buffer = await this.apiService.post(url, option, null, {\r\n responseType: 'arraybuffer'\r\n });\r\n const blob = new Blob([buffer], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;base64,' });\r\n this.#blobToSaveAs(blob, option?.fileName);\r\n }\r\n\r\n // exportCSV = async (option: IExportOption) => {\r\n // const { columns, items, fileName } = option;\r\n // const options = {\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 // noDownload: false,\r\n // useHeader: false,\r\n // nullToEmptyString: true,\r\n // };\r\n // const headerCSV = {};\r\n // for (const column of columns) {\r\n // headerCSV[column.field] = column.title;\r\n // }\r\n // return new AngularCsv([...[headerCSV], ...items], `${fileName || 'CSV'}_${Date.toFormat(new Date(), 'yyyy-MM-dd-HH-mm-ss')}`, options);\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 exportExcelRaw = async (option: IExportOption) => {\r\n const { columns, items, fileName } = option;\r\n const header = {};\r\n for (const column of columns) {\r\n header[column.field] = column.title;\r\n }\r\n const ws: XLSX.WorkSheet = XLSX.utils.json_to_sheet([header, ...items]);\r\n const wb: XLSX.WorkBook = { Sheets: { data: ws }, SheetNames: ['data'] };\r\n const excelBuffer: any = XLSX.write(wb, { bookType: 'xlsx', type: 'array' });\r\n const blob = new Blob([excelBuffer], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=UTF-8' });\r\n this.#blobToSaveAs(blob, fileName);\r\n }\r\n\r\n mergePDF = async (urls: string[]) => {\r\n const { firebaseUrl } = this.configuration;\r\n const { sdMergePDF } = API;\r\n const url = `${firebaseUrl}${sdMergePDF}`;\r\n const buffer = await this.apiService.post(url, {\r\n urls\r\n }, null, {\r\n responseType: 'arraybuffer'\r\n });\r\n const blob = new Blob([buffer], { type: 'application/pdf' });\r\n this.#blobToSaveAs(blob, `${uuid.v4()}`);\r\n }\r\n\r\n loadExportedItems = async (items: (pageSize: number, pageNumber: number) => { total: number, }) => {\r\n\r\n }\r\n\r\n #blobToSaveAs = (blob: Blob, fileName: string = 'Export') => {\r\n try {\r\n const url = window.URL.createObjectURL(blob);\r\n const link = document.createElement('a');\r\n fileName = fileName.replace(/.xlsx/i, '');\r\n fileName = fileName.replace(/.pdf/i, '');\r\n if (link.download !== undefined) { // feature detection\r\n link.setAttribute('href', url);\r\n link.setAttribute('download', `${fileName}_${new Date().toFormat('yyyy_MM_dd_HH_mm')}`);\r\n link.style.visibility = 'hidden';\r\n document.body.appendChild(link);\r\n link.click();\r\n document.body.removeChild(link);\r\n }\r\n } catch (e) {\r\n console.error('BlobToSaveAs error', e);\r\n }\r\n }\r\n}\r\n\r\nexport interface IExportInfo {\r\n data: any[];\r\n sheetName?: string;\r\n fileName?: string;\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","generateTemplate","uploadTemplate","generateUploadTemplate","export","downloadByTemplate","filesInFolder","removeFile","sdExport","sdExportByTemplate","sdMergePDF","sdGenerateTemplate","__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","__spread","arguments","concat","__classPrivateFieldGet","receiver","state","kind","has","get","SdExportService","apiService","utilityService","notifyService","firebaseConfiguration","_this","_directory","set","key","group","hashedFolder","hash","folder","userFolder","template","url","functionUrl","post","responseType","buffer","_b","blob","Blob","type","_blobToSaveAs","fileName","args","validator","upload","extensions","maxSizeInMb","file","_c","catch","err","notify","warning","message","filePath","res","_a","files","map","publicUrl","name","download","link","document","createElement","uuid.v4","href","appendChild","click","removeChild","exportByTemplate","columns","items","option","exportCSV","headerCSV","columns_1","columns_1_1","column","field","title","ExportToCsv","filename","Date","toFormat","fieldSeparator","quoteStrings","decimalSeparator","showLabels","showTitle","useBom","generateCsv","exportExcelRaw","header","columns_2","columns_2_1","ws","XLSX.utils","json_to_sheet","wb","Sheets","data","SheetNames","excelBuffer","XLSX.write","bookType","mergePDF","urls","loadExportedItems","window","URL","createObjectURL","replace","undefined","setAttribute","style","visibility","console","defineProperty","prototype","project","env","Injectable","providedIn","SdApiService","SdUtilityService","SdNotifyService","Inject","FIREBASE_CONFIG","Optional"],"mappings":"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","sourcesContent":["export interface ExportTemplate {\r\n fileName?: string;\r\n columns: ExportTempateColumn[];\r\n sheets?: {\r\n name: string,\r\n items: any[],\r\n fields: string[]\r\n }[];\r\n}\r\n\r\nexport interface ExportTempateColumn {\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: ExportTempateColumn[];\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 generateTemplate: '/excel/generateTemplate',\r\n uploadTemplate: '/excel/uploadTemplate',\r\n generateUploadTemplate: '/excel/generateUploadTemplate',\r\n export: '/excel/export',\r\n downloadByTemplate: '/excel/downloadByTemplate',\r\n filesInFolder: '/excel/filesInFolder',\r\n removeFile: '/excel/remove',\r\n sdExport: '/excel/sd-export',\r\n sdExportByTemplate: '/excel/sd-export-by-template',\r\n sdMergePDF: '/excel/sd-merge-pdf',\r\n sdGenerateTemplate: '/excel/sd-generate-template',\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 * as XLSX from 'xlsx';\r\nimport { ExportTemplate, IExportOption, API, SdExportFile } from './export.model';\r\nimport { SdNotifyService } from '@sd-angular/core/notify';\r\nimport { SdUtilityService } from '@sd-angular/core/utility';\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 hasConfiguration() {\r\n return !!this.firebaseConfiguration?.functionUrl;\r\n }\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 constructor(\r\n private apiService: SdApiService,\r\n private utilityService: SdUtilityService,\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: ExportTemplate) => {\r\n const { sdGenerateTemplate } = API;\r\n const url = `${this.functionUrl}${sdGenerateTemplate}`;\r\n const buffer = await this.apiService.post(url, template, null, {\r\n responseType: 'arraybuffer'\r\n });\r\n const blob = new Blob([buffer], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;base64,' });\r\n this.#blobToSaveAs(blob, template.fileName || 'Template');\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 this.utilityService.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: ExportTemplate;\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 this.#blobToSaveAs(blob, fileName);\r\n }\r\n\r\n export = async (option: IExportOption) => {\r\n const { sdExport } = API;\r\n const url = `${this.functionUrl}${sdExport}`;\r\n const buffer = await this.apiService.post(url, option, null, {\r\n responseType: 'arraybuffer'\r\n });\r\n const blob = new Blob([buffer], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;base64,' });\r\n this.#blobToSaveAs(blob, option?.fileName);\r\n }\r\n\r\n // exportCSV = async (option: IExportOption) => {\r\n // const { columns, items, fileName } = option;\r\n // const options = {\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 // noDownload: false,\r\n // useHeader: false,\r\n // nullToEmptyString: true,\r\n // };\r\n // const headerCSV = {};\r\n // for (const column of columns) {\r\n // headerCSV[column.field] = column.title;\r\n // }\r\n // return new AngularCsv([...[headerCSV], ...items], `${fileName || 'CSV'}_${Date.toFormat(new Date(), 'yyyy-MM-dd-HH-mm-ss')}`, options);\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 exportExcelRaw = async (option: IExportOption) => {\r\n const { columns, items, fileName } = option;\r\n const header = {};\r\n for (const column of columns) {\r\n header[column.field] = column.title;\r\n }\r\n const ws: XLSX.WorkSheet = XLSX.utils.json_to_sheet([header, ...items]);\r\n const wb: XLSX.WorkBook = { Sheets: { data: ws }, SheetNames: ['data'] };\r\n const excelBuffer: any = XLSX.write(wb, { bookType: 'xlsx', type: 'array' });\r\n const blob = new Blob([excelBuffer], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=UTF-8' });\r\n this.#blobToSaveAs(blob, 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 const blob = new Blob([buffer], { type: 'application/pdf' });\r\n this.#blobToSaveAs(blob, `${uuid.v4()}`);\r\n }\r\n\r\n loadExportedItems = async (items: (pageSize: number, pageNumber: number) => { total: number, }) => {\r\n\r\n }\r\n\r\n #blobToSaveAs = (blob: Blob, fileName: string = 'Export') => {\r\n try {\r\n const url = window.URL.createObjectURL(blob);\r\n const link = document.createElement('a');\r\n fileName = fileName.replace(/.xlsx/i, '');\r\n fileName = fileName.replace(/.pdf/i, '');\r\n if (link.download !== undefined) { // feature detection\r\n link.setAttribute('href', url);\r\n link.setAttribute('download', `${fileName}_${new Date().toFormat('yyyy_MM_dd_HH_mm')}`);\r\n link.style.visibility = 'hidden';\r\n document.body.appendChild(link);\r\n link.click();\r\n document.body.removeChild(link);\r\n }\r\n } catch (e) {\r\n console.error('BlobToSaveAs error', e);\r\n }\r\n }\r\n}\r\n\r\nexport interface IExportInfo {\r\n data: any[];\r\n sheetName?: string;\r\n fileName?: string;\r\n}\r\n"]}
@@ -1 +1 @@
1
- {"__symbolic":"module","version":4,"metadata":{"IFirebaseConfiguration":{"__symbolic":"interface"},"FIREBASE_CONFIG":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":8,"character":35},"arguments":["sd.firebase.configuration"]},"IFormConfiguration":{"__symbolic":"interface"},"FORM_CONFIG":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":7,"character":31},"arguments":["sd.form.configuration"]},"SdFormControl":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"@angular/forms","name":"FormControl","line":2,"character":35},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"Object"},{"__symbolic":"reference","module":"@angular/forms","name":"ValidatorFn","line":9,"character":15},{"__symbolic":"reference","module":"@angular/forms","name":"AsyncValidatorFn","line":10,"character":20}]}],"markAsUntouched":[{"__symbolic":"method"}],"markAsTouched":[{"__symbolic":"method"}],"markAsPristine":[{"__symbolic":"method"}]}},"SdBrowserService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":2,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor"}]},"statics":{"ɵprov":{}}},"SdViewDefDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":2,"character":1},"arguments":[{"selector":"[sdViewDef]"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"TemplateRef","module":"@angular/core","arguments":[{"__symbolic":"reference","name":"any"}]}]}]}},"SdLetDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":1,"character":1},"arguments":[{"selector":"[sdLet]"}]}],"members":{"sdLet":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":5,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ViewContainerRef","line":12,"character":29},{"__symbolic":"reference","name":"TemplateRef","module":"@angular/core","arguments":[{"__symbolic":"reference","name":"any"}]}]}]}},"SdScrollDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":3,"character":1},"arguments":[{"selector":"[sdScroll]"}]}],"members":{"onMouseOver":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":8,"character":3},"arguments":["mouseover"]}]}],"onMouseOut":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":14,"character":3},"arguments":["mouseout"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":20,"character":24},{"__symbolic":"reference","module":"@angular/core","name":"Renderer2","line":21,"character":22},{"__symbolic":"reference","name":"SdBrowserService"}]}],"ngOnInit":[{"__symbolic":"method"}]}},"SdSuffixDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":2,"character":1},"arguments":[{"selector":"[sdSuffix]"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"TemplateRef","module":"@angular/core","arguments":[{"__symbolic":"reference","name":"any"}]}]}]}},"SdLabelDefDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":2,"character":1},"arguments":[{"selector":"[sdLabelDef]"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"TemplateRef","module":"@angular/core","arguments":[{"__symbolic":"reference","name":"any"}]}]}]}},"SdCommonModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":8,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":10,"character":4}],"declarations":[{"__symbolic":"reference","name":"SdViewDefDirective"},{"__symbolic":"reference","name":"SdLetDirective"},{"__symbolic":"reference","name":"SdScrollDirective"},{"__symbolic":"reference","name":"SdSuffixDirective"},{"__symbolic":"reference","name":"SdLabelDefDirective"}],"exports":[{"__symbolic":"reference","name":"SdViewDefDirective"},{"__symbolic":"reference","name":"SdLetDirective"},{"__symbolic":"reference","name":"SdScrollDirective"},{"__symbolic":"reference","name":"SdSuffixDirective"},{"__symbolic":"reference","name":"SdLabelDefDirective"}],"providers":[]}]}],"members":{}}},"origins":{"IFirebaseConfiguration":"./src/lib/configurations/firebase.configuration","FIREBASE_CONFIG":"./src/lib/configurations/firebase.configuration","IFormConfiguration":"./src/lib/configurations/form.configuration","FORM_CONFIG":"./src/lib/configurations/form.configuration","SdFormControl":"./src/lib/models/sd-form-control","SdBrowserService":"./src/lib/services/browser.service","SdViewDefDirective":"./src/lib/directives/view-def.directive","SdLetDirective":"./src/lib/directives/sd-let.directive","SdScrollDirective":"./src/lib/directives/sd-scroll.directive","SdSuffixDirective":"./src/lib/directives/sd-suffix.directive","SdLabelDefDirective":"./src/lib/directives/sd-lable.directive","SdCommonModule":"./src/lib/common.module"},"importAs":"@sd-angular/core/common"}
1
+ {"__symbolic":"module","version":4,"metadata":{"IFirebaseConfiguration":{"__symbolic":"interface"},"FIREBASE_CONFIG":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":9,"character":35},"arguments":["sd.firebase.configuration"]},"IFormConfiguration":{"__symbolic":"interface"},"FORM_CONFIG":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":7,"character":31},"arguments":["sd.form.configuration"]},"SdFormControl":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"@angular/forms","name":"FormControl","line":2,"character":35},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"Object"},{"__symbolic":"reference","module":"@angular/forms","name":"ValidatorFn","line":9,"character":15},{"__symbolic":"reference","module":"@angular/forms","name":"AsyncValidatorFn","line":10,"character":20}]}],"markAsUntouched":[{"__symbolic":"method"}],"markAsTouched":[{"__symbolic":"method"}],"markAsPristine":[{"__symbolic":"method"}]}},"SdBrowserService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":2,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor"}]},"statics":{"ɵprov":{}}},"SdViewDefDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":2,"character":1},"arguments":[{"selector":"[sdViewDef]"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"TemplateRef","module":"@angular/core","arguments":[{"__symbolic":"reference","name":"any"}]}]}]}},"SdLetDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":1,"character":1},"arguments":[{"selector":"[sdLet]"}]}],"members":{"sdLet":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":5,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ViewContainerRef","line":12,"character":29},{"__symbolic":"reference","name":"TemplateRef","module":"@angular/core","arguments":[{"__symbolic":"reference","name":"any"}]}]}]}},"SdScrollDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":3,"character":1},"arguments":[{"selector":"[sdScroll]"}]}],"members":{"onMouseOver":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":8,"character":3},"arguments":["mouseover"]}]}],"onMouseOut":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":14,"character":3},"arguments":["mouseout"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":20,"character":24},{"__symbolic":"reference","module":"@angular/core","name":"Renderer2","line":21,"character":22},{"__symbolic":"reference","name":"SdBrowserService"}]}],"ngOnInit":[{"__symbolic":"method"}]}},"SdSuffixDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":2,"character":1},"arguments":[{"selector":"[sdSuffix]"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"TemplateRef","module":"@angular/core","arguments":[{"__symbolic":"reference","name":"any"}]}]}]}},"SdLabelDefDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":2,"character":1},"arguments":[{"selector":"[sdLabelDef]"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"TemplateRef","module":"@angular/core","arguments":[{"__symbolic":"reference","name":"any"}]}]}]}},"SdCommonModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":8,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":10,"character":4}],"declarations":[{"__symbolic":"reference","name":"SdViewDefDirective"},{"__symbolic":"reference","name":"SdLetDirective"},{"__symbolic":"reference","name":"SdScrollDirective"},{"__symbolic":"reference","name":"SdSuffixDirective"},{"__symbolic":"reference","name":"SdLabelDefDirective"}],"exports":[{"__symbolic":"reference","name":"SdViewDefDirective"},{"__symbolic":"reference","name":"SdLetDirective"},{"__symbolic":"reference","name":"SdScrollDirective"},{"__symbolic":"reference","name":"SdSuffixDirective"},{"__symbolic":"reference","name":"SdLabelDefDirective"}],"providers":[]}]}],"members":{}}},"origins":{"IFirebaseConfiguration":"./src/lib/configurations/firebase.configuration","FIREBASE_CONFIG":"./src/lib/configurations/firebase.configuration","IFormConfiguration":"./src/lib/configurations/form.configuration","FORM_CONFIG":"./src/lib/configurations/form.configuration","SdFormControl":"./src/lib/models/sd-form-control","SdBrowserService":"./src/lib/services/browser.service","SdViewDefDirective":"./src/lib/directives/view-def.directive","SdLetDirective":"./src/lib/directives/sd-let.directive","SdScrollDirective":"./src/lib/directives/sd-scroll.directive","SdSuffixDirective":"./src/lib/directives/sd-suffix.directive","SdLabelDefDirective":"./src/lib/directives/sd-lable.directive","SdCommonModule":"./src/lib/common.module"},"importAs":"@sd-angular/core/common"}
@@ -3,5 +3,6 @@ export interface IFirebaseConfiguration {
3
3
  functionUrl: string;
4
4
  project: string;
5
5
  env: string;
6
+ folder?: string | (() => string);
6
7
  }
7
8
  export declare const FIREBASE_CONFIG: InjectionToken<IFirebaseConfiguration>;
@@ -1,3 +1,3 @@
1
1
  import { InjectionToken } from "@angular/core";
2
2
  export const FIREBASE_CONFIG = new InjectionToken('sd.firebase.configuration');
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlyZWJhc2UuY29uZmlndXJhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiJDOi9Vc2Vycy9uZ2hpYXR0MTVfb25lbW91bnQvRG9jdW1lbnRzL2xpYi1jb3JlLXVpL3Byb2plY3RzL3NkLWNvcmUvY29tbW9uLyIsInNvdXJjZXMiOlsic3JjL2xpYi9jb25maWd1cmF0aW9ucy9maXJlYmFzZS5jb25maWd1cmF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFRL0MsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLElBQUksY0FBYyxDQUF5QiwyQkFBMkIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJRmlyZWJhc2VDb25maWd1cmF0aW9uIHtcclxuICBmdW5jdGlvblVybDogc3RyaW5nO1xyXG4gIHByb2plY3Q6IHN0cmluZztcclxuICBlbnY6IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGNvbnN0IEZJUkVCQVNFX0NPTkZJRyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxJRmlyZWJhc2VDb25maWd1cmF0aW9uPignc2QuZmlyZWJhc2UuY29uZmlndXJhdGlvbicpOyJdfQ==
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlyZWJhc2UuY29uZmlndXJhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiJDOi9Vc2Vycy9uZ2hpYXR0MTVfb25lbW91bnQvRG9jdW1lbnRzL2xpYi1jb3JlLXVpL3Byb2plY3RzL3NkLWNvcmUvY29tbW9uLyIsInNvdXJjZXMiOlsic3JjL2xpYi9jb25maWd1cmF0aW9ucy9maXJlYmFzZS5jb25maWd1cmF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFTL0MsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLElBQUksY0FBYyxDQUF5QiwyQkFBMkIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJRmlyZWJhc2VDb25maWd1cmF0aW9uIHtcclxuICBmdW5jdGlvblVybDogc3RyaW5nO1xyXG4gIHByb2plY3Q6IHN0cmluZztcclxuICBlbnY6IHN0cmluZztcclxuICBmb2xkZXI/OiBzdHJpbmcgfCAoKCkgPT4gc3RyaW5nKTtcclxufVxyXG5cclxuZXhwb3J0IGNvbnN0IEZJUkVCQVNFX0NPTkZJRyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxJRmlyZWJhc2VDb25maWd1cmF0aW9uPignc2QuZmlyZWJhc2UuY29uZmlndXJhdGlvbicpOyJdfQ==
@@ -27,7 +27,12 @@ export class SdDbService {
27
27
  };
28
28
  });
29
29
  _getKey.set(this, (id, args) => {
30
- const configuration = Object.assign(Object.assign({}, this.firebaseConfiguration), args);
30
+ var _a, _b, _c;
31
+ const configuration = {
32
+ functionUrl: ((_a = this.firebaseConfiguration) === null || _a === void 0 ? void 0 : _a.functionUrl) || (args === null || args === void 0 ? void 0 : args.functionUrl),
33
+ project: ((_b = this.firebaseConfiguration) === null || _b === void 0 ? void 0 : _b.project) || (args === null || args === void 0 ? void 0 : args.project),
34
+ env: ((_c = this.firebaseConfiguration) === null || _c === void 0 ? void 0 : _c.env) || (args === null || args === void 0 ? void 0 : args.env)
35
+ };
31
36
  return hash(Object.assign({ id }, configuration));
32
37
  });
33
38
  this.register = (collection, option) => {
@@ -111,4 +116,4 @@ SdDbService.ctorParameters = () => [
111
116
  { type: SdApiService },
112
117
  { type: undefined, decorators: [{ type: Inject, args: [FIREBASE_CONFIG,] }, { type: Optional }] }
113
118
  ];
114
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJDOi9Vc2Vycy9uZ2hpYXR0MTVfb25lbW91bnQvRG9jdW1lbnRzL2xpYi1jb3JlLXVpL3Byb2plY3RzL3NkLWNvcmUvZGIvIiwic291cmNlcyI6WyJzcmMvbGliL2RiLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sSUFBSSxNQUFNLGFBQWEsQ0FBQztBQUMvQixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDcEQsT0FBTyxFQUFFLGVBQWUsRUFBMEIsTUFBTSx5QkFBeUIsQ0FBQzs7OztBQU1sRixNQUFNLE9BQU8sV0FBVztJQUl0QixZQUNVLFVBQXdCLEVBQ2EscUJBQTZDO1FBRGxGLGVBQVUsR0FBVixVQUFVLENBQWM7UUFDYSwwQkFBcUIsR0FBckIscUJBQXFCLENBQXdCO1FBRTVGLGlCQUE4QixFQUFFLEVBQUM7UUFFakMsa0JBQVUsQ0FBQyxJQUErRCxFQUFFLEVBQUU7WUFDNUUsTUFBTSxhQUFhLG1DQUNkLElBQUksQ0FBQyxxQkFBcUIsR0FDMUIsSUFBSSxDQUNSLENBQUM7WUFDRixNQUFNLEVBQUUsV0FBVyxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsR0FBRyxhQUFhLENBQUM7WUFDcEQsSUFBSSxDQUFDLFdBQVcsSUFBSSxDQUFDLE9BQU8sSUFBSSxDQUFDLEdBQUcsRUFBRTtnQkFDcEMsTUFBTSxJQUFJLEtBQUssQ0FBQyxvQ0FBb0MsQ0FBQyxDQUFDO2FBQ3ZEO1lBQ0QsT0FBTztnQkFDTCxJQUFJLEVBQUUsR0FBRyxXQUFXLFlBQVksT0FBTyxJQUFJLEdBQUcsRUFBRTtnQkFDaEQsR0FBRyxFQUFFLEdBQUcsV0FBVyxXQUFXLE9BQU8sSUFBSSxHQUFHLEVBQUU7Z0JB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Y0FBYyxFQUFFLENBQUM7WUFDMUcsTUFBTSxRQUFRLEdBQUcsTUFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBYSxPQUFPLENBQUMsQ0FBQztZQUNoRSxNQUFNLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLFlBQVksRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDNUQsQ0FBQyxDQUFBLENBQUE7SUFuSUQsQ0FBQztJQU5ELElBQUksZ0JBQWdCOztRQUNsQixPQUFPLENBQUMsUUFBQyxJQUFJLENBQUMscUJBQXFCLDBDQUFFLFdBQVcsQ0FBQSxJQUFJLENBQUMsUUFBQyxJQUFJLENBQUMscUJBQXFCLDBDQUFFLE9BQU8sQ0FBQSxJQUFJLENBQUMsUUFBQyxJQUFJLENBQUMscUJBQXFCLDBDQUFFLEdBQUcsQ0FBQSxDQUFDO0lBQ2pJLENBQUM7Ozs7O1lBTkYsVUFBVSxTQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25COzs7WUFOUSxZQUFZOzRDQWFoQixNQUFNLFNBQUMsZUFBZSxjQUFHLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IGhhc2ggZnJvbSAnb2JqZWN0LWhhc2gnO1xyXG5pbXBvcnQgeyBTZEFwaVNlcnZpY2UgfSBmcm9tICdAc2QtYW5ndWxhci9jb3JlL2FwaSc7XHJcbmltcG9ydCB7IEZJUkVCQVNFX0NPTkZJRywgSUZpcmViYXNlQ29uZmlndXJhdGlvbiB9IGZyb20gJ0BzZC1hbmd1bGFyL2NvcmUvY29tbW9uJztcclxuaW1wb3J0IHsgU2REYlF1ZXJ5LCBTZERiUmVnaXN0ZXIsIFNkRGJSZXMsIFNkUmVnaXN0ZXJPcHRpb24gfSBmcm9tICcuL2RiLm1vZGVsJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFNkRGJTZXJ2aWNlIHtcclxuICBnZXQgaGFzQ29uZmlndXJhdGlvbigpIHtcclxuICAgIHJldHVybiAhIXRoaXMuZmlyZWJhc2VDb25maWd1cmF0aW9uPy5mdW5jdGlvblVybCAmJiAhIXRoaXMuZmlyZWJhc2VDb25maWd1cmF0aW9uPy5wcm9qZWN0ICYmICEhdGhpcy5maXJlYmFzZUNvbmZpZ3VyYXRpb24/LmVudjtcclxuICB9XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGFwaVNlcnZpY2U6IFNkQXBpU2VydmljZSxcclxuICAgIEBJbmplY3QoRklSRUJBU0VfQ09ORklHKSBAT3B0aW9uYWwoKSBwcml2YXRlIGZpcmViYXNlQ29uZmlndXJhdGlvbjogSUZpcmViYXNlQ29uZmlndXJhdGlvbikge1xyXG4gIH1cclxuICAjY2FjaGU6IFJlY29yZDxzdHJpbmcsIGFueT4gPSB7fTtcclxuXHJcbiAgI2dldFVybCA9IChhcmdzPzogeyBmdW5jdGlvblVybD86IHN0cmluZzsgcHJvamVjdD86IHN0cmluZzsgZW52Pzogc3RyaW5nIH0pID0+IHtcclxuICAgIGNvbnN0IGNvbmZpZ3VyYXRpb24gPSB7XHJcbiAgICAgIC4uLnRoaXMuZmlyZWJhc2VDb25maWd1cmF0aW9uLFxyXG4gICAgICAuLi5hcmdzXHJcbiAgICB9O1xyXG4gICAgY29uc3QgeyBmdW5jdGlvblVybCwgcHJvamVjdCwgZW52IH0gPSBjb25maWd1cmF0aW9uO1xyXG4gICAgaWYgKCFmdW5jdGlvblVybCB8fCAhcHJvamVjdCB8fCAhZW52KSB7XHJcbiAgICAgIHRocm93IG5ldyBFcnJvcignTm8gZmlyZWJhc2UgZnVuY3Rpb24gY29uZmlndXJhdGlvbicpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHtcclxuICAgICAgZmluZDogYCR7ZnVuY3Rpb25Vcmx9L2RiL2ZpbmQvJHtwcm9qZWN0fS8ke2Vudn1gLFxyXG4gICAgICBnZXQ6IGAke2Z1bmN0aW9uVXJsfS9kYi9nZXQvJHtwcm9qZWN0fS8ke2Vudn1gLFxyXG4gICAgICBzZXQ6IGAke2Z1bmN0aW9uVXJsfS9kYi9zZXQvJHtwcm9qZWN0fS8ke2Vudn1gLFxyXG4gICAgICByZW1vdmU6IGAke2Z1bmN0aW9uVXJsfS9kYi9yZW1vdmUvJHtwcm9qZWN0fS8ke2Vudn1gXHJcbiAgICB9O1xyXG4gIH1cclxuICAjZ2V0S2V5ID0gKGlkOiBzdHJpbmcsIGFyZ3M/OiB7IGZ1bmN0aW9uVXJsPzogc3RyaW5nOyBwcm9qZWN0Pzogc3RyaW5nOyBlbnY/OiBzdHJpbmcgfSkgPT4ge1xyXG4gICAgY29uc3QgY29uZmlndXJhdGlvbiA9IHtcclxuICAgICAgLi4udGhpcy5maXJlYmFzZUNvbmZpZ3VyYXRpb24sXHJcbiAgICAgIC4uLmFyZ3NcclxuICAgIH07XHJcbiAgICByZXR1cm4gaGFzaCh7XHJcbiAgICAgIGlkLFxyXG4gICAgICAuLi5jb25maWd1cmF0aW9uXHJcbiAgICB9KTtcclxuICB9XHJcbiAgcmVnaXN0ZXIgPSA8VCA9IGFueT4oY29sbGVjdGlvbjogc3RyaW5nLCBvcHRpb24/OiBTZFJlZ2lzdGVyT3B0aW9uKTogU2REYlJlZ2lzdGVyPFQ+ID0+IHtcclxuICAgIGNvbnN0IHsgY2FjaGVhYmxlIH0gPSBvcHRpb24gfHwge307XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBnZXQ6IGFzeW5jIChpZDogc3RyaW5nKSA9PiB7XHJcbiAgICAgICAgY29uc3Qga2V5ID0gdGhpcy4jZ2V0S2V5KGlkLCBvcHRpb24pO1xyXG4gICAgICAgIGlmICghY2FjaGVhYmxlIHx8ICF0aGlzLiNjYWNoZVtrZXldKSB7XHJcbiAgICAgICAgICB0aGlzLiNjYWNoZVtrZXldID0gYXdhaXQgdGhpcy5nZXQoY29sbGVjdGlvbiwgaWQsIG9wdGlvbik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHRoaXMuI2NhY2hlW2tleV0pKTtcclxuICAgICAgfSxcclxuICAgICAgc2V0OiAoaWQ6IHN0cmluZywgZGF0YTogVCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IGtleSA9IHRoaXMuI2dldEtleShpZCwgb3B0aW9uKTtcclxuICAgICAgICBkZWxldGUgdGhpcy4jY2FjaGVba2V5XTtcclxuICAgICAgICByZXR1cm4gdGhpcy5zZXQoY29sbGVjdGlvbiwgaWQsIGRhdGEsIG9wdGlvbik7XHJcbiAgICAgIH0sXHJcbiAgICAgIHJlbW92ZTogKGlkOiBzdHJpbmcpID0+IHtcclxuICAgICAgICBjb25zdCBrZXkgPSB0aGlzLiNnZXRLZXkoaWQsIG9wdGlvbik7XHJcbiAgICAgICAgZGVsZXRlIHRoaXMuI2NhY2hlW2tleV07XHJcbiAgICAgICAgcmV0dXJuIHRoaXMucmVtb3ZlKGNvbGxlY3Rpb24sIGlkLCBvcHRpb24pO1xyXG4gICAgICB9LFxyXG4gICAgICBmaW5kOiAocXVlcnk/OiBTZERiUXVlcnkpID0+IHRoaXMuZmluZChjb2xsZWN0aW9uLCBxdWVyeSwgb3B0aW9uKSxcclxuICAgICAgY29weTogKFxyXG4gICAgICAgIHNvdXJjZToge1xyXG4gICAgICAgICAgZnVuY3Rpb25Vcmw/OiBzdHJpbmcsXHJcbiAgICAgICAgICBwcm9qZWN0Pzogc3RyaW5nLFxyXG4gICAgICAgICAgZW52OiBzdHJpbmcsXHJcbiAgICAgICAgICBmcm9tSWQ6IHN0cmluZ1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgdG9JZDogc3RyaW5nKSA9PiB7XHJcbiAgICAgICAgY29uc3Qga2V5ID0gdGhpcy4jZ2V0S2V5KHRvSWQsIG9wdGlvbik7XHJcbiAgICAgICAgZGVsZXRlIHRoaXMuI2NhY2hlW2tleV07XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuY29weShjb2xsZWN0aW9uLCBzb3VyY2UsIHRvSWQsIG9wdGlvbik7XHJcbiAgICAgIH1cclxuICAgIH07XHJcbiAgfVxyXG5cclxuICBnZXQgPSBhc3luYyA8VCA9IGFueT4oY29sbGVjdGlvbjogc3RyaW5nLCBpZDogc3RyaW5nLCBvcHRpb24/OiBTZFJlZ2lzdGVyT3B0aW9uKTogUHJvbWlzZTxTZERiUmVzPFQ+PiA9PiB7XHJcbiAgICBjb25zdCB1cmwgPSBgJHt0aGlzLiNnZXRVcmwob3B0aW9uKS5nZXR9LyR7Y29sbGVjdGlvbn0vJHtpZH1gO1xyXG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuYXBpU2VydmljZS5nZXQodXJsKTtcclxuICB9XHJcblxyXG4gIHNldCA9IGFzeW5jIDxUID0gYW55Pihjb2xsZWN0aW9uOiBzdHJpbmcsIGlkOiBzdHJpbmcsIGRhdGE6IFQsIG9wdGlvbj86IFNkUmVnaXN0ZXJPcHRpb24pOiBQcm9taXNlPHZvaWQ+ID0+IHtcclxuICAgIGNvbnN0IHVybCA9IGAke3RoaXMuI2dldFVybChvcHRpb24pLnNldH0vJHtjb2xsZWN0aW9ufS8ke2lkfWA7XHJcbiAgICBhd2FpdCB0aGlzLmFwaVNlcnZpY2UucG9zdCh1cmwsIGRhdGEpO1xyXG4gIH1cclxuXHJcbiAgcmVtb3ZlID0gYXN5bmMgKGNvbGxlY3Rpb246IHN0cmluZywgaWQ6IHN0cmluZywgb3B0aW9uPzogU2RSZWdpc3Rlck9wdGlvbik6IFByb21pc2U8dm9pZD4gPT4ge1xyXG4gICAgY29uc3QgdXJsID0gYCR7dGhpcy4jZ2V0VXJsKG9wdGlvbikucmVtb3ZlfS8ke2NvbGxlY3Rpb259LyR7aWR9YDtcclxuICAgIGF3YWl0IHRoaXMuYXBpU2VydmljZS5kZWxldGUodXJsKTtcclxuICB9XHJcblxyXG4gIGZpbmQgPSBhc3luYyA8VCA9IGFueT4oXHJcbiAgICBjb2xsZWN0aW9uOiBzdHJpbmcsXHJcbiAgICBxdWVyeT86IFNkRGJRdWVyeSxcclxuICAgIG9wdGlvbj86IFNkUmVnaXN0ZXJPcHRpb24pOiBQcm9taXNlPFNkRGJSZXM8KFQgJiB7IGRvY3VtZW50SWQ6IHN0cmluZyB9KVtdPj4gPT4ge1xyXG4gICAgY29uc3QgdXJsID0gYCR7dGhpcy4jZ2V0VXJsKG9wdGlvbikuZmluZH0vJHtjb2xsZWN0aW9ufWA7XHJcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5hcGlTZXJ2aWNlLnBvc3QodXJsLCBxdWVyeSk7XHJcbiAgfVxyXG5cclxuICBjb3B5ID0gYXN5bmMgPFQgPSBhbnk+KFxyXG4gICAgY29sbGVjdGlvbjogc3RyaW5nLFxyXG4gICAgc291cmNlOiB7XHJcbiAgICAgIGZ1bmN0aW9uVXJsPzogc3RyaW5nLFxyXG4gICAgICBwcm9qZWN0Pzogc3RyaW5nLFxyXG4gICAgICBlbnY6IHN0cmluZyxcclxuICAgICAgZnJvbUlkOiBzdHJpbmdcclxuICAgIH0sXHJcbiAgICB0b0lkOiBzdHJpbmcsXHJcbiAgICBvcHRpb24/OiBTZFJlZ2lzdGVyT3B0aW9uKTogUHJvbWlzZTx2b2lkPiA9PiB7XHJcbiAgICBjb25zdCByZXMgPSBhd2FpdCB0aGlzLmdldDxUPihjb2xsZWN0aW9uLCBzb3VyY2UuZnJvbUlkLCB7XHJcbiAgICAgIC4uLm9wdGlvbixcclxuICAgICAgLi4uc291cmNlXHJcbiAgICB9KTtcclxuICAgIHJldHVybiBhd2FpdCB0aGlzLnNldDxUPihjb2xsZWN0aW9uLCB0b0lkLCByZXMuZGF0YSwgb3B0aW9uKTtcclxuICB9XHJcblxyXG4gIGNsb25lID0gYXN5bmM8VCA9IGFueT4oXHJcbiAgICBhcmdzOiB7XHJcbiAgICAgIGNvbGxlY3Rpb24/OiBzdHJpbmcsXHJcbiAgICAgIGRvY3VtZW50SWQ/OiBzdHJpbmdcclxuICAgIH0sXHJcbiAgICBmcm9tOiB7XHJcbiAgICAgIGZ1bmN0aW9uVXJsPzogc3RyaW5nLFxyXG4gICAgICBwcm9qZWN0Pzogc3RyaW5nLFxyXG4gICAgICBlbnY6IHN0cmluZyxcclxuICAgICAgY29sbGVjdGlvbjogc3RyaW5nLFxyXG4gICAgICBkb2N1bWVudElkOiBzdHJpbmdcclxuICAgIH0pID0+IHtcclxuICAgIGlmICghdGhpcy5oYXNDb25maWd1cmF0aW9uKSB7XHJcbiAgICAgIHRocm93IG5ldyBFcnJvcignTm8gZmlyZWJhc2UgZnVuY3Rpb24gY29uZmlndXJhdGlvbicpO1xyXG4gICAgfVxyXG4gICAgY29uc3QgeyBmdW5jdGlvblVybCwgcHJvamVjdCwgZW52IH0gPSB0aGlzLmZpcmViYXNlQ29uZmlndXJhdGlvbjtcclxuICAgIGNvbnN0IGZyb21GdW5jdGlvblVybCA9IGZyb20/LmZ1bmN0aW9uVXJsIHx8IGZ1bmN0aW9uVXJsO1xyXG4gICAgY29uc3QgZnJvbVByb2plY3QgPSBmcm9tPy5wcm9qZWN0IHx8IHByb2plY3Q7XHJcbiAgICBjb25zdCBmcm9tRW52ID0gZnJvbT8uZW52O1xyXG4gICAgY29uc3QgZnJvbUNvbGxlY3Rpb24gPSBmcm9tPy5jb2xsZWN0aW9uO1xyXG4gICAgY29uc3QgZnJvbURvY3VtZW50SWQgPSBmcm9tPy5kb2N1bWVudElkO1xyXG4gICAgY29uc3QgdG9Db2xsZWN0aW9uID0gYXJncz8uY29sbGVjdGlvbiB8fCBmcm9tPy5jb2xsZWN0aW9uO1xyXG4gICAgY29uc3QgdG9Eb2N1bWVudElkID0gYXJncz8uZG9jdW1lbnRJZCB8fCBmcm9tPy5kb2N1bWVudElkO1xyXG4gICAgY29uc3QgZnJvbVVybCA9IGAke2Zyb21GdW5jdGlvblVybH0vZGIvZ2V0LyR7ZnJvbVByb2plY3R9LyR7ZnJvbUVudn0vJHtmcm9tQ29sbGVjdGlvbn0vJHtmcm9tRG9jdW1lbnRJZH1gO1xyXG4gICAgY29uc3QgZG9jdW1lbnQgPSBhd2FpdCB0aGlzLmFwaVNlcnZpY2UuZ2V0PFNkRGJSZXM8VD4+KGZyb21VcmwpO1xyXG4gICAgYXdhaXQgdGhpcy5zZXQodG9Db2xsZWN0aW9uLCB0b0RvY3VtZW50SWQsIGRvY3VtZW50LmRhdGEpO1xyXG4gIH1cclxufVxyXG4iXX0=
119
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJDOi9Vc2Vycy9uZ2hpYXR0MTVfb25lbW91bnQvRG9jdW1lbnRzL2xpYi1jb3JlLXVpL3Byb2plY3RzL3NkLWNvcmUvZGIvIiwic291cmNlcyI6WyJzcmMvbGliL2RiLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sSUFBSSxNQUFNLGFBQWEsQ0FBQztBQUMvQixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDcEQsT0FBTyxFQUFFLGVBQWUsRUFBMEIsTUFBTSx5QkFBeUIsQ0FBQzs7OztBQU1sRixNQUFNLE9BQU8sV0FBVztJQUl0QixZQUNVLFVBQXdCLEVBQ2EscUJBQTZDO1FBRGxGLGVBQVUsR0FBVixVQUFVLENBQWM7UUFDYSwwQkFBcUIsR0FBckIscUJBQXFCLENBQXdCO1FBRTVGLGlCQUE4QixFQUFFLEVBQUM7UUFFakMsa0JBQVUsQ0FBQyxJQUErRCxFQUFFLEVBQUU7WUFDNUUsTUFBTSxhQUFhLG1DQUNkLElBQUksQ0FBQyxxQkFBcUIsR0FDMUIsSUFBSSxDQUNSLENBQUM7WUFDRixNQUFNLEVBQUUsV0FBVyxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsR0FBRyxhQUFhLENBQUM7WUFDcEQsSUFBSSxDQUFDLFdBQVcsSUFBSSxDQUFDLE9BQU8sSUFBSSxDQUFDLEdBQUcsRUFBRTtnQkFDcEMsTUFBTSxJQUFJLEtBQUssQ0FBQyxvQ0FBb0MsQ0FBQyxDQUFDO2FBQ3ZEO1lBQ0QsT0FBTztnQkFDTCxJQUFJLEVBQUUsR0FBRyxXQUFXLFlBQVksT0FBTyxJQUFJLEdBQUcsRUFBRTtnQkFDaEQsR0FBRyxFQUFFLEdBQUcsV0FBVyxXQUFXLE9BQU8sSUFBSSxHQUFHLEVBQUU7Z0JB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YUFBSixJQUFJLHVCQUFKLElBQUksQ0FBRSxVQUFVLE1BQUksSUFBSSxhQUFKLElBQUksdUJBQUosSUFBSSxDQUFFLFVBQVUsQ0FBQSxDQUFDO1lBQzFELE1BQU0sWUFBWSxHQUFHLENBQUEsSUFBSSxhQUFKLElBQUksdUJBQUosSUFBSSxDQUFFLFVBQVUsTUFBSSxJQUFJLGFBQUosSUFBSSx1QkFBSixJQUFJLENBQUUsVUFBVSxDQUFBLENBQUM7WUFDMUQsTUFBTSxPQUFPLEdBQUcsR0FBRyxlQUFlLFdBQVcsV0FBVyxJQUFJLE9BQU8sSUFBSSxjQUFjLElBQUksY0FBYyxFQUFFLENBQUM7WUFDMUcsTUFBTSxRQUFRLEdBQUcsTUFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBYSxPQUFPLENBQUMsQ0FBQztZQUNoRSxNQUFNLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLFlBQVksRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDNUQsQ0FBQyxDQUFBLENBQUE7SUFwSUQsQ0FBQztJQU5ELElBQUksZ0JBQWdCOztRQUNsQixPQUFPLENBQUMsUUFBQyxJQUFJLENBQUMscUJBQXFCLDBDQUFFLFdBQVcsQ0FBQSxJQUFJLENBQUMsUUFBQyxJQUFJLENBQUMscUJBQXFCLDBDQUFFLE9BQU8sQ0FBQSxJQUFJLENBQUMsUUFBQyxJQUFJLENBQUMscUJBQXFCLDBDQUFFLEdBQUcsQ0FBQSxDQUFDO0lBQ2pJLENBQUM7Ozs7O1lBTkYsVUFBVSxTQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25COzs7WUFOUSxZQUFZOzRDQWFoQixNQUFNLFNBQUMsZUFBZSxjQUFHLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IGhhc2ggZnJvbSAnb2JqZWN0LWhhc2gnO1xyXG5pbXBvcnQgeyBTZEFwaVNlcnZpY2UgfSBmcm9tICdAc2QtYW5ndWxhci9jb3JlL2FwaSc7XHJcbmltcG9ydCB7IEZJUkVCQVNFX0NPTkZJRywgSUZpcmViYXNlQ29uZmlndXJhdGlvbiB9IGZyb20gJ0BzZC1hbmd1bGFyL2NvcmUvY29tbW9uJztcclxuaW1wb3J0IHsgU2REYlF1ZXJ5LCBTZERiUmVnaXN0ZXIsIFNkRGJSZXMsIFNkUmVnaXN0ZXJPcHRpb24gfSBmcm9tICcuL2RiLm1vZGVsJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFNkRGJTZXJ2aWNlIHtcclxuICBnZXQgaGFzQ29uZmlndXJhdGlvbigpIHtcclxuICAgIHJldHVybiAhIXRoaXMuZmlyZWJhc2VDb25maWd1cmF0aW9uPy5mdW5jdGlvblVybCAmJiAhIXRoaXMuZmlyZWJhc2VDb25maWd1cmF0aW9uPy5wcm9qZWN0ICYmICEhdGhpcy5maXJlYmFzZUNvbmZpZ3VyYXRpb24/LmVudjtcclxuICB9XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGFwaVNlcnZpY2U6IFNkQXBpU2VydmljZSxcclxuICAgIEBJbmplY3QoRklSRUJBU0VfQ09ORklHKSBAT3B0aW9uYWwoKSBwcml2YXRlIGZpcmViYXNlQ29uZmlndXJhdGlvbjogSUZpcmViYXNlQ29uZmlndXJhdGlvbikge1xyXG4gIH1cclxuICAjY2FjaGU6IFJlY29yZDxzdHJpbmcsIGFueT4gPSB7fTtcclxuXHJcbiAgI2dldFVybCA9IChhcmdzPzogeyBmdW5jdGlvblVybD86IHN0cmluZzsgcHJvamVjdD86IHN0cmluZzsgZW52Pzogc3RyaW5nIH0pID0+IHtcclxuICAgIGNvbnN0IGNvbmZpZ3VyYXRpb24gPSB7XHJcbiAgICAgIC4uLnRoaXMuZmlyZWJhc2VDb25maWd1cmF0aW9uLFxyXG4gICAgICAuLi5hcmdzXHJcbiAgICB9O1xyXG4gICAgY29uc3QgeyBmdW5jdGlvblVybCwgcHJvamVjdCwgZW52IH0gPSBjb25maWd1cmF0aW9uO1xyXG4gICAgaWYgKCFmdW5jdGlvblVybCB8fCAhcHJvamVjdCB8fCAhZW52KSB7XHJcbiAgICAgIHRocm93IG5ldyBFcnJvcignTm8gZmlyZWJhc2UgZnVuY3Rpb24gY29uZmlndXJhdGlvbicpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHtcclxuICAgICAgZmluZDogYCR7ZnVuY3Rpb25Vcmx9L2RiL2ZpbmQvJHtwcm9qZWN0fS8ke2Vudn1gLFxyXG4gICAgICBnZXQ6IGAke2Z1bmN0aW9uVXJsfS9kYi9nZXQvJHtwcm9qZWN0fS8ke2Vudn1gLFxyXG4gICAgICBzZXQ6IGAke2Z1bmN0aW9uVXJsfS9kYi9zZXQvJHtwcm9qZWN0fS8ke2Vudn1gLFxyXG4gICAgICByZW1vdmU6IGAke2Z1bmN0aW9uVXJsfS9kYi9yZW1vdmUvJHtwcm9qZWN0fS8ke2Vudn1gXHJcbiAgICB9O1xyXG4gIH1cclxuICAjZ2V0S2V5ID0gKGlkOiBzdHJpbmcsIGFyZ3M/OiB7IGZ1bmN0aW9uVXJsPzogc3RyaW5nOyBwcm9qZWN0Pzogc3RyaW5nOyBlbnY/OiBzdHJpbmcgfSkgPT4ge1xyXG4gICAgY29uc3QgY29uZmlndXJhdGlvbiA9IHtcclxuICAgICAgZnVuY3Rpb25Vcmw6IHRoaXMuZmlyZWJhc2VDb25maWd1cmF0aW9uPy5mdW5jdGlvblVybCB8fCBhcmdzPy5mdW5jdGlvblVybCxcclxuICAgICAgcHJvamVjdDogdGhpcy5maXJlYmFzZUNvbmZpZ3VyYXRpb24/LnByb2plY3QgfHwgYXJncz8ucHJvamVjdCxcclxuICAgICAgZW52OiB0aGlzLmZpcmViYXNlQ29uZmlndXJhdGlvbj8uZW52IHx8IGFyZ3M/LmVudlxyXG4gICAgfTtcclxuICAgIHJldHVybiBoYXNoKHtcclxuICAgICAgaWQsXHJcbiAgICAgIC4uLmNvbmZpZ3VyYXRpb25cclxuICAgIH0pO1xyXG4gIH1cclxuICByZWdpc3RlciA9IDxUID0gYW55Pihjb2xsZWN0aW9uOiBzdHJpbmcsIG9wdGlvbj86IFNkUmVnaXN0ZXJPcHRpb24pOiBTZERiUmVnaXN0ZXI8VD4gPT4ge1xyXG4gICAgY29uc3QgeyBjYWNoZWFibGUgfSA9IG9wdGlvbiB8fCB7fTtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIGdldDogYXN5bmMgKGlkOiBzdHJpbmcpID0+IHtcclxuICAgICAgICBjb25zdCBrZXkgPSB0aGlzLiNnZXRLZXkoaWQsIG9wdGlvbik7XHJcbiAgICAgICAgaWYgKCFjYWNoZWFibGUgfHwgIXRoaXMuI2NhY2hlW2tleV0pIHtcclxuICAgICAgICAgIHRoaXMuI2NhY2hlW2tleV0gPSBhd2FpdCB0aGlzLmdldChjb2xsZWN0aW9uLCBpZCwgb3B0aW9uKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkodGhpcy4jY2FjaGVba2V5XSkpO1xyXG4gICAgICB9LFxyXG4gICAgICBzZXQ6IChpZDogc3RyaW5nLCBkYXRhOiBUKSA9PiB7XHJcbiAgICAgICAgY29uc3Qga2V5ID0gdGhpcy4jZ2V0S2V5KGlkLCBvcHRpb24pO1xyXG4gICAgICAgIGRlbGV0ZSB0aGlzLiNjYWNoZVtrZXldO1xyXG4gICAgICAgIHJldHVybiB0aGlzLnNldChjb2xsZWN0aW9uLCBpZCwgZGF0YSwgb3B0aW9uKTtcclxuICAgICAgfSxcclxuICAgICAgcmVtb3ZlOiAoaWQ6IHN0cmluZykgPT4ge1xyXG4gICAgICAgIGNvbnN0IGtleSA9IHRoaXMuI2dldEtleShpZCwgb3B0aW9uKTtcclxuICAgICAgICBkZWxldGUgdGhpcy4jY2FjaGVba2V5XTtcclxuICAgICAgICByZXR1cm4gdGhpcy5yZW1vdmUoY29sbGVjdGlvbiwgaWQsIG9wdGlvbik7XHJcbiAgICAgIH0sXHJcbiAgICAgIGZpbmQ6IChxdWVyeT86IFNkRGJRdWVyeSkgPT4gdGhpcy5maW5kKGNvbGxlY3Rpb24sIHF1ZXJ5LCBvcHRpb24pLFxyXG4gICAgICBjb3B5OiAoXHJcbiAgICAgICAgc291cmNlOiB7XHJcbiAgICAgICAgICBmdW5jdGlvblVybD86IHN0cmluZyxcclxuICAgICAgICAgIHByb2plY3Q/OiBzdHJpbmcsXHJcbiAgICAgICAgICBlbnY6IHN0cmluZyxcclxuICAgICAgICAgIGZyb21JZDogc3RyaW5nXHJcbiAgICAgICAgfSxcclxuICAgICAgICB0b0lkOiBzdHJpbmcpID0+IHtcclxuICAgICAgICBjb25zdCBrZXkgPSB0aGlzLiNnZXRLZXkodG9JZCwgb3B0aW9uKTtcclxuICAgICAgICBkZWxldGUgdGhpcy4jY2FjaGVba2V5XTtcclxuICAgICAgICByZXR1cm4gdGhpcy5jb3B5KGNvbGxlY3Rpb24sIHNvdXJjZSwgdG9JZCwgb3B0aW9uKTtcclxuICAgICAgfVxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIGdldCA9IGFzeW5jIDxUID0gYW55Pihjb2xsZWN0aW9uOiBzdHJpbmcsIGlkOiBzdHJpbmcsIG9wdGlvbj86IFNkUmVnaXN0ZXJPcHRpb24pOiBQcm9taXNlPFNkRGJSZXM8VD4+ID0+IHtcclxuICAgIGNvbnN0IHVybCA9IGAke3RoaXMuI2dldFVybChvcHRpb24pLmdldH0vJHtjb2xsZWN0aW9ufS8ke2lkfWA7XHJcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5hcGlTZXJ2aWNlLmdldCh1cmwpO1xyXG4gIH1cclxuXHJcbiAgc2V0ID0gYXN5bmMgPFQgPSBhbnk+KGNvbGxlY3Rpb246IHN0cmluZywgaWQ6IHN0cmluZywgZGF0YTogVCwgb3B0aW9uPzogU2RSZWdpc3Rlck9wdGlvbik6IFByb21pc2U8dm9pZD4gPT4ge1xyXG4gICAgY29uc3QgdXJsID0gYCR7dGhpcy4jZ2V0VXJsKG9wdGlvbikuc2V0fS8ke2NvbGxlY3Rpb259LyR7aWR9YDtcclxuICAgIGF3YWl0IHRoaXMuYXBpU2VydmljZS5wb3N0KHVybCwgZGF0YSk7XHJcbiAgfVxyXG5cclxuICByZW1vdmUgPSBhc3luYyAoY29sbGVjdGlvbjogc3RyaW5nLCBpZDogc3RyaW5nLCBvcHRpb24/OiBTZFJlZ2lzdGVyT3B0aW9uKTogUHJvbWlzZTx2b2lkPiA9PiB7XHJcbiAgICBjb25zdCB1cmwgPSBgJHt0aGlzLiNnZXRVcmwob3B0aW9uKS5yZW1vdmV9LyR7Y29sbGVjdGlvbn0vJHtpZH1gO1xyXG4gICAgYXdhaXQgdGhpcy5hcGlTZXJ2aWNlLmRlbGV0ZSh1cmwpO1xyXG4gIH1cclxuXHJcbiAgZmluZCA9IGFzeW5jIDxUID0gYW55PihcclxuICAgIGNvbGxlY3Rpb246IHN0cmluZyxcclxuICAgIHF1ZXJ5PzogU2REYlF1ZXJ5LFxyXG4gICAgb3B0aW9uPzogU2RSZWdpc3Rlck9wdGlvbik6IFByb21pc2U8U2REYlJlczwoVCAmIHsgZG9jdW1lbnRJZDogc3RyaW5nIH0pW10+PiA9PiB7XHJcbiAgICBjb25zdCB1cmwgPSBgJHt0aGlzLiNnZXRVcmwob3B0aW9uKS5maW5kfS8ke2NvbGxlY3Rpb259YDtcclxuICAgIHJldHVybiBhd2FpdCB0aGlzLmFwaVNlcnZpY2UucG9zdCh1cmwsIHF1ZXJ5KTtcclxuICB9XHJcblxyXG4gIGNvcHkgPSBhc3luYyA8VCA9IGFueT4oXHJcbiAgICBjb2xsZWN0aW9uOiBzdHJpbmcsXHJcbiAgICBzb3VyY2U6IHtcclxuICAgICAgZnVuY3Rpb25Vcmw/OiBzdHJpbmcsXHJcbiAgICAgIHByb2plY3Q/OiBzdHJpbmcsXHJcbiAgICAgIGVudjogc3RyaW5nLFxyXG4gICAgICBmcm9tSWQ6IHN0cmluZ1xyXG4gICAgfSxcclxuICAgIHRvSWQ6IHN0cmluZyxcclxuICAgIG9wdGlvbj86IFNkUmVnaXN0ZXJPcHRpb24pOiBQcm9taXNlPHZvaWQ+ID0+IHtcclxuICAgIGNvbnN0IHJlcyA9IGF3YWl0IHRoaXMuZ2V0PFQ+KGNvbGxlY3Rpb24sIHNvdXJjZS5mcm9tSWQsIHtcclxuICAgICAgLi4ub3B0aW9uLFxyXG4gICAgICAuLi5zb3VyY2VcclxuICAgIH0pO1xyXG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuc2V0PFQ+KGNvbGxlY3Rpb24sIHRvSWQsIHJlcy5kYXRhLCBvcHRpb24pO1xyXG4gIH1cclxuXHJcbiAgY2xvbmUgPSBhc3luYzxUID0gYW55PihcclxuICAgIGFyZ3M6IHtcclxuICAgICAgY29sbGVjdGlvbj86IHN0cmluZyxcclxuICAgICAgZG9jdW1lbnRJZD86IHN0cmluZ1xyXG4gICAgfSxcclxuICAgIGZyb206IHtcclxuICAgICAgZnVuY3Rpb25Vcmw/OiBzdHJpbmcsXHJcbiAgICAgIHByb2plY3Q/OiBzdHJpbmcsXHJcbiAgICAgIGVudjogc3RyaW5nLFxyXG4gICAgICBjb2xsZWN0aW9uOiBzdHJpbmcsXHJcbiAgICAgIGRvY3VtZW50SWQ6IHN0cmluZ1xyXG4gICAgfSkgPT4ge1xyXG4gICAgaWYgKCF0aGlzLmhhc0NvbmZpZ3VyYXRpb24pIHtcclxuICAgICAgdGhyb3cgbmV3IEVycm9yKCdObyBmaXJlYmFzZSBmdW5jdGlvbiBjb25maWd1cmF0aW9uJyk7XHJcbiAgICB9XHJcbiAgICBjb25zdCB7IGZ1bmN0aW9uVXJsLCBwcm9qZWN0LCBlbnYgfSA9IHRoaXMuZmlyZWJhc2VDb25maWd1cmF0aW9uO1xyXG4gICAgY29uc3QgZnJvbUZ1bmN0aW9uVXJsID0gZnJvbT8uZnVuY3Rpb25VcmwgfHwgZnVuY3Rpb25Vcmw7XHJcbiAgICBjb25zdCBmcm9tUHJvamVjdCA9IGZyb20/LnByb2plY3QgfHwgcHJvamVjdDtcclxuICAgIGNvbnN0IGZyb21FbnYgPSBmcm9tPy5lbnY7XHJcbiAgICBjb25zdCBmcm9tQ29sbGVjdGlvbiA9IGZyb20/LmNvbGxlY3Rpb247XHJcbiAgICBjb25zdCBmcm9tRG9jdW1lbnRJZCA9IGZyb20/LmRvY3VtZW50SWQ7XHJcbiAgICBjb25zdCB0b0NvbGxlY3Rpb24gPSBhcmdzPy5jb2xsZWN0aW9uIHx8IGZyb20/LmNvbGxlY3Rpb247XHJcbiAgICBjb25zdCB0b0RvY3VtZW50SWQgPSBhcmdzPy5kb2N1bWVudElkIHx8IGZyb20/LmRvY3VtZW50SWQ7XHJcbiAgICBjb25zdCBmcm9tVXJsID0gYCR7ZnJvbUZ1bmN0aW9uVXJsfS9kYi9nZXQvJHtmcm9tUHJvamVjdH0vJHtmcm9tRW52fS8ke2Zyb21Db2xsZWN0aW9ufS8ke2Zyb21Eb2N1bWVudElkfWA7XHJcbiAgICBjb25zdCBkb2N1bWVudCA9IGF3YWl0IHRoaXMuYXBpU2VydmljZS5nZXQ8U2REYlJlczxUPj4oZnJvbVVybCk7XHJcbiAgICBhd2FpdCB0aGlzLnNldCh0b0NvbGxlY3Rpb24sIHRvRG9jdW1lbnRJZCwgZG9jdW1lbnQuZGF0YSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -1,4 +1,3 @@
1
- import { InjectionToken } from '@angular/core';
2
1
  export const API = {
3
2
  generateTemplate: '/excel/generateTemplate',
4
3
  uploadTemplate: '/excel/uploadTemplate',
@@ -12,5 +11,4 @@ export const API = {
12
11
  sdMergePDF: '/excel/sd-merge-pdf',
13
12
  sdGenerateTemplate: '/excel/sd-generate-template',
14
13
  };
15
- export const EXPORT_CONFIG = new InjectionToken('export.configuration');
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwb3J0Lm1vZGVsLmpzIiwic291cmNlUm9vdCI6IkM6L1VzZXJzL25naGlhdHQxNV9vbmVtb3VudC9Eb2N1bWVudHMvbGliLWNvcmUtdWkvcHJvamVjdHMvc2QtY29yZS9leHBvcnQvIiwic291cmNlcyI6WyJzcmMvbGliL2V4cG9ydC5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBaUYvQyxNQUFNLENBQUMsTUFBTSxHQUFHLEdBQUc7SUFDakIsZ0JBQWdCLEVBQUUseUJBQXlCO0lBQzNDLGNBQWMsRUFBRSx1QkFBdUI7SUFDdkMsc0JBQXNCLEVBQUUsK0JBQStCO0lBQ3ZELE1BQU0sRUFBRSxlQUFlO0lBQ3ZCLGtCQUFrQixFQUFFLDJCQUEyQjtJQUMvQyxhQUFhLEVBQUUsc0JBQXNCO0lBQ3JDLFVBQVUsRUFBRSxlQUFlO0lBQzNCLFFBQVEsRUFBRSxrQkFBa0I7SUFDNUIsa0JBQWtCLEVBQUUsOEJBQThCO0lBQ2xELFVBQVUsRUFBRSxxQkFBcUI7SUFDakMsa0JBQWtCLEVBQUUsNkJBQTZCO0NBQ2xELENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsSUFBSSxjQUFjLENBQXVCLHNCQUFzQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBFeHBvcnRUZW1wbGF0ZSB7XHJcbiAgZmlsZU5hbWU/OiBzdHJpbmc7XHJcbiAgY29sdW1uczogRXhwb3J0VGVtcGF0ZUNvbHVtbltdO1xyXG4gIHNoZWV0cz86IHtcclxuICAgIG5hbWU6IHN0cmluZyxcclxuICAgIGl0ZW1zOiBhbnlbXSxcclxuICAgIGZpZWxkczogc3RyaW5nW11cclxuICB9W107XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRXhwb3J0VGVtcGF0ZUNvbHVtbiB7XHJcbiAgZmllbGQ6IHN0cmluZztcclxuICB0aXRsZTogc3RyaW5nO1xyXG4gIHJlcXVpcmVkPzogYm9vbGVhbjtcclxuICBjb2xvcj86IHN0cmluZztcclxuICB3aWR0aD86IHN0cmluZztcclxuICBkZXNjcmlwdGlvbj86IHN0cmluZztcclxuICBmb250Q29sb3I/OiBzdHJpbmc7XHJcbiAgZmlsbD86IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBTZEV4cG9ydEZpbGUge1xyXG4gIGZpbGVOYW1lPzogc3RyaW5nO1xyXG4gIGZpbGVQYXRoPzogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFNkRXhwb3J0Q29sdW1uIHtcclxuICBmaWVsZDogc3RyaW5nO1xyXG4gIHRpdGxlOiBzdHJpbmc7XHJcbiAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XHJcbiAgd2lkdGg/OiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSUV4cG9ydE9wdGlvbiB7XHJcbiAgY29sdW1uczogRXhwb3J0VGVtcGF0ZUNvbHVtbltdO1xyXG4gIGl0ZW1zOiBhbnlbXTtcclxuICBmaWxlTmFtZT86IHN0cmluZztcclxuICBzaGVldHM/OiB7XHJcbiAgICBuYW1lOiBzdHJpbmcsXHJcbiAgICBpdGVtczogYW55W10sXHJcbiAgICBmaWVsZHM6IHN0cmluZ1tdXHJcbiAgfVtdO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElCaWdFeHBvcnRSZXF1ZXN0IHtcclxuICBmaWxlUGF0aD86IHN0cmluZztcclxuICBkZXN0aW5hdGlvbj86IHN0cmluZztcclxuICBsYXRlc3RSb3c6IG51bWJlcjtcclxuICBjb2x1bW5zOiB7XHJcbiAgICBmaWVsZDogc3RyaW5nLFxyXG4gICAgdGl0bGU6IHN0cmluZyxcclxuICAgIGRlc2NyaXB0aW9uPzogc3RyaW5nLFxyXG4gICAgd2lkdGg/OiBzdHJpbmcsXHJcbiAgfVtdO1xyXG4gIGl0ZW1zOiBhbnlbXTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJQmlnRXhwb3J0UmVzcG9uc2Uge1xyXG4gIGZpbGVQYXRoOiBzdHJpbmc7XHJcbiAgZGVzdGluYXRpb246IHN0cmluZztcclxuICBsYXRlc3RSb3c6IG51bWJlcjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJRXhwb3J0Q29uZmlndXJhdGlvbiB7XHJcbiAgZmlyZWJhc2VVcmw6IHN0cmluZztcclxuICBmb2xkZXI6IHN0cmluZyB8ICgoKSA9PiBzdHJpbmcpO1xyXG4gIHRva2VuPzogc3RyaW5nO1xyXG4gIHVzZXI/OiB7XHJcbiAgICBmb2xkZXI6IHN0cmluZyB8ICgoKSA9PiBzdHJpbmcpO1xyXG4gIH1cclxuICBncm91cHM/OiB7XHJcbiAgICBjb2RlOiBzdHJpbmc7XHJcbiAgICBmb2xkZXI6IHN0cmluZyB8ICgoKSA9PiBzdHJpbmcpO1xyXG4gICAgcGVybWlzc2lvbjogR3JvdXBQZXJtaXNzaW9uIHwgKCgpID0+IEdyb3VwUGVybWlzc2lvbik7XHJcbiAgfVtdO1xyXG59XHJcblxyXG5leHBvcnQgdHlwZSBHcm91cFBlcm1pc3Npb24gPSAndmlldycgfCAnYWRkJyB8ICdkZWxldGUnO1xyXG5cclxuZXhwb3J0IGNvbnN0IEFQSSA9IHtcclxuICBnZW5lcmF0ZVRlbXBsYXRlOiAnL2V4Y2VsL2dlbmVyYXRlVGVtcGxhdGUnLFxyXG4gIHVwbG9hZFRlbXBsYXRlOiAnL2V4Y2VsL3VwbG9hZFRlbXBsYXRlJyxcclxuICBnZW5lcmF0ZVVwbG9hZFRlbXBsYXRlOiAnL2V4Y2VsL2dlbmVyYXRlVXBsb2FkVGVtcGxhdGUnLFxyXG4gIGV4cG9ydDogJy9leGNlbC9leHBvcnQnLFxyXG4gIGRvd25sb2FkQnlUZW1wbGF0ZTogJy9leGNlbC9kb3dubG9hZEJ5VGVtcGxhdGUnLFxyXG4gIGZpbGVzSW5Gb2xkZXI6ICcvZXhjZWwvZmlsZXNJbkZvbGRlcicsXHJcbiAgcmVtb3ZlRmlsZTogJy9leGNlbC9yZW1vdmUnLFxyXG4gIHNkRXhwb3J0OiAnL2V4Y2VsL3NkLWV4cG9ydCcsXHJcbiAgc2RFeHBvcnRCeVRlbXBsYXRlOiAnL2V4Y2VsL3NkLWV4cG9ydC1ieS10ZW1wbGF0ZScsXHJcbiAgc2RNZXJnZVBERjogJy9leGNlbC9zZC1tZXJnZS1wZGYnLFxyXG4gIHNkR2VuZXJhdGVUZW1wbGF0ZTogJy9leGNlbC9zZC1nZW5lcmF0ZS10ZW1wbGF0ZScsXHJcbn07XHJcblxyXG5leHBvcnQgY29uc3QgRVhQT1JUX0NPTkZJRyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxJRXhwb3J0Q29uZmlndXJhdGlvbj4oJ2V4cG9ydC5jb25maWd1cmF0aW9uJyk7XHJcbiJdfQ==
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwb3J0Lm1vZGVsLmpzIiwic291cmNlUm9vdCI6IkM6L1VzZXJzL25naGlhdHQxNV9vbmVtb3VudC9Eb2N1bWVudHMvbGliLWNvcmUtdWkvcHJvamVjdHMvc2QtY29yZS9leHBvcnQvIiwic291cmNlcyI6WyJzcmMvbGliL2V4cG9ydC5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFpRUEsTUFBTSxDQUFDLE1BQU0sR0FBRyxHQUFHO0lBQ2pCLGdCQUFnQixFQUFFLHlCQUF5QjtJQUMzQyxjQUFjLEVBQUUsdUJBQXVCO0lBQ3ZDLHNCQUFzQixFQUFFLCtCQUErQjtJQUN2RCxNQUFNLEVBQUUsZUFBZTtJQUN2QixrQkFBa0IsRUFBRSwyQkFBMkI7SUFDL0MsYUFBYSxFQUFFLHNCQUFzQjtJQUNyQyxVQUFVLEVBQUUsZUFBZTtJQUMzQixRQUFRLEVBQUUsa0JBQWtCO0lBQzVCLGtCQUFrQixFQUFFLDhCQUE4QjtJQUNsRCxVQUFVLEVBQUUscUJBQXFCO0lBQ2pDLGtCQUFrQixFQUFFLDZCQUE2QjtDQUNsRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBFeHBvcnRUZW1wbGF0ZSB7XHJcbiAgZmlsZU5hbWU/OiBzdHJpbmc7XHJcbiAgY29sdW1uczogRXhwb3J0VGVtcGF0ZUNvbHVtbltdO1xyXG4gIHNoZWV0cz86IHtcclxuICAgIG5hbWU6IHN0cmluZyxcclxuICAgIGl0ZW1zOiBhbnlbXSxcclxuICAgIGZpZWxkczogc3RyaW5nW11cclxuICB9W107XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRXhwb3J0VGVtcGF0ZUNvbHVtbiB7XHJcbiAgZmllbGQ6IHN0cmluZztcclxuICB0aXRsZTogc3RyaW5nO1xyXG4gIHJlcXVpcmVkPzogYm9vbGVhbjtcclxuICBjb2xvcj86IHN0cmluZztcclxuICB3aWR0aD86IHN0cmluZztcclxuICBkZXNjcmlwdGlvbj86IHN0cmluZztcclxuICBmb250Q29sb3I/OiBzdHJpbmc7XHJcbiAgZmlsbD86IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBTZEV4cG9ydEZpbGUge1xyXG4gIGZpbGVOYW1lPzogc3RyaW5nO1xyXG4gIGZpbGVQYXRoPzogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFNkRXhwb3J0Q29sdW1uIHtcclxuICBmaWVsZDogc3RyaW5nO1xyXG4gIHRpdGxlOiBzdHJpbmc7XHJcbiAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XHJcbiAgd2lkdGg/OiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSUV4cG9ydE9wdGlvbiB7XHJcbiAgY29sdW1uczogRXhwb3J0VGVtcGF0ZUNvbHVtbltdO1xyXG4gIGl0ZW1zOiBhbnlbXTtcclxuICBmaWxlTmFtZT86IHN0cmluZztcclxuICBzaGVldHM/OiB7XHJcbiAgICBuYW1lOiBzdHJpbmcsXHJcbiAgICBpdGVtczogYW55W10sXHJcbiAgICBmaWVsZHM6IHN0cmluZ1tdXHJcbiAgfVtdO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElCaWdFeHBvcnRSZXF1ZXN0IHtcclxuICBmaWxlUGF0aD86IHN0cmluZztcclxuICBkZXN0aW5hdGlvbj86IHN0cmluZztcclxuICBsYXRlc3RSb3c6IG51bWJlcjtcclxuICBjb2x1bW5zOiB7XHJcbiAgICBmaWVsZDogc3RyaW5nLFxyXG4gICAgdGl0bGU6IHN0cmluZyxcclxuICAgIGRlc2NyaXB0aW9uPzogc3RyaW5nLFxyXG4gICAgd2lkdGg/OiBzdHJpbmcsXHJcbiAgfVtdO1xyXG4gIGl0ZW1zOiBhbnlbXTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJQmlnRXhwb3J0UmVzcG9uc2Uge1xyXG4gIGZpbGVQYXRoOiBzdHJpbmc7XHJcbiAgZGVzdGluYXRpb246IHN0cmluZztcclxuICBsYXRlc3RSb3c6IG51bWJlcjtcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgR3JvdXBQZXJtaXNzaW9uID0gJ3ZpZXcnIHwgJ2FkZCcgfCAnZGVsZXRlJztcclxuXHJcbmV4cG9ydCBjb25zdCBBUEkgPSB7XHJcbiAgZ2VuZXJhdGVUZW1wbGF0ZTogJy9leGNlbC9nZW5lcmF0ZVRlbXBsYXRlJyxcclxuICB1cGxvYWRUZW1wbGF0ZTogJy9leGNlbC91cGxvYWRUZW1wbGF0ZScsXHJcbiAgZ2VuZXJhdGVVcGxvYWRUZW1wbGF0ZTogJy9leGNlbC9nZW5lcmF0ZVVwbG9hZFRlbXBsYXRlJyxcclxuICBleHBvcnQ6ICcvZXhjZWwvZXhwb3J0JyxcclxuICBkb3dubG9hZEJ5VGVtcGxhdGU6ICcvZXhjZWwvZG93bmxvYWRCeVRlbXBsYXRlJyxcclxuICBmaWxlc0luRm9sZGVyOiAnL2V4Y2VsL2ZpbGVzSW5Gb2xkZXInLFxyXG4gIHJlbW92ZUZpbGU6ICcvZXhjZWwvcmVtb3ZlJyxcclxuICBzZEV4cG9ydDogJy9leGNlbC9zZC1leHBvcnQnLFxyXG4gIHNkRXhwb3J0QnlUZW1wbGF0ZTogJy9leGNlbC9zZC1leHBvcnQtYnktdGVtcGxhdGUnLFxyXG4gIHNkTWVyZ2VQREY6ICcvZXhjZWwvc2QtbWVyZ2UtcGRmJyxcclxuICBzZEdlbmVyYXRlVGVtcGxhdGU6ICcvZXhjZWwvc2QtZ2VuZXJhdGUtdGVtcGxhdGUnLFxyXG59O1xyXG4iXX0=