{"version":3,"sources":["webpack:///./src/components/Forms/FieldTypes/MultiFileUploader/FormMultiFileUploaderField.vue?e7d1","webpack:///./src/components/Forms/FieldTypes/MultiFileUploader/Modules/FormMultiFileUploaderGenericFileModule.vue?398b","webpack:///./src/components/Forms/FieldTypes/MultiFileUploader/Modules/FormMultiFileUploaderGenericFileModule.vue","webpack:///./src/components/Forms/FieldTypes/MultiFileUploader/Modules/FormMultiFileUploaderGenericFileModule.vue?3208","webpack:///./src/components/Forms/FieldTypes/MultiFileUploader/Modules/FormMultiFileUploaderGenericFileModule.vue?d7a4","webpack:///./src/components/Forms/FieldTypes/MultiFileUploader/Modules/FormMultiFileUploaderImageModule.vue?fa4a","webpack:///./src/components/Forms/FieldTypes/MultiFileUploader/Modules/FormMultiFileUploaderImageModule.vue","webpack:///./src/components/Forms/FieldTypes/MultiFileUploader/Modules/FormMultiFileUploaderImageModule.vue?b283","webpack:///./src/components/Forms/FieldTypes/MultiFileUploader/Modules/FormMultiFileUploaderImageModule.vue?3131","webpack:///./src/components/Forms/FieldTypes/MultiFileUploader/Modules/FormMultiFileUploaderVideoModule.vue?3b1e","webpack:///./src/components/Forms/FieldTypes/MultiFileUploader/Modules/FormMultiFileUploaderVideoModule.vue","webpack:///./src/components/Forms/FieldTypes/MultiFileUploader/Modules/FormMultiFileUploaderVideoModule.vue?f746","webpack:///./src/components/Forms/FieldTypes/MultiFileUploader/Modules/FormMultiFileUploaderVideoModule.vue?cf69","webpack:///./src/components/Forms/FieldTypes/MultiFileUploader/FormMultiFileUploaderField.vue","webpack:///./src/components/Forms/FieldTypes/MultiFileUploader/FormMultiFileUploaderField.vue?8d8b","webpack:///./src/components/Forms/FieldTypes/MultiFileUploader/FormMultiFileUploaderField.vue?568e","webpack:///./src/components/Forms/FieldTypes/MultiFileUploader/FormMultiFileUploaderField.vue?39a1"],"names":["render","_vm","this","_h","$createElement","_c","_self","staticClass","class","hasErrors","def","TypeName","_l","file","idx","key","id","_v","_s","name","formatFileSize","size","attrs","on","$event","removeFile","files","length","Labels","NoFiles","_e","MaximumUploadSize","FormattedTotalMaxFileSize","mod","Type","_b","tag","handleAddFiles","staticRenderFns","uploadFiles","UploadButton","isMobile","canUploadImages","test","navigator","userAgent","AcceptableMIMETypes","some","m","indexOf","capture","fi","document","createElement","type","accept","join","multiple","style","display","setAttribute","onchange","$emit","remove","onblur","setTimeout","body","appendChild","click","component","ref","handleDone","video","File","lastModifiedDate","Date","components","VideoRecorder","errors","map","f","reduce","acc","current","index","splice","i","totalFileSize","TotalMaxFileSize","push","GetGuid","Log","Debug","b","u","s","toFixed","Key","Value","value","Array","filter","v","val","FormMultiFileUploaderGenericFileModule","FormMultiFileUploaderImageModule","FormMultiFileUploaderVideoModule"],"mappings":"yHAAA,IAAIA,EAAS,WAAa,IAAIC,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACE,YAAY,aAAaC,MAAM,CAAC,CAAC,aAAcP,EAAIQ,WAAY,eAAiBR,EAAIS,IAAIC,WAAW,CAACN,EAAG,MAAM,CAACE,YAAY,cAAc,CAACF,EAAG,KAAK,CAACE,YAAY,oBAAoB,CAACN,EAAIW,GAAIX,EAAS,OAAE,SAASY,EAAKC,GAAK,OAAOT,EAAG,KAAK,CAACU,IAAIF,EAAKG,IAAI,CAACX,EAAG,OAAO,CAACE,YAAY,iCAAiC,CAACN,EAAIgB,GAAGhB,EAAIiB,GAAGL,EAAKA,KAAKM,MAAM,MAAMlB,EAAIiB,GAAGjB,EAAImB,eAAeP,EAAKA,KAAKQ,UAAUhB,EAAG,OAAO,CAACE,YAAY,kCAAkC,CAACF,EAAG,SAAS,CAACiB,MAAM,CAAC,KAAO,QAAQC,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOvB,EAAIwB,WAAWX,MAAQ,CAACb,EAAIgB,GAAG,aAAa,QAA6B,IAArBhB,EAAIyB,MAAMC,OAActB,EAAG,KAAK,CAACE,YAAY,8BAA8B,CAACN,EAAIgB,GAAG,IAAIhB,EAAIiB,GAAGjB,EAAIS,IAAIkB,OAAOC,SAAS,OAAO5B,EAAI6B,MAAM,KAAKzB,EAAG,MAAM,CAACE,YAAY,gCAAgC,CAACN,EAAIgB,GAAG,IAAIhB,EAAIiB,GAAGjB,EAAIS,IAAIkB,OAAOG,mBAAmB9B,EAAIiB,GAAGjB,EAAIS,IAAIsB,2BAA2B,OAAO3B,EAAG,MAAM,CAACE,YAAY,gBAAgBN,EAAIW,GAAIX,EAAIS,IAAW,SAAE,SAASuB,GAAK,OAAO5B,EAAG,MAAM,CAACU,IAAIkB,EAAIC,KAAK3B,YAAY,qBAAqB,CAACF,EAAG,OAAS4B,EAAIC,KAAKjC,EAAIkC,GAAG,CAACC,IAAI,YAAYb,GAAG,CAAC,UAAYtB,EAAIoC,iBAAiB,YAAY,CAAC,IAAOJ,IAAK,KAAS,MAAK,MAC3sCK,EAAkB,G,4LCDlB,EAAS,WAAa,IAAIrC,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACE,YAAY,cAAc,CAACF,EAAG,cAAc,CAACA,EAAG,SAAS,CAACkB,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOvB,EAAIsC,aAAY,MAAU,CAACtC,EAAIgB,GAAGhB,EAAIiB,GAAGjB,EAAIS,IAAIkB,OAAOY,iBAAkBvC,EAAIwC,UAAYxC,EAAIyC,gBAAiBrC,EAAG,SAAS,CAACkB,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOvB,EAAIsC,aAAY,MAAS,CAACtC,EAAIgB,GAAG,gBAAgBhB,EAAI6B,MAAM,IAAI,IACna,EAAkB,G,4CCaD,EAArB,wKAIE,WACE,MAAO,4BAA4Ba,KAAKC,UAAUC,aALtD,2BAQE,WACE,OAAO3C,KAAKQ,IAAIoC,oBAAoBC,MAAK,SAACC,GAAD,OAAgC,IAAzBA,EAAEC,QAAQ,eAT9D,yBAYU,SAAYC,GAAgB,WAC5BC,EAAKC,SAASC,cAAc,SAElCF,EAAGG,KAAO,OACVH,EAAGI,OAASrD,KAAKQ,IAAIoC,oBAAoBU,KAAK,KAC9CL,EAAGM,UAAW,EACdN,EAAGO,MAAMC,QAAU,OAEfT,GACFC,EAAGS,aAAa,UAAW,cAG7BT,EAAGU,SAAW,WACRV,EAAGzB,MAAOC,SACZ,EAAKmC,MAAM,YAAaX,EAAGzB,OAE3ByB,EAAGY,WAIPZ,EAAGa,OAAS,WACVC,YAAW,WACTd,EAAGY,WACF,MAGLX,SAASc,KAAKC,YAAYhB,GAE1BA,EAAGiB,YAxCP,GAAoE,QAElE,yBADC,kB,0BADkB,EAAsC,yBAD1D,QACoB,WCdod,I,YCOreC,EAAY,eACd,EACA,EACA,GACA,EACA,KACA,KACA,MAIa,EAAAA,E,QClBX,EAAS,WAAa,IAAIpE,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACE,YAAY,cAAc,CAACF,EAAG,cAAc,CAACA,EAAG,SAAS,CAACkB,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOvB,EAAIsC,aAAY,MAAS,CAACtC,EAAIgB,GAAGhB,EAAIiB,GAAGjB,EAAIS,IAAIkB,OAAOY,kBAAkB,IAAI,IACjR,EAAkB,G,4XCYD,EAArB,6KAIU,SAAYU,GAAgB,WAC5BC,EAAKC,SAASC,cAAc,SAElCF,EAAGG,KAAO,OACVH,EAAGI,OAASrD,KAAKQ,IAAIoC,oBAAoBU,KAAK,KAC9CL,EAAGM,UAAW,EACdN,EAAGO,MAAMC,QAAU,OAEfT,GACFC,EAAGS,aAAa,UAAW,cAG7BT,EAAGU,SAAW,WACRV,EAAGzB,MAAOC,SACZ,EAAKmC,MAAM,YAAaX,EAAGzB,OAE3ByB,EAAGY,WAIPZ,EAAGa,OAAS,WACVC,YAAW,WACTd,EAAGY,WACF,MAGLX,SAASc,KAAKC,YAAYhB,GAE1BA,EAAGiB,YAhCP,GAA8D,QAE5D,GADC,kB,0BADkB,EAAgC,GADpD,QACoB,WCb8c,ICO/d,EAAY,eACd,EACA,EACA,GACA,EACA,KACA,KACA,MAIa,I,QClBX,EAAS,WAAa,IAAInE,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACE,YAAY,cAAc,CAACF,EAAG,gBAAgB,CAACiE,IAAI,WAAWhD,MAAM,CAAC,IAAMrB,EAAIS,KAAKa,GAAG,CAAC,KAAOtB,EAAIsE,eAAe,IACxN,EAAkB,G,wBCeD,EAArB,wKAIE,WACE,MAAO,4BAA4B5B,KAAKC,UAAUC,aALtD,wBAQE,SAAW2B,GACT,GAAc,OAAVA,EAAgB,CAElB,IAAM3D,EAAO2D,EAEPA,aAAiBC,OACrB5D,EAAK6D,iBAAmB,IAAIC,KAC5B9D,EAAKM,KAAO,SAGdjB,KAAK4D,MAAM,YAAa,CAACjD,SAlB/B,GAA8D,QAE5D,yBADC,kB,0BADkB,EAAgC,yBALpD,eAAU,CACT+D,WAAY,CACVC,cAAA,WAGiB,WChB8c,ICO/d,EAAY,eACd,EACA,EACA,GACA,EACA,KACA,KACA,MAIa,I,oYC+BM,EAArB,yG,0BAOU,EAAAnD,MAAmB,GAP7B,gDASE,WACE,OAAOxB,KAAK4E,OAAOnD,OAAS,IAVhC,yBAaE,WACE,OAAOzB,KAAKwB,MAAMqD,KAAI,SAACC,GAAD,OAAOA,EAAEnE,KAAKQ,QAAM4D,QAAO,SAACC,EAAKC,GAAN,OAAkBD,EAAMC,IAAS,KAdtF,wBAiBU,SAAWC,GACjBlF,KAAKwB,MAAM2D,OAAOD,EAAO,KAlB7B,4BAqBU,SAAe1D,GACrB,IAAK,IAAI4D,EAAI,EAAGA,EAAI5D,EAAMC,OAAQ2D,GAAK,EAAG,CACxC,IAAMzE,EAAOa,EAAM4D,GAEfpF,KAAKqF,cAAgB1E,EAAKQ,MAAQnB,KAAKQ,IAAI8E,iBAC7CtF,KAAKwB,MAAM+D,KAAK,CACd5E,OACAG,GAAI,OAAM0E,YAGZ,OAAOC,IAAI,OAASC,MAAO,QAAS,oDA/B5C,4BAoCU,SAAevE,GACrB,IAAIwE,EAAIxE,EAEJyE,EAAI,EACFC,EAAI,KAEV,MAAOF,GAAKE,IAAMF,GAAKE,EACrBF,GAAKE,EACLD,GAAK,EAGP,gBAAUA,EAAI,GAAH,OAAMD,EAAEG,QAAQ,GAAhB,KAAwBH,EAAnC,YAAwC,YAAYC,GAApD,OA/CJ,sBAmDE,WACE,MAAO,CACLG,IAAK/F,KAAKQ,IAAIuF,IACdC,MAAOhG,KAAKwB,MAAMqD,KAAI,SAACC,GAAD,OAAOA,EAAEnE,WAtDrC,sBA0DE,SAASsF,GACHA,EAAMD,iBAAiBE,QACzBlG,KAAKwB,MAASyE,EAAMD,MACjBG,QAAO,SAACC,GAAD,OAAgBA,aAAa7B,QACpCM,KAAI,SAACuB,GACJ,IAAMC,EAAMD,EAEZ,MAAO,CAAEzF,KAAM0F,EAAKvF,GAAI,OAAM0E,mBAjExC,GAAwD,QAEtD,GADC,kB,0BAID,GADC,kB,6BAJkB,EAA0B,GAP9C,eAAU,CACTd,WAAY,CACV4B,uCAAA,EACAC,iCAAA,EACAC,iCAAA,MAGiB,WCjDsb,ICQvc,G,UAAY,eACd,EACA1G,EACAsC,GACA,EACA,KACA,WACA,OAIa,e,kECnBf","file":"js/chunk-6065764b.40464f17.js","sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"form-field\",class:[{'has-errors': _vm.hasErrors}, 'form-field--' + _vm.def.TypeName]},[_c('div',{staticClass:\"mfu__files\"},[_c('ul',{staticClass:\"mfu__files__list\"},[_vm._l((_vm.files),function(file,idx){return _c('li',{key:file.id},[_c('span',{staticClass:\"mfu__files__list__item__label\"},[_vm._v(_vm._s(file.file.name)+\" - \"+_vm._s(_vm.formatFileSize(file.file.size)))]),_c('span',{staticClass:\"mfu__files__list__item__remove\"},[_c('Button',{attrs:{\"size\":\"tiny\"},on:{\"click\":function($event){return _vm.removeFile(idx)}}},[_vm._v(\"Remove\")])],1)])}),(_vm.files.length === 0)?_c('li',{staticClass:\"mfu__files__list__no-items\"},[_vm._v(\" \"+_vm._s(_vm.def.Labels.NoFiles)+\" \")]):_vm._e()],2)]),_c('div',{staticClass:\"mfu__upload-size center-text\"},[_vm._v(\" \"+_vm._s(_vm.def.Labels.MaximumUploadSize)+_vm._s(_vm.def.FormattedTotalMaxFileSize)+\" \")]),_c('div',{staticClass:\"mfu__modules\"},_vm._l((_vm.def.Modules),function(mod){return _c('div',{key:mod.Type,staticClass:\"mfu__module__wrap\"},[_c('Form' + mod.Type,_vm._b({tag:\"component\",on:{\"add_files\":_vm.handleAddFiles}},'component',{'def': mod},false))],1)}),0)])}\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',{staticClass:\"mfu-module\"},[_c('ButtonGroup',[_c('Button',{on:{\"click\":function($event){return _vm.uploadFiles(false)}}},[_vm._v(_vm._s(_vm.def.Labels.UploadButton))]),(_vm.isMobile && _vm.canUploadImages)?_c('Button',{on:{\"click\":function($event){return _vm.uploadFiles(true)}}},[_vm._v(\"Take Photo\")]):_vm._e()],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\r\nimport { Component, Vue, Prop } from 'vue-property-decorator';\r\nimport { MultiFileUploaderGenericFileModule } from 'client-website-ts-library/types/Forms/FieldTypes';\r\n\r\n@Component\r\nexport default class FormMultiFileUploaderGenericFileModule extends Vue {\r\n @Prop()\r\n private readonly def!: MultiFileUploaderGenericFileModule;\r\n\r\n private get isMobile(): boolean {\r\n return /iPhone|iPad|iPod|Android/i.test(navigator.userAgent);\r\n }\r\n\r\n private get canUploadImages() {\r\n return this.def.AcceptableMIMETypes.some((m) => m.indexOf('image/') !== -1);\r\n }\r\n\r\n private uploadFiles(capture: boolean): void {\r\n const fi = document.createElement('input') as HTMLInputElement;\r\n\r\n fi.type = 'file';\r\n fi.accept = this.def.AcceptableMIMETypes.join(',');\r\n fi.multiple = true;\r\n fi.style.display = 'none';\r\n\r\n if (capture) {\r\n fi.setAttribute('capture', 'envionment');\r\n }\r\n\r\n fi.onchange = () => {\r\n if (fi.files!.length) {\r\n this.$emit('add_files', fi.files!);\r\n\r\n fi.remove();\r\n }\r\n };\r\n\r\n fi.onblur = () => {\r\n setTimeout(() => {\r\n fi.remove();\r\n }, 100);\r\n };\r\n\r\n document.body.appendChild(fi);\r\n\r\n fi.click();\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!./FormMultiFileUploaderGenericFileModule.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!./FormMultiFileUploaderGenericFileModule.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./FormMultiFileUploaderGenericFileModule.vue?vue&type=template&id=cf0acd88&\"\nimport script from \"./FormMultiFileUploaderGenericFileModule.vue?vue&type=script&lang=ts&\"\nexport * from \"./FormMultiFileUploaderGenericFileModule.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","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"mfu-module\"},[_c('ButtonGroup',[_c('Button',{on:{\"click\":function($event){return _vm.uploadFiles(true)}}},[_vm._v(_vm._s(_vm.def.Labels.UploadButton))])],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\r\nimport { Component, Vue, Prop } from 'vue-property-decorator';\r\nimport { MultiFileUploaderImageModule } from 'client-website-ts-library/types/Forms/FieldTypes';\r\n\r\n@Component\r\nexport default class FormMultiFileUploaderImageModule extends Vue {\r\n @Prop()\r\n private readonly def!: MultiFileUploaderImageModule;\r\n\r\n private uploadFiles(capture: boolean): void {\r\n const fi = document.createElement('input') as HTMLInputElement;\r\n\r\n fi.type = 'file';\r\n fi.accept = this.def.AcceptableMIMETypes.join(',');\r\n fi.multiple = true;\r\n fi.style.display = 'none';\r\n\r\n if (capture) {\r\n fi.setAttribute('capture', 'envionment');\r\n }\r\n\r\n fi.onchange = () => {\r\n if (fi.files!.length) {\r\n this.$emit('add_files', fi.files!);\r\n\r\n fi.remove();\r\n }\r\n };\r\n\r\n fi.onblur = () => {\r\n setTimeout(() => {\r\n fi.remove();\r\n }, 100);\r\n };\r\n\r\n document.body.appendChild(fi);\r\n\r\n fi.click();\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!./FormMultiFileUploaderImageModule.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!./FormMultiFileUploaderImageModule.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./FormMultiFileUploaderImageModule.vue?vue&type=template&id=8babc446&\"\nimport script from \"./FormMultiFileUploaderImageModule.vue?vue&type=script&lang=ts&\"\nexport * from \"./FormMultiFileUploaderImageModule.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","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"mfu-module\"},[_c('VideoRecorder',{ref:\"recorder\",attrs:{\"def\":_vm.def},on:{\"done\":_vm.handleDone}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\r\nimport { Component, Vue, Prop } from 'vue-property-decorator';\r\nimport { MultiFileUploaderVideoModule } from 'client-website-ts-library/types/Forms/FieldTypes';\r\nimport { VideoRecorder } from 'client-website-ts-library/components';\r\n\r\n@Component({\r\n components: {\r\n VideoRecorder,\r\n },\r\n})\r\nexport default class FormMultiFileUploaderVideoModule extends Vue {\r\n @Prop()\r\n private readonly def!: MultiFileUploaderVideoModule;\r\n\r\n private get isMobile(): boolean {\r\n return /iPhone|iPad|iPod|Android/i.test(navigator.userAgent);\r\n }\r\n\r\n handleDone(video: Blob | null) {\r\n if (video !== null) {\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const file = video as any;\r\n\r\n if (!(video instanceof File)) {\r\n file.lastModifiedDate = new Date();\r\n file.name = 'Video';\r\n }\r\n\r\n this.$emit('add_files', [file as File]);\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!./FormMultiFileUploaderVideoModule.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!./FormMultiFileUploaderVideoModule.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./FormMultiFileUploaderVideoModule.vue?vue&type=template&id=3d09c4ab&\"\nimport script from \"./FormMultiFileUploaderVideoModule.vue?vue&type=script&lang=ts&\"\nexport * from \"./FormMultiFileUploaderVideoModule.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\r\nimport { Component, Vue, Prop } from 'vue-property-decorator';\r\nimport { IFormField, MultiFileUploader } from 'client-website-ts-library/types/Forms/FieldTypes';\r\nimport { FormSubmissionValidationError, FormValue } from 'client-website-ts-library/types/Forms';\r\nimport { Utils } from 'client-website-ts-library/util';\r\nimport { Logger, LogLevel } from 'client-website-ts-library/services';\r\n\r\nimport FormMultiFileUploaderGenericFileModule from './Modules/FormMultiFileUploaderGenericFileModule.vue';\r\nimport FormMultiFileUploaderImageModule from './Modules/FormMultiFileUploaderImageModule.vue';\r\nimport FormMultiFileUploaderVideoModule from './Modules/FormMultiFileUploaderVideoModule.vue';\r\n\r\ninterface MFUItem {\r\n file: File;\r\n id: string;\r\n}\r\n\r\n@Component({\r\n components: {\r\n FormMultiFileUploaderGenericFileModule,\r\n FormMultiFileUploaderImageModule,\r\n FormMultiFileUploaderVideoModule,\r\n },\r\n})\r\nexport default class FormMultiFileUploaderField extends Vue implements IFormField {\r\n @Prop()\r\n private readonly def!: MultiFileUploader;\r\n\r\n @Prop()\r\n private readonly errors!: FormSubmissionValidationError[];\r\n\r\n private files: MFUItem[] = [];\r\n\r\n get hasErrors(): boolean {\r\n return this.errors.length > 0;\r\n }\r\n\r\n get totalFileSize(): number {\r\n return this.files.map((f) => f.file.size).reduce((acc, current) => acc + current, 0);\r\n }\r\n\r\n private removeFile(index: number): void {\r\n this.files.splice(index, 1);\r\n }\r\n\r\n private handleAddFiles(files: File[]): void {\r\n for (let i = 0; i < files.length; i += 1) {\r\n const file = files[i];\r\n\r\n if (this.totalFileSize + file.size <= this.def.TotalMaxFileSize) {\r\n this.files.push({\r\n file,\r\n id: Utils.GetGuid(),\r\n });\r\n } else {\r\n Logger.Log(LogLevel.Debug, '[MFU]', 'Max file size will be exceded, skipping file.');\r\n }\r\n }\r\n }\r\n\r\n private formatFileSize(size: number): string {\r\n let b = size;\r\n\r\n let u = 0;\r\n const s = 1024;\r\n\r\n while (b >= s || -b >= s) {\r\n b /= s;\r\n u += 1;\r\n }\r\n\r\n return `${u ? `${b.toFixed(1)} ` : b} ${' KMGTPEZY'[u]}B`;\r\n // return (u ? b.toFixed(1) + ' ' : b) + ' KMGTPEZY'[u] + 'B';\r\n }\r\n\r\n getValue(): FormValue {\r\n return {\r\n Key: this.def.Key,\r\n Value: this.files.map((f) => f.file),\r\n };\r\n }\r\n\r\n setValue(value: FormValue) {\r\n if (value.Value instanceof Array) {\r\n this.files = (value.Value as unknown[])\r\n .filter((v: unknown) => v instanceof File)\r\n .map((v: unknown) => {\r\n const val = v as File;\r\n\r\n return { file: val, id: Utils.GetGuid() } as MFUItem;\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!./FormMultiFileUploaderField.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!./FormMultiFileUploaderField.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./FormMultiFileUploaderField.vue?vue&type=template&id=d8464c12&scoped=true&\"\nimport script from \"./FormMultiFileUploaderField.vue?vue&type=script&lang=ts&\"\nexport * from \"./FormMultiFileUploaderField.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./FormMultiFileUploaderField.vue?vue&type=style&index=0&id=d8464c12&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 \"d8464c12\",\n null\n \n)\n\nexport default component.exports","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!./FormMultiFileUploaderField.vue?vue&type=style&index=0&id=d8464c12&scoped=true&lang=css&\""],"sourceRoot":""}