{"version":3,"sources":["webpack:///./src/views/components/CardContainer/CardContainer.scss?6b44","webpack:///./src/views/pages/EntrancePlantDetail/EntrancePlantDashboard/EntrancePlantDashboard.vue?9f7b","webpack:///./src/views/pages/EntrancePlantDetail/EntrancePlantDashboard/EntrancePlantDashboardGate/EntrancePlantDashboardGate.vue?c157","webpack:///./src/views/pages/EntrancePlantDetail/EntrancePlantDashboard/EntrancePlantDashboardGate/EntrancePlantDashboardGate.ts","webpack:///./src/views/pages/EntrancePlantDetail/EntrancePlantDashboard/EntrancePlantDashboardGate/EntrancePlantDashboardGate.vue","webpack:///./src/views/pages/EntrancePlantDetail/EntrancePlantDashboard/EntrancePlantStatusBanner/EntrancePlantStatusBanner.ts","webpack:///./src/views/pages/EntrancePlantDetail/EntrancePlantDashboard/EntrancePlantStatusBanner/EntrancePlantStatusBanner.vue?0a77","webpack:///./src/views/pages/EntrancePlantDetail/EntrancePlantDashboard/EntrancePlantStatusBanner/EntrancePlantStatusBanner.vue","webpack:///./src/views/pages/EntrancePlantDetail/EntrancePlantDashboard/EntrancePlantDashboard.ts","webpack:///./src/views/pages/EntrancePlantDetail/EntrancePlantDashboard/EntrancePlantDashboard.vue","webpack:///./src/views/components/CardContainer/CardContainer.vue?1f0f","webpack:///./src/views/components/CardContainer/CardContainer.ts","webpack:///./src/views/components/CardContainer/CardContainer.vue","webpack:///./src/views/pages/EntrancePlantDetail/EntrancePlantDashboard/EntrancePlantStatusBanner/EntrancePlantStatusBanner.scss?df58","webpack:///./src/views/pages/EntrancePlantDetail/EntrancePlantDashboard/EntrancePlantDashboard.scss?191c","webpack:///./src/views/pages/EntrancePlantDetail/EntrancePlantDashboard/EntrancePlantDashboardGate/EntrancePlantDashboardGate.scss?b496","webpack:///./node_modules/lodash.debounce/index.js"],"names":["_hoisted_1","class","_hoisted_2","_hoisted_3","_hoisted_4","_hoisted_5","_hoisted_6","key","_hoisted_7","_hoisted_8","_hoisted_9","_hoisted_10","_hoisted_11","_hoisted_12","_hoisted_13","_hoisted_14","_hoisted_15","_hoisted_16","_hoisted_17","_hoisted_18","_hoisted_19","_hoisted_20","_hoisted_21","_hoisted_22","_hoisted_23","_hoisted_24","_hoisted_25","_hoisted_26","_hoisted_27","_hoisted_28","_hoisted_29","_hoisted_30","_hoisted_31","_hoisted_32","_hoisted_33","_hoisted_34","_hoisted_35","_hoisted_36","_hoisted_37","_hoisted_38","_hoisted_39","_hoisted_40","_hoisted_41","_hoisted_42","render","_ctx","_cache","$props","$setup","$data","$options","_component_InlineSvgScoped","_component_EntrancePlantStatusBanner","_component_Gate","_component_CardContainer","_component_Button","_component_Card","_component_ElDropdownItem","_component_ElDropdownMenu","_component_ElDropdown","_component_DialogAddEditGate","src","imageURLs","srcset","imageSrcSetURLs","alt","currentEntrancePlant","name","address","country","$slots","syncStatus","connected","$t","isPlantActive","synchronized","areVirtualDevicesChanged","plant","onUpdateList","handleUpdateList","disabled","noMoreScsAddresses","titleIcon","title","gates","length","showActionButton","adminView","onOnActionButtonClick","toggleCreateGateDialog","actionButtonLabel","default","gate","index","gateId","plantId","desktopId","_","fn","countBuildings","countApartments","undefined","onClick","goToAddressBook","content","icon","goToBadges","countBadges","trigger","placement","dropdown","style","goToGuests","goToMessages","goToSwitchboards","NoSwitchboardAddresses","goToAddSwitchboard","goToParametersSettings","isVisible","isAddGateDialogVisible","onHideDialog","_component_InputText","_component_Dialog","type","id","modelValue","$event","plantInlineRenameEnabled","goToGateDetail","gateDeviceCount","toggleEditGateDialog","modal","visible","isValidName","width","closable","header","footer","onHideNameValidationDialog","invalidNameReason","gateToEdit","isEditGateDialogVisible","onlyDevices","this","devices","verifyValidityOfName","updateCounts","initialName","validName","isValidEntityTypeName","$store","dispatch","updateGateName","gateToUpdate","getDataToUpdate","gatePUT","$toast","add","severity","summary","life","forcefullyRenameFirstEntityWithinCachedOnes","$emitter","emit","$emit","$router","push","params","gateConfig","scsAddress","gateName","newPeSelected","some","device","Linea5000","keypadSelected","KeyPad","smartReaderSelected","SmartAccess","connectedBuildingIds","connectedRiserIds","emits","props","Object","required","Number","Boolean","components","DialogAddEditGate","watch","computed","__exports__","BannerColor","bannerClass","orange","subtitle","showLastSyncData","bannerDetails","isVisibleSyncButton","enableSyncButton","onClickSyncNow","showRetryButton","onClickRetry","lastSyncDate","lastSyncTime","config","canSyncRemotely","g","d","needsToSyncManually","syncInfo","isFailed","isRemoteSyncFailedAndRetryIsAllowed","areVirtualDevicesSentToEliot","isFullyConfigured","virtualDevicesProblems","lastSyncDateTime","toLocaleDateString","toLocaleTimeString","navigator","language","hour","minute","blue","needToSyncManually","gray","syncwitheliot","virtualdevices","customIconImageUrl","plantType","buildings","apartmentsTotal","building","apartments","scsAddressHelper","availableScsAddressGate","availableScsAddressSwitchboard","doCountBadges","badgeAll","badgesList","query","addSwitchboard","Gate","CardContainer","EntrancePlantStatusBanner","onActionButtonClick","String","FUNC_ERROR_TEXT","NAN","symbolTag","reTrim","reIsBadHex","reIsBinary","reIsOctal","freeParseInt","parseInt","freeGlobal","global","freeSelf","self","root","Function","objectProto","prototype","objectToString","toString","nativeMax","Math","max","nativeMin","min","now","Date","debounce","func","wait","options","lastArgs","lastThis","maxWait","result","timerId","lastCallTime","lastInvokeTime","leading","maxing","trailing","TypeError","invokeFunc","time","args","thisArg","apply","leadingEdge","setTimeout","timerExpired","remainingWait","timeSinceLastCall","timeSinceLastInvoke","shouldInvoke","trailingEdge","cancel","clearTimeout","flush","debounced","isInvoking","arguments","toNumber","isObject","value","isObjectLike","isSymbol","call","other","valueOf","replace","isBinary","test","slice","module","exports"],"mappings":"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","file":"js/page-entranceplant-dashboard.e2d3764b.js","sourcesContent":["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!./CardContainer.scss?vue&type=style&index=0&lang=scss\"","import { createVNode as _createVNode, toDisplayString as _toDisplayString, renderSlot as _renderSlot, resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, renderList as _renderList, Fragment as _Fragment, withCtx as _withCtx, createSlots as _createSlots } from \"vue\"\n\nconst _hoisted_1 = { class: \"d-flex\" }\nconst _hoisted_2 = { class: \"apartment__thumb mr-3\" }\nconst _hoisted_3 = { class: \"plant-name mb-0\" }\nconst _hoisted_4 = { class: \"fs-18 text-gray\" }\nconst _hoisted_5 = { class: \"d-flex align-items-center mt-3\" }\nconst _hoisted_6 = {\n key: 0,\n class: \"connected-icon-wrapper\"\n}\nconst _hoisted_7 = { class: \"connected-icon\" }\nconst _hoisted_8 = { class: \"fs-18 text-gray\" }\nconst _hoisted_9 = { class: \"apartment-dashboard\" }\nconst _hoisted_10 = { class: \"apartment-dashboard__main\" }\nconst _hoisted_11 = { class: \"d-flex align-items-center\" }\nconst _hoisted_12 = { class: \"mr-3\" }\nconst _hoisted_13 = { class: \"ml-2\" }\nconst _hoisted_14 = { class: \"mx-3 center_title_cardcontainer\" }\nconst _hoisted_15 = { class: \"ml-2\" }\nconst _hoisted_16 = { class: \"ml-3\" }\nconst _hoisted_17 = { class: \"ml-2\" }\nconst _hoisted_18 = { class: \"list-blocks\" }\nconst _hoisted_19 = { class: \"apartment-dashboard__meta\" }\nconst _hoisted_20 = { class: \"apartment-meta__content\" }\nconst _hoisted_21 = { class: \"apartment-meta__head\" }\nconst _hoisted_22 = { class: \"apartment-meta__icon bt-icon bt-icon--sm\" }\nconst _hoisted_23 = { class: \"apartment-meta__content\" }\nconst _hoisted_24 = { class: \"apartment-meta__head\" }\nconst _hoisted_25 = { class: \"apartment-meta__icon bt-icon bt-icon--sm\" }\nconst _hoisted_26 = { class: \"list-bubbles list-bubbles--xs ml-auto\" }\nconst _hoisted_27 = { class: \"p-button p-button-rounded p-button-secondary fs-14\" }\nconst _hoisted_28 = { class: \"apartment-meta__content\" }\nconst _hoisted_29 = { class: \"apartment-meta__head\" }\nconst _hoisted_30 = { class: \"apartment-meta__icon bt-icon bt-icon--sm\" }\nconst _hoisted_31 = { class: \"btn-stripped d-flex align-items-center\" }\nconst _hoisted_32 = { class: \"bt-icon bt-icon--sm mr-3 text-gray\" }\nconst _hoisted_33 = { class: \"btn-stripped d-flex align-items-center\" }\nconst _hoisted_34 = { class: \"bt-icon bt-icon--sm mr-3 text-gray\" }\nconst _hoisted_35 = { class: \"apartment-meta__content\" }\nconst _hoisted_36 = { class: \"apartment-meta__head\" }\nconst _hoisted_37 = { class: \"apartment-meta__icon bt-icon bt-icon--sm\" }\nconst _hoisted_38 = { class: \"bt-icon bt-icon--xs\" }\nconst _hoisted_39 = { class: \"ml-2\" }\nconst _hoisted_40 = { class: \"apartment-meta__content\" }\nconst _hoisted_41 = { class: \"apartment-meta__head\" }\nconst _hoisted_42 = { class: \"apartment-meta__icon bt-icon bt-icon--sm\" }\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_EntrancePlantStatusBanner = _resolveComponent(\"EntrancePlantStatusBanner\")\n const _component_Gate = _resolveComponent(\"Gate\")\n const _component_CardContainer = _resolveComponent(\"CardContainer\")\n const _component_Button = _resolveComponent(\"Button\")\n const _component_Card = _resolveComponent(\"Card\")\n const _component_ElDropdownItem = _resolveComponent(\"ElDropdownItem\")\n const _component_ElDropdownMenu = _resolveComponent(\"ElDropdownMenu\")\n const _component_ElDropdown = _resolveComponent(\"ElDropdown\")\n const _component_DialogAddEditGate = _resolveComponent(\"DialogAddEditGate\")\n\n return (_openBlock(), _createBlock(_Fragment, null, [\n _createVNode(\"header\", null, [\n _createVNode(\"div\", _hoisted_1, [\n _createVNode(\"span\", _hoisted_2, [\n _createVNode(\"img\", {\n src: _ctx.imageURLs[0],\n srcset: _ctx.imageSrcSetURLs,\n alt: \"img\"\n }, null, 8, [\"src\", \"srcset\"])\n ]),\n _createVNode(\"div\", null, [\n _createVNode(\"h1\", _hoisted_3, _toDisplayString(_ctx.currentEntrancePlant?.name), 1),\n _createVNode(\"address\", _hoisted_4, _toDisplayString(_ctx.currentEntrancePlant.address) + \", \" + _toDisplayString(_ctx.currentEntrancePlant.country), 1)\n ]),\n _renderSlot(_ctx.$slots, \"head-menu\")\n ]),\n _createVNode(\"div\", _hoisted_5, [\n (_ctx.currentEntrancePlant.syncStatus?.connected)\n ? (_openBlock(), _createBlock(\"div\", _hoisted_6, [\n _createVNode(\"div\", _hoisted_7, [\n _createVNode(_component_InlineSvgScoped, {\n src: require(`@/assets/images/icon-check.svg`),\n \"aria-label\": \"icon-check\"\n }, null, 8, [\"src\"])\n ]),\n _createVNode(\"span\", _hoisted_8, _toDisplayString(_ctx.$t(\"AppResource.Connected\")), 1)\n ]))\n : _createCommentVNode(\"\", true),\n _renderSlot(_ctx.$slots, \"update-time-meta\")\n ])\n ]),\n (_ctx.currentEntrancePlant.syncStatus?.isPlantActive)\n ? (_openBlock(), _createBlock(_component_EntrancePlantStatusBanner, {\n key: _ctx.currentEntrancePlant.syncStatus.synchronized !== _ctx.currentEntrancePlant.syncStatus.areVirtualDevicesChanged,\n plant: _ctx.currentEntrancePlant,\n onUpdateList: _ctx.handleUpdateList\n }, null, 8, [\"plant\", \"onUpdateList\"]))\n : _createCommentVNode(\"\", true),\n _createVNode(\"section\", _hoisted_9, [\n _createVNode(\"div\", _hoisted_10, [\n _createVNode(_component_CardContainer, {\n disabled: _ctx.currentEntrancePlant.syncStatus?.isPlantActive || _ctx.noMoreScsAddresses,\n titleIcon: \n require('@/assets/images/entrancePlants/icon-gate.svg')\n ,\n title: `${_ctx.currentEntrancePlant.gates?.length ?? 0} ${_ctx.$t(\n 'AppResourceEP.Gates'\n )}`,\n showActionButton: !_ctx.adminView,\n onOnActionButtonClick: _ctx.toggleCreateGateDialog,\n actionButtonLabel: _ctx.$t('entrancePlant.addGate')\n }, _createSlots({\n default: _withCtx(() => [\n _createVNode(\"ul\", _hoisted_18, [\n (_openBlock(true), _createBlock(_Fragment, null, _renderList(_ctx.currentEntrancePlant.gates, (gate, index) => {\n return (_openBlock(), _createBlock(_component_Gate, {\n key: `${gate.gateId}-${index}`,\n gate: gate,\n plantId: _ctx.currentEntrancePlant.desktopId,\n showActionButton: !_ctx.adminView,\n disabled: _ctx.currentEntrancePlant.syncStatus?.isPlantActive,\n onUpdateList: _ctx.handleUpdateList\n }, null, 8, [\"gate\", \"plantId\", \"showActionButton\", \"disabled\", \"onUpdateList\"]))\n }), 128))\n ])\n ]),\n _: 2\n }, [\n (_ctx.adminView)\n ? {\n name: \"title\",\n fn: _withCtx(() => [\n _createVNode(\"h3\", _hoisted_11, [\n _createVNode(\"span\", _hoisted_12, [\n _createVNode(_component_InlineSvgScoped, {\n src: \n require('@/assets/images/entrancePlants/icon-gate.svg')\n \n }, null, 8, [\"src\"]),\n _createVNode(\"span\", _hoisted_13, _toDisplayString(`${\n _ctx.currentEntrancePlant.gates?.length ?? 0\n } ${_ctx.$t(\"AppResourceEP.Gates\")}`), 1)\n ]),\n _createVNode(\"span\", _hoisted_14, [\n _createVNode(_component_InlineSvgScoped, {\n src: \n require('@/assets/images/entrancePlants/icon-building.svg')\n \n }, null, 8, [\"src\"]),\n _createVNode(\"span\", _hoisted_15, _toDisplayString(`${_ctx.countBuildings ?? 0} ${_ctx.$t(\n \"AppResourceEP.Buildings\"\n )}`), 1)\n ]),\n _createVNode(\"span\", _hoisted_16, [\n _createVNode(_component_InlineSvgScoped, {\n src: \n require('@/assets/images/entrancePlants/icon-apartment.svg')\n \n }, null, 8, [\"src\"]),\n _createVNode(\"span\", _hoisted_17, _toDisplayString(`${_ctx.countApartments ?? 0} ${_ctx.$t(\n \"AppResourceEP.Apartments\"\n )}`), 1)\n ])\n ])\n ])\n }\n : undefined\n ]), 1032, [\"disabled\", \"titleIcon\", \"title\", \"showActionButton\", \"onOnActionButtonClick\", \"actionButtonLabel\"])\n ]),\n _createVNode(\"div\", _hoisted_19, [\n _createVNode(_component_Card, {\n class: \"apartment-meta card--slim\",\n onClick: _ctx.goToAddressBook\n }, {\n content: _withCtx(() => [\n _createVNode(\"div\", _hoisted_20, [\n _createVNode(\"div\", _hoisted_21, [\n _createVNode(\"span\", _hoisted_22, [\n _createVNode(_component_InlineSvgScoped, {\n src: \n require('@/assets/images/entrancePlants/icon-resident.svg')\n ,\n \"aria-label\": \"icon-resident\"\n }, null, 8, [\"src\"])\n ]),\n _createVNode(\"h5\", null, _toDisplayString(_ctx.$t(\"AppResourceEP.AddressBookResidents\")), 1)\n ]),\n _createVNode(_component_Button, {\n onClick: _ctx.goToAddressBook,\n icon: \"pi pi-chevron-right\",\n class: \"p-button-text p-button-secondary ml-2 ml-auto\"\n }, null, 8, [\"onClick\"])\n ])\n ]),\n _: 1\n }, 8, [\"onClick\"]),\n _createVNode(_component_Card, {\n class: \"apartment-meta card--slim\",\n onClick: _ctx.goToBadges\n }, {\n content: _withCtx(() => [\n _createVNode(\"div\", _hoisted_23, [\n _createVNode(\"div\", _hoisted_24, [\n _createVNode(\"span\", _hoisted_25, [\n _createVNode(_component_InlineSvgScoped, {\n src: \n require('@/assets/images/entrancePlants/icon-badge.svg')\n ,\n \"aria-label\": \"icon-badge\"\n }, null, 8, [\"src\"])\n ]),\n _createVNode(\"h5\", null, _toDisplayString(_ctx.$t(\"AppResourceEP.Badges\")), 1)\n ]),\n _createVNode(\"div\", _hoisted_26, [\n _createVNode(\"div\", _hoisted_27, _toDisplayString(_ctx.countBadges), 1)\n ]),\n _createVNode(_component_Button, {\n icon: \"pi pi-chevron-right\",\n class: \"p-button-text p-button-secondary\",\n onClick: _ctx.goToBadges\n }, null, 8, [\"onClick\"])\n ])\n ]),\n _: 1\n }, 8, [\"onClick\"]),\n _createVNode(_component_Card, { class: \"apartment-meta card--slim\" }, {\n content: _withCtx(() => [\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, { onClick: _ctx.goToGuests }, {\n default: _withCtx(() => [\n _createVNode(\"button\", _hoisted_31, [\n _createVNode(\"span\", _hoisted_32, [\n _createVNode(_component_InlineSvgScoped, {\n src: \n require('@/assets/images/entrancePlants/icon-guest.svg')\n ,\n \"aria-label\": \"icon-guest\"\n }, null, 8, [\"src\"])\n ]),\n _createVNode(\"span\", null, _toDisplayString(_ctx.$t(\"AppResourceEP.Guests\")), 1)\n ])\n ]),\n _: 1\n }, 8, [\"onClick\"]),\n _createVNode(_component_ElDropdownItem, { onClick: _ctx.goToMessages }, {\n default: _withCtx(() => [\n _createVNode(\"button\", _hoisted_33, [\n _createVNode(\"span\", _hoisted_34, [\n _createVNode(_component_InlineSvgScoped, {\n src: \n require('@/assets/images/entrancePlants/icon-message.svg')\n ,\n \"aria-label\": \"icon-message\"\n }, null, 8, [\"src\"])\n ]),\n _createVNode(\"span\", null, _toDisplayString(_ctx.$t(\"AppResourceEP.Messages\")), 1)\n ])\n ]),\n _: 1\n }, 8, [\"onClick\"])\n ]),\n _: 1\n })\n ]),\n default: _withCtx(() => [\n _createVNode(\"div\", _hoisted_28, [\n _createVNode(\"div\", _hoisted_29, [\n _createVNode(\"span\", _hoisted_30, [\n _createVNode(_component_InlineSvgScoped, {\n src: \n require(`@/assets/images/icons/icon-add.svg`)\n ,\n \"aria-label\": \"icon-additional-services\"\n }, null, 8, [\"src\"])\n ]),\n _createVNode(\"h5\", null, _toDisplayString(_ctx.$t(\"AppResourceEP.AdditionalServices\")), 1)\n ]),\n _createVNode(_component_Button, {\n icon: \"pi pi-chevron-right\",\n class: \"p-button-text p-button-secondary ml-2 ml-auto\"\n })\n ])\n ]),\n _: 1\n })\n ]),\n _: 1\n }),\n (!_ctx.adminView)\n ? (_openBlock(), _createBlock(_component_Card, {\n key: 0,\n class: \"apartment-meta card--slim\",\n onClick: _ctx.goToSwitchboards\n }, {\n content: _withCtx(() => [\n _createVNode(\"div\", _hoisted_35, [\n _createVNode(\"div\", _hoisted_36, [\n _createVNode(\"span\", _hoisted_37, [\n _createVNode(_component_InlineSvgScoped, {\n src: \n require(`@/assets/images/entrancePlants/icon-switchboard.svg`)\n ,\n \"aria-label\": \"icon-switchboard\"\n }, null, 8, [\"src\"])\n ]),\n _createVNode(\"h5\", null, _toDisplayString(_ctx.$t(\"AppResourceEP.Switchboard\")), 1)\n ]),\n _createVNode(_component_Button, {\n disabled: _ctx.currentEntrancePlant.syncStatus?.isPlantActive || _ctx.NoSwitchboardAddresses,\n class: \"p-button-outlined p-button-rounded ml-auto\",\n onClick: _ctx.goToAddSwitchboard\n }, {\n default: _withCtx(() => [\n _createVNode(\"span\", _hoisted_38, [\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 _createVNode(\"span\", _hoisted_39, _toDisplayString(_ctx.$t(\"AppResource.Add\")), 1)\n ]),\n _: 1\n }, 8, [\"disabled\", \"onClick\"]),\n _createVNode(_component_Button, {\n icon: \"pi pi-chevron-right\",\n class: \"p-button-text p-button-secondary\",\n onClick: _ctx.goToSwitchboards\n }, null, 8, [\"onClick\"])\n ])\n ]),\n _: 1\n }, 8, [\"onClick\"]))\n : _createCommentVNode(\"\", true),\n _createVNode(_component_Card, {\n class: \"apartment-meta card--slim\",\n onClick: _ctx.goToParametersSettings\n }, {\n content: _withCtx(() => [\n _createVNode(\"div\", _hoisted_40, [\n _createVNode(\"div\", _hoisted_41, [\n _createVNode(\"span\", _hoisted_42, [\n _createVNode(_component_InlineSvgScoped, {\n src: \n require('@/assets/images/entrancePlants/icon-parameters.svg')\n ,\n \"aria-label\": \"icon-parameters\"\n }, null, 8, [\"src\"])\n ]),\n _createVNode(\"h5\", null, _toDisplayString(_ctx.$t(\"AppResourceEP.ParametersAndSettings\")), 1)\n ]),\n _createVNode(_component_Button, {\n onClick: _ctx.goToParametersSettings,\n icon: \"pi pi-chevron-right\",\n class: \"p-button-text p-button-secondary ml-2 ml-auto\"\n }, null, 8, [\"onClick\"])\n ])\n ]),\n _: 1\n }, 8, [\"onClick\"])\n ])\n ]),\n _createVNode(_component_DialogAddEditGate, {\n isVisible: _ctx.isAddGateDialogVisible,\n onHideDialog: _ctx.toggleCreateGateDialog,\n onUpdateList: _ctx.handleUpdateList\n }, null, 8, [\"isVisible\", \"onHideDialog\", \"onUpdateList\"])\n ], 64))\n}","import { resolveComponent as _resolveComponent, createVNode as _createVNode, toDisplayString as _toDisplayString, openBlock as _openBlock, createBlock as _createBlock, withCtx as _withCtx, createCommentVNode as _createCommentVNode, createTextVNode as _createTextVNode, Fragment as _Fragment } from \"vue\"\n\nconst _hoisted_1 = { class: \"gate\" }\nconst _hoisted_2 = { class: \"gate__header form-custom\" }\nconst _hoisted_3 = { class: \"d-flex align-items-center\" }\nconst _hoisted_4 = { class: \"bt-icon bt-icon--m\" }\nconst _hoisted_5 = { class: \"p-field\" }\nconst _hoisted_6 = { class: \"list-bubbles list-bubbles--xs ml-auto mr-3\" }\nconst _hoisted_7 = { class: \"bt-icon bt-icon--xs\" }\nconst _hoisted_8 = { class: \"ml-2\" }\nconst _hoisted_9 = { class: \"confirmation-content\" }\nconst _hoisted_10 = { class: \"text-center\" }\nconst _hoisted_11 = /*#__PURE__*/_createVNode(\"br\", null, null, -1)\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 const _component_DialogAddEditGate = _resolveComponent(\"DialogAddEditGate\")\n\n return (_openBlock(), _createBlock(_Fragment, null, [\n _createVNode(\"li\", _hoisted_1, [\n _createVNode(\"div\", _hoisted_2, [\n _createVNode(\"div\", _hoisted_3, [\n _createVNode(\"span\", _hoisted_4, [\n _createVNode(_component_InlineSvgScoped, {\n src: \n require(`@/assets/images/entrancePlants/icon-gate.svg`)\n ,\n \"aria-label\": \"icon-gate\"\n }, null, 8, [\"src\"])\n ]),\n _createVNode(\"div\", _hoisted_5, [\n _createVNode(_component_InputText, {\n type: \"text\",\n id: \"plantname\",\n modelValue: _ctx.gate.name,\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = ($event: any) => (_ctx.gate.name = $event)),\n class: [\"w-100 ml-3 text-uppercase\", { 'rename-gate-enabled': _ctx.plantInlineRenameEnabled }],\n disabled: !_ctx.plantInlineRenameEnabled\n }, null, 8, [\"modelValue\", \"disabled\", \"class\"])\n ])\n ]),\n _createVNode(\"div\", {\n class: \"spacer\",\n onClick: _cache[2] || (_cache[2] = \n//@ts-ignore\n(...args) => (_ctx.goToGateDetail && _ctx.goToGateDetail(...args)))\n }, \"_\"),\n _createVNode(\"div\", _hoisted_6, [\n (_openBlock(), _createBlock(\"div\", {\n key: _ctx.gateDeviceCount,\n class: \"p-button p-button-rounded p-button-secondary fs-14 no-click\"\n }, _toDisplayString(_ctx.gateDeviceCount), 1))\n ]),\n (_ctx.showActionButton)\n ? (_openBlock(), _createBlock(_component_Button, {\n key: 0,\n class: \"apartment__action p-button-rounded p-button-outlined\",\n disabled: _ctx.disabled,\n onClick: _cache[3] || (_cache[3] = ($event: any) => (_ctx.toggleEditGateDialog(_ctx.gate)))\n }, {\n default: _withCtx(() => [\n _createVNode(\"span\", _hoisted_7, [\n _createVNode(_component_InlineSvgScoped, {\n src: \n require(`@/assets/images/icons/icon-plus-outline.svg`)\n ,\n \"aria-label\": \"icon-grid\"\n }, null, 8, [\"src\"])\n ]),\n _createVNode(\"span\", _hoisted_8, _toDisplayString(_ctx.$t(\"entrancePlant.addDevice\")), 1)\n ]),\n _: 1\n }, 8, [\"disabled\"]))\n : _createCommentVNode(\"\", true),\n _createVNode(_component_Button, {\n icon: \"pi pi-chevron-right\",\n class: \"p-button-text p-button-secondary ml-3\",\n onClick: _ctx.goToGateDetail\n }, null, 8, [\"onClick\"])\n ])\n ]),\n _createVNode(_component_Dialog, {\n modal: true,\n visible: !_ctx.isValidName,\n style: { width: '350px' },\n closable: false,\n header: _ctx.$t('uniqueNaming.unavailableName')\n }, {\n footer: _withCtx(() => [\n _createVNode(_component_Button, {\n class: \"p-button-primary p-button-rounded p-button--m\",\n onClick: _ctx.onHideNameValidationDialog\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t(\"AppResource.Ok\")), 1)\n ]),\n _: 1\n }, 8, [\"onClick\"])\n ]),\n default: _withCtx(() => [\n _createVNode(\"div\", _hoisted_9, [\n _createVNode(\"p\", _hoisted_10, [\n _createTextVNode(_toDisplayString(_ctx.invalidNameReason) + \" \", 1),\n _hoisted_11,\n _createVNode(\"sub\", null, _toDisplayString(_ctx.$t(\"uniqueNaming.nameResetDisclaimer\")), 1)\n ])\n ])\n ]),\n _: 1\n }, 8, [\"visible\", \"header\"]),\n _createVNode(_component_DialogAddEditGate, {\n gateToEdit: _ctx.gateToEdit,\n isVisible: _ctx.isEditGateDialogVisible,\n onlyDevices: \"\",\n onHideDialog: _ctx.toggleEditGateDialog,\n onUpdateList: _ctx.handleUpdateList\n }, null, 8, [\"gateToEdit\", \"isVisible\", \"onHideDialog\", \"onUpdateList\"])\n ], 64))\n}","import { NAME_VALIDATION_DEBOUNCE_TIME } from '@/core/utils/utils';\nimport { PropType } from 'vue';\nimport { mapGetters } from 'vuex';\nimport debounce from 'lodash.debounce';\nimport { Vue, Options } from 'vue-class-component';\nimport { EPDeviceTypeEnum, GateConfigDTO, GateDTO } from '@/../client-generator/generated-clients/plants';\nimport { FETCH_PLANT } from '@/core/utils/emitter-events';\nimport { SET_APP_LOADING } from '@/core/store/action-types';\nimport { NamingService } from '@/core/services/naming.service';\nimport DialogAddEditGate from '../../EntrancePlantGate/DialogAddEditGate/DialogAddEditGate.vue';\nimport plantsClient from '@/core/services/plants';\n\n@Options({\n name: 'EntrancePlantDashboardGate',\n emits: ['add-object', 'update-list'],\n props: {\n gate: {\n type: Object as PropType,\n required: false,\n },\n plantId: {\n type: Number,\n required: true,\n },\n showActionButton: {\n type: Boolean,\n },\n disabled: {\n type: Boolean,\n default: false,\n }\n },\n components: {\n DialogAddEditGate\n },\n watch: {\n gate: function () {\n this.updateCounts();\n },\n 'gate.name': function () {\n this.verifyValidityOfName();\n },\n },\n computed: {\n ...mapGetters('UI', ['plantInlineRenameEnabled']),\n },\n})\nexport default class EntrancePlantDashboardGate extends Vue {\n gate!: GateDTO;\n plantId!: number;\n showActionButton!: boolean;\n disabled!: boolean;\n plantInlineRenameEnabled!: boolean;\n isValidName = true;\n initialName!: string;\n invalidNameReason: string = '';\n gateToEdit: GateDTO | null = null;\n isEditGateDialogVisible = false;\n\n get gateDeviceCount() {\n return this.gate.devices?.length ?? 0;\n }\n\n async created() {\n this.verifyValidityOfName = debounce(\n this.verifyValidityOfName,\n NAME_VALIDATION_DEBOUNCE_TIME + 1000\n );\n }\n\n mounted() {\n this.updateCounts();\n this.initialName = this.gate.name!;\n }\n\n private async verifyValidityOfName() {\n if (this.gate.name === this.initialName) return;\n const validName = NamingService.isValidEntityTypeName(this.gate.name);\n\n if (this.initialName !== this.gate.name && !validName) {\n this.$store.dispatch(SET_APP_LOADING, true);\n\n this.isValidName = validName;\n this.invalidNameReason = this.$t(\n `uniqueNaming.validationErrorWithSuggestion`\n );\n this.$store.dispatch(SET_APP_LOADING, false);\n } else {\n this.isValidName = true;\n this.invalidNameReason = '';\n await this.updateGateName();\n }\n }\n\n private async updateGateName() {\n try {\n this.$store.dispatch(SET_APP_LOADING, true);\n const gateToUpdate = {[this.gate.gateId!]: this.getDataToUpdate()};\n await plantsClient.gatePUT(this.plantId, gateToUpdate);\n this.$toast.add({\n severity: 'success',\n summary: this.$t('uniqueNaming.roomInlineNamingSuccess'),\n life: 3000,\n });\n NamingService.forcefullyRenameFirstEntityWithinCachedOnes(\n this.initialName,\n this.gate.name!\n );\n this.initialName = this.gate.name!;\n } catch (e) {\n this.gate.name = this.initialName;\n this.$toast.add({\n severity: 'error',\n summary: this.$t('uniqueNaming.roomInlineNamingError'),\n life: 3000,\n });\n } finally {\n this.$store.dispatch(SET_APP_LOADING, false);\n this.$emitter.emit(FETCH_PLANT);\n }\n }\n\n onHideNameValidationDialog() {\n this.gate.name = this.initialName;\n this.isValidName = true;\n }\n\n updateCounts() {}\n\n toggleEditGateDialog(gate: any) {\n this.gateToEdit = gate;\n this.isEditGateDialogVisible = !this.isEditGateDialogVisible;\n }\n\n handleUpdateList() {\n this.$emit('update-list');\n }\n\n goToGateDetail() {\n this.$router.push({\n name: 'page-entranceplant-gate',\n params: {\n gateId: this.gate.gateId ?? '',\n },\n });\n }\n\n getDataToUpdate() {\n const gateConfig = new GateConfigDTO({\n scsAddress: this.gate.scsAddress,\n gateName: this.gate.name,\n newPeSelected: this.gate.devices?.some(\n (device) => device.type === EPDeviceTypeEnum.Linea5000\n ),\n keypadSelected: this.gate.devices?.some(\n (device) => device.type === EPDeviceTypeEnum.KeyPad\n ),\n smartReaderSelected: this.gate.devices?.some(\n (device) => device.type === EPDeviceTypeEnum.SmartAccess\n ),\n connectedBuildingIds: this.gate.connectedBuildingIds,\n connectedRiserIds: this.gate.connectedRiserIds,\n })\n \n return gateConfig;\n }\n}\n","import { render } from \"./EntrancePlantDashboardGate.vue?vue&type=template&id=e4ca7d7c&ts=true\"\nimport script from \"./EntrancePlantDashboardGate.ts?vue&type=script&lang=ts\"\nexport * from \"./EntrancePlantDashboardGate.ts?vue&type=script&lang=ts\"\n\nimport \"./EntrancePlantDashboardGate.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 EntrancePlantDetailDTO,\n PlantSyncStatusDTO,\n} from 'client-generator/generated-clients/plants';\nimport { Options, Vue } from 'vue-class-component';\nimport plantsClient from '@/core/services/plants';\nimport { SET_APP_LOADING, SET_SYNC_INFO } from '@/core/store/action-types';\n\nenum BannerColor {\n blue = 'blue-banner',\n gray = 'gray-banner',\n orange = 'orange-banner',\n}\n\n@Options({\n name: 'EntrancePlantStatusBanner',\n components: {},\n props: {\n plant: {\n required: true,\n type: Object as () => EntrancePlantDetailDTO,\n },\n },\n computed: {},\n emits: ['update-list'],\n watch: {},\n})\nexport default class EntrancePlantStatusBanner extends Vue {\n bannerClass: string = '';\n enableSyncButton: boolean = false;\n isVisibleSyncButton: boolean = false;\n showRetryButton: boolean = false;\n showLastSyncData: boolean = false;\n bannerDetails: string = '';\n BannerColor = BannerColor;\n title: string = '';\n subtitle: string = '';\n\n plant!: EntrancePlantDetailDTO;\n lastSyncDate: string = '';\n lastSyncTime: string = '';\n config = this.plant.syncStatus as PlantSyncStatusDTO;\n\n\n get needToSyncManually(): boolean {\n return (!this.config.canSyncRemotely || this.plant.gates?.some(g => g.devices?.some(d => d.needsToSyncManually)) || (this.config.syncInfo?.isFailed && !this.config.isRemoteSyncFailedAndRetryIsAllowed)) ?? false;\n }\n\n get virtualDevicesProblems(): boolean {\n return (!this.config.areVirtualDevicesSentToEliot || this.config.areVirtualDevicesChanged) ?? false;\n }\n\n get icon() {\n if ((this.config.isFullyConfigured && this.virtualDevicesProblems) || !this.config.synchronized)\n return 'warning';\n else \n return 'check';\n }\n\n async mounted(): Promise {\n if (this.config.lastSyncDateTime) {\n this.lastSyncDate = this.config.lastSyncDateTime.toLocaleDateString();\n this.lastSyncTime = this.config.lastSyncDateTime!.toLocaleTimeString(navigator.language, { hour: '2-digit', minute: '2-digit' });\n }\n\n if (this.config.isPlantActive) {\n if (this.config.connected) {\n if (!this.config.synchronized) { \n this.bannerClass = BannerColor.blue;\n this.showLastSyncData = true;\n this.bannerDetails = this.$t('AppResourceEP.LastSync') + ' ' + this.lastSyncDate + ' ' + this.lastSyncTime;\n this.isVisibleSyncButton = !this.needToSyncManually;\n this.enableSyncButton = true;\n this.showRetryButton = false;\n this.title = this.$t('AppResourceEP.NewChangesToSync');\n this.subtitle = this.needToSyncManually ? this.$t('PlantBannerNeedBTConnection') : this.$t('AppResourceEP.ChangesToSync');\n } else if (this.config.isFullyConfigured && this.virtualDevicesProblems) {\n this.bannerClass = BannerColor.orange;\n this.showLastSyncData = false;\n this.isVisibleSyncButton = false;\n this.showRetryButton = true;\n this.title = this.$t('AppResourceEP.IncompleteSaving');\n this.subtitle = this.$t('AppResourceEP.RetryToCompleteConfig');\n } else {\n this.bannerClass = BannerColor.blue;\n this.showLastSyncData = true;\n this.bannerDetails = this.$t('AppResourceEP.LastSync') + ' ' + this.lastSyncDate + ' ' + this.lastSyncTime;\n this.isVisibleSyncButton = true;\n this.enableSyncButton = false;\n this.showRetryButton = false;\n this.title = this.$t('general.synced');\n this.subtitle = this.$t('AppResourceEP.NoChangesToSync');\n }\n } else {\n this.isVisibleSyncButton = false;\n this.showRetryButton = false;\n if (!this.config.synchronized) {\n //plant active not connected and not synced\n this.bannerClass = BannerColor.blue\n this.title = this.$t('AppResourceEP.NewChangesToSync');\n this.subtitle = this.$t('PlantBannerNeedBTConnection');\n this.showLastSyncData = true;\n this.bannerDetails = this.$t('AppResourceEP.LastSync') + ' ' + this.lastSyncDate + ' ' + this.lastSyncTime;\n } else if (this.config.isFullyConfigured && this.virtualDevicesProblems) {\n this.bannerClass = BannerColor.orange;\n this.showLastSyncData = false;\n this.showRetryButton = true;\n this.title = this.$t('AppResourceEP.IncompleteSaving');\n this.subtitle = this.$t('AppResourceEP.RetryToCompleteConfig'); \n } else {\n //plant active not connected and synced\n this.bannerClass = BannerColor.gray;\n this.showLastSyncData = false;\n this.title = this.$t('PlantActiveNoConnectedTitle');\n this.subtitle = this.$t('PlantActiveNoConnectedSubtitle');\n }\n }\n }\n }\n\n async onClickSyncNow() {\n try {\n this.$store.dispatch(SET_APP_LOADING, true);\n const syncInfo = await plantsClient.syncwitheliot(this.plant.desktopId as number);\n \n this.$store.dispatch(SET_SYNC_INFO, syncInfo);\n if (syncInfo.isFailed) {\n this.$store.dispatch(SET_APP_LOADING, false);\n this.$toast.add({\n severity: 'error',\n summary: this.$t('general.operationError'),\n closable: true,\n life: 3000,\n });\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 this.$store.dispatch(SET_APP_LOADING, false);\n this.$store.dispatch(SET_SYNC_INFO, null);\n }\n }\n\n async onClickRetry() {\n try {\n this.$store.dispatch(SET_APP_LOADING, true);\n await plantsClient.virtualdevices(this.plant.desktopId as number);\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 } \n finally {\n this.$emit('update-list');\n this.$store.dispatch(SET_APP_LOADING, false);\n }\n }\n}\n","import { resolveComponent as _resolveComponent, createVNode as _createVNode, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, toDisplayString as _toDisplayString, withCtx as _withCtx } from \"vue\"\n\nconst _hoisted_1 = {\n key: 0,\n class: \"icon\"\n}\nconst _hoisted_2 = { class: \"text-box\" }\nconst _hoisted_3 = { class: \"title\" }\nconst _hoisted_4 = { class: \"subtitle\" }\nconst _hoisted_5 = {\n key: 0,\n class: \"text-gray mr-3\"\n}\nconst _hoisted_6 = { class: \"banner-button\" }\nconst _hoisted_7 = { class: \"bt-icon bt-icon--xs\" }\nconst _hoisted_8 = { class: \"ml-2\" }\nconst _hoisted_9 = { class: \"bt-icon bt-icon--xs\" }\nconst _hoisted_10 = { class: \"ml-2\" }\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\n return (_openBlock(), _createBlock(\"div\", {\n class: [\"banner-container\", _ctx.bannerClass]\n }, [\n (_ctx.icon === 'check')\n ? (_openBlock(), _createBlock(\"div\", _hoisted_1, [\n _createVNode(_component_InlineSvgScoped, {\n src: require(`@/assets/images/icon-check.svg`),\n \"aria-label\": \"icon-check\"\n }, null, 8, [\"src\"])\n ]))\n : _createCommentVNode(\"\", true),\n (_ctx.icon === 'warning')\n ? (_openBlock(), _createBlock(\"div\", {\n key: 1,\n class: [\"icon-warning\", { orange: _ctx.bannerClass === _ctx.BannerColor.orange }]\n }, [\n _createVNode(_component_InlineSvgScoped, {\n class: \"fill-icon\",\n src: \n require(`@/assets/images/icons/icon-alert-medium-full.svg`)\n ,\n \"aria-label\": \"icon-alert\"\n }, null, 8, [\"src\"])\n ], 2))\n : _createCommentVNode(\"\", true),\n _createVNode(\"div\", _hoisted_2, [\n _createVNode(\"div\", _hoisted_3, _toDisplayString(_ctx.title), 1),\n _createVNode(\"div\", _hoisted_4, _toDisplayString(_ctx.subtitle), 1),\n (_ctx.showLastSyncData)\n ? (_openBlock(), _createBlock(\"small\", _hoisted_5, _toDisplayString(_ctx.bannerDetails), 1))\n : _createCommentVNode(\"\", true)\n ]),\n _createVNode(\"div\", _hoisted_6, [\n (_ctx.isVisibleSyncButton)\n ? (_openBlock(), _createBlock(_component_Button, {\n key: 0,\n class: \"p-button-rounded p-button-outlined px-4\",\n disabled: !_ctx.enableSyncButton,\n onClick: _ctx.onClickSyncNow\n }, {\n default: _withCtx(() => [\n _createVNode(\"span\", _hoisted_7, [\n _createVNode(_component_InlineSvgScoped, {\n src: require(`@/assets/images/icons/icon-sync.svg`),\n \"aria-label\": \"icon-sync\"\n }, null, 8, [\"src\"])\n ]),\n _createVNode(\"span\", _hoisted_8, _toDisplayString(_ctx.$t(\"AppResourceEP.SyncNow\")), 1)\n ]),\n _: 1\n }, 8, [\"disabled\", \"onClick\"]))\n : _createCommentVNode(\"\", true),\n (_ctx.showRetryButton)\n ? (_openBlock(), _createBlock(_component_Button, {\n key: 1,\n class: \"p-button-rounded p-button-outlined px-4\",\n onClick: _ctx.onClickRetry\n }, {\n default: _withCtx(() => [\n _createVNode(\"span\", _hoisted_9, [\n _createVNode(_component_InlineSvgScoped, {\n class: \"icon-retry\",\n src: require(`@/assets/images/icons/icon-refresh.svg`),\n \"aria-label\": \"icon-retry\"\n }, null, 8, [\"src\"])\n ]),\n _createVNode(\"span\", _hoisted_10, _toDisplayString(_ctx.$t(\"AppResource.Retry\")), 1)\n ]),\n _: 1\n }, 8, [\"onClick\"]))\n : _createCommentVNode(\"\", true)\n ])\n ], 2))\n}","import { render } from \"./EntrancePlantStatusBanner.vue?vue&type=template&id=a02eff30&ts=true\"\nimport script from \"./EntrancePlantStatusBanner.ts?vue&type=script&lang=ts\"\nexport * from \"./EntrancePlantStatusBanner.ts?vue&type=script&lang=ts\"\n\nimport \"./EntrancePlantStatusBanner.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 { mapState } from 'vuex';\nimport { Vue, Options } from 'vue-class-component';\nimport { getPlantIconImageUrlsByType } from '@/core/utils/utils';\nimport Gate from './EntrancePlantDashboardGate/EntrancePlantDashboardGate.vue';\nimport CardContainer from '@/views/components/CardContainer/CardContainer.vue';\nimport {\n EntrancePlantDetailDTO,\n} from 'client-generator/generated-clients/plants';\nimport plantsClient from '@/core/services/plants';\nimport EntrancePlantStatusBanner from './EntrancePlantStatusBanner/EntrancePlantStatusBanner.vue';\nimport DialogAddEditGate from '../EntrancePlantGate/DialogAddEditGate/DialogAddEditGate.vue';\n\n@Options({\n name: 'EntrancePlantDashboard',\n components: {\n Gate,\n CardContainer,\n EntrancePlantStatusBanner,\n DialogAddEditGate,\n },\n props: {},\n computed: {\n ...mapState(['currentEntrancePlant', 'adminView']),\n },\n emits: ['update-list'],\n watch: {},\n})\nexport default class EntrancePlantDashboard extends Vue {\n currentEntrancePlant!: EntrancePlantDetailDTO;\n countBadges = 0;\n adminView!: boolean;\n isAddGateDialogVisible = false;\n gateToEdit = null;\n\n get imageURLs() {\n return getPlantIconImageUrlsByType(\n this.currentEntrancePlant.icon,\n this.currentEntrancePlant.customIconImageUrl,\n this.currentEntrancePlant.plantType\n );\n }\n\n get imageSrcSetURLs() {\n if (this.imageURLs.length <= 1) return this.imageURLs[0];\n return `${this.imageURLs[0]}, ${this.imageURLs[1]} 2x, ${this.imageURLs[2]} 3x`;\n }\n\n get countBuildings() {\n if (this.currentEntrancePlant.buildings === undefined) return 0;\n return this.currentEntrancePlant.buildings.length;\n }\n\n get countApartments() {\n if (this.currentEntrancePlant.buildings === undefined) return 0;\n let apartmentsTotal = 0;\n for (const building of this.currentEntrancePlant.buildings) {\n if (building.apartments !== undefined) {\n apartmentsTotal += building.apartments.length;\n }\n }\n return apartmentsTotal;\n }\n\n get noMoreScsAddresses() {\n return this.currentEntrancePlant.scsAddressHelper?.availableScsAddressGate!.length === 0;\n }\n\n get NoSwitchboardAddresses() {\n return this.currentEntrancePlant.scsAddressHelper?.availableScsAddressSwitchboard!.length === 0;\n }\n\n async mounted() {\n await this.doCountBadges();\n }\n\n async doCountBadges() {\n const badgesList = await plantsClient.badgeAll(\n this.currentEntrancePlant.desktopId as number\n );\n this.countBadges = badgesList.length;\n }\n\n toggleCreateGateDialog() {\n this.isAddGateDialogVisible = !this.isAddGateDialogVisible;\n }\n\n handleUpdateList() {\n this.$emit('update-list');\n }\n\n goToParametersSettings() {\n this.$router.push({\n name: 'page-entranceplant-settings',\n });\n }\n\n goToResidents() {\n this.$router.push({\n name: 'page-entranceplant-residents',\n });\n }\n\n goToGuests() {\n this.$router.push({\n name: 'page-entranceplant-guests',\n });\n }\n\n goToMessages() {\n this.$router.push({\n name: 'page-entranceplant-messages',\n });\n }\n\n goToBadges() {\n this.$router.push({\n name: 'page-entranceplant-badges',\n });\n }\n\n goToSwitchboards() {\n this.$router.push({\n name: 'page-entranceplant-switchboards',\n });\n }\n\n goToAddSwitchboard() {\n this.$router.push({\n name: 'page-entranceplant-switchboards',\n query: { addSwitchboard: 'add-switchboard' },\n });\n }\n\n goToAddressBook() {\n this.$router.push({\n name: 'page-entranceplant-residents',\n });\n }\n}\n","import { render } from \"./EntrancePlantDashboard.vue?vue&type=template&id=298ec26a&ts=true\"\nimport script from \"./EntrancePlantDashboard.ts?vue&type=script&lang=ts\"\nexport * from \"./EntrancePlantDashboard.ts?vue&type=script&lang=ts\"\n\nimport \"./EntrancePlantDashboard.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 { renderSlot as _renderSlot, resolveComponent as _resolveComponent, createVNode as _createVNode, toDisplayString as _toDisplayString, withCtx as _withCtx, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode } from \"vue\"\n\nconst _hoisted_1 = { class: \"card__head d-flex align-items-center\" }\nconst _hoisted_2 = { class: \"d-flex align-items-center\" }\nconst _hoisted_3 = { class: \"ml-2\" }\nconst _hoisted_4 = { class: \"ml-auto mr-2\" }\nconst _hoisted_5 = { class: \"bt-icon bt-icon--xs\" }\nconst _hoisted_6 = { class: \"ml-2\" }\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_Card = _resolveComponent(\"Card\")\n\n return (_openBlock(), _createBlock(_component_Card, { class: \"card--primary\" }, {\n content: _withCtx(() => [\n _createVNode(\"div\", _hoisted_1, [\n _renderSlot(_ctx.$slots, \"title\", {}, () => [\n _createVNode(\"h3\", _hoisted_2, [\n _createVNode(_component_InlineSvgScoped, { src: _ctx.titleIcon }, null, 8, [\"src\"]),\n _createVNode(\"span\", _hoisted_3, _toDisplayString(_ctx.title), 1)\n ])\n ]),\n _createVNode(\"div\", _hoisted_4, [\n _renderSlot(_ctx.$slots, \"actionButton\", {}, () => [\n (_ctx.showActionButton)\n ? (_openBlock(), _createBlock(_component_Button, {\n key: 0,\n disabled: _ctx.disabled,\n onClick: _ctx.onActionButtonClick,\n class: \"p-button-rounded p-button-outlined\"\n }, {\n default: _withCtx(() => [\n _createVNode(\"span\", _hoisted_5, [\n _createVNode(_component_InlineSvgScoped, {\n src: \n require(`@/assets/images/icons/icon-plus-outline.svg`)\n ,\n \"aria-label\": \"icon-grid\"\n }, null, 8, [\"src\"])\n ]),\n _createVNode(\"span\", _hoisted_6, _toDisplayString(_ctx.actionButtonLabel), 1)\n ]),\n _: 1\n }, 8, [\"disabled\", \"onClick\"]))\n : _createCommentVNode(\"\", true)\n ])\n ])\n ]),\n _renderSlot(_ctx.$slots, \"default\")\n ]),\n _: 1\n }))\n}","import { Vue, Options } from 'vue-class-component';\n\n@Options({\n name: 'CardContainer',\n components: {},\n props: {\n titleIcon: {\n type: String,\n required: true,\n },\n title: {\n type: String,\n required: true,\n },\n showActionButton: {\n type: Boolean,\n required: false,\n },\n actionButtonLabel: {\n type: String,\n required: false,\n },\n disabled: {\n type:Boolean,\n required: false, \n default: false\n\n }\n },\n watch: {},\n emits: ['on-Action-Button-Click']\n})\n\nexport default class CardContainer extends Vue {\n titleIcon!: string;\n title!: string;\n showActionButton!: boolean;\n actionButtonLabel!: string;\n disabled!:boolean;\n\n\n\n onActionButtonClick () {\n this.$emit('on-Action-Button-Click');\n }\n}\n","import { render } from \"./CardContainer.vue?vue&type=template&id=5aab2bae&ts=true\"\nimport script from \"./CardContainer.ts?vue&type=script&lang=ts\"\nexport * from \"./CardContainer.ts?vue&type=script&lang=ts\"\n\nimport \"./CardContainer.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__","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!./EntrancePlantStatusBanner.scss?vue&type=style&index=0&lang=scss\"","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!./EntrancePlantDashboard.scss?vue&type=style&index=0&lang=scss\"","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!./EntrancePlantDashboardGate.scss?vue&type=style&index=0&lang=scss\"","/**\n * lodash (Custom Build) \n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors \n * Released under MIT license \n * Based on Underscore.js 1.8.3 \n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the `TypeError` message for \"Functions\" methods. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/** Used to match leading and trailing whitespace. */\nvar reTrim = /^\\s+|\\s+$/g;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n return root.Date.now();\n};\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n result = wait - timeSinceLastCall;\n\n return maxing ? nativeMin(result, maxWait - timeSinceLastInvoke) : result;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && objectToString.call(value) == symbolTag);\n}\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = value.replace(reTrim, '');\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nmodule.exports = debounce;\n"],"sourceRoot":""}