{"version":3,"sources":["webpack:///./src/mixins/modal-tab.mixin.ts","webpack:///./src/components/Breadcrumbs.vue?d127","webpack:///./src/components/Breadcrumbs.vue","webpack:///./src/components/Breadcrumbs.vue?5233","webpack:///./src/components/Breadcrumbs.vue?e4a7","webpack:///./src/pages/images/images.vue?adae","webpack:///./src/constants/property-image-categories.constant.ts","webpack:///./src/pages/images/images.vue","webpack:///./src/pages/images/images.vue?a022","webpack:///./src/pages/images/images.vue?1efe","webpack:///./src/components/Breadcrumbs.vue?e922","webpack:///./src/pages/images/images.vue?498a"],"names":["ModalTabMixin","loading","promptToSave","this","mode","getForm","then","data","form","setFields","finally","action","hasChanges","promptAction","event","params","onSubmit","reset","options","submit","lang","res","$emit","id","type","String","render","_vm","_h","$createElement","_c","_self","staticClass","attrs","scopedSlots","_u","key","fn","proxy","$t","_l","item","index","staticRenderFns","Breadcrumbs","component","_v","_s","isEditMode","value","editImages","length","on","$event","onShowEditorClick","deleteSelectedImages","cancelEditMode","$refs","uploaderInput","click","ref","setEditor","staticStyle","image","i","meta","category","undefined","categoryOptions","scope","opt","child","label","model","grand","directives","name","rawName","isRoomImage","propertyId","getSelectedProperty","select","callback","$$v","$set","expression","_e","preview","fileChangeInput","refInFor","changeImage","deleteEditImage","isFeaturedImage","progress","isProcessing","upload","closeEditor","class","style","backgroundImage","thumbURL","onThumbClick","getEditIndex","group","groupIndex","displayName","children","property","activities","room","showEditor","images","getImages","setSpinnerState","promises","push","do","fileId","e","Promise","all","splice","blob","resolve","reader","FileReader","readAsDataURL","onload","result","roomCategoryKeys","includes","target","files","Object","generatePreviewImage","freeze","size","isLogo","roomTypes","file","processing","formData","FormData","append","JSON","stringify","onUploadProgress","progressEvent","Math","round","loaded","total","itemIndex","imageURL","fileSize","assign","limit","populate","path","filter","roomImages","roomImage","refs","find","roomCategory","flatMap","sub","imagePath","sizes","full","reduce","some","findIndex","components"],"mappings":"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","file":"js/chunk-48eea227.68231356.js","sourcesContent":["import { API } from \"@resclick/compass\";\nimport Vue from \"vue\";\nimport { Component, Prop } from \"vue-property-decorator\";\nimport { CrsAction, CrsForm } from \"@resclick/crs-ui\";\n\n@Component\nexport default class ModalTabMixin<\n N extends keyof API,\n A extends keyof API[N]\n> extends Vue {\n @Prop({ type: String }) id?: string;\n loading = false;\n form!: CrsForm;\n\n promptToSave = false;\n promptAction!: () => void;\n\n get mode() {\n return this.id ? \"update\" : \"create\";\n }\n\n created(this: any) {\n if (this.mode === \"update\" && typeof this.getForm === \"function\") {\n this.loading = true;\n this.getForm()\n .then(({ data }: { data: any }) => this.form.setFields(data))\n .finally(() => (this.loading = false));\n }\n }\n\n /* Check and prompt for save data */\n checkUnsaved(action: () => void) {\n if (this.form && this.form.hasChanges && this.form.hasChanges()) {\n this.promptToSave = true;\n this.promptAction = action;\n } else {\n if (typeof action === \"function\") action();\n }\n }\n\n onPrompt(event: string, params: any) {\n if (event === \"submit\") {\n this.onSubmit(params).then(() => this.promptAction());\n } else if (event === \"discard\") {\n this.form.reset();\n this.promptAction();\n }\n }\n\n onSubmit(\n params: CrsAction extends { params: any }\n ? { [K in CrsAction[\"params\"][number]]: string }\n : undefined,\n options?: { lang?: string }\n ) {\n this.loading = true;\n return this.form\n .submit({ params, lang: options?.lang })\n .then((res) => this.$emit(\"update-data\", res.data))\n .finally(() => (this.loading = false));\n }\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('q-breadcrumbs',{staticClass:\"breadcrumbs\",attrs:{\"active-color\":\"blue\"},scopedSlots:_vm._u([{key:\"separator\",fn:function(){return [_c('q-icon',{attrs:{\"color\":\"blue\",\"name\":\"mdi-chevron-right\",\"size\":\"1.5em\"}})]},proxy:true}])},[_c('q-breadcrumbs-el',{attrs:{\"label\":_vm.$t('NAVIGATION.DASHBOARD'),\"icon\":\"mdi-home\"}}),_vm._l((_vm.items),function(item,index){return [_c('q-breadcrumbs-el',{key:index,attrs:{\"label\":item}})]})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Vue, Prop } from \"vue-property-decorator\";\n\n@Component\nexport default class Breadcrumbs extends Vue {\n @Prop() items!: string[];\n}\n","import mod from \"-!../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/@vue/cli-plugin-typescript/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/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Breadcrumbs.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/@vue/cli-plugin-typescript/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/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Breadcrumbs.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Breadcrumbs.vue?vue&type=template&id=d49bbca4&\"\nimport script from \"./Breadcrumbs.vue?vue&type=script&lang=ts&\"\nexport * from \"./Breadcrumbs.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./Breadcrumbs.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/cli-service/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('layout',{attrs:{\"name\":\"default\"}},[_c('div',{staticClass:\"q-pa-md\"},[_c('Breadcrumbs',{attrs:{\"items\":[_vm.$t('NAVIGATION.IMAGES')]}}),_c('div',{staticClass:\"col-12 full-width row inline no-wrap justify-between items-center content-center q-mt-md\"},[_c('span',{staticClass:\"text-h6\"},[_vm._v(_vm._s(_vm.$t(\"NAVIGATION.IMAGES\")))]),_c('div')]),_c('div',{staticClass:\"col-12\"},[_c('div',{staticClass:\"tools full-width q-mt-md\"},[_c('div',{staticClass:\"row q-col-gutter-sm justify-between\"},[(!_vm.isEditMode)?[_c('div',{staticClass:\"col-6\"},[_c('q-btn',{staticClass:\"full-width q-pa-xs text-left\",attrs:{\"color\":\"primary\",\"no-caps\":\"\"},on:{\"click\":function($event){return _vm.$refs.uploaderInput.click()}}},[_c('input',{ref:\"uploaderInput\",attrs:{\"hidden\":\"\",\"multiple\":\"\",\"type\":\"file\"},on:{\"input\":function($event){return _vm.setEditor($event)}}}),_c('div',{staticClass:\"col-12 text-left\"},[_c('q-icon',{staticClass:\"q-mr-sm\",attrs:{\"name\":\"mdi-image-plus\"}}),_c('span',{staticClass:\"text-subtitle1\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"GENERAL.ADD_PHOTOS\")))])],1),_c('div',{staticClass:\"col-12 text-left\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"DESCRIPTIONS.BROWSE_FILES_OR_DRAG_AND_DROP\"))+\" \")])])],1),_c('div',{staticClass:\"col-6\"},[_c('q-btn',{staticClass:\"full-width q-pa-xs text-left\",attrs:{\"color\":\"primary\",\"no-caps\":\"\",\"type\":\"file\"},on:{\"click\":function($event){_vm.isEditMode = true}}},[_c('div',{staticClass:\"col-12 text-left\"},[_c('q-icon',{staticClass:\"q-mr-sm\",attrs:{\"name\":\"mdi-image-edit\"}}),_c('span',{staticClass:\"text-subtitle1\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"GENERAL.SELECT_PHOTOS\")))])],1),_c('div',{staticClass:\"col-12 text-left\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"DESCRIPTIONS.EDIT_OR_DELETE_MULTIPLE_PHOTOS\"))+\" \")])])],1)]:[_c('div',{staticClass:\"col-12\"},[_c('q-card',[_c('q-card-section',{staticClass:\"text-h5\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"GENERAL.ITEMS_SELECTED\", { value: _vm.editImages.length, }))+\" \")]),_c('q-card-section',[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-12\"},[_c('q-btn',{staticClass:\"full-width items-start\",attrs:{\"label\":_vm.$t('GENERAL.EDIT'),\"color\":\"primary\",\"flat\":\"\",\"icon\":\"mdi-pen\"},on:{\"click\":function($event){return _vm.onShowEditorClick()}}})],1),_c('div',{staticClass:\"col-12\"},[_c('q-btn',{staticClass:\"full-width items-start\",attrs:{\"label\":_vm.$t('GENERAL.DELETE'),\"color\":\"negative\",\"flat\":\"\",\"icon\":\"mdi-delete\"},on:{\"click\":_vm.deleteSelectedImages}})],1)])]),_c('q-card-section',[_c('q-btn',{staticClass:\"full-width\",attrs:{\"label\":_vm.$t('GENERAL.CANCEL'),\"color\":\"primary\"},on:{\"click\":_vm.cancelEditMode}})],1)],1)],1)]],2)])]),_c('div',{staticClass:\"row q-mt-sm q-col-gutter-md\"},[_c('div',{staticClass:\"col-12\"},[(_vm.showEditor)?_c('div',{staticClass:\"uploader q-pa-none bg-grey-3 fullscreen\"},[_c('div',{staticClass:\"q-pa-md q-col-gutter-md\",staticStyle:{\"min-height\":\"100%\"}},[_c('div',{staticClass:\"col-12 text-h5 text-uppercase\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"GENERAL.EDIT_PHOTOS\"))+\" \")]),_vm._l((_vm.editImages),function(image,i){return _c('div',{key:i,staticClass:\"col-12\"},[_c('div',{staticClass:\"row bg-white\"},[_c('div',{staticClass:\"upload-options q-pa-md\"},[_c('div',{staticClass:\"row q-col-gutter-sm\"},[_c('div',{staticClass:\"col-12 text-subtitle2\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"GENERAL.LABEL_THIS_PHOTO\"))+\" \")]),_c('div',{staticClass:\"col-12\"},[_c('q-select',{attrs:{\"display-value\":image.meta && image.meta.category\n ? _vm.$t('AMENITIES.' + image.meta.category)\n : undefined,\"label\":_vm.$t('GENERAL.LABEL'),\"options\":_vm.categoryOptions,\"value\":image.meta.category,\"dense\":\"\",\"outlined\":\"\"},scopedSlots:_vm._u([{key:\"option\",fn:function(scope){return [_c('q-expansion-item',{attrs:{\"label\":_vm.$t('AMENITIES.' + scope.opt.key),\"expand-separator\":\"\",\"group\":\"category\",\"header-class\":\"text-weight-bold bg-grey-2\"}},[_vm._l((scope.opt.children),function(child){return [_c('q-item',{key:child.label,staticClass:\"q-pa-none\",on:{\"click\":function($event){_vm.model = child.label}}},[_c('q-item-section',[_c('q-expansion-item',{attrs:{\"group\":scope.opt.key,\"label\":_vm.$t('AMENITIES.' + child.key),\"expand-separator\":\"\",\"header-class\":\"text-bold bg-grey-2\",\"icon\":\"mdi-chevron-double-right\"}},_vm._l((child.children),function(grand){return _c('q-list',{directives:[{name:\"close-popup\",rawName:\"v-close-popup\"}],key:grand.key,attrs:{\"separator\":\"\"}},[_c('q-item',{attrs:{\"clickable\":\"\"},on:{\"click\":function($event){image.meta.category = grand.key}}},[_c('q-item-section',{attrs:{\"side\":\"\"}},[_c('q-icon',{attrs:{\"name\":\"mdi-circle-outline\",\"size\":\"18px\"}})],1),_c('q-item-section',[_c('q-item-label',[_vm._v(\" \"+_vm._s(_vm.$t(\"AMENITIES.\" + grand.key))+\" \")])],1)],1)],1)}),1)],1)],1)]})],2)]}}],null,true)})],1),(_vm.isRoomImage(image))?_c('div',{staticClass:\"col-12\"},[_c('q-select-dynamic',{attrs:{\"label\":_vm.$t('GENERAL.ROOM_TYPES'),\"query\":{\n params: { propertyId: _vm.getSelectedProperty.id },\n select: [\n 'class',\n 'type',\n 'view',\n 'areaType',\n 'featuredAmenity' ],\n },\"action\":\"findRoomTypes\",\"dense\":\"\",\"emit-value\":\"\",\"map-options\":\"\",\"multiple\":\"\",\"namespace\":\"properties\",\"option-label\":\"displayName\",\"option-value\":\"id\",\"outlined\":\"\",\"use-chips\":\"\"},model:{value:(image.meta.roomTypes),callback:function ($$v) {_vm.$set(image.meta, \"roomTypes\", $$v)},expression:\"image.meta.roomTypes\"}})],1):_vm._e()])]),_c('div',{staticClass:\"col q-pa-md\"},[_c('q-img',{staticClass:\"shadow-4\",attrs:{\"src\":image.preview}},[_c('q-bar',{staticClass:\"full-width image-options\",attrs:{\"inset\":\"\"}},[_c('q-btn',{staticClass:\"q-ml-auto\",attrs:{\"flat\":\"\",\"icon\":\"mdi-file-replace\"},on:{\"click\":function($event){return _vm.$refs.fileChangeInput[i].click()}}},[_vm._v(\" \"+_vm._s(_vm.$t(\"GENERAL.REPLACE_PHOTO\"))+\" \")]),_c('input',{ref:\"fileChangeInput\",refInFor:true,attrs:{\"hidden\":\"\",\"type\":\"file\"},on:{\"change\":function($event){return _vm.changeImage(image, $event)}}}),_c('q-btn',{attrs:{\"flat\":\"\",\"icon\":\"mdi-delete\"},on:{\"click\":function($event){return _vm.deleteEditImage(image, i)}}},[_vm._v(\" \"+_vm._s(_vm.$t(\"GENERAL.DELETE\"))+\" \")]),_c('q-btn',{attrs:{\"color\":image.meta.isFeaturedImage ? 'orange' : 'white',\"flat\":\"\",\"icon\":\"mdi-star\"},on:{\"click\":function($event){image.meta.isFeaturedImage = !image.meta\n .isFeaturedImage}}},[_vm._v(\" \"+_vm._s(_vm.$t(\"GENERAL.PRIMARY_PROPERTY_PHOTO\"))+\" \")])],1),(image.progress !== 0 && image.progress !== 100)?_c('div',{staticClass:\"progress\"},[_c('q-circular-progress',{staticClass:\"bg-transparent\",attrs:{\"thickness\":0.22,\"value\":image.progress,\"color\":\"orange\",\"font-size\":\"12px\",\"show-value\":\"\",\"size\":\"100px\",\"track-color\":\"grey-3\"}},[_vm._v(\" \"+_vm._s(image.progress)+\"% \")])],1):_vm._e()],1)],1)])])})],2),_c('div',{staticClass:\"row image-actions\"},[_c('q-card-actions',{staticClass:\"q-pa-sm shadow-4 bg-grey-1 modal-footer\",attrs:{\"align\":\"right\"}},[_c('q-btn',{attrs:{\"disable\":_vm.isProcessing,\"color\":\"primary\",\"icon\":\"mdi-check\",\"no-caps\":\"\",\"outline\":\"\"},on:{\"click\":function($event){return _vm.upload()}}},[_vm._v(\" \"+_vm._s(_vm.$t(\"GENERAL.UPLOAD\"))+\" / \"+_vm._s(_vm.$t(\"GENERAL.SAVE\"))+\" \")]),_c('q-btn',{attrs:{\"disable\":_vm.isProcessing,\"color\":\"negative\",\"icon\":\"mdi-close\",\"no-caps\":\"\",\"outline\":\"\"},on:{\"click\":_vm.closeEditor}},[_vm._v(\" \"+_vm._s(_vm.$t(\"GENERAL.CLOSE\"))+\" \")])],1)],1)]):_vm._e(),_c('div',{staticClass:\"col q-gutter-md\"},[_c('q-card',[_c('q-card-section',[_c('div',{staticClass:\"text-h5 q-mb-md\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"GENERAL.PROPERTY_PHOTOS\"))+\" \")]),_c('div',{staticClass:\"thumbnail-container\"},_vm._l((_vm.propertyImages),function(image,i){return _c('div',{key:i,staticClass:\"thumb shadow-2\",class:{ 'featured-image': image.meta.isFeaturedImage },style:({ backgroundImage: (\"url(\" + (_vm.thumbURL(image)) + \")\") }),on:{\"click\":function($event){return _vm.onThumbClick(image)}}},[(_vm.isEditMode)?_c('q-icon',{staticClass:\"checker q-ma-xs\",attrs:{\"name\":_vm.getEditIndex(image) > -1\n ? 'mdi-check-circle-outline'\n : 'mdi-circle-outline',\"color\":\"positive\",\"size\":\"24px\"}}):_vm._e(),(image.meta && image.meta.category)?_c('div',{staticClass:\"thumb-title\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"AMENITIES.\" + image.meta.category))+\" \")]):_vm._e()],1)}),0)])],1),_vm._l((_vm.roomImagesGrouped),function(group,groupIndex){return _c('q-card',{key:groupIndex},[_c('q-card-section',[_c('div',{staticClass:\"text-h5 q-mb-md\"},[_c('q-icon',{attrs:{\"name\":\"mdi-bed\"}}),_vm._v(\" \"+_vm._s(group.displayName)+\" \")],1),_c('div',{staticClass:\"thumbnail-container\"},_vm._l((group.images),function(image,i){return _c('div',{key:i,staticClass:\"thumb shadow-2\",style:({ backgroundImage: (\"url(\" + (_vm.thumbURL(image)) + \")\") }),on:{\"click\":function($event){return _vm.onThumbClick(image)}}},[(_vm.isEditMode)?_c('q-icon',{staticClass:\"checker q-ma-xs\",attrs:{\"name\":_vm.getEditIndex(image) > -1\n ? 'mdi-check-circle-outline'\n : 'mdi-circle-outline',\"color\":\"positive\",\"size\":\"24px\"}}):_vm._e(),(image.meta && image.meta.category)?_c('div',{staticClass:\"thumb-title\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"AMENITIES.\" + image.meta.category))+\" \")]):_vm._e()],1)}),0)])],1)})],2)])])],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import property from \"./property-image-modules/property.json\";\nimport activities from \"./property-image-modules/activities.json\";\nimport room from \"./property-image-modules/room.json\";\n\nexport default [\n {\n key: \"PROPERTY\",\n children: property,\n },\n {\n key: \"ACTIVITIES\",\n children: activities,\n },\n {\n key: \"ROOM\",\n children: room,\n },\n];\n","\nimport imageCategories from \"@/constants/property-image-categories.constant\";\nimport ModalTabMixin from \"@/mixins/modal-tab.mixin\";\nimport { compass } from \"@resclick/compass\";\nimport { Component, Mixins, Watch } from \"vue-property-decorator\";\nimport { Action, Getter } from \"vuex-class\";\nimport { IProperty } from \"@resclick/data-access\";\nimport Breadcrumbs from \"@/components/Breadcrumbs.vue\";\n\ninterface IEditFile {\n id?: string;\n progress: number;\n preview: string;\n size: number;\n processing: boolean;\n file?: File;\n meta: {\n isLogo: boolean;\n isFeaturedImage: boolean;\n category: string;\n roomTypes: string[];\n };\n}\n\ninterface IImage {\n id: string;\n name: string;\n sizes: {\n thumbnail: string;\n small: string;\n medium: string;\n large: string;\n full: string;\n extra: string;\n };\n meta: {\n isLogo: boolean;\n isFeaturedImage: boolean;\n category: string;\n roomTypes: string[] | { id: string }[];\n };\n path: string;\n fileSize: number;\n}\n\n@Component({\n components: { Breadcrumbs },\n})\nexport default class TabImages extends Mixins(ModalTabMixin) {\n @Getter(\"property/getSelectedProperty\") getSelectedProperty!: IProperty;\n @Action(\"spinner/setSpinnerState\") setSpinnerState!: (state: boolean) => void;\n\n showEditor = false;\n images: IImage[] = [];\n\n isEditMode = false;\n\n editImages: IEditFile[] = [];\n\n /* Image Groups */\n get propertyImages() {\n return this.images.filter(\n (image: IImage) => !this.roomImages.includes(image)\n );\n }\n\n get roomImages() {\n return this.images.filter(\n (image: IImage) =>\n image.meta && image.meta.roomTypes && image.meta.roomTypes.length\n );\n }\n\n get roomImagesGrouped() {\n const roomTypes: any = {};\n for (const roomImage of this.roomImages) {\n const refs = roomImage.meta.roomTypes;\n for (const ref of refs) {\n if (typeof ref === \"object\" && ref.id) {\n if (!roomTypes[ref.id]) {\n roomTypes[ref.id] = { ...ref, images: [roomImage] };\n } else {\n roomTypes[ref.id].images.push(roomImage);\n }\n }\n }\n }\n return roomTypes;\n }\n\n /* Image Options*/\n get categoryOptions() {\n return imageCategories;\n }\n\n get roomCategory() {\n return this.categoryOptions.find((category) => category.key === \"ROOM\");\n }\n\n get roomCategoryKeys() {\n return (this.roomCategory as any).children.flatMap((sub: any) =>\n sub.children.flatMap((item: any) => item.key)\n );\n }\n\n get thumbURL() {\n return (image: IImage) => {\n const size = image.meta.isFeaturedImage ? \"medium\" : \"small\";\n const imagePath = image.sizes ? image.sizes[size] : image.path;\n return process.env.VUE_APP_CDN_URL + imagePath;\n };\n }\n\n get imageURL() {\n return (image: IImage) => {\n const imagePath = image.sizes ? image.sizes.full : image.path;\n return process.env.VUE_APP_CDN_URL + imagePath;\n };\n }\n\n get totalProgress() {\n return (\n this.editImages.reduce((total: number, image: any) => {\n total += image.progress;\n return total;\n }, 0) / this.editImages.length\n );\n }\n\n get isProcessing() {\n return this.editImages.some((image) => image.processing);\n }\n\n get getEditIndex() {\n return (image: IImage) =>\n this.editImages.findIndex((i) => i.id === image.id);\n }\n\n @Watch(\"getSelectedProperty\")\n watchPropertyState(value: IProperty) {\n this.getImages();\n this.setSpinnerState(false);\n }\n\n onShowEditorClick() {\n if (this.editImages.length) {\n this.showEditor = true;\n }\n }\n\n cancelEditMode() {\n this.editImages = [];\n this.isEditMode = false;\n }\n\n async deleteSelectedImages() {\n if (this.editImages.length) {\n const promises: Array> = [];\n for (const image of this.editImages) {\n promises.push(\n compass.do(\"properties\", \"deleteImage\", {\n params: {\n propertyId: this.getSelectedProperty.id as string,\n fileId: image.id as string,\n },\n })\n );\n }\n this.loading = true;\n await Promise.all(promises);\n this.loading = false;\n this.editImages = [];\n this.isEditMode = false;\n this.getImages();\n }\n }\n\n async deleteEditImage(image: IEditFile, index: number) {\n if (image.id) {\n await compass.do(\"properties\", \"deleteImage\", {\n params: {\n propertyId: this.getSelectedProperty.id as string,\n fileId: image.id as string,\n },\n });\n }\n\n this.editImages.splice(index, 1);\n }\n\n async generatePreviewImage(blob: Blob) {\n return new Promise((resolve) => {\n const reader = new FileReader();\n reader.readAsDataURL(blob);\n reader.onload = () => resolve(reader.result);\n });\n }\n\n isRoomImage(image: IEditFile) {\n return (\n image &&\n image.meta &&\n image.meta.category &&\n this.roomCategoryKeys.includes(image.meta.category)\n );\n }\n\n async setEditor(event: Event & { target: HTMLInputElement }) {\n const images = event.target.files;\n if (images) {\n for (let i = 0; i < images.length; i++) {\n const image = images[i];\n const file = {\n progress: 0,\n preview: Object.freeze(\n (await this.generatePreviewImage(image)) as string\n ),\n size: image.size,\n processing: false,\n file: Object.freeze(image),\n meta: {\n isLogo: false,\n isFeaturedImage: false,\n category: \"\",\n roomTypes: [],\n },\n };\n\n this.editImages.push(file);\n }\n\n this.showEditor = true;\n }\n }\n\n async changeImage(\n image: IEditFile,\n event: Event & { target: HTMLInputElement }\n ) {\n const images = event.target.files;\n if (images && images[0]) {\n image.progress = 0;\n image.processing = false;\n image.preview = Object.freeze(\n await this.generatePreviewImage(images[0])\n ) as string;\n image.file = Object.freeze(images[0]);\n }\n }\n\n upload() {\n for (const image of this.editImages) {\n const formData: any = new FormData();\n image.processing = true;\n if (image.file) formData.append(\"file\", image.file, image.file.name);\n formData.append(\"meta\", JSON.stringify(image.meta));\n\n const action = image.id ? \"updateImage\" : \"addImage\";\n\n compass\n .do(\"properties\", action, {\n params: {\n propertyId: this.getSelectedProperty.id as string,\n fileId: image.id,\n },\n data: formData,\n // formData,\n onUploadProgress: (progressEvent: ProgressEvent) => {\n image.progress = Math.round(\n (progressEvent.loaded * 100) / progressEvent.total\n );\n },\n })\n .then(() => {\n image.processing = false;\n\n if (!this.isProcessing) {\n this.showEditor = false;\n this.isEditMode = false;\n this.editImages = [];\n this.getImages();\n }\n });\n }\n }\n\n async onThumbClick(image: IImage) {\n const itemIndex = this.getEditIndex(image);\n\n if (itemIndex < 0) {\n this.editImages.push({\n id: image.id,\n progress: 0,\n preview: this.imageURL(image),\n size: image.fileSize,\n processing: false,\n meta: Object.assign(\n {\n isLogo: false,\n isFeaturedImage: false,\n category: \"\",\n roomTypes: [],\n },\n image.meta\n ),\n });\n } else {\n this.editImages.splice(itemIndex, 1);\n }\n }\n\n closeEditor() {\n this.showEditor = false;\n this.getImages();\n }\n\n getImages() {\n this.loading = true;\n compass\n .do(\"properties\", \"findImages\", {\n params: { propertyId: this.getSelectedProperty.id as string },\n limit: 100,\n populate: [\n {\n path: \"meta.roomTypes\",\n select: [\"displayName\"],\n },\n ],\n })\n .then(({ data }: any) => {\n this.images = data;\n })\n .finally(() => {\n this.loading = false;\n });\n }\n\n async mounted() {\n this.getImages();\n this.setSpinnerState(false);\n }\n}\n","import mod from \"-!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/@vue/cli-plugin-typescript/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/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./images.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/@vue/cli-plugin-typescript/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/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./images.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./images.vue?vue&type=template&id=6cac2e15&scoped=true&\"\nimport script from \"./images.vue?vue&type=script&lang=ts&\"\nexport * from \"./images.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./images.vue?vue&type=style&index=0&id=6cac2e15&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"6cac2e15\",\n null\n \n)\n\nexport default component.exports","export * from \"-!../../node_modules/@vue/cli-service/node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/@vue/cli-service/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/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Breadcrumbs.vue?vue&type=style&index=0&lang=scss&\"","export * from \"-!../../../node_modules/@vue/cli-service/node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/@vue/cli-service/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/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./images.vue?vue&type=style&index=0&id=6cac2e15&lang=scss&scoped=true&\""],"sourceRoot":""}