{"version":3,"sources":["webpack:///./src/assets/images/entrancePlants/icon-message.svg","webpack:///./src/views/components/DialogConfirmDelete/DialogConfirmDelete.vue?b090","webpack:///./src/views/components/DialogConfirmDelete/DialogConfirmDelete.ts","webpack:///./src/views/components/DialogConfirmDelete/DialogConfirmDelete.vue","webpack:///./src/assets/images/entrancePlants/icon-parameters.svg","webpack:///./src/views/pages/PlantDetail/ConfirmPlantUpdated/ConfirmPlantUpdated.vue?ee77","webpack:///./src/views/pages/PlantDetail/ConfirmPlantUpdated/ConfirmPlantUpdated.ts","webpack:///./src/views/pages/PlantDetail/ConfirmPlantUpdated/ConfirmPlantUpdated.vue","webpack:///./src/views/pages/PlantDetail/MenuSharing/ConfirmDeleteUser/ConfirmDeleteUser.vue?5561","webpack:///./src/views/pages/PlantDetail/MenuSharing/ConfirmDeleteUser/ConfirmDeleteUser.ts","webpack:///./src/views/pages/PlantDetail/MenuSharing/ConfirmDeleteUser/ConfirmDeleteUser.vue","webpack:///./src/assets/images/entrancePlants/icon-resident.svg","webpack:///./src/assets/images/entrancePlants/icon-badge.svg","webpack:///./src/views/components/DialogConfirmTransferOwnership/DialogConfirmTransferOwnership.vue?672d","webpack:///./src/views/components/DialogConfirmTransferOwnership/DialogConfirmTransferOwnership.ts","webpack:///./src/views/components/DialogConfirmTransferOwnership/DialogConfirmTransferOwnership.vue","webpack:///./src/views/pages/EntrancePlantDetail/MenuEPSharing/MenuEPSharing.scss?6c5c","webpack:///./src/assets/images/entrancePlants/icon-switchboard.svg","webpack:///./src/views/pages/EntrancePlantDetail/EntrancePlantDetail.scss?72a1","webpack:///./src/assets/images/entrancePlants/icon-guest.svg","webpack:///./src/views/pages/EntrancePlantDetail/EntrancePlantDetail.vue?0f4a","webpack:///./src/views/pages/EntrancePlantDetail/MenuEPSharing/MenuEPSharing.vue?9532","webpack:///./src/views/pages/EntrancePlantDetail/MenuEPSharing/UserEPItem/UserEPItem.vue?d2e5","webpack:///./src/views/pages/EntrancePlantDetail/MenuEPSharing/UserEPItem/UserEPItem.ts","webpack:///./src/views/pages/EntrancePlantDetail/MenuEPSharing/UserEPItem/UserEPItem.vue","webpack:///./src/views/pages/EntrancePlantDetail/MenuEPSharing/MenuEPSharing.ts","webpack:///./src/views/pages/EntrancePlantDetail/MenuEPSharing/MenuEPSharing.vue","webpack:///./src/views/pages/EntrancePlantDetail/EntrancePlantDetail.ts","webpack:///./src/views/pages/EntrancePlantDetail/EntrancePlantDetail.vue"],"names":["module","exports","_hoisted_1","class","_hoisted_2","_hoisted_3","_hoisted_4","_hoisted_5","render","_ctx","_cache","$props","$setup","$data","$options","_component_InlineSvgScoped","_component_Button","_component_Dialog","visible","isDialogVisible","$event","onHide","doHideDialog","modal","showHeader","closable","default","src","dialogTitle","dialogMessage","onClick","handleHideDialog","$t","_","doConfirm","this","title","message","isVisible","$emit","name","props","type","Boolean","required","String","watch","newValue","emits","__exports__","_hoisted_6","_component_InputText","plantName","onSubmit","modelValue","password","disabled","isConfirmDisabled","$nextTick","_hoisted_7","_hoisted_8","_hoisted_9","_hoisted_10","key","_component_MenuEPSharing","_component_ElDropdownItem","_component_ElDropdownMenu","_component_ElDropdown","_component_ElPopover","_component_router_view","_component_DialogPlantCreate","_component_DialogConfirmDeletePlant","_component_ConfirmPlantUpdated","_component_DialogPlantDuplicate","hideFooter","currentEntrancePlant","Component","onUpdateList","fetchPlant","usersPermissions","onAddInvitedUser","handleInvitedUser","onRemoveSharingUser","handleRemoveSharingUser","togglePlantFromFavorites","favouriteIcon","trigger","placement","dropdown","style","handleDuplicatePlant","toggleEditDialog","plantEditEnabled","plantDeleteEnabled","toggleDeletePlantConfirm","getParsedDate","lastModify","username","reference","userInitials","iconDeviceLabel","iconDevice","tags","tag","index","value","onSaveAndExitClick","editPlantId","selectedPlantId","editPlantType","PlantType","ENTRANCE_PLANT","onPlantEdited","onHideDialog","isVisibleEditDialog","onConfirm","handleDeletePlant","isVisibleDeletePlantConfirm","hideConfirmPlantUpdated","isVisibleConfirmPlantUpdated","plant","onFetchPlants","handlePlantDuplicated","isPlantDuplicateDialogVisible","handleHidePlantDuplicateDialog","for","_hoisted_11","_hoisted_12","_hoisted_13","_hoisted_14","_hoisted_15","_hoisted_16","_hoisted_17","_component_Dropdown","_component_UserEPItem","_component_ProgressSpinner","_component_ConfirmDeleteUser","_component_DialogConfirmDelete","user","userIndex","getUserInitials","isPopperVisible","width","togglePopper","invitePerson","newUserToShare","role","options","roleOptions","optionLabel","optionValue","id","placeholder","email","isMeBuildingAdmin","totBuildingAdmins","totDeviceManagers","onDeleteUser","handleDeleteUser","onRevokeBuildingAdmin","handleRevokeRole","isLoading","isConfirmDeleteUserVisible","toggleConfirmDeleteUser","deleteUser","isConfirmRevokeRoleVisible","toggleConfirmRevokeRole","revokeRole","userRolesLabel","showRemove","showRevokeBuildingAdmin","handleRevokeBuildingAdmin","handleDeleteSharingUser","roles","rolesLabel","forEach","push","toLocaleString","replace","length","remainingBuildAdmins","remainingDeviceManagers","includes","BuildingManager","DeviceManager","Object","Number","computed","doShow","tempUser","undefined","tempUserId","roleName","i18n","global","t","currentUserPermissions","buildingAdmins","filter","usr","deviceManagers","newProUser","plants","sharingproPOST","desktopId","console","log","$toast","add","severity","summary","life","sharedWith","find","userId","sharingproPUT","sharingproDELETE","account","localAccountId","$router","components","UserEPItem","ConfirmDeleteUser","DialogConfirmDelete","tempPlant","isPlantDirty","isDevicesCardLoading","isVisibleAddRoomObjectDialog","isVisibleCreateStructureDialog","isVisibleTransferOwnershipConfirm","isPausedFetchupdate","intervalFetchUpdate","timeoutRenewSession","label","to","subroutes","items","icon","lastModifyByDesktop","menuItemsContextual","map","menuItem","additionalClass","getMenuItemClass","getMenuItemClassSubmenu","lastModifyBy","surname","$route","isFavourite","$store","dispatch","menuItemsContextualWithActiveClasses","parseInt","params","plantId","toString","userspermissions","registerEmitterEvents","registerPeriodicFetchUpdates","renewSessionTimeout","unregisterEmitterEvents","unregisterPeriodicFetchUpdates","unregisterRenewSessionTimeout","entranceplantGET","usersList","owner","shared","currentUserEmail","u","currentUserPerms","isOnlyBuildingAdmin","status","$emitter","on","handleRefreshPlantFromOuterEvent","off","setTimeout","doFetchUpdatesInternal","$config","PLANT_REFRESH_INTERVAL","clearTimeout","newPlant","session","renewSecondsDto","renewSessionSeconds","routeName","subroutesNames","date","month","day","year","hour","minute","plantDELETE","fromJS","userEmail","newUser","invitedEmail","confirmed","findIndex","splice","Date","path","MenuEPSharing","DialogPlantCreate","ConfirmPlantUpdated","DialogPlantDuplicate","DialogConfirmDeletePlant","DialogConfirmTransferOwnership"],"mappings":"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","file":"js/page-entranceplant-detail.c2453013.js","sourcesContent":["module.exports = __webpack_public_path__ + \"img/icon-message.297290d6.svg\";","import { resolveComponent as _resolveComponent, createVNode as _createVNode, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, withCtx as _withCtx, openBlock as _openBlock, createBlock as _createBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"bt-icon text-primary\" }\nconst _hoisted_2 = { class: \"dialog-confirm__title\" }\nconst _hoisted_3 = { class: \"dialog-confirm__message\" }\nconst _hoisted_4 = /*#__PURE__*/_createVNode(\"hr\", null, null, -1)\nconst _hoisted_5 = { class: \"dialog-confirm__footer\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_InlineSvgScoped = _resolveComponent(\"InlineSvgScoped\")\n const _component_Button = _resolveComponent(\"Button\")\n const _component_Dialog = _resolveComponent(\"Dialog\")\n\n return (_openBlock(), _createBlock(_component_Dialog, {\n visible: _ctx.isDialogVisible,\n \"onUpdate:visible\": _cache[1] || (_cache[1] = ($event: any) => (_ctx.isDialogVisible = $event)),\n onHide: _ctx.doHideDialog,\n modal: true,\n showHeader: false,\n closable: false,\n class: \"dialog-confirm\"\n }, {\n default: _withCtx(() => [\n _createVNode(\"span\", _hoisted_1, [\n _createVNode(_component_InlineSvgScoped, {\n src: \n require(`@/assets/images/icons/icon-alert-medium-outline.svg`)\n ,\n \"aria-label\": \"icon-alert-medium-outline\"\n }, null, 8, [\"src\"])\n ]),\n _createVNode(\"h5\", _hoisted_2, _toDisplayString(_ctx.dialogTitle), 1),\n _createVNode(\"p\", _hoisted_3, _toDisplayString(_ctx.dialogMessage), 1),\n _hoisted_4,\n _createVNode(\"div\", _hoisted_5, [\n _createVNode(_component_Button, {\n class: \"p-button-text p-button-secondary text-uppercase mr-2\",\n onClick: _ctx.handleHideDialog\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t(\"AppResource.Cancel\")), 1)\n ]),\n _: 1\n }, 8, [\"onClick\"]),\n _createVNode(_component_Button, {\n class: \"p-button-rounded p-button--m\",\n onClick: _ctx.doConfirm\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t(\"AppResource.Ok\")), 1)\n ]),\n _: 1\n }, 8, [\"onClick\"])\n ])\n ]),\n _: 1\n }, 8, [\"visible\", \"onHide\"]))\n}","import { Vue, Options } from 'vue-class-component';\n\n@Options({\n name: 'DialogConfirmDelete',\n props: {\n isVisible: {\n type: Boolean,\n required: true,\n },\n title: {\n type: String,\n required: true,\n },\n message: {\n type: String,\n required: true,\n },\n },\n watch: {\n isVisible: function (newValue) {\n this.isDialogVisible = newValue;\n },\n },\n emits: ['hide-dialog', 'confirm'],\n})\nexport default class DialogConfirmDelete extends Vue {\n isVisible!: boolean;\n title!: string;\n message!: string;\n isDialogVisible = false;\n\n get dialogTitle() {\n return this.title;\n }\n\n get dialogMessage() {\n return this.message;\n }\n\n mounted() {\n this.isDialogVisible = this.isVisible;\n }\n\n handleHideDialog() {\n this.isDialogVisible = false;\n }\n\n doHideDialog() {\n this.$emit('hide-dialog');\n }\n\n doConfirm() {\n this.$emit('confirm');\n this.handleHideDialog();\n }\n}\n","import { render } from \"./DialogConfirmDelete.vue?vue&type=template&id=009d4b24&ts=true\"\nimport script from \"./DialogConfirmDelete.ts?vue&type=script&lang=ts\"\nexport * from \"./DialogConfirmDelete.ts?vue&type=script&lang=ts\"\n\nimport exportComponent from \"/home/vsts/work/1/s/Frontend/node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","module.exports = __webpack_public_path__ + \"img/icon-parameters.b57aa86c.svg\";","import { resolveComponent as _resolveComponent, createVNode as _createVNode, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, withCtx as _withCtx, openBlock as _openBlock, createBlock as _createBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"bt-icon text-primary\" }\nconst _hoisted_2 = { class: \"dialog-confirm__title\" }\nconst _hoisted_3 = { class: \"dialog-confirm__message\" }\nconst _hoisted_4 = /*#__PURE__*/_createVNode(\"hr\", null, null, -1)\nconst _hoisted_5 = { class: \"dialog-confirm__footer\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_InlineSvgScoped = _resolveComponent(\"InlineSvgScoped\")\n const _component_Button = _resolveComponent(\"Button\")\n const _component_Dialog = _resolveComponent(\"Dialog\")\n\n return (_openBlock(), _createBlock(_component_Dialog, {\n visible: _ctx.isDialogVisible,\n \"onUpdate:visible\": _cache[1] || (_cache[1] = ($event: any) => (_ctx.isDialogVisible = $event)),\n onHide: _ctx.doHideDialog,\n modal: true,\n showHeader: false,\n closable: false,\n class: \"dialog-confirm\"\n }, {\n default: _withCtx(() => [\n _createVNode(\"span\", _hoisted_1, [\n _createVNode(_component_InlineSvgScoped, {\n src: \n require(`@/assets/images/icons/icon-alert-medium-outline.svg`)\n ,\n \"aria-label\": \"icon-alert-medium-outline\"\n }, null, 8, [\"src\"])\n ]),\n _createVNode(\"h5\", _hoisted_2, _toDisplayString(_ctx.$t(\"plantDetail.newUpdates\")), 1),\n _createVNode(\"p\", _hoisted_3, _toDisplayString(_ctx.$t(\"plantDetail.willRefreshToReflectChanges\")), 1),\n _hoisted_4,\n _createVNode(\"div\", _hoisted_5, [\n _createVNode(_component_Button, {\n class: \"p-button-rounded p-button--m\",\n onClick: _ctx.handleHideDialog\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t(\"AppResource.Ok\")), 1)\n ]),\n _: 1\n }, 8, [\"onClick\"])\n ])\n ]),\n _: 1\n }, 8, [\"visible\", \"onHide\"]))\n}","import { Vue, Options } from 'vue-class-component';\n\n@Options({\n name: 'ConfirmPlantUpdated',\n props: {\n isVisible: {\n type: Boolean,\n required: true,\n },\n },\n watch: {\n isVisible: function (newValue) {\n this.isDialogVisible = newValue;\n },\n },\n emits: ['hide-dialog'],\n})\nexport default class ConfirmPlantUpdated extends Vue {\n isVisible!: boolean;\n isDialogVisible = false;\n\n mounted() {\n this.isDialogVisible = this.isVisible;\n }\n\n handleHideDialog() {\n this.isDialogVisible = false;\n }\n\n doHideDialog() {\n this.$emit('hide-dialog');\n }\n}\n","import { render } from \"./ConfirmPlantUpdated.vue?vue&type=template&id=94c1768c&ts=true\"\nimport script from \"./ConfirmPlantUpdated.ts?vue&type=script&lang=ts\"\nexport * from \"./ConfirmPlantUpdated.ts?vue&type=script&lang=ts\"\n\nimport exportComponent from \"/home/vsts/work/1/s/Frontend/node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { resolveComponent as _resolveComponent, createVNode as _createVNode, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, withCtx as _withCtx, openBlock as _openBlock, createBlock as _createBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"bt-icon text-primary\" }\nconst _hoisted_2 = { class: \"dialog-confirm__title\" }\nconst _hoisted_3 = { class: \"dialog-confirm__message\" }\nconst _hoisted_4 = /*#__PURE__*/_createVNode(\"hr\", null, null, -1)\nconst _hoisted_5 = { class: \"dialog-confirm__footer\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_InlineSvgScoped = _resolveComponent(\"InlineSvgScoped\")\n const _component_Button = _resolveComponent(\"Button\")\n const _component_Dialog = _resolveComponent(\"Dialog\")\n\n return (_openBlock(), _createBlock(_component_Dialog, {\n visible: _ctx.isDialogVisible,\n \"onUpdate:visible\": _cache[1] || (_cache[1] = ($event: any) => (_ctx.isDialogVisible = $event)),\n onHide: _ctx.doHideDialog,\n modal: true,\n showHeader: false,\n closable: false,\n class: \"dialog-confirm\"\n }, {\n default: _withCtx(() => [\n _createVNode(\"span\", _hoisted_1, [\n _createVNode(_component_InlineSvgScoped, {\n src: \n require(`@/assets/images/icons/icon-alert-medium-outline.svg`)\n ,\n \"aria-label\": \"icon-alert-medium-outline\"\n }, null, 8, [\"src\"])\n ]),\n _createVNode(\"h5\", _hoisted_2, _toDisplayString(_ctx.$t(\"AppResource.AreYouSureToRemoveUser\")), 1),\n _createVNode(\"p\", _hoisted_3, _toDisplayString(_ctx.$t(\"AppResource.AreYouSureToRemoveUserDescription\")), 1),\n _hoisted_4,\n _createVNode(\"div\", _hoisted_5, [\n _createVNode(_component_Button, {\n class: \"p-button-text p-button-secondary text-uppercase mr-2\",\n onClick: _ctx.handleHideDialog\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t(\"AppResource.No\")), 1)\n ]),\n _: 1\n }, 8, [\"onClick\"]),\n _createVNode(_component_Button, {\n class: \"p-button-rounded p-button--m\",\n onClick: _ctx.doConfirm\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t(\"AppResource.Yes\")), 1)\n ]),\n _: 1\n }, 8, [\"onClick\"])\n ])\n ]),\n _: 1\n }, 8, [\"visible\", \"onHide\"]))\n}","import { Vue, Options } from 'vue-class-component';\n\n@Options({\n name: 'ConfirmDeleteUser',\n props: {\n isVisible: {\n type: Boolean,\n required: true,\n },\n },\n watch: {\n isVisible: function (newValue) {\n this.isDialogVisible = newValue;\n },\n },\n emits: ['hide-dialog', 'confirm'],\n})\nexport default class ConfirmDeleteUser extends Vue {\n isVisible!: boolean;\n isDialogVisible = false;\n\n mounted() {\n this.isDialogVisible = this.isVisible;\n }\n\n handleHideDialog() {\n this.isDialogVisible = false;\n }\n\n doHideDialog() {\n this.$emit('hide-dialog');\n }\n\n doConfirm() {\n this.$emit('confirm');\n this.handleHideDialog();\n }\n}\n","import { render } from \"./ConfirmDeleteUser.vue?vue&type=template&id=bddcd266&ts=true\"\nimport script from \"./ConfirmDeleteUser.ts?vue&type=script&lang=ts\"\nexport * from \"./ConfirmDeleteUser.ts?vue&type=script&lang=ts\"\n\nimport exportComponent from \"/home/vsts/work/1/s/Frontend/node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","module.exports = __webpack_public_path__ + \"img/icon-resident.fa4efdcd.svg\";","module.exports = __webpack_public_path__ + \"img/icon-badge.0c90095c.svg\";","import { resolveComponent as _resolveComponent, createVNode as _createVNode, toDisplayString as _toDisplayString, withModifiers as _withModifiers, createTextVNode as _createTextVNode, withCtx as _withCtx, openBlock as _openBlock, createBlock as _createBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"bt-icon text-primary\" }\nconst _hoisted_2 = { class: \"dialog-confirm__title\" }\nconst _hoisted_3 = { class: \"dialog-confirm__message\" }\nconst _hoisted_4 = { class: \"p-field\" }\nconst _hoisted_5 = /*#__PURE__*/_createVNode(\"hr\", null, null, -1)\nconst _hoisted_6 = { class: \"dialog-confirm__footer\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_InlineSvgScoped = _resolveComponent(\"InlineSvgScoped\")\n const _component_InputText = _resolveComponent(\"InputText\")\n const _component_Button = _resolveComponent(\"Button\")\n const _component_Dialog = _resolveComponent(\"Dialog\")\n\n return (_openBlock(), _createBlock(_component_Dialog, {\n visible: _ctx.isDialogVisible,\n \"onUpdate:visible\": _cache[3] || (_cache[3] = ($event: any) => (_ctx.isDialogVisible = $event)),\n onHide: _ctx.doHideDialog,\n modal: true,\n showHeader: false,\n closable: false,\n class: \"dialog-confirm\"\n }, {\n default: _withCtx(() => [\n _createVNode(\"span\", _hoisted_1, [\n _createVNode(_component_InlineSvgScoped, {\n src: \n require(`@/assets/images/icons/icon-alert-medium-outline.svg`)\n ,\n \"aria-label\": \"icon-alert-medium-outline\"\n }, null, 8, [\"src\"])\n ]),\n _createVNode(\"h5\", _hoisted_2, _toDisplayString(_ctx.$t(\"AppResource.TransferOwnership\")), 1),\n _createVNode(\"p\", _hoisted_3, _toDisplayString(_ctx.$t(\"AppResource.TransferOwnershipPasswordRequest\", {\n plantName: _ctx.plantName,\n })), 1),\n _createVNode(\"form\", {\n class: \"w-100 mb-4\",\n onSubmit: _cache[2] || (_cache[2] = _withModifiers(() => {}, [\"prevent\"]))\n }, [\n _createVNode(\"div\", _hoisted_4, [\n _createVNode(_component_InputText, {\n type: \"password\",\n class: \"w-100\",\n modelValue: _ctx.password,\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = ($event: any) => (_ctx.password = $event))\n }, null, 8, [\"modelValue\"])\n ])\n ], 32),\n _hoisted_5,\n _createVNode(\"div\", _hoisted_6, [\n _createVNode(_component_Button, {\n class: \"p-button-text p-button-secondary text-uppercase mr-2\",\n onClick: _ctx.handleHideDialog\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t(\"AppResource.Cancel\")), 1)\n ]),\n _: 1\n }, 8, [\"onClick\"]),\n _createVNode(_component_Button, {\n class: \"p-button-rounded p-button--m\",\n onClick: _ctx.doConfirm,\n disabled: _ctx.isConfirmDisabled\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t(\"AppResource.Confirm\")), 1)\n ]),\n _: 1\n }, 8, [\"onClick\", \"disabled\"])\n ])\n ]),\n _: 1\n }, 8, [\"visible\", \"onHide\"]))\n}","import { Vue, Options } from 'vue-class-component';\n\n@Options({\n name: 'DialogConfirmTransferOwnership',\n props: {\n isVisible: {\n type: Boolean,\n required: true,\n },\n plantName: {\n type: String,\n required: true,\n },\n },\n watch: {\n isVisible: function (newValue) {\n this.isDialogVisible = newValue;\n },\n },\n emits: ['hide-dialog', 'confirm'],\n})\nexport default class DialogConfirmTransferOwnership extends Vue {\n isVisible!: boolean;\n isDialogVisible = false;\n password = '';\n\n get isConfirmDisabled() {\n return !this.password;\n }\n\n mounted() {\n this.isDialogVisible = this.isVisible;\n }\n\n handleHideDialog() {\n this.isDialogVisible = false;\n\n this.$nextTick(() => {\n this.password = '';\n });\n }\n\n doHideDialog() {\n this.$emit('hide-dialog');\n }\n\n doConfirm() {\n this.$emit('confirm', this.password);\n this.handleHideDialog();\n }\n}\n","import { render } from \"./DialogConfirmTransferOwnership.vue?vue&type=template&id=486a7d3d&ts=true\"\nimport script from \"./DialogConfirmTransferOwnership.ts?vue&type=script&lang=ts\"\nexport * from \"./DialogConfirmTransferOwnership.ts?vue&type=script&lang=ts\"\n\nimport exportComponent from \"/home/vsts/work/1/s/Frontend/node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","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/cli-service/node_modules/vue-loader-v16/dist/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!./MenuEPSharing.scss?vue&type=style&index=0&lang=scss\"","module.exports = __webpack_public_path__ + \"img/icon-switchboard.8b491d14.svg\";","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/cli-service/node_modules/vue-loader-v16/dist/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!./EntrancePlantDetail.scss?vue&type=style&index=0&lang=scss\"","module.exports = __webpack_public_path__ + \"img/icon-guest.8344f74b.svg\";","import { resolveComponent as _resolveComponent, createVNode as _createVNode, withCtx as _withCtx, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createBlock as _createBlock, resolveDynamicComponent as _resolveDynamicComponent, createCommentVNode as _createCommentVNode } from \"vue\"\n\nconst _hoisted_1 = { class: \"apartment__head-menu\" }\nconst _hoisted_2 = { class: \"bt-icon bt-icon--sm mr-3 text-gray\" }\nconst _hoisted_3 = { class: \"btn-stripped d-flex align-items-center\" }\nconst _hoisted_4 = { class: \"bt-icon bt-icon--sm mr-3 text-gray\" }\nconst _hoisted_5 = { class: \"btn-stripped text-danger\" }\nconst _hoisted_6 = { class: \"fs-18 text-gray mr-2\" }\nconst _hoisted_7 = { class: \"list-bubbles\" }\nconst _hoisted_8 = { class: \"bt-icon bt-icon--sm\" }\nconst _hoisted_9 = { class: \"apartment__tags\" }\nconst _hoisted_10 = {\n key: 1,\n class: \"apartment__footer\"\n}\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_MenuEPSharing = _resolveComponent(\"MenuEPSharing\")\n const _component_InlineSvgScoped = _resolveComponent(\"InlineSvgScoped\")\n const _component_Button = _resolveComponent(\"Button\")\n const _component_ElDropdownItem = _resolveComponent(\"ElDropdownItem\")\n const _component_ElDropdownMenu = _resolveComponent(\"ElDropdownMenu\")\n const _component_ElDropdown = _resolveComponent(\"ElDropdown\")\n const _component_ElPopover = _resolveComponent(\"ElPopover\")\n const _component_router_view = _resolveComponent(\"router-view\")\n const _component_DialogPlantCreate = _resolveComponent(\"DialogPlantCreate\")\n const _component_DialogConfirmDeletePlant = _resolveComponent(\"DialogConfirmDeletePlant\")\n const _component_ConfirmPlantUpdated = _resolveComponent(\"ConfirmPlantUpdated\")\n const _component_DialogPlantDuplicate = _resolveComponent(\"DialogPlantDuplicate\")\n\n return (_openBlock(), _createBlock(_Fragment, null, [\n _createVNode(\"article\", {\n class: [\"apartment\", { 'has--footer': !_ctx.hideFooter }]\n }, [\n (_ctx.currentEntrancePlant)\n ? (_openBlock(), _createBlock(_component_router_view, { key: 0 }, {\n default: _withCtx(({ Component }) => [\n (_openBlock(), _createBlock(_resolveDynamicComponent(Component), { onUpdateList: _ctx.fetchPlant }, {\n \"head-menu\": _withCtx(() => [\n _createVNode(\"nav\", _hoisted_1, [\n _createVNode(_component_MenuEPSharing, {\n usersPermissions: _ctx.usersPermissions,\n onAddInvitedUser: _ctx.handleInvitedUser,\n onRemoveSharingUser: _ctx.handleRemoveSharingUser\n }, null, 8, [\"usersPermissions\", \"onAddInvitedUser\", \"onRemoveSharingUser\"]),\n _createVNode(_component_Button, {\n class: \"p-button-text p-button-secondary p-1\",\n onClick: _ctx.togglePlantFromFavorites\n }, {\n default: _withCtx(() => [\n _createVNode(_component_InlineSvgScoped, {\n src: _ctx.favouriteIcon,\n \"aria-label\": \"icon-favorite-outline\"\n }, null, 8, [\"src\"])\n ]),\n _: 1\n }, 8, [\"onClick\"]),\n _createVNode(_component_ElDropdown, {\n trigger: \"click\",\n placement: \"bottom-end\",\n \"popper-class\": \"el-dropdown__popper el-dropdown--context\"\n }, {\n dropdown: _withCtx(() => [\n _createVNode(_component_ElDropdownMenu, { style: {\"width\":\"300px\"} }, {\n default: _withCtx(() => [\n _createVNode(_component_ElDropdownItem, null, {\n default: _withCtx(() => [\n _createVNode(\"button\", {\n class: \"btn-stripped d-flex align-items-center\",\n onClick: _cache[1] || (_cache[1] = \n//@ts-ignore\n(...args) => (_ctx.handleDuplicatePlant && _ctx.handleDuplicatePlant(...args)))\n }, [\n _createVNode(\"span\", _hoisted_2, [\n _createVNode(_component_InlineSvgScoped, {\n src: \n require('@/assets/images/icons/icon-duplication.svg')\n ,\n \"aria-label\": \"icon-duplication\"\n }, null, 8, [\"src\"])\n ]),\n _createVNode(\"span\", null, _toDisplayString(_ctx.$t(\"AppResource.Duplicate\")), 1)\n ])\n ]),\n _: 1\n }),\n _createVNode(_component_ElDropdownItem, {\n onClick: _ctx.toggleEditDialog,\n disabled: !_ctx.plantEditEnabled\n }, {\n default: _withCtx(() => [\n _createVNode(\"button\", _hoisted_3, [\n _createVNode(\"span\", _hoisted_4, [\n _createVNode(_component_InlineSvgScoped, {\n src: \n require('@/assets/images/icons/icon-edit.svg')\n ,\n \"aria-label\": \"icon-edit\"\n }, null, 8, [\"src\"])\n ]),\n _createVNode(\"span\", null, _toDisplayString(_ctx.$t(\"AppResource.Edit\")), 1)\n ])\n ]),\n _: 1\n }, 8, [\"onClick\", \"disabled\"]),\n _createVNode(_component_ElDropdownItem, {\n disabled: !_ctx.plantDeleteEnabled,\n onClick: _ctx.toggleDeletePlantConfirm\n }, {\n default: _withCtx(() => [\n _createVNode(\"button\", _hoisted_5, _toDisplayString(_ctx.$t(\"AppResource.Delete\")), 1)\n ]),\n _: 1\n }, 8, [\"disabled\", \"onClick\"])\n ]),\n _: 1\n })\n ]),\n default: _withCtx(() => [\n _createVNode(_component_Button, { class: \"p-button-text p-button-secondary p-1\" }, {\n default: _withCtx(() => [\n _createVNode(_component_InlineSvgScoped, {\n src: \n require('@/assets/images/icons/icon-ellipsis-v.svg')\n ,\n \"aria-label\": \"icon-ellipsis-v\"\n }, null, 8, [\"src\"])\n ]),\n _: 1\n })\n ]),\n _: 1\n })\n ])\n ]),\n \"update-time-meta\": _withCtx(() => [\n _createVNode(\"time\", _hoisted_6, _toDisplayString(_ctx.$t(\"general.modified\")) + \": \" + _toDisplayString(_ctx.getParsedDate(_ctx.currentEntrancePlant?.lastModify)), 1),\n _createVNode(\"span\", _hoisted_7, [\n _createVNode(_component_ElPopover, {\n placement: \"top\",\n trigger: \"hover\",\n title: _ctx.username,\n \"popper-class\": \"el-popover--dark el-popover--slim\"\n }, {\n reference: _withCtx(() => [\n _createVNode(_component_Button, {\n disabled: \"\",\n class: \"p-button-rounded p-button-sm p-button-secondary\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.userInitials), 1)\n ]),\n _: 1\n })\n ]),\n _: 1\n }, 8, [\"title\"]),\n _createVNode(_component_ElPopover, {\n placement: \"top\",\n trigger: \"hover\",\n title: _ctx.iconDeviceLabel,\n \"popper-class\": \"el-popover--dark el-popover--slim\"\n }, {\n reference: _withCtx(() => [\n _createVNode(_component_Button, {\n disabled: \"\",\n class: \"p-button-rounded p-button-icon-only p-button-sm p-button-secondary\"\n }, {\n default: _withCtx(() => [\n _createVNode(\"span\", _hoisted_8, [\n _createVNode(_component_InlineSvgScoped, {\n src: \n require(`@/assets/images/icons/${_ctx.iconDevice}.svg`)\n ,\n \"aria-label\": _ctx.iconDevice\n }, null, 8, [\"src\", \"aria-label\"])\n ])\n ]),\n _: 1\n })\n ]),\n _: 1\n }, 8, [\"title\"])\n ]),\n _createVNode(\"ul\", _hoisted_9, [\n (_openBlock(true), _createBlock(_Fragment, null, _renderList(_ctx.currentEntrancePlant.tags, (tag, index) => {\n return (_openBlock(), _createBlock(\"li\", { key: index }, _toDisplayString(tag.value), 1))\n }), 128))\n ])\n ]),\n _: 2\n }, 1032, [\"onUpdateList\"]))\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true),\n (!_ctx.hideFooter)\n ? (_openBlock(), _createBlock(\"footer\", _hoisted_10, [\n _createVNode(_component_Button, {\n class: \"p-button-rounded p-button-raised p-button--m\",\n onClick: _cache[2] || (_cache[2] = ($event: any) => (_ctx.onSaveAndExitClick()))\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t(\"AppResource.Exit\")), 1)\n ]),\n _: 1\n })\n ]))\n : _createCommentVNode(\"\", true)\n ], 2),\n _createVNode(_component_DialogPlantCreate, {\n editPlantId: _ctx.selectedPlantId,\n editPlantType: _ctx.PlantType.ENTRANCE_PLANT,\n onPlantEdited: _ctx.fetchPlant,\n onHideDialog: _ctx.toggleEditDialog,\n \"is-visible\": _ctx.isVisibleEditDialog\n }, null, 8, [\"editPlantId\", \"editPlantType\", \"onPlantEdited\", \"onHideDialog\", \"is-visible\"]),\n _createVNode(_component_DialogConfirmDeletePlant, {\n \"plant-name\": _ctx.plantName,\n onConfirm: _ctx.handleDeletePlant,\n onHideDialog: _ctx.toggleDeletePlantConfirm,\n \"is-visible\": _ctx.isVisibleDeletePlantConfirm\n }, null, 8, [\"plant-name\", \"onConfirm\", \"onHideDialog\", \"is-visible\"]),\n _createVNode(_component_ConfirmPlantUpdated, {\n onHideDialog: _ctx.hideConfirmPlantUpdated,\n \"is-visible\": _ctx.isVisibleConfirmPlantUpdated\n }, null, 8, [\"onHideDialog\", \"is-visible\"]),\n (!!_ctx.currentEntrancePlant)\n ? (_openBlock(), _createBlock(_component_DialogPlantDuplicate, {\n key: 0,\n plant: _ctx.currentEntrancePlant,\n onFetchPlants: _ctx.handlePlantDuplicated,\n \"is-visible\": _ctx.isPlantDuplicateDialogVisible,\n onHideDialog: _ctx.handleHidePlantDuplicateDialog\n }, null, 8, [\"plant\", \"onFetchPlants\", \"is-visible\", \"onHideDialog\"]))\n : _createCommentVNode(\"\", true)\n ], 64))\n}","import { toDisplayString as _toDisplayString, createVNode as _createVNode, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createBlock as _createBlock, createTextVNode as _createTextVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, withModifiers as _withModifiers, createCommentVNode as _createCommentVNode } from \"vue\"\n\nconst _hoisted_1 = { class: \"list-bubbles mr-4\" }\nconst _hoisted_2 = { class: \"list-bubbles__label fs-14 text-gray\" }\nconst _hoisted_3 = { class: \"bt-icon\" }\nconst _hoisted_4 = { class: \"p-4 mb-3\" }\nconst _hoisted_5 = { class: \"fs-20 text-dark\" }\nconst _hoisted_6 = { class: \"p-field\" }\nconst _hoisted_7 = {\n class: \"p-field-label\",\n for: \"person-name\"\n}\nconst _hoisted_8 = { class: \"p-field p-field-with-button\" }\nconst _hoisted_9 = {\n class: \"p-field-label\",\n for: \"person-name\"\n}\nconst _hoisted_10 = { class: \"bt-icon bt-icon--xs\" }\nconst _hoisted_11 = { class: \"ml-2\" }\nconst _hoisted_12 = { class: \"form-custom mt-5\" }\nconst _hoisted_13 = {\n class: \"p-field-label\",\n for: \"person-name\"\n}\nconst _hoisted_14 = { class: \"list-users-collab mt-3\" }\nconst _hoisted_15 = /*#__PURE__*/_createVNode(\"hr\", { class: \"my-0\" }, null, -1)\nconst _hoisted_16 = { class: \"d-flex justify-content-end p-4 py-3\" }\nconst _hoisted_17 = {\n key: 0,\n class: \"app-loader app-loader--contextual\"\n}\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_Button = _resolveComponent(\"Button\")\n const _component_InlineSvgScoped = _resolveComponent(\"InlineSvgScoped\")\n const _component_Dropdown = _resolveComponent(\"Dropdown\")\n const _component_InputText = _resolveComponent(\"InputText\")\n const _component_UserEPItem = _resolveComponent(\"UserEPItem\")\n const _component_ProgressSpinner = _resolveComponent(\"ProgressSpinner\")\n const _component_ElPopover = _resolveComponent(\"ElPopover\")\n const _component_ConfirmDeleteUser = _resolveComponent(\"ConfirmDeleteUser\")\n const _component_DialogConfirmDelete = _resolveComponent(\"DialogConfirmDelete\")\n\n return (_openBlock(), _createBlock(_Fragment, null, [\n _createVNode(\"div\", _hoisted_1, [\n _createVNode(\"span\", _hoisted_2, _toDisplayString(_ctx.$t(\"AppResource.PlantSharing\")), 1),\n (_openBlock(true), _createBlock(_Fragment, null, _renderList(_ctx.usersPermissions, (user, userIndex) => {\n return (_openBlock(), _createBlock(_component_Button, {\n key: `user-${userIndex}`,\n class: \"p-button-secondary p-button-rounded p-button-sm no-click\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.getUserInitials(user)), 1)\n ]),\n _: 2\n }, 1024))\n }), 128)),\n _createVNode(_component_ElPopover, {\n visible: _ctx.isPopperVisible,\n \"onUpdate:visible\": _cache[4] || (_cache[4] = ($event: any) => (_ctx.isPopperVisible = $event)),\n trigger: \"manual\",\n placement: \"bottom-end\",\n \"popper-class\": \"el-dropdown__popper el-dropdown--context p-0\",\n width: \"500px\"\n }, {\n reference: _withCtx(() => [\n _createVNode(_component_Button, {\n class: \"p-button-rounded p-button-icon-only p-button-text\",\n onClick: _ctx.togglePopper\n }, {\n default: _withCtx(() => [\n _createVNode(\"span\", _hoisted_3, [\n _createVNode(_component_InlineSvgScoped, {\n src: \n require('@/assets/images/icons/icon-plus-outline.svg')\n ,\n \"aria-label\": \"icon-plus-outline\"\n }, null, 8, [\"src\"])\n ])\n ]),\n _: 1\n }, 8, [\"onClick\"])\n ]),\n default: _withCtx(() => [\n _createVNode(\"div\", _hoisted_4, [\n _createVNode(\"h4\", _hoisted_5, _toDisplayString(_ctx.$t(\"AppResource.PlantSharing\")), 1),\n _createVNode(\"form\", {\n class: \"form-custom mt-5\",\n onSubmit: _cache[3] || (_cache[3] = _withModifiers(\n//@ts-ignore\n(...args) => (_ctx.invitePerson && _ctx.invitePerson(...args)), [\"prevent\"]))\n }, [\n _createVNode(\"div\", _hoisted_6, [\n _createVNode(\"label\", _hoisted_7, _toDisplayString(_ctx.$t(\"AppResourceEP.Role\")), 1),\n _createVNode(_component_Dropdown, {\n class: \"w-100 role_selector\",\n modelValue: _ctx.newUserToShare.role,\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = ($event: any) => (_ctx.newUserToShare.role = $event)),\n options: _ctx.roleOptions,\n optionLabel: \"roleName\",\n optionValue: \"value\"\n }, null, 8, [\"modelValue\", \"options\"])\n ]),\n _createVNode(\"div\", _hoisted_8, [\n _createVNode(\"label\", _hoisted_9, _toDisplayString(_ctx.$t(\"AppResource.InviteNewUser\")), 1),\n _createVNode(_component_InputText, {\n id: \"person-name\",\n type: \"email\",\n required: \"true\",\n class: \"w-100\",\n placeholder: \n _ctx.$t('AppResource.InviteUserDescription')\n ,\n modelValue: _ctx.newUserToShare.email,\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = ($event: any) => (_ctx.newUserToShare.email = $event))\n }, null, 8, [\"placeholder\", \"modelValue\"]),\n _createVNode(_component_Button, {\n class: \"p-button-outlined p-button-rounded p-button-field\",\n type: \"submit\",\n disabled: _ctx.newUserToShare.email === ''\n }, {\n default: _withCtx(() => [\n _createVNode(\"span\", _hoisted_10, [\n _createVNode(_component_InlineSvgScoped, {\n src: \n require('@/assets/images/icons/icon-add-circle-outline.svg')\n ,\n \"aria-label\": \"icon-add-circle-outline\"\n }, null, 8, [\"src\"])\n ]),\n _createVNode(\"span\", _hoisted_11, _toDisplayString(_ctx.$t(\"AppResource.Invite\")), 1)\n ]),\n _: 1\n }, 8, [\"disabled\"])\n ])\n ], 32),\n _createVNode(\"div\", _hoisted_12, [\n _createVNode(\"label\", _hoisted_13, _toDisplayString(_ctx.$t(\"AppResource.UsersUpper\")), 1),\n _createVNode(\"ul\", _hoisted_14, [\n (_openBlock(true), _createBlock(_Fragment, null, _renderList(_ctx.usersPermissions, (user, userIndex) => {\n return (_openBlock(), _createBlock(_component_UserEPItem, {\n user: user,\n key: `user-item-${userIndex}`,\n isMeBuildingAdmin: _ctx.isMeBuildingAdmin,\n totBuildingAdmins: _ctx.totBuildingAdmins,\n totDeviceManagers: _ctx.totDeviceManagers,\n onDeleteUser: _ctx.handleDeleteUser,\n onRevokeBuildingAdmin: _ctx.handleRevokeRole\n }, null, 8, [\"user\", \"isMeBuildingAdmin\", \"totBuildingAdmins\", \"totDeviceManagers\", \"onDeleteUser\", \"onRevokeBuildingAdmin\"]))\n }), 128))\n ])\n ])\n ]),\n _hoisted_15,\n _createVNode(\"div\", _hoisted_16, [\n _createVNode(_component_Button, {\n class: \"p-button-rounded p-button-raised p-button--m\",\n onClick: _ctx.togglePopper\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t(\"AppResource.DoneUpper\")), 1)\n ]),\n _: 1\n }, 8, [\"onClick\"])\n ]),\n (_ctx.isLoading)\n ? (_openBlock(), _createBlock(\"div\", _hoisted_17, [\n _createVNode(_component_ProgressSpinner)\n ]))\n : _createCommentVNode(\"\", true)\n ]),\n _: 1\n }, 8, [\"visible\"])\n ]),\n _createVNode(_component_ConfirmDeleteUser, {\n \"is-visible\": _ctx.isConfirmDeleteUserVisible,\n onHideDialog: _ctx.toggleConfirmDeleteUser,\n onConfirm: _ctx.deleteUser\n }, null, 8, [\"is-visible\", \"onHideDialog\", \"onConfirm\"]),\n _createVNode(_component_DialogConfirmDelete, {\n \"is-visible\": _ctx.isConfirmRevokeRoleVisible,\n title: _ctx.$t('entrancePlant.revokeRoleTitle'),\n message: _ctx.$t('entrancePlant.revokeRoleMessage'),\n onHideDialog: _ctx.toggleConfirmRevokeRole,\n onConfirm: _ctx.revokeRole\n }, null, 8, [\"is-visible\", \"title\", \"message\", \"onHideDialog\", \"onConfirm\"])\n ], 64))\n}","import { toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode, withModifiers as _withModifiers, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode } from \"vue\"\n\nconst _hoisted_1 = { class: \"d-flex align-items-center\" }\nconst _hoisted_2 = { class: \"list-bubbles mr-2\" }\nconst _hoisted_3 = { class: \"d-flex flex-column justify-content-between mr-auto\" }\nconst _hoisted_4 = { class: \"fs-14 text-dark\" }\nconst _hoisted_5 = /*#__PURE__*/_createVNode(\"span\", { class: \"fs-14 pr-2\" }, null, -1)\nconst _hoisted_6 = { class: \"btn-stripped d-flex align-items-center\" }\nconst _hoisted_7 = { class: \"btn-stripped d-flex align-items-center text-danger\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_Button = _resolveComponent(\"Button\")\n const _component_InlineSvgScoped = _resolveComponent(\"InlineSvgScoped\")\n const _component_ElDropdownItem = _resolveComponent(\"ElDropdownItem\")\n const _component_ElDropdownMenu = _resolveComponent(\"ElDropdownMenu\")\n const _component_ElDropdown = _resolveComponent(\"ElDropdown\")\n\n return (_openBlock(), _createBlock(\"li\", _hoisted_1, [\n _createVNode(\"span\", _hoisted_2, [\n _createVNode(_component_Button, {\n class: \"p-button-rounded p-button-sm p-button-secondary no-click\",\n style: {\"--size-bubble\":\"40px\"}\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.userInitials), 1)\n ]),\n _: 1\n })\n ]),\n _createVNode(\"div\", _hoisted_3, [\n _createVNode(\"span\", _hoisted_4, _toDisplayString(_ctx.user.email), 1),\n _createTextVNode(\" \" + _toDisplayString(_ctx.userRolesLabel), 1)\n ]),\n _hoisted_5,\n (_ctx.showRemove || _ctx.showRevokeBuildingAdmin)\n ? (_openBlock(), _createBlock(_component_ElDropdown, {\n key: 0,\n trigger: \"hover\",\n placement: \"bottom-end\",\n \"popper-class\": \"el-dropdown__popper el-dropdown--context\"\n }, {\n dropdown: _withCtx(() => [\n _createVNode(_component_ElDropdownMenu, { style: {\"width\":\"240px\"} }, {\n default: _withCtx(() => [\n (_ctx.showRevokeBuildingAdmin)\n ? (_openBlock(), _createBlock(_component_ElDropdownItem, {\n key: 0,\n onClick: _withModifiers(_ctx.handleRevokeBuildingAdmin, [\"prevent\",\"stop\"])\n }, {\n default: _withCtx(() => [\n _createVNode(\"button\", _hoisted_6, _toDisplayString(_ctx.$t(\"AppResourceEP.RevokeBuildingAdmin\")), 1)\n ]),\n _: 1\n }, 8, [\"onClick\"]))\n : _createCommentVNode(\"\", true),\n (_ctx.showRemove)\n ? (_openBlock(), _createBlock(_component_ElDropdownItem, {\n key: 1,\n onClick: _withModifiers(_ctx.handleDeleteSharingUser, [\"prevent\",\"stop\"])\n }, {\n default: _withCtx(() => [\n _createVNode(\"button\", _hoisted_7, _toDisplayString(_ctx.$t(\"AppResource.Remove\")), 1)\n ]),\n _: 1\n }, 8, [\"onClick\"]))\n : _createCommentVNode(\"\", true)\n ]),\n _: 1\n })\n ]),\n default: _withCtx(() => [\n _createVNode(_component_Button, { class: \"p-button-text p-button-icon p-button-sm text-gray\" }, {\n default: _withCtx(() => [\n _createVNode(_component_InlineSvgScoped, {\n src: require('@/assets/images/icons/icon-ellipsis-v.svg'),\n \"aria-label\": \"icon-ellipsis\"\n }, null, 8, [\"src\"])\n ]),\n _: 1\n })\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true)\n ]))\n}","import { Vue, Options } from 'vue-class-component';\nimport { PropType } from 'vue';\nimport {\n EntrancePlantProRoles,\n EpUserRole,\n} from '@/../client-generator/generated-clients/plants';\nimport { getUserInitialsForBubble } from '@/core/utils/utils';\nimport { mapState } from 'vuex';\nimport { AccountInfo } from '@azure/msal-browser';\n\n@Options({\n name: 'UserEPItem',\n props: {\n user: {\n required: true,\n type: Object as PropType,\n },\n isMeBuildingAdmin: {\n type: Boolean,\n },\n totBuildingAdmins: {\n type: Number,\n },\n totDeviceManagers: {\n type: Number,\n },\n },\n emits: ['delete-user', 'revoke-building-admin'],\n computed: {\n ...mapState(['account']),\n },\n})\nexport default class UserEPItem extends Vue {\n user!: EpUserRole;\n isMeBuildingAdmin!: boolean;\n totBuildingAdmins!: number;\n totDeviceManagers!: number;\n account!: AccountInfo;\n\n get userInitials() {\n return getUserInitialsForBubble(this.user);\n }\n\n get userRolesLabel() {\n const roles: string[] = [];\n const rolesLabel = [\n this.$t('AppResourceEP.DeviceManagerRole'),\n this.$t('AppResourceEP.BuildingAdminRole'),\n ];\n this.user.roles?.forEach((role) => {\n roles.push(rolesLabel[role]);\n });\n return roles.toLocaleString().replace(',', ', ');\n }\n\n get showRevokeBuildingAdmin() {\n return (\n this.user.roles!.length > 1 &&\n this.totBuildingAdmins > 1 &&\n this.isMeBuildingAdmin\n );\n }\n\n get showRemove() {\n let remainingBuildAdmins = this.totBuildingAdmins;\n let remainingDeviceManagers = this.totDeviceManagers;\n if (this.user.roles?.includes(EntrancePlantProRoles.BuildingManager))\n remainingBuildAdmins = this.totBuildingAdmins - 1;\n if (this.user.roles?.includes(EntrancePlantProRoles.DeviceManager))\n remainingDeviceManagers = this.totDeviceManagers - 1;\n\n return remainingBuildAdmins > 0 && remainingDeviceManagers > 0;\n }\n\n handleDeleteSharingUser() {\n this.$emit('delete-user', this.user);\n }\n\n handleRevokeBuildingAdmin() {\n this.$emit('revoke-building-admin', this.user);\n }\n}\n","import { render } from \"./UserEPItem.vue?vue&type=template&id=36bc332d&ts=true\"\nimport script from \"./UserEPItem.ts?vue&type=script&lang=ts\"\nexport * from \"./UserEPItem.ts?vue&type=script&lang=ts\"\n\nimport exportComponent from \"/home/vsts/work/1/s/Frontend/node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { PropType } from 'vue';\nimport { mapState } from 'vuex';\nimport { AccountInfo } from '@azure/msal-browser';\nimport plantsClient from '@/core/services/plants';\nimport { Vue, Options } from 'vue-class-component';\nimport {\n EntrancePlantDetailDTO,\n EntrancePlantProRoles,\n EpUserRole,\n PlantSharingDTO,\n} from '@/../client-generator/generated-clients/plants';\nimport { getUserInitialsForBubble } from '@/core/utils/utils';\nimport UserEPItem from './UserEPItem/UserEPItem.vue';\nimport ConfirmDeleteUser from '../../PlantDetail/MenuSharing/ConfirmDeleteUser/ConfirmDeleteUser.vue';\nimport i18n from '@/core/translations/i18n';\nimport DialogConfirmDelete from '@/views/components/DialogConfirmDelete/DialogConfirmDelete.vue';\n\n@Options({\n name: 'MenuEPSharing',\n props: {\n usersPermissions: {\n type: Object as PropType,\n required: true,\n },\n },\n components: {\n UserEPItem,\n ConfirmDeleteUser,\n DialogConfirmDelete,\n },\n emits: ['add-invited-user', 'remove-sharing-user'],\n computed: {\n ...mapState(['account', 'currentEntrancePlant', 'currentUserPermissions']),\n },\n})\nexport default class MenuEPSharing extends Vue {\n currentEntrancePlant!: EntrancePlantDetailDTO;\n currentUserPermissions!: EpUserRole;\n usersPermissions!: EpUserRole[];\n getUserInitials = getUserInitialsForBubble;\n\n isLoading = false;\n isPopperVisible = false;\n isConfirmDeleteUserVisible = false;\n isConfirmRevokeRoleVisible = false;\n\n doShow = false;\n newUserToShare: { role: EntrancePlantProRoles; email: string } = {\n role: EntrancePlantProRoles.BuildingManager,\n email: '',\n };\n\n tempUser: EpUserRole | undefined = undefined;\n tempUserId?: string = '';\n account!: AccountInfo;\n\n roleOptions: { roleName: string; value: EntrancePlantProRoles }[] = [\n {\n roleName: i18n.global.t('AppResourceEP.BuildingAdminRole'),\n value: EntrancePlantProRoles.BuildingManager,\n },\n {\n roleName: i18n.global.t('AppResourceEP.DeviceManagerRole'),\n value: EntrancePlantProRoles.DeviceManager,\n },\n ];\n\n get isMeBuildingAdmin() {\n return (\n this.currentUserPermissions?.roles?.includes(\n EntrancePlantProRoles.BuildingManager\n ) ?? false\n );\n }\n\n get totBuildingAdmins() {\n const buildingAdmins = this.usersPermissions.filter((usr) =>\n usr.roles?.includes(EntrancePlantProRoles.BuildingManager)\n );\n return buildingAdmins.length;\n }\n\n get totDeviceManagers() {\n const deviceManagers = this.usersPermissions.filter((usr) =>\n usr.roles?.includes(EntrancePlantProRoles.DeviceManager)\n );\n return deviceManagers.length;\n }\n\n togglePopper() {\n this.isPopperVisible = !this.isPopperVisible;\n }\n\n async invitePerson() {\n this.isLoading = true;\n\n const newProUser = new EpUserRole({\n email: this.newUserToShare.email,\n roles: [this.newUserToShare.role],\n });\n\n try {\n await plantsClient.sharingproPOST(\n this.currentEntrancePlant.desktopId ?? -1,\n newProUser\n );\n\n this.$emit('add-invited-user', this.newUserToShare.email);\n this.newUserToShare.email = '';\n } catch (error) {\n console.log(error);\n this.$toast.add({\n severity: 'error',\n summary: this.$t('general.operationError'),\n closable: true,\n life: 3000,\n });\n } finally {\n this.isLoading = false;\n }\n }\n\n async handleDeleteUser(user: EpUserRole) {\n this.toggleConfirmDeleteUser();\n this.tempUser = user;\n this.tempUserId = this.currentEntrancePlant.sharedWith?.find(\n (usr) => usr.email === user.email\n )?.userId;\n }\n\n handleRevokeRole(user: EpUserRole) {\n this.toggleConfirmRevokeRole();\n this.tempUser = new EpUserRole({\n email: user.email,\n roles: [EntrancePlantProRoles.BuildingManager],\n });\n }\n\n toggleConfirmRevokeRole() {\n this.isConfirmRevokeRoleVisible = !this.isConfirmRevokeRoleVisible;\n this.isPopperVisible = !this.isPopperVisible;\n }\n\n toggleConfirmDeleteUser() {\n this.isConfirmDeleteUserVisible = !this.isConfirmDeleteUserVisible;\n this.isPopperVisible = !this.isPopperVisible;\n }\n\n async revokeRole() {\n this.isLoading = true;\n try {\n await plantsClient.sharingproPUT(\n this.currentEntrancePlant.desktopId ?? -1,\n this.tempUser\n );\n } catch (error) {\n this.$toast.add({\n severity: 'error',\n summary: this.$t('general.operationError'),\n closable: true,\n life: 3000,\n });\n } finally {\n this.isLoading = false;\n this.tempUser = undefined;\n }\n }\n\n async deleteUser() {\n this.isLoading = true;\n\n try {\n await plantsClient.sharingproDELETE(\n this.currentEntrancePlant.desktopId ?? -1,\n this.tempUser\n );\n if (this.tempUserId === this.account.localAccountId) {\n this.$router.push({\n name: 'page-plants-hub',\n });\n } else {\n this.$emit('remove-sharing-user', this.tempUser);\n }\n } catch (error) {\n this.$toast.add({\n severity: 'error',\n summary: this.$t('general.operationError'),\n closable: true,\n life: 3000,\n });\n } finally {\n this.isLoading = false;\n this.tempUser = undefined;\n this.tempUserId = '';\n }\n }\n}\n","import { render } from \"./MenuEPSharing.vue?vue&type=template&id=12b9cbc9&ts=true\"\nimport script from \"./MenuEPSharing.ts?vue&type=script&lang=ts\"\nexport * from \"./MenuEPSharing.ts?vue&type=script&lang=ts\"\n\nimport \"./MenuEPSharing.scss?vue&type=style&index=0&lang=scss\"\n\nimport exportComponent from \"/home/vsts/work/1/s/Frontend/node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import {\n cloneObject,\n getUserInitialsForBubble,\n getPlantLastModifyByIcon,\n getPlantLastModifyByLabel,\n} from '@/core/utils/utils';\nimport {\n SET_APP_LOADING,\n SET_USER_PERMISSIONS,\n SET_CONTEXTUAL_MENU_ITEMS,\n SET_SELECTED_ENTRANCE_PLANT,\n SET_SELECTED_ENTRANCE_PLANT_ID,\n SET_ADMIN_VIEW,\n} from '@/core/store/action-types';\nimport { mapGetters, mapState } from 'vuex';\nimport plantsClient from '@/core/services/plants';\nimport { Vue, Options } from 'vue-class-component';\nimport {\n PlantType,\n EntrancePlantDetailDTO,\n EpUserRole,\n PlantSharingDTO,\n} from '@/../client-generator/generated-clients/plants';\nimport MenuEPSharing from './MenuEPSharing/MenuEPSharing.vue';\nimport MegaMenuItem, { MenuItemRoute } from '@/core/models/menu-items';\nimport { FETCH_PLANT, HANDLE_REFRESH_PLANT } from '@/core/utils/emitter-events';\nimport DialogPlantCreate from '../PlantsHub/DialogPlantCreate/DialogPlantCreate.vue';\nimport ConfirmPlantUpdated from '../PlantDetail/ConfirmPlantUpdated/ConfirmPlantUpdated.vue';\nimport DialogPlantDuplicate from '../PlantsHub/DialogPlantDuplicate/DialogPlantDuplicate.vue';\nimport DialogConfirmDeletePlant from '@/views/components/DialogConfirmDeletePlant/DialogConfirmDeletePlant.vue';\nimport DialogConfirmTransferOwnership from '@/views/components/DialogConfirmTransferOwnership/DialogConfirmTransferOwnership.vue';\nimport { AccountInfo } from '@azure/msal-browser';\n\n@Options({\n name: 'EntrancePlantDetail',\n watch: {\n menuItemsContextualWithActiveClasses(newValue) {\n this.$store.dispatch(SET_CONTEXTUAL_MENU_ITEMS, newValue);\n },\n },\n components: {\n MenuEPSharing,\n DialogPlantCreate,\n ConfirmPlantUpdated,\n DialogPlantDuplicate,\n DialogConfirmDeletePlant,\n DialogConfirmTransferOwnership,\n },\n computed: {\n ...mapState(['currentEntrancePlant', 'account']),\n ...mapGetters('UI', ['plantEditEnabled', 'plantDeleteEnabled']),\n },\n})\nexport default class AppResourceEntrancePlantDetail extends Vue {\n PlantType = PlantType;\n plantEditEnabled!: boolean;\n plantDeleteEnabled!: boolean;\n currentEntrancePlant!: EntrancePlantDetailDTO;\n selectedPlantId: number | null = null;\n isPlantDuplicateDialogVisible = false;\n tempPlant: EntrancePlantDetailDTO | null = null;\n account!: AccountInfo;\n usersPermissions: EpUserRole[] = [];\n\n get menuItemsContextual(): MegaMenuItem[] {\n return [\n {\n label: this.$t('AppResource.Plant'),\n class: 'p-menuitem-main p-menuitem-custom-icon',\n style: `--menuitem-icon-url: url(${require('@/assets/images/icons/icon-general-view.svg')});`,\n to: {\n name: 'page-entranceplant-dashboard',\n },\n },\n {\n label: this.$t('AppResourceEP.AddressBookResidents'),\n class: 'p-menuitem-main p-menuitem-custom-icon',\n style: `--menuitem-icon-url: url(${require('@/assets/images/entrancePlants/icon-resident.svg')});`,\n to: {\n name: 'page-entranceplant-residents',\n },\n },\n {\n label: this.$t('AppResourceEP.Badges'),\n class: 'p-menuitem-main p-menuitem-custom-icon',\n style: `--menuitem-icon-url: url(${require('@/assets/images/entrancePlants/icon-badge.svg')});`,\n to: {\n name: 'page-entranceplant-badges',\n },\n },\n {\n class: 'p-menuitem-main p-menuitem-custom-icon no-label',\n style: `--menuitem-icon-url: url(${require('@/assets/images/icons/icon-add.svg')});`,\n subroutes: ['page-entranceplant-guests', 'page-entranceplant-messages'],\n items: [\n [\n {\n items: [\n {\n label: this.$t('AppResourceEP.Guests'),\n class: 'p-menuitem-custom-icon',\n style: `--menuitem-icon-url: url(${require('@/assets/images/entrancePlants/icon-guest.svg')});`,\n to: {\n name: 'page-entranceplant-guests',\n },\n },\n {\n label: this.$t('AppResourceEP.Messages'),\n class: 'p-menuitem-custom-icon',\n style: `--menuitem-icon-url: url(${require('@/assets/images/entrancePlants/icon-message.svg')});`,\n to: {\n name: 'page-entranceplant-messages',\n },\n },\n ],\n },\n ],\n ],\n },\n {\n label: this.$t('AppResourceEP.Switchboard'),\n class: 'p-menuitem-main p-menuitem-custom-icon',\n style: `--menuitem-icon-url: url(${require('@/assets/images/entrancePlants/icon-switchboard.svg')});`,\n to: {\n name: 'page-entranceplant-switchboards',\n },\n },\n {\n label: this.$t('AppResourceEP.ParametersAndSettings'),\n class: 'p-menuitem-main p-menuitem-custom-icon',\n icon: `${require('@/assets/images/entrancePlants/icon-parameters.svg')}`,\n style: `--menuitem-icon-url: url(${require('@/assets/images/entrancePlants/icon-parameters.svg')});`,\n to: {\n name: 'page-entranceplant-settings',\n },\n },\n ];\n }\n\n isPlantDirty = false;\n isVisibleEditDialog = false;\n isDevicesCardLoading = false;\n isVisibleDeletePlantConfirm = false;\n isVisibleConfirmPlantUpdated = false;\n isVisibleAddRoomObjectDialog = false;\n isVisibleCreateStructureDialog = false;\n isVisibleTransferOwnershipConfirm = false;\n\n isPausedFetchupdate = false;\n intervalFetchUpdate: any | null = null;\n timeoutRenewSession: any | null = null;\n\n get iconDevice() {\n return getPlantLastModifyByIcon(\n this.currentEntrancePlant?.lastModifyByDesktop\n );\n }\n\n get iconDeviceLabel() {\n return getPlantLastModifyByLabel(\n this.currentEntrancePlant?.lastModifyByDesktop\n );\n }\n\n get menuItemsContextualWithActiveClasses(): MegaMenuItem[] {\n return this.menuItemsContextual.map((menuItem) => {\n let additionalClass = '';\n if (menuItem.to && (menuItem.to as MenuItemRoute).name) {\n additionalClass = this.getMenuItemClass(\n (menuItem.to as MenuItemRoute).name\n );\n }\n\n if (menuItem.subroutes) {\n additionalClass = this.getMenuItemClassSubmenu(menuItem.subroutes);\n }\n\n return {\n ...menuItem,\n class: `${menuItem.class} ${additionalClass}`,\n };\n });\n }\n\n get username() {\n return `${this.currentEntrancePlant?.lastModifyBy?.name} ${this.currentEntrancePlant?.lastModifyBy?.surname}`;\n }\n\n get userInitials() {\n return getUserInitialsForBubble(this.currentEntrancePlant.lastModifyBy);\n }\n\n get hideFooter() {\n return [\n 'page-entranceplant-guests',\n 'page-entranceplant-badges',\n 'page-entranceplant-messages',\n 'page-entranceplant-settings',\n 'page-entranceplant-residents',\n 'page-entranceplant-structure-building',\n 'page-entranceplant-switchboards',\n ].includes(this.$route.name as string);\n }\n\n get favouriteIcon() {\n return require(`@/assets/images/icons/icon-favourite${\n !this.currentEntrancePlant?.isFavourite ? '-outline' : ''\n }.svg`);\n }\n\n get plantName() {\n if (this.currentEntrancePlant) {\n return this.currentEntrancePlant.name;\n }\n\n return '';\n }\n\n created() {\n this.$store.dispatch(SET_SELECTED_ENTRANCE_PLANT, null);\n this.$store.dispatch(SET_USER_PERMISSIONS, null);\n }\n\n unmounted() {\n this.$store.dispatch(SET_SELECTED_ENTRANCE_PLANT, null);\n this.$store.dispatch(SET_USER_PERMISSIONS, null);\n this.$store.dispatch(SET_ADMIN_VIEW, false);\n }\n\n async mounted() {\n this.$store.dispatch(\n SET_CONTEXTUAL_MENU_ITEMS,\n this.menuItemsContextualWithActiveClasses\n );\n\n this.selectedPlantId = parseInt(this.$route.params.plantId.toString(), 10);\n this.$store.dispatch(SET_SELECTED_ENTRANCE_PLANT_ID, this.selectedPlantId);\n this.$store.dispatch(SET_APP_LOADING, true);\n this.usersPermissions = await plantsClient.userspermissions(\n this.selectedPlantId\n );\n this.$store.dispatch(SET_APP_LOADING, false);\n\n await this.fetchPlant();\n\n this.registerEmitterEvents();\n this.registerPeriodicFetchUpdates();\n this.renewSessionTimeout();\n }\n\n beforeUnmount() {\n this.unregisterEmitterEvents();\n this.unregisterPeriodicFetchUpdates();\n this.unregisterRenewSessionTimeout();\n\n this.$store.dispatch(SET_SELECTED_ENTRANCE_PLANT_ID, null);\n }\n\n async fetchPlant() {\n if (!this.selectedPlantId) return;\n try {\n this.$store.dispatch(SET_APP_LOADING, true);\n\n const plant = await plantsClient.entranceplantGET(\n this.selectedPlantId,\n undefined\n );\n\n const usersList = { owner: plant.owner, shared: plant.sharedWith };\n const currentUserEmail =\n usersList.owner?.id === this.account.localAccountId\n ? usersList.owner.email\n : usersList.shared?.find(\n (u) => u.userId === this.account.localAccountId\n )?.email;\n const currentUserPerms =\n this.usersPermissions.find((user) => user.email === currentUserEmail) ??\n null;\n\n this.$store.dispatch(SET_ADMIN_VIEW, currentUserPerms?.isOnlyBuildingAdmin);\n this.$store.dispatch(SET_USER_PERMISSIONS, currentUserPerms);\n this.$store.dispatch(SET_SELECTED_ENTRANCE_PLANT, plant);\n } catch (error) {\n switch (error.status) {\n case 423:\n this.$router.push({\n name: 'page-plants-hub',\n });\n break;\n }\n console.log(error);\n } finally {\n this.$store.dispatch(SET_APP_LOADING, false);\n }\n }\n\n registerEmitterEvents() {\n this.$emitter.on(FETCH_PLANT, this.fetchPlant);\n this.$emitter.on(\n HANDLE_REFRESH_PLANT,\n this.handleRefreshPlantFromOuterEvent\n );\n }\n\n unregisterEmitterEvents() {\n this.$emitter.off(FETCH_PLANT, this.fetchPlant);\n this.$emitter.off(\n HANDLE_REFRESH_PLANT,\n this.handleRefreshPlantFromOuterEvent\n );\n }\n\n registerPeriodicFetchUpdates() {\n this.intervalFetchUpdate = setTimeout(async () => {\n await this.doFetchUpdatesInternal();\n this.registerPeriodicFetchUpdates();\n }, this.$config.PLANT_REFRESH_INTERVAL);\n }\n\n unregisterPeriodicFetchUpdates() {\n clearTimeout(this.intervalFetchUpdate);\n }\n\n private async doFetchUpdatesInternal() {\n if (this.isPausedFetchupdate) {\n return;\n }\n\n try {\n const newPlant = await plantsClient.entranceplantGET(\n this.selectedPlantId as number,\n this.currentEntrancePlant?.lastModify\n );\n\n if (newPlant && newPlant.desktopId && !newPlant.lastModifyByDesktop) {\n this.isVisibleConfirmPlantUpdated = true;\n this.isPausedFetchupdate = true;\n this.tempPlant = newPlant;\n }\n } catch (error) {\n switch (error.status) {\n case 423:\n this.$router.push({\n name: 'page-plants-hub',\n });\n break;\n }\n console.log(error);\n }\n }\n\n async renewSessionTimeout() {\n if (!this.selectedPlantId) return;\n try {\n var renewSecondsDto = await plantsClient.session(this.selectedPlantId);\n this.timeoutRenewSession = setTimeout(\n this.renewSessionTimeout,\n (renewSecondsDto.renewSessionSeconds ?? 60) * 1000\n );\n } catch (error) {\n switch (error.status) {\n case 423:\n this.$router.push({\n name: 'page-plants-hub',\n });\n break;\n }\n console.log(error);\n }\n }\n\n unregisterRenewSessionTimeout() {\n clearTimeout(this.timeoutRenewSession);\n }\n\n handleRefreshPlantFromOuterEvent() {\n this.isPausedFetchupdate = true;\n this.isVisibleConfirmPlantUpdated = true;\n }\n\n getMenuItemClass(routeName: string) {\n if (this.$route.name === routeName) {\n return 'p-menuitem-active';\n }\n\n return '';\n }\n\n getMenuItemClassSubmenu(subroutesNames: string[]) {\n if (subroutesNames.includes(this.$route.name as string)) {\n return 'submenu-active';\n }\n\n return '';\n }\n\n toggleEditDialog() {\n this.isVisibleEditDialog = !this.isVisibleEditDialog;\n }\n\n getParsedDate(date?: Date) {\n if (!date) return '';\n const options: any = {\n month: 'short',\n day: 'numeric',\n year: 'numeric',\n hour: '2-digit',\n minute: '2-digit',\n };\n return date.toLocaleString('en-GB', options);\n }\n\n toggleDeletePlantConfirm() {\n this.isVisibleDeletePlantConfirm = !this.isVisibleDeletePlantConfirm;\n }\n\n async handleDeletePlant() {\n this.$store.dispatch(SET_APP_LOADING, true);\n try {\n await plantsClient.plantDELETE(\n this.currentEntrancePlant?.desktopId as number\n );\n this.$router.push({\n name: 'page-plants-hub',\n });\n } catch (error) {\n this.$toast.add({\n severity: 'error',\n summary: this.$t('general.operationError'),\n closable: true,\n life: 3000,\n });\n } finally {\n this.$store.dispatch(SET_APP_LOADING, false);\n }\n }\n\n async handleDuplicatePlant() {}\n\n handleDuplicatePlantFull() {}\n\n async hideConfirmPlantUpdated() {\n this.isVisibleConfirmPlantUpdated = false;\n\n if (!this.tempPlant) {\n // Handle refresh plant triggered by\n // an event (API call) from another\n // (sub)component\n await this.fetchPlant();\n } else {\n // Handle refresh plant triggered by\n // the periodic API call for\n // checking if the plant was updated.\n // The plant was already fetched from\n // the aforementioned API call and\n // stored in tempPlant.\n\n this.$store.dispatch(\n SET_SELECTED_ENTRANCE_PLANT,\n EntrancePlantDetailDTO.fromJS(cloneObject(this.tempPlant))\n );\n this.tempPlant = null;\n }\n\n this.isPausedFetchupdate = false;\n }\n\n handleInvitedUser(userEmail: string) {\n const newUser = new PlantSharingDTO({\n invitedEmail: userEmail,\n confirmed: false,\n });\n\n this.currentEntrancePlant?.sharedWith?.push(newUser);\n }\n\n handleRemoveSharingUser(user: PlantSharingDTO) {\n const userIndex = this.currentEntrancePlant?.sharedWith?.findIndex(\n (u) => u.userId === user.userId\n );\n\n if (userIndex != null && userIndex >= 0) {\n this.currentEntrancePlant?.sharedWith?.splice(userIndex, 1);\n }\n }\n\n async togglePlantFromFavorites() {\n if (!this.currentEntrancePlant?.desktopId) return;\n try {\n this.$store.dispatch(SET_APP_LOADING, true);\n this.currentEntrancePlant.isFavourite = await plantsClient.togglePlantFromFavorites(\n this.currentEntrancePlant.desktopId\n );\n this.currentEntrancePlant.lastModify = new Date();\n } catch (error) {\n this.$toast.add({\n severity: 'error',\n summary: this.$t('general.operationError'),\n closable: true,\n life: 3000,\n });\n } finally {\n this.$store.dispatch(SET_APP_LOADING, false);\n }\n }\n\n onSaveAndExitClick(): void {\n this.$router.replace({\n path: '/',\n replace: true,\n });\n }\n\n async handleHidePlantDuplicateDialog() {}\n\n async handlePlantDuplicated() {}\n}\n","import { render } from \"./EntrancePlantDetail.vue?vue&type=template&id=05908f92&ts=true\"\nimport script from \"./EntrancePlantDetail.ts?vue&type=script&lang=ts\"\nexport * from \"./EntrancePlantDetail.ts?vue&type=script&lang=ts\"\n\nimport \"./EntrancePlantDetail.scss?vue&type=style&index=0&lang=scss\"\n\nimport exportComponent from \"/home/vsts/work/1/s/Frontend/node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__"],"sourceRoot":""}