{"version":3,"sources":["webpack:///./src/components/AlarmQueue.vue?85bb","webpack:///./src/components/AlarmQueue.vue?d79d","webpack:///./src/components/AlarmQueue.vue?d807","webpack:///./src/components/AlarmQueue.vue","webpack:///./src/components/AlarmQueue.vue?7f6e"],"names":["render","_vm","this","_h","$createElement","_c","_self","ref","staticClass","attrs","events","length","licenseDetails","isValid","_v","isLicenseLoaded","_e","_l","column","key","sort","class","columnClass","description","on","$event","sortColumnClick","_s","title","event","i","regionalEventID","isPickUpOnNameEnabled","eventID","hoverEvent","unhoverEvent","preventDefault","$refs","menu","open","userCanProcessEvent","stopPropagation","selectedAlarms","domProps","isAlarmSelected","alarmSelectedToggled","fromNow","created","groupTitle","eventType","displayTitle","priority","alarmCount","regionTitle","dispatchedGuardCallsigns","dispatchedGuards","claimingEventId","directives","name","rawName","modifiers","getEventQueueUserIndex","claimedUserFullName","charAt","canViewSystemEvents","eventTypeID","callWaiting","availableClients","activeCalls","convertUtcDateTimeToLocalDateTimeString","lastUnparkedAt","username","style","routingGroupColourCode","routingGroupTitle","locations","alarmIconClick","isMissedTargetResponseTimeIcon","alarmAgeWarningSeconds","age","_t","claimedUserId","claimUnclaimEvent","currentUserId","closeEventClaimedModal","model","value","callback","$$v","showEventClaimedWarningModal","expression","slot","tempEventData","handleEventQueueItem","showIntercomAlarmQueue","showIntercomModal","selectedCall","staticRenderFns","Eventqueue","License","selectedCallTemplate","userId","callId","eventId","areaName","deviceId","deviceEndPoint","eventQueueUserList","columns","isDefault","currentSort","reversed","featuresList","router","currentRoute","result","filter","c","mounted","getCallWaitingPrefs","getActiveEvents","filteredEvents","q","EventTypes","Alarm","Call","isUserInViews","isDisplayIntercomInViewsEnabled","Patrol","isDisplayScheduleToursInAlarmsEnabled","inProcessing","unParkAt","isPermanentParked","readyForPostProcessing","groupID","pickupCall","call","callQueue","find","currentCaller","setCaller","res","status","setShowIntercomModal","console","error","warn","getCallWaitingValue","prefId","callWaitTime","callWaitingPrefs","pref","prefValue","escapedTime","end","now","Date","duration","diff","seconds","asSeconds","waitTime","callClients","x","getPermissions","isAdmin","isTypeColumnEnabled","splice","dbFederationEnabled","push","claimEventsFeatureAvailable","setHoverEvent","getCurrentSort","desc","clickColumn","setCurrentSort","existingDesc","defaultDesc","setCurrentSortChanged","isToggleMapEnabled","setHideMapFlag","setDisplayedEvent","serverEventTitle","substring","Math","min","target","checked","addSelectedAlarm","parseInt","setAllAlarmsSelected","removeSelectedAlarm","includes","allRowsChecked","forEach","onAllAlarmsSelected","selectAll","indexOf","allAlarmsClicked","setSelectedAlarms","setAllAlarmsClicked","eventsChanged","newVal","oldVal","allChecked","updateEventQueueUsers","newEvent","f","oldEvent","reloadQueue","refreshQueue","$forceUpdate","setRefreshQueue","permissions","canClaimEvents","ReleaseEvent","ClaimEvent","showEventClaimedWarning","canProcessClaimedEvent","users","map","m","user","findIndex","u","beforeDestroy","Getter","Action","Mutation","State","AlarmQueue","components","VuePerfectScrollbar","EventQueueAreaNotesIcon","LinkedTaskIcon","RestoreIcon","IntercomModal","RegionalHandlerMixin","component"],"mappings":"8IAAA,IAAIA,EAAS,WAAa,IAAIC,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,sBAAsB,CAACE,IAAI,KAAKC,YAAY,2CAA2C,CAACH,EAAG,MAAM,CAACG,YAAY,eAAe,CAACH,EAAG,UAAU,CAACG,YAAY,SAASC,MAAM,CAAC,QAAU,UAAU,KAAOR,EAAIS,QAA+B,GAArBT,EAAIS,OAAOC,QAAeV,EAAIW,eAAeC,UAAU,CAACZ,EAAIa,GAAG,6BAA6BT,EAAG,UAAU,CAACG,YAAY,SAASC,MAAM,CAAC,QAAU,SAAS,KAAOR,EAAIc,kBAAoBd,EAAIW,eAAeC,QAAQ,UAAU,0BAA0B,CAACZ,EAAIa,GAAG,0EAA2Eb,EAAIS,QAAUT,EAAIS,OAAOC,OAAS,EAAGN,EAAG,QAAQ,CAACG,YAAY,kDAAkD,CAACH,EAAG,QAAQ,CAACA,EAAG,KAAK,CAAEJ,EAAmB,gBAAEI,EAAG,KAAK,CAACI,MAAM,CAAC,UAAU,eAAe,CAACJ,EAAG,OAAO,CAACG,YAAY,6CAA6CP,EAAIe,KAAKf,EAAIgB,GAAIhB,EAAW,SAAE,SAASiB,GAAQ,OAAOb,EAAG,KAAK,CAACc,IAAID,EAAOE,MAAM,CAACf,EAAG,OAAO,CAACG,YAAY,eAAea,MAAMpB,EAAIqB,YAAYJ,GAAQT,MAAM,CAAC,MAAQS,EAAOK,YAAY,eAAgB,UAAaL,EAAY,OAAIM,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOxB,EAAIyB,gBAAgBR,MAAW,CAACb,EAAG,OAAO,CAACJ,EAAIa,GAAGb,EAAI0B,GAAGT,EAAOU,iBAAiB3B,EAAwB,qBAAEI,EAAG,KAAK,CAACJ,EAAIa,GAAG,gBAAgBb,EAAIe,KAAKX,EAAG,KAAK,CAACA,EAAG,OAAO,CAACG,YAAY,wBAAwB,CAACP,EAAIa,GAAG,gBAAgB,KAAKT,EAAG,QAAQ,CAACI,MAAM,CAAC,UAAU,oBAAoBR,EAAIgB,GAAIhB,EAAU,QAAE,SAAS4B,EAAMC,GAAG,OAAOzB,EAAG,KAAK,CAACc,IAAIU,EAAME,gBAAgBV,MAAM,CAAEpB,EAAI+B,sBAA0C,GAAlB,iBAAsBvB,MAAM,CAAC,GAAKoB,EAAMI,QAAQ,QAAUJ,EAAMI,SAAST,GAAG,CAAC,UAAY,SAASC,GAAQ,OAAOxB,EAAIiC,WAAWL,IAAQ,WAAa,SAASJ,GAAQ,OAAOxB,EAAIkC,aAAaN,IAAQ,YAAc,SAASJ,GAAgC,OAAxBA,EAAOW,iBAAwBnC,EAAIoC,MAAMC,KAAKC,KAAKd,IAAS,MAAQ,SAASA,IAASxB,EAAI+B,uBAAwB/B,EAAIuC,oBAAoBX,MAAe,CAAE5B,EAAmB,gBAAEI,EAAG,KAAK,CAACG,YAAY,cAAcgB,GAAG,CAAC,MAAQ,SAASC,GAAQA,EAAOgB,qBAAsB,CAACpC,EAAG,QAAQ,CAACI,MAAM,CAAC,KAAO,WAAW,UAAUR,EAAIyC,eAAe,UAAW,kBAAqBb,EAAa,SAAIc,SAAS,CAAC,MAAQd,EAAMI,QAAQ,QAAUhC,EAAI2C,gBAAgBf,EAAMI,UAAUT,GAAG,CAAC,OAAS,SAASC,GAAQ,OAAOxB,EAAI4C,qBAAqBpB,SAAcxB,EAAIe,KAAKX,EAAG,KAAK,CAACJ,EAAIa,GAAGb,EAAI0B,GAAG1B,EAAI6C,QAAQjB,EAAMkB,aAAa1C,EAAG,KAAK,CAACJ,EAAIa,GAAG,iBAAiBb,EAAI0B,GAAGE,EAAMmB,YAAY,kBAAkB3C,EAAG,8BAA8B,CAACI,MAAM,CAAC,MAAQoB,MAAU,GAAI5B,EAAuB,oBAAEI,EAAG,KAAK,CAACI,MAAM,CAAC,GAAK,aAAa,eAAgB,cAAiBoB,EAAa,UAAK,CAAC5B,EAAIa,GAAG,iBAAiBb,EAAI0B,GAAG1B,EAAIgD,UAAUpB,IAAQ,kBAAkB5B,EAAIe,KAAMf,EAAyB,sBAAEI,EAAG,KAAK,CAACG,YAAY,gBAAgBC,MAAM,CAAC,UAAU,eAAee,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOxB,EAAIuC,oBAAoBX,MAAU,CAAC5B,EAAIa,GAAG,iBAAiBb,EAAI0B,GAAGE,EAAMqB,cAAc,kBAAkB7C,EAAG,KAAK,CAACI,MAAM,CAAC,UAAU,gBAAgB,CAACR,EAAIa,GAAGb,EAAI0B,GAAGE,EAAMqB,iBAAiB7C,EAAG,KAAK,CAACJ,EAAIa,GAAGb,EAAI0B,GAAGE,EAAMsB,aAAa9C,EAAG,KAAK,CAACI,MAAM,CAAC,UAAU,gBAAgB,CAACR,EAAIa,GAAGb,EAAI0B,GAAGE,EAAMuB,WAAa,EAAIvB,EAAMuB,WAAa,QAASnD,EAAuB,oBAAEI,EAAG,KAAK,CAACJ,EAAIa,GAAGb,EAAI0B,GAAGE,EAAMwB,gBAAgBpD,EAAIe,KAAMf,EAAwB,qBAAEI,EAAG,KAAK,CAACJ,EAAIa,GAAGb,EAAI0B,GAAG1B,EAAIqD,yBAAyBzB,EAAM0B,sBAAsBtD,EAAIe,KAAMf,EAA+B,4BAAEI,EAAG,KAAK,CAAEJ,EAAIuD,iBAAmBvD,EAAIuD,iBAAmB3B,EAAMI,QAAS5B,EAAG,IAAI,CAACG,YAAY,uCAAwCqB,EAAmB,cAAExB,EAAG,OAAO,CAACoD,WAAW,CAAC,CAACC,KAAK,YAAYC,QAAQ,oBAAoBC,UAAU,CAAC,OAAQ,KAAQvC,MAAO,qBAAwBpB,EAAI4D,uBAAuBhC,EAAMiC,qBAAuBrD,MAAM,CAAC,MAAUoB,EAAyB,oBAAI,4BAA6B,CAAC5B,EAAIa,GAAG,mBAAmBb,EAAI0B,GAAGE,EAAMiC,oBAAsBjC,EAAMiC,oBAAoBC,OAAO,GAAK,IAAI,oBAAoB9D,EAAIe,OAAOf,EAAIe,KAAKX,EAAG,KAAK,CAACA,EAAG,MAAM,CAACG,YAAY,wBAAwB,CAAEP,EAAI+D,qBAA6C,KAAtBnC,EAAMoC,YAAoB5D,EAAG,OAAO,CAACG,YAAY,mCAAmCa,MAAMpB,EAAIiE,YAAYrC,GAAOpB,MAAM,CAAC,MAAQ,sBACllIR,EAAIkE,iBAAmB,kBACvBlE,EAAImE,cAAc,CAAC/D,EAAG,IAAI,CAACG,YAAY,oBAAoBP,EAAIe,KAAMa,EAAoB,eAAExB,EAAG,OAAO,CAACG,YAAY,kCAAkCC,MAAM,CAAC,MAAQ,uBACnKR,EAAIoE,wCAAwCxC,EAAMyC,iBACjDzC,EAAM0C,UAAY1C,EAAM0C,SAAS5D,OAAS,EAAI,OAASkB,EAAM0C,SAAW,OAAOtE,EAAIe,KAAMa,EAA4B,uBAAExB,EAAG,OAAO,CAACG,YAAY,uBAAuBgE,MAAM,CAAG,mBAAoB,IAAM3C,EAAM4C,wBAA0BhE,MAAM,CAAC,MAAQoB,EAAM6C,qBAAqBzE,EAAIe,KAAwB,MAAlBa,EAAM8C,WAAoB9C,EAAM8C,UAAUhE,OAAS,EAAGN,EAAG,IAAI,CAACG,YAAY,6CAA6CC,MAAM,CAAC,MAAQ,mBAAmBe,GAAG,CAAC,MAAQ,SAASC,GAAiC,OAAzBA,EAAOgB,kBAAyBxC,EAAI2E,eAAe/C,OAAW5B,EAAIe,KACthBf,EAAI4E,gCACH5E,EAAI6E,uBAAyB,GAC7BjD,EAAMkD,IAAM9E,EAAI6E,uBAChBzE,EAAG,IAAI,CAACG,YAAY,oCAAoCC,MAAM,CAAC,MAAQ,oEACvER,EAAI6E,uBACJ,aAAatD,GAAG,CAAC,MAAQ,SAASC,GAAiC,OAAzBA,EAAOgB,kBAAyBxC,EAAIuC,oBAAoBX,OAAW5B,EAAIe,KAAKX,EAAG,mBAAmB,CAACG,YAAY,OAAOC,MAAM,CAAC,MAAQoB,KAAU5B,EAAyB,sBAAEI,EAAG,eAAe,CAACI,MAAM,CAAC,gBAAgBoB,EAAM,UAAW,sBAAyBA,EAAqB,mBAAM5B,EAAIe,KAAKf,EAAI+E,GAAG,QAAQ,KAAK,CAAC,WAAanD,EAAM,MAAQC,IAAI7B,EAAI+E,GAAG,SAAS,KAAK,CAAC,WAAanD,EAAM,MAAQC,IAAK7B,EAA+B,4BAAEI,EAAG,OAAO,CAAGwB,EAAMoD,cAAmLhF,EAAIe,KAAxKX,EAAG,IAAI,CAACG,YAAY,eAAeC,MAAM,CAAC,MAAQ,oBAAoBe,GAAG,CAAC,MAAQ,SAASC,GAAiC,OAAzBA,EAAOgB,kBAAyBxC,EAAIiF,kBAAkBrD,OAAqBA,EAAMoD,eAAiBhF,EAAIkF,eAAiBtD,EAAMoD,cAAe5E,EAAG,IAAI,CAACG,YAAY,oBAAoBC,MAAM,CAAC,MAAUoB,EAAyB,oBAAI,6BAA8B5B,EAAIe,KAAMa,EAAMoD,eAAiBhF,EAAIkF,eAAiBtD,EAAMoD,cAAe5E,EAAG,IAAI,CAACG,YAAY,eAAeC,MAAM,CAAC,MAAQ,sBAAsBe,GAAG,CAAC,MAAQ,SAASC,GAAiC,OAAzBA,EAAOgB,kBAAyBxC,EAAIiF,kBAAkBrD,OAAW5B,EAAIe,OAAOf,EAAIe,MAAM,UAAS,KAAKf,EAAIe,MAAM,GAAGX,EAAG,UAAU,CAACI,MAAM,CAAC,KAAO,KAAK,SAAW,GAAG,KAAO,UAAUe,GAAG,CAAC,OAASvB,EAAImF,wBAAwBC,MAAM,CAACC,MAAOrF,EAAgC,6BAAEsF,SAAS,SAAUC,GAAMvF,EAAIwF,6BAA6BD,GAAKE,WAAW,iCAAiC,CAACrF,EAAG,WAAW,CAACsF,KAAK,eAAe,CAACtF,EAAG,MAAM,CAACA,EAAG,KAAK,CAACJ,EAAIa,GAAG,+CAA+CT,EAAG,MAAM,CAACA,EAAG,IAAI,CAACA,EAAG,SAAS,CAAEJ,EAAI2F,eAAiB3F,EAAI2F,cAAc9B,oBAAqBzD,EAAG,OAAO,CAACJ,EAAIa,GAAG,iBAAiBb,EAAI0B,GAAG1B,EAAI2F,cAAc9B,qBAAqB,kBAAkBzD,EAAG,OAAO,CAACJ,EAAIa,GAAG,oBAAoBb,EAAIa,GAAG,+CAAgDb,EAA0B,uBAAEI,EAAG,OAAO,CAACJ,EAAIa,GAAG,wCAAwCb,EAAIe,SAASX,EAAG,WAAW,CAACsF,KAAK,gBAAgB,CAAE1F,EAA0B,uBAAEI,EAAG,WAAW,CAACI,MAAM,CAAC,QAAU,WAAWe,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOxB,EAAI4F,qBAAqB5F,EAAI2F,kBAAkB,CAAC3F,EAAIa,GAAG,gCAAgCb,EAAIe,KAAKX,EAAG,IAAI,CAACG,YAAY,2BAA2BC,MAAM,CAAC,eAAe,SAASe,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOxB,EAAImF,4BAA4B,CAAC/E,EAAG,OAAO,CAACG,YAAY,+BAA+BP,EAAIa,GAAG,8BAA8B,IAAI,GAAIb,EAAI6F,wBAA0B7F,EAAI8F,kBAAmB1F,EAAG,iBAAiB,CAACI,MAAM,CAAC,YAAcR,EAAI+F,gBAAgB/F,EAAIe,MAAM,IACx9EiF,EAAkB,G,kQCShBC,GADQ,uBAAU,SACL,uBAAU,eACvBC,EAAU,uBAAU,WAW1B,yE,OA6CS,EAAAC,qBAAoC,CAC3CC,OAAQ,EACRC,OAAQ,EACRC,QAAS,EACTC,SAAU,KACVC,SAAU,EACVC,eAAgB,KAChB9E,MAAO,MAGA,EAAAoE,aAAY,kBAAoB,EAAKI,sBAGrC,EAAA5C,gBAA0B,KAG1B,EAAAmD,mBAA+B,CAAC,IAGhC,EAAAlB,8BAAwC,EAGxC,EAAAG,cAA+B,KAEhC,EAAAgB,QAAiB,CACvB,CACChF,MAAO,UACPR,KAAM,EACNyF,WAAW,EACXC,YAAa,EACbvF,YAAa,+BACbwF,UAAU,GAEX,CACCnF,MAAO,WACPR,KAAM,EACNyF,WAAW,EACXC,YAAa,EACbvF,YAAa,yBACbwF,UAAU,GAEX,CACCnF,MAAO,QACPR,KAAM,EACNyF,WAAW,EACXC,YAAa,EACbvF,YAAa,cACbwF,UAAU,GAEX,CACCnF,MAAO,WACPR,KAAM,EACNyF,WAAW,EACXC,YAAa,EACbvF,YAAa,iBACbwF,UAAU,GAEX,CACCnF,MAAO,QACPR,KAAM,EACNyF,WAAW,EACXC,YAAa,EACbvF,YAAa,4BACbwF,UAAU,I,EA4cb,OAxjBwC,oBAgHvC,sBAAY,oCAAqB,C,IAAjC,WACC,OAAO,iBAAI7G,KAAK8G,aAAc,CAAC,SAAU,kB,gCAG1C,sBAAY,6CAA8B,C,IAA1C,WACC,OAAO,iBAAI9G,KAAK8G,aAAc,CAAC,SAAU,kC,gCAG1C,sBAAY,kCAAmB,C,IAA/B,WACC,OAAO,iBAAI9G,KAAK8G,aAAc,CAAC,SAAU,aAAc,6B,gCAGxD,sBAAY,8CAA+B,C,IAA3C,WACC,OAAO,iBAAI9G,KAAK8G,aAAc,CAAC,SAAU,aAAc,WAAY,oBAC/D,iBAAI9G,KAAK8G,aAAc,CAAC,SAAU,aAAc,W,gCAIrD,sBAAY,oDAAqC,C,IAAjD,WACC,OAAO,iBAAI9G,KAAK8G,aAAc,CAAC,SAAU,aAAc,2B,gCAKxD,sBAAY,4BAAa,C,IAAzB,WACC,OAAOC,EAAA,KAAOC,cAA4C,SAA5BD,EAAA,KAAOC,aAAaxD,M,gCAKnD,sBAAY,kCAAmB,C,IAA/B,WACC,IAAMyD,EAASjH,KAAK0G,QAAQQ,QAAO,SAAAC,GAAK,cAAAA,EAAEzF,SAC1C,OAAwB,GAAjBuF,EAAOxG,Q,gCAGF,YAAA2G,QAAb,W,oHACC,SAAMpH,KAAKqH,uB,cAAX,S,YAGD,sBAAW,qBAAM,C,IAAjB,sBACC,GAA4B,MAAxBrH,KAAKsH,gBACR,OAAO,KAIR,IAAIC,EAAiBvH,KAAKsH,gBAAgBJ,QACzC,SAAAM,GACC,OAAEA,EAAEzD,aAAe0D,EAAA,KAAWC,OAE5BF,EAAEzD,aAAe0D,EAAA,KAAWE,QACzB,EAAKC,eAAiB,EAAKhC,wBAA4B,EAAKgC,eAAiB,EAAKC,kCAIrFL,EAAEzD,aAAe0D,EAAA,KAAWK,QAC3B,EAAKC,wCAA0C,EAAKH,gBAIrC,GAAlBJ,EAAEQ,cACY,MAAdR,EAAES,UACqB,GAAvBT,EAAEU,mBAC0B,MAA5BV,EAAEW,wBACFX,EAAEY,WAGJ,OAAOb,G,gCAGM,YAAAc,WAAd,SAAyB1G,G,2IACpB3B,KAAK4F,wBAGJ0C,EAAOtI,KAAKuI,UAAUC,MAAK,SAAAF,GAAQ,OAAAA,EAAKjC,UAAY1E,EAAjB,WACnC2G,GACGG,EAA4B,CACjCtC,OAAQnG,KAAKiF,cACbmB,OAAQkC,EAAKlC,OACbC,QAASiC,EAAKjC,QACdC,SAAU,KACVC,SAAU+B,EAAK/B,SACfC,eAAgB8B,EAAK9B,eACrB9E,MAAO4G,EAAK5G,OAGD,GAAM,OAAIgH,UAAUD,KAX7B,OAJD,M,cAeIE,EAAM,SACO,MAAZ,QAAH,EAAAA,SAAG,eAAEC,SACR5I,KAAK8F,aAAe2C,EAEpBzI,KAAK6I,sBAAqB,IAG1BC,QAAQC,MAAM,mCAAoCT,EAAKlC,Q,aAIxD0C,QAAQE,KAAK,oCAAqCrH,EAAMI,S,mCAK3D,sBAAW,qCAAsB,C,IAAjC,WACC,OAAO,iBAAI/B,KAAK8G,aAAc,CAAC,SAAU,aAAc,WAAY,oBAC/D,iBAAI9G,KAAK8G,aAAc,CAAC,SAAU,aAAc,W,gCAG7C,YAAAmC,oBAAR,SAA4BC,EAAgBC,G,QACvC/D,EAAiE,QAA5D,EAAwB,QAAxB,EAAGpF,KAAKoJ,wBAAgB,eAAEZ,MAAK,SAAAa,GAAQ,OAAAA,EAAKH,QAAL,YAAqB,eAAGI,UAExE,OAAiB,OAAVlE,GAAkBA,EAAQpF,KAAKuJ,YAAYJ,IAOxC,YAAAnF,YAAR,SAAoBsE,GAGtB,OAAItI,KAAKiJ,oBAAoB,IAAKX,EAAKzF,SAC/B,oBAEC7C,KAAKiJ,oBAAoB,IAAKX,EAAKzF,SACpC,sBAEC7C,KAAKiJ,oBAAoB,IAAKX,EAAKzF,SACpC,sBAEA,IAID,YAAA0G,YAAR,SAAoBC,GACnB,IAAIC,EAAM,IAAO,IAAIC,MACjBC,EAAW,IAAOA,SAASF,EAAIG,KAAKJ,IACpCK,EAAUF,EAASG,YAEnBC,EAAWF,EAGf,OAAOE,GAGR,sBAAY,+BAAgB,C,IAA5B,W,MACC,SAAO/J,KAAKgK,YAAY9C,QAAO,SAAA+C,GAAK,aAAAA,EAAE9D,UAAgB1F,OAAM,uBAAI,G,gCAGjE,sBAAY,0BAAW,C,IAAvB,W,MACC,SAAOT,KAAKuI,UAAUrB,QAAO,SAAA+C,GAAK,OAAAA,EAAA,YAAYxJ,OAAM,uBAAI,G,gCAMzD,sBAAY,kCAAmB,C,IAA/B,WACC,OACC,iBAAIT,KAAK8G,aAAc,CAAC,SAAU,aAAc,mBAC/C9G,KAAKkK,eAAeC,SAAWnK,KAAKkK,eAAepG,sB,gCAItD,sBAAW,mCAAoB,C,IAA/B,WACC,OAAO,iBAAI9D,KAAK8G,aAAc,CAAC,SAAU,aAAc,SAAU,sB,gCAIlE,sBAAY,iCAAkB,C,IAA9B,WACC,OAAO,iBAAI9G,KAAK8G,aAAc,CAAC,SAAU,OAAQ,sB,gCAGlD,sBAAW,oCAAqB,C,IAAhC,WACC,OAAO,iBAAI9G,KAAK8G,aAAc,CAAC,SAAU,aAAc,iB,gCAGjD,YAAAjE,QAAP,WACK7C,KAAKoK,qBACRpK,KAAK0G,QAAQ2D,OAAO,EAAG,EAAG,CACzB3I,MAAO,OACPR,KAAM,EACNyF,WAAW,EACXC,YAAa,EACbvF,YAAa,6CACbwF,UAAU,IAGR7G,KAAKsK,qBACRtK,KAAK0G,QAAQ6D,KAAK,CACjB7I,MAAO,SACPR,KAAM,EACNyF,WAAW,EACXC,YAAa,EACbvF,YAAa,mBACbwF,UAAU,IAIR7G,KAAKwK,6BACRxK,KAAK0G,QAAQ6D,KAAK,CACjB7I,MAAO,aACPR,KAAM,EACNyF,WAAW,EACXC,YAAa,EACbvF,YAAa,iCACbwF,UAAU,KAKN,YAAA7E,WAAP,SAAkBL,GACjB3B,KAAKyK,cAAc9I,IAGb,YAAAM,aAAP,SAAoBN,GACnB3B,KAAKyK,cAAc,KAGb,YAAArJ,YAAP,SAAmBJ,GAClB,IAAI4F,EAAc5G,KAAK0K,eAEvB,OAAwB,GAApB9D,EAAY1F,MAAaF,EAAO2F,UAC5B,GACGC,EAAY1F,MAAQF,EAAOE,KAC9B0F,EAAY+D,KAAO,WAAa,eADjC,GAKD,YAAAnJ,gBAAP,SAAuBoJ,GAClB,0BAAE1J,EAAA,EAAAA,KAAM,IAAA2F,SAAuB,IAAA8D,KAE/BC,EAAY1J,MAAQA,EACvBlB,KAAK6K,eAAe,CACnB3J,KAAM0J,EAAY1J,KAClByJ,KAAMC,EAAY/D,SAClBA,SAAU+D,EAAY/D,WAGnBiE,GAAgBC,EACnB/K,KAAK6K,eAAe,CACnB3J,KAAM0J,EAAY1J,KAClByJ,MAAOG,EACPjE,SAAU+D,EAAY/D,WAGvB7G,KAAK6K,eAAe,CACnB3J,KAAM,EACNyJ,MAAM,EACN9D,UAAU,IAKb7G,KAAKgL,uBAAsB,IAGrB,YAAAtG,eAAP,SAAsB/C,GAEjB3B,KAAKiL,oBACRjL,KAAKkL,gBAAe,GAErBlL,KAAKmL,kBAAkBxJ,IAGjB,YAAAoB,UAAP,SAAiBpB,GAChB,IAAMD,EAAQC,EAAMyJ,iBACpB,OAAgB,MAAT1J,EAAgB,UAAYA,EAAM2J,UAAU,EAAGC,KAAKC,IAAI7J,EAAMjB,OAAQ,MAIvE,YAAAkC,qBAAP,SAA4BhB,GAEvBA,EAAM6J,OAAOC,SAGhBzL,KAAK0L,iBAAiBC,SAAShK,EAAM6J,OAAOpG,QAGxCpF,KAAKwC,eAAe/B,QAAUT,KAAKQ,OAAOC,QAC7CT,KAAK4L,sBAAqB,KAK3B5L,KAAK6L,oBAAoBF,SAAShK,EAAM6J,OAAOpG,QAG/CpF,KAAK4L,sBAAqB,KAIrB,YAAAlJ,gBAAP,SAAuBX,GACtB,OAAO/B,KAAKwC,eAAesJ,SAAS/J,IAM9B,YAAAgK,eAAP,sBAMC,OALA/L,KAAKQ,OAAOwL,SAAQ,SAAArK,GACnB,IAAK,EAAKe,gBAAgBf,EAAMI,SAC/B,OAAO,MAGF,GAID,YAAAkK,oBAAP,SAA2BC,GAD3B,WAGKA,EACHlM,KAAKQ,OAAOwL,SAAQ,SAAArK,IACiC,IAAhD,EAAKa,eAAe2J,QAAQxK,EAAMI,UACrC,EAAK2J,iBAAiB/J,EAAMI,YAK1B/B,KAAKoM,kBACRpM,KAAKqM,kBAAkB,IAKzBrM,KAAKsM,qBAAoB,IAInB,YAAAC,cAAP,SAAqBC,EAAyBC,GAD9C,WAIC,GAAIzM,KAAKQ,SAAWR,KAAKQ,OAAOC,QAAUT,KAAKwC,gBAAkBxC,KAAKwC,eAAe/B,SAAiC,GAAtBT,KAAKQ,OAAOC,QAC3GT,KAAK4L,sBAAqB,OACpB,CAEN,IAAIc,EAAsB1M,KAAK+L,iBAC/B/L,KAAK4L,qBAAqBc,GAG3B,GAAI1M,KAAKwK,8BACRxK,KAAK2M,sBAAsB3M,KAAKQ,QAG5BR,KAAKsD,iBAAiB,CAEzB,IAAIsJ,EAAWJ,EAAOhE,MAAK,SAAAqE,GAAK,OAAAA,EAAE9K,SAAW,EAAb,mBAC5B+K,EAAWL,EAAOjE,MAAK,SAAAqE,GAAK,OAAAA,EAAE9K,SAAW,EAAb,mBAG5B6K,EAAS7H,eAAiB+H,EAAS/H,gBACtC/E,KAAKsD,gBAAkB,QAOpB,YAAAyJ,YAAP,WACK/M,KAAKgN,eAERhN,KAAKqM,kBAAkB,IAGvBrM,KAAKiN,eAELjN,KAAKkN,iBAAgB,KAIvB,sBAAY,0CAA2B,C,IAAvC,WACC,OAAO,iBAAIlN,KAAK8G,aAAc,CAAC,SAAU,aAAc,c,gCAGxD,sBAAY,sCAAuB,C,IAAnC,WACC,OAAO,iBAAI9G,KAAK8G,aAAc,CAAC,SAAU,aAAc,WAAY,wB,gCAGpE,sBAAY,qCAAsB,C,IAAlC,WACC,OAAO,iBAAI9G,KAAK8G,aAAc,CAAC,SAAU,aAAc,WAAY,0B,gCAGtD,YAAA9B,kBAAd,SAAgCrD,G,2HAC3B3B,KAAKwK,6BAA+BxK,KAAKmN,YAAYC,gBACxDpN,KAAKsD,gBAAkB3B,EAAMI,QACzBJ,EAAMoD,eAAiBpD,EAAMoD,cAAgB,EAC5CpD,EAAMoD,eAAiB/E,KAAKiF,cAA5B,MACH,GAAM,OAAIoI,aAAa1L,EAAMI,UAF3B,OAFD,M,OAID,S,oCAGD,SAAM,OAAIuL,WAAW3L,EAAMI,U,OAA3B,S,mCAKK,YAAAO,oBAAR,SAA4BX,GAQ3B,GALK3B,KAAKwK,6BACTxK,KAAK2F,qBAAqBhE,GAIvB3B,KAAKuN,yBAA2B5L,EAAMoD,eAAiBpD,EAAMoD,eAAiB/E,KAAKiF,cACtFjF,KAAK0F,cAAgB/D,EACrB3B,KAAKuF,8BAA+B,OAIpC,IACE5D,EAAMoD,eACPpD,EAAMoD,eAAiB/E,KAAKiF,eAC3BjF,KAAKwN,wBAA0B7L,EAAMoD,eAAiB/E,KAAKiF,cAG5D,YADAjF,KAAK2F,qBAAqBhE,GAMxBA,EAAMoC,cAAgB0D,EAAA,KAAWE,MAEpC3H,KAAKqI,WAAW1G,IAIV,YAAAuD,uBAAR,WACClF,KAAKuF,8BAA+B,EACpCvF,KAAK0F,cAAgB,MAMd,YAAAiH,sBAAR,SAA8BnM,GAA9B,WACOiN,EAAQjN,EAAOkN,KAAI,SAAAC,GAAK,OAAAA,EAAA,uBAE9BF,EAAMzB,SAAQ,SAAA4B,GACR,EAAKnH,mBAAmBqF,SAAS8B,IACrC,EAAKnH,mBAAmB8D,KAAKqD,OAQxB,YAAAjK,uBAAR,SAA+BiK,GAC9B,OAAO5N,KAAKyG,mBAAmBoH,WAAU,SAAAC,GAAK,OAAAA,GAAA,MAMvC,YAAAC,cAAR,WAEC/N,KAAKyG,mBAAqB,CAAC,IAC3BzG,KAAKsD,gBAAkB,MArjBL,gBAAlB0C,EAAWgI,Q,sCACO,gBAAlBhI,EAAWgI,Q,qCACO,gBAAlBhI,EAAWiI,Q,wCAES,gBAApBjI,EAAWkI,U,oCACS,gBAApBlI,EAAWkI,U,qCACS,gBAApBlI,EAAWkI,U,4CACS,gBAApBlI,EAAWkI,U,2CACS,gBAApBlI,EAAWkI,U,0CACS,gBAApBlI,EAAWkI,U,wCACS,gBAApBlI,EAAWkI,U,uCACS,gBAApBlI,EAAWkI,U,0CAEG,gBAAdjI,EAAQkI,O,qCACkB,gBAA1BlI,EAAQkI,MAAM,a,sCAGI,gBAAlBnI,EAAWiI,Q,qCACyB,gBAApCjI,EAAWgI,OAAO,mB,kCAGsB,gBAAxChI,EAAWgI,OAAO,uB,sCACwB,gBAA1ChI,EAAWgI,OAAO,yB,wCACuB,gBAAzChI,EAAWgI,OAAO,wB,uCACqB,gBAAvChI,EAAWgI,OAAO,sB,qCACmB,gBAArChI,EAAWgI,OAAO,oB,mCACA,gBAAlBhI,EAAWiI,Q,sCAEsB,gBAAjC,oBAAO,2B,0CACmB,gBAA1B,oBAAO,oB,mCAC6B,gBAApC,oBAAO,8B,6CACa,gBAApB,oBAAO,c,oCACkB,gBAAzB,oBAAO,mB,kCAEe,gBAAtB,oBAAO,gB,sCAEW,gBAAlBjI,EAAWiI,Q,0CACM,gBAAjBjI,EAAWmI,O,uCACM,gBAAjBnI,EAAWmI,O,gCACM,gBAAjBnI,EAAWmI,O,kCACM,gBAAjBnI,EAAWmI,O,wCACS,gBAApBnI,EAAWkI,U,2CACJ,gBAAP,a,qCAuXD,gBADC,mBAAM,sB,kCAkBN,MAGD,gBADC,mBAAM,W,4BA2BN,MAGD,gBADC,mBAAM,iB,0BAWN,MA7dmBE,EAAU,gBAT9B,uBAAU,CACVC,WAAY,CACXC,oBAAmB,IACnB,8BAA+BC,EAAA,KAC/B,mBAAoBC,EAAA,KACpB,eAAgBC,EAAA,KAChB,iBAAkBC,EAAA,SAGCN,GAwjBrB,EAxjBA,CAAwC,oBAAOO,EAAA,OAA1B,IChCgX,I,wBCQjYC,EAAY,eACd,EACA9O,EACAiG,GACA,EACA,KACA,WACA,MAIa,aAAA6I,E,2CCnBf,yBAAoiB,EAAG","file":"js/chunk-57f6308d.f8aab0da.js","sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('VuePerfectScrollbar',{ref:\"ps\",staticClass:\"flex-grow-1 flex-shrink-1 tab-container\"},[_c('div',{staticClass:\"tab-content\"},[_c('b-alert',{staticClass:\"m-r-10\",attrs:{\"variant\":\"primary\",\"show\":_vm.events && _vm.events.length == 0 && _vm.licenseDetails.isValid}},[_vm._v(\"\\n\\t\\t\\tNo Alarms\\n\\t\\t\")]),_c('b-alert',{staticClass:\"m-r-10\",attrs:{\"variant\":\"danger\",\"show\":_vm.isLicenseLoaded && !_vm.licenseDetails.isValid,\"data-cy\":\"invalid-license-alert\"}},[_vm._v(\"\\n\\t\\t\\tLicense is invalid, the Event Queue has been disabled.\\n\\t\\t\")]),(_vm.events && _vm.events.length > 0)?_c('table',{staticClass:\"table table-striped table-hover table-sortable\"},[_c('thead',[_c('tr',[(_vm.bulkHandleShown)?_c('th',{attrs:{\"data-cy\":\"col-select\"}},[_c('span',{staticClass:\"column-title no-sort far fa-bell-slash\"})]):_vm._e(),_vm._l((_vm.columns),function(column){return _c('th',{key:column.sort},[_c('span',{staticClass:\"column-title\",class:_vm.columnClass(column),attrs:{\"title\":column.description,\"data-test-id\":(\"column-\" + (column.title))},on:{\"click\":function($event){return _vm.sortColumnClick(column)}}},[_c('span',[_vm._v(_vm._s(column.title))])])])}),(_vm.showDispatchedGuards)?_c('th',[_vm._v(\"Dispatched\")]):_vm._e(),_c('th',[_c('span',{staticClass:\"column-title no-sort\"},[_vm._v(\"Actions\")])])],2)]),_c('tbody',{attrs:{\"data-cy\":\"eventqueue-list\"}},_vm._l((_vm.events),function(event,i){return _c('tr',{key:event.regionalEventID,class:[!_vm.isPickUpOnNameEnabled ? 'clickable-row' : ''],attrs:{\"id\":event.eventID,\"eventid\":event.eventID},on:{\"mouseover\":function($event){return _vm.hoverEvent(event)},\"mouseleave\":function($event){return _vm.unhoverEvent(event)},\"contextmenu\":function($event){$event.preventDefault();return _vm.$refs.menu.open($event)},\"click\":function($event){!_vm.isPickUpOnNameEnabled ? _vm.userCanProcessEvent(event) : ''}}},[(_vm.bulkHandleShown)?_c('td',{staticClass:\"selectalarm\",on:{\"click\":function($event){$event.stopPropagation();}}},[_c('input',{attrs:{\"type\":\"checkbox\",\"v-model\":_vm.selectedAlarms,\"data-cy\":(\"event-selected-\" + (event.eventID))},domProps:{\"value\":event.eventID,\"checked\":_vm.isAlarmSelected(event.eventID)},on:{\"change\":function($event){return _vm.alarmSelectedToggled($event)}}})]):_vm._e(),_c('td',[_vm._v(_vm._s(_vm.fromNow(event.created)))]),_c('td',[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(event.groupTitle)+\"\\n\\t\\t\\t\\t\\t\\t\"),_c('event-queue-area-notes-icon',{attrs:{\"event\":event}})],1),(_vm.isTypeColumnVisible)?_c('td',{attrs:{\"id\":\"event-type\",\"data-test-id\":(\"event-type-\" + (event.eventID))}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.eventType(event))+\"\\n\\t\\t\\t\\t\\t\")]):_vm._e(),(_vm.isPickUpOnNameEnabled)?_c('td',{staticClass:\"clickable-row\",attrs:{\"data-cy\":\"event-title\"},on:{\"click\":function($event){return _vm.userCanProcessEvent(event)}}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(event.displayTitle)+\"\\n\\t\\t\\t\\t\\t\")]):_c('td',{attrs:{\"data-cy\":\"event-title\"}},[_vm._v(_vm._s(event.displayTitle))]),_c('td',[_vm._v(_vm._s(event.priority))]),_c('td',{attrs:{\"data-cy\":\"alarm-count\"}},[_vm._v(_vm._s(event.alarmCount > 0 ? event.alarmCount : '-'))]),(_vm.dbFederationEnabled)?_c('td',[_vm._v(_vm._s(event.regionTitle))]):_vm._e(),(_vm.showDispatchedGuards)?_c('td',[_vm._v(_vm._s(_vm.dispatchedGuardCallsigns(event.dispatchedGuards)))]):_vm._e(),(_vm.claimEventsFeatureAvailable)?_c('td',[(_vm.claimingEventId && _vm.claimingEventId == event.eventID)?_c('i',{staticClass:\"fas fa-spinner fa-spin loader-icon\"}):(event.claimedUserId)?_c('span',{directives:[{name:\"b-tooltip\",rawName:\"v-b-tooltip.hover\",modifiers:{\"hover\":true}}],class:(\"circle small user-\" + (_vm.getEventQueueUserIndex(event.claimedUserFullName))),attrs:{\"title\":((event.claimedUserFullName) + \" has claimed this event\")}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\"+_vm._s(event.claimedUserFullName ? event.claimedUserFullName.charAt(0) : \"\")+\"\\n\\t\\t\\t\\t\\t\\t\")]):_vm._e()]):_vm._e(),_c('td',[_c('div',{staticClass:\"m-r-10 d-inline-flex\"},[(_vm.canViewSystemEvents && event.eventTypeID === 19)?_c('span',{staticClass:\"call-button icon-label clickable\",class:_vm.callWaiting(event),attrs:{\"title\":'Available clients: ' +\n\t\t\t\t\t\t\t\t\t\t_vm.availableClients + ' Active calls: ' +\n\t\t\t\t\t\t\t\t\t\t_vm.activeCalls}},[_c('i',{staticClass:\"fas fa-phone \"})]):_vm._e(),(event.lastUnparkedAt)?_c('span',{staticClass:\"fas fa-hourglass-end icon-label\",attrs:{\"title\":'Last reactivated at ' +\n\t\t\t\t\t\t\t\t\t\t_vm.convertUtcDateTimeToLocalDateTimeString(event.lastUnparkedAt) +\n\t\t\t\t\t\t\t\t\t\t(event.username && event.username.length > 0 ? ' by ' + event.username : '')}}):_vm._e(),(event.routingGroupColourCode)?_c('span',{staticClass:\"circle smaller m-r-5\",style:({ 'background-color': '#' + event.routingGroupColourCode }),attrs:{\"title\":event.routingGroupTitle}}):_vm._e(),(event.locations!= null && event.locations.length > 0)?_c('i',{staticClass:\"fas fa-map-marker-alt icon-label clickable\",attrs:{\"title\":\"Show on the map\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.alarmIconClick(event)}}}):_vm._e(),(\n\t\t\t\t\t\t\t\t\t_vm.isMissedTargetResponseTimeIcon &&\n\t\t\t\t\t\t\t\t\t\t_vm.alarmAgeWarningSeconds > 0 &&\n\t\t\t\t\t\t\t\t\t\tevent.age > _vm.alarmAgeWarningSeconds\n\t\t\t\t\t\t\t\t)?_c('i',{staticClass:\"far fa-clock icon-label clickable\",attrs:{\"title\":'This event has not been picked up and has been in the queue over ' +\n\t\t\t\t\t\t\t\t\t\t_vm.alarmAgeWarningSeconds +\n\t\t\t\t\t\t\t\t\t\t' seconds.'},on:{\"click\":function($event){$event.stopPropagation();return _vm.userCanProcessEvent(event)}}}):_vm._e(),_c('linked-task-icon',{staticClass:\"mr-2\",attrs:{\"event\":event}}),(_vm.isRestoredIconEnabled)?_c('restore-icon',{attrs:{\"current-event\":event,\"data-cy\":(\"alarm-restore-icon-\" + (event.regionalEventID))}}):_vm._e(),_vm._t(\"icons\",null,{\"eventQueue\":event,\"index\":i}),_vm._t(\"region\",null,{\"eventQueue\":event,\"index\":i}),(_vm.claimEventsFeatureAvailable)?_c('span',[(!event.claimedUserId)?_c('i',{staticClass:\"fas fa-crown\",attrs:{\"title\":\"Claim this event\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.claimUnclaimEvent(event)}}}):_vm._e(),(event.claimedUserId && _vm.currentUserId != event.claimedUserId)?_c('i',{staticClass:\"fas fa-user-crown\",attrs:{\"title\":((event.claimedUserFullName) + \" has claimed this event\")}}):_vm._e(),(event.claimedUserId && _vm.currentUserId == event.claimedUserId)?_c('i',{staticClass:\"far fa-crown\",attrs:{\"title\":\"Release this event\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.claimUnclaimEvent(event)}}}):_vm._e()]):_vm._e()],2)])])}),0)]):_vm._e()],1),_c('b-modal',{attrs:{\"size\":\"md\",\"centered\":\"\",\"role\":\"dialog\"},on:{\"hidden\":_vm.closeEventClaimedModal},model:{value:(_vm.showEventClaimedWarningModal),callback:function ($$v) {_vm.showEventClaimedWarningModal=$$v},expression:\"showEventClaimedWarningModal\"}},[_c('template',{slot:\"modal-title\"},[_c('div',[_c('h4',[_vm._v(\"Warning : This event has been claimed\")])])]),_c('div',[_c('p',[_c('strong',[(_vm.tempEventData && _vm.tempEventData.claimedUserFullName)?_c('span',[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.tempEventData.claimedUserFullName)+\"\\n\\t\\t\\t\\t\\t\")]):_c('span',[_vm._v(\"Another User\")])]),_vm._v(\"\\n\\t\\t\\t\\thas claimed this event.\\n\\t\\t\\t\\t\"),(_vm.canProcessClaimedEvent)?_c('span',[_vm._v(\"Are you sure you want to continue?\")]):_vm._e()])]),_c('template',{slot:\"modal-footer\"},[(_vm.canProcessClaimedEvent)?_c('b-button',{attrs:{\"variant\":\"warning\"},on:{\"click\":function($event){return _vm.handleEventQueueItem(_vm.tempEventData)}}},[_vm._v(\"\\n\\t\\t\\t\\tContinue\\n\\t\\t\\t\")]):_vm._e(),_c('a',{staticClass:\"btn btn-secondary danger\",attrs:{\"data-dismiss\":\"modal\"},on:{\"click\":function($event){return _vm.closeEventClaimedModal()}}},[_c('span',{staticClass:\"glyphicon glyphicon-remove\"}),_vm._v(\"\\n\\t\\t\\t\\tClose\\n\\t\\t\\t\")])],1)],2),(_vm.showIntercomAlarmQueue && _vm.showIntercomModal)?_c('intercom-modal',{attrs:{\"currentCall\":_vm.selectedCall}}):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\nimport { namespace, Getter } from \"vuex-class\";\r\nimport { Component, Mixins, Watch } from \"vue-property-decorator\";\r\nimport VuePerfectScrollbar from \"vue-perfect-scrollbar\";\r\nimport { eventqueue } from \"@/store/eventqueue\";\r\nimport RegionalHandlerMixin from \"@/mixins/RegionalHandlerMixin\";\r\nimport { FilteredEvent, EventType, CallWaitingPref } from \"@/store/eventqueue/types\";\r\nimport EventQueueAreaNotesIcon from \"@/components/event-queue/EventQueueAreaNotesIcon.vue\";\r\nimport { FeaturesList, UserPermissions } from \"@/store/types\";\r\nimport { get } from \"lodash\";\r\nimport LinkedTaskIcon from \"@/components/alarm-queue/LinkedTaskIcon.vue\";\r\nimport RestoreIcon from \"@/components/event-queue/RestoreIcon.vue\";\r\nimport api from \"@/services/api.service\";\r\nimport { CallQueue, PickupCall, CallClient } from \"@/store/eventqueue/types\";\r\nimport IntercomModal from \"@/components/event-queue/IntercomModal.vue\";\r\nimport moment from \"moment\";\r\nimport EventTypes from \"../types/EventTypes\";\r\nimport router from \"@/router\";\r\n\r\nconst Areas = namespace(\"areas\");\r\nconst Eventqueue = namespace(\"eventqueue\");\r\nconst License = namespace(\"license\");\r\n\r\n@Component({\r\n\tcomponents: {\r\n\t\tVuePerfectScrollbar,\r\n\t\t\"event-queue-area-notes-icon\": EventQueueAreaNotesIcon,\r\n\t\t\"linked-task-icon\": LinkedTaskIcon,\r\n\t\t\"restore-icon\": RestoreIcon,\r\n\t\t\"intercom-modal\": IntercomModal,\r\n\t}\r\n})\r\nexport default class AlarmQueue extends Mixins(RegionalHandlerMixin) {\r\n\t@Eventqueue.Getter getActiveEvents!: FilteredEvent[];\r\n\t@Eventqueue.Getter getCurrentSort: any;\r\n\t@Eventqueue.Action setDisplayedEvent: any;\r\n\r\n\t@Eventqueue.Mutation setHoverEvent: any;\r\n\t@Eventqueue.Mutation setCurrentSort: any;\r\n\t@Eventqueue.Mutation setCurrentSortChanged: any;\r\n\t@Eventqueue.Mutation setAllAlarmsSelected: (allSelected: boolean) => void;\r\n\t@Eventqueue.Mutation setAllAlarmsClicked: (clicked: boolean) => void;\r\n\t@Eventqueue.Mutation setSelectedAlarms: (data: number[]) => void;\r\n\t@Eventqueue.Mutation addSelectedAlarm: (data: number) => void;\r\n\t@Eventqueue.Mutation removeSelectedAlarm: (data: number) => void;\r\n\r\n\t@License.State licenseDetails: any;\r\n\t@License.State(\"isLoaded\") isLicenseLoaded: Boolean;\r\n\r\n\t// Getter and action for toggling the map' display.\r\n\t@Eventqueue.Action setHideMapFlag: any;\r\n\t@Eventqueue.Getter(\"getHideMapFlag\") hideMapFlag: boolean;\r\n\r\n\t// Getters for Bulk Alarm Handling data\r\n\t@Eventqueue.Getter(\"getBulkHandleShown\") bulkHandleShown!: boolean;\r\n\t@Eventqueue.Getter(\"getAllAlarmsSelected\") allAlarmsSelected!: boolean;\r\n\t@Eventqueue.Getter(\"getAllAlarmsClicked\") allAlarmsClicked!: boolean;\r\n\t@Eventqueue.Getter(\"getSelectedAlarms\") selectedAlarms: number[];\r\n\t@Eventqueue.Getter(\"getRefreshQueue\") refreshQueue: boolean;\r\n\t@Eventqueue.Action setRefreshQueue: any;\r\n\r\n\t@Getter(\"getDbFederationEnabled\") dbFederationEnabled: any;\r\n\t@Getter(\"getFeaturesList\") featuresList: FeaturesList;\r\n\t@Getter(\"getAlarmAgeWarningSeconds\") alarmAgeWarningSeconds: any;\r\n\t@Getter(\"getUserId\") currentUserId: number;\r\n\t@Getter(\"getPermissions\") private permissions: UserPermissions;\r\n\r\n\t@Getter(\"getUserName\") public currentUserName!: string;\r\n\r\n\t@Eventqueue.Action private getCallWaitingPrefs: () => Promise;\r\n\t@Eventqueue.State private callWaitingPrefs: CallWaitingPref[];\r\n\t@Eventqueue.State private callQueue: CallQueue[];\r\n\t@Eventqueue.State private callClients: CallClient[];\r\n\t@Eventqueue.State private showIntercomModal: boolean;\r\n\t@Eventqueue.Mutation private setShowIntercomModal: (visible: boolean) => void;\r\n\t@Getter private getPermissions: UserPermissions;\r\n\r\n\tprivate selectedCallTemplate : PickupCall = {\r\n\t\tuserId: 0,\r\n\t\tcallId: 0,\r\n\t\teventId: 0,\r\n\t\tareaName: null,\r\n\t\tdeviceId: 0,\r\n\t\tdeviceEndPoint: null,\r\n\t\ttitle: null\r\n\t};\r\n\r\n\tprivate selectedCall: PickupCall = { ...this.selectedCallTemplate };\r\n\r\n\t// used to show loading spinner when claiming or releaseing an event\r\n\tprivate claimingEventId: number = null;\r\n\r\n\t// empty array with a blank entry, forcing the index to start at 1 for users\r\n\tprivate eventQueueUserList: string[] = [\"\"];\r\n\r\n\t// show or hide Event Claimed Warning\r\n\tprivate showEventClaimedWarningModal: boolean = false;\r\n\r\n\t// used to store the event data so it can be triggered from the Claim Warning Modal\r\n\tprivate tempEventData: FilteredEvent = null;\r\n\r\n\tpublic columns: any[] = [\r\n\t\t{\r\n\t\t\ttitle: \"Started\",\r\n\t\t\tsort: 1,\r\n\t\t\tisDefault: true,\r\n\t\t\tcurrentSort: 0,\r\n\t\t\tdescription: \"How long ago the event began\",\r\n\t\t\treversed: true\r\n\t\t},\r\n\t\t{\r\n\t\t\ttitle: \"Location\",\r\n\t\t\tsort: 2,\r\n\t\t\tisDefault: false,\r\n\t\t\tcurrentSort: 0,\r\n\t\t\tdescription: \"Area affected by alarm\",\r\n\t\t\treversed: false\r\n\t\t},\r\n\t\t{\r\n\t\t\ttitle: \"Event\",\r\n\t\t\tsort: 3,\r\n\t\t\tisDefault: false,\r\n\t\t\tcurrentSort: 0,\r\n\t\t\tdescription: \"Alarm title\",\r\n\t\t\treversed: false\r\n\t\t},\r\n\t\t{\r\n\t\t\ttitle: \"Priority\",\r\n\t\t\tsort: 4,\r\n\t\t\tisDefault: true,\r\n\t\t\tcurrentSort: 0,\r\n\t\t\tdescription: \"Event priority\",\r\n\t\t\treversed: false\r\n\t\t},\r\n\t\t{\r\n\t\t\ttitle: \"Count\",\r\n\t\t\tsort: 5,\r\n\t\t\tisDefault: false,\r\n\t\t\tcurrentSort: 0,\r\n\t\t\tdescription: \"Number of alarms in event\",\r\n\t\t\treversed: false\r\n\t\t}\r\n\t];\r\n\r\n\tprivate get isPickUpOnNameEnabled(): boolean {\r\n\t\treturn get(this.featuresList, [\"Alarms\", \"PickUpOnName\"]);\r\n\t}\r\n\r\n\tprivate get isMissedTargetResponseTimeIcon(): boolean {\r\n\t\treturn get(this.featuresList, [\"Alarms\", \"MissedTargetResponseTimeIcon\"]);\r\n\t}\r\n\r\n\tprivate get isTypeColumnEnabled(): boolean {\r\n\t\treturn get(this.featuresList, [\"Alarms\", \"EventQueue\", \"ServerEventTitleInQueue\"]);\r\n\t}\r\n\r\n\tprivate get isDisplayIntercomInViewsEnabled(): boolean {\r\n\t\treturn get(this.featuresList, [\"Alarms\", \"EventQueue\", \"Intercom\", \"DisplayInViews\"])\r\n\t\t\t&& get(this.featuresList, [\"Alarms\", \"EventQueue\", \"Calls\"]);\r\n\t}\r\n\r\n\t// Feature flag toggle for when placing tours into event queue is enabled.\r\n\tprivate get isDisplayScheduleToursInAlarmsEnabled(): boolean {\r\n\t\treturn get(this.featuresList, [\"Alarms\", \"EventQueue\", \"ShowToursInEventQueue\"]);\t\t\t\r\n\t}\r\n\r\n\r\n\r\n\tprivate get isUserInViews(): boolean {\r\n\t\treturn router.currentRoute && router.currentRoute.name == \"views\";\r\n\t}\r\n\r\n\t//Required as using isTypeColumnEnabled causes the cells to missalign if toggling the feature whilst someone is looking at the queue\r\n\t//This is because the column header is only added on load\r\n\tprivate get isTypeColumnVisible(): boolean {\r\n\t\tconst result = this.columns.filter(c => c.title == \"Type\");\r\n\t\treturn result.length != 0;\r\n\t}\r\n\r\n\tpublic async mounted() {\r\n\t\tawait this.getCallWaitingPrefs();\r\n\t}\r\n\r\n\tpublic get events() {\r\n\t\tif (this.getActiveEvents == null) {\r\n\t\t\treturn null;\r\n\t\t}\r\n\t\t\r\n\r\n\t\tlet filteredEvents = this.getActiveEvents.filter(\r\n\t\t\tq =>\r\n\t\t\t\t((q.eventTypeID == EventTypes.Alarm || \r\n\t\t\t\t\t(\r\n\t\t\t\t\t\tq.eventTypeID == EventTypes.Call &&\r\n\t\t\t\t\t\t((!this.isUserInViews && this.showIntercomAlarmQueue) || (this.isUserInViews && this.isDisplayIntercomInViewsEnabled))\r\n\t\t\t\t\t) \t\t\t\t\r\n\t\t\t\t\t||\r\n\t\t\t\t\t( \t\t\t\t\t\t\r\n\t\t\t\t\t\tq.eventTypeID == EventTypes.Patrol && \r\n\t\t\t\t\t\t(this.isDisplayScheduleToursInAlarmsEnabled && !this.isUserInViews)\r\n\t\t\t\t\t)\r\n\t\t\t\t) \r\n\t\t\t\t\t&& \r\n\t\t\t\tq.inProcessing == false &&\r\n\t\t\t\tq.unParkAt == null &&\r\n\t\t\t\tq.isPermanentParked == false &&\r\n\t\t\t\tq.readyForPostProcessing == null &&\r\n\t\t\t\tq.groupID)\r\n\t\t);\r\n\r\n\t\treturn filteredEvents;\r\n\t}\r\n\r\n\tprivate async pickupCall(event: FilteredEvent) {\t\t\r\n\t\tif (this.showIntercomAlarmQueue) \r\n\t\t{\r\n\t\t\t//get the right call for this event\r\n\t\t\tlet call = this.callQueue.find(call => call.eventId === event.eventID);\r\n\t\t\tif (call) {\r\n\t\t\t\tconst currentCaller: PickupCall = {\r\n\t\t\t\t\tuserId: this.currentUserId,\r\n\t\t\t\t\tcallId: call.callId,\r\n\t\t\t\t\teventId: call.eventId,\r\n\t\t\t\t\tareaName: null,\r\n\t\t\t\t\tdeviceId: call.deviceId,\r\n\t\t\t\t\tdeviceEndPoint: call.deviceEndPoint,\r\n\t\t\t\t\ttitle: call.title\r\n\t\t\t\t}\r\n\t\t\t\t\r\n\t\t\t\tconst res = await api.setCaller(currentCaller);\r\n\t\t\t\tif (res?.status == 200) {\t\t\t\r\n\t\t\t\t\tthis.selectedCall = currentCaller;\r\n\t\t\t\r\n\t\t\t\t\tthis.setShowIntercomModal(true);\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tconsole.error(`Couldn't set caller for CallId: ${ call.callId }`);\r\n\t\t\t\t}\t\t\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tconsole.warn(`Could not find call for EventID: ${ event.eventID }`);\r\n\t\t\t}\r\n\t\t}\t\t\t\r\n\t}\r\n\r\n\tpublic get showIntercomAlarmQueue(): boolean {\r\n\t\treturn get(this.featuresList, [\"Alarms\", \"EventQueue\", \"Intercom\", \"DisplayInQueue\"]) \r\n\t\t\t&& get(this.featuresList, [\"Alarms\", \"EventQueue\", \"Calls\"]);\r\n\t}\r\n\r\n\tprivate getCallWaitingValue(prefId: number, callWaitTime: string): boolean {\t\t\r\n\t\tlet value = this.callWaitingPrefs?.find(pref => pref.prefId == prefId)?.prefValue;\r\n\r\n\t\treturn value !== null && value < this.escapedTime(callWaitTime);\r\n\t}\r\n\r\n\t/**\r\n * @summary computed property which will return the class of the pickup call button\r\n * depending on the wait time to set the colour.\r\n */\t\r\n private callWaiting(call: FilteredEvent): string {\r\n\t\t\t\t\r\n\t\t//(299) Intercom - Red call waiting\r\n\t\tif (this.getCallWaitingValue(299, call.created))\r\n\t\t\treturn \"incoming-call-red\";\r\n\t\t//(298) Intercom - Amber call waiting)\r\n\t\telse if (this.getCallWaitingValue(298, call.created))\r\n\t\t\treturn \"incoming-call-amber\";\r\n\t\t//(297) Intercom - Green call waiting\r\n\t\telse if (this.getCallWaitingValue(297, call.created))\r\n\t\t\treturn \"incoming-call-green\";\r\n\t\telse\r\n\t\t\treturn \"\";\r\n\r\n } \r\n\t\r\n\tprivate escapedTime(end: string) : number {\r\n\t\tlet now = moment(new Date()); //todays date\r\n\t\tlet duration = moment.duration(now.diff(end));\r\n\t\tlet seconds = duration.asSeconds();\r\n\r\n\t\tlet waitTime = seconds;\t\t\r\n\r\n\t\t//wait time in seconds\r\n\t\treturn waitTime;\r\n\t}\r\n\r\n\tprivate get availableClients(): number {\r\n\t\treturn this.callClients.filter(x => x.userId == null).length ?? 0;\r\n\t}\r\n\r\n\tprivate get activeCalls(): number {\r\n\t\treturn this.callQueue.filter(x => x.pickedUp).length ?? 0;\r\n\t}\r\n\r\n\t/**\r\n\t * Permission and feature check\r\n\t */\r\n\tprivate get canViewSystemEvents(): boolean {\r\n\t\treturn (\r\n\t\t\tget(this.featuresList, [\"Alarms\", \"EventQueue\", \"SystemEvents\"]) &&\r\n\t\t\t(this.getPermissions.isAdmin || this.getPermissions.canViewSystemEvents)\r\n\t\t);\r\n\t}\r\n\r\n\tpublic get showDispatchedGuards(): boolean {\r\n\t\treturn get(this.featuresList, [\"Alarms\", \"EventQueue\", \"Alarms\", \"DispatchedGuards\"]);\r\n\t}\r\n\r\n\t// Feature flag for map display toggling functionality.\r\n\tprivate get isToggleMapEnabled(): boolean {\r\n\t\treturn get(this.featuresList, [\"Alarms\", \"Maps\", \"ToggleEventQueue\"]);\r\n\t}\r\n\r\n\tpublic get isRestoredIconEnabled() {\r\n\t\treturn get(this.featuresList, [\"Alarms\", \"EventQueue\", \"RestoreIcon\"]);\r\n\t}\r\n\r\n\tpublic created() {\r\n\t\tif (this.isTypeColumnEnabled) {\r\n\t\t\tthis.columns.splice(2, 0, {\r\n\t\t\t\ttitle: \"Type\",\r\n\t\t\t\tsort: 7,\r\n\t\t\t\tisDefault: false,\r\n\t\t\t\tcurrentSort: 0,\r\n\t\t\t\tdescription: \"The type of event that triggered the alarm\",\r\n\t\t\t\treversed: false\r\n\t\t\t});\r\n\t\t}\r\n\t\tif (this.dbFederationEnabled) {\r\n\t\t\tthis.columns.push({\r\n\t\t\t\ttitle: \"Region\",\r\n\t\t\t\tsort: 6,\r\n\t\t\t\tisDefault: false,\r\n\t\t\t\tcurrentSort: 0,\r\n\t\t\t\tdescription: \"Region of origin\",\r\n\t\t\t\treversed: false\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tif (this.claimEventsFeatureAvailable) {\r\n\t\t\tthis.columns.push({\r\n\t\t\t\ttitle: \"Claimed By\",\r\n\t\t\t\tsort: 9,\r\n\t\t\t\tisDefault: false,\r\n\t\t\t\tcurrentSort: 0,\r\n\t\t\t\tdescription: \"Users who had claimed an event\",\r\n\t\t\t\treversed: false\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\tpublic hoverEvent(event: FilteredEvent) {\r\n\t\tthis.setHoverEvent(event);\r\n\t}\r\n\r\n\tpublic unhoverEvent(event: FilteredEvent) {\r\n\t\tthis.setHoverEvent({});\r\n\t}\r\n\r\n\tpublic columnClass(column: any) {\r\n\t\tlet currentSort = this.getCurrentSort;\r\n\r\n\t\tif (currentSort.sort == 0 && column.isDefault) {\r\n\t\t\treturn \"\";\r\n\t\t} else if (currentSort.sort == column.sort) {\r\n\t\t\treturn currentSort.desc ? \"sortDesc\" : \"sortAsc\";\r\n\t\t}\r\n\t}\r\n\r\n\tpublic sortColumnClick(clickColumn: any) {\r\n\t\tlet { sort, reversed: defaultDesc, desc: existingDesc } = this.getCurrentSort;\r\n\r\n\t\tif (clickColumn.sort != sort) {\r\n\t\t\tthis.setCurrentSort({\r\n\t\t\t\tsort: clickColumn.sort,\r\n\t\t\t\tdesc: clickColumn.reversed,\r\n\t\t\t\treversed: clickColumn.reversed\r\n\t\t\t});\r\n\t\t} else {\r\n\t\t\tif (existingDesc == defaultDesc) {\r\n\t\t\t\tthis.setCurrentSort({\r\n\t\t\t\t\tsort: clickColumn.sort,\r\n\t\t\t\t\tdesc: !existingDesc,\r\n\t\t\t\t\treversed: clickColumn.reversed\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\tthis.setCurrentSort({\r\n\t\t\t\t\tsort: 0,\r\n\t\t\t\t\tdesc: false,\r\n\t\t\t\t\treversed: false\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tthis.setCurrentSortChanged(true);\r\n\t}\r\n\r\n\tpublic alarmIconClick(event) {\r\n\t\t// Show map if hidden and toggle map feature is enabled.\r\n\t\tif (this.isToggleMapEnabled) {\r\n\t\t\tthis.setHideMapFlag(false);\r\n\t\t}\r\n\t\tthis.setDisplayedEvent(event);\r\n\t}\r\n\r\n\tpublic eventType(event: FilteredEvent): string {\r\n\t\tconst title = event.serverEventTitle;\r\n\t\treturn title == null ? \"Unknown\" : title.substring(0, Math.min(title.length, 50));\r\n\t}\r\n\r\n\t// Handles the toggling of a row select checkbox and set the AllAlarmsSelected in the state\r\n\tpublic alarmSelectedToggled(event) {\r\n\t\t// Logic to set to maintain (local) state of each row and update the state of AllSelected in the store\r\n\t\tif (event.target.checked) {\r\n\t\t\t// Row Selected\r\n\t\t\t// Add the array of checked rows\r\n\t\t\tthis.addSelectedAlarm(parseInt(event.target.value));\r\n\r\n\t\t\t// Need to check if checking this row now means allAlarmsSelected should now be true\r\n\t\t\tif (this.selectedAlarms.length == this.events.length) {\r\n\t\t\t\tthis.setAllAlarmsSelected(true);\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\t// Row Deselected\r\n\t\t\t// remove from the array of checked rows\r\n\t\t\tthis.removeSelectedAlarm(parseInt(event.target.value));\r\n\r\n\t\t\t// As this is row deselected all allAlarmsSelected should must be false\r\n\t\t\tthis.setAllAlarmsSelected(false);\r\n\t\t}\r\n\t}\r\n\r\n\tpublic isAlarmSelected(eventID: number): boolean {\r\n\t\treturn this.selectedAlarms.includes(eventID);\r\n\t}\r\n\r\n\t// Checks if all the rows in the table are checked\r\n\t// Used when items are added / removed from the queue\r\n\t// Slightly different to onAllAlarmsSelected which is the event handler for the 'Select All' check box\r\n\tpublic allRowsChecked(): boolean {\r\n\t\tthis.events.forEach(event => {\r\n\t\t\tif (!this.isAlarmSelected(event.eventID)) {\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\t\t});\r\n\t\treturn true;\r\n\t}\r\n\r\n\t@Watch(\"allAlarmsSelected\")\r\n\tpublic onAllAlarmsSelected(selectAll: boolean) {\r\n\t\t// Add all or remove from the arrray if the AllAlarms selected is changed in the store\r\n\t\tif (selectAll) {\r\n\t\t\tthis.events.forEach(event => {\r\n\t\t\t\tif (this.selectedAlarms.indexOf(event.eventID) === -1) {\r\n\t\t\t\t\tthis.addSelectedAlarm(event.eventID);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t} else {\r\n\t\t\t// Only reset all check boxes if the change to the state was due to the 'Select All' check box being clicked\r\n\t\t\tif (this.allAlarmsClicked) {\r\n\t\t\t\tthis.setSelectedAlarms([]);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t// Finished handling the change so reset the setAllAlarmsClicked to false\r\n\t\tthis.setAllAlarmsClicked(false);\r\n\t}\r\n\r\n\t@Watch(\"events\")\r\n\tpublic eventsChanged(newVal: FilteredEvent[], oldVal: FilteredEvent[]) {\r\n\t\t// if there are more alarms than selected alarms\r\n\t\t// or the queue has been emptied then 'select all' can't / shouldn't be checked\r\n\t\tif (this.events && (this.events.length > (this.selectedAlarms && this.selectedAlarms.length) || this.events.length == 0)) {\r\n\t\t\tthis.setAllAlarmsSelected(false);\r\n\t\t} else {\r\n\t\t\t// set the 'select all' depending on whether all the correct rows are checked\r\n\t\t\tlet allChecked: boolean = this.allRowsChecked();\r\n\t\t\tthis.setAllAlarmsSelected(allChecked);\r\n\t\t}\r\n\r\n\t\tif (this.claimEventsFeatureAvailable) {\r\n\t\t\tthis.updateEventQueueUsers(this.events);\r\n\r\n\t\t\t// if an event had been set to be claimed or released\r\n\t\t\tif (this.claimingEventId) {\r\n\t\t\t\t// find the event for the claim\r\n\t\t\t\tlet newEvent = newVal.find(f => f.eventID == this.claimingEventId);\r\n\t\t\t\tlet oldEvent = oldVal.find(f => f.eventID == this.claimingEventId);\r\n\r\n\t\t\t\t// if its state has changed from the previous state, clear claimingEventId so stop showing the loading spinner\r\n\t\t\t\tif (newEvent.claimedUserId != oldEvent.claimedUserId) {\r\n\t\t\t\t\tthis.claimingEventId = null;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\t@Watch(\"refreshQueue\")\r\n\tpublic reloadQueue() {\r\n\t\tif (this.refreshQueue) {\r\n\t\t\t// clear the array of selected alarms\r\n\t\t\tthis.setSelectedAlarms([]);\r\n\r\n\t\t\t// force the queue to update\r\n\t\t\tthis.$forceUpdate();\r\n\t\t\t// stop the refresh cycle\r\n\t\t\tthis.setRefreshQueue(false);\r\n\t\t}\r\n\t}\r\n\r\n\tprivate get claimEventsFeatureAvailable(): boolean {\r\n\t\treturn get(this.featuresList, [\"Alarms\", \"EventQueue\", \"Claiming\"]);\r\n\t}\r\n\r\n\tprivate get showEventClaimedWarning(): boolean {\r\n\t\treturn get(this.featuresList, [\"Alarms\", \"EventQueue\", \"Claiming\", \"ShowClaimedWarning\"]);\r\n\t}\r\n\r\n\tprivate get canProcessClaimedEvent(): boolean {\r\n\t\treturn get(this.featuresList, [\"Alarms\", \"EventQueue\", \"Claiming\", \"ProcessClaimedEvents\"]);\r\n\t}\r\n\r\n\tprivate async claimUnclaimEvent(event: FilteredEvent) {\r\n\t\tif (this.claimEventsFeatureAvailable && this.permissions.canClaimEvents) {\r\n\t\t\tthis.claimingEventId = event.eventID;\r\n\t\t\tif (event.claimedUserId && event.claimedUserId > 0) {\r\n\t\t\t\tif (event.claimedUserId == this.currentUserId) {\r\n\t\t\t\t\tawait api.ReleaseEvent(event.eventID);\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tawait api.ClaimEvent(event.eventID);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tprivate userCanProcessEvent(event: FilteredEvent) {\r\n\r\n\t\t// if event claiming feature is off, proceed with normal event handling logic\r\n\t\tif (!this.claimEventsFeatureAvailable) {\r\n\t\t\tthis.handleEventQueueItem(event);\r\n\t\t}\t\t\r\n\r\n\t\t// if feature is enabled, show modal warning user that the event has been claimed\r\n\t\tif (this.showEventClaimedWarning && event.claimedUserId && event.claimedUserId != this.currentUserId) {\r\n\t\t\tthis.tempEventData = event;\r\n\t\t\tthis.showEventClaimedWarningModal = true;\r\n\t\t}\r\n\t\t// dont show a message, check if the user can still process the event or not\r\n\t\telse {\r\n\t\t\tif (\r\n\t\t\t\t!event.claimedUserId ||\r\n\t\t\t\tevent.claimedUserId == this.currentUserId ||\r\n\t\t\t\t(this.canProcessClaimedEvent && event.claimedUserId != this.currentUserId)\r\n\t\t\t) {\r\n\t\t\t\tthis.handleEventQueueItem(event);\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t//if this event is a call then pickup the call\r\n\t\tif (event.eventTypeID === EventTypes.Call)\r\n\t\t{\r\n\t\t\tthis.pickupCall(event);\r\n\t\t}\r\n\t}\r\n\r\n\tprivate closeEventClaimedModal() {\r\n\t\tthis.showEventClaimedWarningModal = false;\r\n\t\tthis.tempEventData = null;\r\n\t}\r\n\r\n\t/**\r\n\t * Compiles a list of all the users who have claimed an event\r\n\t */\r\n\tprivate updateEventQueueUsers(events: FilteredEvent[]) {\r\n\t\tconst users = events.map(m => m.claimedUserFullName);\r\n\r\n\t\tusers.forEach(user => {\r\n\t\t\tif (!this.eventQueueUserList.includes(user)) {\r\n\t\t\t\tthis.eventQueueUserList.push(user);\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\t/**\r\n\t * Gets an index for the users who have claimed an event to use for the CSS class\r\n\t */\r\n\tprivate getEventQueueUserIndex(user) {\r\n\t\treturn this.eventQueueUserList.findIndex(u => u == user);\r\n\t}\r\n\r\n\t/**\r\n\t * When the component is being torn down, clears current area cameras.\r\n\t */\r\n\tprivate beforeDestroy() {\r\n\t\t// reset\r\n\t\tthis.eventQueueUserList = [\"\"];\r\n\t\tthis.claimingEventId = null;\r\n\t}\r\n}\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AlarmQueue.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AlarmQueue.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AlarmQueue.vue?vue&type=template&id=3e9da7c9&scoped=true&\"\nimport script from \"./AlarmQueue.vue?vue&type=script&lang=ts&\"\nexport * from \"./AlarmQueue.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./AlarmQueue.vue?vue&type=style&index=0&id=3e9da7c9&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"3e9da7c9\",\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AlarmQueue.vue?vue&type=style&index=0&id=3e9da7c9&scoped=true&lang=scss&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AlarmQueue.vue?vue&type=style&index=0&id=3e9da7c9&scoped=true&lang=scss&\""],"sourceRoot":""}