@aurigma/ui-framework
Version:
A platform which allows building print product personalization editors based on Aurigma's Customer's Canvas.
1 lines • 8.57 kB
JavaScript
(window.multistep_editor_jsonpFunction=window.multistep_editor_jsonpFunction||[]).push([[15],{911:function(e,t,r){"use strict";r.r(t),r.d(t,"AuWidgetAssetStorageAjax",(function(){return c})),r.d(t,"widget",(function(){return c}));var s=r(0),i=r(160),n=(r(201),r(2)),o=r(1),c=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t._isRestoring=!1,t._isLoaded=!1,t.response=[],t.requestPromise=Promise.resolve(),t._requestPending=!1,t._lockList=[],t._fetchTimer=null,t._fetchDelay=50,t._currentAbortController=null,t}return Object(s.d)(t,e),t.prototype.requestPendingObserver=function(e){this.showPreloader(e)},t.prototype._doFetch=function(e){return Object(s.b)(this,void 0,void 0,(function(){var t,r,i,n,o,c,a,u,p,d=this;return Object(s.e)(this,(function(l){switch(l.label){case 0:return this._requestPending=!0,t=this.folder||"",r=this,[4,this.getAssetStorageFolder()];case 1:if(r.apiResponse=l.sent(),!(this.apiResponse.entities&&this.apiResponse.entities.length>0))return[3,5];if(!this.entriesFilter)return[3,5];l.label=2;case 2:return l.trys.push([2,4,,5]),i=this.apiResponse,[4,this.filterAsync(this.apiResponse.entities,this.entriesFilter)];case 3:return i.entities=l.sent(),[3,5];case 4:return n=l.sent(),console.error(n),[3,5];case 5:if(!(this.apiResponse.folders&&this.apiResponse.folders.length>0))return[3,9];if(!this.folderFilter)return[3,9];l.label=6;case 6:return l.trys.push([6,8,,9]),o=this.apiResponse,[4,this.filterAsync(this.apiResponse.folders,this.folderFilter)];case 7:return o.folders=l.sent(),[3,9];case 8:return c=l.sent(),console.error(c),[3,9];case 9:return this.response=this.apiResponse.entities.map((function(e){var r=t&&""!==t&&"/"!==t?t+"/"+e.name:e.name;return{id:e.id,name:e.name,path:r.replace(/([^:]\/)\/+/g,"$1"),previewUrl:"",customFields:e.customFields||{},metadata:e.metadata||{}}})),(a=this.previewOptions)?(u=function(e,t){return Object(s.b)(d,void 0,void 0,(function(){var r,i;return Object(s.e)(this,(function(s){switch(s.label){case 0:return e&&e.previews&&Object.keys(e.previews).length>0?(r=Object.keys(e.previews).find((function(t){return e.previews[t].namespace===a.namespace&&e.previews[t].name===a.name})))?(this.response[t].previewUrl=e.previews[r].url,[3,4]):[3,1]:[3,5];case 1:return a.height&&0!==a.height&&a.width&&0!==a.width?[4,this.addPreview(a,e.id)]:[3,3];case 2:return i=s.sent(),this.response[t].previewUrl=""===i?e.previews[Object.keys(e.previews)[0]].url:i,[3,4];case 3:this.response[t].previewUrl=e.previews[Object.keys(e.previews)[0]].url,s.label=4;case 4:return[3,7];case 5:return[4,this.addPreview(a,e.id)];case 6:i=s.sent(),this.response[t].previewUrl=""===i?e.previews[Object.keys(e.previews)[0]].url:i,s.label=7;case 7:return[2]}}))}))},p=this.apiResponse.entities.map(u),[4,Promise.all(p)]):[3,11];case 10:l.sent(),l.label=11;case 11:return this.emitChange({apiResponse:this.apiResponse,response:this.response},!1),this._fetchTimer=null,e(this.response),this._requestPending=!1,[2]}}))}))},t.prototype.updateParams=function(e){var t,r,s;this.assetType=null!==(t=e.assetType)&&void 0!==t?t:null,this.folder=null!==(r=e.folder)&&void 0!==r?r:null,this.previewOptions=Object.assign({name:"uif",namespace:"storefront",width:200,height:200},null!==(s=e.previewOptions)&&void 0!==s?s:{}),this.folderFilter=e.folderFilter?o.a.functionWrapperConstructor(e.folderFilter):null,this.entriesFilter=e.entriesFilter?o.a.functionWrapperConstructor(e.entriesFilter):null},t.prototype.updateParamsAsync=function(t){return Object(s.b)(this,void 0,void 0,(function(){return Object(s.e)(this,(function(r){switch(r.label){case 0:return[4,e.prototype.updateParamsAsync.call(this,t)];case 1:return r.sent(),this._lockList=t.lock?t.lock instanceof Array?t.lock:[t.lock]:[],this._isLoaded||(this.getInitialParamsResolved(),this._isLoaded=!0),[2,this._doFetchDebounce()]}}))}))},t.prototype.exportWidgetData=function(e){return Object(s.b)(this,void 0,void 0,(function(){return Object(s.e)(this,(function(e){return[2,{apiResponse:this.apiResponse,response:this.response}]}))}))},t.prototype.restoreWidgetFromData=function(e,t){return Object(s.b)(this,void 0,void 0,(function(){return Object(s.e)(this,(function(t){return e&&(this.apiResponse=e.apiResponse,this.response=e.response,this.emitChange({apiResponse:this.apiResponse,response:this.response},!1)),[2]}))}))},t.prototype.showPreloader=function(e){var t=this;(this._lockList||[]).forEach((function(r){var s="main"===r?t.auWizard:t.auWizard.scope.$[r]||t.jsonParamsFetcher.scope[r]||t.jsonParamsFetcher.scope.$[r];s&&s.showPreloader(e)}))},t.prototype._doFetchDebounce=function(){var e=this,t=null;this.requestPromise=new Promise((function(e){t=e}));var r=new Promise((function(t){null!==e._fetchTimer&&(window.clearTimeout(e._fetchTimer),e._currentAbortController&&e._currentAbortController.abort()),e._fetchTimer=window.setTimeout((function(){return Object(s.b)(e,void 0,void 0,(function(){return Object(s.e)(this,(function(e){switch(e.label){case 0:return[4,this._doFetch(t)];case 1:return e.sent(),[2]}}))}))}),e._fetchDelay)}));return r.then((function(){setTimeout((function(){setTimeout((function(){setTimeout((function(){setTimeout((function(){setTimeout((function(){t()}),100)}),100)}),100)}),100)}),100)})),r},t.prototype.addPreview=function(e,t){return Object(s.b)(this,void 0,void 0,(function(){var r,i,n,c;return Object(s.e)(this,(function(s){switch(s.label){case 0:return r=this.assetType.replace("private","private-"),i=o.a.ensureEndsWith(this.auWizard.driver.backOffice.assetProcessorUrl,"/"),n=this.auWizard.driver.backOffice.tenantId,c="".concat(i,"api/processor/v1/").concat(r,"/").concat(t)+"/preview/".concat(e.namespace,"/").concat(e.name,"/").concat(e.width,"x").concat(e.height,"?tenantId=").concat(n),[4,this.generatePreview(c)];case 1:return[2,s.sent()]}}))}))},t.prototype.generatePreview=function(e){return Object(s.b)(this,void 0,void 0,(function(){var t,r;return Object(s.e)(this,(function(s){switch(s.label){case 0:return[4,fetch(e,{method:"GET",headers:{authorization:"Bearer "+this.auWizard.driver.backOffice.token}})];case 1:return 200!==(t=s.sent()).status?[3,3]:[4,t.blob()];case 2:return r=s.sent(),[2,URL.createObjectURL(r)];case 3:return[2,""]}}))}))},t.prototype.getAssetStorageFolder=function(){return Object(s.b)(this,void 0,void 0,(function(){var e,t,r,i,n,c;return Object(s.e)(this,(function(s){switch(s.label){case 0:return e=this.assetType.replace("private","private-"),t=this.folder,r=o.a.ensureEndsWith(this.auWizard.driver.backOffice.assetStorageUrl,"/"),i=this.auWizard.driver.backOffice.tenantId,n=r+"api/storage/v1/".concat(e,"/folders?"),null!=t&&(n+="fullPath="+t),e.includes("private")&&(n+="&userId="+this.auWizard.driver.backOffice.userId),n+="&tenantId="+i,[4,fetch(n,{method:"GET",headers:{authorization:"Bearer "+this.auWizard.driver.backOffice.token,accept:"text/plain"}})];case 1:return(c=s.sent()).status>=200&&c.status<=300?[4,c.json()]:[3,3];case 2:return[2,s.sent()];case 3:return console.error("Failed to execute ajax: status ".concat(c.status,": ").concat(c.statusText)),[2,{folders:[],entities:[]}]}}))}))},t.prototype.mapAsync=function(e,t){return Promise.all(e.map(t))},t.prototype.filterAsync=function(e,t){return Object(s.b)(this,void 0,void 0,(function(){var r;return Object(s.e)(this,(function(s){switch(s.label){case 0:return[4,this.mapAsync(e,t)];case 1:return r=s.sent(),[2,e.filter((function(e,t){return r[t]}))]}}))}))},Object(s.c)([Object(n.c)(),Object(s.g)("design:type",Object)],t.prototype,"apiResponse",void 0),Object(s.c)([Object(n.c)(),Object(s.g)("design:type",Array)],t.prototype,"response",void 0),Object(s.c)([Object(n.c)(),Object(s.g)("design:type",String)],t.prototype,"assetType",void 0),Object(s.c)([Object(n.c)(),Object(s.g)("design:type",String)],t.prototype,"folder",void 0),Object(s.c)([Object(n.c)(),Object(s.g)("design:type",Function)],t.prototype,"folderFilter",void 0),Object(s.c)([Object(n.c)(),Object(s.g)("design:type",Function)],t.prototype,"entriesFilter",void 0),Object(s.c)([Object(n.c)(),Object(s.g)("design:type",Object)],t.prototype,"previewOptions",void 0),Object(s.c)([Object(n.c)(),Object(s.g)("design:type",Promise)],t.prototype,"requestPromise",void 0),Object(s.c)([Object(n.c)(),Object(s.g)("design:type",Boolean)],t.prototype,"_requestPending",void 0),Object(s.c)([Object(n.b)("_requestPending"),Object(s.g)("design:type",Function),Object(s.g)("design:paramtypes",[Object]),Object(s.g)("design:returntype",void 0)],t.prototype,"requestPendingObserver",null),Object(s.c)([Object(n.a)("au-widget-asset-storage-ajax")],t)}(i.a)}}]);