{"version":3,"sources":["webpack:///./src/components/menus/Links/index.vue?3274","webpack:///./src/utilities/Date/parse.js","webpack:///./src/pages/Shared/violations/Details/tabs/conversations/List.vue?9f5a","webpack:///./src/pages/Shared/violations/Details/tabs/conversations/keys/methods.js","webpack:///./src/pages/Shared/violations/Details/tabs/conversations/keys/data.js","webpack:///src/pages/Shared/violations/Details/tabs/conversations/List.vue","webpack:///./src/pages/Shared/violations/Details/tabs/conversations/List.vue?ba7f","webpack:///./src/pages/Shared/violations/Details/tabs/conversations/List.vue","webpack:///./src/components/LazyLoad/ImageSpinner.vue?44ef","webpack:///./src/components/transitions/Slide.vue?a83b","webpack:///./src/components/menus/Links/index.vue?5407","webpack:///src/components/menus/Links/index.vue","webpack:///./src/components/menus/Links/index.vue?1cc0","webpack:///./src/components/menus/Links/index.vue","webpack:///./src/components/transitions/Slide.vue?ab9d","webpack:///src/components/transitions/Slide.vue","webpack:///./src/components/transitions/Slide.vue?8d18","webpack:///./src/components/transitions/Slide.vue","webpack:///./src/containers/PageContent.vue?c88c","webpack:///src/containers/PageContent.vue","webpack:///./src/containers/PageContent.vue?67b1","webpack:///./src/containers/PageContent.vue","webpack:///./src/services/ViolationIssue/ViolationOccurrence/List.js","webpack:///./src/services/ViolationIssue/ViolationStep/List.js","webpack:///./src/pages/Shared/violations/Details/index.vue?ff27","webpack:///./src/services/ViolationIssue/Violation/List.js","webpack:///./src/services/ViolationIssue/ViolationOccurrencePhoto/GetFile.js","webpack:///./src/services/ViolationIssue/ViolationOccurrencePhoto/sequences/GetMultiple.js","webpack:///./node_modules/core-js/modules/es.number.is-nan.js","webpack:///./src/pages/Shared/violations/Details/tabs/history/List.vue?a277","webpack:///./src/services/ViolationIssue/ViolationStepDocument/store.js","webpack:///./src/pages/Shared/violations/Details/tabs/history/keys/methods.js","webpack:///./src/pages/Shared/violations/Details/tabs/history/keys/data.js","webpack:///src/pages/Shared/violations/Details/tabs/history/List.vue","webpack:///./src/pages/Shared/violations/Details/tabs/history/List.vue?eb25","webpack:///./src/pages/Shared/violations/Details/tabs/history/List.vue","webpack:///./src/pages/Shared/violations/Details/index.vue?a255","webpack:///./src/pages/Shared/violations/Details/keys/data.js","webpack:///./src/pages/Shared/violations/Details/keys/methods.js","webpack:///./src/pages/Shared/violations/Details/keys/watch.js","webpack:///src/pages/Shared/violations/Details/index.vue","webpack:///./src/pages/Shared/violations/Details/index.vue?f6a9","webpack:///./src/pages/Shared/violations/Details/index.vue","webpack:///./src/pages/Management/violations/Escalator/index.vue?a8a6","webpack:///./src/components/Fields/ImageUploader/index.vue?c67a","webpack:///./src/components/LazyLoad/ImageItem.vue?6b7d","webpack:///./src/pages/Shared/violations/Details/tabs/details/index.vue?da31","webpack:///./src/pages/Management/violations/Escalator/index.vue?0aec","webpack:///./src/components/Fields/ImageUploader/index.vue?8473","webpack:///./src/components/Fields/ImageUploader/keys/data.js","webpack:///./src/components/Fields/ImageUploader/keys/methods.js","webpack:///./src/components/Fields/ImageUploader/keys/watch.js","webpack:///src/components/Fields/ImageUploader/index.vue","webpack:///./src/components/Fields/ImageUploader/index.vue?6f1a","webpack:///./src/components/Fields/ImageUploader/index.vue","webpack:///./src/pages/Management/violations/Escalator/keys/computed.js","webpack:///./src/pages/Management/violations/Escalator/keys/data.js","webpack:///./src/services/Violation/ViolationAction/List.js","webpack:///./src/services/ViolationIssue/Violation/Get.js","webpack:///./src/services/ViolationIssue/Violation/UpdateViolationActionStepOccurrence.js","webpack:///./src/services/ViolationIssue/ViolationOccurrencePhoto/StorePhoto.js","webpack:///./src/services/ViolationIssue/ViolationOccurrencePhoto/sequences/StoreMultiplePhotos.js","webpack:///./src/services/ViolationIssue/Violation/GenerateViolationLetterHTMLPreview.js","webpack:///./src/pages/Management/violations/Main/store.js","webpack:///./src/pages/Management/violations/Escalator/keys/methods.js","webpack:///./src/pages/Management/violations/Escalator/keys/props.js","webpack:///src/pages/Management/violations/Escalator/index.vue","webpack:///./src/pages/Management/violations/Escalator/index.vue?a343","webpack:///./src/pages/Management/violations/Escalator/index.vue","webpack:///./src/pages/Shared/violations/Details/tabs/details/components/DesktopGallery.vue?f794","webpack:///./src/components/LazyLoad/ImageItem.vue?bb40","webpack:///./src/components/LazyLoad/ImageSpinner.vue?dec8","webpack:///./src/components/LazyLoad/ImageSpinner.vue","webpack:///src/components/LazyLoad/ImageItem.vue","webpack:///./src/components/LazyLoad/ImageItem.vue?a524","webpack:///./src/components/LazyLoad/ImageItem.vue","webpack:///src/pages/Shared/violations/Details/tabs/details/components/DesktopGallery.vue","webpack:///./src/pages/Shared/violations/Details/tabs/details/components/DesktopGallery.vue?a31d","webpack:///./src/pages/Shared/violations/Details/tabs/details/components/DesktopGallery.vue","webpack:///./src/pages/Shared/violations/Details/tabs/details/components/MobileGallery.vue?a5d9","webpack:///src/pages/Shared/violations/Details/tabs/details/components/MobileGallery.vue","webpack:///./src/pages/Shared/violations/Details/tabs/details/components/MobileGallery.vue?a191","webpack:///./src/pages/Shared/violations/Details/tabs/details/components/MobileGallery.vue","webpack:///./src/pages/Shared/violations/Details/tabs/details/keys/computed.js","webpack:///./src/pages/Shared/violations/Details/tabs/details/keys/data.js","webpack:///./src/services/ViolationIssue/Violation/Put.js","webpack:///./src/pages/Shared/violations/Details/tabs/details/keys/methods.js","webpack:///./src/pages/Shared/violations/Details/tabs/details/keys/mounted.js","webpack:///./src/pages/Shared/violations/Details/tabs/details/keys/props.js","webpack:///./src/pages/Shared/violations/Details/tabs/details/keys/watch.js","webpack:///src/pages/Shared/violations/Details/tabs/details/index.vue","webpack:///./src/pages/Shared/violations/Details/tabs/details/index.vue?83d4","webpack:///./src/pages/Shared/violations/Details/tabs/details/index.vue"],"names":["parseDate","date","format","console","debug","parsed","moment","isValid","exception","message","error","render","_vm","this","_h","$createElement","_c","_self","attrs","parseInt","violationID","staticRenderFns","methods","reload","loading","$route","params","id","data","isDebug","styles","filterButton","float","marginTop","name","components","PageContentLayoutOnly","ListViolationConversations","computed","watch","mounted","i18n","messages","en","component","style","display","breakpoint","staticClass","styles_","_l","tab","index","key","prefix","hash","Object","assign","_v","_s","label","_e","flexGrow","includes","maxWidth","width","margin","model","value","callback","$$v","selectedTab","expression","_t","props","tabs","Array","type","String","default","to","getTabName","tabName","$router","push","ownerID","undefined","x","unsubWindowStore","mType","beforeDestroy","title","subtitle","sectionStyles","containerStyles","_sectionStyles","getVOccurrenceList","json","kms","kms_","get","result","log","successful","list","_get","listSteps","steps","isArray","listViolations","hoaID","Number","isNaN","getPhoto","photo","getMultiplePhotos","a","paramsList","Promise","all","map","results","problems","retrievals","length","content","photos","$","target","stat","number","padding","_m","step","position","boxShadow","marginBottom","top","right","color","observationDate","count","marginLeft","actionName","fontWeight","observedBy","description","slice","staticStyle","on","$event","preventDefault","handleEllipsis","showEllipsis","height","paddingRight","paddingLeft","justifyContent","alignItems","overflow","borderRadius","openPhotoModal","left","transform","flexShrink","maxHeight","objectFit","violationLetters","letter","getDocumentFile","violationStepDocumentID","zIndex","photoModal","$set","src","actions","getViolationStepDocumentList","JSON","stringify","path","violationOccurrenceID","violationStepID","includeDocumentsAsBase64","includeDocumentAsHtml","notifyProblem","getFile","dispatch","done","details","Vue","use","Vuex","violationStepDocumentStore","Store","state","mutations","getters","loadingComponent","$buefy","open","container","getOccurrences","getSteps","close","occurrences","occurrence","notifyError","asRawBaseSixtyFour","blob","base64toBlob","showAnyType","notifyWarning","photosList","dateFormat","photosMeta","o","violationOccurrencePhotos","getString","observationDateParsed","reverse","totalProblems","violationOccurrencePhotoID","asBase64","hoaId","then","forEach","f","documentFileName","mainPhoto","$forceUpdate","theme","$t","returnToParent","ul","overflowX","transitionName","violation","mainContainer","minHeight","showUploadModal","from","toIndex","fromIndex","SlideTransition","PageContent","LinksMenu","unit","violationDetails","marginRight","updateMainPhoto","flexDirection","textAlign","paddingBottom","fontSize","status","typeName","ownerName","address","authUserType","bottom","isClosed","confirmClose","escalate","ref","stepAdded","isOpen","modalContent","modal","scopedSlots","_u","fn","proxy","page","flexBasis","ownerAddress","borderTop","border","actionDescription","observationDescription","action","justifyItems","select","imagesUpdated","checkDetails","listRow","listLabel","listItem","selected","preview","confirm","file","directives","rawName","previews","image","deleteDropFile","documentIds","splice","onChange","images","updatePictures","URL","createObjectURL","Function","allActions","Date","toISOString","getVActionList","escalationID","violationEscalationID","getV","update","post","StorePhoto","formData","FormData","append","documentId","StoreMultiplePhotos","uploads","generateViolationLetterHTMLPreview","violationListStore","refreshList","commit","_set","lists","updateObservedBy","authUser","$refs","observationDateComponent","getValue","allValid","utcFormat","reset","actionSuccessful","actionMessage","chosenActions","possible","b","chosen","violationActionID","order","escalationOrder","parseAddress","meta","uploadImages","updateV","violationTypeID","violationNote","uploadedDocumentIds","notifyMessage","onComplete","photoDocumentIDs","newWindow","window","document","body","innerHTML","DatePicker","ImageUploader","Modal","overflowY","source","script","ImageSpinner","required","Boolean","ImageItem","whiteSpace","updateImages","mapState","user","selectedHoaId","win","toggle","startIndex","itemsPerPage","put","getId","propId","fromRoute","indexOf","reRender","refresh","go","lazyLoadMoreImages","counter","scaleToWidth","escalator","getVDetails","vDetails","dialog","confirmText","hasIcon","onConfirm","modifyStatus","createdDate","modifiedDate","$emit","Escalator","DesktopGallery","MobileGallery"],"mappings":"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","file":"js/violations.49df199c.js","sourcesContent":["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!./index.vue?vue&type=style&index=0&id=bac35f7c&lang=scss&scoped=true&\"; 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!./index.vue?vue&type=style&index=0&id=bac35f7c&lang=scss&scoped=true&\"","/*\r\n Example:\r\n import { parseDate } from '@/utilities/Date/parse'\r\n\r\n const parsedDate = parseDate (date, 'LL');\r\n*/\r\nimport moment from 'moment'\r\n\r\nexport const parseDate = (date, format = 'LL') => {\r\n if (typeof date !== 'string') {\r\n console.debug(`parseDate can only parse a date string. got:`, { date })\r\n return date\r\n }\r\n\r\n try {\r\n const parsed = moment(date)\r\n if (parsed.isValid()) {\r\n date = moment(date).format(format)\r\n }\r\n } catch (exception) {\r\n if (exception && exception.message) {\r\n console.error(exception.message)\r\n } else {\r\n console.error(exception)\r\n }\r\n }\r\n\r\n return date\r\n}\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('PageContentLayoutOnly',[_c('div',[_c('ListViolationConversations',{attrs:{\"violationID\":parseInt(_vm.violationID)}})],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export const methods = {\r\n async reload() {\r\n this.loading = true\r\n\r\n this.violationID = this.$route.params.id || 0\r\n\r\n this.loading = false\r\n }\r\n}\r\n","export const data = () => ({\r\n isDebug: true,\r\n loading: false,\r\n violationID: 0,\r\n styles: {\r\n filterButton: {\r\n float: 'right',\r\n marginTop: '4px'\r\n }\r\n }\r\n})\r\n","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./List.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./List.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./List.vue?vue&type=template&id=53f7a13a&\"\nimport script from \"./List.vue?vue&type=script&lang=js&\"\nexport * from \"./List.vue?vue&type=script&lang=js&\"\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--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!./ImageSpinner.vue?vue&type=style&index=0&id=e745b496&lang=scss&scoped=true&\"; 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!./ImageSpinner.vue?vue&type=style&index=0&id=e745b496&lang=scss&scoped=true&\"","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!./Slide.vue?vue&type=style&index=0&id=308229b2&lang=scss&scoped=true&\"; 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!./Slide.vue?vue&type=style&index=0&id=308229b2&lang=scss&scoped=true&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{style:({ display: 'flex' }),attrs:{\"links-menu\":\"\"}},[(_vm.breakpoint === 'desktop')?_c('ul',{staticClass:\"details-menu\",style:(_vm.styles_.ul),attrs:{\"role\":\"navigation\"}},_vm._l((_vm.tabs),function(tab,index){return _c('li',{key:tab.name},[_c('router-link',{staticClass:\"h7\",attrs:{\"to\":{\n name: (\"\" + _vm.prefix + (tab.name)),\n hash: '#tab',\n params: Object.assign(\n {\n index: index\n },\n _vm.params\n )\n }}},[_vm._v(\" \"+_vm._s(tab.label)+\" \")])],1)}),0):_vm._e(),_c('div',{style:({ flexGrow: 1 })},[(['tablet', 'mobile'].includes(_vm.breakpoint))?_c('b-field',[_c('b-select',{style:({ maxWidth: '300px', width: '100%', margin: '0 auto' }),attrs:{\"rounded\":\"\"},model:{value:(_vm.selectedTab),callback:function ($$v) {_vm.selectedTab=$$v},expression:\"selectedTab\"}},_vm._l((_vm.tabs),function(key,index){return _c('option',{key:index},[_vm._v(\" \"+_vm._s(key.label)+\" \")])}),0)],1):_vm._e(),_vm._t(\"default\")],2)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=bac35f7c&scoped=true&\"\nimport script from \"./index.vue?vue&type=script&lang=js&\"\nexport * from \"./index.vue?vue&type=script&lang=js&\"\nimport style0 from \"./index.vue?vue&type=style&index=0&id=bac35f7c&lang=scss&scoped=true&\"\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 \"bac35f7c\",\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('transition',{attrs:{\"name\":_vm.name}},[_vm._t(\"default\")],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Slide.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Slide.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Slide.vue?vue&type=template&id=308229b2&scoped=true&\"\nimport script from \"./Slide.vue?vue&type=script&lang=js&\"\nexport * from \"./Slide.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Slide.vue?vue&type=style&index=0&id=308229b2&lang=scss&scoped=true&\"\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 \"308229b2\",\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:\"page\",attrs:{\"role\":\"main\",\"aria-label\":_vm.title,\"tests-id\":(\"PageContent-\" + _vm.title)}},[_c('div',{staticClass:\"container\",style:(_vm.containerStyles)},[_c('div',{staticClass:\"section\",style:(_vm._sectionStyles)},[(_vm.title)?_c('h3',[_vm._v(_vm._s(_vm.title))]):_vm._e(),(_vm.subtitle)?_c('span',{staticClass:\"subtitle\"},[_vm._v(_vm._s(_vm.subtitle))]):_vm._e(),_vm._t(\"default\")],2)])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PageContent.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PageContent.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./PageContent.vue?vue&type=template&id=2b51c2b9&\"\nimport script from \"./PageContent.vue?vue&type=script&lang=js&\"\nexport * from \"./PageContent.vue?vue&type=script&lang=js&\"\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","/*\r\n example:\r\n import { getVOccurrenceList } from '@/services/ViolationIssue/ViolationOccurrence/List';\r\n\r\n const { list, successful, message } = await getVOccurrenceList ({\r\n json: {\r\n hoaID,\r\n violationID\r\n }\r\n });\r\n if (!successful) {\r\n console.error (message);\r\n return;\r\n }\r\n*/\r\n//\r\nimport kms from '@/services/kms'\r\nimport _get from 'lodash/get'\r\n//\r\nexport async function getVOccurrenceList({ json, kms: kms_ = kms } = {}) {\r\n let message = `The occurrence list could not be retrieved.`\r\n\r\n try {\r\n const result = await kms_.get(`/ViolationIssue/ViolationOccurrence/List`, {\r\n params: json\r\n })\r\n\r\n console.log({\r\n result\r\n })\r\n\r\n return {\r\n successful: true,\r\n message: '',\r\n list: _get(result, 'results', [])\r\n }\r\n } catch (exception) {\r\n console.error(exception)\r\n }\r\n\r\n return {\r\n successful: false,\r\n message,\r\n list: null\r\n }\r\n}\r\n\r\n///////\r\n","/*\r\n import { listSteps } from '@/services/ViolationIssue/ViolationStep/List';\r\n\r\n // for example:\r\n const { successful, message, steps } = await listSteps ({\r\n params: {\r\n hoaID,\r\n violationID\r\n }\r\n });\r\n if (!successful) {\r\n notifyProblem ('A problem occurred and the violation could not be reported');\r\n return;\r\n }\r\n\r\n*/\r\n//\r\nimport _get from 'lodash/get'\r\n//\r\nimport kms from '@/services/kms'\r\n//\r\nexport async function listSteps({ kms: kms_ = kms, params } = {}) {\r\n let message = `The list of steps could not be retrieved.`\r\n\r\n try {\r\n const result = await kms_.get(`/ViolationIssue/ViolationStep/List`, {\r\n params\r\n })\r\n\r\n let steps = _get(result, 'results', [])\r\n if (!Array.isArray(steps)) {\r\n steps = []\r\n }\r\n\r\n return {\r\n successful: true,\r\n message: null,\r\n steps\r\n }\r\n } catch (exception) {\r\n console.error(exception)\r\n }\r\n\r\n return {\r\n successful: false,\r\n message,\r\n list: []\r\n }\r\n}\r\n","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!./index.vue?vue&type=style&index=0&id=2de6ad07&lang=scss&scoped=true&\"; 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!./index.vue?vue&type=style&index=0&id=2de6ad07&lang=scss&scoped=true&\"","/*\r\n import { listViolations } from '@/services/ViolationIssue/Violation/List';\r\n\r\n // for example:\r\n const { successful, message, list } = await listViolations ({\r\n hoaID,\r\n\r\n // optional\r\n ownerID\r\n });\r\n if (!successful) {\r\n notifyProblem (message);\r\n return;\r\n }\r\n\r\n*/\r\n\r\nimport _get from 'lodash/get'\r\nimport kms from '@/services/kms'\r\n\r\nexport async function listViolations({ kms: kms_ = kms, hoaID, ownerID = null } = {}) {\r\n let message = ``\r\n\r\n if (!Number.isNaN(ownerID)) {\r\n let params = {\r\n hoaID\r\n }\r\n if (typeof ownerID === 'number') {\r\n params.ownerID = ownerID\r\n }\r\n\r\n try {\r\n const result = await kms_.get(`/ViolationIssue/Violation/ListBasic`, {\r\n params\r\n })\r\n\r\n let list = _get(result, 'results', [])\r\n if (!Array.isArray(list)) {\r\n console.debug(result)\r\n }\r\n\r\n return {\r\n successful: true,\r\n message: null,\r\n list\r\n }\r\n } catch (exception) {\r\n console.error(exception)\r\n message = 'The list of violations could not be retrieved'\r\n }\r\n }\r\n\r\n return {\r\n successful: false,\r\n message,\r\n list: []\r\n }\r\n}\r\n","/*\r\n example:\r\n import { getPhoto } from '@/services/ViolationIssue/ViolationOccurrencePhoto/GetFile';\r\n\r\n const { photo, successful, message } = await getPhoto ({\r\n params: {}\r\n });\r\n if (!successful) {\r\n console.error (message);\r\n return;\r\n }\r\n*/\r\n//\r\nimport kms from '@/services/kms'\r\n//\r\nexport async function getPhoto({ params, kms: kms_ = kms } = {}) {\r\n let message = `A photo could not be retrieved.`\r\n\r\n try {\r\n const result = await kms_.get(`/ViolationIssue/ViolationOccurrencePhoto/GetFile`, {\r\n params\r\n })\r\n\r\n return {\r\n successful: true,\r\n message: '',\r\n photo: result\r\n }\r\n } catch (exception) {\r\n console.error(exception)\r\n }\r\n\r\n return {\r\n successful: false,\r\n message,\r\n photo: null\r\n }\r\n}\r\n\r\n///////\r\n","/*\r\n import { getMultiplePhotos } from '@/services/ViolationIssue/ViolationOccurrencePhoto/sequences/GetMultiple';\r\n\r\n const { photos, problems } = await getMultiplePhotos ({\r\n paramsList: []\r\n });\r\n if (!successful) {\r\n\r\n }\r\n*/\r\n\r\nimport { getPhoto } from '../GetFile'\r\n\r\nexport async function getMultiplePhotos({ paramsList }) {\r\n const results = await Promise.all(\r\n paramsList.map(params => {\r\n return getPhoto({\r\n params\r\n })\r\n })\r\n )\r\n\r\n const problems = []\r\n const retrievals = []\r\n\r\n for (let a = 0; a < results.length; a++) {\r\n const result = results[a]\r\n const { successful } = result\r\n\r\n if (successful === true) {\r\n retrievals.push({\r\n content: result.photo\r\n })\r\n } else {\r\n problems.push(result)\r\n }\r\n }\r\n\r\n return {\r\n photos: retrievals,\r\n problems\r\n }\r\n}\r\n","var $ = require('../internals/export');\n\n// `Number.isNaN` method\n// https://tc39.github.io/ecma262/#sec-number.isnan\n$({ target: 'Number', stat: true }, {\n isNaN: function isNaN(number) {\n // eslint-disable-next-line no-self-compare\n return number != number;\n }\n});\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"tile is-parent is-12\"},[_c('article',{staticClass:\"card\",style:({\n padding: '1rem',\n width: '100%'\n })},[_vm._m(0),_vm._l((_vm.steps),function(step,index){return _c('div',{key:index,staticClass:\"card\",style:({\n position: 'relative',\n padding: '1rem',\n boxShadow: '0 12px 18px 0 rgba(0, 0, 0, 0.05)',\n marginBottom: '12px'\n }),attrs:{\"vio-step\":\"\"}},[_c('div',{style:({\n position: 'absolute',\n top: '12px',\n right: '12px',\n color: _vm.color[8]\n }),attrs:{\"vio-step-date\":\"\"}},[_vm._v(\" \"+_vm._s(step.observationDate)+\" \")]),_c('b-tag',{attrs:{\"size\":\"is-large\",\"vio-step-count\":\"\"}},[_vm._v(\"Step \"+_vm._s(step.count))]),_c('b-tag',{style:({ marginLeft: '12px' }),attrs:{\"size\":\"is-large\",\"vio-step-name\":\"\"}},[_vm._v(_vm._s(step.actionName))]),_c('div',{style:({ padding: '20px 0 20px 10px' })},[_c('div',{staticClass:\"columns\",style:({ display: 'flex' })},[_c('div',{staticClass:\"column is-2\",style:({ color: _vm.color[8] })},[_vm._v(\"Observed by:\")]),_c('div',{staticClass:\"column is-9\",style:({ color: _vm.color[8], fontWeight: 'bold' })},[_vm._v(\" \"+_vm._s(step.observedBy)+\" \")])]),_c('div',{staticClass:\"columns\",style:({ display: 'flex' })},[_c('div',{staticClass:\"column is-2\",style:({ color: _vm.color[8] })},[_vm._v(\"Description:\")]),(step.description.length <= 200)?_c('div',{staticClass:\"column is-9\",style:({ color: _vm.color[8], fontWeight: 'bold' })},[_vm._v(\" \"+_vm._s(step.description)+\" \")]):_vm._e(),(step.description.length > 200)?_c('div',{staticClass:\"column is-9\",style:({ color: _vm.color[8], fontWeight: 'bold' })},[_vm._v(\" \"+_vm._s(step.description.slice(1, 200))),(step.description.length > 200)?_c('span',{staticClass:\"pt-5 pb-3 pl-3\"},[_c('b-button',{staticClass:\"p-2 font-bold button is-small is-outline is-rounded\",staticStyle:{\"height\":\"20px\"},attrs:{\"title\":\"click to expand/collapse the description\"},on:{\"click\":function($event){$event.preventDefault();return _vm.handleEllipsis()}}},[_vm._v(_vm._s((\"\" + (_vm.showEllipsis === false ? 'Read More...' : 'Read Less...'))))])],1):_vm._e(),(step.description.length > 200 && _vm.showEllipsis === true)?_c('span',{staticClass:\"column is-9 pl-2\",style:({ color: _vm.color[8], fontWeight: 'bold' })},[_vm._v(_vm._s(step.description.slice(200, step.description.length)))]):_vm._e()]):_vm._e()])]),_c('div',{staticClass:\"property-photo-gallery\",style:({\n position: 'relative',\n width: '100%',\n height: '80%',\n paddingRight: '10px',\n paddingLeft: '6px'\n })},_vm._l((step.photos),function(photo,index){return _c('figure',{key:index,style:({\n position: 'relative',\n display: 'inline-flex',\n justifyContent: 'center',\n alignItems: 'center',\n margin: '4px',\n height: '140px',\n width: '140px',\n overflow: 'hidden',\n borderRadius: '6px',\n boxShadow: '0 12px 18px 0 rgba(0, 0, 0, 0.05)'\n }),attrs:{\"vio-step-photo\":\"\",\"tabindex\":\"0\",\"aria-label\":'photo ' + (index + 1)},on:{\"click\":function($event){$event.preventDefault();return _vm.openPhotoModal(photo)}}},[_c('transition',{attrs:{\"name\":\"fade\"}},[_c('img',{style:({\n position: 'absolute',\n top: '50%',\n left: '50%',\n transform: 'translateX(-50%) translateY(-50%)',\n flexShrink: '0',\n maxWidth: '100%',\n maxHeight: '100%',\n objectFit: 'contain'\n }),attrs:{\"src\":photo.content}})])],1)}),0),(step && step.violationLetters && step.violationLetters.length > 0)?_c('div',[_c('label',{staticClass:\"label\"},[_vm._v(\"Violation Letter(s)\")])]):_vm._e(),_vm._l((step.violationLetters),function(letter,index){return _c('div',{key:index,staticClass:\"card\",style:({\n position: 'relative',\n padding: '1rem',\n boxShadow: '0 12px 18px 0 rgba(0, 0, 0, 0.05)',\n marginBottom: '12px'\n }),attrs:{\"aria-label\":\"Violation Letters\"}},[_c('button',{staticClass:\"button is-link is-light\",attrs:{\"type\":\"button\"},on:{\"click\":function($event){$event.preventDefault();return _vm.getDocumentFile(letter.violationStepDocumentID)}}},[_vm._v(\" \"+_vm._s(\"View Letter\")+\" \")])])}),_c('b-modal',{style:({ zIndex: 999 }),model:{value:(_vm.photoModal.open),callback:function ($$v) {_vm.$set(_vm.photoModal, \"open\", $$v)},expression:\"photoModal.open\"}},[_c('p',{staticClass:\"image is-4by3\"},[_c('img',{attrs:{\"src\":_vm.photoModal.src}})])])],2)})],2)])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"level\"},[_c('span',{staticClass:\"title level-left\"},[_vm._v(\"History\")])])}]\n\nexport { render, staticRenderFns }","/*\r\n import { violationStepDocumentStore } from '@/services/ViolationIssue/ViolationStepDocument/store'\r\n*/\r\n\r\nimport Vue from 'vue'\r\nimport Vuex from 'vuex'\r\n\r\nimport { notifyProblem } from '@/services/notify'\r\nimport kms from '@/services/kms'\r\n\r\nconst isDebug = true\r\n\r\n/* eslint-disable no-empty-pattern */\r\nconst actions = {\r\n /*\r\n const { list } = await violationStepDocumentStore.dispatch ('getViolationStepDocumentList', {\r\n hoaID,\r\n violationOccurrenceID,\r\n violationStepID,\r\n includeDocumentsAsBase64,\r\n includeDocumentAsHtml\r\n });\r\n */\r\n\r\n async getViolationStepDocumentList({}, { params }) {\r\n console.log('in getViolationStepDocumentList...' + JSON.stringify(params))\r\n try {\r\n let path = ''\r\n\r\n if (params.hoaID) {\r\n path = `?hoaID=${params.hoaID}`\r\n }\r\n\r\n if (params.violationOccurrenceID) {\r\n path = path + `&violationOccurrenceID=${params.violationOccurrenceID}`\r\n }\r\n\r\n if (params.violationStepID) {\r\n path = path + `&violationStepID=${params.violationStepID}`\r\n }\r\n\r\n if (params.includeDocumentsAsBase64) {\r\n path = path + `&includeDocumentsAsBase64=${params.includeDocumentsAsBase64}`\r\n }\r\n\r\n if (params.includeDocumentAsHtml) {\r\n path = path + `&includeDocumentAsHtml=${params.includeDocumentAsHtml}`\r\n }\r\n\r\n const results = await kms.get(`/ViolationIssue/ViolationStepDocument/List${path}`)\r\n\r\n if (isDebug == true)\r\n console.debug('getViolationStepDocumentList log=' + JSON.stringify(results))\r\n\r\n return {\r\n list: results.results\r\n }\r\n } catch (exception) {\r\n notifyProblem(`The Violation Document list could not be retrieved.`)\r\n console.error(exception)\r\n }\r\n\r\n return {\r\n list: []\r\n }\r\n },\r\n\r\n async getFile({ dispatch }, { params, done }) {\r\n const path = `/ViolationIssue/ViolationStepDocument/GetFile`\r\n const result = await kms.get(path, {\r\n params\r\n })\r\n\r\n if (this.isDebug == true) console.debug('getFile=' + JSON.stringify(result))\r\n\r\n if (dispatch && dispatch != undefined) console.debug(dispatch)\r\n\r\n if (result) {\r\n console.debug(`Successfully retrieved this document.`)\r\n done({ details: result })\r\n } else {\r\n console.error('There was a problem retrieving this document.')\r\n }\r\n }\r\n}\r\n/* eslint-enable no-empty-pattern */\r\n\r\nVue.use(Vuex)\r\nexport const violationStepDocumentStore = new Vuex.Store({\r\n state: {},\r\n mutations: {},\r\n getters: {},\r\n actions\r\n})\r\n","import { notifyProblem, notifyError, notifyWarning } from '@/services/notify'\r\nimport { getVOccurrenceList } from '@/services/ViolationIssue/ViolationOccurrence/List'\r\nimport { listSteps } from '@/services/ViolationIssue/ViolationStep/List'\r\nimport { getMultiplePhotos } from '@/services/ViolationIssue/ViolationOccurrencePhoto/sequences/GetMultiple'\r\nimport { violationStepDocumentStore } from '@/services/ViolationIssue/ViolationStepDocument/store'\r\nimport _get from 'lodash/get'\r\nimport { getString } from '@/utilities/get/string'\r\nimport { parseDate } from '@/utilities/Date/parse'\r\nimport { base64toBlob, showAnyType } from '@/services/blobutility'\r\nimport moment from 'moment'\r\n\r\nexport const methods = {\r\n async reload() {\r\n this.loading = true\r\n const loadingComponent = this.$buefy.loading.open({\r\n container: null\r\n })\r\n\r\n this.violationID = this.$route.params.id || 0\r\n\r\n this.hoaID = _get(this, ['$store', 'getters', 'user/hoaIDInteger'], null)\r\n\r\n await this.getOccurrences()\r\n\r\n await this.getSteps({\r\n id: this.violationID\r\n })\r\n\r\n loadingComponent.close()\r\n this.loading = false\r\n },\r\n\r\n handleEllipsis() {\r\n this.showEllipsis = !this.showEllipsis\r\n },\r\n\r\n async openPhotoModal(photo) {\r\n if (photo !== undefined && photo) {\r\n this.photoModal = {\r\n open: true,\r\n src: photo.content\r\n }\r\n return\r\n }\r\n },\r\n\r\n async getOccurrences() {\r\n const { list, successful, message } = await getVOccurrenceList({\r\n json: {\r\n hoaID: this.hoaID,\r\n violationID: this.violationID\r\n }\r\n })\r\n if (!successful) {\r\n notifyProblem(message)\r\n this.loading = false\r\n return {\r\n successful: false\r\n }\r\n }\r\n //\r\n this.occurrences = list\r\n this.occurrence = list[0]\r\n },\r\n\r\n async getDocumentFile(id) {\r\n if (!id || id <= 0) {\r\n notifyError('Could not retrieve the violation letter')\r\n return\r\n }\r\n\r\n try {\r\n const params = {\r\n violationStepDocumentID: id,\r\n asRawBaseSixtyFour: true\r\n }\r\n\r\n await violationStepDocumentStore.dispatch('getFile', {\r\n params,\r\n done: ({ details }) => {\r\n if (details) {\r\n if (this.isDebug == true) console.debug('base64pdf........................' + details)\r\n\r\n const blob = base64toBlob(details, 'text/html')\r\n showAnyType(blob, 'text/html')\r\n\r\n console.debug(`Successfully downloaded the violation letter.`)\r\n return\r\n }\r\n }\r\n })\r\n } catch (e) {\r\n if (this.isDebug == true) console.debug(e)\r\n notifyWarning('There was a problem downloading the violation letter.')\r\n }\r\n },\r\n\r\n async getSteps({ id }) {\r\n const hoaID = _get(this, ['$store', 'getters', 'user/hoaIDInteger'], null)\r\n var { successful, message, steps } = await listSteps({\r\n params: {\r\n hoaID,\r\n violationID: id\r\n }\r\n })\r\n if (!successful) {\r\n notifyProblem(message)\r\n return false\r\n }\r\n\r\n const occurrences = this.occurrences\r\n const photosList = []\r\n\r\n this.steps = steps\r\n .map((step, index) => {\r\n const dateFormat = 'LL'\r\n\r\n const occurrence = _get(step, 'violationOccurrence', {})\r\n const violationStepID = _get(step, 'violationStepID', 0)\r\n\r\n console.debug('step=' + JSON.stringify(step))\r\n\r\n let photosMeta = []\r\n\r\n /* get the photos meta data from the corresponding occurence */\r\n for (let a = 0; a < occurrences.length; a++) {\r\n const o = occurrences[a]\r\n\r\n try {\r\n if (\r\n o.violationOccurrenceID === step.violationOccurrenceID &&\r\n Array.isArray(o.violationOccurrencePhotos)\r\n ) {\r\n photosMeta = o.violationOccurrencePhotos\r\n break\r\n }\r\n } catch (x) {\r\n console.error(x)\r\n }\r\n }\r\n\r\n const observationDate = getString(\r\n occurrence,\r\n 'observationDate',\r\n moment('01/01/1900').format(dateFormat)\r\n )\r\n let observationDateParsed = parseDate(observationDate, 'LL')\r\n\r\n return {\r\n count: index + 1,\r\n actionName: getString(step, ['violationAction', 'name'], ''),\r\n observedBy: getString(occurrence, 'observedBy', ''),\r\n observationDate: observationDateParsed,\r\n description: getString(occurrence, 'description', ''),\r\n photosMeta,\r\n violationStepID,\r\n photos: [],\r\n violationLetters: []\r\n }\r\n })\r\n .reverse()\r\n\r\n let totalProblems = 0\r\n for (let a = 0; a < this.steps.length; a++) {\r\n const { photosMeta } = this.steps[a]\r\n\r\n const { photos, problems } = await getMultiplePhotos({\r\n hoaID,\r\n paramsList: photosMeta.map(photo => {\r\n return {\r\n violationOccurrencePhotoID: _get(photo, ['violationOccurrencePhotoID'], ''),\r\n asBase64: true\r\n }\r\n })\r\n })\r\n\r\n if (Array.isArray(problems) && problems.length >= 1) {\r\n totalProblems += problems.length\r\n }\r\n\r\n //Retrieve violation letters\r\n let violationLetters = []\r\n const params = {\r\n hoaID: this.hoaId,\r\n violationStepID: _get(this.steps[a], 'violationStepID', 0)\r\n }\r\n\r\n await violationStepDocumentStore\r\n .dispatch('getViolationStepDocumentList', {\r\n params\r\n })\r\n .then(({ list }) => {\r\n if (list) {\r\n list.forEach(f => {\r\n if (f) {\r\n violationLetters.push({\r\n violationStepDocumentID: f.violationStepDocumentID,\r\n documentFileName: f.documentFileName\r\n })\r\n }\r\n })\r\n }\r\n })\r\n\r\n console.debug('violationLetters=' + JSON.stringify(this.steps[a].violationLetters))\r\n\r\n this.steps[a].photos = photos\r\n this.steps[a].violationLetters = violationLetters\r\n photosList.push(...photos)\r\n }\r\n\r\n if (totalProblems >= 1) {\r\n notifyProblem(`${totalProblems} photos may not have been retrieved.`)\r\n }\r\n\r\n this.photosList = photosList\r\n\r\n const mainPhoto = _get(photosList, [0, 'content'], null)\r\n if (typeof mainPhoto === 'string') {\r\n this.mainPhoto = mainPhoto\r\n }\r\n\r\n this.$forceUpdate()\r\n\r\n return true\r\n }\r\n}\r\n","import _get from 'lodash/get'\r\n\r\nexport function data() {\r\n const theme = _get(this, ['$store', 'state', 'theme'], {})\r\n\r\n return {\r\n color: theme.color,\r\n isDebug: true,\r\n loading: false,\r\n hoaID: 0,\r\n violationID: 0,\r\n mainPhoto: null,\r\n showEllipsis: false,\r\n occurrences: [],\r\n steps: [],\r\n photosList: [],\r\n photoModal: {\r\n open: false,\r\n src: ''\r\n },\r\n styles: {\r\n filterButton: {\r\n float: 'right',\r\n marginTop: '4px'\r\n }\r\n }\r\n }\r\n}\r\n","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./List.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./List.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./List.vue?vue&type=template&id=023f42b5&\"\nimport script from \"./List.vue?vue&type=script&lang=js&\"\nexport * from \"./List.vue?vue&type=script&lang=js&\"\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('PageContent',{attrs:{\"role\":\"region\",\"violation-details\":\"\"}},[_c('div',{staticClass:\"level\"},[_c('div',{staticClass:\"level-left level-item title\"},[_vm._v(\" \"+_vm._s(_vm.$t('violationDetails.title') + \" ID: \" + _vm.violationID)+\" \")]),_c('div',{staticClass:\"level-right\"},[_c('div',{staticClass:\"level-item\"},[_c('svg',{attrs:{\"width\":\"30\",\"height\":\"30\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"}},[_c('path',{attrs:{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",\"d\":\"M15 19l-7-7 7-7\"}})])]),_c('div',{staticClass:\"level-item\"},[_c('b-button',{attrs:{\"label\":\"Back to Violations\"},on:{\"click\":function($event){$event.preventDefault();return _vm.returnToParent()}}})],1)])]),_c('section',{staticClass:\"section card\"},[_c('LinksMenu',{style:(Object.assign({}, (_vm.breakpoint === 'desktop'\n ? {\n display: 'flex'\n }\n : {\n display: 'block'\n }))),attrs:{\"aria-label\":\"account settings tabs\",\"tabs\":_vm.tabs,\"prefix\":\"violation.\",\"styles\":{\n ul: {\n width: '140px'\n }\n },\"params\":{\n id: _vm.$route.params.id\n }}},[_c('section',{style:({ overflowX: 'auto', flexGrow: 2 })},[_c('SlideTransition',{attrs:{\"name\":_vm.transitionName}},[_c('keep-alive',[_c('router-view',{key:_vm.$route.name})],1)],1)],1)])],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export const data = function() {\r\n return {\r\n isDebug: true,\r\n loading: false,\r\n violationID: 0,\r\n violation: null,\r\n tabs: [\r\n { name: 'violationDetails', label: 'Details' },\r\n { name: 'violationHistory', label: 'History' },\r\n { name: 'violationConversations', label: 'Conversations' }\r\n ],\r\n styles: {\r\n mainContainer: {\r\n minHeight: '1000px'\r\n }\r\n },\r\n transitionName: 'slide-down',\r\n showUploadModal: false\r\n }\r\n}\r\n","export const methods = {\r\n async reload() {\r\n this.loading = true\r\n\r\n this.violationID = this.$route.params.id || 0\r\n\r\n this.loading = false\r\n },\r\n\r\n returnToParent() {\r\n this.$router.push({\r\n name: 'violations'\r\n })\r\n }\r\n}\r\n","import _get from 'lodash/get'\r\n\r\nexport const watch = {\r\n hoaId() {\r\n this.reload()\r\n },\r\n $route: function(to, from) {\r\n const toIndex = _get(to, ['params', 'index'], 1)\r\n const fromIndex = _get(from, ['params', 'index'], 1)\r\n\r\n this.transitionName = toIndex < fromIndex ? 'slide-up' : 'slide-down'\r\n }\r\n}\r\n","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=2de6ad07&scoped=true&\"\nimport script from \"./index.vue?vue&type=script&lang=js&\"\nexport * from \"./index.vue?vue&type=script&lang=js&\"\nimport style0 from \"./index.vue?vue&type=style&index=0&id=2de6ad07&lang=scss&scoped=true&\"\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 \"2de6ad07\",\n null\n \n)\n\nexport default component.exports","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!./index.vue?vue&type=style&index=0&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!./index.vue?vue&type=style&index=0&lang=scss&\"","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!./index.vue?vue&type=style&index=0&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!./index.vue?vue&type=style&index=0&lang=scss&\"","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!./ImageItem.vue?vue&type=style&index=0&id=d88fdbd0&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!./ImageItem.vue?vue&type=style&index=0&id=d88fdbd0&scoped=true&lang=scss&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',{style:({\n display: 'flex'\n }),attrs:{\"vio-details\":\"\"}},[(_vm.breakpoint === 'desktop')?_c('div',{style:({\n width: '20%',\n marginRight: '1%'\n })},[_c('DesktopGallery',{attrs:{\"color\":_vm.color,\"loading\":_vm.loading,\"updateMainPhoto\":_vm.updateMainPhoto,\"photosList\":_vm.photosList}})],1):_vm._e(),_c('div',{staticClass:\"card\",style:(Object.assign({}, {display: 'flex',\n width: '100%',\n padding: '1rem'},\n\n (_vm.breakpoint === 'desktop'\n ? {}\n : {\n flexDirection: 'column'\n })))},[_c('article',{style:({ textAlign: 'center' })},[_c('figure',{style:({\n position: 'relative',\n display: 'inline-flex',\n justifyContent: 'center',\n alignItems: 'center',\n\n margin: '4px',\n\n height: '380px',\n width: '380px',\n maxWidth: '100%',\n\n overflow: 'hidden',\n borderRadius: '6px',\n\n boxShadow: '0 12px 18px 0 rgba(0, 0, 0, 0.05)'\n }),attrs:{\"tabindex\":\"0\",\"aria-label\":\"main photo\"}},[_c('transition',{attrs:{\"name\":\"fade\"}},[(_vm.mainPhoto && _vm.mainPhoto.length > 0)?_c('img',{style:({\n position: 'absolute',\n top: '50%',\n left: '50%',\n transform: 'translateX(-50%) translateY(-50%)',\n\n flexShrink: '0',\n maxWidth: '100%',\n maxHeight: '100%',\n height: '100%',\n width: '100%',\n objectFit: 'contain'\n }),attrs:{\"vio-main-photo\":\"\",\"src\":_vm.mainPhoto}}):_vm._e()]),(_vm.mainPhoto && _vm.mainPhoto.length === 0)?_c('div',{style:({ color: _vm.color[8] })},[_vm._v(\" No photos were added \")]):_vm._e(),(_vm.loading)?_c('b-loading',{attrs:{\"is-full-page\":false},model:{value:(_vm.loading),callback:function ($$v) {_vm.loading=$$v},expression:\"loading\"}}):_vm._e()],1)]),(['mobile', 'tablet'].includes(_vm.breakpoint))?_c('MobileGallery',{attrs:{\"color\":_vm.color,\"loading\":_vm.loading,\"updateMainPhoto\":_vm.updateMainPhoto,\"photosList\":_vm.photosList}}):_vm._e(),_c('article',{style:({\n position: 'relative',\n paddingLeft: '30px',\n paddingBottom: '50px',\n width: '100%'\n })},[_c('div',[_c('div',{style:({ display: 'flex', flexDirection: 'column', marginTop: '14px' })},[_c('div',{style:({ color: _vm.color[8], width: '140px' })},[_vm._v(\"Status\")]),_c('div',{style:({\n color: _vm.color[8],\n fontSize: '1.5rem',\n\n fontWeight: 'bold',\n paddingRight: '12px'\n }),attrs:{\"vio-status\":\"\"}},[_vm._v(\" \"+_vm._s(_vm.details.status)+\" \")])]),_c('div',{style:({ display: 'flex', flexDirection: 'column', marginTop: '14px' })},[_c('div',{style:({ color: _vm.color[8], width: '140px' })},[_vm._v(\"Type\")]),_c('div',{style:({\n color: _vm.color[8],\n fontSize: '1.5rem',\n\n fontWeight: 'bold',\n paddingRight: '12px'\n }),attrs:{\"vio-type\":\"\"}},[_vm._v(\" \"+_vm._s(_vm.details.typeName)+\" \")])]),_c('div',{style:({ display: 'flex', flexDirection: 'column', marginTop: '14px' })},[_c('div',{style:({ color: _vm.color[8], width: '140px' })},[_vm._v(\"Owner\")]),_c('div',{style:({\n color: _vm.color[8],\n\n fontWeight: 'bold',\n paddingRight: '12px'\n }),attrs:{\"vio-owner\":\"\"}},[_vm._v(\" \"+_vm._s(_vm.details.ownerName)+\" \")])]),_c('div',{style:({ display: 'flex', flexDirection: 'column', marginTop: '14px' })},[_c('div',{style:({ color: _vm.color[8], width: '140px' })},[_vm._v(\"Address\")]),_c('div',{style:({\n color: _vm.color[8],\n\n fontWeight: 'bold',\n paddingRight: '12px'\n }),attrs:{\"vio-address\":\"\"}},[_vm._v(\" \"+_vm._s(_vm.details.address)+\" \")])])]),(_vm.authUserType !== 'HomeOwner')?_c('div',{staticClass:\"pt-2\",style:({\n // position: 'absolute',\n width: '100%',\n bottom: 0,\n left: '0',\n textAlign: 'right'\n })},[(_vm.violation.isClosed == false)?_c('b-button',{style:({ margin: '4px' }),on:{\"click\":function($event){$event.preventDefault();return _vm.confirmClose(_vm.violation.violationID, true)}}},[_vm._v(\"Close Violation\")]):_c('b-button',{style:({ margin: '4px' }),on:{\"click\":function($event){$event.preventDefault();return _vm.confirmClose(_vm.violation.violationID, false)}}},[_vm._v(\"Open Violation\")]),(_vm.violation.isClosed == false)?_c('b-button',{style:({ margin: '4px' }),attrs:{\"escalator\":\"\",\"type\":\"is-primary\"},on:{\"click\":_vm.escalate}},[_vm._v(\"Escalate\")]):_vm._e()],1):_vm._e()])],1),_c('Escalator',{ref:\"escalator\",attrs:{\"onComplete\":_vm.stepAdded}}),_c('b-loading',{attrs:{\"is-full-page\":true},model:{value:(_vm.loading),callback:function ($$v) {_vm.loading=$$v},expression:\"loading\"}})],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',{attrs:{\"id\":\"v-escalator\",\"vio-escalator\":\"\"}},[_c('Modal',{attrs:{\"toggle\":_vm.isOpen,\"styles\":{\n modalContent: { height: '600px' },\n modal: { maxHeight: '90vh' }\n },\"loading\":_vm.loading},on:{\"update:toggle\":function($event){_vm.isOpen=$event}},scopedSlots:_vm._u([{key:\"header\",fn:function(){return [_vm._v(\"Escalate Violation\")]},proxy:true}])},[_c('b-steps',{attrs:{\"size\":\"is-small\",\"has-navigation\":false},model:{value:(_vm.page),callback:function ($$v) {_vm.page=$$v},expression:\"page\"}},[_c('b-step-item',{attrs:{\"label\":\"Action Select\",\"ve-action-select\":\"\"}},[_c('div',{style:({\n display: 'flex',\n padding: '3px',\n alignItems: 'center'\n })},[_c('div',{style:({\n display: 'inline-block',\n marginRight: '12px',\n flexBasis: '200px',\n flexGrow: 0,\n flexShrink: 0\n })},[_c('b-tag',{style:({ fontWeight: 'bold' })},[_vm._v(\"Owner\")])],1),_c('div',[_vm._v(_vm._s(_vm.details.ownerName))])]),_c('div',{style:({\n display: 'flex',\n padding: '3px',\n alignItems: 'center'\n })},[_c('div',{style:({\n display: 'inline-block',\n marginRight: '12px',\n flexBasis: '200px',\n flexGrow: 0,\n flexShrink: 0\n })},[_c('b-tag',{style:({ fontWeight: 'bold' })},[_vm._v(\"Address\")])],1),_c('div',[_vm._v(_vm._s(_vm.details.ownerAddress))])]),_c('div',{style:({\n display: 'flex',\n padding: '3px',\n alignItems: 'center'\n })},[_c('div',{style:({\n display: 'inline-block',\n marginRight: '12px',\n flexBasis: '200px',\n flexGrow: 0,\n flexShrink: 0\n })},[_c('b-tag',{style:({ fontWeight: 'bold' })},[_vm._v(\"Type\")])],1),_c('div',[_vm._v(_vm._s(_vm.details.type))])]),_c('div',{style:({ borderTop: (\"1px solid \" + (_vm.color[9])) })},[_c('div',{style:({\n display: 'flex',\n padding: '3px',\n alignItems: 'center'\n })},[_c('div',{style:({\n display: 'inline-block',\n marginRight: '12px',\n flexBasis: '200px',\n flexGrow: 0,\n flexShrink: 0\n })},[_c('b-tag',{style:({ fontWeight: 'bold' })},[_vm._v(\"Steps Taken\")])],1)]),_vm._l((_vm.details.steps),function(step,index){return _c('div',{key:index,staticClass:\"card rounded shadow bg-white\",style:({\n position: 'relative',\n marginBottom: '10px',\n padding: '12px',\n border: '1px solid #f4f1f1'\n })},[_c('div',[_c('div',[_vm._v(\"Action: \"+_vm._s(step.actionName))]),_c('div',[_vm._v(\"Action Description: \"+_vm._s(step.actionDescription))]),_c('div',[_vm._v(\"Observed By: \"+_vm._s(step.observedBy))]),_c('div',[_vm._v(\"Observation Description: \"+_vm._s(step.observationDescription))])]),_c('div',[_vm._v(\"Observation Date: \"+_vm._s(step.observationDate))])])})],2),_c('div',{style:({ borderTop: (\"1px solid \" + (_vm.color[9])) })}),_c('div',{style:({\n display: 'flex',\n padding: '3px',\n alignItems: 'center'\n })},[_c('div',{style:({\n display: 'inline-block',\n marginRight: '12px',\n flexBasis: '200px',\n flexGrow: 0,\n flexShrink: 0\n })},[_c('b-tag',{style:({ fontWeight: 'bold' })},[_vm._v(\"Next Step\")])],1)]),_vm._l((_vm.allActions),function(action,index){return _c('div',{key:index,staticClass:\"card rounded shadow bg-white\",style:({\n display: 'flex',\n justifyItems: 'right',\n justifyContent: 'space-between',\n\n marginBottom: '10px',\n border: '1px solid #f4f1f1',\n padding: '12px'\n })},[_c('p',{style:({ padding: '8px 0' })},[_vm._v(_vm._s(action.description))]),_c('button',{staticClass:\"button is-primary is-rounded\",attrs:{\"ve-action-button\":\"\"},on:{\"click\":function($event){return _vm.select(action)}}},[_vm._v(\" \"+_vm._s(action.name)+\" \")])])})],2),_c('b-step-item',{attrs:{\"label\":\"Details\",\"ve-details\":\"\"}},[_c('div',{style:({ width: '70%', margin: '0 auto 50px' })},[_c('b-field',{attrs:{\"label\":\"Observed By\"}},[_c('b-input',{attrs:{\"ve-observed-by\":\"\",\"maxlength\":\"255\",\"aria-required\":\"true\",\"type\":\"text\"},model:{value:(_vm.observedBy),callback:function ($$v) {_vm.observedBy=$$v},expression:\"observedBy\"}})],1),_c('b-field',{attrs:{\"label\":\"Observed On\"}},[_c('DatePicker',{ref:\"observationDateComponent\",attrs:{\"ve-observation-date\":\"\",\"ariaLabel\":\"date\"},model:{value:(_vm.observationDate),callback:function ($$v) {_vm.observationDate=$$v},expression:\"observationDate\"}})],1),_c('b-field',{style:({ marginTop: '20px' }),attrs:{\"label\":\"Description\"}},[_c('b-input',{attrs:{\"maxlength\":\"200\",\"type\":\"textarea\",\"ve-description\":\"\"},model:{value:(_vm.description),callback:function ($$v) {_vm.description=$$v},expression:\"description\"}})],1),_c('b-field',{style:({ marginTop: '20px' }),attrs:{\"label\":\"Pictures (optional)\"}},[_c('ImageUploader',{attrs:{\"onChange\":_vm.imagesUpdated,\"ve-image-uploader\":\"\"}})],1),_c('div',{style:({\n padding: '30px 0',\n textAlign: 'right'\n })},[_c('b-button',{attrs:{\"type\":\"is-primary\",\"size\":\"is-medium\",\"ve-details-next-button\":\"\"},on:{\"click\":_vm.checkDetails}},[_vm._v(\"Next\")])],1)],1)]),_c('b-step-item',{attrs:{\"label\":\"Confirmation\",\"ve-confirmation\":\"\"}},[_c('div',{style:({ width: '70%', margin: '0 auto' })},[_c('p',{style:({ fontSize: '1.4rem' })},[_vm._v(\" To proceed, please review the details and then press \"),_c('b',[_vm._v(\"Confirm\")]),_vm._v(\". \")]),_c('div',{style:({ padding: '30px 0' })},[_c('div',{style:({\n borderTop: (\"1px solid \" + (_vm.color[9])),\n margin: '5px 0'\n })}),_c('div',{style:(Object.assign({}, _vm.styles.listRow))},[_c('div',{style:(Object.assign({}, _vm.styles.listLabel))},[_vm._v(\"Action\")]),_c('div',{style:(Object.assign({}, _vm.styles.listItem))},[_vm._v(_vm._s(_vm.selected.name))])]),_c('div',{style:({\n borderTop: (\"1px solid \" + (_vm.color[9])),\n margin: '5px 0'\n })}),_c('div',{style:(Object.assign({}, _vm.styles.listRow))},[_c('div',{style:(Object.assign({}, _vm.styles.listLabel))},[_vm._v(\"Owner\")]),_c('div',{style:(Object.assign({}, _vm.styles.listItem))},[_vm._v(_vm._s(_vm.details.ownerName))])]),_c('div',{style:(Object.assign({}, _vm.styles.listRow))},[_c('div',{style:(Object.assign({}, _vm.styles.listLabel))},[_vm._v(\"Address\")]),_c('div',{style:(Object.assign({}, _vm.styles.listItem))},[_vm._v(_vm._s(_vm.details.ownerAddress))])]),_c('div',{style:({\n borderTop: (\"1px solid \" + (_vm.color[9])),\n margin: '5px 0'\n })}),_c('div',{style:(Object.assign({}, _vm.styles.listRow))},[_c('div',{style:(Object.assign({}, _vm.styles.listLabel))},[_vm._v(\"Observed By\")]),_c('div',{style:(Object.assign({}, _vm.styles.listItem))},[_vm._v(_vm._s(_vm.observedBy))])]),_c('div',{style:(Object.assign({}, _vm.styles.listRow))},[_c('div',{style:(Object.assign({}, _vm.styles.listLabel))},[_vm._v(\"Observation Date\")]),_c('div',{style:(Object.assign({}, _vm.styles.listItem))},[_vm._v(_vm._s(_vm.observationDateParsed))])]),_c('div',{style:(Object.assign({}, _vm.styles.listRow))},[_c('div',{style:(Object.assign({}, _vm.styles.listLabel))},[_vm._v(\"Description\")]),_c('div',{style:(Object.assign({}, _vm.styles.listItem))},[_vm._v(_vm._s(_vm.description))])]),_c('div',{style:(Object.assign({}, _vm.styles.listRow))},[_c('div',{style:(Object.assign({}, _vm.styles.listLabel))},[_vm._v(\"Pictures\")]),_c('div',{style:(Object.assign({}, _vm.styles.listItem))},_vm._l((_vm.previews),function(preview,index){return _c('figure',{key:index,style:({\n position: 'relative',\n display: 'inline-flex',\n justifyContent: 'center',\n alignItems: 'center',\n\n margin: '4px',\n\n width: '70px',\n height: '70px',\n\n overflow: 'hidden',\n borderRadius: '6px',\n\n boxShadow: '0 12px 18px 0 rgba(0, 0, 0, 0.05)'\n }),attrs:{\"tabindex\":\"0\",\"aria-label\":'photo ' + (index + 1)}},[_c('transition',{attrs:{\"name\":\"fade\"}},[_c('img',{style:({\n position: 'absolute',\n top: '50%',\n left: '50%',\n transform: 'translateX(-50%) translateY(-50%)',\n\n flexShrink: '0',\n maxWidth: '100%',\n maxHeight: '100%',\n height: '100%',\n width: '100%',\n objectFit: 'contain'\n }),attrs:{\"src\":preview}})])],1)}),0)])]),_c('div',{staticStyle:{\"display\":\"flex\",\"flex-direction\":\"row\",\"justify-content\":\"end\"}},[_c('b-button',{style:({ marginRight: '20px' }),attrs:{\"type\":\"is-primary\",\"size\":\"is-medium\"},on:{\"click\":_vm.preview}},[_vm._v(\"Preview\")]),_c('b-button',{style:({ float: 'right' }),attrs:{\"ve-confirm-button\":\"\",\"type\":\"is-primary\",\"size\":\"is-medium\"},on:{\"click\":_vm.confirm}},[_vm._v(\"Confirm\")])],1),_c('div',{style:({ height: '70px' })})])])],1)],1)],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('section',{staticClass:\"image-uploader--field h-full overflow-auto mt-4 sm:p-8 w-full h-full flex flex-col\",style:({\n border: '1px solid #cecece',\n borderRadius: '4px'\n })},[_c('b-upload',{staticClass:\"border-dashed border-2 border-gray-400 flex flex-col justify-center items-center\",attrs:{\"multiple\":\"\",\"drag-drop\":\"\",\"accept\":\"image/png, image/jpeg, image/jpg\"},model:{value:(_vm.file),callback:function ($$v) {_vm.file=$$v},expression:\"file\"}},[_c('section',{staticClass:\"section\"},[_c('div',{staticClass:\"content has-text-centered\"},[_c('p',[_c('b-icon',{attrs:{\"icon\":\"upload\",\"size\":\"is-large\"}})],1),_c('p',[_vm._v(\" Drop your files here or click to upload. Drop a PNG, JPG, or JPEG file here, or click to select a file from your computer. \")])])])]),_c('ul',{staticClass:\"flex flex-1 flex-wrap\",style:({ marginTop: '20px' }),attrs:{\"id\":\"gallery\"}},[_c('li',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.previews.length),expression:\"!previews.length\"}],staticClass:\"h-full w-full text-center flex flex-col items-center justify-center items-center\"},[_c('img',{staticClass:\"mx-auto w-32\",attrs:{\"src\":\"https://user-images.githubusercontent.com/507615/54591670-ac0a0180-4a65-11e9-846c-e55ffce0fe7b.png\",\"alt\":\"no data\"}}),_c('span',{staticClass:\"text-small text-gray-500\"},[_vm._v(\"No images added\")])]),_vm._l((_vm.previews),function(image,index){return _c('li',{key:index,staticClass:\"p-1 flex w-32 h-32\"},[_c('div',{staticClass:\"align-items-center relative w-full h-full bg-cover\",style:((\"background-image: url(\" + image + \");\"))},[_c('button',{staticClass:\"delete is-small\",attrs:{\"type\":\"button\"},on:{\"click\":function($event){return _vm.deleteDropFile(index)}}}),_vm._m(0,true)])])})],2)],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('label',[_c('span',{staticStyle:{\"width\":\"100px\"}})])}]\n\nexport { render, staticRenderFns }","export function data() {\r\n return {\r\n file: [],\r\n image: null,\r\n documentIds: [],\r\n previews: []\r\n }\r\n}\r\n","//\r\nimport { notifyProblem } from '@/services/notify'\r\n//\r\nexport const methods = {\r\n async deleteDropFile(index) {\r\n this.file.splice(index, 1)\r\n this.previews.splice(index, 1)\r\n\r\n this.onChange({\r\n previews: this.previews,\r\n images: this.file\r\n })\r\n },\r\n\r\n async updatePictures() {\r\n const images = this.file\r\n if (!Array.isArray(images)) {\r\n notifyProblem('A problem occurred and the photos could not be updated.')\r\n return\r\n }\r\n\r\n ////////////////////////////////\r\n // Store image previews\r\n ////////////////////////////////\r\n\r\n this.previews = this.file.map(file => {\r\n return URL.createObjectURL(file)\r\n })\r\n\r\n this.onChange({\r\n previews: this.previews,\r\n images: this.file\r\n })\r\n }\r\n}\r\n","//\r\n//\r\nexport const watch = {\r\n file() {\r\n this.updatePictures()\r\n }\r\n}\r\n","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=45929863&\"\nimport script from \"./index.vue?vue&type=script&lang=js&\"\nexport * from \"./index.vue?vue&type=script&lang=js&\"\nimport style0 from \"./index.vue?vue&type=style&index=0&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 null,\n null\n \n)\n\nexport default component.exports","import { parseDate } from '@/utilities/Date/parse'\r\n\r\nexport const computed = {\r\n observationDateParsed() {\r\n return parseDate(this.observationDate, 'LL')\r\n }\r\n}\r\n","import _get from 'lodash/get'\r\nimport moment from 'moment'\r\n\r\nexport function data() {\r\n const theme = _get(this, ['$store', 'state', 'theme'], {})\r\n\r\n return {\r\n color: theme.color,\r\n isOpen: false,\r\n details: {\r\n steps: []\r\n },\r\n allActions: [],\r\n page: 0,\r\n loading: true,\r\n selected: {},\r\n description: '',\r\n observedBy: '',\r\n observationDate: moment(new Date()).toISOString(),\r\n images: [],\r\n previews: [],\r\n styles: {\r\n listRow: {\r\n display: 'flex'\r\n },\r\n listLabel: {\r\n display: 'inline-block',\r\n flexBasis: '186px',\r\n color: 'rgb(130, 130, 130)'\r\n },\r\n listItem: {\r\n display: 'inline-block',\r\n flexBasis: `calc(100% - 186px)`\r\n }\r\n }\r\n }\r\n}\r\n","/*\r\n example:\r\n import { getVActionList } from '@/services/Violation/ViolationAction/List';\r\n\r\n const { list, successful, message } = await getVActionList ({\r\n hoaID,\r\n\r\n // optional\r\n escalationID\r\n });\r\n if (!successful) {\r\n console.error (exception);\r\n return;\r\n }\r\n*/\r\n//\r\nimport _get from 'lodash/get'\r\n//\r\nimport kms from '@/services/kms'\r\n//\r\nexport async function getVActionList({ hoaID, escalationID = null, kms: kms_ = kms } = {}) {\r\n let message = `The action list could not be retrieved.`\r\n\r\n console.log('\\n\\ngetVActionList\\n')\r\n\r\n let params = {\r\n hoaID\r\n }\r\n\r\n if (['string', 'number'].includes(typeof escalationID)) {\r\n params.violationEscalationID = escalationID\r\n } else {\r\n console.error(`/Violation/ViolationAction/List`, { escalationID })\r\n }\r\n\r\n try {\r\n const result = await kms_.get(`/Violation/ViolationAction/List`, {\r\n params\r\n })\r\n\r\n let list = []\r\n const actions = _get(result, 'results', [])\r\n if (Array.isArray(actions)) {\r\n list = actions\r\n }\r\n\r\n return {\r\n successful: true,\r\n message: '',\r\n list\r\n }\r\n } catch (exception) {\r\n console.error(exception)\r\n }\r\n\r\n return {\r\n successful: false,\r\n message,\r\n list: null\r\n }\r\n}\r\n\r\n///////\r\n","/*\r\n import { getV } from '@/services/ViolationIssue/Violation/Get';\r\n\r\n // for example:\r\n const { successful, message, details } = await getV ({\r\n id\r\n });\r\n if (!successful) {\r\n notifyProblem (message);\r\n return;\r\n }\r\n\r\n*/\r\n//\r\nimport kms from '@/services/kms'\r\n//\r\nexport async function getV({ kms: kms_ = kms, id } = {}) {\r\n try {\r\n const details = await kms_.get(`/ViolationIssue/Violation/${id}`)\r\n\r\n return {\r\n successful: true,\r\n message: null,\r\n details\r\n }\r\n } catch (exception) {\r\n console.error(exception)\r\n }\r\n\r\n return {\r\n successful: false,\r\n message: `The details could not be retrieved successfully.`,\r\n details: null\r\n }\r\n}\r\n","/*\r\n import { update as updateV } from '@/services/ViolationIssue/Violation/UpdateViolationActionStepOccurrence';\r\n\r\n // for example:\r\n const { successful, message } = await updateV ({\r\n json: {\r\n\r\n }\r\n });\r\n if (!successful) {\r\n notifyProblem (message);\r\n return;\r\n }\r\n*/\r\n\r\n//\r\nimport kms from '@/services/kms'\r\n//\r\nexport async function update({ kms: kms_ = kms, json } = {}) {\r\n let message = `The update did not happen successfully.`\r\n\r\n try {\r\n await kms_.post(`/ViolationIssue/Violation/UpdateViolationActionStepOccurrence`, json)\r\n\r\n return {\r\n successful: true,\r\n message\r\n }\r\n } catch (exception) {\r\n console.error(exception)\r\n }\r\n\r\n return {\r\n successful: false,\r\n message\r\n }\r\n}\r\n","/*\r\n example:\r\n import { StorePhoto } from '@/services/ViolationIssue/ViolationOccurrencePhoto/StorePhoto';\r\n\r\n const { successful, documentId } = await StorePhoto ({\r\n hoaID,\r\n photo\r\n });\r\n if (!successful) {\r\n\r\n }\r\n*/\r\n\r\n/*\r\n example response:\r\n containerID: 24\r\n contentType: \"image/jpeg\"\r\n createdDate: \"2021-08-28T01:00:43.9473631+00:00\"\r\n deletedDate: null\r\n description: \"\"\r\n documentId: 1168\r\n fileSize: 3370\r\n filename: \"3.jpeg\"\r\n modifiedDate: \"2021-08-28T01:00:43.9473631+00:00\"\r\n version: 1\r\n*/\r\nimport kms from '@/services/kms'\r\nimport _get from 'lodash/get'\r\n//\r\nexport async function StorePhoto({ hoaID, photo }) {\r\n try {\r\n const path = `/ViolationIssue/ViolationOccurrencePhoto/StorePhoto?hoaID=${hoaID}`\r\n\r\n console.log({\r\n hoaID,\r\n photo\r\n })\r\n\r\n const formData = new FormData()\r\n formData.append('file', photo)\r\n const results = await kms.post(path, formData, {\r\n 'Content-Type': 'multipart/form-data'\r\n })\r\n\r\n console.log({ results })\r\n\r\n const documentId = _get(results, 'documentId', null)\r\n\r\n return {\r\n successful: true,\r\n photo,\r\n documentId\r\n }\r\n } catch (exception) {\r\n console.error(exception)\r\n }\r\n\r\n return {\r\n successful: false,\r\n photo,\r\n documentId: null\r\n }\r\n}\r\n","/*\r\n import { StoreMultiplePhotos } from '@/services/ViolationIssue/ViolationOccurrencePhoto/sequences/StoreMultiplePhotos';\r\n\r\n const { successful, documentIds } = await StoreMultiplePhotos ({\r\n hoaID,\r\n\r\n // Array of Files\r\n photos: []\r\n });\r\n if (!successful) {\r\n\r\n }\r\n\r\n*/\r\n\r\nimport { StorePhoto } from '@/services/ViolationIssue/ViolationOccurrencePhoto/StorePhoto'\r\n\r\nexport async function StoreMultiplePhotos({ hoaID, photos }) {\r\n const results = await Promise.all(\r\n photos.map(photo => {\r\n return StorePhoto({\r\n hoaID,\r\n photo\r\n })\r\n })\r\n )\r\n\r\n const problems = []\r\n const uploads = []\r\n for (let a = 0; a < results.length; a++) {\r\n const result = results[a]\r\n const { successful, documentId } = result\r\n if (successful === false) {\r\n problems.push(result.photo)\r\n }\r\n\r\n if (successful === true) {\r\n uploads.push(documentId)\r\n }\r\n }\r\n\r\n return {\r\n uploads,\r\n problems\r\n }\r\n}\r\n","/*\r\n For generating a violation preview letter\r\n\r\n {\r\n \"ownerID\": 0,\r\n \"violationActionID\": 0,\r\n \"violationTypeID\": 0,\r\n \"observationDate\": \"2021-08-30T18:40:19.581Z\",\r\n \"description\": \"string\",\r\n \"photoDocumentIDs\": [\r\n 0\r\n ]\r\n }\r\n*/\r\n\r\n/*\r\n import { generateViolationLetterHTMLPreview } from '@/services/ViolationIssue/Violation/GenerateViolationLetterHTMLPreview';\r\n\r\n // for example:\r\n const { successful } = await generateViolationLetterHTMLPreview ({\r\n json: {\r\n ownerID,\r\n violationTypeID,\r\n violationActionID,\r\n description: \"vio description\",\r\n observationDate: \"2021-08-09T21:31:51.958Z\",\r\n photoDocumentIDs: []\r\n }\r\n });\r\n if (!successful) {\r\n notifyProblem ('A problem occurred and the violation letter could not be generated');\r\n return;\r\n }\r\n*/\r\n\r\n//\r\nimport kms from '@/services/kms'\r\n//\r\nexport async function generateViolationLetterHTMLPreview({ kms: kms_ = kms, json } = {}) {\r\n const message = 'A problem occurred and the violation could not be reported'\r\n\r\n try {\r\n const result = await kms_.post(\r\n `/ViolationIssue/Violation/GenerateViolationLetterHTMLPreview`,\r\n json\r\n )\r\n\r\n return {\r\n message: '',\r\n result,\r\n successful: true\r\n }\r\n } catch (exception) {\r\n console.error(exception)\r\n }\r\n\r\n return {\r\n message,\r\n result: null,\r\n successful: false\r\n }\r\n}\r\n","/*\r\n import { violationListStore } from '@/pages/Management/violations/Main/store.js'\r\n\r\n this.unsubViolationListStore = violationListStore.subscribe ((mutation, state) => {\r\n const mType = mutation.type;\r\n\r\n\r\n });\r\n*/\r\n\r\nimport _set from 'lodash/set'\r\nimport Vue from 'vue'\r\nimport Vuex from 'vuex'\r\n//\r\nimport { notifyProblem } from '@/services/notify'\r\n//\r\nimport { listViolations } from '@/services/ViolationIssue/Violation/List'\r\n//\r\nVue.use(Vuex)\r\nexport const violationListStore = new Vuex.Store({\r\n /* eslint-disable no-empty-pattern */\r\n actions: {\r\n /*\r\n const { list } = await violationListStore.dispatch ('refreshList', {\r\n hoaID\r\n });\r\n */\r\n async refreshList({ commit }, { hoaID }) {\r\n const { successful, list, message } = await listViolations({\r\n hoaID\r\n })\r\n if (!successful) {\r\n notifyProblem(message)\r\n }\r\n\r\n commit('refreshList', { list, hoaID })\r\n\r\n return {\r\n list\r\n }\r\n }\r\n },\r\n /* eslint-enable no-empty-pattern */\r\n\r\n getters: {},\r\n mutations: {\r\n refreshList(state, { list, hoaID }) {\r\n _set(state, ['lists', hoaID], list)\r\n }\r\n },\r\n\r\n /*\r\n\r\n */\r\n state: {\r\n /*\r\n lists [ hoaId ] = []\r\n\r\n e.g.\r\n lists = {\r\n 0: []\r\n }\r\n */\r\n lists: {}\r\n }\r\n})\r\n","import _get from 'lodash/get'\r\nimport moment from 'moment'\r\nimport parseAddress from '@/utilities/address/parse'\r\nimport { parseDate } from '@/utilities/Date/parse'\r\nimport { notifyProblem, notifyMessage } from '@/services/notify'\r\nimport { getVActionList } from '@/services/Violation/ViolationAction/List'\r\nimport { getV } from '@/services/ViolationIssue/Violation/Get'\r\nimport { update as updateV } from '@/services/ViolationIssue/Violation/UpdateViolationActionStepOccurrence'\r\nimport { StoreMultiplePhotos } from '@/services/ViolationIssue/ViolationOccurrencePhoto/sequences/StoreMultiplePhotos'\r\nimport { generateViolationLetterHTMLPreview } from '@/services/ViolationIssue/Violation/GenerateViolationLetterHTMLPreview'\r\nimport { violationListStore } from '@/pages/Management/violations/Main/store.js'\r\n\r\nexport const methods = {\r\n updateObservedBy() {\r\n const authUser = _get(this, ['$store', 'getters', 'user/authUser'], null)\r\n\r\n this.observedBy = authUser.name\r\n },\r\n imagesUpdated({ previews, images }) {\r\n this.images = images\r\n this.previews = previews\r\n },\r\n checkDetails() {\r\n if (this.description.length === 0) {\r\n notifyProblem('Please provide a description.')\r\n return\r\n }\r\n\r\n if (this.observedBy.length === 0) {\r\n notifyProblem('Please state who is reporting the action.')\r\n return\r\n }\r\n\r\n const { allValid, utcFormat } = this.$refs.observationDateComponent.getValue()\r\n if (allValid !== true) {\r\n notifyProblem('The date does not seem to be valid.')\r\n return\r\n }\r\n\r\n this.observationDate = utcFormat\r\n\r\n this.page = 2\r\n },\r\n\r\n reset() {\r\n // resets\r\n this.description = ''\r\n this.observedBy = ''\r\n this.observationDate = moment(new Date()).toISOString()\r\n this.images = []\r\n this.previews = []\r\n\r\n this.allActions = []\r\n this.selected = {}\r\n },\r\n\r\n async open({ id }) {\r\n this.loading = true\r\n this.page = 0\r\n\r\n this.reset()\r\n\r\n const hoaID = _get(this, ['$store', 'getters', 'user/hoaIDInteger'], null)\r\n\r\n this.updateObservedBy()\r\n this.isOpen = true\r\n\r\n const { successful, message, details } = await getV({\r\n id\r\n })\r\n if (!successful) {\r\n notifyProblem(message)\r\n return\r\n }\r\n\r\n const {\r\n list: allActions,\r\n successful: actionSuccessful,\r\n message: actionMessage\r\n } = await getVActionList({\r\n hoaID,\r\n\r\n // optional\r\n escalationID: _get(details, ['violationEscalationID'], '')\r\n })\r\n if (!actionSuccessful) {\r\n notifyProblem(actionMessage)\r\n return\r\n }\r\n\r\n let chosenActions = _get(details, ['violationEscalation', 'violationActions'], [])\r\n if (!Array.isArray(chosenActions)) {\r\n chosenActions = []\r\n }\r\n\r\n this.allActions = allActions\r\n\r\n let actions = []\r\n for (let a = 0; a < allActions.length; a++) {\r\n const possible = allActions[a]\r\n\r\n for (let b = 0; b < chosenActions.length; b++) {\r\n const chosen = chosenActions[b]\r\n\r\n if (chosen.violationActionID === possible.violationActionID) {\r\n actions.push({\r\n name: possible.name,\r\n order: possible.escalationOrder\r\n })\r\n break\r\n }\r\n }\r\n }\r\n\r\n var steps = _get(details, ['violationSteps'], [])\r\n if (!Array.isArray(steps)) {\r\n steps = []\r\n }\r\n\r\n this.details = {\r\n ownerName: _get(details, ['owner', 'name'], ''),\r\n ownerAddress: parseAddress({\r\n address: _get(details, ['owner', 'unit', 'address'], '')\r\n }),\r\n type: _get(details, ['violationType', 'name'], ''),\r\n actions: chosenActions,\r\n steps: steps.map(step => {\r\n return {\r\n actionName: _get(step, ['violationAction', 'name'], ''),\r\n actionDescription: _get(step, ['violationAction', 'description'], ''),\r\n observedBy: _get(step, ['violationOccurrence', 'observedBy'], ''),\r\n observationDescription: _get(step, ['violationOccurrence', 'description'], ''),\r\n observationDate: parseDate(\r\n _get(step, ['violationOccurrence', 'observationDate'], ''),\r\n 'LL'\r\n )\r\n }\r\n })\r\n }\r\n\r\n this.meta = details\r\n this.description = _get(details, ['violationType', 'descriptionTemplate'])\r\n\r\n this.loading = false\r\n },\r\n async select(action) {\r\n this.selected = {\r\n name: action.name,\r\n description: action.description,\r\n violationActionID: action.violationActionID,\r\n violationEscalationID: action.violationEscalationID\r\n }\r\n\r\n this.page = 1\r\n },\r\n\r\n async uploadImages() {\r\n const hoaID = _get(this, ['$store', 'getters', 'user/hoaIDInteger'], null)\r\n\r\n const { uploads, problems } = await StoreMultiplePhotos({\r\n hoaID,\r\n photos: this.images\r\n })\r\n\r\n if (problems.length >= 1) {\r\n notifyProblem(`${problems.length} photos may not have been uploaded successfully.`)\r\n }\r\n\r\n if (problems && problems !== undefined) {\r\n console.debug('problems=' + JSON.stringify(problems))\r\n }\r\n\r\n return {\r\n uploads\r\n }\r\n },\r\n\r\n async confirm() {\r\n const hoaID = _get(this, ['$store', 'getters', 'user/hoaIDInteger'], null)\r\n\r\n this.loading = true\r\n\r\n const { uploads } = await this.uploadImages()\r\n\r\n // for example:\r\n const { successful, message } = await updateV({\r\n json: {\r\n hoaID,\r\n ownerID: _get(this, ['meta', 'owner', 'ownerID'], ''),\r\n violationID: _get(this, ['meta', 'violationID'], ''),\r\n //\r\n violationTypeID: _get(this, ['meta', 'violationType', 'violationTypeID'], ''),\r\n violationEscalationID: _get(\r\n this,\r\n ['meta', 'violationEscalation', 'violationEscalationID'],\r\n ''\r\n ),\r\n violationActionID: _get(this, ['selected', 'violationActionID']),\r\n //\r\n violationNote: '',\r\n isClosed: false,\r\n //\r\n observationDate: this.observationDate,\r\n observedBy: this.observedBy,\r\n observationDescription: this.description,\r\n //\r\n uploadedDocumentIds: uploads\r\n }\r\n })\r\n if (!successful) {\r\n notifyProblem(message)\r\n return\r\n }\r\n\r\n notifyMessage('The step was initiated successfully.')\r\n\r\n // refreshes the main list\r\n await violationListStore.dispatch('refreshList', {\r\n hoaID\r\n })\r\n\r\n await this.onComplete()\r\n\r\n this.loading = false\r\n this.isOpen = false\r\n },\r\n\r\n async preview() {\r\n this.loading = true\r\n\r\n const { uploads } = await this.uploadImages()\r\n\r\n // for example:\r\n const { message, result, successful } = await generateViolationLetterHTMLPreview({\r\n json: {\r\n ownerID: _get(this, ['meta', 'owner', 'ownerID'], ''),\r\n //\r\n violationTypeID: _get(this, ['meta', 'violationType', 'violationTypeID'], ''),\r\n violationActionID: _get(this, ['selected', 'violationActionID']),\r\n //\r\n violationNote: '',\r\n isClosed: false,\r\n //\r\n observationDate: this.observationDate,\r\n description: this.description,\r\n //\r\n photoDocumentIDs: uploads\r\n }\r\n })\r\n if (!successful) {\r\n notifyProblem(message)\r\n return\r\n }\r\n\r\n this.loading = false\r\n\r\n var newWindow = window.open()\r\n if (!newWindow.document) {\r\n notifyProblem('Unable to preview letter - please make sure popups are not blocked.')\r\n return\r\n }\r\n\r\n newWindow.document.body.innerHTML = result\r\n }\r\n}\r\n","export const props = {\r\n onComplete: {\r\n type: Function,\r\n default: async () => {}\r\n }\r\n}\r\n","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=476afc40&\"\nimport script from \"./index.vue?vue&type=script&lang=js&\"\nexport * from \"./index.vue?vue&type=script&lang=js&\"\nimport style0 from \"./index.vue?vue&type=style&index=0&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 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('article',{staticClass:\"card\",style:({ padding: '.5rem', height: '420px' })},[_c('div',{style:({ color: _vm.color[8] })},[_vm._v(\"All Photos\")]),(_vm.photosList && !_vm.loading)?_c('div',{style:({\n maxHeight: '350px',\n minHeight: '350px',\n overflowY: 'scroll'\n })},_vm._l((_vm.photosList),function(photo,index){return _c('figure',{key:index,style:({\n position: 'relative',\n display: 'inline-flex',\n justifyContent: 'center',\n alignItems: 'center',\n\n margin: '4px',\n\n width: '90%',\n paddingBottom: '90%',\n\n overflow: 'hidden',\n borderRadius: '6px',\n\n boxShadow: '0 12px 18px 0 rgba(0, 0, 0, 0.05)'\n }),attrs:{\"vio-photo\":\"\",\"tabindex\":\"0\",\"aria-label\":'photo ' + (index + 1)},on:{\"click\":function($event){$event.preventDefault();return _vm.updateMainPhoto(index)}}},[_c('transition',{attrs:{\"name\":\"fade\"}},[_c('ImageItem',{attrs:{\"source\":photo.content}})],1)],1)}),0):_vm._e(),(_vm.loading)?_c('b-loading',{attrs:{\"is-full-page\":false},model:{value:(_vm.loading),callback:function ($$v) {_vm.loading=$$v},expression:\"loading\"}}):_vm._e()],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('figure',{directives:[{name:\"lazyload\",rawName:\"v-lazyload\"}],staticClass:\"image__wrapper\"},[_c('ImageSpinner',{staticClass:\"image__spinner\"}),_c('img',{staticClass:\"image__item\",style:({\n position: 'absolute',\n top: '50%',\n left: '50%',\n transform: 'translateX(-50%) translateY(-50%)',\n flexShrink: '0',\n maxWidth: '100%',\n maxHeight: '100%',\n height: '100%',\n width: '100%',\n objectFit: 'contain'\n }),attrs:{\"data-url\":_vm.source}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _vm._m(0)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"ripple\"},[_c('div',{staticClass:\"ripple__circle\"}),_c('div',{staticClass:\"ripple__circle ripple__inner-circle\"})])}]\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./ImageSpinner.vue?vue&type=template&id=e745b496&scoped=true&\"\nvar script = {}\nimport style0 from \"./ImageSpinner.vue?vue&type=style&index=0&id=e745b496&lang=scss&scoped=true&\"\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 \"e745b496\",\n null\n \n)\n\nexport default component.exports","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ImageItem.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ImageItem.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ImageItem.vue?vue&type=template&id=d88fdbd0&scoped=true&\"\nimport script from \"./ImageItem.vue?vue&type=script&lang=js&\"\nexport * from \"./ImageItem.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ImageItem.vue?vue&type=style&index=0&id=d88fdbd0&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 \"d88fdbd0\",\n null\n \n)\n\nexport default component.exports","\r\n\r\n\r\n","import mod from \"-!../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DesktopGallery.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DesktopGallery.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./DesktopGallery.vue?vue&type=template&id=36c8643a&\"\nimport script from \"./DesktopGallery.vue?vue&type=script&lang=js&\"\nexport * from \"./DesktopGallery.vue?vue&type=script&lang=js&\"\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('article',{staticClass:\"card\",style:({ padding: '.5rem' })},[_c('div',{style:({ color: _vm.color[8] })},[_vm._v(\"All Photos\")]),(_vm.photosList)?_c('div',{style:({\n overflowY: 'scroll',\n overflowX: 'scroll',\n whiteSpace: 'nowrap',\n width: '100%',\n paddingBottom: '10px'\n })},_vm._l((_vm.photosList),function(photo,index){return _c('figure',{key:index,style:({\n position: 'relative',\n display: 'inline-flex',\n justifyContent: 'center',\n alignItems: 'center',\n margin: '4px',\n width: '95px',\n height: '71px',\n overflow: 'hidden',\n borderRadius: '6px',\n boxShadow: '0 12px 18px 0 rgba(0, 0, 0, 0.05)'\n }),attrs:{\"vio-photo\":\"\",\"tabindex\":\"0\",\"aria-label\":'photo ' + (index + 1)},on:{\"click\":function($event){$event.preventDefault();return _vm.updateMainPhoto(index)}}},[_c('transition',{attrs:{\"name\":\"fade\"}},[_c('ImageItem',{attrs:{\"source\":photo.content}})],1)],1)}),0):_vm._e(),(_vm.loading)?_c('b-loading',{attrs:{\"is-full-page\":false},model:{value:(_vm.loading),callback:function ($$v) {_vm.loading=$$v},expression:\"loading\"}}):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n","import mod from \"-!../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MobileGallery.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MobileGallery.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./MobileGallery.vue?vue&type=template&id=6255008c&\"\nimport script from \"./MobileGallery.vue?vue&type=script&lang=js&\"\nexport * from \"./MobileGallery.vue?vue&type=script&lang=js&\"\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","//\r\nimport { mapState } from 'vuex'\r\n//\r\nexport const computed = {\r\n ...mapState({\r\n hoaId: state => state.user.selectedHoaId,\r\n breakpoint: state => state.win.breakpoint\r\n })\r\n}\r\n","import _get from 'lodash/get'\r\n\r\nexport function data() {\r\n const theme = _get(this, ['$store', 'state', 'theme'], {})\r\n\r\n const authUserType = _get(this, ['$store', 'getters', 'user/authUserType'], null)\r\n\r\n return {\r\n authUserType,\r\n color: theme.color,\r\n toggle: false,\r\n loading: true,\r\n mainPhoto: null,\r\n occurrence: null,\r\n violation: {},\r\n occurrences: [],\r\n steps: [],\r\n photosList: [],\r\n details: {},\r\n startIndex: 1,\r\n itemsPerPage: 1,\r\n hoaID: 0\r\n }\r\n}\r\n","/*\r\n import { updateV } from '@/services/ViolationIssue/Violation/Put';\r\n\r\n // for example:\r\n const { successful, message, details } = await updateV ({\r\n json: {}\r\n });\r\n if (!successful) {\r\n notifyProblem (message);\r\n return;\r\n }\r\n\r\n*/\r\n//\r\nimport kms from '@/services/kms'\r\n//\r\nexport async function updateV({ kms: kms_ = kms, json } = {}) {\r\n try {\r\n const details = await kms_.put(`/ViolationIssue/Violation`, json)\r\n\r\n return {\r\n successful: true,\r\n message: null,\r\n details\r\n }\r\n } catch (exception) {\r\n console.error(exception)\r\n }\r\n\r\n return {\r\n successful: false,\r\n message: `The details could not be retrieved successfully.`,\r\n details: null\r\n }\r\n}\r\n","import _get from 'lodash/get'\r\nimport { notifyProblem } from '@/services/notify'\r\nimport { getString } from '@/utilities/get/string'\r\nimport parseAddress from '@/utilities/address/parse'\r\nimport { parseDate } from '@/utilities/Date/parse'\r\nimport { getV } from '@/services/ViolationIssue/Violation/Get'\r\nimport { getVOccurrenceList } from '@/services/ViolationIssue/ViolationOccurrence/List'\r\nimport { updateV } from '@/services/ViolationIssue/Violation/Put'\r\nimport { listSteps } from '@/services/ViolationIssue/ViolationStep/List'\r\nimport { getMultiplePhotos } from '@/services/ViolationIssue/ViolationOccurrencePhoto/sequences/GetMultiple'\r\n\r\nexport const methods = {\r\n getId() {\r\n if (typeof this.propId === 'number') {\r\n return this.propId\r\n }\r\n\r\n return _get(this, ['$route', 'params', 'id'], 0)\r\n },\r\n\r\n async stepAdded() {\r\n console.debug('in step added...')\r\n const fromRoute = _get(this, ['$route', 'path'], '')\r\n\r\n if (fromRoute.indexOf('violationDetails') !== -1) {\r\n console.debug('in reRender')\r\n this.reRender()\r\n } else {\r\n await this.getSteps({\r\n id: this.getId()\r\n })\r\n\r\n await this.refresh()\r\n }\r\n },\r\n\r\n reRender() {\r\n //Necessary for now to force other tabs to re-render\r\n this.$forceUpdate()\r\n this.$router.go(0)\r\n },\r\n\r\n async getSteps({ id }) {\r\n const hoaID = _get(this, ['$store', 'getters', 'user/hoaIDInteger'], null)\r\n this.hoaID = hoaID\r\n\r\n var { successful, message, steps } = await listSteps({\r\n params: {\r\n hoaID,\r\n violationID: id\r\n }\r\n })\r\n if (!successful) {\r\n notifyProblem(message)\r\n return false\r\n }\r\n\r\n console.debug('steps=' + JSON.stringify(steps))\r\n\r\n const occurrences = this.occurrences\r\n //const photosList = []\r\n\r\n this.steps = steps\r\n .map((step, index) => {\r\n const occurrence = _get(step, 'violationOccurrence', {})\r\n\r\n let photosMeta = []\r\n\r\n /* get the photos meta data from the corresponding occurrence */\r\n for (let a = 0; a < occurrences.length; a++) {\r\n const o = occurrences[a]\r\n\r\n try {\r\n if (\r\n o.violationOccurrenceID === step.violationOccurrenceID &&\r\n Array.isArray(o.violationOccurrencePhotos)\r\n ) {\r\n photosMeta = o.violationOccurrencePhotos\r\n break\r\n }\r\n } catch (x) {\r\n console.error(x)\r\n }\r\n }\r\n\r\n const observationDate = getString(occurrence, 'observationDate', '')\r\n let observationDateParsed = parseDate(observationDate, 'LL')\r\n\r\n return {\r\n count: index + 1,\r\n actionName: getString(step, ['violationAction', 'name'], ''),\r\n observedBy: getString(occurrence, 'observedBy', ''),\r\n observationDate: observationDateParsed,\r\n description: getString(occurrence, 'description', ''),\r\n photosMeta,\r\n photos: []\r\n }\r\n })\r\n .reverse()\r\n\r\n this.$forceUpdate()\r\n\r\n return true\r\n },\r\n\r\n async lazyLoadMoreImages() {\r\n console.debug('in lazyLoadMoreImages()...')\r\n const loadingComponent = this.$buefy.loading.open({\r\n container: null\r\n })\r\n\r\n let counter = 0\r\n\r\n const photosList = []\r\n\r\n for (let a = 0; a < this.steps.length; a++) {\r\n const { photosMeta } = this.steps[a]\r\n\r\n console.debug('counter=' + counter)\r\n\r\n if (photosMeta) {\r\n const { photos } = await getMultiplePhotos({\r\n hoaID: this.hoaID,\r\n paramsList: photosMeta.map(photo => {\r\n return {\r\n violationOccurrencePhotoID: _get(photo, ['violationOccurrencePhotoID'], ''),\r\n asBase64: true,\r\n scaleToWidth: 400\r\n }\r\n })\r\n })\r\n\r\n if (counter <= this.steps.length) {\r\n console.debug('photos===' + JSON.stringify(photos))\r\n photosList.push(...photos)\r\n this.mainPhoto = _get(photosList, [0, 'content'], '')\r\n }\r\n\r\n counter = counter + 1\r\n }\r\n }\r\n\r\n this.photosList.push(...photosList)\r\n\r\n loadingComponent.close()\r\n },\r\n\r\n async updateImages(index) {\r\n console.debug('updateImages=' + index)\r\n },\r\n\r\n async escalate() {\r\n const id = this.getId()\r\n\r\n this.$refs.escalator.open({\r\n id\r\n })\r\n },\r\n\r\n async getVDetails() {\r\n const id = this.getId()\r\n\r\n const { successful, message, details: vDetails } = await getV({\r\n id\r\n })\r\n if (!successful) {\r\n notifyProblem(message)\r\n\r\n return {\r\n vDetails: null\r\n }\r\n }\r\n\r\n this.violation = vDetails\r\n\r\n const isClosed = _get(vDetails, ['isClosed'], null)\r\n let status = 'Indeterminable'\r\n if (isClosed === true) {\r\n status = 'Closed'\r\n } else if (isClosed === false) {\r\n status = 'Open'\r\n }\r\n\r\n this.details = {\r\n ownerName: _get(vDetails, ['owner', 'name'], ''),\r\n address: parseAddress({\r\n address: _get(vDetails, ['owner', 'unit', 'address'], '')\r\n }),\r\n typeName: _get(vDetails, ['violationType', 'name'], ''),\r\n status\r\n }\r\n\r\n return {\r\n vDetails\r\n }\r\n },\r\n\r\n confirmClose(id, isClosed) {\r\n const message = isClosed\r\n ? 'Please confirm below, that you wish to close the violation and mark it as resolved. A Violation Resolved Notice will be sent to the homeowner.'\r\n : 'Please confirm below, that you wish to re-open the violation and mark it as un-resolved.'\r\n\r\n const title = isClosed ? 'Closure Confirmation' : 'Re-open Confirmation'\r\n const confirm = isClosed ? 'Close Violation' : 'Re-open Violation'\r\n\r\n this.$buefy.dialog.confirm({\r\n title: title,\r\n message: message,\r\n confirmText: confirm,\r\n type: 'is-danger',\r\n hasIcon: true,\r\n onConfirm: () => this.modifyStatus({ isClosed })\r\n })\r\n },\r\n\r\n async getOccurrences({ vDetails }) {\r\n const hoaID = _get(this, ['$store', 'getters', 'user/hoaIDInteger'], null)\r\n\r\n const violationID = _get(vDetails, ['violationID'], null)\r\n\r\n const { list, successful, message } = await getVOccurrenceList({\r\n json: {\r\n hoaID,\r\n violationID\r\n }\r\n })\r\n if (!successful) {\r\n notifyProblem(message)\r\n this.loading = false\r\n return {\r\n successful: false\r\n }\r\n }\r\n //\r\n this.occurrences = list\r\n this.occurrence = list[0]\r\n\r\n return {\r\n successful: true\r\n }\r\n },\r\n\r\n async refresh() {\r\n this.loading = true\r\n\r\n const authUserType = _get(this, ['$store', 'getters', 'user/authUserType'], null)\r\n this.authUserType = authUserType\r\n console.log({\r\n authUserType\r\n })\r\n\r\n const { vDetails } = await this.getVDetails()\r\n if (vDetails === null) {\r\n this.loading = false\r\n return\r\n }\r\n\r\n const { successful } = await this.getOccurrences({\r\n vDetails\r\n })\r\n if (!successful) {\r\n this.loading = false\r\n return\r\n }\r\n\r\n const id = this.getId()\r\n await this.getSteps({\r\n id\r\n })\r\n\r\n this.loading = false\r\n\r\n this.lazyLoadMoreImages()\r\n },\r\n\r\n async modifyStatus({ isClosed }) {\r\n const { successful, message } = await updateV({\r\n json: {\r\n violationID: this.violation.violationID,\r\n ownerID: this.violation.ownerID,\r\n hoaID: this.violation.hoaID,\r\n violationTypeID: this.violation.violationTypeID,\r\n violationEscalationID: this.violation.violationEscalationID,\r\n isClosed,\r\n createdDate: this.violation.createdDate,\r\n modifiedDate: this.violation.modifiedDate\r\n }\r\n })\r\n if (!successful) {\r\n notifyProblem(message)\r\n return\r\n }\r\n\r\n this.refresh()\r\n },\r\n\r\n async updateMainPhoto(index) {\r\n console.debug('updateMainPhoto...')\r\n const photosList = this.photosList\r\n\r\n if (Array.isArray(photosList) && photosList.length >= 1) {\r\n this.mainPhoto = _get(photosList, [index, 'content'], '')\r\n }\r\n }\r\n}\r\n","export function mounted() {\r\n this.refresh()\r\n}\r\n","export const props = {\r\n //\r\n // for testing, so that the id\r\n // can be passed in as a prop\r\n // instead of being retrieved\r\n // from the route\r\n //\r\n propId: {\r\n type: [Number, Boolean],\r\n default: false\r\n }\r\n}\r\n","export const watch = {\r\n toggle() {\r\n if (this.toggle == false) {\r\n this.refresh()\r\n this.toggle = false\r\n if (this.Modal && this.Modal != undefined) {\r\n this.Modal.$emit('update:toggle', (this.toggle = false))\r\n }\r\n }\r\n },\r\n hoaId() {\r\n this.refresh()\r\n }\r\n}\r\n","\r\n\r\n\r\n","import mod from \"-!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=4d41c068&\"\nimport script from \"./index.vue?vue&type=script&lang=js&\"\nexport * from \"./index.vue?vue&type=script&lang=js&\"\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"],"sourceRoot":""}