{"version":3,"sources":["webpack:///./src/components/common/files/DirectFileUpload.vue?f2f9","webpack:///./src/components/common/files/DirectFileUpload.vue","webpack:///./src/components/common/files/DirectFileUpload.vue?0f07","webpack:///./src/components/common/files/DirectFileUpload.vue?0060","webpack:///./src/services/files/fileService.ts","webpack:///./src/components/files/modals/FileAlertModal.vue?ebbd","webpack:///./src/components/files/modals/FileAlertModal.vue","webpack:///./src/components/files/modals/FileAlertModal.vue?4b67","webpack:///./src/components/files/modals/FileAlertModal.vue?131c","webpack:///./src/components/common/files/DirectFileUpload.vue?2c6d","webpack:///./src/services/files/types.ts"],"names":["render","_vm","this","_h","$createElement","_c","_self","ref","staticClass","attrs","on","onFileUploadChange","staticRenderFns","vscFile","tmpFile","directFolderId","maxUploadFileSize","allowedExtensions","asKeys","fileTypes","length","forEach","ft","push","keys","then","response","filter","k","includes","ex","folder","id","$emit","$refs","fileInput","click","event","target","files","validateFile","name","isNew","folderId","startUpload","value","file","window","navigator","onLine","componentScope","config","onUploadProgress","lengthComputable","set","loaded","total","formData","FormData","fileId","append","create","status","uploading","toggleHeaderButtons","isUploading","checkConnection","setInterval","error","percentage","clearInterval","done","originalFileName","catch","size","parseInt","fileAlertModal","open","i18n","t","fileExtension","split","pop","toLowerCase","state","deep","components","FileAlertModal","component","deleteFile","a","Promise","resolve","reject","delete","data","getFilteredFiles","model","post","GetFileInfo","get","getFolder","checkDelete","postFile","postFormData","getUnsplashAccessKey","downloadUnsplashImage","checkDuplicates","updateName","getFileFolderEntity","$t","scopedSlots","_u","key","fn","hide","_v","_s","proxy","message","msg","alertModal","show","Status","MediaType"],"mappings":"kHAAA,IAAIA,EAAS,WAAa,IAAIC,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACA,EAAG,mBAAmB,CAACE,IAAI,mBAAmBF,EAAG,QAAQ,CAACE,IAAI,YAAYC,YAAY,aAAaC,MAAM,CAAC,KAAO,QAAQC,GAAG,CAAC,OAAST,EAAIU,uBAAuB,IACvQC,EAAkB,G,ygECwBtB,IAAqB,EAArB,kE,0BAKQ,EAAAC,QAAU,GACV,EAAAC,QAAU,GACV,EAAAC,eAAiB,GACjB,EAAAC,kBAAoB,GACpB,EAAAC,kBAAoB,GAT5B,8CAYe,WACGC,EAAS,CAAC,qBAEZhB,KAAKiB,WAAajB,KAAKiB,UAAUC,OAAS,GAC1ClB,KAAKiB,UAAUE,SAAQ,SAAAC,GACR,UAAPA,EACAJ,EAAOK,KAAP,iBAAsBD,EAAtB,eAEAJ,EAAOK,KAAP,6BAIZ,eAAuB,CAAEC,KAAMN,IAAUO,MAAK,SAAAC,GAC1C,EAAKV,kBAAoBU,EAASV,kBAClCE,EAAOS,QAAO,SAAAC,GAAC,OAAIA,EAAEC,SAAS,iBAAeR,SAAQ,SAAAS,GACjD,EAAKb,mBAAsBS,EAAiBI,SAIpD,eAAc5B,KAAK6B,QAAQN,MAAK,SAAAC,GAC5B,EAAKX,eAAiBW,EAASM,QAhC/C,uCAsCY9B,KAAK+B,MAAM,oBAAqB/B,KAAKW,WAtCjD,uCA4CaX,KAAKgC,MAAMC,UAAkBC,UA5C1C,wEA+CiCC,GA/CjC,qEAgDYnC,KAAKY,QAAUuB,EAAMC,OAAOC,MAAM,GAC7BrC,KAAKsC,eAjDtB,iDAqDYtC,KAAKW,QAAU,CACXmB,GAAI,GACJS,KAAMvC,KAAKY,QAAQ2B,KACnBC,OAAO,EACPC,SAAUzC,KAAKa,gBAEnBb,KAAK0C,cACLP,EAAMC,OAAOO,MAAQ,GA5DjC,2IAgEmBC,GACP5C,KAAKY,QAAUgC,EACV5C,KAAKsC,iBAIVtC,KAAKW,QAAU,CACXmB,GAAI,GACJS,KAAMvC,KAAKY,QAAQ2B,KACnBC,OAAO,EACPC,SAAUzC,KAAKa,gBAEnBb,KAAK0C,iBA5EjB,oCA+EmB,WACP,GAAKG,OAAOC,UAAUC,OAAtB,CAIA,IAAMC,EAAiBhD,KACjBiD,EAAS,CACXC,iBAAkB,SAAUf,GACpBA,EAAMgB,kBACFH,EAAerC,SACf,OAAIyC,IAAIJ,EAAerC,QAAS,aAAcwB,EAAMkB,OAASlB,EAAMmB,MAAQ,MAMrFC,EAAW,IAAIC,SAErBxD,KAAK+B,MAAM,iBAAkB,CAAE0B,OAAQzD,KAAKW,QAAQmB,GAAIS,KAAMvC,KAAKW,QAAQ4B,OAG3EgB,EAASG,OAAO,OAAQ1D,KAAKY,QAAS,UAAK+C,SAAW,IAAM3D,KAAKY,QAAQ2B,MACzEgB,EAASG,OAAO,WAAY1D,KAAKW,QAAQ8B,UACzCzC,KAAKW,QAAQiD,OAAS,OAAOC,UAE7B7D,KAAK8D,qBAAoB,GAEzB,IAAIC,GAAc,EACZC,EAAkBC,aAAY,YAC3BpB,OAAOC,UAAUC,QAAUgB,IACxB,EAAKpD,UACL,EAAKA,QAAQiD,OAAS,OAAOM,MAC7B,EAAKvD,QAAQwD,WAAa,EAC1B,EAAKpC,MAAM,mBAEfgC,GAAc,EACdK,cAAcJ,GACd,EAAKF,qBAAoB,MAE9B,KAEH,eAASP,EAAUN,GAAQ1B,MAAK,SAAAC,GACxB,EAAKb,UACL,EAAKA,QAAQmB,GAAKN,EAASM,GAC3B,EAAKnB,QAAQ4B,KAAOf,EAASe,KAC7B,EAAK5B,QAAQiD,OAAS,OAAOS,KAC7B,EAAK1D,QAAQwD,WAAa,IAE1B,EAAKpC,MAAM,eAAgB,CAAE0B,OAAQ,EAAK9C,QAAQmB,GAAIS,KAAM,EAAK5B,QAAQ4B,KAAM+B,iBAAkB,EAAK1D,QAAQ2B,OAC9G,EAAKuB,qBAAoB,OAE9BS,OAAM,WACD,EAAK5D,UACL,EAAKA,QAAQiD,OAAS,OAAOM,MAC7B,EAAKvD,QAAQwD,WAAa,EAC1B,EAAKpC,MAAM,mBAEf,EAAK+B,qBAAoB,WAvDzB9D,KAAK+B,MAAM,oBAjF3B,qCA8IY,GAA+B,KAA3B/B,KAAKc,mBAA6Bd,KAAKY,QAAQ4D,KAAO,QAAWC,SAASzE,KAAKc,kBAAmB,IAElG,OADCd,KAAKgC,MAAM0C,eAAuBC,KAAKC,EAAA,KAAKC,EAAE,0BACxC,EAGX,IAAMC,EAAgB9E,KAAKY,QAAQ2B,KAAKwC,MAAM,KAAKC,MACnD,QAA+B,KAA3BhF,KAAKe,oBAA6Bf,KAAKe,kBAAkBY,SAASmD,EAAcG,kBAC/EjF,KAAKgC,MAAM0C,eAAuBC,KAAKC,EAAA,KAAKC,EAAE,8BACxC,KAtJvB,oCA6JY7E,KAAKW,QAAQiD,OAAS,OAAOC,UAC7B7D,KAAKW,QAAQwD,WAAa,EAC1BnE,KAAK0C,gBA/JjB,0CAkK4BwC,GAChBlF,KAAK+B,MAAM,sBAAuBmD,KAnK9C,mCAuKYlF,KAAKY,QAAU,GACfZ,KAAKW,QAAU,OAxK3B,GAA8C,QAC9B,gBAAP,kB,gCACO,gBAAP,kB,6BACO,gBAAP,kB,uCAkCiC,gBAAjC,eAAM,UAAW,CAAEwE,MAAM,K,6BAEzB,MAvCY,EAAgB,gBALhC,eAAU,CACPC,WAAY,CACRC,iBAAA,SAGS,WCzB0Z,I,wBCQ3aC,EAAY,eACd,EACAxF,EACAY,GACA,EACA,KACA,WACA,MAIa,OAAA4E,E,owBCPR,SAAeC,EAAtB,kC,kCAAO,WAA0BzD,GAA1B,SAAA0D,EAAA,gFACI,IAAIC,SAAQ,SAACC,EAASC,GACzB,OAAIC,OAAJ,iBAAqB9D,IAAMP,MACvB,SAAAC,GACIkE,EAAQlE,EAASqE,SAErB,SAAA3B,GACIyB,EAAOzB,UAPhB,2C,wBAaA,SAAe4B,EAAtB,kC,kCAAO,WAAgCC,GAAhC,SAAAP,EAAA,gFACI,IAAIC,SAAQ,SAACC,EAASC,GACzB,OAAIK,KAAK,gBAAiBD,GAAOxE,MAC7B,SAAAC,GACIkE,EAAQlE,EAASqE,SAErB,SAAA3B,GACIyB,EAAOzB,UAPhB,2C,wBAaA,SAAe+B,EAAtB,kC,kCAAO,WAA2BnE,GAA3B,SAAA0D,EAAA,gFACI,IAAIC,SAAQ,SAACC,EAASC,GACzB,OAAIO,IAAJ,sBAAuBpE,IAAMP,MACzB,SAAAC,GACIkE,EAAQlE,EAASqE,SAErB,SAAA3B,GACIyB,EAAOzB,UAPhB,2C,wBAaA,SAAeiC,EAAtB,kC,kCAAO,WAAyBrE,GAAzB,SAAA0D,EAAA,gFACI,IAAIC,SAAQ,SAACC,EAASC,GACzB,OAAIO,IAAJ,iBAAkBpE,EAAlB,YAA+BP,MAC3B,SAAAC,GACIkE,EAAQlE,EAASqE,SAErB,SAAA3B,GACIyB,EAAOzB,UAPhB,2C,wBAaA,SAAekC,EAAtB,kC,kCAAO,WAA2BtE,GAA3B,SAAA0D,EAAA,gFACI,IAAIC,SAAQ,SAACC,EAASC,GACzB,OAAIO,IAAJ,6BAA8BpE,IAAMP,MAChC,SAAAC,GACIkE,EAAQlE,EAASqE,SAErB,SAAA3B,GACIyB,EAAOzB,UAPhB,2C,wBAaA,SAAemC,EAAtB,oC,kCAAO,WAAwBR,EAAgB5C,GAAxC,SAAAuC,EAAA,gFACI,IAAIC,SAAQ,SAACC,EAASC,GACzB,OAAIW,aAAa,SAAUT,EAAM5C,GAAQ1B,MACrC,SAAAC,GACIkE,EAAQlE,EAASqE,SAErB,SAAA3B,GACIyB,EAAOzB,UAPhB,2C,wBAaA,SAAeqC,IAAtB,+B,kCAAO,sBAAAf,EAAA,gFACI,IAAIC,SAAQ,SAACC,EAASC,GACzB,OAAIO,IAAJ,4BAAoC3E,MAChC,SAAAC,GACIkE,EAAQlE,EAASqE,SAErB,SAAA3B,GACIyB,EAAOzB,UAPhB,2C,wBAaA,SAAesC,EAAtB,kC,kCAAO,WAAqCT,GAArC,SAAAP,EAAA,gFACI,IAAIC,SAAQ,SAACC,EAASC,GACzB,OAAIK,KAAK,+BAAgCD,GAAOxE,MAC5C,SAAAC,GACIkE,EAAQlE,EAASqE,SAErB,SAAA3B,GACIyB,EAAOzB,UAPhB,2C,wBAaA,SAAeuC,EAAtB,kC,kCAAO,WAA+BV,GAA/B,SAAAP,EAAA,gFACI,IAAIC,SAAQ,SAACC,EAASC,GACzB,OAAIK,KAAK,yBAA0BD,GAAOxE,MACtC,SAAAC,GACIkE,EAAQlE,EAASqE,SAErB,SAAA3B,GACIyB,EAAOzB,UAPhB,2C,wBAaA,SAAewC,EAAtB,kC,kCAAO,WAA0BX,GAA1B,SAAAP,EAAA,gFACI,IAAIC,SAAQ,SAACC,EAASC,GACzB,OAAIK,KAAK,oBAAqBD,GAAOxE,MACjC,SAAAC,GACIkE,EAAQlE,EAASqE,SAErB,SAAA3B,GACIyB,EAAOzB,UAPhB,2C,wBAaA,SAAeyC,EAAtB,kC,kCAAO,WAAmC7E,GAAnC,SAAA0D,EAAA,gFACI,IAAIC,SAAQ,SAACC,EAASC,GACzB,OAAIO,IAAJ,qCAAsCpE,IAAMP,MACxC,SAAAC,GACIkE,EAAQlE,EAASqE,SAErB,SAAA3B,GACIyB,EAAOzB,UAPhB,2C,4DC9IP,IAAIpE,EAAS,WAAa,IAAIC,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,UAAU,CAACE,IAAI,aAAaE,MAAM,CAAC,SAAW,GAAG,MAAQR,EAAI6G,GAAG,eAAeC,YAAY9G,EAAI+G,GAAG,CAAC,CAACC,IAAI,eAAeC,GAAG,WAAW,MAAO,CAAC7G,EAAG,WAAW,CAACI,MAAM,CAAC,QAAU,WAAWC,GAAG,CAAC,MAAQT,EAAIkH,OAAO,CAAClH,EAAImH,GAAGnH,EAAIoH,GAAGpH,EAAI6G,GAAG,mBAAmBQ,OAAM,MAAS,CAACjH,EAAG,MAAM,CAACG,YAAY,uCAAuC,CAACH,EAAG,MAAM,CAACJ,EAAImH,GAAGnH,EAAIoH,GAAGnH,KAAKqH,iBAClc3G,EAAkB,G,omDCctB,IAAqB2E,EAArB,kE,0BACI,EAAAgC,QAAU,GADd,yCAGSC,GACDtH,KAAKqH,QAAUC,EACdtH,KAAKgC,MAAMuF,WAAmBC,SALvC,6BASQxH,KAAKqH,QAAU,GACdrH,KAAKgC,MAAMuF,WAAmBN,WAVvC,GAA4C,QAAvB5B,EAAc,gBADlC,QACoBA,GAAA,QCfwZ,I,YCOzaC,EAAY,eACd,EACAxF,EACAY,GACA,EACA,KACA,KACA,MAIa,OAAA4E,E,6CClBf,yBAAmhB,EAAG,G,yDCcthB,IAAYmC,EA+BAC,EA/BZ,6EAAYD,GACR,gCACA,sBACA,wBAHJ,CAAYA,MAAM,KA+BlB,SAAYC,GACR,wBACA,wBACA,8BACA,8CAJJ,CAAYA,MAAS","file":"js/chunk-201f6737.2ea6c2e5.js","sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('file-alert-modal',{ref:\"fileAlertModal\"}),_c('input',{ref:\"fileInput\",staticClass:\"file-input\",attrs:{\"type\":\"file\"},on:{\"change\":_vm.onFileUploadChange}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\r\nimport { Component, Prop, Vue, Watch } from \"vue-property-decorator\";\r\n// types\r\nimport { FolderEntites } from \"../../../services/folders/types\";\r\nimport { Status, VscFile } from \"@/services/files/types\";\r\nimport i18n from \"@/i18n\";\r\n// service methods\r\nimport { getApplicationSettings } from \"@/services/applicationSettings/applicationSettingsService\";\r\nimport { getRootFolder } from \"@/services/folders/folderService\";\r\nimport { postFile } from \"@/services/files/fileService\";\r\n// components\r\nimport FileAlertModal from \"@/components/files/modals/FileAlertModal.vue\";\r\nimport { Guid } from \"guid-typescript\";\r\n\r\n @Component({\r\n components: {\r\n FileAlertModal\r\n }\r\n })\r\nexport default class DirectFileUpload extends Vue {\r\n @Prop() fileTypes!: string[];\r\n @Prop() folder!: FolderEntites;\r\n @Prop() promptFileUpload!: boolean;\r\n // local state\r\n vscFile = {} as VscFile;\r\n tmpFile = {} as File;\r\n directFolderId = \"\";\r\n maxUploadFileSize = \"\";\r\n allowedExtensions = \"\";\r\n\r\n // lifecycle hooks\r\n mounted() {\r\n const asKeys = [\"MaxUploadFileSize\"];\r\n\r\n if (this.fileTypes && this.fileTypes.length > 0) {\r\n this.fileTypes.forEach(ft => {\r\n if (ft !== \"Other\") {\r\n asKeys.push(`allowed${ft}Extensions`);\r\n } else {\r\n asKeys.push(`otherAllowedExtensions`);\r\n }\r\n });\r\n }\r\n getApplicationSettings({ keys: asKeys }).then(response => {\r\n this.maxUploadFileSize = response.maxUploadFileSize;\r\n asKeys.filter(k => k.includes(\"Extensions\")).forEach(ex => {\r\n this.allowedExtensions += (response as any)[ex];\r\n });\r\n });\r\n\r\n getRootFolder(this.folder).then(response => {\r\n this.directFolderId = response.id;\r\n });\r\n }\r\n\r\n // watchers\r\n @Watch(\"vscFile\", { deep: true }) vscFileChanged() {\r\n this.$emit(\"fileObjectChanged\", this.vscFile);\r\n }\r\n // computed\r\n\r\n // methods\r\n openFileUpload(): void {\r\n (this.$refs.fileInput as any).click();\r\n }\r\n\r\n async onFileUploadChange(event: any) {\r\n this.tmpFile = event.target.files[0];\r\n if (!this.validateFile()) {\r\n return;\r\n }\r\n\r\n this.vscFile = {\r\n id: \"\",\r\n name: this.tmpFile.name,\r\n isNew: true,\r\n folderId: this.directFolderId\r\n } as VscFile;\r\n this.startUpload();\r\n event.target.value = \"\";\r\n }\r\n\r\n // this method is used if the user wants to inject file without using the file control\r\n injectFile(file: File) {\r\n this.tmpFile = file;\r\n if (!this.validateFile()) {\r\n return;\r\n }\r\n\r\n this.vscFile = {\r\n id: \"\",\r\n name: this.tmpFile.name,\r\n isNew: true,\r\n folderId: this.directFolderId\r\n } as VscFile;\r\n this.startUpload();\r\n }\r\n\r\n startUpload() {\r\n if (!window.navigator.onLine) {\r\n this.$emit(\"fileUploadFail\");\r\n return;\r\n }\r\n const componentScope = this;\r\n const config = {\r\n onUploadProgress: function (event: ProgressEvent) {\r\n if (event.lengthComputable) {\r\n if (componentScope.vscFile) {\r\n Vue.set(componentScope.vscFile, \"percentage\", event.loaded / event.total * 90);\r\n }\r\n }\r\n }\r\n };\r\n\r\n const formData = new FormData();\r\n\r\n this.$emit(\"startUploading\", { fileId: this.vscFile.id, name: this.vscFile.name });\r\n\r\n // Prepend a guid before the name to prevent our backend from just replacing the same image\r\n formData.append(\"file\", this.tmpFile, Guid.create() + \"_\" + this.tmpFile.name);\r\n formData.append(\"folderId\", this.vscFile.folderId);\r\n this.vscFile.status = Status.uploading;\r\n\r\n this.toggleHeaderButtons(false);\r\n\r\n let isUploading = true;\r\n const checkConnection = setInterval(() => {\r\n if (!window.navigator.onLine && isUploading) {\r\n if (this.vscFile) {\r\n this.vscFile.status = Status.error;\r\n this.vscFile.percentage = 0;\r\n this.$emit(\"fileUploadFail\");\r\n }\r\n isUploading = false;\r\n clearInterval(checkConnection);\r\n this.toggleHeaderButtons(true);\r\n }\r\n }, 500); // check every 500ms\r\n\r\n postFile(formData, config).then(response => {\r\n if (this.vscFile) {\r\n this.vscFile.id = response.id;\r\n this.vscFile.name = response.name;\r\n this.vscFile.status = Status.done;\r\n this.vscFile.percentage = 100;\r\n\r\n this.$emit(\"fileUploaded\", { fileId: this.vscFile.id, name: this.vscFile.name, originalFileName: this.tmpFile.name });\r\n this.toggleHeaderButtons(true);\r\n }\r\n }).catch(() => {\r\n if (this.vscFile) {\r\n this.vscFile.status = Status.error;\r\n this.vscFile.percentage = 0;\r\n this.$emit(\"fileUploadFail\");\r\n }\r\n this.toggleHeaderButtons(true);\r\n });\r\n }\r\n\r\n validateFile(): boolean {\r\n // check size\r\n if (this.maxUploadFileSize === \"\" || (this.tmpFile.size / 1048576) > parseInt(this.maxUploadFileSize, 10)) {\r\n (this.$refs.fileAlertModal as any).open(i18n.t(\"file.fileSizeExceeds\"));\r\n return false;\r\n }\r\n\r\n const fileExtension = this.tmpFile.name.split(\".\").pop()!;\r\n if (this.allowedExtensions === \"\" || !this.allowedExtensions.includes(fileExtension.toLowerCase())) {\r\n (this.$refs.fileAlertModal as any).open(i18n.t(\"file.extensionNotAllowed\"));\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n\r\n retryUpload() {\r\n this.vscFile.status = Status.uploading;\r\n this.vscFile.percentage = 0;\r\n this.startUpload();\r\n }\r\n\r\n toggleHeaderButtons(state: boolean) {\r\n this.$emit(\"toggleHeaderButtons\", state);\r\n }\r\n\r\n removeFile() {\r\n this.tmpFile = {} as File;\r\n this.vscFile = {} as 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!./DirectFileUpload.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!./DirectFileUpload.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./DirectFileUpload.vue?vue&type=template&id=2b5a30a2&scoped=true&\"\nimport script from \"./DirectFileUpload.vue?vue&type=script&lang=ts&\"\nexport * from \"./DirectFileUpload.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./DirectFileUpload.vue?vue&type=style&index=0&id=2b5a30a2&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 \"2b5a30a2\",\n null\n \n)\n\nexport default component.exports","import Api from \"@/services/api\";\r\nimport {\r\n VscFile,\r\n FilesFilterDtoIn,\r\n FileInfo,\r\n FilesDuplicatesDtoIn,\r\n FileNameUpdateDtoIn,\r\n FilesFilterDtoOut,\r\n FileUsageResult, UnsplashImageDtoIn\r\n} from \"@/services/files/types\";\r\nimport { FolderEntites } from \"@/services/folders/types\";\r\n\r\nexport async function deleteFile(id: string): Promise {\r\n return new Promise((resolve, reject) => {\r\n Api.delete(`/files/${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 getFilteredFiles(model: FilesFilterDtoIn): Promise {\r\n return new Promise((resolve, reject) => {\r\n Api.post(\"/files/filter\", 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 GetFileInfo(id: string): Promise {\r\n return new Promise((resolve, reject) => {\r\n Api.get(`/files/info/${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 getFolder(id: string): Promise {\r\n return new Promise((resolve, reject) => {\r\n Api.get(`/files/${id}/folder`).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(`/files/checkdelete/${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 postFile(data: FormData, config: any): Promise {\r\n return new Promise((resolve, reject) => {\r\n Api.postFormData(\"/files\", data, config).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 getUnsplashAccessKey(): Promise {\r\n return new Promise((resolve, reject) => {\r\n Api.get(`/files/UnsplashAccessKey`).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 downloadUnsplashImage(model: UnsplashImageDtoIn): Promise {\r\n return new Promise((resolve, reject) => {\r\n Api.post(\"/files/DownloadUnsplashImage\", 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 checkDuplicates(model: FilesDuplicatesDtoIn): Promise {\r\n return new Promise((resolve, reject) => {\r\n Api.post(\"/files/checkDuplicates\", 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 updateName(model: FileNameUpdateDtoIn): Promise {\r\n return new Promise((resolve, reject) => {\r\n Api.post(\"/files/UpdateName\", 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 getFileFolderEntity(id: string): Promise {\r\n return new Promise((resolve, reject) => {\r\n Api.get(`/files/GetFileFolderEntity/${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","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-modal',{ref:\"alertModal\",attrs:{\"centered\":\"\",\"title\":_vm.$t('file.alert')},scopedSlots:_vm._u([{key:\"modal-footer\",fn:function(){return [_c('b-button',{attrs:{\"variant\":\"primary\"},on:{\"click\":_vm.hide}},[_vm._v(_vm._s(_vm.$t(\"common.ok\")))])]},proxy:true}])},[_c('div',{staticClass:\"custom-scrollbar darkScroll-whiteBg\"},[_c('div',[_vm._v(_vm._s(this.message))])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\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 FileAlertModal extends Vue {\r\n message = \"\";\r\n\r\n open(msg: string) {\r\n this.message = msg;\r\n (this.$refs.alertModal as any).show();\r\n }\r\n\r\n hide() {\r\n this.message = \"\";\r\n (this.$refs.alertModal as any).hide();\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!./FileAlertModal.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!./FileAlertModal.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./FileAlertModal.vue?vue&type=template&id=5c64765c&\"\nimport script from \"./FileAlertModal.vue?vue&type=script&lang=ts&\"\nexport * from \"./FileAlertModal.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 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!./DirectFileUpload.vue?vue&type=style&index=0&id=2b5a30a2&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!./DirectFileUpload.vue?vue&type=style&index=0&id=2b5a30a2&scoped=true&lang=css&\"","export interface VscFile {\r\n id: string,\r\n name: string,\r\n folderId: string,\r\n originalFileId: string,\r\n thumbnailId: string | null,\r\n isNew: boolean,\r\n status?: Status,\r\n percentage: number,\r\n mediaType: MediaType,\r\n height: number,\r\n width: number,\r\n}\r\n\r\nexport enum Status {\r\n uploading,\r\n done,\r\n error\r\n}\r\n\r\nexport interface FileInfo {\r\n name: string,\r\n height: number,\r\n width: number,\r\n folderPath: string\r\n}\r\n\r\nexport interface FilesFilterDtoIn {\r\n mediaType: MediaType | null,\r\n currentPage: number,\r\n pageSize: number,\r\n searchQuery: string,\r\n folderId: string,\r\n}\r\n\r\nexport interface FilesFilterDtoOut {\r\n files: VscFile[],\r\n totalCount: number\r\n}\r\n\r\nexport interface FilesDuplicatesDtoIn {\r\n folderId: string,\r\n files: string[]\r\n}\r\n\r\nexport enum MediaType {\r\n Image,\r\n Video,\r\n Document,\r\n ImageAndDocument\r\n}\r\n\r\nexport interface FileNameUpdateDtoIn {\r\n id: string,\r\n name: string\r\n}\r\n\r\nexport interface FileInUsePost{\r\n postId: string,\r\n postName: string,\r\n channelId: string,\r\n createdBy: string,\r\n userHasAccessToChannel: boolean\r\n}\r\nexport interface FileInUseTemplate {\r\n templateId: string,\r\n templateName: string,\r\n templateType: string\r\n}\r\n\r\nexport interface FileUsageResult {\r\n posts: FileInUsePost[],\r\n templates: FileInUseTemplate[]\r\n}\r\n\r\nexport interface UnsplashImageDtoIn {\r\n downloadLink: string\r\n artistName: string\r\n imgDescription: string\r\n}\r\n"],"sourceRoot":""}