{"version":3,"sources":["webpack:///./src/components/customExtensions/customExtensionFields.ts","webpack:///./src/components/customExtensions/_CustomExtensionForm.vue?5949","webpack:///./src/components/customExtensions/CustomExtensionAccess.vue?4a62","webpack:///./src/components/customExtensions/modals/CustomExtensionAccessModal.vue?08b1","webpack:///./src/components/customExtensions/modals/CustomExtensionAccessModal.vue","webpack:///./src/components/customExtensions/modals/CustomExtensionAccessModal.vue?72fd","webpack:///./src/components/customExtensions/modals/CustomExtensionAccessModal.vue?dea1","webpack:///./src/components/customExtensions/CustomExtensionAccess.vue","webpack:///./src/components/customExtensions/CustomExtensionAccess.vue?efae","webpack:///./src/components/customExtensions/CustomExtensionAccess.vue?be56","webpack:///./src/components/customExtensions/customExtensionValidators.ts","webpack:///./src/components/customExtensions/_CustomExtensionForm.vue","webpack:///./src/components/customExtensions/_CustomExtensionForm.vue?b3b7","webpack:///./src/components/customExtensions/_CustomExtensionForm.vue?41af","webpack:///./src/directives/validate.ts","webpack:///./src/services/security/types.ts","webpack:///./src/components/common/files/DirectFileUploadControl.vue?7b6e","webpack:///./src/components/common/files/DirectFileUploadControl.vue","webpack:///./src/components/common/files/DirectFileUploadControl.vue?a5e4","webpack:///./src/components/common/files/DirectFileUploadControl.vue?d4ee","webpack:///./node_modules/guid-typescript/dist/guid.js","webpack:///./src/services/folders/types.ts","webpack:///./src/components/common/modals/UnsavedFormModal.vue?2f75","webpack:///./src/components/common/modals/UnsavedFormModal.vue","webpack:///./src/components/common/modals/UnsavedFormModal.vue?d3fc","webpack:///./src/components/common/modals/UnsavedFormModal.vue?8c30","webpack:///./src/services/users/userGroupService.ts","webpack:///./src/services/folders/folderService.ts","webpack:///./src/components/layouts/HeaderActionButtons.vue?3b8a","webpack:///./src/components/layouts/HeaderActionButtons.vue?2810","webpack:///./src/components/layouts/HeaderActionButtons.vue","webpack:///./src/components/layouts/HeaderActionButtons.vue?0d84","webpack:///./src/components/layouts/HeaderActionButtons.vue?1c9a","webpack:///./src/components/customExtensions/_CustomExtensionForm.vue?9f03","webpack:///./src/components/common/files/DirectFileUploadControl.vue?85b8"],"names":["customExtensionsFields","key","label","t","sortable","sortDirection","paramsFields","accessFields","formatter","formatType","addExtensionAccessFields","type","toString","render","_vm","this","_h","$createElement","_c","_self","staticClass","attrs","i18n","validators","name","model","value","customExtension","callback","$$v","$set","expression","preventBack","preventSave","on","back","save","_v","_s","$t","$event","stopPropagation","preventDefault","directives","rawName","menuText","state","menuIconFileId","length","folders","DirectFiles","onToggleHeaderButtons","onfileUploaded","menuIconName","removeImage","_e","imageUrl","url","fields","params","scopedSlots","_u","fn","scope","row","item","modifiers","addParam","removeButton","ref","acl","onAccessUpdated","onContinue","staticRenderFns","searchQuery","promptAddAccess","filteredData","userId","id","groupId","groupName","removeAccess","localAcl","proxy","select","itemTypeName","namespace","userUserGroups","selectedItems","selectedUserUserGroups","setSelectedItemsArray","then","response","concat","map","x","UserGroup","username","email","User","items","existingAcl","forEach","sItem","find","selectedItem","push","$emit","$bvModal","hide","fetchData","show","filter","toLowerCase","includes","component","localCollapseState","oldValue","console","log","collapseState","$refs","accessModal","open","splice","indexOf","data","JSON","parse","stringify","components","CustomExtensionAccessModal","customExtensionValidators","rules","Required","Min","priorCustomExtensionState","nextRoute","routeParams","saveClicked","continue","fetchingActive","img","width","height","customExtensionId","AccessComponent","emitData","$router","param","file","fileId","originalFileName","loadImage","image","Image","src","to","next","noChanges","lodash","isEqual","UnsavedFormModal","beforeRouteLeave","from","onBeforeRouteLeave","HeaderActionButtons","CustomExtensionAccess","DirectFileUploadControl","validate","bind","element","binding","vNode","componentContext","context","el","property","set","addEventListener","event","confirm","matchRule","Confirm","confirmProperty","message","update","unbind","AclMemberType","ResourceAccess","ResourceClaim","ResourceType","openFileUpload","uploadButton","vscFile","status","fileStatus","uploading","class","percentage","style","Math","floor","error","staticStyle","isNew","retryUpload","removeFile","folder","fileTypes","toggleHeaderButtons","fileUploaded","uploadStarted","fileObjectChanged","directUpload","fileType","DirectFileUpload","exports","__esModule","Guid","guid","TypeError","EMPTY","isGuid","validator","test","create","gen","join","createEmpty","raw","count","out","i","random","substring","prototype","equals","other","isEmpty","toJSON","RegExp","FolderEntites","decline","createUserGroup","group","a","Promise","resolve","reject","post","getAllUserGroups","get","getUserGroupById","updateUserGroup","put","deleteUserGroup","delete","getUserGroupsForUser","getUsersForUserGroup","getFolderStructure","entity","flatFolderStructure","paths","traverse","path","undefined","children","createOrUpdateFolder","moveFolder","moveEntity","checkDelete","deleteFolder","getFolderContent","getRootFolder","sticky","showSaveButton","isAdmin","saveAndBack","editorStatus","permitionEnum","havePermition","$route","getCurrentUser","permissions","AdminPrivilege","checkPermition","default","abg","inserted","vnode","offset","window","pageYOffset","getBoundingClientRect","top","doc","document","documentElement","scrollTop","clientTop","removeEventListener"],"mappings":"kHAAA,oKAGaA,EAAyB,CAClC,CACIC,IAAK,OACLC,MAAO,OAAKC,EAAE,eACdC,UAAU,EACVC,cAAe,QAEnB,CACIJ,IAAK,UACLC,MAAO,KAIFI,EAAe,CACxB,CACIL,IAAK,MACLC,MAAO,OAAKC,EAAE,yBAElB,CACIF,IAAK,QACLC,MAAO,OAAKC,EAAE,2BAElB,CACIF,IAAK,UACLC,MAAO,KAIFK,EAAe,CACxB,CACIN,IAAK,OACLC,MAAO,OAAKC,EAAE,eACdC,UAAU,GAEd,CACIH,IAAK,WACLC,MAAO,OAAKC,EAAE,yBACdC,UAAU,GAEd,CACIH,IAAK,OACLC,MAAO,OAAKC,EAAE,eACdK,UAAWC,EACXL,UAAU,GAEd,CACIH,IAAK,UACLC,MAAO,KAIFQ,EAA2B,CACpC,CACIT,IAAK,OACLC,MAAO,OAAKC,EAAE,gBAElB,CACIF,IAAK,WACLC,MAAO,OAAKC,EAAE,0BAElB,CACIF,IAAK,OACLC,MAAO,OAAKC,EAAE,eACdK,UAAWC,GAEf,CACIR,IAAK,SACLC,MAAO,KAIf,SAASO,EAAWE,GAChB,OAAO,OAAcA,GAAMC,a,2CC3E/B,IAAIC,EAAS,WAAa,IAAIC,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACA,EAAG,SAAS,CAACE,YAAY,eAAe,CAACF,EAAG,MAAM,CAACE,YAAY,kCAAkC,CAACF,EAAG,iBAAiB,CAACG,MAAM,CAAC,YAAcP,EAAIQ,KAAKnB,EAAE,8BAA8B,UAAYW,EAAIS,WAAWC,MAAMC,MAAM,CAACC,MAAOZ,EAAIa,gBAAoB,KAAEC,SAAS,SAAUC,GAAMf,EAAIgB,KAAKhB,EAAIa,gBAAiB,OAAQE,IAAME,WAAW,0BAA0Bb,EAAG,MAAM,CAACA,EAAG,sBAAsB,CAACG,MAAM,CAAC,eAAeP,EAAIkB,YAAY,eAAelB,EAAImB,aAAaC,GAAG,CAAC,KAAOpB,EAAIqB,KAAK,KAAOrB,EAAIsB,SAAS,IAAI,KAAKlB,EAAG,MAAM,CAACE,YAAY,SAAS,CAACF,EAAG,SAAS,CAACE,YAAY,gBAAgB,CAACF,EAAG,MAAM,CAACE,YAAY,UAAU,CAACF,EAAG,KAAK,CAACJ,EAAIuB,GAAGvB,EAAIwB,GAAGxB,EAAIyB,GAAG,2BAA2BrB,EAAG,SAAS,CAACG,MAAM,CAAC,aAAe,OAAOa,GAAG,CAAC,OAAS,SAASM,GAAyD,OAAjDA,EAAOC,kBAAkBD,EAAOE,iBAAwB5B,EAAIsB,KAAKI,MAAW,CAACtB,EAAG,MAAM,CAACE,YAAY,uCAAuC,CAACF,EAAG,QAAQ,CAACE,YAAY,2BAA2B,CAACN,EAAIuB,GAAGvB,EAAIwB,GAAGxB,EAAIyB,GAAG,8BAA8B,OAAOrB,EAAG,eAAe,CAACyB,WAAW,CAAC,CAACnB,KAAK,WAAWoB,QAAQ,aAAalB,MAAOZ,EAAIa,gBAAwB,SAAEI,WAAW,6BAA6BX,YAAY,yBAAyBC,MAAM,CAAC,YAAcP,EAAIyB,GAAG,6BAA6B,GAAK,WAAW,MAAQzB,EAAIS,WAAWsB,SAASC,OAAOrB,MAAM,CAACC,MAAOZ,EAAIa,gBAAwB,SAAEC,SAAS,SAAUC,GAAMf,EAAIgB,KAAKhB,EAAIa,gBAAiB,WAAYE,IAAME,WAAW,+BAA+B,GAAGb,EAAG,MAAM,CAACE,YAAY,uCAAuC,CAACF,EAAG,QAAQ,CAACE,YAAY,2BAA2B,CAACN,EAAIuB,GAAGvB,EAAIwB,GAAGxB,EAAIyB,GAAG,8BAA8B,OAAOrB,EAAG,6BAA6B,CAACyB,WAAW,CAAC,CAACnB,KAAK,OAAOoB,QAAQ,SAASlB,OAAQZ,EAAIa,gBAAgBoB,gBAAgE,IAA9CjC,EAAIa,gBAAgBoB,eAAeC,OAAcjB,WAAW,mFAAmFV,MAAM,CAAC,aAAa,CAAC,SAAS,OAASP,EAAImC,QAAQC,aAAahB,GAAG,CAAC,oBAAsBpB,EAAIqC,sBAAsB,aAAerC,EAAIsC,kBAAmBtC,EAAIa,gBAAgB0B,cAAgBvC,EAAIa,gBAAgB0B,aAAaL,OAAS,EAAG9B,EAAG,MAAM,CAACE,YAAY,wBAAwB,CAACN,EAAIuB,GAAG,IAAIvB,EAAIwB,GAAGxB,EAAIa,gBAAgB0B,cAAc,KAAKnC,EAAG,MAAM,CAACE,YAAY,yBAAyBC,MAAM,CAAC,QAAU,eAAea,GAAG,CAAC,MAAQpB,EAAIwC,cAAc,CAACpC,EAAG,MAAM,CAACG,MAAM,CAAC,aAAa,oBAAoBP,EAAIyC,KAAMzC,EAAIa,gBAAgB0B,cAAgBvC,EAAIa,gBAAgB0B,aAAaL,OAAS,EAAG9B,EAAG,MAAM,CAACE,YAAY,aAAaC,MAAM,CAAC,IAAMP,EAAI0C,SAAS,UAAY,WAAW1C,EAAIyC,MAAM,GAAGrC,EAAG,MAAM,CAACE,YAAY,uCAAuC,CAACF,EAAG,QAAQ,CAACE,YAAY,2BAA2B,CAACN,EAAIuB,GAAGvB,EAAIwB,GAAGxB,EAAIyB,GAAG,yBAAyB,OAAOrB,EAAG,eAAe,CAACyB,WAAW,CAAC,CAACnB,KAAK,WAAWoB,QAAQ,aAAalB,MAAOZ,EAAIa,gBAAmB,IAAEI,WAAW,wBAAwBX,YAAY,yBAAyBC,MAAM,CAAC,YAAcP,EAAIyB,GAAG,wBAAwB,GAAK,MAAM,MAAQzB,EAAIS,WAAWkC,IAAIX,OAAOrB,MAAM,CAACC,MAAOZ,EAAIa,gBAAmB,IAAEC,SAAS,SAAUC,GAAMf,EAAIgB,KAAKhB,EAAIa,gBAAiB,MAAOE,IAAME,WAAW,0BAA0B,GAAGb,EAAG,MAAM,CAACE,YAAY,oBAAoB,CAACF,EAAG,QAAQ,CAACE,YAAY,2BAA2B,CAACN,EAAIuB,GAAGvB,EAAIwB,GAAGxB,EAAIyB,GAAG,4BAA4B,OAAOrB,EAAG,MAAM,CAACE,YAAY,gBAAgB,CAACF,EAAG,UAAU,CAACE,YAAY,eAAeC,MAAM,CAAC,OAASP,EAAI4C,OAAO,MAAQ5C,EAAIa,gBAAgBgC,OAAO,eAAe,QAAQ,MAAQ,GAAG,iBAAiB,gBAAgB,WAAa,KAAK,aAAa,IAAIC,YAAY9C,EAAI+C,GAAG,CAAC,CAAC5D,IAAI,QAAQ6D,GAAG,SAASC,GAAO,MAAO,CAAC7C,EAAG,KAAK,CAACE,YAAY,eAAe,CAACN,EAAIuB,GAAGvB,EAAIwB,GAAGxB,EAAIyB,GAAG,4BAA4B,CAACtC,IAAI,YAAY6D,GAAG,SAASE,GAAK,MAAO,CAAC9C,EAAG,eAAe,CAACG,MAAM,CAAC,GAAM,OAAU2C,EAAIC,KAAO,GAAG,KAAO,MAAMxC,MAAM,CAACC,MAAOsC,EAAIC,KAAQ,IAAErC,SAAS,SAAUC,GAAMf,EAAIgB,KAAKkC,EAAIC,KAAM,MAAOpC,IAAME,WAAW,qBAAqB,CAAC9B,IAAI,cAAc6D,GAAG,SAASE,GAAK,MAAO,CAAC9C,EAAG,eAAe,CAACG,MAAM,CAAC,GAAM,SAAY2C,EAAIC,KAAO,GAAG,KAAO,MAAMxC,MAAM,CAACC,MAAOsC,EAAIC,KAAU,MAAErC,SAAS,SAAUC,GAAMf,EAAIgB,KAAKkC,EAAIC,KAAM,QAASpC,IAAME,WAAW,uBAAuB,CAAC9B,IAAI,gBAAgB6D,GAAG,SAASE,GAAK,MAAO,CAAC9C,EAAG,WAAW,CAACyB,WAAW,CAAC,CAACnB,KAAK,YAAYoB,QAAQ,oBAAoBsB,UAAU,CAAC,OAAQ,KAAQ9C,YAAY,gBAAgBC,MAAM,CAAC,MAAQP,EAAIyB,GAAG,eAAeL,GAAG,CAAC,MAAQpB,EAAIqD,WAAW,CAACjD,EAAG,MAAM,CAACE,YAAY,aAAaC,MAAM,CAAC,QAAU,gBAAgB,CAACH,EAAG,MAAM,CAACG,MAAM,CAAC,aAAa,uBAAuB,CAACpB,IAAI,gBAAgB6D,GAAG,SAASE,GAAK,MAAO,CAAC9C,EAAG,WAAW,CAACyB,WAAW,CAAC,CAACnB,KAAK,YAAYoB,QAAQ,oBAAoBsB,UAAU,CAAC,OAAQ,KAAQ9C,YAAY,2BAA2BC,MAAM,CAAC,MAAQP,EAAIyB,GAAG,kBAAkBL,GAAG,CAAC,MAAQ,SAASM,GAAQ,OAAO1B,EAAIsD,aAAaJ,EAAIC,KAAKhE,QAAQ,CAACiB,EAAG,MAAM,CAACE,YAAY,aAAaC,MAAM,CAAC,QAAU,gBAAgB,CAACH,EAAG,MAAM,CAACG,MAAM,CAAC,aAAa,6BAA6B,QAAQ,GAAGH,EAAG,MAAM,CAACE,YAAY,SAAS,CAACF,EAAG,SAAS,CAACE,YAAY,gBAAgB,CAACF,EAAG,MAAM,CAACE,YAAY,UAAU,CAACF,EAAG,KAAK,CAACJ,EAAIuB,GAAGvB,EAAIwB,GAAGxB,EAAIyB,GAAG,gCAAgCrB,EAAG,0BAA0B,CAACmD,IAAI,kBAAkBhD,MAAM,CAAC,IAAMP,EAAIwD,IAAI,cAAgB,SAASpC,GAAG,CAAC,cAAgBpB,EAAIyD,oBAAoB,GAAGrD,EAAG,qBAAqB,CAACmD,IAAI,mBAAmBnC,GAAG,CAAC,SAAWpB,EAAI0D,eAAe,IACz1KC,EAAkB,G,8FCDlB,EAAS,WAAa,IAAI3D,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACA,EAAG,aAAa,CAACG,MAAM,CAAC,QAAU,YAAY,CAACH,EAAG,MAAM,CAACE,YAAY,cAAc,CAACF,EAAG,MAAM,CAACE,YAAY,qBAAqB,CAACF,EAAG,MAAM,CAACE,YAAY,uBAAuB,CAACF,EAAG,MAAM,CAACE,YAAY,kBAAkB,CAACF,EAAG,eAAe,CAACE,YAAY,+BAA+BC,MAAM,CAAC,YAAcP,EAAIyB,GAAG,kBAAkBd,MAAM,CAACC,MAAOZ,EAAe,YAAEc,SAAS,SAAUC,GAAMf,EAAI4D,YAAY7C,GAAKE,WAAW,iBAAiBb,EAAG,SAAS,CAACE,YAAY,wBAAwBC,MAAM,CAAC,KAAO,WAAW,CAACH,EAAG,MAAM,CAACE,YAAY,UAAUC,MAAM,CAAC,QAAU,gBAAgB,CAACH,EAAG,MAAM,CAACG,MAAM,CAAC,aAAa,sBAAsBH,EAAG,SAAS,CAACE,YAAY,0BAA0Bc,GAAG,CAAC,MAAQ,SAASM,GAAQA,EAAOC,kBAAkBD,EAAOE,kBAAmB,UAAY,SAASF,GAAQA,EAAOE,iBAAiB5B,EAAI4D,YAAc,MAAM,CAACxD,EAAG,MAAM,CAACE,YAAY,UAAUC,MAAM,CAAC,QAAU,gBAAgB,CAACH,EAAG,MAAM,CAACG,MAAM,CAAC,aAAa,sBAAsB,GAAGH,EAAG,WAAW,CAACG,MAAM,CAAC,QAAU,WAAWa,GAAG,CAAC,MAAQ,SAASM,GAAQ,OAAO1B,EAAI6D,qBAAqB,CAAC7D,EAAIuB,GAAGvB,EAAIwB,GAAGxB,EAAIyB,GAAG,kCAAkC,KAAKrB,EAAG,UAAU,CAACG,MAAM,CAAC,OAASP,EAAI4C,OAAO,MAAQ5C,EAAI8D,aAAa,eAAe,QAAQ,MAAQ,GAAG,WAAa,KAAK,aAAa,IAAIhB,YAAY9C,EAAI+C,GAAG,CAAC,CAAC5D,IAAI,aAAa6D,GAAG,SAASE,GAAK,MAAO,CAAC9C,EAAG,MAAM,CAACE,YAAY,iBAAiB,CAACF,EAAG,cAAc,CAACE,YAAY,8BAA8BC,MAAM,CAAC,GAAuB,IAAlB2C,EAAIC,KAAKtD,KACz+C,CAAEa,KAAM,WAAYmC,OAAQ,CAAEkB,OAAQb,EAAIC,KAAKa,KAC/C,CAAEtD,KAAM,YAAamC,OAAQ,CAAEoB,QAASf,EAAIC,KAAKa,GAAIE,UAAWhB,EAAIC,KAAKzC,SAAU,CAACN,EAAG,OAAO,CAACmD,IAAI,WAAaL,EAAIC,KAAKa,GAAG1D,YAAY,gCAAgC,CAACN,EAAIuB,GAAG,IAAIvB,EAAIwB,GAAG0B,EAAIC,KAAKzC,MAAM,UAAU,MAAM,CAACvB,IAAI,QAAQ6D,GAAG,SAASC,GAAO,MAAO,CAAC7C,EAAG,KAAK,CAACE,YAAY,eAAe,CAACN,EAAIuB,GAAGvB,EAAIwB,GAAGxB,EAAIyB,GAAG,4BAA4B,CAACtC,IAAI,gBAAgB6D,GAAG,SAASE,GAAK,MAAO,CAAC9C,EAAG,MAAM,CAACE,YAAY,UAAU,CAACF,EAAG,cAAc,CAACyB,WAAW,CAAC,CAACnB,KAAK,YAAYoB,QAAQ,oBAAoBsB,UAAU,CAAC,OAAQ,KAAQ9C,YAAY,4BAA4BC,MAAM,CAAC,OAAS,SAAS,GAAuB,IAAlB2C,EAAIC,KAAKtD,KACrmB,CAAEa,KAAM,WAAYmC,OAAQ,CAAEkB,OAAQb,EAAIC,KAAKa,KAC/C,CAAEtD,KAAM,YAAamC,OAAQ,CAAEoB,QAASf,EAAIC,KAAKa,GAAIE,UAAWhB,EAAIC,KAAKzC,OAAQ,MAA0B,IAAlBwC,EAAIC,KAAKtD,KAAaG,EAAIyB,GAAG,wBAA0BzB,EAAIyB,GAAG,0BAA0B,CAACrB,EAAG,MAAM,CAACE,YAAY,aAAaC,MAAM,CAAC,QAAU,gBAAgB,CAACH,EAAG,MAAM,CAACG,MAAM,CAAC,aAAa,6BAA6BH,EAAG,WAAW,CAACyB,WAAW,CAAC,CAACnB,KAAK,YAAYoB,QAAQ,oBAAoBsB,UAAU,CAAC,OAAQ,KAAQ9C,YAAY,gBAAgBC,MAAM,CAAC,MAAQP,EAAIyB,GAAG,kBAAkBL,GAAG,CAAC,MAAQ,SAASM,GAAQ,OAAO1B,EAAImE,aAAajB,EAAIC,KAAKa,OAAO,CAAC5D,EAAG,MAAM,CAACE,YAAY,aAAaC,MAAM,CAAC,QAAU,kBAAkB,CAACH,EAAG,MAAM,CAACG,MAAM,CAAC,aAAa,sBAAsB,WAAW,KAAKH,EAAG,gCAAgC,CAACmD,IAAI,cAAchD,MAAM,CAAC,eAAeP,EAAIoE,UAAUhD,GAAG,CAAC,cAAgBpB,EAAIyD,oBAAoB,IACj0B,EAAkB,GCLlB,EAAS,WAAa,IAAIzD,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,UAAU,CAACE,YAAY,eAAeC,MAAM,CAAC,SAAW,GAAG,cAAc,eAAe,KAAO,KAAK,GAAK,eAAe,MAAQ,4BAA4BuC,YAAY9C,EAAI+C,GAAG,CAAC,CAAC5D,IAAI,eAAe6D,GAAG,WAAW,MAAO,CAAC5C,EAAG,WAAW,CAACG,MAAM,CAAC,QAAU,WAAWa,GAAG,CAAC,MAAQpB,EAAIsB,OAAO,CAACtB,EAAIuB,GAAGvB,EAAIwB,GAAGxB,EAAIyB,GAAG,mBAAmB4C,OAAM,MAAS,CAACjE,EAAG,MAAM,CAACE,YAAY,qCAAqC,CAACF,EAAG,MAAM,CAACE,YAAY,qBAAqB,CAACF,EAAG,MAAM,CAACE,YAAY,uBAAuB,CAACF,EAAG,MAAM,CAACE,YAAY,kBAAkB,CAACF,EAAG,eAAe,CAACE,YAAY,+BAA+BC,MAAM,CAAC,YAAcP,EAAIyB,GAAG,kBAAkBd,MAAM,CAACC,MAAOZ,EAAe,YAAEc,SAAS,SAAUC,GAAMf,EAAI4D,YAAY7C,GAAKE,WAAW,iBAAiBb,EAAG,SAAS,CAACE,YAAY,wBAAwBC,MAAM,CAAC,KAAO,WAAW,CAACH,EAAG,MAAM,CAACE,YAAY,UAAUC,MAAM,CAAC,QAAU,gBAAgB,CAACH,EAAG,MAAM,CAACG,MAAM,CAAC,aAAa,sBAAsBH,EAAG,SAAS,CAACE,YAAY,0BAA0Bc,GAAG,CAAC,MAAQ,SAASM,GAAQA,EAAOC,kBAAkBD,EAAOE,kBAAmB,UAAY,SAASF,GAAQA,EAAOE,iBAAiB5B,EAAI4D,YAAc,MAAM,CAACxD,EAAG,MAAM,CAACE,YAAY,UAAUC,MAAM,CAAC,QAAU,gBAAgB,CAACH,EAAG,MAAM,CAACG,MAAM,CAAC,aAAa,sBAAsB,OAAOH,EAAG,MAAM,CAACE,YAAY,iCAAiC,CAACF,EAAG,MAAM,CAACE,YAAY,oDAAoD,CAACF,EAAG,UAAU,CAACE,YAAY,eAAeC,MAAM,CAAC,OAASP,EAAI4C,OAAO,MAAQ5C,EAAI8D,aAAa,iBAAiB,gBAAgB,WAAa,GAAG,cAAc,QAAQ,aAAa,GAAG,WAAa,MAAM1C,GAAG,CAAC,eAAepB,EAAIsE,QAAQxB,YAAY9C,EAAI+C,GAAG,CAAC,CAAC5D,IAAI,eAAe6D,GAAG,SAASE,GAAK,MAAO,CAAClD,EAAIuB,GAAG,IAAIvB,EAAIwB,GAAG0B,EAAIC,KAAKoB,cAAc,aAAa,UACvzD,EAAkB,G,woDCyDtB,IAAMC,EAAoB,iBAEL,EAArB,kE,0BAEQ,EAAAC,eAAiB,GACjB,EAAAC,cAAgB,GAChB,EAAAC,uBAAyB,GACzB,EAAAf,YAAc,GACd,EAAAhB,OAAS,OANjB,gDAkBiB,WACL3C,KAAKwE,eAAiB,GACtBxE,KAAK2E,wBACL,iBACKC,MAAK,SAAAC,GACF,EAAKL,eAAiB,EAAKA,eAAeM,OAAOD,EAASE,KAAI,SAAAC,GAAC,MAAK,CAChEjB,GAAIiB,EAAEjB,GACNtD,KAAMuE,EAAEvE,KACRb,KAAM,OAAcqF,UACpBC,SAAU,WAGtB,iBAAWN,MAAK,SAAAC,GACZ,EAAKL,eAAiB,EAAKA,eAAeM,OAAOD,EAC5CE,KAAI,SAAAC,GAAC,MAAK,CACPjB,GAAIiB,EAAEjB,GACNtD,KAAMuE,EAAEvE,KACRyE,SAAUF,EAAEG,MACZvF,KAAM,OAAcwF,eApC5C,6BAyCeC,GACHrF,KAAKyE,cAAgBY,IA1CjC,8CA8CYrF,KAAK0E,uBAAyB,GAC9B1E,KAAK0E,uBACD1E,KAAK0E,uBACAI,OAAO9E,KAAKsF,eAjDjC,6BAoDY,WACAtF,KAAKyE,cAAcc,SAAQ,SAAAC,GACvB,IAAMtC,EAAO,EAAKsB,eAAeiB,MAAK,SAAAT,GAAC,OAAIA,EAAEjB,KAAOyB,EAAMzB,MAC1D,GAAKb,EAAL,CAEA,IAAMwC,EAAe,EAAKhB,uBAAuBe,MAAK,SAAAT,GAAC,OAAIA,EAAEjB,KAAOb,EAAKa,MAEpE2B,GACD,EAAKhB,uBAAuBiB,KAAKzC,OAGzClD,KAAK4F,MAAM,gBAAiB5F,KAAK0E,wBACjC1E,KAAK6F,SAASC,KAAK,kBAhE/B,6BAoEY9F,KAAK+F,YACL/F,KAAK6F,SAASG,KAAK,kBArE/B,mCAUwB,WACZ,OAAOhG,KAAKwE,gBAAkBxE,KAAKwE,eAC9ByB,QAAO,SAAAjB,GAAC,OAAgC,IAA5B,EAAKrB,YAAY1B,QAC7B+C,EAAEvE,KAAKyF,cAAcC,SAAS,EAAKxC,YAAYuC,gBAC5ClB,EAAEE,SAASgB,cAAcC,SAAS,EAAKxC,YAAYuC,sBAdvE,GAAwD,QACxC,gBAAP,kB,kCAMwC,gBAAxC,eAAO,iBAAkB,CAAE3B,e,qCAPf,EAA0B,gBAD1C,QACgB,WC5Doa,I,YCOrb6B,EAAY,eACd,EACA,EACA,GACA,EACA,KACA,KACA,MAIa,EAAAA,E,olDCyDf,IAAqB,EAArB,kE,0BAKI,EAAAC,oBAAqB,EACrB,EAAAlC,SAAW,GACX,EAAAxB,OAAS,OACT,EAAAgB,YAAc,GARlB,sDAWsBhD,EAAgB2F,GAC9BtG,KAAKmE,SAAWnE,KAAKuD,IACrBgD,QAAQC,IAAI,iBACZD,QAAQC,IAAIxG,KAAKmE,YAdzB,gCAmBQnE,KAAKmE,SAAWnE,KAAKuD,IACrBvD,KAAKqG,mBAAqBrG,KAAKyG,gBApBvC,wCAiCSzG,KAAK0G,MAAMC,YAAoBC,SAjCxC,mCAoCiB7C,GACT,IAAMb,EAAOlD,KAAKmE,SAASsB,MAAK,SAAAT,GAAC,OAAIA,EAAEjB,KAAOA,KACzCb,GAGLlD,KAAKmE,SAAS0C,OAAO7G,KAAKmE,SAAS2C,QAAQ5D,GAAO,KAzC1D,sCA4CoB6D,GACZ/G,KAAKmE,SAAW4C,IA7CxB,iCAkDQ/G,KAAK4F,MAAM,gBAAiBoB,KAAKC,MAAMD,KAAKE,UAAUlH,KAAKmE,cAlDnE,mCAwBoB,WACZ,OAAOnE,KAAKmE,UAAYnE,KAAKmE,SACxB8B,QAAO,SAAAjB,GAAC,OAAgC,IAA5B,EAAKrB,YAAY1B,QACzB+C,EAAEvE,KAAKyF,cAAcC,SAAS,EAAKxC,YAAYuC,gBAC5ClB,EAAEE,SAASgB,cAAcC,SAAS,EAAKxC,YAAYuC,sBA5BvE,GAAmD,QACvC,gBAAP,kB,0BACO,gBAAP,kB,oCASD,gBADC,eAAM,Q,gCAKN,MAfgB,EAAqB,gBAHzC,eAAU,CACPiB,WAAY,CAAEC,2BAAA,MAEG,WC3E6Y,ICO9Z,GAAY,eACd,EACA,EACA,GACA,EACA,KACA,WACA,MAIa,M,kCChBFC,GAA4B,CACrC5G,KAAM,CACF6G,MAAO,CACH,CAAE1H,KAAM,QAAe2H,UACvB,CAAE3H,KAAM,QAAe4H,IAAK7G,MAAO,KAG3CmB,SAAU,CACNwF,MAAO,CACH,CAAE1H,KAAM,QAAe2H,UACvB,CAAE3H,KAAM,QAAe4H,IAAK7G,MAAO,KAG3CqB,eAAgB,CACZsF,MAAO,CACH,CAAE1H,KAAM,QAAe2H,UACvB,CAAE3H,KAAM,QAAe4H,IAAK7G,MAAO,KAG3C+B,IAAK,CACD4E,MAAO,CACH,CAAE1H,KAAM,QAAe2H,UACvB,CAAE3H,KAAM,QAAe4H,IAAK7G,MAAO,M,09DC8H/C,IAAqB,GAArB,qE,0BAII,EAAAC,gBAAkB,CACdmD,GAAI,GACJtD,KAAM,GACNqB,SAAU,GACVE,eAAgB,GAChBU,IAAK,GACLE,OAAQ,GACRW,IAAK,IAGT,EAAAkE,0BAA4BT,KAAKC,MAAMD,KAAKE,UAAU,EAAKtG,kBAE3D,EAAA2C,IAAM,GACN,EAAAY,SAAW,GACX,EAAA5D,KAAOA,EAAA,KACP,EAAAC,WAAa6G,GACb,EAAAnG,aAAc,EACd,EAAAD,aAAc,EACd,EAAAyG,UAAY,GACZ,EAAAC,YAAc,GACd,EAAAC,aAAc,EACd,EAAAC,UAAW,EACX,EAAAC,gBAAiB,EACjB,EAAAnF,OAAS,OACT,EAAAT,QAAU,QACV,EAAA6F,IAAM,CACFC,MAAO,GACPC,OAAQ,IA/BhB,iJAoCQjI,KAAK+F,YApCb,2IAwCa,YACD/F,KAAKkI,mBAAiD,KAA5BlI,KAAKY,gBAAgBmD,MAC/C/D,KAAK8H,gBAAiB,EACtB,eAAa9H,KAAKkI,kBAAoBlI,KAAKkI,kBAAoBlI,KAAKY,gBAAgBmD,IAAIa,MAAK,SAAAC,GACzF,EAAKjE,gBAAkBiE,EACvB,EAAK4C,0BAA4BT,KAAKC,MAAMD,KAAKE,UAAU,EAAKtG,kBAChE,EAAKkH,gBAAiB,KAE1B,eAAO9H,KAAKkI,kBAAoBlI,KAAKkI,kBAAoBlI,KAAKY,gBAAgBmD,IAAIa,MAAK,SAAAC,GACnF,EAAKtB,IAAMsB,EACX,EAAKV,SAAW6C,KAAKC,MAAMD,KAAKE,UAAU,EAAK3D,YAlD/D,2DAuDenC,GAvDf,4EAwDYpB,KAAK4H,YAxDjB,wDAyDQ5H,KAAK4H,aAAc,EAElB5H,KAAK0G,MAAMyB,gBAAwBC,WA3D5C,SA6DmB,gBAAa,CAACpI,KAAKQ,aA7DtC,wCA8DYR,KAAK4H,aAAc,EA9D/B,6BAiEQ5H,KAAKY,gBAAgB2C,IAAMvD,KAAKuD,IAAIwB,KAAI,SAAAC,GAAC,MAAK,CAAEjB,GAAIiB,EAAEjB,GAAInE,KAAMoF,EAAEpF,SAGlC,KAA5BI,KAAKY,gBAAgBmD,GApEjC,kCAqEkB,eAAgB/D,KAAKY,iBArEvC,QAsEYZ,KAAK4H,aAAc,EACnB5H,KAAKyH,0BAA4BT,KAAKC,MAAMD,KAAKE,UAAUlH,KAAKY,kBAChEZ,KAAKmE,SAAWnE,KAAKuD,IACjBnC,GACApB,KAAKqI,QAAQ1C,KAAK,CACdlF,KAAM,qBA3E1B,yCA+E6B,eAAgBT,KAAKY,iBA/ElD,QA+EkBmD,EA/ElB,OAgFY/D,KAAK4H,aAAc,EACnB5H,KAAKY,gBAAgBmD,GAAKA,EAC1B/D,KAAKmE,SAAWnE,KAAKuD,IACrBvD,KAAKyH,0BAA4BT,KAAKC,MAAMD,KAAKE,UAAUlH,KAAKY,kBAC5DQ,GACApB,KAAKqI,QAAQ1C,KAAK,CACdlF,KAAM,qBAtF1B,wIA6FQT,KAAKqI,QAAQ1C,KAAK,CACdlF,KAAM,uBA9FlB,iCAkGesG,GACP/G,KAAK6H,SAAWd,EACZA,GAAM/G,KAAKqI,QAAQ1C,KAAK,CAAElF,KAAMT,KAAK0H,UAAW9E,OAAQ5C,KAAK2H,cACjE3H,KAAK0H,UAAY,KArGzB,iCAyGQ,IAAMY,EAAQ,CAAEpJ,IAAK,GAAIyB,MAAO,IAChC4F,QAAQC,IAAI,+BACZD,QAAQC,IAAIxG,KAAKY,gBAAgBgC,QACjC5C,KAAKY,gBAAgBgC,OAAO+C,KAAK2C,GACjC/B,QAAQC,IAAIxG,KAAKY,gBAAgBgC,UA7GzC,mCAgHiB1D,GACT,IAAMgE,EAAOlD,KAAKY,gBAAgBgC,OAAO6C,MAAK,SAAAT,GAAC,OAAIA,EAAE9F,MAAQA,KACxDgE,GAGLlD,KAAKY,gBAAgBgC,OAAOiE,OAAO7G,KAAKY,gBAAgBgC,OAAOkE,QAAQ5D,GAAO,KArHtF,4CAwH0BnB,GAClB/B,KAAKkB,aAAea,EACpB/B,KAAKiB,aAAec,IA1H5B,qCA6HmBwG,GACXvI,KAAKe,KAAKf,KAAKY,gBAAiB,iBAAkB2H,EAAKC,QACvDxI,KAAKe,KAAKf,KAAKY,gBAAiB,eAAgB2H,EAAKE,kBACrDzI,KAAK0I,cAhIb,oCAoIQ1I,KAAKY,gBAAgBoB,eAAiB,GACtChC,KAAKY,gBAAgB0B,aAAe,KArI5C,kCAyIQ,IAAMqG,EAAQ,IAAIC,MAClBD,EAAME,IAAM7I,KAAKyC,WA1IzB,sCA6IoBsE,GACZ/G,KAAKuD,IAAMwD,IA9InB,yEA2J6B+B,EAAWC,GA3JxC,wEA4JQxC,QAAQC,IAAI,OACZD,QAAQC,IAAIxG,KAAK4H,aACjBrB,QAAQC,IAAIxG,KAAK6H,UACjBtB,QAAQC,IAAIxG,KAAK8H,gBACb9H,KAAK4H,aAAe5H,KAAK6H,UAAY7H,KAAK8H,eAC1CiB,KAEC/I,KAAK0G,MAAMyB,gBAAwBC,WACpCpI,KAAK0H,UAAYoB,EAAGrI,KAAOqI,EAAGrI,KAAO,GACrCT,KAAK2H,YAAcmB,EAAGlG,OAChBoG,EAAYhJ,KAAKiJ,OAAOC,QAAQlJ,KAAKyH,0BAA2BzH,KAAKY,kBAAoBZ,KAAKiJ,OAAOC,QAAQlJ,KAAKmE,SAAUnE,KAAKuD,KACvIgD,QAAQC,IAAI,aACZD,QAAQC,IAAIwC,GACZzC,QAAQC,IAAIxG,KAAKmE,UACjBoC,QAAQC,IAAIxG,KAAKuD,KACbyF,EACAD,KAEAA,GAAK,GACJ/I,KAAK0G,MAAMyC,iBAAyBvC,SA/KrD,2IAmJQ,gBAAU,SAAV,OAAyB5G,KAAKY,gBAAgBoB,kBAnJtD,+BAuJQ,QAAShC,KAAKY,gBAAgBmD,OAvJtC,GAAiD,QACrC,gBAAP,kB,yCADgB,GAAmB,gBATvC,eAA+B,CAC5BqF,iBAD4B,SACXN,EAAIO,EAAMN,GACvB/I,KAAKsJ,mBAAmBR,EAAIC,IAEhC5B,WAAY,CAAEgC,mBAAA,KAAkBI,sBAAA,KAAqBC,sBAAA,GAAuBC,2BAAA,MAC5E7H,WAAY,CACR8H,YAAA,SAGa,cCtJ4Y,MCQ7Z,I,UAAY,eACd,GACA5J,EACA4D,GACA,EACA,KACA,WACA,OAIa,gB,sEClBf,wCAIMgG,EAA6B,CAC/BC,KAD+B,SAC1BC,EAASC,EAASC,GACnB,IAAMC,EAAmBD,EAAME,QACzBC,EAAKL,EAEX,GAAKG,GAAqBA,EAAiBvJ,WAA3C,CAEA,IAAM0J,EAAWH,EAAiBvJ,WAAWyJ,EAAGlG,IAC3CmG,GAAaA,EAAS5C,QAE3B,OAAI6C,IAAID,EAAU,QAASL,EAAQlJ,OACnC,OAAIwJ,IAAID,EAAU,UAAU,GAE5BN,EAAQQ,iBAAiB,SAAS,SAACC,GAG/B,GAFA,OAAIF,IAAID,EAAU,QAASD,EAAGtJ,OAE1BkJ,EAAQlJ,OAASkJ,EAAQlJ,MAAM2J,QAAS,CACxC,IAAMC,EAAaL,EAAS5C,MAAgB7B,MAAK,SAAAT,GAAC,OAAIA,EAAEpF,OAAS,OAAe4K,WAC1EC,EAAkBV,EAAiBvJ,WAAWqJ,EAAQlJ,MAAM2J,SAClEC,EAAU5J,MAAQ8J,EAAgB9J,MAEtC,eAAcuJ,GAAUtF,MAAK,SAAAC,GACzB,OAAIsF,IAAID,EAAU,UAAWrF,EAAS6F,SACtC,OAAIP,IAAID,EAAU,QAASrF,EAAS9C,gBAKhD4I,OA5B+B,SA4BxBf,EAASC,EAASC,GACrB,IAAMC,EAAmBD,EAAME,QACzBE,EAAWH,EAAiBvJ,WAAWoJ,EAAQ7F,IACrD,OAAIoG,IAAID,EAAU,QAASL,EAAQlJ,QAEvCiK,OAjC+B,SAiCxBhB,EAASC,EAASC,GACrB,IAAMC,EAAmBD,EAAME,QACzBE,EAAWH,EAAiBvJ,WAAWoJ,EAAQ7F,IACrD,OAAIoG,IAAID,EAAU,QAAS,MAC3B,OAAIC,IAAID,EAAU,UAAW,IAC7B,OAAIC,IAAID,EAAU,QAAS,IAC3B,OAAIC,IAAID,EAAU,UAAU,KAIrB,U,oCCFf,IAAYW,EA+BAC,EAUAC,EAKAC,EA9CZ,iJAAYH,GACR,sBACA,gCAFJ,CAAYA,MAAa,KA+BzB,SAAYC,GACR,qBACA,2BAFJ,CAAYA,MAAc,KAU1B,SAAYC,GACR,qBACA,iBAFJ,CAAYA,MAAa,KAKzB,SAAYC,GACR,uBACA,yBACA,qBACA,uCAJJ,CAAYA,MAAY,M,kCC5FxB,IAAIlL,EAAS,WAAa,IAAIC,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACE,YAAY,uBAAuB,CAACF,EAAG,WAAW,CAACE,YAAY,OAAOC,MAAM,CAAC,KAAO,SAAS,QAAU,WAAWa,GAAG,CAAC,MAAQpB,EAAIkL,iBAAiB,CAAClL,EAAIuB,GAAG,IAAIvB,EAAIwB,GAAGxB,EAAImL,cAAc,OAAQnL,EAAIoL,QAAQC,SAAWrL,EAAIsL,WAAWC,UAAWnL,EAAG,MAAM,CAACE,YAAY,6BAA6B,CAACF,EAAG,MAAM,CAACE,YAAY,sBAAsBkL,MAAM,CAAE,eAA2C,MAA3BxL,EAAIoL,QAAQK,YAAqBC,MAAM,CAAGzD,MAAO0D,KAAKC,MAAM5L,EAAIoL,QAAQK,YAAc,SAAWzL,EAAIyC,KAAMzC,EAAIoL,QAAQC,SAAWrL,EAAIsL,WAAWO,MAAOzL,EAAG,MAAM,CAACE,YAAY,gEAAgEwL,YAAY,CAAC,MAAQ,YAAY,CAAC9L,EAAIuB,GAAG,IAAIvB,EAAIwB,GAAGxB,EAAIyB,GAAG,sBAAsB,KAAMzB,EAAIoL,QAAQW,OAAS/L,EAAIoL,QAAQC,SAAWrL,EAAIsL,WAAWO,MAAOzL,EAAG,WAAW,CAACE,YAAY,qDAAqDC,MAAM,CAAC,KAAO,UAAUa,GAAG,CAAC,MAAQpB,EAAIgM,cAAc,CAAC5L,EAAG,MAAM,CAACE,YAAY,aAAaC,MAAM,CAAC,QAAU,gBAAgB,CAACH,EAAG,MAAM,CAACG,MAAM,CAAC,aAAa,sBAAsBP,EAAIyC,KAAMzC,EAAIoL,QAAQW,OAAS/L,EAAIoL,QAAQC,SAAWrL,EAAIsL,WAAWO,MAAOzL,EAAG,WAAW,CAACE,YAAY,qDAAqDC,MAAM,CAAC,KAAO,UAAUa,GAAG,CAAC,MAAQpB,EAAIiM,aAAa,CAAC7L,EAAG,MAAM,CAACE,YAAY,aAAawL,YAAY,CAAC,MAAQ,QAAQvL,MAAM,CAAC,QAAU,gBAAgB,CAACH,EAAG,MAAM,CAACG,MAAM,CAAC,aAAa,qBAAqBP,EAAIyC,MAAM,GAAGzC,EAAIyC,KAAKrC,EAAG,qBAAqB,CAACmD,IAAI,eAAehD,MAAM,CAAC,OAASP,EAAIkM,OAAO,aAAalM,EAAImM,UAAU,oBAAmB,GAAO/K,GAAG,CAAC,oBAAsBpB,EAAIoM,oBAAoB,aAAepM,EAAIqM,aAAa,eAAiBrM,EAAIsM,cAAc,kBAAoBtM,EAAIuM,sBAAsB,IAClvD5I,EAAkB,G,woDC+DtB,IAAqB,EAArB,kE,0BAKI,EAAA2H,WAAa,OACb,EAAAF,QAAU,GANd,qDA6BSnL,KAAK0G,MAAM6F,aAAqBtB,mBA7BzC,0CAgCwBlJ,GAChB/B,KAAK4F,MAAM,sBAAuB7D,KAjC1C,oCAqCS/B,KAAK0G,MAAM6F,aAAqBR,gBArCzC,mCAyCS/L,KAAK0G,MAAM6F,aAAqBP,eAzCzC,mCA4CiBzD,GACTvI,KAAK4F,MAAM,eAAgB2C,KA7CnC,sCAiDQvI,KAAK4F,MAAM,oBAjDnB,wCAoDsBuF,GACdnL,KAAKmL,QAAUA,IArDvB,mCAUQ,IAAMnL,KAAKkM,WAAuC,IAA1BlM,KAAKkM,UAAUjK,QAAiBjC,KAAKkM,UAAUjK,OAAS,EAC5E,OAAO1B,EAAA,KAAKnB,EAAE,mBAGlB,IAAMoN,EAAWxM,KAAKkM,UAAU,GAEhC,OAAQM,GACR,IAAK,QACD,OAAOjM,EAAA,KAAKnB,EAAE,2BAClB,IAAK,QACD,OAAOmB,EAAA,KAAKnB,EAAE,2BAClB,QACI,OAAOmB,EAAA,KAAKnB,EAAE,wBAtB1B,GAAqD,QACzC,gBAAP,kB,gCACO,gBAAP,kB,6BAFgB,EAAuB,gBAL3C,eAAU,CACP+H,WAAY,CACRsF,mBAAA,SAGa,WChEia,I,wBCQlbrG,EAAY,eACd,EACAtG,EACA4D,GACA,EACA,KACA,WACA,MAIa,OAAA0C,E,6CClBfsG,EAAQC,YAAa,EACrB,IAAIC,EAAsB,WACtB,SAASA,EAAKC,GACV,IAAKA,EACD,MAAM,IAAIC,UAAU,2CAExB9M,KAAKW,MAAQiM,EAAKG,MACdF,GAAQD,EAAKI,OAAOH,KACpB7M,KAAKW,MAAQkM,GA6CrB,OA1CAD,EAAKI,OAAS,SAAUH,GACpB,IAAIlM,EAAQkM,EAAKhN,WACjB,OAAOgN,IAASA,aAAgBD,GAAQA,EAAKK,UAAUC,KAAKvM,KAEhEiM,EAAKO,OAAS,WACV,OAAO,IAAIP,EAAK,CAACA,EAAKQ,IAAI,GAAIR,EAAKQ,IAAI,GAAIR,EAAKQ,IAAI,GAAIR,EAAKQ,IAAI,GAAIR,EAAKQ,IAAI,IAAIC,KAAK,OAE3FT,EAAKU,YAAc,WACf,OAAO,IAAIV,EAAK,cAEpBA,EAAK3F,MAAQ,SAAU4F,GACnB,OAAO,IAAID,EAAKC,IAEpBD,EAAKW,IAAM,WACP,MAAO,CAACX,EAAKQ,IAAI,GAAIR,EAAKQ,IAAI,GAAIR,EAAKQ,IAAI,GAAIR,EAAKQ,IAAI,GAAIR,EAAKQ,IAAI,IAAIC,KAAK,MAElFT,EAAKQ,IAAM,SAAUI,GAEjB,IADA,IAAIC,EAAM,GACDC,EAAI,EAAGA,EAAIF,EAAOE,IAEvBD,IAA+B,OAArB,EAAI/B,KAAKiC,UAAuB,GAAG9N,SAAS,IAAI+N,UAAU,GAExE,OAAOH,GAEXb,EAAKiB,UAAUC,OAAS,SAAUC,GAG9B,OAAOnB,EAAKI,OAAOe,IAAU/N,KAAKW,QAAUoN,EAAMlO,YAEtD+M,EAAKiB,UAAUG,QAAU,WACrB,OAAOhO,KAAKW,QAAUiM,EAAKG,OAE/BH,EAAKiB,UAAUhO,SAAW,WACtB,OAAOG,KAAKW,OAEhBiM,EAAKiB,UAAUI,OAAS,WACpB,MAAO,CACHtN,MAAOX,KAAKW,QAGpBiM,EAAKK,UAAY,IAAIiB,OAAO,iEAAkE,KAC9FtB,EAAKG,MAAQ,uCACNH,EApDc,GAsDzBF,EAAQE,KAAOA,G,kCCxDf,IAAYuB,EAAZ,2CAAYA,GACR,8BACA,wCACA,oCACA,gCACA,gCACA,4BACA,wBACA,oCACA,8BACA,kCAVJ,CAAYA,MAAa,M,mCCAzB,IAAIrO,EAAS,WAAa,IAAIC,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACA,EAAG,UAAU,CAACG,MAAM,CAAC,SAAW,GAAG,GAAK,iCAAiCuC,YAAY9C,EAAI+C,GAAG,CAAC,CAAC5D,IAAI,eAAe6D,GAAG,WAAW,MAAO,CAAC5C,EAAG,WAAW,CAACG,MAAM,CAAC,QAAU,WAAWa,GAAG,CAAC,MAAQpB,EAAIuK,UAAU,CAACvK,EAAIuB,GAAGvB,EAAIwB,GAAGxB,EAAIyB,GAAG,6BAA6BrB,EAAG,WAAW,CAACG,MAAM,CAAC,QAAU,QAAQa,GAAG,CAAC,MAAQpB,EAAIqO,UAAU,CAACrO,EAAIuB,GAAGvB,EAAIwB,GAAGxB,EAAIyB,GAAG,sBAAsB4C,OAAM,MAAS,CAACjE,EAAG,MAAM,CAACE,YAAY,2BAA2B,CAACF,EAAG,MAAM,CAACE,YAAY,gCAAgCC,MAAM,CAAC,QAAU,gBAAgB,CAACH,EAAG,MAAM,CAACG,MAAM,CAAC,aAAa,oBAAoBH,EAAG,KAAK,CAACJ,EAAIuB,GAAGvB,EAAIwB,GAAGxB,EAAIyB,GAAG,+BAA+BrB,EAAG,QAAQ,CAACJ,EAAIuB,GAAGvB,EAAIwB,GAAGxB,EAAIyB,GAAG,0CAA0C,IACvyBkC,EAAkB,G,omDC+BtB,IAAqByF,EAArB,6HAEQnJ,KAAK6F,SAASG,KAAK,mCAF3B,gCAMQhG,KAAK4F,MAAM,YAAY,GACvB5F,KAAK6F,SAASC,KAAK,mCAP3B,gCAWQ9F,KAAK4F,MAAM,YAAY,GACvB5F,KAAK6F,SAASC,KAAK,qCAZ3B,GAA8C,QAAzBqD,EAAgB,gBADpC,QACoBA,GAAA,QChC0Z,I,YCO3a/C,EAAY,eACd,EACAtG,EACA4D,GACA,EACA,KACA,KACA,MAIa,OAAA0C,E,0nBCfR,SAAeiI,EAAtB,kC,kCAAO,WAA+BC,GAA/B,SAAAC,EAAA,gFACI,IAAIC,SAAQ,SAACC,EAASC,GACzB,OAAIC,KAAK,aAAcL,GAAO1J,MAC1B,SAAAC,GACI4J,EAAQ5J,EAASkC,SAErB,SAAA6E,GACI8C,EAAO9C,UAPhB,2C,wBAaA,SAAegD,IAAtB,+B,kCAAO,sBAAAL,EAAA,gFACI,IAAIC,SAAQ,SAACC,EAASC,GACzB,OAAIG,IAAI,cAAcjK,MAClB,SAAAC,GACI4J,EAAQ5J,EAASkC,SAErB,SAAA6E,GACI8C,EAAO9C,UAPhB,2C,wBAaA,SAAekD,EAAtB,kC,kCAAO,WAAgC9K,GAAhC,SAAAuK,EAAA,gFACI,IAAIC,SAAQ,SAACC,EAASC,GACzB,OAAIG,IAAJ,qBAAsB7K,IAAWY,MAC7B,SAAAC,GACI4J,EAAQ5J,EAASkC,SAErB,SAAA6E,GACI8C,EAAO9C,UAPhB,2C,wBAaA,SAAemD,EAAtB,kC,kCAAO,WAA+BT,GAA/B,SAAAC,EAAA,gFACI,IAAIC,SAAQ,SAACC,EAASC,GACzB,OAAIM,IAAI,cAAeV,GAAO1J,MAC1B,SAAAC,GACI4J,EAAQ5J,EAASkC,SAErB,SAAA6E,GACI8C,EAAO9C,UAPhB,2C,wBAaA,SAAeqD,EAAtB,kC,kCAAO,WAA+BjL,GAA/B,SAAAuK,EAAA,gFACI,IAAIC,SAAQ,SAACC,EAASC,GACzB,OAAIQ,OAAJ,qBAAyBlL,IAAWY,MAChC,SAAAC,GACI4J,EAAQ5J,EAASkC,SAErB,SAAA6E,GACI8C,EAAO9C,UAPhB,2C,wBAaA,SAAeuD,EAAtB,kC,kCAAO,WAAoCrL,GAApC,SAAAyK,EAAA,gFACI,IAAIC,SAAQ,SAACC,EAASC,GACzB,OAAIG,IAAJ,0BAA2B/K,IAAUc,MACjC,SAAAC,GACI4J,EAAQ5J,EAASkC,SAErB,SAAA6E,GACI8C,EAAO9C,UAPhB,2C,wBAaA,SAAewD,EAAtB,kC,kCAAO,WAAoCpL,GAApC,SAAAuK,EAAA,gFACI,IAAIC,SAAQ,SAACC,EAASC,GACzB,OAAIG,IAAJ,2BAA4B7K,IAAWY,MACnC,SAAAC,GACI4J,EAAQ5J,EAASkC,SAErB,SAAA6E,GACI8C,EAAO9C,UAPhB,2C,+sBCrEA,SAAeyD,EAAtB,kC,kCAAO,WAAkCC,GAAlC,SAAAf,EAAA,gFACI,IAAIC,SAAQ,SAACC,EAASC,GACzB,OAAIG,IAAJ,kBAAmBS,IAAU1K,MACzB,SAAAC,GACI4J,EAAQ5J,EAASkC,SAErB,SAAA6E,GACI8C,EAAO9C,UAPhB,2C,wBAaA,SAAe2D,EAAtB,kC,kCAAO,WAAmCD,GAAnC,SAAAf,EAAA,gFACI,IAAIC,SAAQ,SAACC,EAASC,GACzBW,EAAmBC,GAAQ1K,MACvB,SAAAC,GACI,IAAM2K,EAAQ,GACdC,EAAS5K,EAAU2K,GACnBf,EAAQe,MAEZ,SAAA5D,GACI8C,EAAO9C,UAThB,2C,wBAeP,SAAS6D,EAASxD,EAAgBuD,GAC9BA,EAAM7J,KAAK,CAAE5B,GAAIkI,EAAOlI,GAAI2L,KAAMzD,EAAOyD,YACjBC,IAApB1D,EAAO2D,UAA0B3D,EAAO2D,SAAS3N,OAAS,GAC1DgK,EAAO2D,SAASrK,SAAQ,SAAAqK,GAAQ,OAAIH,EAASG,EAAUJ,MAIxD,SAAeK,EAAtB,kC,kCAAO,WACHnP,GADG,SAAA6N,EAAA,gFAGI,IAAIC,SAAQ,SAACC,EAASC,GACzB,OAAIC,KAAK,UAAWjO,GAAOkE,MACvB,SAAAC,GACI4J,EAAQ5J,EAASkC,SAErB,SAAA6E,GACI8C,EAAO9C,UAThB,2C,wBAeA,SAAekE,EAAtB,kC,kCAAO,WAA0BpP,GAA1B,SAAA6N,EAAA,gFACI,IAAIC,SAAQ,SAACC,EAASC,GACzB,OAAIC,KAAK,eAAgBjO,GAAOkE,MAC5B,SAAAC,GACI4J,EAAQ5J,EAASkC,SAErB,SAAA6E,GACI8C,EAAO9C,UAPhB,2C,wBAaA,SAAemE,EAAtB,kC,kCAAO,WAA0BrP,GAA1B,SAAA6N,EAAA,gFACI,IAAIC,SAAQ,SAACC,EAASC,GACzB,OAAIC,KAAK,qBAAsBjO,GAAOkE,MAClC,SAAAC,GACI4J,EAAQ5J,EAASkC,SAErB,SAAA6E,GACI8C,EAAO9C,UAPhB,2C,wBAaA,SAAeoE,EAAtB,kC,kCAAO,WAA2BjM,GAA3B,SAAAwK,EAAA,gFACI,IAAIC,SAAQ,SAACC,EAASC,GACzB,OAAIG,IAAJ,yBAA0B9K,IAAMa,MAC5B,SAAAC,GACI4J,EAAQ5J,EAASkC,SAErB,SAAA6E,GACI8C,EAAO9C,UAPhB,2C,wBAaA,SAAeqE,EAAtB,kC,kCAAO,WAA4BlM,GAA5B,SAAAwK,EAAA,gFACI,IAAIC,SAAQ,SAACC,EAASC,GACzB,OAAIQ,OAAJ,kBAAsBnL,IAAMa,MACxB,SAAAC,GACI4J,EAAQ5J,EAASkC,SAErB,SAAA6E,GACI8C,EAAO9C,UAPhB,2C,wBAaA,SAAesE,EAAtB,kC,kCAAO,WACHnM,GADG,SAAAwK,EAAA,gFAEI,IAAIC,SAAQ,SAACC,EAASC,GACzB,OAAIG,IAAJ,0BAA2B9K,IAAMa,MAC7B,SAAAC,GACI4J,EAAQ5J,EAASkC,SAErB,SAAA6E,GACI8C,EAAO9C,UARhB,2C,wBAcA,SAAeuE,EAAtB,kC,kCAAO,WACHb,GADG,SAAAf,EAAA,gFAEI,IAAIC,SAAQ,SAACC,EAASC,GACzB,OAAIG,IAAJ,kBAAmBS,EAAnB,UAAkC1K,MAC9B,SAAAC,GACI4J,EAAQ5J,EAASkC,SAErB,SAAA6E,GACI8C,EAAO9C,UARhB,2C,4DChIP,yBAAogB,EAAG,G,kCCAvgB,IAAI9L,EAAS,WAAa,IAAIC,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACyB,WAAW,CAAC,CAACnB,KAAK,MAAMoB,QAAQ,UAAUxB,YAAY,oBAAoBkL,MAAM,CAAE6E,OAASrQ,EAAIqQ,SAAU,CAAErQ,EAAkB,eAAEI,EAAG,WAAW,CAACG,MAAM,CAAC,SAAWP,EAAImB,YAAY,QAAU,WAAWC,GAAG,CAAC,MAAQpB,EAAIsB,OAAO,CAACtB,EAAIuB,GAAGvB,EAAIwB,GAAGxB,EAAIyB,GAAG,mBAAmBzB,EAAIyC,KAAMzC,EAAIsQ,gBAAkBtQ,EAAIuQ,QAASnQ,EAAG,WAAW,CAACG,MAAM,CAAC,SAAWP,EAAImB,YAAY,QAAU,WAAWC,GAAG,CAAC,MAAQpB,EAAIwQ,cAAc,CAACxQ,EAAIuB,GAAGvB,EAAIwB,GAAGxB,EAAIyB,GAAG,0BAA0BzB,EAAIyC,KAAMzC,EAAIyQ,eAAiBzQ,EAAIuQ,QAASnQ,EAAG,WAAW,CAACE,YAAY,cAAcC,MAAM,CAAC,SAAWP,EAAIkB,YAAY,QAAU,WAAWE,GAAG,CAAC,MAAQ,SAASM,GAAQ,OAAO1B,EAAI6F,MAAM,iBAAiB,CAACzF,EAAG,OAAO,CAACE,YAAY,WAAW,CAACF,EAAG,MAAM,CAACE,YAAY,UAAUC,MAAM,CAAC,QAAU,gBAAgB,CAACH,EAAG,MAAM,CAACG,MAAM,CAAC,aAAa,oBAAoBH,EAAG,OAAO,CAACE,YAAY,gBAAgB,CAACN,EAAIuB,GAAG,IAAIvB,EAAIwB,GAAGxB,EAAIyB,GAAG,kBAAkB,SAASzB,EAAIyC,KAAMzC,EAAIyQ,eAAiBzQ,EAAIuQ,QAASnQ,EAAG,WAAW,CAACE,YAAY,cAAcC,MAAM,CAAC,QAAU,WAAWa,GAAG,CAAC,MAAQ,SAASM,GAAQ,OAAO1B,EAAI6F,MAAM,mBAAmB,CAACzF,EAAG,OAAO,CAACE,YAAY,WAAW,CAACF,EAAG,MAAM,CAACE,YAAY,UAAUC,MAAM,CAAC,QAAU,YAAY,CAACH,EAAG,MAAM,CAACG,MAAM,CAAC,aAAa,uBAAuBH,EAAG,OAAO,CAACE,YAAY,gBAAgB,CAACN,EAAIuB,GAAG,IAAIvB,EAAIwB,GAAGxB,EAAIyB,GAAG,mBAAmB,SAASzB,EAAIyC,KAAKrC,EAAG,WAAW,CAACE,YAAY,OAAOC,MAAM,CAAC,SAAWP,EAAIkB,YAAY,QAAU,aAAaE,GAAG,CAAC,MAAQpB,EAAIqB,OAAO,CAACrB,EAAIuB,GAAGvB,EAAIwB,GAAGxB,EAAIyB,GAAG,oBAAoB,IACtjDkC,EAAkB,G,4nDC+BtB,IAEI,EAFEa,EAAoB,iBAuBL,EAArB,kE,0BAOI,EAAAkM,cAAgB,OAChB,EAAAC,cAAgB,OAChB,EAAAF,cAAe,EAOf,EAAAJ,QAAS,EAhBb,2CAmBapQ,KAAKsQ,QACLtQ,KAAK4F,MAAM,QAAQ,GADL5F,KAAK4F,MAAM,QAAQ,KAnB9C,oCAwBQ5F,KAAK4F,MAAM,QAAQ,KAxB3B,6BA4BQ5F,KAAK4F,MAAM,UA5BnB,gCAkCQ5F,KAAKwQ,aAAoC,wBAArBxQ,KAAK2Q,OAAOlQ,OAlCxC,8BAYQ,OAAOT,KAAK0Q,cAAc1Q,KAAK4Q,eAAeC,YAC1C7Q,KAAKyQ,cAAczQ,KAAKyQ,cAAcK,mBAblD,qCAsCQ,OAA+B,OAAxB9Q,KAAK+Q,qBAAmDpB,IAAxB3P,KAAK+Q,gBACtC/Q,KAAK0Q,cAAc1Q,KAAK4Q,eAAeC,YAAa7Q,KAAKyQ,cAAczQ,KAAK+Q,qBAvC1F,GAAiD,QACrC,gBAAP,kB,qCACyB,gBAAzB,eAAK,CAAEC,SAAS,K,kCACS,gBAAzB,eAAK,CAAEA,SAAS,K,kCACwB,gBAAxC,eAAO,iBAAkB,CAAEzM,e,qCAJX,EAAmB,gBAnBvC,eAAU,CACP3C,WAAY,CACRqP,IAAK,CACDC,SAAU,SAAUtH,EAASC,EAASsH,GAClC,IAAIC,EAAUC,OAAOC,YAAc1H,EAAQ2H,wBAAwBC,IAAO,GAC1E,EAAS,WACL,IAAIC,EAAMC,SAASC,gBACfH,GAAOH,OAAOC,aAAeG,EAAIG,YAAcH,EAAII,WAAa,GAChDV,EAAMnH,QAAgBoG,OAAtCoB,GAAOJ,GAGfC,OAAOjH,iBAAiB,SAAU,GAAQ,IAE9CQ,OAAQ,SAAUhB,EAASC,EAASsH,GAChCE,OAAOS,oBAAoB,SAAU,GAAQ,SAKxC,WCvD2Y,I,wBCQ5Z1L,EAAY,eACd,EACAtG,EACA4D,GACA,EACA,KACA,WACA,MAIa,OAAA0C,E,2CCnBf,yBAAqgB,EAAG,G,kCCAxgB,yBAA8lB,EAAG,G","file":"js/chunk-91365ebe.75e88c15.js","sourcesContent":["import i18n from \"@/i18n\";\r\nimport { AclMemberType } from \"@/services/security/types\";\r\n\r\nexport const customExtensionsFields = [\r\n {\r\n key: \"name\",\r\n label: i18n.t(\"common.name\"),\r\n sortable: true,\r\n sortDirection: \"desc\"\r\n },\r\n {\r\n key: \"actions\",\r\n label: \"\"\r\n }\r\n];\r\n\r\nexport const paramsFields = [\r\n {\r\n key: \"key\",\r\n label: i18n.t(\"customExtensions.key\")\r\n },\r\n {\r\n key: \"value\",\r\n label: i18n.t(\"customExtensions.value\")\r\n },\r\n {\r\n key: \"actions\",\r\n label: \"\"\r\n }\r\n];\r\n\r\nexport const accessFields = [\r\n {\r\n key: \"name\",\r\n label: i18n.t(\"common.name\"),\r\n sortable: true\r\n },\r\n {\r\n key: \"username\",\r\n label: i18n.t(\"channels.acl.username\"),\r\n sortable: true\r\n },\r\n {\r\n key: \"type\",\r\n label: i18n.t(\"common.type\"),\r\n formatter: formatType,\r\n sortable: true\r\n },\r\n {\r\n key: \"actions\",\r\n label: \"\"\r\n }\r\n];\r\n\r\nexport const addExtensionAccessFields = [\r\n {\r\n key: \"name\",\r\n label: i18n.t(\"common.name\")\r\n },\r\n {\r\n key: \"username\",\r\n label: i18n.t(\"channels.acl.username\")\r\n },\r\n {\r\n key: \"type\",\r\n label: i18n.t(\"common.type\"),\r\n formatter: formatType\r\n },\r\n {\r\n key: \"access\",\r\n label: \"\"\r\n }\r\n];\r\n\r\nfunction formatType(type: AclMemberType) {\r\n return AclMemberType[type].toString();\r\n}\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('header',{staticClass:\"page-header\"},[_c('div',{staticClass:\"d-flex justify-content-between\"},[_c('vsc-name-input',{attrs:{\"placeholder\":_vm.i18n.t('customExtensions.enterName'),\"validator\":_vm.validators.name},model:{value:(_vm.customExtension.name),callback:function ($$v) {_vm.$set(_vm.customExtension, \"name\", $$v)},expression:\"customExtension.name\"}}),_c('div',[_c('HeaderActionButtons',{attrs:{\"prevent-back\":_vm.preventBack,\"prevent-save\":_vm.preventSave},on:{\"back\":_vm.back,\"save\":_vm.save}})],1)],1)]),_c('div',{staticClass:\"panel\"},[_c('header',{staticClass:\"panel-header\"},[_c('div',{staticClass:\"d-flex\"},[_c('h4',[_vm._v(_vm._s(_vm.$t(\"common.settings\")))])])]),_c('b-form',{attrs:{\"autocomplete\":\"off\"},on:{\"submit\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.save($event)}}},[_c('div',{staticClass:\"vsc-form-control align-items-center\"},[_c('label',{staticClass:\"vsc-property-label mt-3\"},[_vm._v(_vm._s(_vm.$t(\"customExtensions.menuText\"))+\":\")]),_c('b-form-input',{directives:[{name:\"validate\",rawName:\"v-validate\",value:(_vm.customExtension.menuText),expression:\"customExtension.menuText\"}],staticClass:\"vsc-input vsc-input-lg\",attrs:{\"placeholder\":_vm.$t('customExtensions.menuText'),\"id\":\"menuText\",\"state\":_vm.validators.menuText.state},model:{value:(_vm.customExtension.menuText),callback:function ($$v) {_vm.$set(_vm.customExtension, \"menuText\", $$v)},expression:\"customExtension.menuText\"}})],1),_c('div',{staticClass:\"vsc-form-control align-items-center\"},[_c('label',{staticClass:\"vsc-property-label mt-3\"},[_vm._v(_vm._s(_vm.$t(\"customExtensions.menuIcon\"))+\":\")]),_c('direct-file-upload-control',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.customExtension.menuIconFileId || _vm.customExtension.menuIconFileId.length === 0),expression:\"!customExtension.menuIconFileId || customExtension.menuIconFileId.length === 0\"}],attrs:{\"file-types\":['Image'],\"folder\":_vm.folders.DirectFiles},on:{\"toggleHeaderButtons\":_vm.onToggleHeaderButtons,\"fileUploaded\":_vm.onfileUploaded}}),(_vm.customExtension.menuIconName && _vm.customExtension.menuIconName.length > 0)?_c('div',{staticClass:\"image-name-container\"},[_vm._v(\" \"+_vm._s(_vm.customExtension.menuIconName)+\" \"),_c('svg',{staticClass:\"remove-image-icon mt-3\",attrs:{\"viewBox\":\"0 0 100 100\"},on:{\"click\":_vm.removeImage}},[_c('use',{attrs:{\"xlink:href\":\"#plus-icon\"}})])]):_vm._e(),(_vm.customExtension.menuIconName && _vm.customExtension.menuIconName.length > 0)?_c('img',{staticClass:\"icon-image\",attrs:{\"src\":_vm.imageUrl,\"draggable\":\"false\"}}):_vm._e()],1),_c('div',{staticClass:\"vsc-form-control align-items-center\"},[_c('label',{staticClass:\"vsc-property-label mt-3\"},[_vm._v(_vm._s(_vm.$t(\"customExtensions.url\"))+\":\")]),_c('b-form-input',{directives:[{name:\"validate\",rawName:\"v-validate\",value:(_vm.customExtension.url),expression:\"customExtension.url\"}],staticClass:\"vsc-input vsc-input-lg\",attrs:{\"placeholder\":_vm.$t('customExtensions.url'),\"id\":\"url\",\"state\":_vm.validators.url.state},model:{value:(_vm.customExtension.url),callback:function ($$v) {_vm.$set(_vm.customExtension, \"url\", $$v)},expression:\"customExtension.url\"}})],1),_c('div',{staticClass:\"vsc-form-control\"},[_c('label',{staticClass:\"vsc-property-label mt-3\"},[_vm._v(_vm._s(_vm.$t(\"customExtensions.params\"))+\":\")]),_c('div',{staticClass:\"vsc-input-lg\"},[_c('b-table',{staticClass:\"thead-sticky\",attrs:{\"fields\":_vm.fields,\"items\":_vm.customExtension.params,\"head-variant\":\"light\",\"hover\":\"\",\"tbody-tr-class\":\"vsc-list-item\",\"responsive\":\"sm\",\"show-empty\":\"\"},scopedSlots:_vm._u([{key:\"empty\",fn:function(scope){return [_c('h4',{staticClass:\"text-center\"},[_vm._v(_vm._s(_vm.$t(\"common.emptyTable\")))])]}},{key:\"cell(key)\",fn:function(row){return [_c('b-form-input',{attrs:{\"id\":(\"key-\" + (row.item.id)),\"size\":\"sm\"},model:{value:(row.item.key),callback:function ($$v) {_vm.$set(row.item, \"key\", $$v)},expression:\"row.item.key\"}})]}},{key:\"cell(value)\",fn:function(row){return [_c('b-form-input',{attrs:{\"id\":(\"value-\" + (row.item.id)),\"size\":\"sm\"},model:{value:(row.item.value),callback:function ($$v) {_vm.$set(row.item, \"value\", $$v)},expression:\"row.item.value\"}})]}},{key:\"head(actions)\",fn:function(row){return [_c('b-button',{directives:[{name:\"b-tooltip\",rawName:\"v-b-tooltip.hover\",modifiers:{\"hover\":true}}],staticClass:\"btn-only-icon\",attrs:{\"title\":_vm.$t('common.add')},on:{\"click\":_vm.addParam}},[_c('svg',{staticClass:\"vc-icon_md\",attrs:{\"viewBox\":\"0 0 100 100\"}},[_c('use',{attrs:{\"xlink:href\":\"#plus-icon\"}})])])]}},{key:\"cell(actions)\",fn:function(row){return [_c('b-button',{directives:[{name:\"b-tooltip\",rawName:\"v-b-tooltip.hover\",modifiers:{\"hover\":true}}],staticClass:\"btn-only-icon btn-danger\",attrs:{\"title\":_vm.$t('common.remove')},on:{\"click\":function($event){return _vm.removeButton(row.item.key)}}},[_c('svg',{staticClass:\"vc-icon_md\",attrs:{\"viewBox\":\"0 0 100 100\"}},[_c('use',{attrs:{\"xlink:href\":\"#close-icon\"}})])])]}}])})],1)])])],1),_c('div',{staticClass:\"panel\"},[_c('header',{staticClass:\"panel-header\"},[_c('div',{staticClass:\"d-flex\"},[_c('h4',[_vm._v(_vm._s(_vm.$t(\"customExtensions.acl\")))])])]),_c('custom-extension-access',{ref:\"AccessComponent\",attrs:{\"acl\":_vm.acl,\"collapseState\":\"false\"},on:{\"accessUpdated\":_vm.onAccessUpdated}})],1),_c('unsaved-form-modal',{ref:\"UnsavedFormModal\",on:{\"continue\":_vm.onContinue}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('b-collapse',{attrs:{\"visible\":\"visible\"}},[_c('div',{staticClass:\"panel-body\"},[_c('div',{staticClass:\"table-top-actions\"},[_c('div',{staticClass:\"actions-btn-wrapper\"},[_c('div',{staticClass:\"content-search\"},[_c('b-form-input',{staticClass:\"form-control form-control-sm\",attrs:{\"placeholder\":_vm.$t('common.search')},model:{value:(_vm.searchQuery),callback:function ($$v) {_vm.searchQuery=$$v},expression:\"searchQuery\"}}),_c('button',{staticClass:\"search-btn btn btn-sm\",attrs:{\"type\":\"submit\"}},[_c('svg',{staticClass:\"vc-icon\",attrs:{\"viewBox\":\"0 0 100 100\"}},[_c('use',{attrs:{\"xlink:href\":\"#search-icon\"}})])]),_c('button',{staticClass:\"search-clear btn btn-sm\",on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();},\"mousedown\":function($event){$event.preventDefault();_vm.searchQuery = ''}}},[_c('svg',{staticClass:\"vc-icon\",attrs:{\"viewBox\":\"0 0 100 100\"}},[_c('use',{attrs:{\"xlink:href\":\"#close-icon\"}})])])],1),_c('b-button',{attrs:{\"variant\":\"primary\"},on:{\"click\":function($event){return _vm.promptAddAccess()}}},[_vm._v(_vm._s(_vm.$t(\"channels.addUserUserGroup\")))])],1)]),_c('b-table',{attrs:{\"fields\":_vm.fields,\"items\":_vm.filteredData,\"head-variant\":\"light\",\"hover\":\"\",\"responsive\":\"sm\",\"show-empty\":\"\"},scopedSlots:_vm._u([{key:\"cell(name)\",fn:function(row){return [_c('div',{staticClass:\"vsc-list-item\"},[_c('router-link',{staticClass:\"btn btn-only-icon goto-item\",attrs:{\"to\":row.item.type === 0 ?\n { name: 'editUser', params: { userId: row.item.id }} :\n { name: 'EditGroup', params: { groupId: row.item.id, groupName: row.item.name }}}},[_c('span',{ref:'element_' + row.item.id,staticClass:\"vsc-list-item-name goToArrow\"},[_vm._v(\" \"+_vm._s(row.item.name)+\" \")])])],1)]}},{key:\"empty\",fn:function(scope){return [_c('h4',{staticClass:\"text-center\"},[_vm._v(_vm._s(_vm.$t(\"common.emptyTable\")))])]}},{key:\"cell(actions)\",fn:function(row){return [_c('div',{staticClass:\"d-flex\"},[_c('router-link',{directives:[{name:\"b-tooltip\",rawName:\"v-b-tooltip.hover\",modifiers:{\"hover\":true}}],staticClass:\"btn btn-only-icon ml-auto\",attrs:{\"target\":\"_blank\",\"to\":row.item.type === 0 ?\n { name: 'editUser', params: { userId: row.item.id }} :\n { name: 'EditGroup', params: { groupId: row.item.id, groupName: row.item.name }},\"title\":row.item.type === 0 ? _vm.$t('users.editUserHeader') : _vm.$t('userGroups.editGroup')}},[_c('svg',{staticClass:\"vc-icon_md\",attrs:{\"viewBox\":\"0 0 100 100\"}},[_c('use',{attrs:{\"xlink:href\":\"#external-link-icon\"}})])]),_c('b-button',{directives:[{name:\"b-tooltip\",rawName:\"v-b-tooltip.hover\",modifiers:{\"hover\":true}}],staticClass:\"btn-only-icon\",attrs:{\"title\":_vm.$t('common.remove')},on:{\"click\":function($event){return _vm.removeAccess(row.item.id)}}},[_c('svg',{staticClass:\"vc-icon_md\",attrs:{\"viewBox\":\"0 0 84.5 91.4\"}},[_c('use',{attrs:{\"xlink:href\":\"#close-icon\"}})])])],1)]}}])})],1)]),_c('custom-extension-access-modal',{ref:\"accessModal\",attrs:{\"existing-acl\":_vm.localAcl},on:{\"accessUpdated\":_vm.onAccessUpdated}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-modal',{staticClass:\"thead-sticky\",attrs:{\"centered\":\"\",\"modal-class\":\"picker-modal\",\"size\":\"xl\",\"id\":\"modal-Access\",\"title\":\"Add user and user groups\"},scopedSlots:_vm._u([{key:\"modal-footer\",fn:function(){return [_c('b-button',{attrs:{\"variant\":\"primary\"},on:{\"click\":_vm.save}},[_vm._v(_vm._s(_vm.$t(\"common.ok\")))])]},proxy:true}])},[_c('div',{staticClass:\"inModal-table-withFilters-wrapper\"},[_c('div',{staticClass:\"table-top-actions\"},[_c('div',{staticClass:\"actions-btn-wrapper\"},[_c('div',{staticClass:\"content-search\"},[_c('b-form-input',{staticClass:\"form-control form-control-sm\",attrs:{\"placeholder\":_vm.$t('common.search')},model:{value:(_vm.searchQuery),callback:function ($$v) {_vm.searchQuery=$$v},expression:\"searchQuery\"}}),_c('button',{staticClass:\"search-btn btn btn-sm\",attrs:{\"type\":\"submit\"}},[_c('svg',{staticClass:\"vc-icon\",attrs:{\"viewBox\":\"0 0 100 100\"}},[_c('use',{attrs:{\"xlink:href\":\"#search-icon\"}})])]),_c('button',{staticClass:\"search-clear btn btn-sm\",on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();},\"mousedown\":function($event){$event.preventDefault();_vm.searchQuery = ''}}},[_c('svg',{staticClass:\"vc-icon\",attrs:{\"viewBox\":\"0 0 100 100\"}},[_c('use',{attrs:{\"xlink:href\":\"#close-icon\"}})])])],1)])]),_c('div',{staticClass:\"table-wrapper-without-sidebar\"},[_c('div',{staticClass:\"table-wrapper custom-scrollbar darkScroll-grayBg\"},[_c('b-table',{staticClass:\"thead-sticky\",attrs:{\"fields\":_vm.fields,\"items\":_vm.filteredData,\"tbody-tr-class\":\"vsc-list-item\",\"selectable\":\"\",\"select-mode\":\"multi\",\"show-empty\":\"\",\"responsive\":\"sm\"},on:{\"row-selected\":_vm.select},scopedSlots:_vm._u([{key:\"cell(access)\",fn:function(row){return [_vm._v(\" \"+_vm._s(row.item.itemTypeName)+\" \")]}}])})],1)])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Prop, Vue } from \"vue-property-decorator\";\r\nimport { getAllUserGroups } from \"@/services/users/userGroupService\";\r\nimport { AclMember, AclMemberType } from \"@/services/security/types\";\r\nimport { getUsers } from \"@/services/users/usersService\";\r\nimport { Getter } from \"vuex-class\";\r\nimport { addExtensionAccessFields } from \"@/components/customExtensions/customExtensionFields\";\r\n\r\nconst namespace: string = \"authentication\";\r\n @Component\r\nexport default class CustomExtensionAccessModal extends Vue {\r\n @Prop() existingAcl!: AclMember[];\r\n userUserGroups = [] as AclMember[];\r\n selectedItems = [] as AclMember[];\r\n selectedUserUserGroups = [] as AclMember[];\r\n searchQuery = \"\";\r\n fields = addExtensionAccessFields;\r\n @Getter(\"getCurrentUser\", { namespace }) getCurrentUser: any;\r\n\r\n // computed\r\n get filteredData() {\r\n return this.userUserGroups && this.userUserGroups\r\n .filter(x => this.searchQuery.length === 0 ||\r\n (x.name.toLowerCase().includes(this.searchQuery.toLowerCase()) ||\r\n x.username.toLowerCase().includes(this.searchQuery.toLowerCase())));\r\n }\r\n\r\n // methods\r\n fetchData() {\r\n this.userUserGroups = [];\r\n this.setSelectedItemsArray();\r\n getAllUserGroups()\r\n .then(response => {\r\n this.userUserGroups = this.userUserGroups.concat(response.map(x => ({\r\n id: x.id,\r\n name: x.name,\r\n type: AclMemberType.UserGroup,\r\n username: \"\"\r\n } as AclMember)));\r\n });\r\n getUsers().then(response => {\r\n this.userUserGroups = this.userUserGroups.concat(response\r\n .map(x => ({\r\n id: x.id,\r\n name: x.name,\r\n username: x.email,\r\n type: AclMemberType.User\r\n } as AclMember)));\r\n });\r\n }\r\n\r\n select(items: AclMember[]) {\r\n this.selectedItems = items;\r\n }\r\n\r\n setSelectedItemsArray() {\r\n this.selectedUserUserGroups = [];\r\n this.selectedUserUserGroups =\r\n this.selectedUserUserGroups\r\n .concat(this.existingAcl);\r\n }\r\n\r\n save() {\r\n this.selectedItems.forEach(sItem => {\r\n const item = this.userUserGroups.find(x => x.id === sItem.id);\r\n if (!item) { return; }\r\n\r\n const selectedItem = this.selectedUserUserGroups.find(x => x.id === item.id);\r\n\r\n if (!selectedItem) {\r\n this.selectedUserUserGroups.push(item);\r\n }\r\n });\r\n this.$emit(\"accessUpdated\", this.selectedUserUserGroups);\r\n this.$bvModal.hide(\"modal-Access\");\r\n }\r\n\r\n open() {\r\n this.fetchData();\r\n this.$bvModal.show(\"modal-Access\");\r\n }\r\n}\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CustomExtensionAccessModal.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CustomExtensionAccessModal.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CustomExtensionAccessModal.vue?vue&type=template&id=4b996333&\"\nimport script from \"./CustomExtensionAccessModal.vue?vue&type=script&lang=ts&\"\nexport * from \"./CustomExtensionAccessModal.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Prop, Vue, Watch } from \"vue-property-decorator\";\r\nimport { AclMember } from \"@/services/security/types\";\r\nimport CustomExtensionAccessModal from \"@/components/customExtensions/modals/CustomExtensionAccessModal.vue\";\r\nimport { accessFields } from \"@/components/customExtensions/customExtensionFields\";\r\n\r\n@Component({\r\n components: { CustomExtensionAccessModal }\r\n})\r\nexport default class CustomExtensionAccess extends Vue {\r\n @Prop() acl!: AclMember[];\r\n @Prop() collapseState!: boolean;\r\n\r\n // local state\r\n localCollapseState = true;\r\n localAcl = [] as AclMember[];\r\n fields = accessFields;\r\n searchQuery = \"\"\r\n\r\n @Watch(\"acl\")\r\n onPropertyChanged(value: boolean, oldValue: any) {\r\n this.localAcl = this.acl;\r\n console.log(\"this.localAcl\");\r\n console.log(this.localAcl);\r\n }\r\n\r\n // lifecycle hooks\r\n mounted() {\r\n this.localAcl = this.acl;\r\n this.localCollapseState = this.collapseState;\r\n }\r\n\r\n // computed\r\n get filteredData() {\r\n return this.localAcl && this.localAcl\r\n .filter(x => this.searchQuery.length === 0 ||\r\n (x.name.toLowerCase().includes(this.searchQuery.toLowerCase()) ||\r\n x.username.toLowerCase().includes(this.searchQuery.toLowerCase())));\r\n }\r\n\r\n // methods\r\n promptAddAccess() {\r\n (this.$refs.accessModal as any).open();\r\n }\r\n\r\n removeAccess(id: string) {\r\n const item = this.localAcl.find(x => x.id === id);\r\n if (!item) {\r\n return;\r\n }\r\n this.localAcl.splice(this.localAcl.indexOf(item), 1);\r\n }\r\n\r\n onAccessUpdated(data: AclMember[]) {\r\n this.localAcl = data;\r\n }\r\n\r\n emitData() {\r\n // deep copy to avoid binding\r\n this.$emit(\"accessUpdated\", JSON.parse(JSON.stringify(this.localAcl)));\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CustomExtensionAccess.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CustomExtensionAccess.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CustomExtensionAccess.vue?vue&type=template&id=153fd922&scoped=true&\"\nimport script from \"./CustomExtensionAccess.vue?vue&type=script&lang=ts&\"\nexport * from \"./CustomExtensionAccess.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"153fd922\",\n null\n \n)\n\nexport default component.exports","import { ValidationModel, ValidationType } from \"@/services/validation/types\";\r\n\r\nexport const customExtensionValidators = {\r\n name: {\r\n rules: [\r\n { type: ValidationType.Required },\r\n { type: ValidationType.Min, value: 1 }\r\n ]\r\n } as ValidationModel,\r\n menuText: {\r\n rules: [\r\n { type: ValidationType.Required },\r\n { type: ValidationType.Min, value: 1 }\r\n ]\r\n } as ValidationModel,\r\n menuIconFileId: {\r\n rules: [\r\n { type: ValidationType.Required },\r\n { type: ValidationType.Min, value: 1 }\r\n ]\r\n } as ValidationModel,\r\n url: {\r\n rules: [\r\n { type: ValidationType.Required },\r\n { type: ValidationType.Min, value: 1 }\r\n ]\r\n } as ValidationModel\r\n};\r\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Prop, Vue } from \"vue-property-decorator\";\r\nimport i18n from \"@/i18n\";\r\nimport { Route } from \"vue-router\";\r\nimport { AclMember } from \"@/services/security/types\";\r\nimport { CustomExtension, Param } from \"@/services/customExtensions/types\";\r\nimport {\r\n createExtension,\r\n getExtension,\r\n updateExtension,\r\n getAcl\r\n} from \"@/services/customExtensions/customExtensionService\";\r\nimport HeaderActionButtons from \"@/components/layouts/HeaderActionButtons.vue\";\r\nimport UnsavedFormModal from \"@/components/common/modals/UnsavedFormModal.vue\";\r\nimport CustomExtensionAccess from \"@/components/customExtensions/CustomExtensionAccess.vue\";\r\nimport DirectFileUploadControl from \"@/components/common/files/DirectFileUploadControl.vue\";\r\nimport { customExtensionValidators } from \"@/components/customExtensions/customExtensionValidators\";\r\nimport { paramsFields } from \"@/components/customExtensions/customExtensionFields\";\r\nimport { validateForm } from \"@/services/validation/validationService\";\r\nimport validate from \"@/directives/validate\";\r\nimport { FolderEntites } from \"@/services/folders/types\";\r\nimport { FILEENDPOINT } from \"@/app.config\";\r\n\r\n@Component({\r\n beforeRouteLeave(to, from, next) {\r\n this.onBeforeRouteLeave(to, next);\r\n },\r\n components: { UnsavedFormModal, HeaderActionButtons, CustomExtensionAccess, DirectFileUploadControl },\r\n directives: {\r\n validate\r\n }\r\n})\r\nexport default class CustomExtensionForm extends Vue {\r\n @Prop() customExtensionId!: string;\r\n\r\n // local state\r\n customExtension = {\r\n id: \"\",\r\n name: \"\",\r\n menuText: \"\",\r\n menuIconFileId: \"\",\r\n url: \"\",\r\n params: [] as Array,\r\n acl: [] as Array\r\n } as CustomExtension;\r\n\r\n priorCustomExtensionState = JSON.parse(JSON.stringify(this.customExtension)) as CustomExtension;\r\n\r\n acl = [] as AclMember[];\r\n localAcl = [] as AclMember[];\r\n i18n = i18n;\r\n validators = customExtensionValidators;\r\n preventSave = false;\r\n preventBack = false;\r\n nextRoute = \"\";\r\n routeParams = {};\r\n saveClicked = false;\r\n continue = false;\r\n fetchingActive = false;\r\n fields = paramsFields;\r\n folders = FolderEntites;\r\n img = {\r\n width: 18,\r\n height: 18\r\n };\r\n\r\n // lifecycle hooks\r\n async created() {\r\n this.fetchData();\r\n }\r\n\r\n // methods\r\n fetchData() {\r\n if (this.customExtensionId || this.customExtension.id !== \"\") {\r\n this.fetchingActive = true;\r\n getExtension(this.customExtensionId ? this.customExtensionId : this.customExtension.id).then(response => {\r\n this.customExtension = response;\r\n this.priorCustomExtensionState = JSON.parse(JSON.stringify(this.customExtension)) as CustomExtension;\r\n this.fetchingActive = false;\r\n });\r\n getAcl(this.customExtensionId ? this.customExtensionId : this.customExtension.id).then(response => {\r\n this.acl = response;\r\n this.localAcl = JSON.parse(JSON.stringify(this.acl));\r\n });\r\n }\r\n }\r\n\r\n async save(back: boolean) : Promise {\r\n if (this.saveClicked) return;\r\n this.saveClicked = true;\r\n\r\n (this.$refs.AccessComponent as any).emitData();\r\n\r\n if (!await validateForm([this.validators])) {\r\n this.saveClicked = false;\r\n return;\r\n }\r\n this.customExtension.acl = this.acl.map(x => ({ id: x.id, type: x.type } as AclMember));\r\n\r\n // create or update\r\n if (this.customExtension.id !== \"\") {\r\n await updateExtension(this.customExtension);\r\n this.saveClicked = false;\r\n this.priorCustomExtensionState = JSON.parse(JSON.stringify(this.customExtension));\r\n this.localAcl = this.acl;\r\n if (back) {\r\n this.$router.push({\r\n name: \"customExtensions\"\r\n });\r\n }\r\n } else {\r\n const id = await createExtension(this.customExtension);\r\n this.saveClicked = false;\r\n this.customExtension.id = id;\r\n this.localAcl = this.acl;\r\n this.priorCustomExtensionState = JSON.parse(JSON.stringify(this.customExtension));\r\n if (back) {\r\n this.$router.push({\r\n name: \"customExtensions\"\r\n });\r\n }\r\n }\r\n }\r\n\r\n back() {\r\n this.$router.push({\r\n name: \"customExtensions\"\r\n });\r\n }\r\n\r\n onContinue(data: boolean) {\r\n this.continue = data;\r\n if (data) this.$router.push({ name: this.nextRoute, params: this.routeParams });\r\n this.nextRoute = \"\";\r\n }\r\n\r\n addParam() {\r\n const param = { key: \"\", value: \"\" } as Param;\r\n console.log(\"this.customExtension.params\");\r\n console.log(this.customExtension.params);\r\n this.customExtension.params.push(param);\r\n console.log(this.customExtension.params);\r\n }\r\n\r\n removeButton(key: string) {\r\n const item = this.customExtension.params.find(x => x.key === key);\r\n if (!item) {\r\n return;\r\n }\r\n this.customExtension.params.splice(this.customExtension.params.indexOf(item), 1);\r\n }\r\n\r\n onToggleHeaderButtons(state: boolean) {\r\n this.preventSave = !state;\r\n this.preventBack = !state;\r\n }\r\n\r\n onfileUploaded(file: any) {\r\n this.$set(this.customExtension, \"menuIconFileId\", file.fileId);\r\n this.$set(this.customExtension, \"menuIconName\", file.originalFileName);\r\n this.loadImage();\r\n }\r\n\r\n removeImage() {\r\n this.customExtension.menuIconFileId = \"\";\r\n this.customExtension.menuIconName = \"\";\r\n }\r\n\r\n loadImage() {\r\n const image = new Image();\r\n image.src = this.imageUrl;\r\n }\r\n\r\n onAccessUpdated(data: AclMember[]) {\r\n this.acl = data;\r\n }\r\n\r\n // computed\r\n get imageUrl(): string {\r\n return `${FILEENDPOINT}${this.customExtension.menuIconFileId}`;\r\n }\r\n\r\n get editMode() {\r\n return !!this.customExtension.id;\r\n }\r\n\r\n // router events\r\n async onBeforeRouteLeave(to: Route, next: any) {\r\n console.log(\"aaa\");\r\n console.log(this.saveClicked);\r\n console.log(this.continue);\r\n console.log(this.fetchingActive);\r\n if (this.saveClicked || this.continue || this.fetchingActive) {\r\n next();\r\n } else {\r\n (this.$refs.AccessComponent as any).emitData();\r\n this.nextRoute = to.name ? to.name : \"\";\r\n this.routeParams = to.params;\r\n const noChanges = this.lodash.isEqual(this.priorCustomExtensionState, this.customExtension) && this.lodash.isEqual(this.localAcl, this.acl);\r\n console.log(\"noChanges\");\r\n console.log(noChanges);\r\n console.log(this.localAcl);\r\n console.log(this.acl);\r\n if (noChanges) {\r\n next();\r\n } else {\r\n next(false);\r\n (this.$refs.UnsavedFormModal as any).open();\r\n }\r\n }\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./_CustomExtensionForm.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./_CustomExtensionForm.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./_CustomExtensionForm.vue?vue&type=template&id=b7b6380e&scoped=true&\"\nimport script from \"./_CustomExtensionForm.vue?vue&type=script&lang=ts&\"\nexport * from \"./_CustomExtensionForm.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./_CustomExtensionForm.vue?vue&type=style&index=0&id=b7b6380e&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"b7b6380e\",\n null\n \n)\n\nexport default component.exports","import { DirectiveOptions } from \"vue\";\r\nimport { Vue } from \"vue-property-decorator\";\r\nimport { validateValue } from \"@/services/validation/validationService\";\r\nimport { ValidationType } from \"@/services/validation/types\";\r\n\r\nconst validate: DirectiveOptions = {\r\n bind(element, binding, vNode) {\r\n const componentContext = vNode.context as any;\r\n const el = element as HTMLInputElement;\r\n\r\n if (!componentContext || !componentContext.validators) return;\r\n\r\n const property = componentContext.validators[el.id];\r\n if (!property || !property.rules) return;\r\n\r\n Vue.set(property, \"value\", binding.value);\r\n Vue.set(property, \"active\", true);\r\n\r\n element.addEventListener(\"input\", (event) => {\r\n Vue.set(property, \"value\", el.value);\r\n\r\n if (binding.value && binding.value.confirm) {\r\n const matchRule = (property.rules as any[]).find(x => x.type === ValidationType.Confirm);\r\n const confirmProperty = componentContext.validators[binding.value.confirm];\r\n matchRule.value = confirmProperty.value;\r\n }\r\n validateValue(property).then(response => {\r\n Vue.set(property, \"message\", response.message);\r\n Vue.set(property, \"state\", response.state);\r\n });\r\n });\r\n },\r\n // we use update for setting the value of already populated form fields\r\n update(element, binding, vNode) {\r\n const componentContext = vNode.context as any;\r\n const property = componentContext.validators[element.id];\r\n Vue.set(property, \"value\", binding.value);\r\n },\r\n unbind(element, binding, vNode) {\r\n const componentContext = vNode.context as any;\r\n const property = componentContext.validators[element.id];\r\n Vue.set(property, \"state\", null);\r\n Vue.set(property, \"message\", \"\");\r\n Vue.set(property, \"value\", \"\");\r\n Vue.set(property, \"active\", false);\r\n }\r\n};\r\n\r\nexport default validate;\r\n","export interface TableColumn {\r\n key: string,\r\n label: string,\r\n colType: string\r\n}\r\n\r\nexport interface SaveAclRequest {\r\n id: string,\r\n resources: Array\r\n}\r\n\r\nexport interface Resource {\r\n name: string,\r\n resourceEntities: Array\r\n}\r\n\r\nexport interface ResourceEntity {\r\n id: string,\r\n name: string,\r\n jsonClaims: {} /** Only used on front-end for binding */\r\n claims: Array\r\n}\r\n\r\nexport interface Claim {\r\n name: string,\r\n value: boolean,\r\n}\r\n\r\nexport interface PasswordReset {\r\n mailSent: boolean | null;\r\n somethingBadHappen: boolean | null;\r\n passwordReseted: boolean | null;\r\n}\r\n\r\nexport interface AclMember {\r\n id: string,\r\n name: string,\r\n username: string,\r\n type: AclMemberType\r\n}\r\n\r\nexport interface AclMemberDto {\r\n id: string,\r\n type: AclMemberType\r\n}\r\n\r\nexport enum AclMemberType {\r\n User,\r\n UserGroup\r\n}\r\nexport interface SSODtoIn {\r\n token: string\r\n}\r\n\r\nexport interface AzureAdConfig {\r\n azureAppClientId: string,\r\n clientTenantId: string\r\n}\r\n\r\nexport interface Acl {\r\n resourceId: string,\r\n type: string,\r\n name: string,\r\n claim: string,\r\n templateType: string\r\n}\r\n\r\nexport interface EffectivePermissionAcl {\r\n resourceId: string,\r\n type: string,\r\n name: string,\r\n claim: string,\r\n resourceAccesses: Array,\r\n userGroups: Array,\r\n templateType: string\r\n}\r\n\r\nexport enum ResourceAccess {\r\n Direct = \"Direct\",\r\n UserGroup = \"UserGroup\"\r\n}\r\n\r\nexport interface AclUserGroup{\r\n groupId: string,\r\n groupName: string\r\n}\r\n\r\nexport enum ResourceClaim {\r\n Access = \"Access\",\r\n Read = \"Read\"\r\n}\r\n\r\nexport enum ResourceType {\r\n Channel = \"Channel\",\r\n Solution = \"Solution\",\r\n Folder = \"Folder\",\r\n ContentTemplate = \"ContentTemplate\"\r\n}\r\n\r\nexport interface LegacyLoginDtoIn {\r\n userName: string;\r\n password: string;\r\n}\r\n\r\nexport interface ValidateLegacyLoginDto {\r\n validated: boolean;\r\n isSharedUser: boolean;\r\n}\r\n\r\nexport interface LegacyUpdateDtoIn {\r\n userName: string;\r\n password: string;\r\n email: string;\r\n}\r\n\r\nexport interface LegacyCreateUserDtoIn {\r\n userName: string;\r\n password: string;\r\n email: string;\r\n firstName: string;\r\n lastName: string;\r\n jobTitle: string;\r\n phoneNumber: string;\r\n}\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"fileUploadContainer\"},[_c('b-button',{staticClass:\"ml-6\",attrs:{\"type\":\"button\",\"variant\":\"primary\"},on:{\"click\":_vm.openFileUpload}},[_vm._v(\" \"+_vm._s(_vm.uploadButton)+\" \")]),(_vm.vscFile.status === _vm.fileStatus.uploading)?_c('div',{staticClass:\"upload-progress-container\"},[_c('div',{staticClass:\"upload-progress-bar\",class:{ 'file-success': _vm.vscFile.percentage === 100 },style:({ width: Math.floor(_vm.vscFile.percentage) + '%' })})]):_vm._e(),(_vm.vscFile.status === _vm.fileStatus.error)?_c('div',{staticClass:\"failed-upload-container flex-grow-1 d-flex align-items-center\",staticStyle:{\"color\":\"#e65f5f\"}},[_vm._v(\" \"+_vm._s(_vm.$t(\"file.uploadFailed\"))+\" \"),(_vm.vscFile.isNew && _vm.vscFile.status === _vm.fileStatus.error)?_c('b-button',{staticClass:\"btn btn-primary shn-button shn-retry btn-only-icon\",attrs:{\"type\":\"button\"},on:{\"click\":_vm.retryUpload}},[_c('svg',{staticClass:\"vc-icon_lg\",attrs:{\"viewBox\":\"0 0 120 100\"}},[_c('use',{attrs:{\"xlink:href\":\"#reload-icon\"}})])]):_vm._e(),(_vm.vscFile.isNew && _vm.vscFile.status === _vm.fileStatus.error)?_c('b-button',{staticClass:\"btn btn-danger shn-button shn-remove btn-only-icon\",attrs:{\"type\":\"button\"},on:{\"click\":_vm.removeFile}},[_c('svg',{staticClass:\"vc-icon_lg\",staticStyle:{\"width\":\"15px\"},attrs:{\"viewBox\":\"0 0 100 100\"}},[_c('use',{attrs:{\"xlink:href\":\"#close-icon\"}})])]):_vm._e()],1):_vm._e(),_c('direct-file-upload',{ref:\"directUpload\",attrs:{\"folder\":_vm.folder,\"file-types\":_vm.fileTypes,\"open-file-upload\":false},on:{\"toggleHeaderButtons\":_vm.toggleHeaderButtons,\"fileUploaded\":_vm.fileUploaded,\"startUploading\":_vm.uploadStarted,\"fileObjectChanged\":_vm.fileObjectChanged}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Prop, Vue } from \"vue-property-decorator\";\r\n// types\r\nimport { Status, VscFile } from \"@/services/files/types\";\r\nimport { FolderEntites } from \"@/services/folders/types\";\r\nimport i18n from \"@/i18n\";\r\n// components\r\nimport DirectFileUpload from \"@/components/common/files/DirectFileUpload.vue\";\r\n\r\n@Component({\r\n components: {\r\n DirectFileUpload\r\n }\r\n})\r\nexport default class DirectFileUploadControl extends Vue {\r\n @Prop() fileTypes!: string[];\r\n @Prop() folder!: FolderEntites;\r\n\r\n // local state\r\n fileStatus = Status;\r\n vscFile = {} as VscFile;\r\n\r\n // computed\r\n get uploadButton() {\r\n if ((!this.fileTypes || this.fileTypes.length === 0) || this.fileTypes.length > 1) {\r\n return i18n.t(\"file.uploadFile\");\r\n }\r\n\r\n const fileType = this.fileTypes[0];\r\n\r\n switch (fileType) {\r\n case \"Image\":\r\n return i18n.t(\"posts.image.uploadImage\");\r\n case \"Video\":\r\n return i18n.t(\"posts.video.uploadVideo\");\r\n default:\r\n return i18n.t(\"file.uploadFile\");\r\n }\r\n }\r\n\r\n // methods\r\n\r\n openFileUpload(): void {\r\n (this.$refs.directUpload as any).openFileUpload();\r\n }\r\n\r\n toggleHeaderButtons(state: boolean) {\r\n this.$emit(\"toggleHeaderButtons\", state);\r\n }\r\n\r\n retryUpload() {\r\n (this.$refs.directUpload as any).retryUpload();\r\n }\r\n\r\n removeFile() {\r\n (this.$refs.directUpload as any).removeFile();\r\n }\r\n\r\n fileUploaded(file: any) {\r\n this.$emit(\"fileUploaded\", file);\r\n }\r\n\r\n uploadStarted() {\r\n this.$emit(\"startUploading\");\r\n }\r\n\r\n fileObjectChanged(vscFile: VscFile) {\r\n this.vscFile = vscFile;\r\n }\r\n}\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DirectFileUploadControl.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DirectFileUploadControl.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./DirectFileUploadControl.vue?vue&type=template&id=19dedb9c&scoped=true&\"\nimport script from \"./DirectFileUploadControl.vue?vue&type=script&lang=ts&\"\nexport * from \"./DirectFileUploadControl.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./DirectFileUploadControl.vue?vue&type=style&index=0&id=19dedb9c&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"19dedb9c\",\n null\n \n)\n\nexport default component.exports","\"use strict\";\r\nexports.__esModule = true;\r\nvar Guid = /** @class */ (function () {\r\n function Guid(guid) {\r\n if (!guid) {\r\n throw new TypeError(\"Invalid argument; `value` has no value.\");\r\n }\r\n this.value = Guid.EMPTY;\r\n if (guid && Guid.isGuid(guid)) {\r\n this.value = guid;\r\n }\r\n }\r\n Guid.isGuid = function (guid) {\r\n var value = guid.toString();\r\n return guid && (guid instanceof Guid || Guid.validator.test(value));\r\n };\r\n Guid.create = function () {\r\n return new Guid([Guid.gen(2), Guid.gen(1), Guid.gen(1), Guid.gen(1), Guid.gen(3)].join(\"-\"));\r\n };\r\n Guid.createEmpty = function () {\r\n return new Guid(\"emptyguid\");\r\n };\r\n Guid.parse = function (guid) {\r\n return new Guid(guid);\r\n };\r\n Guid.raw = function () {\r\n return [Guid.gen(2), Guid.gen(1), Guid.gen(1), Guid.gen(1), Guid.gen(3)].join(\"-\");\r\n };\r\n Guid.gen = function (count) {\r\n var out = \"\";\r\n for (var i = 0; i < count; i++) {\r\n // tslint:disable-next-line:no-bitwise\r\n out += (((1 + Math.random()) * 0x10000) | 0).toString(16).substring(1);\r\n }\r\n return out;\r\n };\r\n Guid.prototype.equals = function (other) {\r\n // Comparing string `value` against provided `guid` will auto-call\r\n // toString on `guid` for comparison\r\n return Guid.isGuid(other) && this.value === other.toString();\r\n };\r\n Guid.prototype.isEmpty = function () {\r\n return this.value === Guid.EMPTY;\r\n };\r\n Guid.prototype.toString = function () {\r\n return this.value;\r\n };\r\n Guid.prototype.toJSON = function () {\r\n return {\r\n value: this.value\r\n };\r\n };\r\n Guid.validator = new RegExp(\"^[a-z0-9]{8}-[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{12}$\", \"i\");\r\n Guid.EMPTY = \"00000000-0000-0000-0000-000000000000\";\r\n return Guid;\r\n}());\r\nexports.Guid = Guid;\r\n","export enum FolderEntites {\r\n Channels,\r\n ChannelGroups,\r\n Backgrounds,\r\n Templates,\r\n Solutions,\r\n Players,\r\n Files,\r\n DirectFiles,\r\n Sessions,\r\n StockFiles\r\n}\r\n\r\nexport interface Folder {\r\n id: string;\r\n name: string;\r\n path: string;\r\n claim: string;\r\n isOpen: boolean;\r\n isSelected: boolean;\r\n editMode: boolean;\r\n activateDelete: boolean;\r\n dropNotAllowed: boolean;\r\n parentFolderId: string;\r\n children?: Folder[];\r\n}\r\n\r\nexport interface RootFolder {\r\n id: string;\r\n name: string;\r\n}\r\n\r\nexport interface FolderDtoIn {\r\n id: string;\r\n name: string;\r\n parentFolderId: string;\r\n}\r\n\r\nexport interface MoveFolderDtoIn {\r\n id: string;\r\n targetFolderId: string;\r\n}\r\n\r\nexport interface MoveEntityDtoIn {\r\n entityId: string;\r\n targetFolderId: string;\r\n folderEntity: FolderEntites;\r\n}\r\n\r\nexport interface FolderOption {\r\n id: string;\r\n path: string;\r\n}\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('b-modal',{attrs:{\"centered\":\"\",\"id\":\"modal-navigateFromUnsavedForm\"},scopedSlots:_vm._u([{key:\"modal-footer\",fn:function(){return [_c('b-button',{attrs:{\"variant\":\"primary\"},on:{\"click\":_vm.confirm}},[_vm._v(_vm._s(_vm.$t(\"common.btnYesContinue\")))]),_c('b-button',{attrs:{\"variant\":\"dark\"},on:{\"click\":_vm.decline}},[_vm._v(_vm._s(_vm.$t(\"common.btnNo\")))])]},proxy:true}])},[_c('div',{staticClass:\"confirmation-modal-body\"},[_c('svg',{staticClass:\"vc-icon_xl ver-ar fill-danger\",attrs:{\"viewBox\":\"0 0 100 100\"}},[_c('use',{attrs:{\"xlink:href\":\"#delete-icon\"}})]),_c('h2',[_vm._v(_vm._s(_vm.$t(\"common.unsavedFormTitle\")))]),_c('small',[_vm._v(_vm._s(_vm.$t(\"common.unsavedFormDescription\")))])])])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Vue } from \"vue-property-decorator\";\r\n\r\n@Component\r\nexport default class UnsavedFormModal extends Vue {\r\n open() {\r\n this.$bvModal.show(\"modal-navigateFromUnsavedForm\");\r\n }\r\n\r\n decline() {\r\n this.$emit(\"continue\", false);\r\n this.$bvModal.hide(\"modal-navigateFromUnsavedForm\");\r\n }\r\n\r\n confirm() {\r\n this.$emit(\"continue\", true);\r\n this.$bvModal.hide(\"modal-navigateFromUnsavedForm\");\r\n }\r\n}\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UnsavedFormModal.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UnsavedFormModal.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./UnsavedFormModal.vue?vue&type=template&id=f971da18&\"\nimport script from \"./UnsavedFormModal.vue?vue&type=script&lang=ts&\"\nexport * from \"./UnsavedFormModal.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { UserGroup, UserGroupUser } from \"@/services/users/types\";\r\nimport Api from \"@/services/api\";\r\n\r\nexport async function createUserGroup(group: UserGroup): Promise {\r\n return new Promise((resolve, reject) => {\r\n Api.post(\"/userGroup\", group).then(\r\n response => {\r\n resolve(response.data);\r\n },\r\n error => {\r\n reject(error);\r\n }\r\n );\r\n });\r\n}\r\n\r\nexport async function getAllUserGroups(): Promise> {\r\n return new Promise((resolve, reject) => {\r\n Api.get(\"/userGroup\").then(\r\n response => {\r\n resolve(response.data);\r\n },\r\n error => {\r\n reject(error);\r\n }\r\n );\r\n });\r\n}\r\n\r\nexport async function getUserGroupById(groupId: string): Promise {\r\n return new Promise((resolve, reject) => {\r\n Api.get(`/userGroup/${groupId}`).then(\r\n response => {\r\n resolve(response.data);\r\n },\r\n error => {\r\n reject(error);\r\n }\r\n );\r\n });\r\n}\r\n\r\nexport async function updateUserGroup(group: UserGroup): Promise {\r\n return new Promise((resolve, reject) => {\r\n Api.put(\"/userGroup/\", group).then(\r\n response => {\r\n resolve(response.data);\r\n },\r\n error => {\r\n reject(error);\r\n }\r\n );\r\n });\r\n}\r\n\r\nexport async function deleteUserGroup(groupId: string): Promise {\r\n return new Promise((resolve, reject) => {\r\n Api.delete(`/userGroup/${groupId}`).then(\r\n response => {\r\n resolve(response.data);\r\n },\r\n error => {\r\n reject(error);\r\n }\r\n );\r\n });\r\n}\r\n\r\nexport async function getUserGroupsForUser(userId: string): Promise> {\r\n return new Promise((resolve, reject) => {\r\n Api.get(`/userGroup/user/${userId}`).then(\r\n response => {\r\n resolve(response.data);\r\n },\r\n error => {\r\n reject(error);\r\n }\r\n );\r\n });\r\n}\r\n\r\nexport async function getUsersForUserGroup(groupId: string): Promise> {\r\n return new Promise((resolve, reject) => {\r\n Api.get(`/userGroup/users/${groupId}`).then(\r\n response => {\r\n resolve(response.data);\r\n },\r\n error => {\r\n reject(error);\r\n }\r\n );\r\n });\r\n}\r\n","import Api from \"@/services/api\";\r\nimport {\r\n Folder,\r\n FolderDtoIn,\r\n MoveFolderDtoIn,\r\n MoveEntityDtoIn,\r\n FolderEntites,\r\n RootFolder,\r\n FolderOption\r\n} from \"@/services/folders/types\";\r\nimport { FolderPost } from \"@/services/posts/postTypes/folder\";\r\n\r\nexport async function getFolderStructure(entity: FolderEntites): Promise {\r\n return new Promise((resolve, reject) => {\r\n Api.get(`/folder/${entity}`).then(\r\n response => {\r\n resolve(response.data);\r\n },\r\n error => {\r\n reject(error);\r\n }\r\n );\r\n });\r\n}\r\n\r\nexport async function flatFolderStructure(entity: FolderEntites): Promise> {\r\n return new Promise((resolve, reject) => {\r\n getFolderStructure(entity).then(\r\n response => {\r\n const paths = [] as Array;\r\n traverse(response, paths);\r\n resolve(paths);\r\n },\r\n error => {\r\n reject(error);\r\n }\r\n );\r\n });\r\n}\r\n\r\nfunction traverse(folder: Folder, paths: Array) {\r\n paths.push({ id: folder.id, path: folder.path } as FolderOption);\r\n if (folder.children !== undefined && folder.children.length > 0) {\r\n folder.children.forEach(children => traverse(children, paths));\r\n }\r\n}\r\n\r\nexport async function createOrUpdateFolder(\r\n model: FolderDtoIn\r\n): Promise {\r\n return new Promise((resolve, reject) => {\r\n Api.post(\"/folder\", model).then(\r\n response => {\r\n resolve(response.data);\r\n },\r\n error => {\r\n reject(error);\r\n }\r\n );\r\n });\r\n}\r\n\r\nexport async function moveFolder(model: MoveFolderDtoIn): Promise {\r\n return new Promise((resolve, reject) => {\r\n Api.post(\"/folder/move\", model).then(\r\n response => {\r\n resolve(response.data);\r\n },\r\n error => {\r\n reject(error);\r\n }\r\n );\r\n });\r\n}\r\n\r\nexport async function moveEntity(model: MoveEntityDtoIn): Promise {\r\n return new Promise((resolve, reject) => {\r\n Api.post(\"/folder/moveEntity\", model).then(\r\n response => {\r\n resolve(response.data);\r\n },\r\n error => {\r\n reject(error);\r\n }\r\n );\r\n });\r\n}\r\n\r\nexport async function checkDelete(id: string): Promise {\r\n return new Promise((resolve, reject) => {\r\n Api.get(`/folder/delete/${id}`).then(\r\n response => {\r\n resolve(response.data);\r\n },\r\n error => {\r\n reject(error);\r\n }\r\n );\r\n });\r\n}\r\n\r\nexport async function deleteFolder(id: string): Promise {\r\n return new Promise((resolve, reject) => {\r\n Api.delete(`/folder/${id}`).then(\r\n response => {\r\n resolve(response.data);\r\n },\r\n error => {\r\n reject(error);\r\n }\r\n );\r\n });\r\n}\r\n\r\nexport async function getFolderContent(\r\n id: string): Promise {\r\n return new Promise((resolve, reject) => {\r\n Api.get(`/folder/content/${id}`).then(\r\n response => {\r\n resolve(response.data);\r\n },\r\n error => {\r\n reject(error);\r\n }\r\n );\r\n });\r\n}\r\n\r\nexport async function getRootFolder(\r\n entity: FolderEntites): Promise {\r\n return new Promise((resolve, reject) => {\r\n Api.get(`/folder/${entity}/root`).then(\r\n response => {\r\n resolve(response.data);\r\n },\r\n error => {\r\n reject(error);\r\n }\r\n );\r\n });\r\n}\r\n","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HeaderActionButtons.vue?vue&type=style&index=0&id=1317f3f0&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HeaderActionButtons.vue?vue&type=style&index=0&id=1317f3f0&scoped=true&lang=css&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{directives:[{name:\"abg\",rawName:\"v-abg\"}],staticClass:\"actionButtonGroup\",class:{ sticky : _vm.sticky }},[(_vm.showSaveButton)?_c('b-button',{attrs:{\"disabled\":_vm.preventSave,\"variant\":\"primary\"},on:{\"click\":_vm.save}},[_vm._v(_vm._s(_vm.$t(\"common.save\")))]):_vm._e(),(_vm.showSaveButton && _vm.isAdmin)?_c('b-button',{attrs:{\"disabled\":_vm.preventSave,\"variant\":\"primary\"},on:{\"click\":_vm.saveAndBack}},[_vm._v(_vm._s(_vm.$t(\"common.saveAndBack\")))]):_vm._e(),(_vm.editorStatus && !_vm.isAdmin)?_c('b-button',{staticClass:\"btn-combine\",attrs:{\"disabled\":_vm.preventBack,\"variant\":\"primary\"},on:{\"click\":function($event){return _vm.$emit('newPostBtn')}}},[_c('span',{staticClass:\"iconBox\"},[_c('svg',{staticClass:\"vc-icon\",attrs:{\"viewBox\":\"0 0 9.9 7.5\"}},[_c('use',{attrs:{\"xlink:href\":\"#plus-icon\"}})])]),_c('span',{staticClass:\"post-combine\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"posts.newPost\"))+\" \")])]):_vm._e(),(_vm.editorStatus && !_vm.isAdmin)?_c('b-button',{staticClass:\"btn-combine\",attrs:{\"variant\":\"primary\"},on:{\"click\":function($event){return _vm.$emit('previewEvent')}}},[_c('span',{staticClass:\"iconBox\"},[_c('svg',{staticClass:\"vc-icon\",attrs:{\"viewBox\":\"0 0 9 7\"}},[_c('use',{attrs:{\"xlink:href\":\"#preview-icon\"}})])]),_c('span',{staticClass:\"post-combine\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"common.preview\"))+\" \")])]):_vm._e(),_c('b-button',{staticClass:\"ml-1\",attrs:{\"disabled\":_vm.preventBack,\"variant\":\"secondary\"},on:{\"click\":_vm.back}},[_vm._v(_vm._s(_vm.$t(\"common.back\")))])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Vue, Prop, Watch } from \"vue-property-decorator\";\r\nimport { Getter } from \"vuex-class\";\r\nimport { HavePermition, PermitionEnum } from \"@/components/security/Permitions\";\r\n\r\nconst namespace: string = \"authentication\";\r\n\r\nvar scroll: any;\r\n\r\n@Component({\r\n directives: {\r\n abg: {\r\n inserted: function (element, binding, vnode) {\r\n var offset = (window.pageYOffset + element.getBoundingClientRect().top) - 50; // 50 is the height of the topbar\r\n scroll = function () {\r\n var doc = document.documentElement;\r\n var top = (window.pageYOffset || doc.scrollTop) - (doc.clientTop || 0);\r\n if (top >= offset) (vnode.context as any).sticky = true;\r\n else (vnode.context as any).sticky = false;\r\n };\r\n window.addEventListener(\"scroll\", scroll, false);\r\n },\r\n unbind: function (element, binding, vnode) {\r\n window.removeEventListener(\"scroll\", scroll, false);\r\n }\r\n }\r\n }\r\n})\r\nexport default class HeaderActionButtons extends Vue {\r\n @Prop() checkPermition!: PermitionEnum;\r\n @Prop({ default: false }) preventSave!: boolean;\r\n @Prop({ default: false }) preventBack!: boolean;\r\n @Getter(\"getCurrentUser\", { namespace }) getCurrentUser: any;\r\n\r\n // local\r\n permitionEnum = PermitionEnum;\r\n havePermition = HavePermition;\r\n editorStatus = false;\r\n\r\n get isAdmin() : boolean {\r\n return this.havePermition(this.getCurrentUser.permissions,\r\n this.permitionEnum[this.permitionEnum.AdminPrivilege]);\r\n }\r\n\r\n sticky = false;\r\n\r\n save() {\r\n if (!this.isAdmin) this.$emit(\"save\", true);\r\n else this.$emit(\"save\", false);\r\n }\r\n\r\n saveAndBack() {\r\n this.$emit(\"save\", true);\r\n }\r\n\r\n back() {\r\n this.$emit(\"back\");\r\n }\r\n\r\n // header component is detroyed and rebuilt in every page load\r\n // so watchers are unless in this case\r\n mounted() {\r\n this.editorStatus = this.$route.name === \"editorupdatechannel\";\r\n }\r\n\r\n get showSaveButton(): boolean {\r\n return this.checkPermition !== null && this.checkPermition !== undefined\r\n ? this.havePermition(this.getCurrentUser.permissions, this.permitionEnum[this.checkPermition]) : true;\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HeaderActionButtons.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HeaderActionButtons.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./HeaderActionButtons.vue?vue&type=template&id=1317f3f0&scoped=true&\"\nimport script from \"./HeaderActionButtons.vue?vue&type=script&lang=ts&\"\nexport * from \"./HeaderActionButtons.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./HeaderActionButtons.vue?vue&type=style&index=0&id=1317f3f0&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1317f3f0\",\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./_CustomExtensionForm.vue?vue&type=style&index=0&id=b7b6380e&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./_CustomExtensionForm.vue?vue&type=style&index=0&id=b7b6380e&scoped=true&lang=css&\"","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DirectFileUploadControl.vue?vue&type=style&index=0&id=19dedb9c&scoped=true&lang=scss&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DirectFileUploadControl.vue?vue&type=style&index=0&id=19dedb9c&scoped=true&lang=scss&\""],"sourceRoot":""}