{"version":3,"sources":["webpack:///./node_modules/core-js/internals/native-url.js","webpack:///./src/assets/images/icons/icon-ellipsis-v.svg","webpack:///./node_modules/core-js/modules/web.url.js","webpack:///./src/views/pages/EntrancePlantDetail/EntrancePlantResidents/EntrancePlantResidents.scss?ab0e","webpack:///./src/views/pages/EntrancePlantDetail/EntrancePlantResidents/ResidentDetailsEdit/CodeSection/CodeSection.scss?c805","webpack:///./src/views/pages/EntrancePlantDetail/EntrancePlantResidents/ResidentDetailsEdit/ResidentDetailsEdit.scss?fb2a","webpack:///./node_modules/core-js/internals/string-punycode-to-ascii.js","webpack:///./src/views/components/KeypadCodeInput/KeypadCodeInput.vue?fd8a","webpack:///./src/views/components/KeypadCodeInput/KeypadCodeInput.ts","webpack:///./src/views/components/KeypadCodeInput/KeypadCodeInput.vue","webpack:///./node_modules/core-js/modules/es.string.ends-with.js","webpack:///./node_modules/core-js/modules/web.url-search-params.js","webpack:///./node_modules/core-js/internals/get-iterator.js","webpack:///./node_modules/core-js/modules/es.array.splice.js","webpack:///./src/views/pages/EntrancePlantDetail/EntrancePlantResidents/ResidentItem/ResidentItem.scss?f00b","webpack:///./src/views/pages/EntrancePlantDetail/EntrancePlantResidents/ResidentDetailsEdit/ContactSection/DialogEditLabel/DialogEditLabel.scss?24a8","webpack:///./node_modules/core-js/modules/es.array.find-index.js","webpack:///./src/views/pages/EntrancePlantDetail/EntrancePlantResidents/DialogMassiveInviteResidents/DialogMassiveInviteResidents.scss?3d57","webpack:///./src/views/components/DialogMaxEntity/DialogMaxEntity.vue?9448","webpack:///./src/views/components/DialogMaxEntity/DialogMaxEntity.ts","webpack:///./src/views/components/DialogMaxEntity/DialogMaxEntity.vue","webpack:///./src/views/pages/EntrancePlantDetail/EntrancePlantResidents/EntrancePlantResidents.vue?f382","webpack:///./src/views/pages/EntrancePlantDetail/EntrancePlantResidents/ResidentItem/ResidentItem.vue?a139","webpack:///./src/views/pages/EntrancePlantDetail/EntrancePlantResidents/ResidentItem/ResidentItem.ts","webpack:///./src/views/pages/EntrancePlantDetail/EntrancePlantResidents/ResidentItem/ResidentItem.vue","webpack:///./src/views/pages/EntrancePlantDetail/EntrancePlantResidents/DialogMassiveInviteResidents/DialogMassiveInviteResidents.vue?6de2","webpack:///./src/views/pages/EntrancePlantDetail/EntrancePlantResidents/DialogMassiveInviteResidents/DialogMassiveInviteResidents.ts","webpack:///./src/views/pages/EntrancePlantDetail/EntrancePlantResidents/DialogMassiveInviteResidents/DialogMassiveInviteResidents.vue","webpack:///./src/views/pages/EntrancePlantDetail/EntrancePlantResidents/ResidentDetailsEdit/ResidentDetailsEdit.vue?f1ca","webpack:///./src/views/pages/EntrancePlantDetail/EntrancePlantResidents/ResidentDetailsEdit/CodeSection/CodeSection.vue?5d9e","webpack:///./src/views/pages/EntrancePlantDetail/EntrancePlantResidents/ResidentDetailsEdit/CodeSection/CodeSection.ts","webpack:///./src/views/pages/EntrancePlantDetail/EntrancePlantResidents/ResidentDetailsEdit/CodeSection/CodeSection.vue","webpack:///./src/views/pages/EntrancePlantDetail/EntrancePlantResidents/ResidentDetailsEdit/BadgesSection/BadgesSection.vue?e277","webpack:///./src/views/pages/EntrancePlantDetail/EntrancePlantResidents/ResidentDetailsEdit/BadgesSection/BadgesSection.ts","webpack:///./src/views/pages/EntrancePlantDetail/EntrancePlantResidents/ResidentDetailsEdit/BadgesSection/BadgesSection.vue","webpack:///./src/views/pages/EntrancePlantDetail/EntrancePlantResidents/ResidentDetailsEdit/ContactSection/ContactSection.vue?4d7d","webpack:///./src/views/pages/EntrancePlantDetail/EntrancePlantResidents/ResidentDetailsEdit/ContactSection/DialogEditLabel/DialogEditLabel.vue?0bb7","webpack:///./src/views/pages/EntrancePlantDetail/EntrancePlantResidents/ResidentDetailsEdit/ContactSection/DialogEditLabel/DialogEditLabel.ts","webpack:///./src/views/pages/EntrancePlantDetail/EntrancePlantResidents/ResidentDetailsEdit/ContactSection/DialogEditLabel/DialogEditLabel.vue","webpack:///./src/views/pages/EntrancePlantDetail/EntrancePlantResidents/ResidentDetailsEdit/ContactSection/DialogInviteResident/DialogInviteResident.vue?2a87","webpack:///./src/views/pages/EntrancePlantDetail/EntrancePlantResidents/ResidentDetailsEdit/ContactSection/DialogInviteResident/DialogInviteResident.ts","webpack:///./src/views/pages/EntrancePlantDetail/EntrancePlantResidents/ResidentDetailsEdit/ContactSection/DialogInviteResident/DialogInviteResident.vue","webpack:///./src/views/pages/EntrancePlantDetail/EntrancePlantResidents/ResidentDetailsEdit/ContactSection/ContactSection.ts","webpack:///./src/views/pages/EntrancePlantDetail/EntrancePlantResidents/ResidentDetailsEdit/ContactSection/ContactSection.vue","webpack:///./src/views/pages/EntrancePlantDetail/EntrancePlantResidents/ResidentDetailsEdit/GateAccessSection/GateAccessSection.vue?a8b3","webpack:///./src/views/pages/EntrancePlantDetail/EntrancePlantResidents/ResidentDetailsEdit/GateAccessSection/GateAccessSection.ts","webpack:///./src/views/pages/EntrancePlantDetail/EntrancePlantResidents/ResidentDetailsEdit/GateAccessSection/GateAccessSection.vue","webpack:///./src/views/pages/EntrancePlantDetail/EntrancePlantResidents/ResidentDetailsEdit/ResidentDetailsEdit.ts","webpack:///./src/views/pages/EntrancePlantDetail/EntrancePlantResidents/ResidentDetailsEdit/ResidentDetailsEdit.vue","webpack:///./src/views/pages/EntrancePlantDetail/EntrancePlantResidents/EntrancePlantResidents.ts","webpack:///./src/views/pages/EntrancePlantDetail/EntrancePlantResidents/EntrancePlantResidents.vue"],"names":["fails","wellKnownSymbol","IS_PURE","ITERATOR","module","exports","url","URL","searchParams","result","pathname","forEach","value","key","toJSON","sort","href","get","String","URLSearchParams","username","host","hash","undefined","EOF","$","DESCRIPTORS","USE_NATIVE_URL","global","defineProperties","redefine","anInstance","has","assign","arrayFrom","codeAt","toASCII","setToStringTag","URLSearchParamsModule","InternalStateModule","NativeURL","getInternalSearchParamsState","getState","setInternalState","set","getInternalURLState","getterFor","floor","Math","pow","INVALID_AUTHORITY","INVALID_SCHEME","INVALID_HOST","INVALID_PORT","ALPHA","ALPHANUMERIC","DIGIT","HEX_START","OCT","DEC","HEX","FORBIDDEN_HOST_CODE_POINT","FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT","LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE","TAB_AND_NEW_LINE","parseHost","input","codePoints","index","charAt","length","parseIPv6","slice","isSpecial","test","parseIPv4","percentEncode","C0ControlPercentEncodeSet","partsLength","numbers","part","radix","number","ipv4","parts","split","pop","parseInt","push","numbersSeen","ipv4Piece","swaps","swap","address","pieceIndex","compress","pointer","char","findLongestZeroSequence","ipv6","maxIndex","maxLength","currStart","currLength","serializeHost","ignore0","unshift","join","toString","fragmentPercentEncodeSet","pathPercentEncodeSet","userinfoPercentEncodeSet","code","encodeURIComponent","specialSchemes","ftp","file","http","https","ws","wss","scheme","includesCredentials","password","cannotHaveUsernamePasswordPort","cannotBeABaseURL","isWindowsDriveLetter","string","normalized","second","startsWithWindowsDriveLetter","third","shortenURLsPath","path","pathSize","isSingleDot","segment","toLowerCase","isDoubleDot","SCHEME_START","SCHEME","NO_SCHEME","SPECIAL_RELATIVE_OR_AUTHORITY","PATH_OR_AUTHORITY","RELATIVE","RELATIVE_SLASH","SPECIAL_AUTHORITY_SLASHES","SPECIAL_AUTHORITY_IGNORE_SLASHES","AUTHORITY","HOST","HOSTNAME","PORT","FILE","FILE_SLASH","FILE_HOST","PATH_START","PATH","CANNOT_BE_A_BASE_URL_PATH","QUERY","FRAGMENT","parseURL","stateOverride","base","bufferCodePoints","failure","state","buffer","seenAt","seenBracket","seenPasswordToken","port","query","fragment","replace","i","codePoint","encodedCodePoints","shift","URLConstructor","baseState","that","this","arguments","urlString","type","TypeError","searchParamsState","updateSearchParams","updateURL","serializeURL","call","origin","getOrigin","protocol","getProtocol","getUsername","getPassword","getHost","hostname","getHostname","getPort","getPathname","search","getSearch","getSearchParams","getHash","URLPrototype","prototype","output","error","accessorDescriptor","getter","setter","configurable","enumerable","nativeCreateObjectURL","createObjectURL","nativeRevokeObjectURL","revokeObjectURL","blob","apply","forced","sham","maxInt","tMin","tMax","skew","damp","initialBias","initialN","delimiter","regexNonASCII","regexSeparators","OVERFLOW_ERROR","baseMinusTMin","stringFromCharCode","fromCharCode","ucs2decode","counter","charCodeAt","extra","digitToBasic","digit","adapt","delta","numPoints","firstTime","k","encode","currentValue","inputLength","n","bias","basicLength","handledCPCount","m","handledCPCountPlusOne","RangeError","q","t","qMinusT","baseMinusT","label","encoded","labels","_hoisted_1","class","_hoisted_2","_hoisted_3","_hoisted_4","_hoisted_5","_hoisted_6","_hoisted_7","_hoisted_8","style","_hoisted_9","_hoisted_10","render","_ctx","_cache","$props","$setup","$data","$options","_component_InlineSvgScoped","_component_Button","_component_ElDropdownItem","_component_ElDropdownMenu","_component_ElDropdown","_component_Password","trigger","placement","dropdown","default","disabled","onClick","codeGenerator","$t","_","src","fullWidth","toggleMask","feedback","maxlength","keypadCodeRequiredLength","modelValue","keypadCode","$event","inputClass","newCodeNotValid","onBlur","checkNewCodeValidation","onFocus","resetNewCodeValidation","invalidNewCodeMessage","id","labelId","codeCheck","codeWasEdited","codeConfirmationNotValid","codeConfirmationValid","checkCodeConfirmationValid","resetConfirmValidation","for","oldKeypadCode","v","$emit","alreadyUsedCodes","filter","validation","usedCodes","OK","KO_OnlyDigitsAllowed","KO_TooShort","KO_TooLong","KO_SameDigitRepeated","KO_ConsecutiveDigits","KO_AlreadyUsed","errorCodeValidation","isCorrectValue","codeInputHasError","keypadCodeEdited","trim","plants","randomkeypadcode","randStr","name","props","required","Number","Boolean","Array","watch","oldValue","emits","__exports__","getOwnPropertyDescriptor","f","toLength","notARegExp","requireObjectCoercible","correctIsRegExpLogic","nativeEndsWith","endsWith","min","CORRECT_IS_REGEXP_LOGIC","MDN_POLYFILL_BUG","descriptor","writable","target","proto","searchString","endPosition","len","end","getBuiltIn","redefineAll","createIteratorConstructor","hasOwn","bind","classof","anObject","isObject","create","createPropertyDescriptor","getIterator","getIteratorMethod","$fetch","Headers","URL_SEARCH_PARAMS","URL_SEARCH_PARAMS_ITERATOR","getInternalParamsState","getInternalIteratorState","plus","sequences","percentSequence","bytes","RegExp","percentDecode","sequence","decodeURIComponent","deserialize","it","find","replacer","match","serialize","parseSearchParams","attribute","entry","attributes","entries","validateArgumentsLength","passed","URLSearchParamsIterator","params","kind","iterator","step","next","done","URLSearchParamsConstructor","iteratorMethod","entryIterator","entryNext","first","init","URLSearchParamsPrototype","append","splice","getAll","found","val","entriesIndex","sliceIndex","callback","boundFunction","keys","values","fetch","body","headers","args","toAbsoluteIndex","toInteger","toObject","arraySpeciesCreate","createProperty","arrayMethodHasSpeciesSupport","HAS_SPECIES_SUPPORT","max","MAX_SAFE_INTEGER","MAXIMUM_ALLOWED_LENGTH_EXCEEDED","start","deleteCount","insertCount","actualDeleteCount","A","from","to","O","actualStart","argumentsLength","$findIndex","findIndex","addToUnscopables","FIND_INDEX","SKIPS_HOLES","callbackfn","_component_Dialog","visible","isDialogVisible","onHide","doHideDialog","modal","showHeader","closable","dialogTitle","dialogMessage","doConfirm","title","message","isVisible","handleHideDialog","newValue","_component_router_link","_component_DialogImportFile","_component_BuildingSelector","_component_TabPanel","_component_ScrollableTabView","_component_ResidentItem","_component_ElScrollbar","_component_ProgressSpinner","_component_ResidentDetailsEdit","_component_DialogMassiveInviteResidents","backLink","handleClick","backToText","isBRFA","triggerFilePicker","onChange","onFileSelected","accept","onExportClick","currentEntrancePlant","syncStatus","isPlantActive","toggleMassiveInvitation","entrancePlantDetail","importedData","isVisibleDialogImportFile","onHideDialog","handleCloseDialog","onOverwrite","overwrite","onBuildingSelected","selectBuilding","scrollable","onTabChange","handleTabClick","tabOptions","tabOption","header","buildingStructure","tabSelectedIndex","floors","floorsection","floorIndex","apartments","apartment","apartmentIndex","apartmentSelected","apartmentId","onApartmentSelected","showApartmentDetail","isBrfa","isCallingCode","changingApartment","onUpdateList","handleUpdateList","isVisibleMassiveInvite","_component_Card","selected","content","getLabelText","firstLabel","othersLabels","icon","replaceAll","labelText","callingCode","isPrivate","surname","companyName","Object","_hoisted_11","_hoisted_12","_hoisted_13","_hoisted_14","_hoisted_15","_hoisted_16","_hoisted_17","_hoisted_18","_hoisted_19","_hoisted_20","_hoisted_21","_hoisted_22","_component_InputText","showImportSection","handleExportImportProcedure","buildings","building","tabBuildingLabel","addressingType","AddressingType","BuildingRiserFloorApartment","riser","riserIndex","aptIndex","apartmentInputLabel","disableInput","emailInput","isValid","placeholder","email","checkMailValid","getErrorLabel","toUpperCase","handleExportClick","handleButtonSubmitAction","invites","validateEmail","re","document","getElementById","click","event","files","fileIsCsv","$toast","add","severity","summary","life","console","$store","dispatch","reader","FileReader","onload","e","text","includes","data","initInvitations","onerror","readAsText","apartCount","DirectCall_NumbersOnly","DirectCall_Alphanumeric","apartmentInputLabelCallingCode","apartmentInputLabelBrfa","apartmentInputLabelDefault","baseLabel","apartmentInvitations","apartm","invite","status","Pending","isEnable","isImported","sendInvites","invitationCsv","desktopId","csv","window","Blob","link","createElement","fileName","setAttribute","appendChild","parentNode","removeChild","$router","log","newInvites","massiveinvitation","$nextTick","computed","components","_component_ContactSection","_component_GateAccessSection","_component_BadgesSection","_component_CodeSection","_component_TabView","contactEdited","errorContact","editingApartment","editedApartment","onOnAddEditLabel","onAddEditLabel","onOnDeleteLabel","onDeleteLabel","onUpdateListInvites","onContactEdited","handleContactEdited","onErrorContact","handleErrorContact","gateAccessEdited","errorGateAccess","onGateAccessEdited","handleGateAccessEdited","onErrorGateAccess","handleErrorGateAccess","badgeEdited","errorBadge","canEditWithPropagation","onBadgeEdited","handleBadgeEdited","onErrorBadge","handleErrorBadge","keyCodeEdited","errorKeyCode","onKeyCodeEdited","handleKeyCodeEdited","onErrorKeyCode","handleErrorKeyCode","onSaveClick","saveDisabled","_component_KeypadCodeInput","handleKeypadCodeEdited","codeTabHasError","apartmentWasEdited","KeypadCodeInput","_component_BadgeItem","_component_DialogAddBadge","_component_DialogMaxEntity","handleAddBadgeResident","badgesList","noBadgeText","badge","badgeTab","onDeleteBadge","removeBadge","isVisibleAddBadge","residentBadge","plantBadges","fromResidentTab","onAddBadgeTab","addBadge","isVisibleMaxEntity","handleMaxEntityDialog","badgeAll","fetchBadges","badgeList","map","badgeCode","textToSplit","noBadgeTextLines","addedBadges","badgeToRemove","badgeListAdded","badgeEdit","some","BadgeItem","DialogAddBadge","DialogMaxEntity","_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","_component_DialogEditLabel","_component_DialogInviteResident","_component_DialogConfirmDelete","isFloorsAddressing","isCallWithCode","disableAddLabel","checkIfCanAddLabel","onEditLabelClick","onDeleteLabelClick","adminView","scsAddrNotValid","scsAddr","MIN_SCS_ADDRESS","MAX_SCS_ADDRESS","invalidScsReason","buildingCode","riserCode","floorCode","apartmentCode","disableInvite","toggleInviteDialog","currentInvitations","cInvitation","userInitials","opacity","toggleDeleteInviteConfirm","isVisibleDialogEditLabel","labelToEdit","isEdit","hideLabelDialog","onSaveLabel","isVisibleDialogInviteResident","isVisibleDeleteInviteConfirm","revokeInviteMessage","onConfirm","handleDeleteInvite","toggleMaxEntityDialog","_hoisted_41","_component_ListItemRadio","_component_Textarea","codeNotValid","disableEditCallCode","invalidCodeReason","inputId","last","maxLineFieldLength","imageName","removeImage","isInformationVisible","information","informationMaxLength","remainingChars","saveButtonDisabled","imageBase64","AddressBook","img","Image","size","width","height","loadEvent","readAsDataURL","savingLabel","allLabels","flat","isCodeAlreadyUsed","loadLabel","verifyCodeValidity","invalidEmail","verifyEmail","errorLabel","sendInvite","residentinvitationPOST","initInvitation","invitationToRemove","verifyValidityOfScsAddress","hasCode","onAddLabelClick","newLabel","invitation","residentinvitationDELETE","getContactError","scsEdit","buildingCodeEdit","floorCodeEdit","riserCodeEdit","apartmentCodeEdit","contactEdit","acceptedRange","doesNotExist","listToCheck","flatMap","b","a","DialogEditLabel","DialogConfirmDelete","DialogInviteResident","_component_ListItemCheck","gates","g","gateIdx","gateId","apartmentGates","currentEntrancePlantGatesCount","applyToAllTheResidents","retrieveApartmentGates","gate","edited","gateWasEdited","gatesEditedIds","initApartmentToEdit","tabEdited","tabHasError","keyCode","l","labelPUT","labelPOST","labelDELETE","entranceplantGET","plant","replaceApartment","updatePlantGates","residents","restoreEditCheckers","buildingIndex","buildingId","updateApartmentGates","apartmentToAdd","c","ContactSection","GateAccessSection","BadgesSection","CodeSection","selectedBuilding","risers","options","resetState","$route","setTimeout","errorToast","res","import","filename","updatedApartment","DialogImportFile","ResidentItem","DialogMassiveInviteResidents","BuildingSelector","ApartmentSelector","ResidentDetailsEdit"],"mappings":"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","file":"js/page-entranceplant-reisdents.4f4f72d4.js","sourcesContent":["var fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = !fails(function () {\n var url = new URL('b?a=1&b=2&c=3', 'http://a');\n var searchParams = url.searchParams;\n var result = '';\n url.pathname = 'c%20d';\n searchParams.forEach(function (value, key) {\n searchParams['delete']('b');\n result += key + value;\n });\n return (IS_PURE && !url.toJSON)\n || !searchParams.sort\n || url.href !== 'http://a/c%20d?a=1&c=3'\n || searchParams.get('c') !== '3'\n || String(new URLSearchParams('?a=1')) !== 'a=1'\n || !searchParams[ITERATOR]\n // throws in Edge\n || new URL('https://a@b').username !== 'a'\n || new URLSearchParams(new URLSearchParams('a=b')).get('a') !== 'b'\n // not punycoded in Edge\n || new URL('http://тест').host !== 'xn--e1aybc'\n // not escaped in Chrome 62-\n || new URL('http://a#б').hash !== '#%D0%B1'\n // fails in Chrome 66-\n || result !== 'a1c3'\n // throws in Safari\n || new URL('http://x', undefined).host !== 'x';\n});\n","module.exports = __webpack_public_path__ + \"img/icon-ellipsis-v.6e5f7bcb.svg\";","'use strict';\n// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env`\nrequire('../modules/es.string.iterator');\nvar $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar USE_NATIVE_URL = require('../internals/native-url');\nvar global = require('../internals/global');\nvar defineProperties = require('../internals/object-define-properties');\nvar redefine = require('../internals/redefine');\nvar anInstance = require('../internals/an-instance');\nvar has = require('../internals/has');\nvar assign = require('../internals/object-assign');\nvar arrayFrom = require('../internals/array-from');\nvar codeAt = require('../internals/string-multibyte').codeAt;\nvar toASCII = require('../internals/string-punycode-to-ascii');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar URLSearchParamsModule = require('../modules/web.url-search-params');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar NativeURL = global.URL;\nvar URLSearchParams = URLSearchParamsModule.URLSearchParams;\nvar getInternalSearchParamsState = URLSearchParamsModule.getState;\nvar setInternalState = InternalStateModule.set;\nvar getInternalURLState = InternalStateModule.getterFor('URL');\nvar floor = Math.floor;\nvar pow = Math.pow;\n\nvar INVALID_AUTHORITY = 'Invalid authority';\nvar INVALID_SCHEME = 'Invalid scheme';\nvar INVALID_HOST = 'Invalid host';\nvar INVALID_PORT = 'Invalid port';\n\nvar ALPHA = /[A-Za-z]/;\nvar ALPHANUMERIC = /[\\d+-.A-Za-z]/;\nvar DIGIT = /\\d/;\nvar HEX_START = /^(0x|0X)/;\nvar OCT = /^[0-7]+$/;\nvar DEC = /^\\d+$/;\nvar HEX = /^[\\dA-Fa-f]+$/;\n/* eslint-disable no-control-regex -- safe */\nvar FORBIDDEN_HOST_CODE_POINT = /[\\u0000\\t\\u000A\\u000D #%/:?@[\\\\]]/;\nvar FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT = /[\\u0000\\t\\u000A\\u000D #/:?@[\\\\]]/;\nvar LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE = /^[\\u0000-\\u001F ]+|[\\u0000-\\u001F ]+$/g;\nvar TAB_AND_NEW_LINE = /[\\t\\u000A\\u000D]/g;\n/* eslint-enable no-control-regex -- safe */\nvar EOF;\n\nvar parseHost = function (url, input) {\n var result, codePoints, index;\n if (input.charAt(0) == '[') {\n if (input.charAt(input.length - 1) != ']') return INVALID_HOST;\n result = parseIPv6(input.slice(1, -1));\n if (!result) return INVALID_HOST;\n url.host = result;\n // opaque host\n } else if (!isSpecial(url)) {\n if (FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT.test(input)) return INVALID_HOST;\n result = '';\n codePoints = arrayFrom(input);\n for (index = 0; index < codePoints.length; index++) {\n result += percentEncode(codePoints[index], C0ControlPercentEncodeSet);\n }\n url.host = result;\n } else {\n input = toASCII(input);\n if (FORBIDDEN_HOST_CODE_POINT.test(input)) return INVALID_HOST;\n result = parseIPv4(input);\n if (result === null) return INVALID_HOST;\n url.host = result;\n }\n};\n\nvar parseIPv4 = function (input) {\n var parts = input.split('.');\n var partsLength, numbers, index, part, radix, number, ipv4;\n if (parts.length && parts[parts.length - 1] == '') {\n parts.pop();\n }\n partsLength = parts.length;\n if (partsLength > 4) return input;\n numbers = [];\n for (index = 0; index < partsLength; index++) {\n part = parts[index];\n if (part == '') return input;\n radix = 10;\n if (part.length > 1 && part.charAt(0) == '0') {\n radix = HEX_START.test(part) ? 16 : 8;\n part = part.slice(radix == 8 ? 1 : 2);\n }\n if (part === '') {\n number = 0;\n } else {\n if (!(radix == 10 ? DEC : radix == 8 ? OCT : HEX).test(part)) return input;\n number = parseInt(part, radix);\n }\n numbers.push(number);\n }\n for (index = 0; index < partsLength; index++) {\n number = numbers[index];\n if (index == partsLength - 1) {\n if (number >= pow(256, 5 - partsLength)) return null;\n } else if (number > 255) return null;\n }\n ipv4 = numbers.pop();\n for (index = 0; index < numbers.length; index++) {\n ipv4 += numbers[index] * pow(256, 3 - index);\n }\n return ipv4;\n};\n\n// eslint-disable-next-line max-statements -- TODO\nvar parseIPv6 = function (input) {\n var address = [0, 0, 0, 0, 0, 0, 0, 0];\n var pieceIndex = 0;\n var compress = null;\n var pointer = 0;\n var value, length, numbersSeen, ipv4Piece, number, swaps, swap;\n\n var char = function () {\n return input.charAt(pointer);\n };\n\n if (char() == ':') {\n if (input.charAt(1) != ':') return;\n pointer += 2;\n pieceIndex++;\n compress = pieceIndex;\n }\n while (char()) {\n if (pieceIndex == 8) return;\n if (char() == ':') {\n if (compress !== null) return;\n pointer++;\n pieceIndex++;\n compress = pieceIndex;\n continue;\n }\n value = length = 0;\n while (length < 4 && HEX.test(char())) {\n value = value * 16 + parseInt(char(), 16);\n pointer++;\n length++;\n }\n if (char() == '.') {\n if (length == 0) return;\n pointer -= length;\n if (pieceIndex > 6) return;\n numbersSeen = 0;\n while (char()) {\n ipv4Piece = null;\n if (numbersSeen > 0) {\n if (char() == '.' && numbersSeen < 4) pointer++;\n else return;\n }\n if (!DIGIT.test(char())) return;\n while (DIGIT.test(char())) {\n number = parseInt(char(), 10);\n if (ipv4Piece === null) ipv4Piece = number;\n else if (ipv4Piece == 0) return;\n else ipv4Piece = ipv4Piece * 10 + number;\n if (ipv4Piece > 255) return;\n pointer++;\n }\n address[pieceIndex] = address[pieceIndex] * 256 + ipv4Piece;\n numbersSeen++;\n if (numbersSeen == 2 || numbersSeen == 4) pieceIndex++;\n }\n if (numbersSeen != 4) return;\n break;\n } else if (char() == ':') {\n pointer++;\n if (!char()) return;\n } else if (char()) return;\n address[pieceIndex++] = value;\n }\n if (compress !== null) {\n swaps = pieceIndex - compress;\n pieceIndex = 7;\n while (pieceIndex != 0 && swaps > 0) {\n swap = address[pieceIndex];\n address[pieceIndex--] = address[compress + swaps - 1];\n address[compress + --swaps] = swap;\n }\n } else if (pieceIndex != 8) return;\n return address;\n};\n\nvar findLongestZeroSequence = function (ipv6) {\n var maxIndex = null;\n var maxLength = 1;\n var currStart = null;\n var currLength = 0;\n var index = 0;\n for (; index < 8; index++) {\n if (ipv6[index] !== 0) {\n if (currLength > maxLength) {\n maxIndex = currStart;\n maxLength = currLength;\n }\n currStart = null;\n currLength = 0;\n } else {\n if (currStart === null) currStart = index;\n ++currLength;\n }\n }\n if (currLength > maxLength) {\n maxIndex = currStart;\n maxLength = currLength;\n }\n return maxIndex;\n};\n\nvar serializeHost = function (host) {\n var result, index, compress, ignore0;\n // ipv4\n if (typeof host == 'number') {\n result = [];\n for (index = 0; index < 4; index++) {\n result.unshift(host % 256);\n host = floor(host / 256);\n } return result.join('.');\n // ipv6\n } else if (typeof host == 'object') {\n result = '';\n compress = findLongestZeroSequence(host);\n for (index = 0; index < 8; index++) {\n if (ignore0 && host[index] === 0) continue;\n if (ignore0) ignore0 = false;\n if (compress === index) {\n result += index ? ':' : '::';\n ignore0 = true;\n } else {\n result += host[index].toString(16);\n if (index < 7) result += ':';\n }\n }\n return '[' + result + ']';\n } return host;\n};\n\nvar C0ControlPercentEncodeSet = {};\nvar fragmentPercentEncodeSet = assign({}, C0ControlPercentEncodeSet, {\n ' ': 1, '\"': 1, '<': 1, '>': 1, '`': 1\n});\nvar pathPercentEncodeSet = assign({}, fragmentPercentEncodeSet, {\n '#': 1, '?': 1, '{': 1, '}': 1\n});\nvar userinfoPercentEncodeSet = assign({}, pathPercentEncodeSet, {\n '/': 1, ':': 1, ';': 1, '=': 1, '@': 1, '[': 1, '\\\\': 1, ']': 1, '^': 1, '|': 1\n});\n\nvar percentEncode = function (char, set) {\n var code = codeAt(char, 0);\n return code > 0x20 && code < 0x7F && !has(set, char) ? char : encodeURIComponent(char);\n};\n\nvar specialSchemes = {\n ftp: 21,\n file: null,\n http: 80,\n https: 443,\n ws: 80,\n wss: 443\n};\n\nvar isSpecial = function (url) {\n return has(specialSchemes, url.scheme);\n};\n\nvar includesCredentials = function (url) {\n return url.username != '' || url.password != '';\n};\n\nvar cannotHaveUsernamePasswordPort = function (url) {\n return !url.host || url.cannotBeABaseURL || url.scheme == 'file';\n};\n\nvar isWindowsDriveLetter = function (string, normalized) {\n var second;\n return string.length == 2 && ALPHA.test(string.charAt(0))\n && ((second = string.charAt(1)) == ':' || (!normalized && second == '|'));\n};\n\nvar startsWithWindowsDriveLetter = function (string) {\n var third;\n return string.length > 1 && isWindowsDriveLetter(string.slice(0, 2)) && (\n string.length == 2 ||\n ((third = string.charAt(2)) === '/' || third === '\\\\' || third === '?' || third === '#')\n );\n};\n\nvar shortenURLsPath = function (url) {\n var path = url.path;\n var pathSize = path.length;\n if (pathSize && (url.scheme != 'file' || pathSize != 1 || !isWindowsDriveLetter(path[0], true))) {\n path.pop();\n }\n};\n\nvar isSingleDot = function (segment) {\n return segment === '.' || segment.toLowerCase() === '%2e';\n};\n\nvar isDoubleDot = function (segment) {\n segment = segment.toLowerCase();\n return segment === '..' || segment === '%2e.' || segment === '.%2e' || segment === '%2e%2e';\n};\n\n// States:\nvar SCHEME_START = {};\nvar SCHEME = {};\nvar NO_SCHEME = {};\nvar SPECIAL_RELATIVE_OR_AUTHORITY = {};\nvar PATH_OR_AUTHORITY = {};\nvar RELATIVE = {};\nvar RELATIVE_SLASH = {};\nvar SPECIAL_AUTHORITY_SLASHES = {};\nvar SPECIAL_AUTHORITY_IGNORE_SLASHES = {};\nvar AUTHORITY = {};\nvar HOST = {};\nvar HOSTNAME = {};\nvar PORT = {};\nvar FILE = {};\nvar FILE_SLASH = {};\nvar FILE_HOST = {};\nvar PATH_START = {};\nvar PATH = {};\nvar CANNOT_BE_A_BASE_URL_PATH = {};\nvar QUERY = {};\nvar FRAGMENT = {};\n\n// eslint-disable-next-line max-statements -- TODO\nvar parseURL = function (url, input, stateOverride, base) {\n var state = stateOverride || SCHEME_START;\n var pointer = 0;\n var buffer = '';\n var seenAt = false;\n var seenBracket = false;\n var seenPasswordToken = false;\n var codePoints, char, bufferCodePoints, failure;\n\n if (!stateOverride) {\n url.scheme = '';\n url.username = '';\n url.password = '';\n url.host = null;\n url.port = null;\n url.path = [];\n url.query = null;\n url.fragment = null;\n url.cannotBeABaseURL = false;\n input = input.replace(LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE, '');\n }\n\n input = input.replace(TAB_AND_NEW_LINE, '');\n\n codePoints = arrayFrom(input);\n\n while (pointer <= codePoints.length) {\n char = codePoints[pointer];\n switch (state) {\n case SCHEME_START:\n if (char && ALPHA.test(char)) {\n buffer += char.toLowerCase();\n state = SCHEME;\n } else if (!stateOverride) {\n state = NO_SCHEME;\n continue;\n } else return INVALID_SCHEME;\n break;\n\n case SCHEME:\n if (char && (ALPHANUMERIC.test(char) || char == '+' || char == '-' || char == '.')) {\n buffer += char.toLowerCase();\n } else if (char == ':') {\n if (stateOverride && (\n (isSpecial(url) != has(specialSchemes, buffer)) ||\n (buffer == 'file' && (includesCredentials(url) || url.port !== null)) ||\n (url.scheme == 'file' && !url.host)\n )) return;\n url.scheme = buffer;\n if (stateOverride) {\n if (isSpecial(url) && specialSchemes[url.scheme] == url.port) url.port = null;\n return;\n }\n buffer = '';\n if (url.scheme == 'file') {\n state = FILE;\n } else if (isSpecial(url) && base && base.scheme == url.scheme) {\n state = SPECIAL_RELATIVE_OR_AUTHORITY;\n } else if (isSpecial(url)) {\n state = SPECIAL_AUTHORITY_SLASHES;\n } else if (codePoints[pointer + 1] == '/') {\n state = PATH_OR_AUTHORITY;\n pointer++;\n } else {\n url.cannotBeABaseURL = true;\n url.path.push('');\n state = CANNOT_BE_A_BASE_URL_PATH;\n }\n } else if (!stateOverride) {\n buffer = '';\n state = NO_SCHEME;\n pointer = 0;\n continue;\n } else return INVALID_SCHEME;\n break;\n\n case NO_SCHEME:\n if (!base || (base.cannotBeABaseURL && char != '#')) return INVALID_SCHEME;\n if (base.cannotBeABaseURL && char == '#') {\n url.scheme = base.scheme;\n url.path = base.path.slice();\n url.query = base.query;\n url.fragment = '';\n url.cannotBeABaseURL = true;\n state = FRAGMENT;\n break;\n }\n state = base.scheme == 'file' ? FILE : RELATIVE;\n continue;\n\n case SPECIAL_RELATIVE_OR_AUTHORITY:\n if (char == '/' && codePoints[pointer + 1] == '/') {\n state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n pointer++;\n } else {\n state = RELATIVE;\n continue;\n } break;\n\n case PATH_OR_AUTHORITY:\n if (char == '/') {\n state = AUTHORITY;\n break;\n } else {\n state = PATH;\n continue;\n }\n\n case RELATIVE:\n url.scheme = base.scheme;\n if (char == EOF) {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = base.path.slice();\n url.query = base.query;\n } else if (char == '/' || (char == '\\\\' && isSpecial(url))) {\n state = RELATIVE_SLASH;\n } else if (char == '?') {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = base.path.slice();\n url.query = '';\n state = QUERY;\n } else if (char == '#') {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = base.path.slice();\n url.query = base.query;\n url.fragment = '';\n state = FRAGMENT;\n } else {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = base.path.slice();\n url.path.pop();\n state = PATH;\n continue;\n } break;\n\n case RELATIVE_SLASH:\n if (isSpecial(url) && (char == '/' || char == '\\\\')) {\n state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n } else if (char == '/') {\n state = AUTHORITY;\n } else {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n state = PATH;\n continue;\n } break;\n\n case SPECIAL_AUTHORITY_SLASHES:\n state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n if (char != '/' || buffer.charAt(pointer + 1) != '/') continue;\n pointer++;\n break;\n\n case SPECIAL_AUTHORITY_IGNORE_SLASHES:\n if (char != '/' && char != '\\\\') {\n state = AUTHORITY;\n continue;\n } break;\n\n case AUTHORITY:\n if (char == '@') {\n if (seenAt) buffer = '%40' + buffer;\n seenAt = true;\n bufferCodePoints = arrayFrom(buffer);\n for (var i = 0; i < bufferCodePoints.length; i++) {\n var codePoint = bufferCodePoints[i];\n if (codePoint == ':' && !seenPasswordToken) {\n seenPasswordToken = true;\n continue;\n }\n var encodedCodePoints = percentEncode(codePoint, userinfoPercentEncodeSet);\n if (seenPasswordToken) url.password += encodedCodePoints;\n else url.username += encodedCodePoints;\n }\n buffer = '';\n } else if (\n char == EOF || char == '/' || char == '?' || char == '#' ||\n (char == '\\\\' && isSpecial(url))\n ) {\n if (seenAt && buffer == '') return INVALID_AUTHORITY;\n pointer -= arrayFrom(buffer).length + 1;\n buffer = '';\n state = HOST;\n } else buffer += char;\n break;\n\n case HOST:\n case HOSTNAME:\n if (stateOverride && url.scheme == 'file') {\n state = FILE_HOST;\n continue;\n } else if (char == ':' && !seenBracket) {\n if (buffer == '') return INVALID_HOST;\n failure = parseHost(url, buffer);\n if (failure) return failure;\n buffer = '';\n state = PORT;\n if (stateOverride == HOSTNAME) return;\n } else if (\n char == EOF || char == '/' || char == '?' || char == '#' ||\n (char == '\\\\' && isSpecial(url))\n ) {\n if (isSpecial(url) && buffer == '') return INVALID_HOST;\n if (stateOverride && buffer == '' && (includesCredentials(url) || url.port !== null)) return;\n failure = parseHost(url, buffer);\n if (failure) return failure;\n buffer = '';\n state = PATH_START;\n if (stateOverride) return;\n continue;\n } else {\n if (char == '[') seenBracket = true;\n else if (char == ']') seenBracket = false;\n buffer += char;\n } break;\n\n case PORT:\n if (DIGIT.test(char)) {\n buffer += char;\n } else if (\n char == EOF || char == '/' || char == '?' || char == '#' ||\n (char == '\\\\' && isSpecial(url)) ||\n stateOverride\n ) {\n if (buffer != '') {\n var port = parseInt(buffer, 10);\n if (port > 0xFFFF) return INVALID_PORT;\n url.port = (isSpecial(url) && port === specialSchemes[url.scheme]) ? null : port;\n buffer = '';\n }\n if (stateOverride) return;\n state = PATH_START;\n continue;\n } else return INVALID_PORT;\n break;\n\n case FILE:\n url.scheme = 'file';\n if (char == '/' || char == '\\\\') state = FILE_SLASH;\n else if (base && base.scheme == 'file') {\n if (char == EOF) {\n url.host = base.host;\n url.path = base.path.slice();\n url.query = base.query;\n } else if (char == '?') {\n url.host = base.host;\n url.path = base.path.slice();\n url.query = '';\n state = QUERY;\n } else if (char == '#') {\n url.host = base.host;\n url.path = base.path.slice();\n url.query = base.query;\n url.fragment = '';\n state = FRAGMENT;\n } else {\n if (!startsWithWindowsDriveLetter(codePoints.slice(pointer).join(''))) {\n url.host = base.host;\n url.path = base.path.slice();\n shortenURLsPath(url);\n }\n state = PATH;\n continue;\n }\n } else {\n state = PATH;\n continue;\n } break;\n\n case FILE_SLASH:\n if (char == '/' || char == '\\\\') {\n state = FILE_HOST;\n break;\n }\n if (base && base.scheme == 'file' && !startsWithWindowsDriveLetter(codePoints.slice(pointer).join(''))) {\n if (isWindowsDriveLetter(base.path[0], true)) url.path.push(base.path[0]);\n else url.host = base.host;\n }\n state = PATH;\n continue;\n\n case FILE_HOST:\n if (char == EOF || char == '/' || char == '\\\\' || char == '?' || char == '#') {\n if (!stateOverride && isWindowsDriveLetter(buffer)) {\n state = PATH;\n } else if (buffer == '') {\n url.host = '';\n if (stateOverride) return;\n state = PATH_START;\n } else {\n failure = parseHost(url, buffer);\n if (failure) return failure;\n if (url.host == 'localhost') url.host = '';\n if (stateOverride) return;\n buffer = '';\n state = PATH_START;\n } continue;\n } else buffer += char;\n break;\n\n case PATH_START:\n if (isSpecial(url)) {\n state = PATH;\n if (char != '/' && char != '\\\\') continue;\n } else if (!stateOverride && char == '?') {\n url.query = '';\n state = QUERY;\n } else if (!stateOverride && char == '#') {\n url.fragment = '';\n state = FRAGMENT;\n } else if (char != EOF) {\n state = PATH;\n if (char != '/') continue;\n } break;\n\n case PATH:\n if (\n char == EOF || char == '/' ||\n (char == '\\\\' && isSpecial(url)) ||\n (!stateOverride && (char == '?' || char == '#'))\n ) {\n if (isDoubleDot(buffer)) {\n shortenURLsPath(url);\n if (char != '/' && !(char == '\\\\' && isSpecial(url))) {\n url.path.push('');\n }\n } else if (isSingleDot(buffer)) {\n if (char != '/' && !(char == '\\\\' && isSpecial(url))) {\n url.path.push('');\n }\n } else {\n if (url.scheme == 'file' && !url.path.length && isWindowsDriveLetter(buffer)) {\n if (url.host) url.host = '';\n buffer = buffer.charAt(0) + ':'; // normalize windows drive letter\n }\n url.path.push(buffer);\n }\n buffer = '';\n if (url.scheme == 'file' && (char == EOF || char == '?' || char == '#')) {\n while (url.path.length > 1 && url.path[0] === '') {\n url.path.shift();\n }\n }\n if (char == '?') {\n url.query = '';\n state = QUERY;\n } else if (char == '#') {\n url.fragment = '';\n state = FRAGMENT;\n }\n } else {\n buffer += percentEncode(char, pathPercentEncodeSet);\n } break;\n\n case CANNOT_BE_A_BASE_URL_PATH:\n if (char == '?') {\n url.query = '';\n state = QUERY;\n } else if (char == '#') {\n url.fragment = '';\n state = FRAGMENT;\n } else if (char != EOF) {\n url.path[0] += percentEncode(char, C0ControlPercentEncodeSet);\n } break;\n\n case QUERY:\n if (!stateOverride && char == '#') {\n url.fragment = '';\n state = FRAGMENT;\n } else if (char != EOF) {\n if (char == \"'\" && isSpecial(url)) url.query += '%27';\n else if (char == '#') url.query += '%23';\n else url.query += percentEncode(char, C0ControlPercentEncodeSet);\n } break;\n\n case FRAGMENT:\n if (char != EOF) url.fragment += percentEncode(char, fragmentPercentEncodeSet);\n break;\n }\n\n pointer++;\n }\n};\n\n// `URL` constructor\n// https://url.spec.whatwg.org/#url-class\nvar URLConstructor = function URL(url /* , base */) {\n var that = anInstance(this, URLConstructor, 'URL');\n var base = arguments.length > 1 ? arguments[1] : undefined;\n var urlString = String(url);\n var state = setInternalState(that, { type: 'URL' });\n var baseState, failure;\n if (base !== undefined) {\n if (base instanceof URLConstructor) baseState = getInternalURLState(base);\n else {\n failure = parseURL(baseState = {}, String(base));\n if (failure) throw TypeError(failure);\n }\n }\n failure = parseURL(state, urlString, null, baseState);\n if (failure) throw TypeError(failure);\n var searchParams = state.searchParams = new URLSearchParams();\n var searchParamsState = getInternalSearchParamsState(searchParams);\n searchParamsState.updateSearchParams(state.query);\n searchParamsState.updateURL = function () {\n state.query = String(searchParams) || null;\n };\n if (!DESCRIPTORS) {\n that.href = serializeURL.call(that);\n that.origin = getOrigin.call(that);\n that.protocol = getProtocol.call(that);\n that.username = getUsername.call(that);\n that.password = getPassword.call(that);\n that.host = getHost.call(that);\n that.hostname = getHostname.call(that);\n that.port = getPort.call(that);\n that.pathname = getPathname.call(that);\n that.search = getSearch.call(that);\n that.searchParams = getSearchParams.call(that);\n that.hash = getHash.call(that);\n }\n};\n\nvar URLPrototype = URLConstructor.prototype;\n\nvar serializeURL = function () {\n var url = getInternalURLState(this);\n var scheme = url.scheme;\n var username = url.username;\n var password = url.password;\n var host = url.host;\n var port = url.port;\n var path = url.path;\n var query = url.query;\n var fragment = url.fragment;\n var output = scheme + ':';\n if (host !== null) {\n output += '//';\n if (includesCredentials(url)) {\n output += username + (password ? ':' + password : '') + '@';\n }\n output += serializeHost(host);\n if (port !== null) output += ':' + port;\n } else if (scheme == 'file') output += '//';\n output += url.cannotBeABaseURL ? path[0] : path.length ? '/' + path.join('/') : '';\n if (query !== null) output += '?' + query;\n if (fragment !== null) output += '#' + fragment;\n return output;\n};\n\nvar getOrigin = function () {\n var url = getInternalURLState(this);\n var scheme = url.scheme;\n var port = url.port;\n if (scheme == 'blob') try {\n return new URL(scheme.path[0]).origin;\n } catch (error) {\n return 'null';\n }\n if (scheme == 'file' || !isSpecial(url)) return 'null';\n return scheme + '://' + serializeHost(url.host) + (port !== null ? ':' + port : '');\n};\n\nvar getProtocol = function () {\n return getInternalURLState(this).scheme + ':';\n};\n\nvar getUsername = function () {\n return getInternalURLState(this).username;\n};\n\nvar getPassword = function () {\n return getInternalURLState(this).password;\n};\n\nvar getHost = function () {\n var url = getInternalURLState(this);\n var host = url.host;\n var port = url.port;\n return host === null ? ''\n : port === null ? serializeHost(host)\n : serializeHost(host) + ':' + port;\n};\n\nvar getHostname = function () {\n var host = getInternalURLState(this).host;\n return host === null ? '' : serializeHost(host);\n};\n\nvar getPort = function () {\n var port = getInternalURLState(this).port;\n return port === null ? '' : String(port);\n};\n\nvar getPathname = function () {\n var url = getInternalURLState(this);\n var path = url.path;\n return url.cannotBeABaseURL ? path[0] : path.length ? '/' + path.join('/') : '';\n};\n\nvar getSearch = function () {\n var query = getInternalURLState(this).query;\n return query ? '?' + query : '';\n};\n\nvar getSearchParams = function () {\n return getInternalURLState(this).searchParams;\n};\n\nvar getHash = function () {\n var fragment = getInternalURLState(this).fragment;\n return fragment ? '#' + fragment : '';\n};\n\nvar accessorDescriptor = function (getter, setter) {\n return { get: getter, set: setter, configurable: true, enumerable: true };\n};\n\nif (DESCRIPTORS) {\n defineProperties(URLPrototype, {\n // `URL.prototype.href` accessors pair\n // https://url.spec.whatwg.org/#dom-url-href\n href: accessorDescriptor(serializeURL, function (href) {\n var url = getInternalURLState(this);\n var urlString = String(href);\n var failure = parseURL(url, urlString);\n if (failure) throw TypeError(failure);\n getInternalSearchParamsState(url.searchParams).updateSearchParams(url.query);\n }),\n // `URL.prototype.origin` getter\n // https://url.spec.whatwg.org/#dom-url-origin\n origin: accessorDescriptor(getOrigin),\n // `URL.prototype.protocol` accessors pair\n // https://url.spec.whatwg.org/#dom-url-protocol\n protocol: accessorDescriptor(getProtocol, function (protocol) {\n var url = getInternalURLState(this);\n parseURL(url, String(protocol) + ':', SCHEME_START);\n }),\n // `URL.prototype.username` accessors pair\n // https://url.spec.whatwg.org/#dom-url-username\n username: accessorDescriptor(getUsername, function (username) {\n var url = getInternalURLState(this);\n var codePoints = arrayFrom(String(username));\n if (cannotHaveUsernamePasswordPort(url)) return;\n url.username = '';\n for (var i = 0; i < codePoints.length; i++) {\n url.username += percentEncode(codePoints[i], userinfoPercentEncodeSet);\n }\n }),\n // `URL.prototype.password` accessors pair\n // https://url.spec.whatwg.org/#dom-url-password\n password: accessorDescriptor(getPassword, function (password) {\n var url = getInternalURLState(this);\n var codePoints = arrayFrom(String(password));\n if (cannotHaveUsernamePasswordPort(url)) return;\n url.password = '';\n for (var i = 0; i < codePoints.length; i++) {\n url.password += percentEncode(codePoints[i], userinfoPercentEncodeSet);\n }\n }),\n // `URL.prototype.host` accessors pair\n // https://url.spec.whatwg.org/#dom-url-host\n host: accessorDescriptor(getHost, function (host) {\n var url = getInternalURLState(this);\n if (url.cannotBeABaseURL) return;\n parseURL(url, String(host), HOST);\n }),\n // `URL.prototype.hostname` accessors pair\n // https://url.spec.whatwg.org/#dom-url-hostname\n hostname: accessorDescriptor(getHostname, function (hostname) {\n var url = getInternalURLState(this);\n if (url.cannotBeABaseURL) return;\n parseURL(url, String(hostname), HOSTNAME);\n }),\n // `URL.prototype.port` accessors pair\n // https://url.spec.whatwg.org/#dom-url-port\n port: accessorDescriptor(getPort, function (port) {\n var url = getInternalURLState(this);\n if (cannotHaveUsernamePasswordPort(url)) return;\n port = String(port);\n if (port == '') url.port = null;\n else parseURL(url, port, PORT);\n }),\n // `URL.prototype.pathname` accessors pair\n // https://url.spec.whatwg.org/#dom-url-pathname\n pathname: accessorDescriptor(getPathname, function (pathname) {\n var url = getInternalURLState(this);\n if (url.cannotBeABaseURL) return;\n url.path = [];\n parseURL(url, pathname + '', PATH_START);\n }),\n // `URL.prototype.search` accessors pair\n // https://url.spec.whatwg.org/#dom-url-search\n search: accessorDescriptor(getSearch, function (search) {\n var url = getInternalURLState(this);\n search = String(search);\n if (search == '') {\n url.query = null;\n } else {\n if ('?' == search.charAt(0)) search = search.slice(1);\n url.query = '';\n parseURL(url, search, QUERY);\n }\n getInternalSearchParamsState(url.searchParams).updateSearchParams(url.query);\n }),\n // `URL.prototype.searchParams` getter\n // https://url.spec.whatwg.org/#dom-url-searchparams\n searchParams: accessorDescriptor(getSearchParams),\n // `URL.prototype.hash` accessors pair\n // https://url.spec.whatwg.org/#dom-url-hash\n hash: accessorDescriptor(getHash, function (hash) {\n var url = getInternalURLState(this);\n hash = String(hash);\n if (hash == '') {\n url.fragment = null;\n return;\n }\n if ('#' == hash.charAt(0)) hash = hash.slice(1);\n url.fragment = '';\n parseURL(url, hash, FRAGMENT);\n })\n });\n}\n\n// `URL.prototype.toJSON` method\n// https://url.spec.whatwg.org/#dom-url-tojson\nredefine(URLPrototype, 'toJSON', function toJSON() {\n return serializeURL.call(this);\n}, { enumerable: true });\n\n// `URL.prototype.toString` method\n// https://url.spec.whatwg.org/#URL-stringification-behavior\nredefine(URLPrototype, 'toString', function toString() {\n return serializeURL.call(this);\n}, { enumerable: true });\n\nif (NativeURL) {\n var nativeCreateObjectURL = NativeURL.createObjectURL;\n var nativeRevokeObjectURL = NativeURL.revokeObjectURL;\n // `URL.createObjectURL` method\n // https://developer.mozilla.org/en-US/docs/Web/API/URL/createObjectURL\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n if (nativeCreateObjectURL) redefine(URLConstructor, 'createObjectURL', function createObjectURL(blob) {\n return nativeCreateObjectURL.apply(NativeURL, arguments);\n });\n // `URL.revokeObjectURL` method\n // https://developer.mozilla.org/en-US/docs/Web/API/URL/revokeObjectURL\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n if (nativeRevokeObjectURL) redefine(URLConstructor, 'revokeObjectURL', function revokeObjectURL(url) {\n return nativeRevokeObjectURL.apply(NativeURL, arguments);\n });\n}\n\nsetToStringTag(URLConstructor, 'URL');\n\n$({ global: true, forced: !USE_NATIVE_URL, sham: !DESCRIPTORS }, {\n URL: URLConstructor\n});\n","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!./EntrancePlantResidents.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!./CodeSection.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!./ResidentDetailsEdit.scss?vue&type=style&index=0&lang=scss\"","'use strict';\n// based on https://github.com/bestiejs/punycode.js/blob/master/punycode.js\nvar maxInt = 2147483647; // aka. 0x7FFFFFFF or 2^31-1\nvar base = 36;\nvar tMin = 1;\nvar tMax = 26;\nvar skew = 38;\nvar damp = 700;\nvar initialBias = 72;\nvar initialN = 128; // 0x80\nvar delimiter = '-'; // '\\x2D'\nvar regexNonASCII = /[^\\0-\\u007E]/; // non-ASCII chars\nvar regexSeparators = /[.\\u3002\\uFF0E\\uFF61]/g; // RFC 3490 separators\nvar OVERFLOW_ERROR = 'Overflow: input needs wider integers to process';\nvar baseMinusTMin = base - tMin;\nvar floor = Math.floor;\nvar stringFromCharCode = String.fromCharCode;\n\n/**\n * Creates an array containing the numeric code points of each Unicode\n * character in the string. While JavaScript uses UCS-2 internally,\n * this function will convert a pair of surrogate halves (each of which\n * UCS-2 exposes as separate characters) into a single code point,\n * matching UTF-16.\n */\nvar ucs2decode = function (string) {\n var output = [];\n var counter = 0;\n var length = string.length;\n while (counter < length) {\n var value = string.charCodeAt(counter++);\n if (value >= 0xD800 && value <= 0xDBFF && counter < length) {\n // It's a high surrogate, and there is a next character.\n var extra = string.charCodeAt(counter++);\n if ((extra & 0xFC00) == 0xDC00) { // Low surrogate.\n output.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);\n } else {\n // It's an unmatched surrogate; only append this code unit, in case the\n // next code unit is the high surrogate of a surrogate pair.\n output.push(value);\n counter--;\n }\n } else {\n output.push(value);\n }\n }\n return output;\n};\n\n/**\n * Converts a digit/integer into a basic code point.\n */\nvar digitToBasic = function (digit) {\n // 0..25 map to ASCII a..z or A..Z\n // 26..35 map to ASCII 0..9\n return digit + 22 + 75 * (digit < 26);\n};\n\n/**\n * Bias adaptation function as per section 3.4 of RFC 3492.\n * https://tools.ietf.org/html/rfc3492#section-3.4\n */\nvar adapt = function (delta, numPoints, firstTime) {\n var k = 0;\n delta = firstTime ? floor(delta / damp) : delta >> 1;\n delta += floor(delta / numPoints);\n for (; delta > baseMinusTMin * tMax >> 1; k += base) {\n delta = floor(delta / baseMinusTMin);\n }\n return floor(k + (baseMinusTMin + 1) * delta / (delta + skew));\n};\n\n/**\n * Converts a string of Unicode symbols (e.g. a domain name label) to a\n * Punycode string of ASCII-only symbols.\n */\n// eslint-disable-next-line max-statements -- TODO\nvar encode = function (input) {\n var output = [];\n\n // Convert the input in UCS-2 to an array of Unicode code points.\n input = ucs2decode(input);\n\n // Cache the length.\n var inputLength = input.length;\n\n // Initialize the state.\n var n = initialN;\n var delta = 0;\n var bias = initialBias;\n var i, currentValue;\n\n // Handle the basic code points.\n for (i = 0; i < input.length; i++) {\n currentValue = input[i];\n if (currentValue < 0x80) {\n output.push(stringFromCharCode(currentValue));\n }\n }\n\n var basicLength = output.length; // number of basic code points.\n var handledCPCount = basicLength; // number of code points that have been handled;\n\n // Finish the basic string with a delimiter unless it's empty.\n if (basicLength) {\n output.push(delimiter);\n }\n\n // Main encoding loop:\n while (handledCPCount < inputLength) {\n // All non-basic code points < n have been handled already. Find the next larger one:\n var m = maxInt;\n for (i = 0; i < input.length; i++) {\n currentValue = input[i];\n if (currentValue >= n && currentValue < m) {\n m = currentValue;\n }\n }\n\n // Increase `delta` enough to advance the decoder's state to , but guard against overflow.\n var handledCPCountPlusOne = handledCPCount + 1;\n if (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {\n throw RangeError(OVERFLOW_ERROR);\n }\n\n delta += (m - n) * handledCPCountPlusOne;\n n = m;\n\n for (i = 0; i < input.length; i++) {\n currentValue = input[i];\n if (currentValue < n && ++delta > maxInt) {\n throw RangeError(OVERFLOW_ERROR);\n }\n if (currentValue == n) {\n // Represent delta as a generalized variable-length integer.\n var q = delta;\n for (var k = base; /* no condition */; k += base) {\n var t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n if (q < t) break;\n var qMinusT = q - t;\n var baseMinusT = base - t;\n output.push(stringFromCharCode(digitToBasic(t + qMinusT % baseMinusT)));\n q = floor(qMinusT / baseMinusT);\n }\n\n output.push(stringFromCharCode(digitToBasic(q)));\n bias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);\n delta = 0;\n ++handledCPCount;\n }\n }\n\n ++delta;\n ++n;\n }\n return output.join('');\n};\n\nmodule.exports = function (input) {\n var encoded = [];\n var labels = input.toLowerCase().replace(regexSeparators, '\\u002E').split('.');\n var i, label;\n for (i = 0; i < labels.length; i++) {\n label = labels[i];\n encoded.push(regexNonASCII.test(label) ? 'xn--' + encode(label) : label);\n }\n return encoded.join('.');\n};\n","import { toDisplayString as _toDisplayString, createVNode as _createVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, Fragment as _Fragment } from \"vue\"\n\nconst _hoisted_1 = { class: \"p-field\" }\nconst _hoisted_2 = { class: \"d-flex align-items-center\" }\nconst _hoisted_3 = { class: \"fw-bold\" }\nconst _hoisted_4 = { class: \"bt-icon bt-icon--xs\" }\nconst _hoisted_5 = { class: \"ml-2\" }\nconst _hoisted_6 = { class: \"btn-stripped\" }\nconst _hoisted_7 = { class: \"p-field-label mt-3\" }\nconst _hoisted_8 = {\n key: 0,\n class: \"fs-13 label-error\",\n style: {\"position\":\"absolute\"}\n}\nconst _hoisted_9 = { class: \"p-field\" }\nconst _hoisted_10 = { class: \"p-field-label\" }\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_ElDropdownItem = _resolveComponent(\"ElDropdownItem\")\n const _component_ElDropdownMenu = _resolveComponent(\"ElDropdownMenu\")\n const _component_ElDropdown = _resolveComponent(\"ElDropdown\")\n const _component_Password = _resolveComponent(\"Password\")\n\n return (_openBlock(), _createBlock(_Fragment, null, [\n _createVNode(\"div\", _hoisted_1, [\n _createVNode(\"span\", _hoisted_2, [\n _createVNode(\"label\", _hoisted_3, _toDisplayString(_ctx.label), 1),\n _createVNode(_component_ElDropdown, {\n class: \"ml-auto\",\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\":\"200px\"} }, {\n default: _withCtx(() => [\n _createVNode(_component_ElDropdownItem, {\n disabled: _ctx.disabled,\n onClick: _ctx.codeGenerator\n }, {\n default: _withCtx(() => [\n _createVNode(\"button\", _hoisted_6, _toDisplayString(_ctx.$t(\"AppResourceEP.GenerateKeypadCode\")), 1)\n ]),\n _: 1\n }, 8, [\"disabled\", \"onClick\"])\n ]),\n _: 1\n })\n ]),\n default: _withCtx(() => [\n _createVNode(_component_Button, { class: \"p-button-rounded p-button-outlined ml-auto\" }, {\n default: _withCtx(() => [\n _createVNode(\"span\", _hoisted_4, [\n _createVNode(_component_InlineSvgScoped, {\n src: \n require(`@/assets/images/icons/icon-ellipsis-v.svg`)\n ,\n \"aria-label\": \"icon-ellipsis\"\n }, null, 8, [\"src\"])\n ]),\n _createVNode(\"span\", _hoisted_5, _toDisplayString(_ctx.$t(\"AppResource.More\")), 1)\n ]),\n _: 1\n })\n ]),\n _: 1\n })\n ]),\n _createVNode(\"label\", _hoisted_7, _toDisplayString(_ctx.$t(\"AppResourceEP.KeypadCode\")), 1),\n _createVNode(_component_Password, {\n disabled: _ctx.disabled,\n class: [\"w-50\", { 'w-100': _ctx.fullWidth }],\n toggleMask: \"\",\n feedback: false,\n maxlength: _ctx.keypadCodeRequiredLength,\n modelValue: _ctx.keypadCode,\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = ($event: any) => (_ctx.keypadCode = $event)),\n inputClass: {\n 'w-100': true,\n 'input-error': _ctx.newCodeNotValid,\n },\n onBlur: _ctx.checkNewCodeValidation,\n onFocus: _ctx.resetNewCodeValidation\n }, null, 8, [\"disabled\", \"maxlength\", \"modelValue\", \"inputClass\", \"class\", \"onBlur\", \"onFocus\"]),\n _createVNode(\"div\", null, [\n (_ctx.newCodeNotValid)\n ? (_openBlock(), _createBlock(\"label\", _hoisted_8, _toDisplayString(_ctx.invalidNewCodeMessage), 1))\n : _createCommentVNode(\"\", true)\n ])\n ]),\n _createVNode(\"div\", _hoisted_9, [\n _createVNode(\"label\", _hoisted_10, _toDisplayString(_ctx.$t(\"AppResourceEP.KeypadCodeConfirmationUpper\")), 1),\n _createVNode(_component_Password, {\n disabled: _ctx.disabled,\n toggleMask: \"\",\n id: 'codecheck_' + _ctx.labelId,\n maxlength: _ctx.keypadCodeRequiredLength,\n class: [\"w-50\", { 'w-100': _ctx.fullWidth }],\n feedback: false,\n modelValue: _ctx.codeCheck,\n \"onUpdate:modelValue\": [\n _cache[2] || (_cache[2] = ($event: any) => (_ctx.codeCheck = $event)),\n _ctx.codeWasEdited\n ],\n inputClass: {\n 'w-100': true,\n 'input-error': _ctx.codeConfirmationNotValid,\n 'input-valid': _ctx.codeConfirmationValid,\n },\n onBlur: _ctx.checkCodeConfirmationValid,\n onFocus: _ctx.resetConfirmValidation\n }, null, 8, [\"disabled\", \"id\", \"maxlength\", \"modelValue\", \"inputClass\", \"class\", \"onUpdate:modelValue\", \"onBlur\", \"onFocus\"]),\n _createVNode(\"div\", null, [\n (_ctx.codeConfirmationValid)\n ? (_openBlock(), _createBlock(\"label\", {\n key: 0,\n for: 'codecheck_' + _ctx.labelId,\n class: \"fs-13 label-valid\"\n }, _toDisplayString(_ctx.$t(\"AppResourceEP.KeypadCodeConfirmationMatch\")), 9, [\"for\"]))\n : (_ctx.codeConfirmationNotValid)\n ? (_openBlock(), _createBlock(\"label\", {\n key: 1,\n for: 'codecheck_' + _ctx.labelId,\n class: \"fs-13 label-error\"\n }, _toDisplayString(_ctx.$t(\"AppResourceEP.KeypadCodeConfirmationDoesNotMatch\")), 9, [\"for\"]))\n : _createCommentVNode(\"\", true)\n ])\n ])\n ], 64))\n}","import plantsClient from '@/core/services/plants';\nimport { isCodeCorrectValue, KeypadCodeValidation } from '@/core/utils/EntrancePlant/entrance-plant.utils';\nimport { Options, Vue } from 'vue-class-component';\n\n@Options({\n name: 'KeypadCodeInput',\n props: {\n modelValue: {\n type: String,\n required: true,\n },\n keypadCodeRequiredLength: {\n type: Number,\n required: true,\n },\n fullWidth: {\n type: Boolean,\n required: false,\n default: false,\n },\n label: {\n type: String,\n required: false,\n },\n labelId: {\n type: Number,\n required: false,\n default: 0,\n },\n disabled: {\n type: Boolean,\n required: false,\n default: false,\n },\n alreadyUsedCodes: {\n type: Array,\n required: true,\n default: [],\n }\n },\n watch: {\n keypadCode: function (value: string, oldValue: string) {\n if (value !== oldValue && this.keypadCodeEdited()) {\n this.resetConfirmValidation();\n }\n this.codeWasEdited();\n },\n codeCheck: function () {\n this.codeWasEdited();\n },\n },\n\n emits: ['key-code-edited', 'error-key-code', 'update:modelValue'],\n})\nexport default class KeypadCodeInput extends Vue {\n modelValue!: string;\n keypadCodeRequiredLength!: number;\n fullWidth!: boolean;\n label!: string;\n labelId!: number;\n alreadyUsedCodes!: string[];\n codeCheck: string = '';\n codeConfirmationNotValid = false;\n codeConfirmationValid = false;\n newCodeNotValid = false;\n oldKeypadCode = '';\n disabled!: boolean;\n invalidNewCodeMessage = '';\n\n mounted() {\n if (this.modelValue) {\n this.oldKeypadCode = this.modelValue;\n this.keypadCode = this.modelValue;\n this.codeCheck = this.modelValue;\n }\n }\n\n get keypadCode() {\n return this.modelValue;\n }\n\n set keypadCode(v: any) {\n this.$emit('update:modelValue', v);\n }\n\n get usedCodes() {\n return this.alreadyUsedCodes.filter((code) => code !== this.oldKeypadCode);\n }\n\n get isCorrectValue() {\n const validation = isCodeCorrectValue(this.keypadCode, this.usedCodes, this.keypadCodeRequiredLength);\n switch (validation) {\n case KeypadCodeValidation.OK:\n this.invalidNewCodeMessage = '';\n return true;\n case KeypadCodeValidation.KO_OnlyDigitsAllowed:\n this.invalidNewCodeMessage = this.$t('entrancePlant.keypadCodeOnlyDigitsAllowed');\n return false;\n case KeypadCodeValidation.KO_TooShort:\n this.invalidNewCodeMessage = this.$t('entrancePlant.keypadCodeTooShort');\n return false;\n case KeypadCodeValidation.KO_TooLong:\n this.invalidNewCodeMessage = this.$t('entrancePlant.keypadCodeTooLong');\n return false;\n case KeypadCodeValidation.KO_SameDigitRepeated:\n this.invalidNewCodeMessage = this.$t('entrancePlant.keypadCodeSameDigitRepeated');\n return false;\n case KeypadCodeValidation.KO_ConsecutiveDigits:\n this.invalidNewCodeMessage = this.$t('entrancePlant.keypadCodeConsecutiveDigits');\n return false;\n case KeypadCodeValidation.KO_AlreadyUsed:\n this.invalidNewCodeMessage = this.$t('AppResourceEP.keypadCodeAlreadyExistsInPlant');\n return false;\n }\n }\n\n get enableShare() {\n return this.codeCheck !== '' && this.codeCheck === this.keypadCode;\n }\n\n get codeInputHasError() {\n const errorCodeValidation = !this.isCorrectValue || (this.codeCheck !== this.keypadCode);\n return errorCodeValidation;\n }\n\n codeWasEdited() {\n this.$emit('error-key-code', this.codeInputHasError);\n this.$emit('key-code-edited', this.keypadCodeEdited(), this.keypadCode, this.labelId);\n }\n\n checkNewCodeValidation() {\n this.newCodeNotValid = this.keypadCode !== '' && !this.isCorrectValue;\n }\n\n resetNewCodeValidation() {\n this.newCodeNotValid = false;\n this.codeConfirmationNotValid = false;\n }\n\n checkCodeConfirmationValid() {\n if (this.codeCheck.trim() !== '' || this.keypadCode.trim() !== '') {\n this.codeConfirmationNotValid = this.codeCheck !== this.keypadCode;\n this.codeConfirmationValid =\n this.isCorrectValue && this.codeCheck === this.keypadCode;\n }\n }\n\n resetConfirmValidation() {\n this.codeConfirmationNotValid = false;\n this.codeConfirmationValid = false;\n }\n\n keypadCodeEdited() {\n if (this.keypadCode !== '') {\n return (\n this.codeCheck === this.keypadCode &&\n this.keypadCode !== this.oldKeypadCode\n );\n } else {\n return this.keypadCode !== this.oldKeypadCode;\n }\n }\n\n async codeGenerator() {\n this.resetConfirmValidation();\n this.resetNewCodeValidation();\n const randStr = await plantsClient.randomkeypadcode(\n this.keypadCodeRequiredLength\n );\n this.keypadCode = randStr.toString();\n this.codeCheck = randStr.toString();\n }\n}\n","import { render } from \"./KeypadCodeInput.vue?vue&type=template&id=28e334f4&ts=true\"\nimport script from \"./KeypadCodeInput.ts?vue&type=script&lang=ts\"\nexport * from \"./KeypadCodeInput.ts?vue&type=script&lang=ts\"\n\nimport exportComponent from \"/home/vsts/work/1/s/Frontend/node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","'use strict';\nvar $ = require('../internals/export');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar toLength = require('../internals/to-length');\nvar notARegExp = require('../internals/not-a-regexp');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar correctIsRegExpLogic = require('../internals/correct-is-regexp-logic');\nvar IS_PURE = require('../internals/is-pure');\n\nvar nativeEndsWith = ''.endsWith;\nvar min = Math.min;\n\nvar CORRECT_IS_REGEXP_LOGIC = correctIsRegExpLogic('endsWith');\n// https://github.com/zloirock/core-js/pull/702\nvar MDN_POLYFILL_BUG = !IS_PURE && !CORRECT_IS_REGEXP_LOGIC && !!function () {\n var descriptor = getOwnPropertyDescriptor(String.prototype, 'endsWith');\n return descriptor && !descriptor.writable;\n}();\n\n// `String.prototype.endsWith` method\n// https://tc39.es/ecma262/#sec-string.prototype.endswith\n$({ target: 'String', proto: true, forced: !MDN_POLYFILL_BUG && !CORRECT_IS_REGEXP_LOGIC }, {\n endsWith: function endsWith(searchString /* , endPosition = @length */) {\n var that = String(requireObjectCoercible(this));\n notARegExp(searchString);\n var endPosition = arguments.length > 1 ? arguments[1] : undefined;\n var len = toLength(that.length);\n var end = endPosition === undefined ? len : min(toLength(endPosition), len);\n var search = String(searchString);\n return nativeEndsWith\n ? nativeEndsWith.call(that, search, end)\n : that.slice(end - search.length, end) === search;\n }\n});\n","'use strict';\n// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env`\nrequire('../modules/es.array.iterator');\nvar $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar USE_NATIVE_URL = require('../internals/native-url');\nvar redefine = require('../internals/redefine');\nvar redefineAll = require('../internals/redefine-all');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar createIteratorConstructor = require('../internals/create-iterator-constructor');\nvar InternalStateModule = require('../internals/internal-state');\nvar anInstance = require('../internals/an-instance');\nvar hasOwn = require('../internals/has');\nvar bind = require('../internals/function-bind-context');\nvar classof = require('../internals/classof');\nvar anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar create = require('../internals/object-create');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar getIterator = require('../internals/get-iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar $fetch = getBuiltIn('fetch');\nvar Headers = getBuiltIn('Headers');\nvar ITERATOR = wellKnownSymbol('iterator');\nvar URL_SEARCH_PARAMS = 'URLSearchParams';\nvar URL_SEARCH_PARAMS_ITERATOR = URL_SEARCH_PARAMS + 'Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalParamsState = InternalStateModule.getterFor(URL_SEARCH_PARAMS);\nvar getInternalIteratorState = InternalStateModule.getterFor(URL_SEARCH_PARAMS_ITERATOR);\n\nvar plus = /\\+/g;\nvar sequences = Array(4);\n\nvar percentSequence = function (bytes) {\n return sequences[bytes - 1] || (sequences[bytes - 1] = RegExp('((?:%[\\\\da-f]{2}){' + bytes + '})', 'gi'));\n};\n\nvar percentDecode = function (sequence) {\n try {\n return decodeURIComponent(sequence);\n } catch (error) {\n return sequence;\n }\n};\n\nvar deserialize = function (it) {\n var result = it.replace(plus, ' ');\n var bytes = 4;\n try {\n return decodeURIComponent(result);\n } catch (error) {\n while (bytes) {\n result = result.replace(percentSequence(bytes--), percentDecode);\n }\n return result;\n }\n};\n\nvar find = /[!'()~]|%20/g;\n\nvar replace = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+'\n};\n\nvar replacer = function (match) {\n return replace[match];\n};\n\nvar serialize = function (it) {\n return encodeURIComponent(it).replace(find, replacer);\n};\n\nvar parseSearchParams = function (result, query) {\n if (query) {\n var attributes = query.split('&');\n var index = 0;\n var attribute, entry;\n while (index < attributes.length) {\n attribute = attributes[index++];\n if (attribute.length) {\n entry = attribute.split('=');\n result.push({\n key: deserialize(entry.shift()),\n value: deserialize(entry.join('='))\n });\n }\n }\n }\n};\n\nvar updateSearchParams = function (query) {\n this.entries.length = 0;\n parseSearchParams(this.entries, query);\n};\n\nvar validateArgumentsLength = function (passed, required) {\n if (passed < required) throw TypeError('Not enough arguments');\n};\n\nvar URLSearchParamsIterator = createIteratorConstructor(function Iterator(params, kind) {\n setInternalState(this, {\n type: URL_SEARCH_PARAMS_ITERATOR,\n iterator: getIterator(getInternalParamsState(params).entries),\n kind: kind\n });\n}, 'Iterator', function next() {\n var state = getInternalIteratorState(this);\n var kind = state.kind;\n var step = state.iterator.next();\n var entry = step.value;\n if (!step.done) {\n step.value = kind === 'keys' ? entry.key : kind === 'values' ? entry.value : [entry.key, entry.value];\n } return step;\n});\n\n// `URLSearchParams` constructor\n// https://url.spec.whatwg.org/#interface-urlsearchparams\nvar URLSearchParamsConstructor = function URLSearchParams(/* init */) {\n anInstance(this, URLSearchParamsConstructor, URL_SEARCH_PARAMS);\n var init = arguments.length > 0 ? arguments[0] : undefined;\n var that = this;\n var entries = [];\n var iteratorMethod, iterator, next, step, entryIterator, entryNext, first, second, key;\n\n setInternalState(that, {\n type: URL_SEARCH_PARAMS,\n entries: entries,\n updateURL: function () { /* empty */ },\n updateSearchParams: updateSearchParams\n });\n\n if (init !== undefined) {\n if (isObject(init)) {\n iteratorMethod = getIteratorMethod(init);\n if (typeof iteratorMethod === 'function') {\n iterator = iteratorMethod.call(init);\n next = iterator.next;\n while (!(step = next.call(iterator)).done) {\n entryIterator = getIterator(anObject(step.value));\n entryNext = entryIterator.next;\n if (\n (first = entryNext.call(entryIterator)).done ||\n (second = entryNext.call(entryIterator)).done ||\n !entryNext.call(entryIterator).done\n ) throw TypeError('Expected sequence with length 2');\n entries.push({ key: first.value + '', value: second.value + '' });\n }\n } else for (key in init) if (hasOwn(init, key)) entries.push({ key: key, value: init[key] + '' });\n } else {\n parseSearchParams(entries, typeof init === 'string' ? init.charAt(0) === '?' ? init.slice(1) : init : init + '');\n }\n }\n};\n\nvar URLSearchParamsPrototype = URLSearchParamsConstructor.prototype;\n\nredefineAll(URLSearchParamsPrototype, {\n // `URLSearchParams.prototype.append` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-append\n append: function append(name, value) {\n validateArgumentsLength(arguments.length, 2);\n var state = getInternalParamsState(this);\n state.entries.push({ key: name + '', value: value + '' });\n state.updateURL();\n },\n // `URLSearchParams.prototype.delete` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-delete\n 'delete': function (name) {\n validateArgumentsLength(arguments.length, 1);\n var state = getInternalParamsState(this);\n var entries = state.entries;\n var key = name + '';\n var index = 0;\n while (index < entries.length) {\n if (entries[index].key === key) entries.splice(index, 1);\n else index++;\n }\n state.updateURL();\n },\n // `URLSearchParams.prototype.get` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-get\n get: function get(name) {\n validateArgumentsLength(arguments.length, 1);\n var entries = getInternalParamsState(this).entries;\n var key = name + '';\n var index = 0;\n for (; index < entries.length; index++) {\n if (entries[index].key === key) return entries[index].value;\n }\n return null;\n },\n // `URLSearchParams.prototype.getAll` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-getall\n getAll: function getAll(name) {\n validateArgumentsLength(arguments.length, 1);\n var entries = getInternalParamsState(this).entries;\n var key = name + '';\n var result = [];\n var index = 0;\n for (; index < entries.length; index++) {\n if (entries[index].key === key) result.push(entries[index].value);\n }\n return result;\n },\n // `URLSearchParams.prototype.has` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-has\n has: function has(name) {\n validateArgumentsLength(arguments.length, 1);\n var entries = getInternalParamsState(this).entries;\n var key = name + '';\n var index = 0;\n while (index < entries.length) {\n if (entries[index++].key === key) return true;\n }\n return false;\n },\n // `URLSearchParams.prototype.set` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-set\n set: function set(name, value) {\n validateArgumentsLength(arguments.length, 1);\n var state = getInternalParamsState(this);\n var entries = state.entries;\n var found = false;\n var key = name + '';\n var val = value + '';\n var index = 0;\n var entry;\n for (; index < entries.length; index++) {\n entry = entries[index];\n if (entry.key === key) {\n if (found) entries.splice(index--, 1);\n else {\n found = true;\n entry.value = val;\n }\n }\n }\n if (!found) entries.push({ key: key, value: val });\n state.updateURL();\n },\n // `URLSearchParams.prototype.sort` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-sort\n sort: function sort() {\n var state = getInternalParamsState(this);\n var entries = state.entries;\n // Array#sort is not stable in some engines\n var slice = entries.slice();\n var entry, entriesIndex, sliceIndex;\n entries.length = 0;\n for (sliceIndex = 0; sliceIndex < slice.length; sliceIndex++) {\n entry = slice[sliceIndex];\n for (entriesIndex = 0; entriesIndex < sliceIndex; entriesIndex++) {\n if (entries[entriesIndex].key > entry.key) {\n entries.splice(entriesIndex, 0, entry);\n break;\n }\n }\n if (entriesIndex === sliceIndex) entries.push(entry);\n }\n state.updateURL();\n },\n // `URLSearchParams.prototype.forEach` method\n forEach: function forEach(callback /* , thisArg */) {\n var entries = getInternalParamsState(this).entries;\n var boundFunction = bind(callback, arguments.length > 1 ? arguments[1] : undefined, 3);\n var index = 0;\n var entry;\n while (index < entries.length) {\n entry = entries[index++];\n boundFunction(entry.value, entry.key, this);\n }\n },\n // `URLSearchParams.prototype.keys` method\n keys: function keys() {\n return new URLSearchParamsIterator(this, 'keys');\n },\n // `URLSearchParams.prototype.values` method\n values: function values() {\n return new URLSearchParamsIterator(this, 'values');\n },\n // `URLSearchParams.prototype.entries` method\n entries: function entries() {\n return new URLSearchParamsIterator(this, 'entries');\n }\n}, { enumerable: true });\n\n// `URLSearchParams.prototype[@@iterator]` method\nredefine(URLSearchParamsPrototype, ITERATOR, URLSearchParamsPrototype.entries);\n\n// `URLSearchParams.prototype.toString` method\n// https://url.spec.whatwg.org/#urlsearchparams-stringification-behavior\nredefine(URLSearchParamsPrototype, 'toString', function toString() {\n var entries = getInternalParamsState(this).entries;\n var result = [];\n var index = 0;\n var entry;\n while (index < entries.length) {\n entry = entries[index++];\n result.push(serialize(entry.key) + '=' + serialize(entry.value));\n } return result.join('&');\n}, { enumerable: true });\n\nsetToStringTag(URLSearchParamsConstructor, URL_SEARCH_PARAMS);\n\n$({ global: true, forced: !USE_NATIVE_URL }, {\n URLSearchParams: URLSearchParamsConstructor\n});\n\n// Wrap `fetch` for correct work with polyfilled `URLSearchParams`\n// https://github.com/zloirock/core-js/issues/674\nif (!USE_NATIVE_URL && typeof $fetch == 'function' && typeof Headers == 'function') {\n $({ global: true, enumerable: true, forced: true }, {\n fetch: function fetch(input /* , init */) {\n var args = [input];\n var init, body, headers;\n if (arguments.length > 1) {\n init = arguments[1];\n if (isObject(init)) {\n body = init.body;\n if (classof(body) === URL_SEARCH_PARAMS) {\n headers = init.headers ? new Headers(init.headers) : new Headers();\n if (!headers.has('content-type')) {\n headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8');\n }\n init = create(init, {\n body: createPropertyDescriptor(0, String(body)),\n headers: createPropertyDescriptor(0, headers)\n });\n }\n }\n args.push(init);\n } return $fetch.apply(this, args);\n }\n });\n}\n\nmodule.exports = {\n URLSearchParams: URLSearchParamsConstructor,\n getState: getInternalParamsState\n};\n","var anObject = require('../internals/an-object');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\nmodule.exports = function (it) {\n var iteratorMethod = getIteratorMethod(it);\n if (typeof iteratorMethod != 'function') {\n throw TypeError(String(it) + ' is not iterable');\n } return anObject(iteratorMethod.call(it));\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar toInteger = require('../internals/to-integer');\nvar toLength = require('../internals/to-length');\nvar toObject = require('../internals/to-object');\nvar arraySpeciesCreate = require('../internals/array-species-create');\nvar createProperty = require('../internals/create-property');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('splice');\n\nvar max = Math.max;\nvar min = Math.min;\nvar MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;\nvar MAXIMUM_ALLOWED_LENGTH_EXCEEDED = 'Maximum allowed length exceeded';\n\n// `Array.prototype.splice` method\n// https://tc39.es/ecma262/#sec-array.prototype.splice\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {\n splice: function splice(start, deleteCount /* , ...items */) {\n var O = toObject(this);\n var len = toLength(O.length);\n var actualStart = toAbsoluteIndex(start, len);\n var argumentsLength = arguments.length;\n var insertCount, actualDeleteCount, A, k, from, to;\n if (argumentsLength === 0) {\n insertCount = actualDeleteCount = 0;\n } else if (argumentsLength === 1) {\n insertCount = 0;\n actualDeleteCount = len - actualStart;\n } else {\n insertCount = argumentsLength - 2;\n actualDeleteCount = min(max(toInteger(deleteCount), 0), len - actualStart);\n }\n if (len + insertCount - actualDeleteCount > MAX_SAFE_INTEGER) {\n throw TypeError(MAXIMUM_ALLOWED_LENGTH_EXCEEDED);\n }\n A = arraySpeciesCreate(O, actualDeleteCount);\n for (k = 0; k < actualDeleteCount; k++) {\n from = actualStart + k;\n if (from in O) createProperty(A, k, O[from]);\n }\n A.length = actualDeleteCount;\n if (insertCount < actualDeleteCount) {\n for (k = actualStart; k < len - actualDeleteCount; k++) {\n from = k + actualDeleteCount;\n to = k + insertCount;\n if (from in O) O[to] = O[from];\n else delete O[to];\n }\n for (k = len; k > len - actualDeleteCount + insertCount; k--) delete O[k - 1];\n } else if (insertCount > actualDeleteCount) {\n for (k = len - actualDeleteCount; k > actualStart; k--) {\n from = k + actualDeleteCount - 1;\n to = k + insertCount - 1;\n if (from in O) O[to] = O[from];\n else delete O[to];\n }\n }\n for (k = 0; k < insertCount; k++) {\n O[k + actualStart] = arguments[k + 2];\n }\n O.length = len - actualDeleteCount + insertCount;\n return A;\n }\n});\n","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!./ResidentItem.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!./DialogEditLabel.scss?vue&type=style&index=0&lang=scss\"","'use strict';\nvar $ = require('../internals/export');\nvar $findIndex = require('../internals/array-iteration').findIndex;\nvar addToUnscopables = require('../internals/add-to-unscopables');\n\nvar FIND_INDEX = 'findIndex';\nvar SKIPS_HOLES = true;\n\n// Shouldn't skip holes\nif (FIND_INDEX in []) Array(1)[FIND_INDEX](function () { SKIPS_HOLES = false; });\n\n// `Array.prototype.findIndex` method\n// https://tc39.es/ecma262/#sec-array.prototype.findindex\n$({ target: 'Array', proto: true, forced: SKIPS_HOLES }, {\n findIndex: function findIndex(callbackfn /* , that = undefined */) {\n return $findIndex(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables(FIND_INDEX);\n","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!./DialogMassiveInviteResidents.scss?vue&type=style&index=0&lang=scss\"","import { resolveComponent as _resolveComponent, createVNode as _createVNode, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, withCtx as _withCtx, openBlock as _openBlock, createBlock as _createBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"bt-icon text-primary\" }\nconst _hoisted_2 = { class: \"dialog-confirm__title\" }\nconst _hoisted_3 = { class: \"dialog-confirm__message\" }\nconst _hoisted_4 = /*#__PURE__*/_createVNode(\"hr\", null, null, -1)\nconst _hoisted_5 = { class: \"dialog-confirm__footer\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_InlineSvgScoped = _resolveComponent(\"InlineSvgScoped\")\n const _component_Button = _resolveComponent(\"Button\")\n const _component_Dialog = _resolveComponent(\"Dialog\")\n\n return (_openBlock(), _createBlock(_component_Dialog, {\n visible: _ctx.isDialogVisible,\n \"onUpdate:visible\": _cache[1] || (_cache[1] = ($event: any) => (_ctx.isDialogVisible = $event)),\n onHide: _ctx.doHideDialog,\n modal: true,\n showHeader: false,\n closable: false,\n class: \"dialog-confirm\"\n }, {\n default: _withCtx(() => [\n _createVNode(\"span\", _hoisted_1, [\n _createVNode(_component_InlineSvgScoped, {\n src: \n require(`@/assets/images/icons/icon-alert-medium-outline.svg`)\n ,\n \"aria-label\": \"icon-alert-medium-outline\"\n }, null, 8, [\"src\"])\n ]),\n _createVNode(\"h5\", _hoisted_2, _toDisplayString(_ctx.dialogTitle), 1),\n _createVNode(\"p\", _hoisted_3, _toDisplayString(_ctx.dialogMessage), 1),\n _hoisted_4,\n _createVNode(\"div\", _hoisted_5, [\n _createVNode(_component_Button, {\n class: \"p-button-rounded p-button--m w-100\",\n onClick: _ctx.doConfirm\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t(\"AppResource.Ok\")), 1)\n ]),\n _: 1\n }, 8, [\"onClick\"])\n ])\n ]),\n _: 1\n }, 8, [\"visible\", \"onHide\"]))\n}","import { Vue, Options } from 'vue-class-component';\n\n@Options({\n name: 'DialogMaxEntity',\n props: {\n isVisible: {\n type: Boolean,\n required: true,\n },\n title: {\n type: String,\n required: true,\n },\n message: {\n type: String,\n required: true,\n },\n },\n watch: {\n isVisible: function (newValue) {\n this.isDialogVisible = newValue;\n },\n },\n emits: ['hide-dialog', 'confirm'],\n})\nexport default class DialogMaxEntity extends Vue {\n isVisible!: boolean;\n title!: string;\n message!: string;\n isDialogVisible = false;\n\n get dialogTitle() {\n return this.title;\n }\n\n get dialogMessage() {\n return this.message;\n }\n\n mounted() {\n this.isDialogVisible = this.isVisible;\n }\n\n handleHideDialog() {\n this.isDialogVisible = false;\n }\n\n doHideDialog() {\n this.$emit('hide-dialog');\n }\n\n doConfirm() {\n this.$emit('confirm');\n this.handleHideDialog();\n }\n}\n","import { render } from \"./DialogMaxEntity.vue?vue&type=template&id=ccf78c7a&ts=true\"\nimport script from \"./DialogMaxEntity.ts?vue&type=script&lang=ts\"\nexport * from \"./DialogMaxEntity.ts?vue&type=script&lang=ts\"\n\nimport exportComponent from \"/home/vsts/work/1/s/Frontend/node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { createVNode as _createVNode, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, resolveComponent as _resolveComponent, withModifiers as _withModifiers, withCtx as _withCtx, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, renderList as _renderList, Fragment as _Fragment } from \"vue\"\n\nconst _hoisted_1 = { class: \"residents\" }\nconst _hoisted_2 = { class: \"d-flex align-items-start\" }\nconst _hoisted_3 = /*#__PURE__*/_createVNode(\"i\", { class: \"pi pi-chevron-left mr-1\" }, null, -1)\nconst _hoisted_4 = { class: \"mt-2\" }\nconst _hoisted_5 = { class: \"ml-auto d-flex align-items-center\" }\nconst _hoisted_6 = { class: \"btn-stripped d-flex align-items-center\" }\nconst _hoisted_7 = { key: 1 }\nconst _hoisted_8 = { class: \"apartment-list-and-details\" }\nconst _hoisted_9 = { class: \"fs-18 text-gray text-uppercase mx-4 mt-4 mb-3\" }\nconst _hoisted_10 = {\n key: 0,\n class: \"apartment-details-tab__loader\"\n}\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_router_link = _resolveComponent(\"router-link\")\n const _component_InlineSvgScoped = _resolveComponent(\"InlineSvgScoped\")\n const _component_Button = _resolveComponent(\"Button\")\n const _component_ElDropdownItem = _resolveComponent(\"ElDropdownItem\")\n const _component_ElDropdownMenu = _resolveComponent(\"ElDropdownMenu\")\n const _component_ElDropdown = _resolveComponent(\"ElDropdown\")\n const _component_DialogImportFile = _resolveComponent(\"DialogImportFile\")\n const _component_BuildingSelector = _resolveComponent(\"BuildingSelector\")\n const _component_TabPanel = _resolveComponent(\"TabPanel\")\n const _component_ScrollableTabView = _resolveComponent(\"ScrollableTabView\")\n const _component_ResidentItem = _resolveComponent(\"ResidentItem\")\n const _component_ElScrollbar = _resolveComponent(\"ElScrollbar\")\n const _component_ProgressSpinner = _resolveComponent(\"ProgressSpinner\")\n const _component_ResidentDetailsEdit = _resolveComponent(\"ResidentDetailsEdit\")\n const _component_DialogMassiveInviteResidents = _resolveComponent(\"DialogMassiveInviteResidents\")\n\n return (_openBlock(), _createBlock(_Fragment, null, [\n _createVNode(\"header\", _hoisted_1, [\n _createVNode(\"div\", _hoisted_2, [\n _createVNode(\"div\", null, [\n _createVNode(_component_router_link, {\n to: _ctx.backLink,\n onClick: _withModifiers(_ctx.handleClick, [\"prevent\"]),\n class: \"fs-18 text-decoration-none text-gray\"\n }, {\n default: _withCtx(() => [\n _hoisted_3,\n _createTextVNode(\" \" + _toDisplayString(_ctx.$t(\"general.backTo\")) + \": \" + _toDisplayString(_ctx.backToText), 1)\n ]),\n _: 1\n }, 8, [\"to\", \"onClick\"]),\n _createVNode(\"h1\", _hoisted_4, _toDisplayString(_ctx.$t(\"AppResourceEP.Residents\")), 1)\n ]),\n _createVNode(\"div\", _hoisted_5, [\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 (!_ctx.isBRFA)\n ? (_openBlock(), _createBlock(_component_ElDropdownItem, {\n key: 0,\n onClick: _ctx.triggerFilePicker\n }, {\n default: _withCtx(() => [\n _createVNode(\"input\", {\n type: \"file\",\n id: \"fileInput\",\n style: {\"display\":\"none\"},\n onChange: _cache[1] || (_cache[1] = \n//@ts-ignore\n(...args) => (_ctx.onFileSelected && _ctx.onFileSelected(...args))),\n accept: \".csv\"\n }, null, 32),\n _createVNode(\"span\", null, _toDisplayString(_ctx.$t(\"general.import\")), 1)\n ]),\n _: 1\n }, 8, [\"onClick\"]))\n : _createCommentVNode(\"\", true),\n (!_ctx.isBRFA)\n ? (_openBlock(), _createBlock(_component_ElDropdownItem, {\n key: 1,\n onClick: _ctx.onExportClick\n }, {\n default: _withCtx(() => [\n _createVNode(\"span\", null, _toDisplayString(_ctx.$t(\"general.export\")), 1)\n ]),\n _: 1\n }, 8, [\"onClick\"]))\n : _createCommentVNode(\"\", true),\n _createVNode(_component_ElDropdownItem, {\n disabled: !_ctx.currentEntrancePlant.syncStatus?.isPlantActive,\n onClick: _ctx.toggleMassiveInvitation\n }, {\n default: _withCtx(() => [\n _createVNode(\"button\", _hoisted_6, _toDisplayString(_ctx.$t(\n \"AppResourceEP.InviteResidentsMassively\"\n )), 1)\n ]),\n _: 1\n }, 8, [\"disabled\", \"onClick\"])\n ]),\n _: 1\n })\n ]),\n default: _withCtx(() => [\n _createVNode(_component_Button, { class: \"p-button-text p-button-icon text-gray p-1\" }, {\n default: _withCtx(() => [\n _createVNode(_component_InlineSvgScoped, {\n src: \n require('@/assets/images/icons/icon-ellipsis-v.svg')\n ,\n \"aria-label\": \"icon-ellipsis-v\"\n }, null, 8, [\"src\"])\n ]),\n _: 1\n })\n ]),\n _: 1\n })\n ])\n ]),\n _createVNode(_component_DialogImportFile, {\n entrancePlantDetail: _ctx.currentEntrancePlant,\n importedData: _ctx.importedData,\n isVisible: _ctx.isVisibleDialogImportFile,\n onHideDialog: _ctx.handleCloseDialog,\n onOverwrite: _ctx.overwrite\n }, null, 8, [\"entrancePlantDetail\", \"importedData\", \"isVisible\", \"onHideDialog\", \"onOverwrite\"])\n ]),\n (_ctx.isBRFA && _ctx.step === 0)\n ? (_openBlock(), _createBlock(_component_BuildingSelector, {\n key: 0,\n onBuildingSelected: _ctx.selectBuilding\n }, null, 8, [\"onBuildingSelected\"]))\n : _createCommentVNode(\"\", true),\n (!_ctx.isBRFA || (_ctx.isBRFA && _ctx.step === 1))\n ? (_openBlock(), _createBlock(\"div\", _hoisted_7, [\n _createVNode(_component_ScrollableTabView, {\n scrollable: \"\",\n class: \"buildings-tabs p-tabview--custom gray-back\",\n onTabChange: _cache[2] || (_cache[2] = ($event: any) => (_ctx.handleTabClick($event)))\n }, {\n default: _withCtx(() => [\n (_openBlock(true), _createBlock(_Fragment, null, _renderList(_ctx.tabOptions, (tabOption, index) => {\n return (_openBlock(), _createBlock(_component_TabPanel, {\n key: index,\n header: tabOption.name\n }, null, 8, [\"header\"]))\n }), 128))\n ]),\n _: 1\n }),\n _createVNode(\"div\", _hoisted_8, [\n _createVNode(_component_ElScrollbar, { class: \"apartment-list mt-2\" }, {\n default: _withCtx(() => [\n (_ctx.isBRFA)\n ? (_openBlock(true), _createBlock(_Fragment, { key: 0 }, _renderList(_ctx.buildingStructure[_ctx.tabSelectedIndex].floors, (floorsection, floorIndex) => {\n return (_openBlock(), _createBlock(\"div\", { key: floorIndex }, [\n _createVNode(\"h1\", _hoisted_9, _toDisplayString(floorsection.floor.name), 1),\n (_openBlock(true), _createBlock(_Fragment, null, _renderList(floorsection.apartments, (apartment, apartmentIndex) => {\n return (_openBlock(), _createBlock(_component_ResidentItem, {\n class: [\"mx-4 my-2\", {\n 'selected-apartment':\n !!_ctx.apartmentSelected &&\n _ctx.apartmentSelected.apartmentId ===\n apartment.apartmentId,\n }],\n onApartmentSelected: ($event: any) => (_ctx.showApartmentDetail(apartment)),\n apartment: apartment,\n key: apartmentIndex,\n isBrfa: _ctx.isBRFA\n }, null, 8, [\"class\", \"onApartmentSelected\", \"apartment\", \"isBrfa\"]))\n }), 128))\n ]))\n }), 128))\n : _createCommentVNode(\"\", true),\n (!_ctx.isBRFA)\n ? (_openBlock(true), _createBlock(_Fragment, { key: 1 }, _renderList(_ctx.apartments, (apartment) => {\n return (_openBlock(), _createBlock(_component_ResidentItem, {\n class: [\"mx-4 my-2\", {\n 'selected-apartment':\n !!_ctx.apartmentSelected &&\n _ctx.apartmentSelected.apartmentId ===\n apartment.apartmentId,\n }],\n onApartmentSelected: ($event: any) => (_ctx.showApartmentDetail(apartment)),\n apartment: apartment,\n key: apartment.apartmentId,\n isCallingCode: _ctx.isCallingCode\n }, null, 8, [\"class\", \"onApartmentSelected\", \"apartment\", \"isCallingCode\"]))\n }), 128))\n : _createCommentVNode(\"\", true)\n ]),\n _: 1\n }),\n _createVNode(\"div\", null, [\n (_ctx.changingApartment)\n ? (_openBlock(), _createBlock(\"div\", _hoisted_10, [\n _createVNode(_component_ProgressSpinner)\n ]))\n : _createCommentVNode(\"\", true),\n (_ctx.apartmentSelected && !_ctx.changingApartment)\n ? (_openBlock(), _createBlock(_component_ResidentDetailsEdit, {\n key: 1,\n apartmentSelected: _ctx.apartmentSelected,\n onUpdateList: _ctx.handleUpdateList\n }, null, 8, [\"apartmentSelected\", \"onUpdateList\"]))\n : _createCommentVNode(\"\", true)\n ])\n ])\n ]))\n : _createCommentVNode(\"\", true),\n _createVNode(_component_DialogMassiveInviteResidents, {\n isVisible: _ctx.isVisibleMassiveInvite,\n onHideDialog: _ctx.toggleMassiveInvitation,\n onUpdateList: _ctx.handleUpdateList\n }, null, 8, [\"isVisible\", \"onHideDialog\", \"onUpdateList\"])\n ], 64))\n}","import { resolveComponent as _resolveComponent, createVNode as _createVNode, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createBlock as _createBlock, withCtx as _withCtx } from \"vue\"\n\nconst _hoisted_1 = { class: \"d-flex justify-content-between align-items-center\" }\nconst _hoisted_2 = { class: \"d-flex flex-column w-100\" }\nconst _hoisted_3 = { class: \"d-flex\" }\nconst _hoisted_4 = { class: \"bt-icon my-auto bt-icon--m\" }\nconst _hoisted_5 = { class: \"card__head d-flex flex-column w-100\" }\nconst _hoisted_6 = { class: \"ml-3 d-flex flex-column\" }\nconst _hoisted_7 = { class: \"my-0 text-gray\" }\nconst _hoisted_8 = /*#__PURE__*/_createVNode(\"hr\", { class: \"separator\" }, null, -1)\nconst _hoisted_9 = { class: \"label-text\" }\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, {\n class: \"apartment-card m-2 card--slim\",\n onClick: _ctx.selected\n }, {\n content: _withCtx(() => [\n _createVNode(\"div\", _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-apartment.svg`)\n ,\n \"aria-label\": \"icon-apartment\"\n }, null, 8, [\"src\"])\n ]),\n _createVNode(\"div\", _hoisted_5, [\n _createVNode(\"div\", _hoisted_6, [\n _createTextVNode(_toDisplayString(_ctx.getLabelText(_ctx.firstLabel)) + \" \", 1),\n _createVNode(\"small\", _hoisted_7, _toDisplayString(_ctx.apartment.name), 1)\n ])\n ])\n ]),\n (_openBlock(true), _createBlock(_Fragment, null, _renderList(_ctx.othersLabels, (label) => {\n return (_openBlock(), _createBlock(\"div\", {\n class: \"other-labels d-flex flex-column\",\n key: label.labelId\n }, [\n _hoisted_8,\n _createVNode(\"div\", _hoisted_9, _toDisplayString(_ctx.getLabelText(label)), 1)\n ]))\n }), 128))\n ]),\n _createVNode(_component_Button, {\n onClick: _ctx.selected,\n icon: \"pi pi-chevron-right\",\n class: \"p-button-text p-button-secondary ml-5 mr-1\"\n }, null, 8, [\"onClick\"])\n ])\n ]),\n _: 1\n }, 8, [\"onClick\"]))\n}","import { Options, Vue } from 'vue-class-component';\nimport { ApartmentDTO, ApartmentLabelDTO } from '@../../../client-generator/generated-clients/plants';\nimport { PropType } from 'vue';\n\n@Options({\n name: 'ResidentItem',\n props: {\n apartment: {\n type: Object as PropType,\n required: false,\n },\n isBrfa: {\n type: Boolean,\n default: false,\n },\n isCallingCode: {\n type: Boolean,\n default: false,\n },\n },\n emits: ['apartment-selected'],\n})\nexport default class ResidentItem extends Vue {\n apartment!: ApartmentDTO;\n isBrfa!: boolean;\n isCallingCode!: boolean;\n\n mounted(): void {}\n\n get firstLabel() {\n if (!this.apartment.labels) {\n return;\n }\n return this.apartment.labels[0];\n }\n\n get othersLabels() {\n return this.apartment.labels?.slice(1);\n }\n\n selected() {\n this.$emit('apartment-selected', this.apartment);\n }\n\n getLabelText(label?: ApartmentLabelDTO) {\n if (!label) {\n return '-';\n }\n if (this.isBrfa) {\n return this.apartment.code?.replaceAll('|', ' ');\n }\n\n if (this.isCallingCode) {\n let labelText = label.callingCode ?? '';\n\n if (label.isPrivate && (label.surname || label.name)) {\n labelText += ` |`;\n labelText += ` ${label.surname ?? ''}`;\n labelText += ` ${label.name ?? ''}`;\n } else if (!label.isPrivate && label.companyName) {\n labelText += ` | ${label.companyName ?? ''}`;\n }\n\n return labelText;\n }\n\n if (label.isPrivate) {\n return `${label.surname ?? ''} ${label.name ?? ''}`;\n } else {\n return label.companyName;\n }\n }\n}\n","import { render } from \"./ResidentItem.vue?vue&type=template&id=1c9ba926&ts=true\"\nimport script from \"./ResidentItem.ts?vue&type=script&lang=ts\"\nexport * from \"./ResidentItem.ts?vue&type=script&lang=ts\"\n\nimport \"./ResidentItem.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 { toDisplayString as _toDisplayString, createVNode as _createVNode, resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, withCtx as _withCtx, renderList as _renderList, Fragment as _Fragment, createTextVNode as _createTextVNode } from \"vue\"\n\nconst _hoisted_1 = { class: \"dialog-custom__header mb-4 d-flex align-items-center\" }\nconst _hoisted_2 = { class: \"dialog-custom__title m-0\" }\nconst _hoisted_3 = {\n key: 0,\n class: \"bt-icon bt-icon--xs\"\n}\nconst _hoisted_4 = {\n key: 1,\n class: \"pi pi-chevron-left mr-1\"\n}\nconst _hoisted_5 = { class: \"ml-2\" }\nconst _hoisted_6 = {\n key: 0,\n class: \"dialog-custom__content form-custom m-0\"\n}\nconst _hoisted_7 = { style: {\"width\":\"450px\",\"height\":\"calc(100vh - 330px)\"} }\nconst _hoisted_8 = { key: 0 }\nconst _hoisted_9 = { class: \"p-field-label\" }\nconst _hoisted_10 = {\n for: \"email\",\n class: \"fs-13 label-error email-not-valid\"\n}\nconst _hoisted_11 = { key: 0 }\nconst _hoisted_12 = { class: \"p-field-label\" }\nconst _hoisted_13 = {\n for: \"email\",\n class: \"fs-13 label-error email-not-valid\"\n}\nconst _hoisted_14 = {\n key: 1,\n class: \"dialog-custom__content form-custom m-0\"\n}\nconst _hoisted_15 = {\n style: {\"width\":\"450px\",\"height\":\"calc(100vh - 330px)\"},\n class: \"centered-container\"\n}\nconst _hoisted_16 = { class: \"p-field-label\" }\nconst _hoisted_17 = { class: \"bt-icon bt-icon--xs\" }\nconst _hoisted_18 = { class: \"ml-2\" }\nconst _hoisted_19 = { class: \"p-field-label\" }\nconst _hoisted_20 = { class: \"bt-icon bt-icon--xs\" }\nconst _hoisted_21 = { class: \"ml-2\" }\nconst _hoisted_22 = { class: \"dialog-custom__footer\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_InlineSvgScoped = _resolveComponent(\"InlineSvgScoped\")\n const _component_Button = _resolveComponent(\"Button\")\n const _component_InputText = _resolveComponent(\"InputText\")\n const _component_ElScrollbar = _resolveComponent(\"ElScrollbar\")\n const _component_TabPanel = _resolveComponent(\"TabPanel\")\n const _component_ScrollableTabView = _resolveComponent(\"ScrollableTabView\")\n const _component_Dialog = _resolveComponent(\"Dialog\")\n\n return (_openBlock(), _createBlock(_component_Dialog, {\n visible: _ctx.isDialogVisible,\n \"onUpdate:visible\": _cache[2] || (_cache[2] = ($event: any) => (_ctx.isDialogVisible = $event)),\n onHide: _ctx.doHideDialog,\n modal: true,\n showHeader: false,\n closable: false,\n class: \"dialog-custom invite-residents_dialog\"\n }, {\n default: _withCtx(() => [\n _createVNode(\"header\", _hoisted_1, [\n _createVNode(\"h1\", _hoisted_2, _toDisplayString(_ctx.showImportSection\n ? _ctx.$t(\"entrancePlant.importResidentsTitle\")\n : _ctx.$t(\"AppResourceEP.InviteTheResidents\")), 1),\n _createVNode(_component_Button, {\n class: \"p-button-text ml-auto\",\n onClick: _ctx.handleExportImportProcedure\n }, {\n default: _withCtx(() => [\n (!_ctx.showImportSection)\n ? (_openBlock(), _createBlock(\"span\", _hoisted_3, [\n _createVNode(_component_InlineSvgScoped, {\n src: require(`@/assets/images/icons/icon-import.svg`),\n \"aria-label\": \"icon-import\"\n }, null, 8, [\"src\"])\n ]))\n : (_openBlock(), _createBlock(\"i\", _hoisted_4)),\n _createVNode(\"span\", _hoisted_5, _toDisplayString(!_ctx.showImportSection ? _ctx.$t(\"entrancePlant.import\") : _ctx.$t(\"AppResource.Back\")), 1)\n ]),\n _: 1\n }, 8, [\"onClick\"])\n ]),\n (!_ctx.showImportSection)\n ? (_openBlock(), _createBlock(\"div\", _hoisted_6, [\n _createVNode(\"div\", _hoisted_7, [\n _createVNode(_component_ScrollableTabView, {\n scrollable: \"\",\n class: \"p-tabview--custom white-back\"\n }, {\n default: _withCtx(() => [\n (_openBlock(true), _createBlock(_Fragment, null, _renderList(_ctx.currentEntrancePlant.buildings, (building, index) => {\n return (_openBlock(), _createBlock(_component_TabPanel, {\n key: index,\n header: _ctx.tabBuildingLabel(building)\n }, {\n default: _withCtx(() => [\n _createVNode(_component_ElScrollbar, { class: \"apartment-list\" }, {\n default: _withCtx(() => [\n (\n _ctx.currentEntrancePlant.addressingType ===\n _ctx.AddressingType.BuildingRiserFloorApartment\n )\n ? (_openBlock(true), _createBlock(_Fragment, { key: 0 }, _renderList(_ctx.buildingStructure(building), (riser, riserIndex) => {\n return (_openBlock(), _createBlock(\"div\", {\n key: riserIndex,\n class: \"p-field\"\n }, [\n (_openBlock(true), _createBlock(_Fragment, null, _renderList(riser.floors, (floorsection, floorIndex) => {\n return (_openBlock(), _createBlock(\"div\", {\n key: floorIndex,\n class: \"p-field\"\n }, [\n _createVNode(\"h6\", null, _toDisplayString(riser.riser.name) + \" - \" + _toDisplayString(floorsection.floor.name), 1),\n (_openBlock(true), _createBlock(_Fragment, null, _renderList(floorsection.apartments, (apartment, aptIndex) => {\n return (_openBlock(), _createBlock(\"div\", {\n key: aptIndex,\n class: \"p-field\"\n }, [\n (apartment.apartmentId)\n ? (_openBlock(), _createBlock(\"span\", _hoisted_8, [\n _createVNode(\"label\", _hoisted_9, _toDisplayString(_ctx.apartmentInputLabel(\n apartment\n )), 1),\n _createVNode(_component_InputText, {\n disabled: \n _ctx.disableInput(\n apartment.apartmentId\n )\n ,\n type: \"email\",\n class: [\"w-100\", { 'input-error': !_ctx.emailInput[apartment.apartmentId].isValid }],\n placeholder: \n _ctx.$t(\n 'AppResourceEP.InsertTheEmail'\n )\n ,\n modelValue: \n _ctx.emailInput[\n apartment\n .apartmentId\n ].email\n ,\n \"onUpdate:modelValue\": ($event: any) => (\n _ctx.emailInput[\n apartment\n .apartmentId\n ].email\n = $event),\n onFocus: ($event: any) => (_ctx.emailInput[apartment.apartmentId].isValid = true),\n onBlur: ($event: any) => (_ctx.checkMailValid(apartment.apartmentId))\n }, null, 8, [\"disabled\", \"placeholder\", \"modelValue\", \"onUpdate:modelValue\", \"onFocus\", \"class\", \"onBlur\"]),\n _createVNode(\"label\", _hoisted_10, _toDisplayString(_ctx.getErrorLabel(apartment.apartmentId)), 1)\n ]))\n : _createCommentVNode(\"\", true)\n ]))\n }), 128))\n ]))\n }), 128))\n ]))\n }), 128))\n : (_openBlock(true), _createBlock(_Fragment, { key: 1 }, _renderList(building.apartments, (apartment, apartmentIndex) => {\n return (_openBlock(), _createBlock(\"div\", {\n key: apartmentIndex,\n class: \"p-field\"\n }, [\n (apartment.apartmentId)\n ? (_openBlock(), _createBlock(\"div\", _hoisted_11, [\n _createVNode(\"label\", _hoisted_12, _toDisplayString(_ctx.apartmentInputLabel(apartment)), 1),\n _createVNode(_component_InputText, {\n disabled: \n _ctx.disableInput(\n apartment.apartmentId\n )\n ,\n type: \"email\",\n class: [\"w-100\", { 'input-error': !_ctx.emailInput[apartment.apartmentId].isValid }],\n placeholder: \n _ctx.$t(\n 'AppResourceEP.InsertTheEmail'\n )\n ,\n modelValue: \n _ctx.emailInput[\n apartment.apartmentId\n ].email\n ,\n \"onUpdate:modelValue\": ($event: any) => (\n _ctx.emailInput[\n apartment.apartmentId\n ].email\n = $event),\n onFocus: ($event: any) => (_ctx.emailInput[apartment.apartmentId].isValid = true),\n onBlur: ($event: any) => (_ctx.checkMailValid(apartment.apartmentId))\n }, null, 8, [\"disabled\", \"placeholder\", \"modelValue\", \"onUpdate:modelValue\", \"onFocus\", \"class\", \"onBlur\"]),\n _createVNode(\"label\", _hoisted_13, _toDisplayString(_ctx.getErrorLabel(apartment.apartmentId)), 1)\n ]))\n : _createCommentVNode(\"\", true)\n ]))\n }), 128))\n ]),\n _: 2\n }, 1024)\n ]),\n _: 2\n }, 1032, [\"header\"]))\n }), 128))\n ]),\n _: 1\n })\n ])\n ]))\n : _createCommentVNode(\"\", true),\n (_ctx.showImportSection)\n ? (_openBlock(), _createBlock(\"div\", _hoisted_14, [\n _createVNode(\"div\", _hoisted_15, [\n _createVNode(\"label\", _hoisted_16, \" 1 - \" + _toDisplayString(_ctx.$t(\"entrancePlant.createMassiveInvitationCSV\").toUpperCase()), 1),\n _createVNode(_component_Button, {\n class: \"p-button-rounded p-button-outlined mx-auto\",\n onClick: _ctx.handleExportClick\n }, {\n default: _withCtx(() => [\n _createVNode(\"span\", _hoisted_17, [\n _createVNode(_component_InlineSvgScoped, {\n src: require(`@/assets/images/icons/icon-plus-outline.svg`),\n \"aria-label\": \"icon-create\"\n }, null, 8, [\"src\"])\n ]),\n _createVNode(\"span\", _hoisted_18, _toDisplayString(_ctx.$t(\"entrancePlant.createTemplateCSV\")), 1)\n ]),\n _: 1\n }, 8, [\"onClick\"]),\n _createVNode(\"label\", _hoisted_19, \" 2 - \" + _toDisplayString(_ctx.$t(\"entrancePlant.importMassiveInviteInstructions\").toUpperCase()), 1),\n _createVNode(_component_Button, {\n onClick: _ctx.triggerFilePicker,\n class: \"p-button-rounded p-button-outlined mx-auto\"\n }, {\n default: _withCtx(() => [\n _createVNode(\"input\", {\n type: \"file\",\n id: \"fileInput\",\n style: {\"display\":\"none\"},\n onChange: _cache[1] || (_cache[1] = \n//@ts-ignore\n(...args) => (_ctx.onFileSelected && _ctx.onFileSelected(...args))),\n accept: \".csv\"\n }, null, 32),\n _createVNode(\"span\", _hoisted_20, [\n _createVNode(_component_InlineSvgScoped, {\n src: require(`@/assets/images/icons/icon-import.svg`),\n \"aria-label\": \"icon-import\"\n }, null, 8, [\"src\"])\n ]),\n _createVNode(\"span\", _hoisted_21, _toDisplayString(_ctx.$t(\"entrancePlant.import\")), 1)\n ]),\n _: 1\n }, 8, [\"onClick\"])\n ])\n ]))\n : _createCommentVNode(\"\", true),\n _createVNode(\"footer\", _hoisted_22, [\n _createVNode(_component_Button, {\n class: \"p-button-text mr-2\",\n onClick: _ctx.handleHideDialog\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t(\"AppResource.Cancel\")), 1)\n ]),\n _: 1\n }, 8, [\"onClick\"]),\n _createVNode(_component_Button, {\n disabled: _ctx.showImportSection,\n label: _ctx.$t('AppResourceEP.InviteUpper'),\n onClick: _ctx.handleButtonSubmitAction,\n class: \"p-button-rounded p-button-raised p-button--m\"\n }, null, 8, [\"disabled\", \"label\", \"onClick\"])\n ])\n ]),\n _: 1\n }, 8, [\"visible\", \"onHide\"]))\n}","import {\n AddressingType,\n ApartmentDTO,\n ApartmentInvitationDTO,\n ApartmentInvitationStatusEnum,\n BuildingDTO,\n EntrancePlantDetailDTO,\n} from '@/../client-generator/generated-clients/plants';\nimport plantsClient from '@/core/services/plants';\nimport { SET_APP_LOADING } from '@/core/store/action-types';\nimport { loadRisersFloorsApartments, processCsvDataMassiveInvitation } from '@/core/utils/EntrancePlant/entrance-plant.utils';\nimport { Options, Vue } from 'vue-class-component';\nimport { mapState } from 'vuex';\n\ninterface EmailInput {\n email: string;\n isEnable: boolean;\n isValid: boolean;\n}\n\n@Options({\n name: 'DialogMassiveInviteResidents',\n props: {\n isVisible: {\n type: Boolean,\n required: true,\n },\n },\n computed: {\n ...mapState(['currentEntrancePlant']),\n },\n watch: {\n isVisible: function (newValue) {\n this.isDialogVisible = newValue;\n if (this.isDialogVisible) {\n this.initInvitations();\n }\n },\n },\n components: {},\n emits: ['hide-dialog', 'update-list'],\n})\nexport default class DialogMassiveInviteResidents extends Vue {\n currentEntrancePlant!: EntrancePlantDetailDTO;\n isVisible!: boolean;\n isDialogVisible = false;\n invites: ApartmentInvitationDTO[] = [];\n emailInput: { [key: string]: EmailInput } = {};\n\n AddressingType = AddressingType;\n\n showImportSection: boolean = false;\n\n buildingStructure(building: BuildingDTO) {\n return loadRisersFloorsApartments(building);\n }\n\n checkMailValid(apartmentId: string) {\n this.emailInput[apartmentId].isValid = this.validateEmail(\n this.emailInput[apartmentId].email\n );\n }\n\n validateEmail(email?: string) {\n if (!email || email.trim() === '') {\n return true;\n }\n const re = /\\S+@\\S+/;\n return re.test(email);\n }\n\n getErrorLabel(apartmentId: string) {\n if (!this.emailInput[apartmentId].isValid) {\n return this.$t('AppResourceEP.InputNotValid');\n } else {\n return '';\n }\n }\n\n mounted() {\n this.isDialogVisible = this.isVisible;\n }\n\n handleHideDialog() {\n this.showImportSection = false;\n this.isDialogVisible = false;\n }\n\n doHideDialog() {\n this.$emit('hide-dialog');\n }\n\n triggerFilePicker() {\n const input = document.getElementById('fileInput') as HTMLInputElement;\n input.value = '';\n input.click();\n }\n\n importedData: ApartmentInvitationDTO[] = [];\n\n onFileSelected(event: Event): void {\n const input = event.target as HTMLInputElement;\n if (!input.files || input.files.length === 0) {\n return;\n }\n\n const file = input.files[0];\n if (!this.fileIsCsv(file)) {\n this.$toast.add({\n severity: 'error',\n summary: this.$t('importFile.error'),\n closable: true,\n life: 6000,\n });\n console.error('File is not a CSV!');\n return;\n } \n this.$store.dispatch('SET_APP_LOADING', true);\n const reader = new FileReader();\n\n reader.onload = async (e: ProgressEvent) => {\n let text = e.target?.result;\n this.$store.dispatch('SET_APP_LOADING', false);\n if (typeof text !== 'string') {\n return;\n } else {\n if(!text.includes(',')) text = text.replaceAll(';', ',');\n const data = await processCsvDataMassiveInvitation(\n text,\n this.currentEntrancePlant\n );\n if (data.length === 0) {\n this.$toast.add({\n severity: 'error',\n summary: this.$t('importFile.error'),\n closable: true,\n life: 6000,\n });\n }\n\n this.importedData = data;\n\n this.invites.push(...this.importedData);\n this.initInvitations();\n\n this.showImportSection = false;\n }\n };\n\n reader.onerror = (e) => {\n this.$toast.add({\n severity: 'error',\n summary: this.$t('importFile.error'),\n closable: true,\n life: 6000,\n });\n };\n reader.readAsText(file);\n }\n\n fileIsCsv(file: File) {\n return (file.type === 'text/csv' || file.type === 'application/vnd.ms-excel') && file.name.endsWith('.csv');\n }\n\n tabBuildingLabel(building: BuildingDTO) {\n const apartCount = building.apartments\n ? `(${building.apartments.length})`\n : '';\n return `${building.name} ${apartCount}`;\n }\n\n apartmentInputLabel(apartment: ApartmentDTO) {\n switch (this.currentEntrancePlant.addressingType) {\n case AddressingType.DirectCall_NumbersOnly:\n case AddressingType.DirectCall_Alphanumeric:\n return this.apartmentInputLabelCallingCode(apartment);\n case AddressingType.BuildingRiserFloorApartment:\n return this.apartmentInputLabelBrfa(apartment);\n default:\n return this.apartmentInputLabelDefault(apartment);\n }\n }\n\n apartmentInputLabelDefault(apartment: ApartmentDTO) {\n let baseLabel = `${apartment.name}`; \n if (apartment.labels && apartment.labels?.length > 0) {\n const label = apartment.labels[0];\n if (label.isPrivate && (label.surname || label.name)) {\n baseLabel += ' -';\n baseLabel += ` ${label.surname ?? ''}`;\n baseLabel += ` ${label.name ?? ''}`;\n } else if (!label.isPrivate && label.companyName) {\n baseLabel += ` - ${label.companyName}`;\n }\n return baseLabel;\n } else {\n return baseLabel;\n } \n }\n\n apartmentInputLabelBrfa(apartment: ApartmentDTO) {\n return `${apartment.code?.replaceAll('|', ' ')}`;\n }\n\n apartmentInputLabelCallingCode(apartment: ApartmentDTO) {\n let baseLabel = `${apartment.name} - ${apartment.code}`;\n if (apartment.labels && apartment.labels?.length > 0) {\n const label = apartment.labels[0];\n if (label.isPrivate && (label.surname || label.name)) {\n baseLabel += ` |`;\n baseLabel += ` ${label.surname ?? ''}`;\n baseLabel += ` ${label.name ?? ''}`;\n } else if (!label.isPrivate && label.companyName) {\n baseLabel += ` | ${label.companyName}`;\n }\n return baseLabel;\n } else {\n return baseLabel;\n }\n }\n\n initInvitations() {\n if (this.currentEntrancePlant.apartmentInvitations)\n this.invites = [...this.currentEntrancePlant.apartmentInvitations];\n if (this.importedData) {\n this.invites.push(...this.importedData);\n }\n\n this.currentEntrancePlant.buildings?.forEach((building) =>\n building.apartments?.forEach((apartm) => {\n if (\n !this.invites.find(\n (invite) => invite.apartmentId === apartm.apartmentId\n )\n ) {\n this.invites.push(\n new ApartmentInvitationDTO({\n apartmentId: apartm.apartmentId,\n email: '',\n status: ApartmentInvitationStatusEnum.Pending,\n })\n );\n }\n })\n );\n\n for (const invite of this.invites) {\n if (invite.apartmentId !== undefined && invite.email !== undefined) {\n this.emailInput[invite.apartmentId] = {\n email: invite.email,\n isEnable: invite.email && !this.isImported(invite) ? false : true,\n isValid: this.validateEmail(invite.email),\n };\n }\n }\n }\n\n disableInput(apartmentId: string) {\n return !this.emailInput[apartmentId]?.isEnable;\n }\n\n inPending(apartmentId: string) {\n if (this.invites.find((invite) => invite.apartmentId === apartmentId)) {\n return (\n this.invites.find((invite) => invite.apartmentId === apartmentId)\n ?.status === ApartmentInvitationStatusEnum.Pending\n );\n }\n }\n\n async handleButtonSubmitAction() {\n this.handleHideDialog();\n\n await this.sendInvites();\n }\n\n isImported(invite: ApartmentInvitationDTO) {\n return (\n this.importedData.find((i) => i.apartmentId === invite.apartmentId) !==\n undefined\n );\n }\n\n handleExportImportProcedure() {\n this.showImportSection = !this.showImportSection;\n }\n\n async handleExportClick() {\n try {\n this.$store.dispatch(SET_APP_LOADING, true);\n const csv = await plantsClient.invitationCsv(\n this.currentEntrancePlant.desktopId!,\n undefined\n );\n\n if (csv.data) {\n const url = window.URL.createObjectURL(new Blob([csv.data]));\n const link = document.createElement('a');\n link.href = url;\n const fileName = this.currentEntrancePlant.name?.trim().replaceAll(' ', '_')+ '_invitation' + '.csv'\n link.setAttribute('download', fileName);\n document.body.appendChild(link);\n link.click();\n link.parentNode!.removeChild(link);\n }\n } catch (error) {\n switch (error.status) {\n case 423:\n this.$router.push({\n name: 'page-plants-hub',\n });\n break;\n }\n console.log(error);\n } finally {\n this.$store.dispatch(SET_APP_LOADING, false);\n }\n }\n\n async sendInvites() {\n if (this.currentEntrancePlant.desktopId === undefined) return;\n this.$store.dispatch(SET_APP_LOADING, true);\n try {\n const newInvites: ApartmentInvitationDTO[] = [];\n\n this.invites.forEach((invite) => {\n if (invite.apartmentId && this.emailInput[invite.apartmentId].isEnable)\n newInvites.push(\n new ApartmentInvitationDTO({\n apartmentId: invite.apartmentId,\n email: this.emailInput[invite.apartmentId].email.trim(),\n status: ApartmentInvitationStatusEnum.Pending,\n })\n );\n });\n\n await plantsClient.massiveinvitation(\n this.currentEntrancePlant.desktopId,\n newInvites\n );\n\n await this.$nextTick(async () => {\n this.$emit('update-list');\n this.$toast.add({\n severity: 'success',\n summary: this.$t('AppResourceEP.InvitationsSent'),\n closable: false,\n life: 3000,\n });\n });\n } catch (error) {\n console.log(error);\n this.$toast.add({\n severity: 'error',\n summary: 'Error',\n closable: false,\n life: 3000,\n });\n } finally {\n this.$store.dispatch(SET_APP_LOADING, false);\n }\n }\n}\n","import { render } from \"./DialogMassiveInviteResidents.vue?vue&type=template&id=472d714c&ts=true\"\nimport script from \"./DialogMassiveInviteResidents.ts?vue&type=script&lang=ts\"\nexport * from \"./DialogMassiveInviteResidents.ts?vue&type=script&lang=ts\"\n\nimport \"./DialogMassiveInviteResidents.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 { toDisplayString as _toDisplayString, createVNode as _createVNode, resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, withCtx as _withCtx, createTextVNode as _createTextVNode } from \"vue\"\n\nconst _hoisted_1 = { class: \"residents-details mt-3\" }\nconst _hoisted_2 = { class: \"residents-details__tabs mt-3\" }\nconst _hoisted_3 = { class: \"p-tabview-title\" }\nconst _hoisted_4 = { class: \"p-tabview-title\" }\nconst _hoisted_5 = { class: \"p-tabview-title\" }\nconst _hoisted_6 = { class: \"p-tabview-title\" }\nconst _hoisted_7 = { class: \"d-flex align-items-center mt-3\" }\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_ContactSection = _resolveComponent(\"ContactSection\")\n const _component_TabPanel = _resolveComponent(\"TabPanel\")\n const _component_GateAccessSection = _resolveComponent(\"GateAccessSection\")\n const _component_BadgesSection = _resolveComponent(\"BadgesSection\")\n const _component_CodeSection = _resolveComponent(\"CodeSection\")\n const _component_TabView = _resolveComponent(\"TabView\")\n const _component_Button = _resolveComponent(\"Button\")\n\n return (_openBlock(), _createBlock(\"div\", _hoisted_1, [\n _createVNode(\"h4\", null, _toDisplayString(_ctx.apartmentSelected.name), 1),\n _createVNode(\"div\", _hoisted_2, [\n _createVNode(_component_TabView, null, {\n default: _withCtx(() => [\n _createVNode(_component_TabPanel, null, {\n header: _withCtx(() => [\n _createVNode(\"span\", _hoisted_3, _toDisplayString(_ctx.$t(\"AppResourceEP.ContactTab\")), 1),\n (_ctx.contactEdited || _ctx.errorContact)\n ? (_openBlock(), _createBlock(_component_InlineSvgScoped, {\n key: 0,\n class: { 'has-error': _ctx.errorContact },\n src: \n require('@/assets/images/entrancePlants/tab-edited.svg')\n ,\n \"aria-label\": \"tab-edited\"\n }, null, 8, [\"class\", \"src\"]))\n : _createCommentVNode(\"\", true)\n ]),\n default: _withCtx(() => [\n _createVNode(_component_ContactSection, {\n key: _ctx.apartmentSelected.apartmentId,\n apartmentSelected: _ctx.apartmentSelected,\n editingApartment: _ctx.editedApartment,\n onOnAddEditLabel: _ctx.onAddEditLabel,\n onOnDeleteLabel: _ctx.onDeleteLabel,\n onUpdateListInvites: _ctx.handleUpdateList,\n onContactEdited: _ctx.handleContactEdited,\n onErrorContact: _ctx.handleErrorContact\n }, null, 8, [\"apartmentSelected\", \"editingApartment\", \"onOnAddEditLabel\", \"onOnDeleteLabel\", \"onUpdateListInvites\", \"onContactEdited\", \"onErrorContact\"])\n ]),\n _: 1\n }),\n _createVNode(_component_TabPanel, null, {\n header: _withCtx(() => [\n _createVNode(\"span\", _hoisted_4, _toDisplayString(_ctx.$t(\"AppResourceEP.GateAccessTab\")), 1),\n (_ctx.gateAccessEdited || _ctx.errorGateAccess)\n ? (_openBlock(), _createBlock(_component_InlineSvgScoped, {\n key: 0,\n class: { 'has-error': _ctx.errorGateAccess },\n src: \n require('@/assets/images/entrancePlants/tab-edited.svg')\n ,\n \"aria-label\": \"tab-edited\"\n }, null, 8, [\"class\", \"src\"]))\n : _createCommentVNode(\"\", true)\n ]),\n default: _withCtx(() => [\n _createVNode(_component_GateAccessSection, {\n apartmentSelected: _ctx.apartmentSelected,\n editingApartment: _ctx.editedApartment,\n onGateAccessEdited: _ctx.handleGateAccessEdited,\n onErrorGateAccess: _ctx.handleErrorGateAccess\n }, null, 8, [\"apartmentSelected\", \"editingApartment\", \"onGateAccessEdited\", \"onErrorGateAccess\"])\n ]),\n _: 1\n }),\n _createVNode(_component_TabPanel, null, {\n header: _withCtx(() => [\n _createVNode(\"span\", _hoisted_5, _toDisplayString(_ctx.$t(\"AppResourceEP.BadgeTab\")), 1),\n (_ctx.badgeEdited || _ctx.errorBadge)\n ? (_openBlock(), _createBlock(_component_InlineSvgScoped, {\n key: 0,\n class: { 'has-error': _ctx.errorBadge },\n src: \n require('@/assets/images/entrancePlants/tab-edited.svg')\n ,\n \"aria-label\": \"tab-edited\"\n }, null, 8, [\"class\", \"src\"]))\n : _createCommentVNode(\"\", true)\n ]),\n default: _withCtx(() => [\n _createVNode(_component_BadgesSection, {\n disabled: !_ctx.currentEntrancePlant.syncStatus?.canEditWithPropagation,\n apartmentSelected: _ctx.apartmentSelected,\n editingApartment: _ctx.editedApartment,\n onBadgeEdited: _ctx.handleBadgeEdited,\n onErrorBadge: _ctx.handleErrorBadge\n }, null, 8, [\"disabled\", \"apartmentSelected\", \"editingApartment\", \"onBadgeEdited\", \"onErrorBadge\"])\n ]),\n _: 1\n }),\n _createVNode(_component_TabPanel, null, {\n header: _withCtx(() => [\n _createVNode(\"span\", _hoisted_6, _toDisplayString(_ctx.$t(\"AppResourceEP.CodeTab\")), 1),\n (_ctx.keyCodeEdited || _ctx.errorKeyCode)\n ? (_openBlock(), _createBlock(_component_InlineSvgScoped, {\n key: 0,\n class: [\"ml-auto\", { 'has-error': _ctx.errorKeyCode }],\n src: \n require('@/assets/images/entrancePlants/tab-edited.svg')\n ,\n \"aria-label\": \"tab-edited\"\n }, null, 8, [\"class\", \"src\"]))\n : _createCommentVNode(\"\", true)\n ]),\n default: _withCtx(() => [\n _createVNode(_component_CodeSection, {\n editingApartment: _ctx.apartmentSelected,\n onKeyCodeEdited: _ctx.handleKeyCodeEdited,\n onErrorKeyCode: _ctx.handleErrorKeyCode\n }, null, 8, [\"editingApartment\", \"onKeyCodeEdited\", \"onErrorKeyCode\"])\n ]),\n _: 1\n })\n ]),\n _: 1\n })\n ]),\n _createVNode(\"div\", _hoisted_7, [\n _createVNode(_component_Button, {\n class: \"ml-auto p-button-rounded p-button-raised p-button--m\",\n onClick: _ctx.onSaveClick,\n disabled: _ctx.saveDisabled\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t(\"SaveChanges\")), 1)\n ]),\n _: 1\n }, 8, [\"onClick\", \"disabled\"])\n ])\n ]))\n}","import { resolveComponent as _resolveComponent, createVNode as _createVNode, toDisplayString as _toDisplayString, withCtx as _withCtx, openBlock as _openBlock, createBlock as _createBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"form-custom mt-2\" }\nconst _hoisted_2 = { class: \"p-field-label mt-3\" }\nconst _hoisted_3 = { class: \"list-unstyled\" }\nconst _hoisted_4 = { class: \"mt-3 d-flex align-items-center\" }\nconst _hoisted_5 = { class: \"px-2 custom-label\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_KeypadCodeInput = _resolveComponent(\"KeypadCodeInput\")\n const _component_InlineSvgScoped = _resolveComponent(\"InlineSvgScoped\")\n const _component_ElScrollbar = _resolveComponent(\"ElScrollbar\")\n\n return (_openBlock(), _createBlock(\"div\", _hoisted_1, [\n _createVNode(_component_ElScrollbar, { class: \"details-panel-content-wrapper\" }, {\n default: _withCtx(() => [\n _createVNode(_component_KeypadCodeInput, {\n disabled: !_ctx.currentEntrancePlant.syncStatus?.canEditWithPropagation,\n modelValue: _ctx.keypadCode,\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = ($event: any) => (_ctx.keypadCode = $event)),\n alreadyUsedCodes: _ctx.alreadyUsedCodes,\n label: _ctx.$t('AppResourceEP.KeypadCodePlaceHolder'),\n keypadCodeRequiredLength: _ctx.currentEntrancePlant.keypadCodeRequiredLength,\n onErrorKeyCode: _ctx.handleErrorKeyCode,\n onKeyCodeEdited: _ctx.handleKeypadCodeEdited\n }, null, 8, [\"disabled\", \"modelValue\", \"alreadyUsedCodes\", \"label\", \"keypadCodeRequiredLength\", \"onErrorKeyCode\", \"onKeyCodeEdited\"]),\n _createVNode(\"div\", null, [\n _createVNode(\"label\", _hoisted_2, _toDisplayString(_ctx.$t(\"AppResourceEP.AccessCodeInstruction\")), 1),\n _createVNode(\"ul\", _hoisted_3, [\n _createVNode(\"li\", null, _toDisplayString(_ctx.$t(\"AppResourceEP.AccessCodeInstruction_Lenght\", [_ctx.currentEntrancePlant.keypadCodeRequiredLength])), 1),\n _createVNode(\"li\", null, _toDisplayString(_ctx.$t(\n \"AppResourceEP.AccessCodeInstruction_Different\"\n )), 1),\n _createVNode(\"li\", null, _toDisplayString(_ctx.$t(\n \"AppResourceEP.AccessCodeInstruction_Consecutive\"\n )), 1),\n _createVNode(\"li\", null, _toDisplayString(_ctx.$t(\n \"AppResourceEP.AccessCodeInstruction_SameNumber\"\n )), 1)\n ])\n ]),\n _createVNode(\"div\", _hoisted_4, [\n _createVNode(_component_InlineSvgScoped, {\n class: \"svg-icon\",\n src: \n require(`@/assets/images/icons/icon-alert-medium-outline.svg`)\n ,\n \"aria-label\": \"icon-badge\"\n }, null, 8, [\"src\"]),\n _createVNode(\"label\", _hoisted_5, _toDisplayString(_ctx.$t(\"AppResourceEP.ChangeAccessCodeLengthInfo\")), 1)\n ])\n ]),\n _: 1\n })\n ]))\n}","import { mapState } from 'vuex';\nimport {\n ApartmentDTO,\n EntrancePlantDetailDTO,\n} from '@/../client-generator/generated-clients/plants';\nimport { PropType, ref } from 'vue';\nimport { Options, Vue } from 'vue-class-component';\nimport KeypadCodeInput from '@/views/components/KeypadCodeInput/KeypadCodeInput.vue';\nimport { getAllKeypadCodes } from '@/core/utils/EntrancePlant/entrance-plant.utils';\n@Options({\n name: 'CodeSection',\n props: {\n editingApartment: {\n type: Object as PropType,\n required: true,\n }, \n },\n computed: {\n ...mapState(['currentEntrancePlant']),\n },\n components: { KeypadCodeInput },\n emits: ['key-code-edited', 'error-key-code'],\n})\nexport default class CodeSection extends Vue {\n editingApartment!: ApartmentDTO;\n currentEntrancePlant!: EntrancePlantDetailDTO;\n codeTabHasError = false;\n keypadCodeEdited = false;\n keypadCode = '';\n\n get alreadyUsedCodes() {\n return getAllKeypadCodes(this.currentEntrancePlant);\n }\n\n created() {\n if (this.editingApartment.keypadCode)\n this.keypadCode = this.editingApartment.keypadCode;\n }\n\n apartmentWasEdited() {\n this.$emit('error-key-code', this.codeTabHasError);\n this.$emit('key-code-edited', this.keypadCodeEdited, this.keypadCode);\n }\n\n handleKeypadCodeEdited(value: boolean, code: string) {\n this.keypadCodeEdited = value;\n if (!this.codeTabHasError) {\n this.keypadCode = code;\n this.apartmentWasEdited();\n }\n }\n\n handleErrorKeyCode(value: boolean) {\n this.codeTabHasError = value;\n this.apartmentWasEdited();\n }\n}\n","import { render } from \"./CodeSection.vue?vue&type=template&id=0cd34d77&ts=true\"\nimport script from \"./CodeSection.ts?vue&type=script&lang=ts\"\nexport * from \"./CodeSection.ts?vue&type=script&lang=ts\"\n\nimport \"./CodeSection.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 { toDisplayString as _toDisplayString, createVNode as _createVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, renderList as _renderList, Fragment as _Fragment } from \"vue\"\n\nconst _hoisted_1 = { class: \"form-custom mt-2\" }\nconst _hoisted_2 = { class: \"details-panel-content-wrapper\" }\nconst _hoisted_3 = { class: \"p-field\" }\nconst _hoisted_4 = { class: \"d-flex align-items-center\" }\nconst _hoisted_5 = { class: \"fw-bold\" }\nconst _hoisted_6 = { class: \"bt-icon bt-icon--xs\" }\nconst _hoisted_7 = { class: \"ml-2\" }\nconst _hoisted_8 = {\n key: 0,\n class: \"no-badge text-center\"\n}\nconst _hoisted_9 = { class: \"text-gray\" }\nconst _hoisted_10 = /*#__PURE__*/_createVNode(\"br\", null, null, -1)\nconst _hoisted_11 = { class: \"text-gray\" }\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_BadgeItem = _resolveComponent(\"BadgeItem\")\n const _component_ElScrollbar = _resolveComponent(\"ElScrollbar\")\n const _component_DialogAddBadge = _resolveComponent(\"DialogAddBadge\")\n const _component_DialogMaxEntity = _resolveComponent(\"DialogMaxEntity\")\n\n return (_openBlock(), _createBlock(_Fragment, null, [\n _createVNode(\"div\", _hoisted_1, [\n _createVNode(\"div\", _hoisted_2, [\n _createVNode(\"div\", _hoisted_3, [\n _createVNode(\"span\", _hoisted_4, [\n _createVNode(\"label\", _hoisted_5, _toDisplayString(_ctx.$t(\"entrancePlant.associatedBadges\")), 1),\n _createVNode(_component_Button, {\n disabled: _ctx.disabled,\n class: \"p-button-rounded p-button-outlined ml-auto\",\n onClick: _ctx.handleAddBadgeResident\n }, {\n default: _withCtx(() => [\n _createVNode(\"span\", _hoisted_6, [\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_7, _toDisplayString(_ctx.$t(\"AppResource.Add\")), 1)\n ]),\n _: 1\n }, 8, [\"disabled\", \"onClick\"])\n ])\n ]),\n _createVNode(_component_ElScrollbar, { class: \"details-panel-content mt-3\" }, {\n default: _withCtx(() => [\n (_ctx.badgesList.length === 0)\n ? (_openBlock(), _createBlock(\"div\", _hoisted_8, [\n _createVNode(\"span\", _hoisted_9, _toDisplayString(_ctx.noBadgeText[0]), 1),\n _hoisted_10,\n _createVNode(\"span\", _hoisted_11, _toDisplayString(_ctx.noBadgeText[1]), 1)\n ]))\n : (_openBlock(true), _createBlock(_Fragment, { key: 1 }, _renderList(_ctx.badgesList, (badge, index) => {\n return (_openBlock(), _createBlock(_component_BadgeItem, {\n key: index,\n disabled: _ctx.disabled,\n badgeTab: \"\",\n badge: badge,\n class: \"m-3 py-2\",\n onDeleteBadge: ($event: any) => (_ctx.removeBadge(badge))\n }, null, 8, [\"disabled\", \"badge\", \"onDeleteBadge\"]))\n }), 128))\n ]),\n _: 1\n })\n ])\n ]),\n (_ctx.isVisibleAddBadge)\n ? (_openBlock(), _createBlock(_component_DialogAddBadge, {\n key: 0,\n residentBadge: \"\",\n \"is-visible\": _ctx.isVisibleAddBadge,\n plantBadges: _ctx.plantBadges,\n fromResidentTab: _ctx.editingApartment,\n onAddBadgeTab: _ctx.addBadge,\n onHideDialog: _ctx.handleAddBadgeResident\n }, null, 8, [\"is-visible\", \"plantBadges\", \"fromResidentTab\", \"onAddBadgeTab\", \"onHideDialog\"]))\n : _createCommentVNode(\"\", true),\n (_ctx.isVisibleMaxEntity)\n ? (_openBlock(), _createBlock(_component_DialogMaxEntity, {\n key: 1,\n \"is-visible\": _ctx.isVisibleMaxEntity,\n title: _ctx.$t('AppResource.Warning'),\n message: _ctx.$t('entrancePlant.popupMessageMaxBadgesReachedWarning'),\n onHideDialog: _ctx.handleMaxEntityDialog\n }, null, 8, [\"is-visible\", \"title\", \"message\", \"onHideDialog\"]))\n : _createCommentVNode(\"\", true)\n ], 64))\n}","import { Vue, Options } from 'vue-class-component';\nimport { mapState } from 'vuex';\nimport { ApartmentDTO, BadgeDTO, EntrancePlantDetailDTO } from '@/../client-generator/generated-clients/plants';\nimport { PropType } from 'vue';\nimport plantsClient from '@/core/services/plants';\nimport DialogAddBadge from '../../../EntrancePlantBadges/DialogAddBadge/DialogAddBadge.vue';\nimport BadgeItem from '../../../EntrancePlantBadges/BadgeItem/BadgeItem.vue';\nimport DialogMaxEntity from '@/views/components/DialogMaxEntity/DialogMaxEntity.vue';\n\n@Options({\n name: 'BadgesSection',\n props: {\n editingApartment: {\n type: Object as PropType,\n required: true,\n },\n apartmentSelected: {\n type: Object as PropType,\n required: true,\n },\n disabled: {\n type: Boolean,\n required: false,\n default: false,\n },\n },\n computed: {\n ...mapState(['currentEntrancePlant']),\n },\n watch: {\n 'editingApartment.badgeList.length': function () {\n this.apartmentWasEdited();\n },\n },\n components: {\n BadgeItem,\n DialogAddBadge,\n DialogMaxEntity,\n },\n emits: ['badge-edited', 'error-badge'],\n})\nexport default class BadgesSection extends Vue {\n currentEntrancePlant!: EntrancePlantDetailDTO;\n editingApartment!: ApartmentDTO;\n apartmentSelected!: ApartmentDTO;\n\n badge: BadgeDTO | null = null;\n badgeListAdded: string | undefined;\n isVisibleAddBadge = false;\n isVisibleMaxEntity = false;\n\n plantBadges: BadgeDTO[] = [];\n badgesList: BadgeDTO[] = [];\n\n disabled!: boolean;\n async fetchBadges() {\n this.plantBadges = await plantsClient.badgeAll(\n this.currentEntrancePlant.desktopId as number\n );\n }\n\n async mounted() {\n await this.fetchBadges();\n if (this.apartmentSelected.badgeList) {\n this.badgesList = this.apartmentSelected.badgeList.map(\n (badgeCode) => new BadgeDTO({ badgeCode })\n );\n }\n }\n\n get noBadgeText() {\n const textToSplit = this.$t('AppResourceEP.BadgesListEmptyMessage');\n const noBadgeTextLines = textToSplit.split('\\n');\n return noBadgeTextLines;\n }\n\n addBadge(addedBadges: BadgeDTO[]) {\n this.badgesList = [...this.badgesList, ...addedBadges];\n this.editingApartment.badgeList = this.badgesList.map((badge) => badge.badgeCode!);\n this.plantBadges = [...this.plantBadges, ...this.badgesList];\n }\n\n removeBadge(badgeToRemove: BadgeDTO) {\n this.editingApartment.badgeList = this.editingApartment.badgeList!.filter(\n (badge) => badge !== badgeToRemove.badgeCode\n );\n this.badgesList = this.badgesList.filter(\n (badge) => badge !== badgeToRemove\n );\n }\n\n async handleAddBadgeResident() {\n if (this.editingApartment.badgeList!.length >= 10) {\n this.isVisibleMaxEntity = true;\n } else {\n this.isVisibleAddBadge = !this.isVisibleAddBadge;\n }\n }\n\n async handleMaxEntityDialog() {\n this.isVisibleMaxEntity = false;\n }\n\n apartmentWasEdited() {\n this.$emit('error-badge', false);\n this.$emit('badge-edited', this.badgeEdited(), this.badgeListAdded);\n }\n\n badgeEdited() {\n const badgeEdit = this.editingApartment.badgeList!.length !== this.apartmentSelected.badgeList!.length ||\n this.editingApartment.badgeList!.some((badgeCode) => !this.apartmentSelected.badgeList!.includes(badgeCode));\n return badgeEdit;\n }\n}\n\n","import { render } from \"./BadgesSection.vue?vue&type=template&id=3104af90&ts=true\"\nimport script from \"./BadgesSection.ts?vue&type=script&lang=ts\"\nexport * from \"./BadgesSection.ts?vue&type=script&lang=ts\"\n\nimport exportComponent from \"/home/vsts/work/1/s/Frontend/node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { toDisplayString as _toDisplayString, createVNode as _createVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, renderList as _renderList, Fragment as _Fragment, createTextVNode as _createTextVNode } from \"vue\"\n\nconst _hoisted_1 = { class: \"mt-2 form-custom contact-access-section\" }\nconst _hoisted_2 = { class: \"p-field\" }\nconst _hoisted_3 = { class: \"d-flex align-items-center\" }\nconst _hoisted_4 = { class: \"fw-bold\" }\nconst _hoisted_5 = { class: \"bt-icon bt-icon--xs\" }\nconst _hoisted_6 = { class: \"ml-2\" }\nconst _hoisted_7 = { class: \"d-flex justify-content-between align-items-center\" }\nconst _hoisted_8 = /*#__PURE__*/_createVNode(\"span\", { class: \"bt-icon my-auto bt-icon--m\" }, [\n /*#__PURE__*/_createVNode(\"span\", { class: \"bt-icon bt-icon--sm\" }, [\n /*#__PURE__*/_createVNode(\"i\", { class: \"pi pi-user\" })\n ])\n], -1)\nconst _hoisted_9 = { class: \"card__head d-flex flex-column w-100\" }\nconst _hoisted_10 = { class: \"ml-3 d-flex flex-column\" }\nconst _hoisted_11 = { class: \"bt-icon bt-icon--sm\" }\nconst _hoisted_12 = { class: \"btn-stripped d-flex align-items-center\" }\nconst _hoisted_13 = { class: \"btn-stripped d-flex align-items-center text-danger\" }\nconst _hoisted_14 = {\n key: 0,\n class: \"p-field\"\n}\nconst _hoisted_15 = { class: \"fw-bold\" }\nconst _hoisted_16 = { class: \"apartment-parameters mt-3\" }\nconst _hoisted_17 = {\n key: 0,\n class: \"param-field\"\n}\nconst _hoisted_18 = {\n class: \"p-field-label\",\n for: \"scsAddr\"\n}\nconst _hoisted_19 = {\n for: \"scsAddr\",\n class: \"fs-13 label-error\"\n}\nconst _hoisted_20 = {\n key: 1,\n class: \"param-field\"\n}\nconst _hoisted_21 = {\n class: \"p-field-label\",\n for: \"buildingCode\"\n}\nconst _hoisted_22 = {\n key: 2,\n class: \"param-field\"\n}\nconst _hoisted_23 = {\n class: \"p-field-label\",\n for: \"riserCode\"\n}\nconst _hoisted_24 = {\n key: 3,\n class: \"param-field\"\n}\nconst _hoisted_25 = {\n class: \"p-field-label\",\n for: \"floorCode\"\n}\nconst _hoisted_26 = {\n key: 4,\n class: \"param-field\"\n}\nconst _hoisted_27 = {\n class: \"p-field-label\",\n for: \"apartmentCode\"\n}\nconst _hoisted_28 = { class: \"p-field mt-2\" }\nconst _hoisted_29 = { class: \"d-flex align-items-center mb-3\" }\nconst _hoisted_30 = { class: \"fw-bold\" }\nconst _hoisted_31 = { class: \"bt-icon bt-icon--xs\" }\nconst _hoisted_32 = { class: \"ml-2\" }\nconst _hoisted_33 = {\n key: 0,\n class: \"text-gray\"\n}\nconst _hoisted_34 = { key: 1 }\nconst _hoisted_35 = { class: \"d-flex justify-content-between align-items-center\" }\nconst _hoisted_36 = { class: \"card__head d-flex flex-column w-100\" }\nconst _hoisted_37 = { class: \"ml-3 d-flex flex-column\" }\nconst _hoisted_38 = { class: \"text-dark\" }\nconst _hoisted_39 = {\n key: 0,\n class: \"fs-14\"\n}\nconst _hoisted_40 = {\n key: 1,\n class: \"fs-14\"\n}\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_ElDropdownItem = _resolveComponent(\"ElDropdownItem\")\n const _component_ElDropdownMenu = _resolveComponent(\"ElDropdownMenu\")\n const _component_ElDropdown = _resolveComponent(\"ElDropdown\")\n const _component_Card = _resolveComponent(\"Card\")\n const _component_InputText = _resolveComponent(\"InputText\")\n const _component_ElScrollbar = _resolveComponent(\"ElScrollbar\")\n const _component_DialogEditLabel = _resolveComponent(\"DialogEditLabel\")\n const _component_DialogInviteResident = _resolveComponent(\"DialogInviteResident\")\n const _component_DialogConfirmDelete = _resolveComponent(\"DialogConfirmDelete\")\n const _component_DialogMaxEntity = _resolveComponent(\"DialogMaxEntity\")\n\n return (_openBlock(), _createBlock(_Fragment, null, [\n _createVNode(\"div\", _hoisted_1, [\n _createVNode(_component_ElScrollbar, { class: \"details-panel-content-wrapper\" }, {\n default: _withCtx(() => [\n _createVNode(\"div\", _hoisted_2, [\n _createVNode(\"span\", _hoisted_3, [\n _createVNode(\"label\", _hoisted_4, _toDisplayString(_ctx.$t(\"AppResourceEP.Labels\")), 1),\n (!_ctx.isFloorsAddressing && !_ctx.isCallWithCode)\n ? (_openBlock(), _createBlock(_component_Button, {\n key: 0,\n disabled: _ctx.disableAddLabel,\n class: \"p-button-rounded p-button-outlined ml-auto\",\n onClick: _cache[1] || (_cache[1] = ($event: any) => (_ctx.checkIfCanAddLabel()))\n }, {\n default: _withCtx(() => [\n _createVNode(\"span\", _hoisted_5, [\n _createVNode(_component_InlineSvgScoped, {\n src: require(`@/assets/images/icons/icon-plus-outline.svg`),\n \"aria-label\": \"icon-plus\"\n }, null, 8, [\"src\"])\n ]),\n _createVNode(\"span\", _hoisted_6, _toDisplayString(_ctx.$t('AppResource.Add')), 1)\n ]),\n _: 1\n }, 8, [\"disabled\"]))\n : _createCommentVNode(\"\", true)\n ]),\n (_openBlock(true), _createBlock(_Fragment, null, _renderList(_ctx.apartmentSelected.labels, (label) => {\n return (_openBlock(), _createBlock(_component_Card, {\n class: \"apartment-card m-3 card--slim\",\n key: label.labelId\n }, {\n content: _withCtx(() => [\n _createVNode(\"div\", _hoisted_7, [\n _hoisted_8,\n _createVNode(\"div\", _hoisted_9, [\n _createVNode(\"div\", _hoisted_10, _toDisplayString(_ctx.getLabelText(label)), 1)\n ]),\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, {\n disabled: !_ctx.currentEntrancePlant.syncStatus?.canEditWithPropagation,\n onClick: ($event: any) => (_ctx.onEditLabelClick(label))\n }, {\n default: _withCtx(() => [\n _createVNode(\"button\", _hoisted_12, _toDisplayString(_ctx.$t(\"AppResource.Edit\")), 1)\n ]),\n _: 2\n }, 1032, [\"disabled\", \"onClick\"]),\n (!_ctx.isFloorsAddressing && !_ctx.isCallWithCode)\n ? (_openBlock(), _createBlock(_component_ElDropdownItem, {\n key: 0,\n disabled: !_ctx.currentEntrancePlant.syncStatus?.canEditWithPropagation,\n onClick: ($event: any) => (_ctx.onDeleteLabelClick(label.labelId ?? ''))\n }, {\n default: _withCtx(() => [\n _createVNode(\"button\", _hoisted_13, _toDisplayString(_ctx.$t(\"AppResource.Delete\")), 1)\n ]),\n _: 2\n }, 1032, [\"disabled\", \"onClick\"]))\n : _createCommentVNode(\"\", true)\n ]),\n _: 2\n }, 1024)\n ]),\n default: _withCtx(() => [\n _createVNode(_component_Button, { class: \"p-button-text p-1\" }, {\n default: _withCtx(() => [\n _createVNode(\"span\", _hoisted_11, [\n _createVNode(_component_InlineSvgScoped, {\n src: require(`@/assets/images/icons/icon-ellipsis-v.svg`),\n \"aria-label\": \"icon-ellipsis-v\"\n }, null, 8, [\"src\"])\n ])\n ]),\n _: 1\n })\n ]),\n _: 2\n }, 1024)\n ])\n ]),\n _: 2\n }, 1024))\n }), 128))\n ]),\n (_ctx.isFloorsAddressing || !_ctx.adminView)\n ? (_openBlock(), _createBlock(\"div\", _hoisted_14, [\n _createVNode(\"label\", _hoisted_15, _toDisplayString(_ctx.$t(\"AppResource.Parameters\")), 1),\n _createVNode(\"div\", _hoisted_16, [\n (!_ctx.adminView)\n ? (_openBlock(), _createBlock(\"div\", _hoisted_17, [\n _createVNode(\"label\", _hoisted_18, _toDisplayString(_ctx.$t(\"AppResourceEP.ApartmentNScsAddress\")), 1),\n _createVNode(_component_InputText, {\n disabled: _ctx.currentEntrancePlant.syncStatus?.isPlantActive,\n id: \"scsAddr\",\n type: \"number\",\n class: [\"w-100\", { 'input-error': _ctx.scsAddrNotValid }],\n modelValue: _ctx.editingApartment.scsAddr,\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = ($event: any) => (_ctx.editingApartment.scsAddr = $event)),\n min: _ctx.MIN_SCS_ADDRESS,\n max: _ctx.MAX_SCS_ADDRESS\n }, null, 8, [\"disabled\", \"modelValue\", \"min\", \"max\", \"class\"]),\n _createVNode(\"label\", _hoisted_19, _toDisplayString(_ctx.invalidScsReason), 1)\n ]))\n : _createCommentVNode(\"\", true),\n (_ctx.isFloorsAddressing)\n ? (_openBlock(), _createBlock(\"div\", _hoisted_20, [\n _createVNode(\"label\", _hoisted_21, _toDisplayString(_ctx.$t(\"AppResourceEP.Building\")), 1),\n _createVNode(_component_InputText, {\n disabled: \"\",\n id: \"buildingCode\",\n type: \"number\",\n class: \"w-100\",\n modelValue: _ctx.editingApartment.buildingCode,\n \"onUpdate:modelValue\": _cache[3] || (_cache[3] = ($event: any) => (_ctx.editingApartment.buildingCode = $event))\n }, null, 8, [\"modelValue\"])\n ]))\n : _createCommentVNode(\"\", true),\n (_ctx.isFloorsAddressing)\n ? (_openBlock(), _createBlock(\"div\", _hoisted_22, [\n _createVNode(\"label\", _hoisted_23, _toDisplayString(_ctx.$t(\"AppResourceEP.Riser\")), 1),\n _createVNode(_component_InputText, {\n disabled: \"\",\n id: \"riserCode\",\n type: \"number\",\n class: \"w-100\",\n modelValue: _ctx.editingApartment.riserCode,\n \"onUpdate:modelValue\": _cache[4] || (_cache[4] = ($event: any) => (_ctx.editingApartment.riserCode = $event))\n }, null, 8, [\"modelValue\"])\n ]))\n : _createCommentVNode(\"\", true),\n (_ctx.isFloorsAddressing)\n ? (_openBlock(), _createBlock(\"div\", _hoisted_24, [\n _createVNode(\"label\", _hoisted_25, _toDisplayString(_ctx.$t(\"AppResourceEP.Floor\")), 1),\n _createVNode(_component_InputText, {\n disabled: \"\",\n id: \"floorCode\",\n type: \"number\",\n class: \"w-100\",\n modelValue: _ctx.editingApartment.floorCode,\n \"onUpdate:modelValue\": _cache[5] || (_cache[5] = ($event: any) => (_ctx.editingApartment.floorCode = $event))\n }, null, 8, [\"modelValue\"])\n ]))\n : _createCommentVNode(\"\", true),\n (_ctx.isFloorsAddressing)\n ? (_openBlock(), _createBlock(\"div\", _hoisted_26, [\n _createVNode(\"label\", _hoisted_27, _toDisplayString(_ctx.$t(\"AppResourceEP.Apartment\")), 1),\n _createVNode(_component_InputText, {\n disabled: _ctx.currentEntrancePlant.syncStatus?.isPlantActive,\n id: \"apartmentCode\",\n type: \"number\",\n class: \"w-100\",\n modelValue: _ctx.editingApartment.apartmentCode,\n \"onUpdate:modelValue\": _cache[6] || (_cache[6] = ($event: any) => (_ctx.editingApartment.apartmentCode = $event))\n }, null, 8, [\"disabled\", \"modelValue\"])\n ]))\n : _createCommentVNode(\"\", true)\n ])\n ]))\n : _createCommentVNode(\"\", true),\n _createVNode(\"div\", _hoisted_28, [\n _createVNode(\"div\", _hoisted_29, [\n _createVNode(\"label\", _hoisted_30, _toDisplayString(_ctx.$t('AppResource.Invitations')), 1),\n _createVNode(_component_Button, {\n disabled: _ctx.disableInvite,\n class: [\"p-button-rounded p-button-outlined ml-auto\", { disabled: !_ctx.currentEntrancePlant.syncStatus?.isPlantActive }],\n onClick: _ctx.toggleInviteDialog\n }, {\n default: _withCtx(() => [\n _createVNode(\"span\", _hoisted_31, [\n _createVNode(_component_InlineSvgScoped, {\n src: require(`@/assets/images/icons/icon-plus-outline.svg`),\n \"aria-label\": \"icon-plus\"\n }, null, 8, [\"src\"])\n ]),\n _createVNode(\"span\", _hoisted_32, _toDisplayString(_ctx.$t('AppResource.Invite')), 1)\n ]),\n _: 1\n }, 8, [\"disabled\", \"class\", \"onClick\"])\n ]),\n (_ctx.currentInvitations.length === 0)\n ? (_openBlock(), _createBlock(\"small\", _hoisted_33, _toDisplayString(_ctx.$t('entrancePlant.noUserInvitedYet')), 1))\n : (_openBlock(), _createBlock(\"div\", _hoisted_34, [\n (_openBlock(true), _createBlock(_Fragment, null, _renderList(_ctx.currentInvitations, (cInvitation) => {\n return (_openBlock(), _createBlock(_component_Card, {\n class: \"apartment-card m-3 card--slim\",\n key: cInvitation.email\n }, {\n content: _withCtx(() => [\n _createVNode(\"div\", _hoisted_35, [\n _createVNode(\"div\", {\n class: [\"avatar\", cInvitation.status == 0 ? 'avatar__disabled' : 'avatar__enabled']\n }, _toDisplayString(_ctx.userInitials(cInvitation)), 3),\n _createVNode(\"div\", _hoisted_36, [\n _createVNode(\"div\", _hoisted_37, [\n _createVNode(\"div\", {\n class: \"d-flex flex-column\",\n style: { opacity: cInvitation.status == 0 ? '.5' : '1' }\n }, [\n _createVNode(\"span\", _hoisted_38, _toDisplayString(cInvitation.email ?? \"\"), 1),\n (cInvitation.status == 0)\n ? (_openBlock(), _createBlock(\"span\", _hoisted_39, _toDisplayString(_ctx.$t('AppResource.InvitePending')), 1))\n : _createCommentVNode(\"\", true),\n (cInvitation.status == 1)\n ? (_openBlock(), _createBlock(\"span\", _hoisted_40, _toDisplayString(_ctx.$t('AppResource.InviteAccepted')), 1))\n : _createCommentVNode(\"\", true)\n ], 4)\n ])\n ]),\n _createVNode(_component_Button, {\n class: \"text-danger ml-auto p-button-text\",\n onClick: ($event: any) => (_ctx.toggleDeleteInviteConfirm(cInvitation))\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t(\"AppResource.Remove\")), 1)\n ]),\n _: 2\n }, 1032, [\"onClick\"])\n ])\n ]),\n _: 2\n }, 1024))\n }), 128))\n ]))\n ])\n ]),\n _: 1\n })\n ]),\n _createVNode(_component_DialogEditLabel, {\n isVisible: _ctx.isVisibleDialogEditLabel,\n labelToEdit: _ctx.labelToEdit,\n isEdit: _ctx.isEdit,\n addressingType: _ctx.currentEntrancePlant.addressingType,\n onHideDialog: _ctx.hideLabelDialog,\n onSaveLabel: _ctx.onSaveLabel\n }, null, 8, [\"isVisible\", \"labelToEdit\", \"isEdit\", \"addressingType\", \"onHideDialog\", \"onSaveLabel\"]),\n _createVNode(_component_DialogInviteResident, {\n isVisible: _ctx.isVisibleDialogInviteResident,\n apartment: _ctx.apartmentSelected,\n onUpdateList: _ctx.handleUpdateList,\n onHideDialog: _ctx.toggleInviteDialog\n }, null, 8, [\"isVisible\", \"apartment\", \"onUpdateList\", \"onHideDialog\"]),\n _createVNode(_component_DialogConfirmDelete, {\n \"is-visible\": _ctx.isVisibleDeleteInviteConfirm,\n title: _ctx.$t('AppResourceEP.RemoveInvitedUser'),\n message: _ctx.revokeInviteMessage,\n onHideDialog: _ctx.toggleDeleteInviteConfirm,\n onConfirm: _ctx.handleDeleteInvite\n }, null, 8, [\"is-visible\", \"title\", \"message\", \"onHideDialog\", \"onConfirm\"]),\n _createVNode(_component_DialogMaxEntity, {\n isVisible: _ctx.isVisibleMaxEntity,\n title: _ctx.$t('AppResource.Warning'),\n message: _ctx.$t('AppResourceEP.PopupMessageMaxLabelsReachedWarning'),\n onHideDialog: _ctx.toggleMaxEntityDialog\n }, null, 8, [\"isVisible\", \"title\", \"message\", \"onHideDialog\"])\n ], 64))\n}","import { toDisplayString as _toDisplayString, createVNode as _createVNode, resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, withCtx as _withCtx, createTextVNode as _createTextVNode, Fragment as _Fragment } from \"vue\"\n\nconst _hoisted_1 = { class: \"dialog-custom__header mb-4\" }\nconst _hoisted_2 = { class: \"dialog-custom__title\" }\nconst _hoisted_3 = { class: \"dialog-custom__content form-custom\" }\nconst _hoisted_4 = { style: {\"width\":\"450px\",\"height\":\"600px\"} }\nconst _hoisted_5 = {\n key: 0,\n class: \"p-field\"\n}\nconst _hoisted_6 = {\n key: 0,\n class: \"p-field d-flex flex-column\"\n}\nconst _hoisted_7 = {\n class: \"p-field-label\",\n for: \"callingCode\"\n}\nconst _hoisted_8 = {\n for: \"callingCode\",\n class: \"fs-13 label-error\"\n}\nconst _hoisted_9 = {\n key: 1,\n class: \"p-field\"\n}\nconst _hoisted_10 = { class: \"p-field-label mb-2\" }\nconst _hoisted_11 = {\n key: 2,\n class: \"p-field\"\n}\nconst _hoisted_12 = {\n class: \"p-field-label\",\n for: \"surname\"\n}\nconst _hoisted_13 = {\n key: 3,\n class: \"p-field\"\n}\nconst _hoisted_14 = {\n class: \"p-field-label\",\n for: \"name\"\n}\nconst _hoisted_15 = {\n key: 4,\n class: \"p-field\"\n}\nconst _hoisted_16 = {\n class: \"p-field-label\",\n for: \"companyName\"\n}\nconst _hoisted_17 = {\n key: 5,\n class: \"p-field\"\n}\nconst _hoisted_18 = { class: \"col mb-3\" }\nconst _hoisted_19 = { class: \"d-flex justify-content-between align-items-center\" }\nconst _hoisted_20 = {\n class: \"p-field-label\",\n for: \"image\"\n}\nconst _hoisted_21 = { class: \"bt-icon bt-icon--xs\" }\nconst _hoisted_22 = { class: \"ml-2\" }\nconst _hoisted_23 = {\n key: 0,\n class: \"p-card m-2\"\n}\nconst _hoisted_24 = { class: \"p-card-body\" }\nconst _hoisted_25 = { class: \"p-card-content d-flex justify-content-between align-items-center\" }\nconst _hoisted_26 = { class: \"bt-icon my-auto bt-icon--m\" }\nconst _hoisted_27 = { class: \"bt-icon bt-icon--m\" }\nconst _hoisted_28 = { class: \"card__head d-flex flex-column w-100\" }\nconst _hoisted_29 = { class: \"ml-3\" }\nconst _hoisted_30 = { class: \"m-0\" }\nconst _hoisted_31 = { class: \"p-field\" }\nconst _hoisted_32 = { class: \"d-flex justify-content-between align-items-center mb-3\" }\nconst _hoisted_33 = {\n class: \"p-field-label\",\n for: \"information\"\n}\nconst _hoisted_34 = { class: \"bt-icon bt-icon--xs\" }\nconst _hoisted_35 = { class: \"ml-2\" }\nconst _hoisted_36 = { class: \"bt-icon bt-icon--xs\" }\nconst _hoisted_37 = { class: \"ml-2\" }\nconst _hoisted_38 = {\n key: 0,\n class: \"information-text\"\n}\nconst _hoisted_39 = { class: \"p-field-label char-remain-count\" }\nconst _hoisted_40 = { key: 1 }\nconst _hoisted_41 = { class: \"dialog-custom__footer\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_InputText = _resolveComponent(\"InputText\")\n const _component_ListItemRadio = _resolveComponent(\"ListItemRadio\")\n const _component_InlineSvgScoped = _resolveComponent(\"InlineSvgScoped\")\n const _component_Button = _resolveComponent(\"Button\")\n const _component_Textarea = _resolveComponent(\"Textarea\")\n const _component_ElScrollbar = _resolveComponent(\"ElScrollbar\")\n const _component_Dialog = _resolveComponent(\"Dialog\")\n\n return (_openBlock(), _createBlock(_component_Dialog, {\n visible: _ctx.isVisible,\n \"onUpdate:visible\": _cache[10] || (_cache[10] = ($event: any) => (_ctx.isVisible = $event)),\n modal: true,\n showHeader: false,\n closable: false,\n class: \"dialog-custom dialog-edit-label\"\n }, {\n default: _withCtx(() => [\n _createVNode(\"header\", _hoisted_1, [\n _createVNode(\"h1\", _hoisted_2, _toDisplayString(_ctx.dialogTitle), 1)\n ]),\n _createVNode(\"div\", _hoisted_3, [\n _createVNode(\"div\", _hoisted_4, [\n _createVNode(_component_ElScrollbar, { class: \"dialog-scroll\" }, {\n default: _withCtx(() => [\n (!_ctx.isBRFA)\n ? (_openBlock(), _createBlock(\"div\", _hoisted_5, [\n (_ctx.isCallingCode)\n ? (_openBlock(), _createBlock(\"div\", _hoisted_6, [\n _createVNode(\"label\", _hoisted_7, _toDisplayString(_ctx.$t(\"AppResourceEP.CallingCode\")), 1),\n _createVNode(_component_InputText, {\n placeholder: _ctx.$t('AppResourceEP.InsertTheCallingCode'),\n id: \"callingCode\",\n type: \"text\",\n class: [\"w-100 calling-code-input\", { 'input-error': _ctx.codeNotValid }],\n modelValue: _ctx.callingCode,\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = ($event: any) => (_ctx.callingCode = $event)),\n maxlength: \"25\",\n disabled: _ctx.disableEditCallCode\n }, null, 8, [\"placeholder\", \"modelValue\", \"disabled\", \"class\"]),\n _createVNode(\"label\", _hoisted_8, _toDisplayString(_ctx.invalidCodeReason), 1)\n ]))\n : _createCommentVNode(\"\", true),\n (!_ctx.isBRFA)\n ? (_openBlock(), _createBlock(\"div\", _hoisted_9, [\n _createVNode(\"label\", _hoisted_10, _toDisplayString(_ctx.$t(\"AppResource.TypeUpper\")), 1),\n _createVNode(_component_ListItemRadio, {\n modelValue: _ctx.isPrivate,\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = ($event: any) => (_ctx.isPrivate = $event)),\n inputId: \"privateLabel\",\n name: \"privateLabel\",\n value: true,\n label: _ctx.$t('AppResource.Private')\n }, null, 8, [\"modelValue\", \"label\"]),\n _createVNode(_component_ListItemRadio, {\n modelValue: _ctx.isPrivate,\n \"onUpdate:modelValue\": _cache[3] || (_cache[3] = ($event: any) => (_ctx.isPrivate = $event)),\n inputId: \"privateLabel\",\n name: \"privateLabel\",\n value: false,\n label: _ctx.$t('AppResourceEP.Business'),\n last: \"\"\n }, null, 8, [\"modelValue\", \"label\"])\n ]))\n : _createCommentVNode(\"\", true),\n (_ctx.isPrivate)\n ? (_openBlock(), _createBlock(\"div\", _hoisted_11, [\n _createVNode(\"label\", _hoisted_12, _toDisplayString(`${_ctx.$t(\"AppResourceEP.Line\")} 1 (Max ${_ctx.maxLineFieldLength} ${_ctx.$t(\"AppResourceEP.Characters\")})`), 1),\n _createVNode(_component_InputText, {\n placeholder: _ctx.$t('AppResourceEP.InsertTheSurname'),\n id: \"surname\",\n type: \"text\",\n class: \"w-100\",\n modelValue: _ctx.surname,\n \"onUpdate:modelValue\": _cache[4] || (_cache[4] = ($event: any) => (_ctx.surname = $event)),\n maxlength: \"25\"\n }, null, 8, [\"placeholder\", \"modelValue\"])\n ]))\n : _createCommentVNode(\"\", true),\n (_ctx.isPrivate)\n ? (_openBlock(), _createBlock(\"div\", _hoisted_13, [\n _createVNode(\"label\", _hoisted_14, _toDisplayString(`${_ctx.$t(\"AppResourceEP.Line\")} 2 (Max ${_ctx.maxLineFieldLength} ${_ctx.$t(\"AppResourceEP.Characters\")})`), 1),\n _createVNode(_component_InputText, {\n placeholder: _ctx.$t('AppResourceEP.InsertTheName'),\n id: \"name\",\n type: \"text\",\n class: \"w-100\",\n modelValue: _ctx.name,\n \"onUpdate:modelValue\": _cache[5] || (_cache[5] = ($event: any) => (_ctx.name = $event)),\n maxlength: \"25\"\n }, null, 8, [\"placeholder\", \"modelValue\"])\n ]))\n : _createCommentVNode(\"\", true),\n (!_ctx.isPrivate)\n ? (_openBlock(), _createBlock(\"div\", _hoisted_15, [\n _createVNode(\"label\", _hoisted_16, _toDisplayString(_ctx.$t(\"AppResourceEP.CompanyName\")), 1),\n _createVNode(_component_InputText, {\n placeholder: _ctx.$t('AppResourceEP.InsertTheCompanyName'),\n id: \"companyName\",\n type: \"text\",\n class: \"w-100\",\n modelValue: _ctx.companyName,\n \"onUpdate:modelValue\": _cache[6] || (_cache[6] = ($event: any) => (_ctx.companyName = $event)),\n maxlength: 40\n }, null, 8, [\"placeholder\", \"modelValue\"])\n ]))\n : _createCommentVNode(\"\", true),\n (!_ctx.isPrivate)\n ? (_openBlock(), _createBlock(\"div\", _hoisted_17, [\n _createVNode(\"div\", _hoisted_18, [\n _createVNode(\"div\", _hoisted_19, [\n _createVNode(\"label\", _hoisted_20, _toDisplayString(_ctx.$t(\"AppResourceEP.ImageUpper\")), 1),\n _createVNode(\"input\", {\n type: \"file\",\n id: \"fileInput\",\n style: {\"display\":\"none\"},\n onChange: _cache[7] || (_cache[7] = \n//@ts-ignore\n(...args) => (_ctx.onFileSelected && _ctx.onFileSelected(...args))),\n accept: \".jpg, .jpeg\"\n }, null, 32),\n _createVNode(_component_Button, {\n class: \"p-button-rounded p-button-outlined\",\n onClick: _ctx.triggerFilePicker,\n disabled: _ctx.imageName != ''\n }, {\n default: _withCtx(() => [\n _createVNode(\"span\", _hoisted_21, [\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_22, _toDisplayString(_ctx.$t(\"AppResource.Add\")), 1)\n ]),\n _: 1\n }, 8, [\"onClick\", \"disabled\"])\n ]),\n _createVNode(\"label\", null, _toDisplayString(_ctx.$t(\"AppResourceEP.NoImageAdded\")), 1)\n ]),\n (_ctx.imageName != '')\n ? (_openBlock(), _createBlock(\"div\", _hoisted_23, [\n _createVNode(\"div\", _hoisted_24, [\n _createVNode(\"div\", _hoisted_25, [\n _createVNode(\"span\", _hoisted_26, [\n _createVNode(\"span\", _hoisted_27, [\n _createVNode(_component_InlineSvgScoped, {\n src: \n require(`@/assets/images/icons/icon_parameters_and_settings_folder_2.svg`)\n ,\n \"aria-label\": \"icon-badge\"\n }, null, 8, [\"src\"])\n ])\n ]),\n _createVNode(\"div\", _hoisted_28, [\n _createVNode(\"div\", _hoisted_29, [\n _createVNode(\"h4\", _hoisted_30, _toDisplayString(_ctx.imageName), 1)\n ])\n ]),\n _createVNode(_component_Button, {\n class: \"pl-0 mr-2 p-button-text\",\n onClick: _ctx.removeImage\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t(\"AppResource.Remove\")), 1)\n ]),\n _: 1\n }, 8, [\"onClick\"])\n ])\n ])\n ]))\n : _createCommentVNode(\"\", true)\n ]))\n : _createCommentVNode(\"\", true)\n ]))\n : _createCommentVNode(\"\", true),\n _createVNode(\"div\", _hoisted_31, [\n _createVNode(\"div\", _hoisted_32, [\n _createVNode(\"label\", _hoisted_33, _toDisplayString(_ctx.$t(\"AppResourceEP.Information\")), 1),\n _createVNode(_component_Button, {\n class: \"p-button-rounded p-button-outlined\",\n onClick: _cache[8] || (_cache[8] = \n () =>\n (_ctx.isInformationVisible = !_ctx.isInformationVisible)\n )\n }, {\n default: _withCtx(() => [\n (_ctx.isInformationVisible)\n ? (_openBlock(), _createBlock(_Fragment, { key: 0 }, [\n _createVNode(\"span\", _hoisted_34, [\n _createVNode(_component_InlineSvgScoped, {\n src: \n require(`@/assets/images/icons/icon-remove-outline.svg`)\n ,\n \"aria-label\": \"icon-grid\"\n }, null, 8, [\"src\"])\n ]),\n _createVNode(\"span\", _hoisted_35, _toDisplayString(_ctx.$t(\"AppResource.Remove\")), 1)\n ], 64))\n : (_openBlock(), _createBlock(_Fragment, { key: 1 }, [\n _createVNode(\"span\", _hoisted_36, [\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_37, _toDisplayString(_ctx.$t(\"AppResource.Add\")), 1)\n ], 64))\n ]),\n _: 1\n })\n ]),\n (_ctx.isInformationVisible)\n ? (_openBlock(), _createBlock(\"div\", _hoisted_38, [\n _createVNode(_component_Textarea, {\n placeholder: _ctx.$t('AppResourceEP.InformationLabelPlaceholder'),\n modelValue: _ctx.information,\n \"onUpdate:modelValue\": _cache[9] || (_cache[9] = ($event: any) => (_ctx.information = $event)),\n id: \"information\",\n class: \"w-100 information-text__area\",\n maxlength: _ctx.informationMaxLength\n }, null, 8, [\"placeholder\", \"modelValue\", \"maxlength\"]),\n _createVNode(\"label\", _hoisted_39, _toDisplayString(`${_ctx.remainingChars} ${_ctx.$t(\n \"AppResourceEP.HomepageMessageRemaingChar\"\n )}`), 1)\n ]))\n : (_openBlock(), _createBlock(\"span\", _hoisted_40, _toDisplayString(_ctx.$t(\"entrancePlant.noInformationsAdded\")), 1))\n ])\n ]),\n _: 1\n })\n ])\n ]),\n _createVNode(\"footer\", _hoisted_41, [\n _createVNode(_component_Button, {\n class: \"p-button-text mr-2\",\n onClick: _ctx.handleHideDialog\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t(\"AppResource.Cancel\")), 1)\n ]),\n _: 1\n }, 8, [\"onClick\"]),\n _createVNode(_component_Button, {\n class: \"p-button-rounded p-button-raised p-button--m\",\n onClick: _ctx.handleButtonSubmitAction,\n disabled: _ctx.saveButtonDisabled\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t(\"AppResource.Save\")), 1)\n ]),\n _: 1\n }, 8, [\"onClick\", \"disabled\"])\n ])\n ]),\n _: 1\n }, 8, [\"visible\"]))\n}","import { PropType } from 'vue';\nimport { Options, Vue } from 'vue-class-component';\nimport {\n AddressingType,\n ApartmentLabelDTO,\n EntrancePlantDetailDTO,\n} from '@/../client-generator/generated-clients/plants';\nimport { mapState } from 'vuex';\n\n@Options({\n name: 'DialogEditLabel',\n props: {\n isEdit: {\n type: Boolean,\n required: true,\n },\n labelToEdit: {\n type: Object as PropType,\n required: false,\n },\n isVisible: {\n type: Boolean,\n required: true,\n },\n addressingType: {\n type: Number,\n required: true,\n },\n },\n watch: {\n isVisible(newValue) {\n if (newValue) {\n this.loadLabel();\n }\n },\n isInformationVisible(newValue) {\n if (!newValue) {\n this.information = '';\n }\n },\n callingCode() {\n this.verifyCodeValidity();\n } \n },\n computed: {\n ...mapState(['currentEntrancePlant']),\n },\n emits: ['hide-dialog', 'save-label'],\n})\nexport default class DialogEditLabel extends Vue {\n labelToEdit: ApartmentLabelDTO | undefined;\n addressingType!: AddressingType;\n currentEntrancePlant!: EntrancePlantDetailDTO;\n codeNotValid: boolean = false;\n invalidCodeReason: string = '';\n\n // editing fields\n isPrivate = true;\n surname = '';\n name = '';\n companyName = '';\n information = '';\n imageName = '';\n imageBase64 = '';\n callingCode = '';\n\n readonly informationMaxLength = 225;\n readonly maxLineFieldLength = 25;\n isInformationVisible: boolean = false;\n\n isVisible!: boolean;\n isEdit!: boolean;\n\n handleHideDialog() {\n this.$emit('hide-dialog');\n }\n\n get dialogTitle() {\n if (this.labelToEdit?.labelId !== undefined) {\n return this.$t('AppResourceEP.EditLabel');\n } else {\n return this.$t('AppResourceEP.AddLabel');\n }\n }\n\n get isBRFA() {\n return this.addressingType === AddressingType.BuildingRiserFloorApartment;\n }\n\n get isCallingCode() {\n return (\n this.addressingType === AddressingType.DirectCall_Alphanumeric ||\n this.addressingType === AddressingType.DirectCall_NumbersOnly\n );\n }\n\n get remainingChars() {\n if (!this.information) return this.informationMaxLength;\n return this.informationMaxLength - this.information.length;\n }\n\n get disableEditCallCode() {\n return this.addressingType === AddressingType.DirectCall_NumbersOnly;\n }\n\n get saveButtonDisabled() {\n let disabled = false;\n switch (this.addressingType) {\n case AddressingType.AddressBook:\n if (this.isPrivate) {\n if (!this.surname && !this.name) {\n disabled = true;\n }\n } else {\n if (!this.companyName) {\n disabled = true;\n }\n }\n break;\n\n case AddressingType.DirectCall_Alphanumeric:\n case AddressingType.DirectCall_NumbersOnly:\n if (!this.callingCode || this.codeNotValid) {\n disabled = true;\n }\n break;\n }\n \n if (this.isInformationVisible && !this.information) disabled = true;\n\n return disabled;\n }\n\n loadLabel() {\n if (this.isEdit && this.labelToEdit) {\n this.isPrivate = this.labelToEdit.isPrivate ?? true;\n this.surname = this.labelToEdit.surname ?? '';\n this.name = this.labelToEdit.name ?? '';\n this.companyName = this.labelToEdit.companyName ?? '';\n this.information = this.labelToEdit.information ?? '';\n this.imageName = this.labelToEdit.imageName ?? '';\n this.callingCode = this.labelToEdit.callingCode ?? '';\n this.isInformationVisible = this.labelToEdit.information ? true : false;\n } else {\n this.isPrivate = true;\n this.surname = '';\n this.name = '';\n this.companyName = '';\n this.information = '';\n this.imageName = '';\n this.imageBase64 = '';\n this.callingCode = '';\n this.isInformationVisible = false;\n }\n }\n\n triggerFilePicker() {\n document!.getElementById('fileInput')!.click();\n }\n\n onFileSelected(event: { target: { files: any[] } }) {\n const file = event.target.files[0];\n if (file) {\n const img = new Image();\n img.src = URL.createObjectURL(file);\n img.onload = () => {\n URL.revokeObjectURL(img.src);\n if (\n file.size > 3 * 1024 * 1024 ||\n img.width !== 292 ||\n img.height !== 292\n ) {\n this.$toast.add({\n severity: 'error',\n summary: this.$t('AppResourceEP.NoImageAdded'),\n closable: false,\n life: 3000,\n });\n } else {\n const reader = new FileReader();\n reader.onload = (loadEvent) => {\n this.imageBase64 = loadEvent.target!.result as string;\n this.imageName = file.name;\n };\n reader.readAsDataURL(file);\n }\n };\n }\n }\n\n async handleButtonSubmitAction() {\n const savingLabel = new ApartmentLabelDTO({\n isPrivate: this.isPrivate,\n surname: this.isPrivate ? this.surname : '',\n name: this.isPrivate ? this.name : '',\n companyName: !this.isPrivate ? this.companyName : '',\n information: this.information,\n imageBase64: this.imageBase64,\n imageName: this.imageName,\n callingCode: this.isCallingCode || this.isBRFA ? this.callingCode : '',\n });\n if (this.labelToEdit) {\n savingLabel.labelId = this.labelToEdit.labelId;\n }\n this.$emit('save-label', savingLabel);\n }\n\n removeImage() {\n this.imageBase64 = '';\n this.imageName = '';\n }\n\n verifyCodeValidity() {\n const allLabels = this.currentEntrancePlant.buildings!\n .map((building) => building.apartments!).flat()\n .map((apartment) => apartment!.labels!).flat();\n\n const isCodeAlreadyUsed = allLabels.some(\n (label) => label.callingCode?.toLowerCase() === this.callingCode.toLowerCase() && \n label.labelId !== this.labelToEdit?.labelId\n );\n\n if (isCodeAlreadyUsed) {\n this.codeNotValid = true;\n this.invalidCodeReason = this.$t('AppResourceEP.AnotherApartmentHasSameCallingCode');\n return;\n }\n\n this.codeNotValid = false;\n this.invalidCodeReason = '';\n }\n}\n","import { render } from \"./DialogEditLabel.vue?vue&type=template&id=4a347be4&ts=true\"\nimport script from \"./DialogEditLabel.ts?vue&type=script&lang=ts\"\nexport * from \"./DialogEditLabel.ts?vue&type=script&lang=ts\"\n\nimport \"./DialogEditLabel.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 { toDisplayString as _toDisplayString, createVNode as _createVNode, resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, withCtx as _withCtx, createTextVNode as _createTextVNode } from \"vue\"\n\nconst _hoisted_1 = { class: \"dialog-custom__header mb-4 d-flex align-items-center\" }\nconst _hoisted_2 = { class: \"dialog-custom__title m-0\" }\nconst _hoisted_3 = { class: \"dialog-custom__content form-custom m-0\" }\nconst _hoisted_4 = { style: {\"width\":\"450px\",\"height\":\"calc(100vh - 730px)\"} }\nconst _hoisted_5 = { class: \"p-field\" }\nconst _hoisted_6 = { key: 0 }\nconst _hoisted_7 = { class: \"p-field-label\" }\nconst _hoisted_8 = {\n for: \"email\",\n class: \"fs-13 label-error\"\n}\nconst _hoisted_9 = { class: \"dialog-custom__footer\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_InputText = _resolveComponent(\"InputText\")\n const _component_ElScrollbar = _resolveComponent(\"ElScrollbar\")\n const _component_Button = _resolveComponent(\"Button\")\n const _component_Dialog = _resolveComponent(\"Dialog\")\n\n return (_openBlock(), _createBlock(_component_Dialog, {\n visible: _ctx.isDialogVisible,\n \"onUpdate:visible\": _cache[3] || (_cache[3] = ($event: any) => (_ctx.isDialogVisible = $event)),\n onHide: _ctx.doHideDialog,\n modal: true,\n showHeader: false,\n closable: false,\n class: \"dialog-custom invite-residents_dialog\"\n }, {\n default: _withCtx(() => [\n _createVNode(\"header\", _hoisted_1, [\n _createVNode(\"h1\", _hoisted_2, _toDisplayString(_ctx.$t(\"AppResourceEP.InviteTheResident\")), 1)\n ]),\n _createVNode(\"div\", _hoisted_3, [\n _createVNode(\"div\", _hoisted_4, [\n _createVNode(_component_ElScrollbar, null, {\n default: _withCtx(() => [\n _createVNode(\"div\", _hoisted_5, [\n (_ctx.apartment.apartmentId)\n ? (_openBlock(), _createBlock(\"span\", _hoisted_6, [\n _createVNode(\"label\", _hoisted_7, _toDisplayString(_ctx.apartmentInputLabel(_ctx.apartment)), 1),\n _createVNode(_component_InputText, {\n type: \"email\",\n class: [\"w-100\", { 'input-error': _ctx.invalidEmail }],\n placeholder: \n _ctx.$t('AppResourceEP.InsertTheEmail')\n ,\n modelValue: _ctx.invite.email,\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = ($event: any) => (_ctx.invite.email = $event)),\n onFocus: _cache[2] || (_cache[2] = ($event: any) => (_ctx.invalidEmail = false)),\n onBlur: _ctx.verifyEmail\n }, null, 8, [\"placeholder\", \"modelValue\", \"class\", \"onBlur\"]),\n _createVNode(\"label\", _hoisted_8, _toDisplayString(_ctx.errorLabel), 1)\n ]))\n : _createCommentVNode(\"\", true)\n ])\n ]),\n _: 1\n })\n ])\n ]),\n _createVNode(\"footer\", _hoisted_9, [\n _createVNode(_component_Button, {\n class: \"p-button-text mr-2\",\n onClick: _ctx.handleHideDialog\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t(\"AppResource.Cancel\")), 1)\n ]),\n _: 1\n }, 8, [\"onClick\"]),\n _createVNode(_component_Button, {\n label: _ctx.$t('AppResourceEP.InviteUpper'),\n onClick: _ctx.handleButtonSubmitAction,\n class: \"p-button-rounded p-button-raised p-button--m\"\n }, null, 8, [\"label\", \"onClick\"])\n ])\n ]),\n _: 1\n }, 8, [\"visible\", \"onHide\"]))\n}","import {\n ApartmentDTO,\n ApartmentInvitationDTO,\n ApartmentInvitationStatusEnum,\n EntrancePlantDetailDTO,\n} from '@/../client-generator/generated-clients/plants';\nimport plantsClient from '@/core/services/plants';\nimport { SET_APP_LOADING } from '@/core/store/action-types';\nimport { PropType } from 'vue';\nimport { Options, Vue } from 'vue-class-component';\nimport { mapState } from 'vuex';\n\n@Options({\n name: 'DialogMassiveInviteResidents',\n props: {\n isVisible: {\n type: Boolean,\n required: true,\n },\n apartment: {\n type: Object as PropType,\n required: true,\n },\n },\n computed: {\n ...mapState(['currentEntrancePlant']),\n },\n watch: {\n isVisible: function (newValue) {\n this.isDialogVisible = newValue;\n if (this.isDialogVisible) {\n this.initInvitation();\n }\n },\n },\n components: {},\n emits: ['hide-dialog', 'update-list'],\n})\nexport default class DialogMassiveInviteResidents extends Vue {\n currentEntrancePlant!: EntrancePlantDetailDTO;\n isVisible!: boolean;\n apartment!: ApartmentDTO;\n isDialogVisible = false;\n invite: ApartmentInvitationDTO = new ApartmentInvitationDTO();\n invalidEmail = false;\n\n get errorLabel() {\n if (this.invalidEmail)\n return this.$t('AppResourceEP.InputNotValid');\n else return '';\n }\n\n mounted() {\n this.isDialogVisible = this.isVisible;\n }\n\n handleHideDialog() {\n this.isDialogVisible = false;\n }\n\n doHideDialog() {\n this.$emit('hide-dialog');\n }\n\n apartmentInputLabel(apartment: ApartmentDTO) {\n const baseLabel = `${apartment.name}`;\n if (apartment.labels && apartment.labels?.length > 0) {\n return `${baseLabel} - ${\n apartment.labels[0].isPrivate\n ? apartment.labels[0].surname + ' ' + apartment.labels[0].name\n : apartment.labels[0].companyName\n } `;\n } else {\n return baseLabel;\n }\n }\n\n initInvitation() {\n this.invite = new ApartmentInvitationDTO({\n apartmentId: this.apartment.apartmentId,\n email: '',\n status: ApartmentInvitationStatusEnum.Pending,\n });\n }\n\n async handleButtonSubmitAction() {\n this.verifyEmail();\n if (this.invalidEmail) {\n return;\n }\n\n this.handleHideDialog();\n\n await this.sendInvite();\n }\n\n verifyEmail() {\n this.invalidEmail = !this.validateEmail(this.invite.email)\n }\n\n validateEmail(email?: string) {\n if (!email || email.trim() === '') {\n return false;\n }\n const re = /\\S+@\\S+/;\n return re.test(email);\n }\n\n async sendInvite() {\n this.$store.dispatch(SET_APP_LOADING, true);\n try {\n //api\n await plantsClient.residentinvitationPOST(\n this.currentEntrancePlant.desktopId!,\n this.invite\n );\n\n await this.$nextTick(async () => {\n this.$emit('update-list');\n this.$toast.add({\n severity: 'success',\n summary: this.$t('AppResourceEP.InvitationSent'),\n closable: false,\n life: 3000,\n });\n });\n } catch (error) {\n console.log(error);\n this.$toast.add({\n severity: 'error',\n summary: this.$t('entrancePlant.invitationErrorEmailValidation'),\n closable: false,\n life: 3000,\n });\n } finally {\n this.$store.dispatch(SET_APP_LOADING, false);\n }\n }\n}\n","import { render } from \"./DialogInviteResident.vue?vue&type=template&id=08ae697f&ts=true\"\nimport script from \"./DialogInviteResident.ts?vue&type=script&lang=ts\"\nexport * from \"./DialogInviteResident.ts?vue&type=script&lang=ts\"\n\nimport exportComponent from \"/home/vsts/work/1/s/Frontend/node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { Vue, Options } from 'vue-class-component';\nimport { mapState } from 'vuex';\nimport {\n ApartmentDTO,\n EntrancePlantDetailDTO,\n ApartmentInvitationDTO,\n ApartmentLabelDTO,\n AddressingType,\n} from '@/../client-generator/generated-clients/plants';\nimport { PropType } from 'vue';\nimport { getUserInitialsForBubble } from '@/core/utils/utils';\nimport DialogEditLabel from './DialogEditLabel/DialogEditLabel.vue';\nimport DialogInviteResident from './DialogInviteResident/DialogInviteResident.vue';\nimport { SET_APP_LOADING } from '@/core/store/action-types';\nimport DialogConfirmDelete from '@/views/components/DialogConfirmDelete/DialogConfirmDelete.vue';\nimport plantsClient from '@/core/services/plants';\nimport DialogMaxEntity from '@/views/components/DialogMaxEntity/DialogMaxEntity.vue';\n\n@Options({\n name: 'ContactSection',\n components: {\n DialogEditLabel,\n DialogMaxEntity,\n DialogConfirmDelete,\n DialogInviteResident,\n },\n props: {\n apartmentSelected: {\n type: Object as PropType,\n required: true,\n },\n editingApartment: {\n type: Object as PropType,\n required: true,\n },\n },\n computed: {\n ...mapState(['currentEntrancePlant', 'adminView']),\n },\n watch: {\n 'editingApartment.scsAddr': function () {\n this.apartmentWasEdited();\n },\n 'editingApartment.buildingCode': function () {\n this.apartmentWasEdited();\n },\n 'editingApartment.floorCode': function () {\n this.apartmentWasEdited();\n },\n 'editingApartment.riserCode': function () {\n this.apartmentWasEdited();\n },\n 'editingApartment.apartmentCode': function () {\n this.apartmentWasEdited();\n },\n },\n emits: ['onAddEditLabel', 'onDeleteLabel', 'update-list-invites', 'contact-edited', 'error-contact'],\n})\nexport default class ContactSection extends Vue {\n currentEntrancePlant!: EntrancePlantDetailDTO;\n adminView!: boolean;\n editingApartment!: ApartmentDTO;\n apartmentSelected!: ApartmentDTO;\n labelToEdit: ApartmentLabelDTO | null = null;\n invitationToRemove: ApartmentInvitationDTO | null = null;\n isVisibleDialogEditLabel: boolean = false;\n isVisibleDialogInviteResident: boolean = false;\n isEdit: boolean = false;\n isVisibleDeleteInviteConfirm: boolean = false;\n isVisibleMaxEntity: boolean = false;\n\n readonly MIN_SCS_ADDRESS = 1;\n readonly MAX_SCS_ADDRESS = 3999;\n\n scsAddrNotValid: boolean = false;\n invalidScsReason = '';\n\n get disableAddLabel() {\n return !this.currentEntrancePlant.syncStatus?.canEditWithPropagation;\n }\n\n get isFloorsAddressing(): boolean {\n return this.currentEntrancePlant.addressingType === AddressingType.BuildingRiserFloorApartment;\n }\n\n get isCallWithCode(): boolean {\n return (\n this.currentEntrancePlant.addressingType ===\n AddressingType.DirectCall_Alphanumeric ||\n this.currentEntrancePlant.addressingType ===\n AddressingType.DirectCall_NumbersOnly\n ); \n }\n\n get currentInvitations() {\n return (\n this.currentEntrancePlant.apartmentInvitations?.filter(\n (i) => i.apartmentId === this.apartmentSelected.apartmentId ) ?? []\n );\n }\n\n get getContactError() {\n this.verifyValidityOfScsAddress();\n return this.scsAddrNotValid;\n }\n\n get disableInvite() {\n return !this.currentEntrancePlant.syncStatus?.isPlantActive || this.currentInvitations.length >= 1;\n }\n\n get revokeInviteMessage() {\n const hasCode = this.editingApartment.keypadCode || this.editingApartment.keypadCode !== '';\n if (hasCode) {\n return this.$t('AppResourceEP.ConfirmRemoveInvitedUser');\n }\n else{\n return this.$t('AppResourceEP.ConfirmRemoveInvitedUser').split('.')[0] + '.';\n }\n }\n\n getLabelText(label: ApartmentLabelDTO) {\n if (this.isFloorsAddressing) {\n return label.callingCode;\n }\n\n if (this.isCallWithCode) {\n let labelText = label.callingCode ?? '';\n\n if (label.isPrivate && (label.surname || label.name)) {\n labelText += ` |`;\n labelText += ` ${label.surname ?? ''}`;\n labelText += ` ${label.name ?? ''}`;\n } else if (!label.isPrivate && label.companyName) {\n labelText += ` | ${label.companyName ?? ''}`;\n }\n\n return labelText;\n }\n\n if (label.isPrivate) {\n return `${label.surname ?? ''} ${label.name ?? ''}`;\n } else {\n return label.companyName;\n }\n }\n\n mounted(): void {\n }\n\n checkIfCanAddLabel() {\n if (this.editingApartment.labels!.length >= 10) {\n this.isVisibleMaxEntity = true;\n return;\n }\n this.onAddLabelClick();\n }\n\n toggleMaxEntityDialog() {\n this.isVisibleMaxEntity = !this.isVisibleMaxEntity;\n }\n\n onAddLabelClick() {\n this.labelToEdit = null;\n this.isEdit = false;\n this.isVisibleDialogEditLabel = true;\n }\n\n onEditLabelClick(label: ApartmentLabelDTO) {\n this.labelToEdit = label;\n this.isEdit = true;\n this.isVisibleDialogEditLabel = true;\n }\n\n onDeleteLabelClick(labelId: string) {\n this.$emit('onDeleteLabel', labelId);\n }\n\n async onSaveLabel(newLabel: ApartmentLabelDTO) {\n this.hideLabelDialog();\n this.$emit('onAddEditLabel', newLabel);\n }\n\n userInitials(invitation: ApartmentInvitationDTO): string {\n return getUserInitialsForBubble(invitation);\n }\n\n hideLabelDialog() {\n this.isVisibleDialogEditLabel = false;\n }\n\n toggleInviteDialog() {\n this.isVisibleDialogInviteResident = !this.isVisibleDialogInviteResident;\n }\n\n toggleDeleteInviteConfirm(invitation: ApartmentInvitationDTO) {\n this.invitationToRemove = invitation;\n this.isVisibleDeleteInviteConfirm = !this.isVisibleDeleteInviteConfirm;\n }\n\n async handleDeleteInvite() {\n this.$store.dispatch(SET_APP_LOADING, true);\n try {\n //remove inviteToRemove\n await plantsClient.residentinvitationDELETE(this.currentEntrancePlant.desktopId!, this.invitationToRemove!);\n } finally {\n this.handleUpdateList();\n this.$store.dispatch(SET_APP_LOADING, false);\n }\n }\n\n handleUpdateList() {\n this.$emit('update-list-invites');\n }\n\n apartmentWasEdited() {\n this.$emit('error-contact', this.getContactError);\n this.$emit('contact-edited', this.contactEdited());\n }\n\n contactEdited() {\n const scsEdit = this.editingApartment.scsAddr != this.apartmentSelected.scsAddr;\n if(this.isFloorsAddressing) {\n const buildingCodeEdit = this.editingApartment.buildingCode != this.apartmentSelected.buildingCode;\n const floorCodeEdit = this.editingApartment.floorCode != this.apartmentSelected.floorCode;\n const riserCodeEdit = this.editingApartment.riserCode != this.apartmentSelected.riserCode;\n const apartmentCodeEdit = this.editingApartment.apartmentCode != this.apartmentSelected.apartmentCode;\n const contactEdit = scsEdit || buildingCodeEdit || floorCodeEdit || riserCodeEdit || apartmentCodeEdit;\n return contactEdit;\n }\n return scsEdit;\n }\n\n verifyValidityOfScsAddress() { \n const value = Number(this.editingApartment.scsAddr);\n let acceptedRange = false;\n let doesNotExist = false;\n\n acceptedRange = value >= this.MIN_SCS_ADDRESS && value <= this.MAX_SCS_ADDRESS;\n if (!acceptedRange) {\n this.scsAddrNotValid = true;\n this.invalidScsReason = this.$t('AppResourceEP.InputNotValid');\n return;\n }\n\n let listToCheck = this.currentEntrancePlant.buildings!\n .flatMap((b) => b.apartments || [])\n listToCheck = listToCheck.filter((a) => a.apartmentId !== this.editingApartment.apartmentId);\n doesNotExist = !listToCheck.map((a) => a.scsAddr).includes(value);\n\n if (!doesNotExist) {\n this.scsAddrNotValid = true;\n this.invalidScsReason = this.$t('AppResourceEP.ScsAddressAlreadyInUse');\n } else {\n this.scsAddrNotValid = false;\n this.invalidScsReason = '';\n }\n }\n}\n","import { render } from \"./ContactSection.vue?vue&type=template&id=54bea89a&ts=true\"\nimport script from \"./ContactSection.ts?vue&type=script&lang=ts\"\nexport * from \"./ContactSection.ts?vue&type=script&lang=ts\"\n\nimport exportComponent from \"/home/vsts/work/1/s/Frontend/node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { toDisplayString as _toDisplayString, createVNode as _createVNode, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createBlock as _createBlock, resolveComponent as _resolveComponent, withCtx as _withCtx, createCommentVNode as _createCommentVNode } from \"vue\"\n\nconst _hoisted_1 = { class: \"form-custom mt-2\" }\nconst _hoisted_2 = { class: \"details-panel-content-wrapper\" }\nconst _hoisted_3 = {\n key: 0,\n class: \"p-field mb-4\"\n}\nconst _hoisted_4 = { class: \"fw-bold\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_ListItemCheck = _resolveComponent(\"ListItemCheck\")\n const _component_ElScrollbar = _resolveComponent(\"ElScrollbar\")\n\n return (_openBlock(), _createBlock(\"div\", _hoisted_1, [\n _createVNode(\"div\", _hoisted_2, [\n (_ctx.gates.length > 0)\n ? (_openBlock(), _createBlock(\"div\", _hoisted_3, [\n _createVNode(\"label\", _hoisted_4, _toDisplayString(_ctx.$t(\"AppResourceEP.SelectTheGatesWhereEnableTheAccess\")), 1),\n _createVNode(_component_ElScrollbar, { class: \"details-panel-content__gate-list mt-3\" }, {\n default: _withCtx(() => [\n (_openBlock(true), _createBlock(_Fragment, null, _renderList(_ctx.gates, (g, gateIdx) => {\n return (_openBlock(), _createBlock(_component_ListItemCheck, {\n key: g.gateId,\n disabled: _ctx.currentEntrancePlant.syncStatus?.isPlantActive,\n label: g.name,\n value: g.gateId,\n modelValue: _ctx.apartmentGates,\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = ($event: any) => (_ctx.apartmentGates = $event)),\n name: \"specificGate\",\n inputId: 'specificg' + gateIdx,\n last: gateIdx == _ctx.currentEntrancePlantGatesCount - 1\n }, null, 8, [\"disabled\", \"label\", \"value\", \"modelValue\", \"inputId\", \"last\"]))\n }), 128))\n ]),\n _: 1\n })\n ]))\n : _createCommentVNode(\"\", true),\n _createVNode(\"div\", null, [\n _createVNode(_component_ListItemCheck, {\n disabled: _ctx.currentEntrancePlant.syncStatus?.isPlantActive,\n value: _ctx.applyToAllTheResidents,\n name: \"applyToAllTheResidents\",\n inputId: \"applyToAllTheResidentsCheckbox\",\n modelValue: _ctx.apartmentGates,\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = ($event: any) => (_ctx.apartmentGates = $event)),\n label: _ctx.$t('AppResourceEP.ApplyToAllTheResidents')\n }, null, 8, [\"disabled\", \"value\", \"modelValue\", \"label\"])\n ])\n ])\n ]))\n}","import { Vue, Options } from 'vue-class-component';\nimport { mapState } from 'vuex';\nimport { ApartmentDTO, EntrancePlantDetailDTO, GateDTO } from 'client-generator/generated-clients/plants';\nimport { PropType } from 'vue';\n\n@Options({\n name: 'GateAccessSection',\n components: {},\n props: { \n apartmentSelected: {\n type: Object as PropType,\n required: true,\n },\n editingApartment: {\n type: Object as PropType,\n required: true,\n },\n },\n computed: {\n ...mapState(['currentEntrancePlant']),\n },\n emits: ['gate-access-edited', 'error-gate-access'],\n watch: {\n \"apartmentGates.length\": function () {\n this.gateWasEdited();\n }\n },\n})\n\nexport default class GateAccessSection extends Vue {\n currentEntrancePlant!: EntrancePlantDetailDTO;\n editingApartment!: ApartmentDTO;\n apartmentSelected!: ApartmentDTO;\n\n readonly applyToAllTheResidents = 'all_residents';\n apartmentGates: string[] = []\n\n\n get gates() {\n return this.currentEntrancePlant.gates ?? [];\n }\n\n get retrieveApartmentGates() {\n return this.gates.filter(g => g.apartments!.includes(this.apartmentSelected.apartmentId!)) ?? [];\n }\n\n get currentEntrancePlantGatesCount() {\n return this.currentEntrancePlant.gates?.length ?? 0;\n }\n\n mounted(): void {\n this.apartmentGates = this.retrieveApartmentGates.map(gate => gate.gateId!);\n }\n\n gateAccessEdited() {\n const edited = this.apartmentGates.length !== this.retrieveApartmentGates.length || \n this.apartmentGates.some(g => !this.retrieveApartmentGates.map(gate => gate.gateId!).includes(g));\n return edited;\n }\n\n gateWasEdited() {\n this.$emit('gate-access-edited', this.gateAccessEdited(), this.apartmentGates);\n }\n\n}\n","import { render } from \"./GateAccessSection.vue?vue&type=template&id=fcc4cdbc&ts=true\"\nimport script from \"./GateAccessSection.ts?vue&type=script&lang=ts\"\nexport * from \"./GateAccessSection.ts?vue&type=script&lang=ts\"\n\nimport exportComponent from \"/home/vsts/work/1/s/Frontend/node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { mapState } from 'vuex';\nimport {\n ApartmentDTO,\n ApartmentLabelDTO,\n EntrancePlantDetailDTO,\n} from '@/../client-generator/generated-clients/plants';\nimport { PropType } from 'vue';\nimport { Options, Vue } from 'vue-class-component';\nimport plantsClient from '@/core/services/plants';\nimport { SET_APP_LOADING, SET_SELECTED_ENTRANCE_PLANT } from '@/core/store/action-types';\nimport CodeSection from './CodeSection/CodeSection.vue';\nimport BadgesSection from './BadgesSection/BadgesSection.vue';\nimport ContactSection from './ContactSection/ContactSection.vue';\nimport GateAccessSection from './GateAccessSection/GateAccessSection.vue';\n\n@Options({\n name: 'ResidetDetailsEdit',\n props: {\n apartmentSelected: {\n type: Object as PropType,\n required: true,\n },\n },\n computed: {\n ...mapState(['currentEntrancePlant']),\n },\n components: {\n ContactSection,\n GateAccessSection,\n BadgesSection,\n CodeSection,\n },\n emits: ['update-list'],\n})\nexport default class ResidetDetailsEdit extends Vue {\n currentEntrancePlant!: EntrancePlantDetailDTO;\n apartmentSelected!: ApartmentDTO;\n editedApartment: ApartmentDTO = new ApartmentDTO();\n\n contactEdited = false;\n gateAccessEdited = false;\n badgeEdited = false;\n keyCodeEdited = false;\n errorContact = false;\n errorGateAccess = false;\n errorBadge = false;\n errorKeyCode = false;\n\n gatesEditedIds: string[] = [];\n\n created() {\n this.initApartmentToEdit();\n }\n\n get apartmentWasEdited() {\n const tabEdited =\n this.contactEdited ||\n this.gateAccessEdited ||\n this.badgeEdited ||\n this.keyCodeEdited;\n\n const tabHasError =\n this.errorContact ||\n this.errorGateAccess ||\n this.errorBadge ||\n this.errorKeyCode;\n\n return tabEdited && !tabHasError;\n }\n\n get saveDisabled() {\n if(!this.currentEntrancePlant.syncStatus?.canEditWithPropagation) return true;\n\n return !this.apartmentWasEdited;\n }\n\n get gates() {\n return this.currentEntrancePlant.gates;\n }\n\n initApartmentToEdit() {\n this.editedApartment = new ApartmentDTO(this.apartmentSelected);\n }\n\n handleContactEdited(value: boolean) {\n this.contactEdited = value;\n }\n\n handleGateAccessEdited(value: boolean, gates: string[]) {\n this.gateAccessEdited = value;\n this.gatesEditedIds = gates;\n }\n\n handleBadgeEdited(value: boolean) {\n this.badgeEdited = value;\n }\n\n handleKeyCodeEdited(value: boolean, keyCode: string) {\n this.keyCodeEdited = value;\n if (!this.errorKeyCode) {\n this.editedApartment.keypadCode = keyCode;\n }\n }\n\n handleErrorContact(value: boolean) {\n this.errorContact = value;\n }\n\n handleErrorGateAccess(value: boolean) {\n this.errorGateAccess = value;\n }\n\n handleErrorBadge(value: boolean) {\n this.errorBadge = value;\n }\n\n handleErrorKeyCode(value: boolean) {\n this.errorKeyCode = value;\n }\n\n handleUpdateList() {\n this.$emit('update-list');\n }\n\n async onAddEditLabel(newLabel: ApartmentLabelDTO) {\n this.$store.dispatch(SET_APP_LOADING, true);\n if (!this.apartmentSelected) return;\n\n // add label to the list\n try {\n let l: ApartmentLabelDTO[] = [];\n if (newLabel.labelId) {\n l = await plantsClient.labelPUT(\n this.currentEntrancePlant.desktopId!,\n this.apartmentSelected.apartmentId!,\n newLabel\n );\n } else {\n l = await plantsClient.labelPOST(\n this.currentEntrancePlant.desktopId!,\n this.apartmentSelected.apartmentId!,\n newLabel\n );\n }\n if (!this.apartmentSelected.labels) this.apartmentSelected.labels = [];\n this.apartmentSelected.labels.splice(\n 0,\n this.apartmentSelected.labels.length,\n ...l\n );\n } catch (error) {\n this.$toast.add({\n severity: 'error',\n summary: this.$t('general.operationError'),\n closable: true,\n life: 6000,\n });\n } finally {\n this.$emit('update-list');\n this.$store.dispatch(SET_APP_LOADING, false);\n }\n }\n\n async onDeleteLabel(labelId: string) {\n this.$store.dispatch(SET_APP_LOADING, true);\n if (!this.apartmentSelected) return;\n\n // delete label\n if (labelId) {\n try {\n const l = await plantsClient.labelDELETE(\n this.currentEntrancePlant.desktopId!,\n this.apartmentSelected.apartmentId!,\n labelId\n );\n if (!this.apartmentSelected.labels) this.apartmentSelected.labels = [];\n this.apartmentSelected.labels.splice(\n 0,\n this.apartmentSelected.labels.length,\n ...l\n );\n const plant = await plantsClient.entranceplantGET(\n this.currentEntrancePlant.desktopId!,\n undefined\n );\n this.$store.dispatch(SET_SELECTED_ENTRANCE_PLANT, plant);\n } catch (error) {\n this.$toast.add({\n severity: 'error',\n summary: this.$t('general.operationError'),\n closable: true,\n life: 6000,\n });\n } finally {\n this.$store.dispatch(SET_APP_LOADING, false);\n }\n }\n }\n\n\n async onSaveClick() {\n this.$store.dispatch(SET_APP_LOADING, true);\n\n try {\n this.replaceApartment(this.currentEntrancePlant, this.editedApartment);\n this.updatePlantGates();\n await plantsClient.residents(\n this.currentEntrancePlant.desktopId!,\n this.currentEntrancePlant\n );\n\n this.$emit('update-list');\n this.$toast.add({\n severity: 'success',\n summary: this.$t('AppResource.Saved'),\n closable: true,\n life: 6000,\n });\n this.restoreEditCheckers();\n } catch (error) {\n console.error(error);\n this.$toast.add({\n severity: 'error',\n summary: this.$t('general.operationError'),\n closable: true,\n life: 6000,\n });\n } finally {\n this.$store.dispatch(SET_APP_LOADING, false);\n }\n }\n\n replaceApartment(plant: EntrancePlantDetailDTO, editedApartment: ApartmentDTO) {\n const buildingIndex = plant.buildings!.findIndex(\n (b) => b.buildingId === editedApartment.buildingId\n );\n const building = plant.buildings![buildingIndex];\n const apartmentIndex = building.apartments!.findIndex(\n (a) => a.apartmentId === editedApartment.apartmentId\n );\n building.apartments!.splice(apartmentIndex, 1, editedApartment);\n\n plant.buildings!.splice(buildingIndex, 1, building);\n }\n\n updatePlantGates() {\n if(this.gatesEditedIds.includes('all_residents')) {\n this.gatesEditedIds = this.gatesEditedIds.filter(g => g !== 'all_residents');\n this.currentEntrancePlant.buildings!.find(b => b.buildingId === this.apartmentSelected.buildingId)?.apartments?.forEach(a => {\n this.updateApartmentGates(a);\n });\n }\n else {\n this.updateApartmentGates(this.apartmentSelected);\n }\n }\n\n updateApartmentGates(apartmentToAdd: ApartmentDTO) {\n if (this.currentEntrancePlant.gates) {\n for (const gate of this.currentEntrancePlant.gates) {\n if (gate.apartments?.includes(apartmentToAdd.apartmentId!)) {\n gate.apartments = gate.apartments.filter(\n (c) => c !== apartmentToAdd.apartmentId\n );\n }\n }\n // Aggiungo l'appartamento ai gate selezionati\n for (const gateId of this.gatesEditedIds) {\n const gate = this.currentEntrancePlant.gates.find(\n (c) => c.gateId === gateId\n );\n if (gate) {\n gate.apartments!.push(apartmentToAdd.apartmentId!);\n }\n }\n }\n\n }\n\n restoreEditCheckers() {\n this.contactEdited = false;\n this.gateAccessEdited = false;\n this.badgeEdited = false;\n this.keyCodeEdited = false;\n this.errorContact = false;\n this.errorGateAccess = false;\n this.errorBadge = false;\n this.errorKeyCode = false;\n }\n\n}","import { render } from \"./ResidentDetailsEdit.vue?vue&type=template&id=dce802d6&ts=true\"\nimport script from \"./ResidentDetailsEdit.ts?vue&type=script&lang=ts\"\nexport * from \"./ResidentDetailsEdit.ts?vue&type=script&lang=ts\"\n\nimport \"./ResidentDetailsEdit.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 { Options, Vue } from 'vue-class-component';\nimport { mapState } from 'vuex';\nimport {\n AddressingType,\n BuildingDTO,\n EntrancePlantDetailDTO,\n ApartmentDTO,\n BuildingImportDto,\n} from '../../../../../client-generator/generated-clients/plants';\nimport ResidentItem from './ResidentItem/ResidentItem.vue';\nimport {\n SET_APP_LOADING,\n SET_SELECTED_ENTRANCE_PLANT,\n} from '@/core/store/action-types';\nimport plantsClient from '@/core/services/plants';\nimport DialogImportFile from './DialogImportFile/DialogImportFile.vue';\nimport DialogMassiveInviteResidents from './DialogMassiveInviteResidents/DialogMassiveInviteResidents.vue';\nimport { loadRisersFloorsApartments, processCsvData, SingleLabelApartment } from '@/core/utils/EntrancePlant/entrance-plant.utils';\nimport BuildingSelector from '../EntrancePlantBadges/DialogAddBadge/BuildingSelector/BuildingSelector.vue';\nimport ApartmentSelector from '../EntrancePlantBadges/DialogAddBadge/ApartmentSelector/ApartmentSelector.vue';\nimport ResidentDetailsEdit from './ResidentDetailsEdit/ResidentDetailsEdit.vue';\n\n@Options({\n name: 'EntrancePlantResidents',\n computed: {\n ...mapState(['currentEntrancePlant']),\n backToText() {\n if (this.isBRFA && this.step != 0) {\n return this.$t('AppResourceEP.Buildings');\n } else {\n return this.currentEntrancePlant.name;\n }\n },\n backLink() {\n if (\n this.$route.name === 'page-entranceplant-residents' &&\n !this.selectedBuilding\n ) {\n // Se sei sulla pagina dei building e non hai selezionato alcun edificio, torna alla pagina precedente\n return {\n name: 'page-entranceplant-dashboard',\n params: this.$route.params,\n };\n } else {\n // Altrimenti, torna alla pagina dei building\n return {\n name: 'page-entranceplant-residents',\n params: this.$route.params,\n };\n }\n },\n },\n components: {\n DialogImportFile,\n ResidentItem,\n DialogMassiveInviteResidents,\n BuildingSelector,\n ApartmentSelector,\n ResidentDetailsEdit,\n },\n emits: ['update-list'],\n})\nexport default class EntrancePlantResidents extends Vue {\n apartmentSelected: ApartmentDTO | null = null;\n currentEntrancePlant!: EntrancePlantDetailDTO;\n isVisibleDialogImportFile: boolean = false;\n importedData: SingleLabelApartment[] = [];\n changingApartment = false;\n isVisibleMassiveInvite = false;\n backToText!: string;\n backLink!: {\n name: string;\n params: any;\n };\n selectedBuilding: BuildingDTO | null = null;\n tabSelectedIndex = 0;\n step = 0;\n\n get apartments() {\n return this.currentEntrancePlant.buildings![this.tabSelectedIndex]\n .apartments;\n }\n\n get buildingStructure() {\n if (this.selectedBuilding?.risers === undefined) return [];\n return loadRisersFloorsApartments(this.selectedBuilding);\n }\n\n get tabOptions() {\n let options: { name: string }[] = [];\n if (this.isBRFA) {\n this.buildingStructure.forEach((value) =>\n options.push({ name: value.riser.name! })\n );\n } else {\n this.currentEntrancePlant.buildings?.forEach((value) =>\n options.push({ name: value.name! })\n );\n }\n return options;\n }\n\n get isBRFA() {\n return (\n this.currentEntrancePlant.addressingType ===\n AddressingType.BuildingRiserFloorApartment\n );\n }\n\n get isCallingCode() {\n return (\n this.currentEntrancePlant.addressingType ===\n AddressingType.DirectCall_Alphanumeric ||\n this.currentEntrancePlant.addressingType ===\n AddressingType.DirectCall_NumbersOnly\n );\n }\n\n mounted() {\n this.resetState();\n this.handleTabClick({ index: 0 });\n }\n\n resetState() {\n this.apartmentSelected = null;\n this.selectedBuilding = null;\n this.tabSelectedIndex = 0;\n this.step = 0;\n }\n\n handleClick() {\n if (this.isBRFA && this.step != 0) {\n this.resetState();\n } else {\n this.$router.push({\n name: 'page-entranceplant-dashboard',\n params: this.$route.params,\n });\n }\n }\n\n showApartmentDetail(apartment: ApartmentDTO | null) {\n this.changingApartment = true;\n this.apartmentSelected = apartment;\n\n setTimeout(() => {\n this.changingApartment = false;\n }, 300);\n }\n\n toggleMassiveInvitation() {\n this.isVisibleMassiveInvite = !this.isVisibleMassiveInvite;\n }\n\n triggerFilePicker() {\n const input = document.getElementById('fileInput') as HTMLInputElement;\n input.value = '';\n input.click();\n }\n\n async onFileSelected(event: Event): Promise {\n this.apartmentSelected = null;\n this.$store.dispatch('SET_APP_LOADING', true);\n const input = event.target as HTMLInputElement;\n if (!input.files || input.files.length === 0) {\n this.errorToast();\n console.error('No file selected!');\n return;\n }\n\n const file = input.files[0];\n if (!this.fileIsCsv(file)) {\n this.errorToast();\n console.error('File is not a CSV!');\n return;\n }\n const reader = new FileReader();\n\n reader.onload = async (e: ProgressEvent) => {\n let text = e.target?.result;\n if (typeof text !== 'string') {\n console.error('Failed to read file as text!');\n return;\n } else {\n if (!text.includes(',')) text = text.replaceAll(';', ',');\n const data = await processCsvData(text);\n if (data.length === 0) {\n console.error('Failed to parse CSV data!');\n this.errorToast();\n return;\n }\n this.importedData = data;\n this.isVisibleDialogImportFile = true;\n this.$store.dispatch('SET_APP_LOADING', false);\n }\n };\n\n reader.onerror = (e) => {\n this.errorToast();\n console.error('Failed to read file!', e);\n };\n reader.readAsText(file); // Legge il contenuto del file come stringa\n }\n\n errorToast() {\n this.$toast.add({\n severity: 'error',\n summary: this.$t('importFile.error'),\n closable: true,\n life: 6000,\n });\n }\n\n fileIsCsv(file: File) {\n return (\n (file.type === 'text/csv' || file.type === 'application/vnd.ms-excel') &&\n file.name.endsWith('.csv')\n );\n }\n\n handleCloseDialog() {\n this.importedData = [];\n this.isVisibleDialogImportFile = false;\n }\n\n async overwrite(res: BuildingImportDto) {\n try {\n this.$store.dispatch(SET_APP_LOADING, true);\n this.importedData = [];\n this.isVisibleDialogImportFile = false;\n await plantsClient.import(this.currentEntrancePlant.desktopId!, res);\n const plant = await plantsClient.entranceplantGET(\n this.currentEntrancePlant.desktopId!,\n undefined\n );\n this.$store.dispatch(SET_SELECTED_ENTRANCE_PLANT, plant);\n } catch (error) {\n this.$toast.add({\n severity: 'error',\n summary: this.$t('general.operationError'),\n closable: true,\n life: 6000,\n });\n } finally {\n this.$store.dispatch(SET_APP_LOADING, false);\n }\n }\n\n async onExportClick() {\n if (!this.currentEntrancePlant.desktopId) return;\n try {\n this.$store.dispatch(SET_APP_LOADING, true);\n const plant = await plantsClient.csv(\n this.currentEntrancePlant.desktopId,\n undefined\n );\n if (plant.data) {\n const url = window.URL.createObjectURL(new Blob([plant.data]));\n const link = document.createElement('a');\n link.href = url;\n const filename =\n this.currentEntrancePlant.name?.trim().replaceAll(' ', '_') + '.csv';\n link.setAttribute('download', filename);\n document.body.appendChild(link);\n link.click();\n link.parentNode!.removeChild(link);\n }\n } catch (error) {\n switch (error.status) {\n case 423:\n this.$router.push({\n name: 'page-plants-hub',\n });\n break;\n }\n console.log(error);\n } finally {\n this.$store.dispatch(SET_APP_LOADING, false);\n }\n }\n\n handleTabClick(event: { index: number }) {\n this.apartmentSelected = null;\n this.tabSelectedIndex = event.index;\n }\n\n handleUpdateList() {\n this.$emit('update-list');\n\n const updatedApartment = this.currentEntrancePlant\n .buildings!.flatMap((b) => b.apartments || [])\n .find((a) => a.apartmentId === this.apartmentSelected?.apartmentId);\n\n if (updatedApartment) {\n this.apartmentSelected = updatedApartment;\n } else {\n this.apartmentSelected = null;\n }\n }\n\n selectBuilding(e: BuildingDTO) {\n this.selectedBuilding = e;\n this.step = 1;\n }\n\n selectApartment(e: ApartmentDTO) {\n this.apartmentSelected = e;\n }\n}\n","import { render } from \"./EntrancePlantResidents.vue?vue&type=template&id=fe07bfec&ts=true\"\nimport script from \"./EntrancePlantResidents.ts?vue&type=script&lang=ts\"\nexport * from \"./EntrancePlantResidents.ts?vue&type=script&lang=ts\"\n\nimport \"./EntrancePlantResidents.scss?vue&type=style&index=0&lang=scss\"\n\nimport exportComponent from \"/home/vsts/work/1/s/Frontend/node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__"],"sourceRoot":""}