{"version":3,"file":"AddressModal-legacy.Bpc5uOIS.js","sources":["../../../../components/SettingsPhone.vue","../../../../composables/usePAF.js","../../../../components/AddressModal.vue"],"sourcesContent":["\n\n\n","// Adapted from https://github.com/AllenJB/PafUtils.\n\n/**\n * Assemble the address lines (excluding post town and post code) according to the rule laid out by Royal Mail.\n * The primary reference for these rules is the Royal Mail programmers guide. In some cases (particularly those\n * not covered by the programmers guide), the layout used by the RM online address finder has been followed.\n **/\nexport function constructAddress(\n udprn,\n postcode,\n postTown,\n dependentLocality,\n doubleDependentLocality,\n thoroughfare,\n dependentThoroughfare,\n buildingNumber,\n buildingName,\n subBuildingName,\n poBox,\n departmentName,\n organizationName,\n postcodeType,\n suOrganizationIndicator,\n deliveryPointSuffix\n) {\n let processed = false\n let processingError = false\n const addressLines = []\n let nextLinePrefix = null\n\n if (buildingNumber === 0) {\n buildingNumber = null\n }\n\n // Exception 4 regex: Any of the specified prefixes followed by either a number with an alpha suffix or a numeric range\n const specialPrefixes = [\n 'Back of',\n 'Block',\n 'Blocks',\n 'Building',\n 'Maisonette',\n 'Maisonettes',\n 'Rear of',\n 'Shop',\n 'Shops',\n 'Stall',\n 'Stalls',\n 'Suite',\n 'Suites',\n 'Unit',\n 'Units',\n ]\n\n const ex4Regex = new RegExp(\n '/^(' +\n specialPrefixes.join('|') +\n ')\\\\s([0-9]+[a-zA-Z]+|[0-9]+\\\\-[0-9]+|[a-zA-Z])$/'\n )\n\n // Do we need to split the building name - see Table 27c / 27d\n if (buildingName && !buildingNumber) {\n if (\n buildingName.match(/\\s[0-9]+[a-zA-Z]+$/) ||\n buildingName.match(/\\s[0-9]+-[0-9]+$/)\n ) {\n if (!buildingName.match(ex4Regex)) {\n const parts = buildingName.split(' ')\n buildingNumber = parts.pop()\n buildingName = parts.join(' ')\n }\n }\n }\n // Table 19, note b: If an organization name is present, it should appear on the first address line\n if (organizationName) {\n addressLines.push(organizationName)\n }\n // Table 19, note c: If a department name is present, it should appear on the second line (after organization name)\n if (departmentName) {\n addressLines.push(departmentName)\n }\n // Table 19, note d: If a PO Box is present, it should appear on the first address line after any organization / dept. name\n // The PO Box number MUST be preceded by 'PO Box'\n if (poBox) {\n addressLines.push('PO Box ' + poBox)\n }\n nextLinePrefix = null\n // Rule 1 - Organisation name only\n if (!subBuildingName && !buildingName && buildingNumber) {\n if (organizationName) {\n processed = true\n // No actual manipulation code as the organization name is handled above\n }\n }\n // The following code is based on Table 20\n // Rule 2 - Building number only\n if (!subBuildingName && !buildingName && buildingNumber) {\n processed = true\n nextLinePrefix = buildingNumber + ' '\n }\n // Rule 3 - Building Name only\n if (!subBuildingName && buildingName && !buildingNumber) {\n processed = true\n // Exceptions:\n // i) First and last characters of the building name are numeric (eg. '1to1' or '100:1')\n // ii) First and penultimate characters are numeric, last character is alphabetic\n // iii) Building name has only 1 character\n if (\n buildingName.match(/^[0-9].*[0-9]$/) ||\n buildingName.match(/^[0-9].*[0-9][a-zA-Z]$/) ||\n buildingName.length === 1\n ) {\n if (nextLinePrefix !== null) {\n processingError = true\n }\n nextLinePrefix = buildingName\n if (buildingName.length === 1 && isNaN(buildingName)) {\n nextLinePrefix += ','\n }\n nextLinePrefix += ' '\n } else {\n addressLines.push(buildingName)\n }\n }\n // Rule 4 - Building Name & Building Number\n if (!subBuildingName && buildingName && buildingNumber) {\n processed = true\n addressLines.push(buildingName)\n nextLinePrefix = buildingNumber + ' '\n }\n // Rule 5 - Sub building name & Building Number\n // The programmers guide talks about an exception involving the 'concatenation indicator',\n // But as far as I can see this field doesn't exist in the CSV format files\n if (subBuildingName && !buildingName && buildingNumber) {\n processed = true\n addressLines.push(subBuildingName)\n nextLinePrefix = buildingNumber + ' '\n }\n // Rule 6 - Sub Building Name & Building Name\n if (subBuildingName && buildingName && !buildingNumber) {\n processed = true\n let exceptionSubBuildingName = false\n // Exceptions:\n // i) First and last characters of the building name are numeric (eg. '1to1' or '100:1')\n // ii) First and penultimate characters are numeric, last character is alphabetic\n // iii) Building name has only 1 character\n if (\n subBuildingName.match(/^[0-9].*[0-9]$/) ||\n subBuildingName.match(/^[0-9].*[0-9][a-zA-Z]$/) ||\n subBuildingName.length === 1\n ) {\n exceptionSubBuildingName = true\n if (nextLinePrefix !== null) {\n processingError = true\n }\n nextLinePrefix = subBuildingName\n if (subBuildingName.length === 1 && isNaN(subBuildingName)) {\n nextLinePrefix += ','\n }\n nextLinePrefix += ' '\n } else {\n addressLines.push(subBuildingName)\n }\n // Exceptions:\n // i) First and last characters of the building name are numeric (eg. '1to1' or '100:1')\n // ii) First and penultimate characters are numeric, last character is alphabetic\n // iii) Building name has only 1 character\n if (\n buildingName.match(/^[0-9].*[0-9]$/) ||\n buildingName.match(/^[0-9].*[0-9][a-zA-Z]$/) ||\n buildingName.length === 1\n ) {\n if (nextLinePrefix?.length && !exceptionSubBuildingName) {\n addressLines.push(nextLinePrefix.trim())\n }\n nextLinePrefix = (nextLinePrefix?.trim() + ' ' + buildingName).trim()\n if (buildingName.length === 1 && isNaN(buildingName)) {\n nextLinePrefix += ','\n }\n nextLinePrefix += ' '\n } else {\n addressLines.push(\n (nextLinePrefix ? nextLinePrefix?.trim() + ' ' : '') + buildingName\n )\n nextLinePrefix = null\n }\n }\n // Rule 7 - Sub building name, building name & building number\n if (!(!subBuildingName || !buildingName || !buildingNumber)) {\n processed = true\n // Exceptions:\n // i) First and last characters of the building name are numeric (eg. '1to1' or '100:1')\n // ii) First and penultimate characters are numeric, last character is alphabetic\n // iii) Building name has only 1 character\n if (\n subBuildingName.match(/^[0-9].*[0-9]$/) ||\n subBuildingName.match(/^[0-9].*[0-9][a-zA-Z]$/) ||\n subBuildingName.length === 1\n ) {\n if (nextLinePrefix !== null) {\n processingError = true\n }\n nextLinePrefix = subBuildingName\n if (subBuildingName.length === 1 && isNaN(subBuildingName)) {\n nextLinePrefix += ','\n }\n nextLinePrefix += ' '\n } else {\n addressLines.push(\n (nextLinePrefix ? nextLinePrefix.trim() + ' ' : '') + subBuildingName\n )\n nextLinePrefix = null\n }\n addressLines.push(\n (nextLinePrefix ? nextLinePrefix.trim() + ' ' : '') + buildingName\n )\n nextLinePrefix = null\n nextLinePrefix =\n (nextLinePrefix ? nextLinePrefix.trim() + ' ' : '') + buildingNumber\n }\n // Rule C1 - Self-written rule: Sub-building name occurs, but no building name or number\n // This occurred in the Y14M09 update - 8350793 / EH12 5DD (15Gf Eglinton Crescent)\n // And was still the same on the Royal Mail Postcode Lookup website data as of 2014-10-21\n if (!buildingName && !buildingNumber && subBuildingName) {\n processed = true\n nextLinePrefix = subBuildingName\n }\n if (nextLinePrefix && nextLinePrefix.charAt(nextLinePrefix.length !== ' ')) {\n nextLinePrefix += ' '\n }\n // Dependent Thoroughfare\n if (dependentThoroughfare) {\n addressLines.push((nextLinePrefix || '') + dependentThoroughfare)\n nextLinePrefix = null\n }\n // Thoroughfare\n if (thoroughfare) {\n addressLines.push((nextLinePrefix || '') + thoroughfare)\n nextLinePrefix = null\n }\n // Double dependent locality\n if (doubleDependentLocality) {\n addressLines.push((nextLinePrefix || '') + doubleDependentLocality)\n nextLinePrefix = null\n }\n // Dependent locality\n if (dependentLocality) {\n addressLines.push((nextLinePrefix || '') + dependentLocality)\n nextLinePrefix = null\n }\n // Yup, apparently there's addresses in the database with no locality / thoroughfare. Just a number.\n // UDPRNs affected as of 2014-02-06: 2431986 and 328392\n if (nextLinePrefix !== null) {\n addressLines.push(nextLinePrefix)\n }\n // Send a notification to developers if an address was not processed by any of the above rules\n // (and should have been) or if we think there was an error in processing the address correctly\n // (because the RM programmers guide does not specify how to correctly handle the address encountered)\n if (!processed || processingError) {\n if (!(subBuildingName && buildingName && buildingNumber)) {\n if (processingError) {\n console.error(\n 'An address (with UDPRN: {udprn}) was probably processed incorrectly'\n )\n } else {\n console.error(\n 'An address (with UDPRN: {udprn}) was not processed by any rules'\n )\n }\n }\n }\n\n // EH additions.\n if (\n addressLines.length >= 2 &&\n addressLines[1].includes(addressLines[0] + ' ')\n ) {\n // House number which appears in the first line and the second line.\n addressLines.shift()\n }\n\n if (addressLines.length > 0) {\n addressLines[0] = addressLines[0].replace('PO Box Flat', 'Flat')\n addressLines[0] = addressLines[0].replace('PO Box ', '')\n }\n\n if (\n addressLines.length >= 3 &&\n addressLines[2].includes(addressLines[1] + ' ')\n ) {\n // House number which appears in the third line and the fourth line.\n addressLines.splice(1, 1)\n }\n\n return addressLines\n}\n\nexport function constructMultiLine(address) {\n if (!address) {\n return null\n }\n\n const delimiter = '\\n'\n const addressLines = constructAddress(\n address.id,\n address.postcode,\n address.posttown,\n address.dependentlocality,\n address.doubledependentlocality,\n address.thoroughfaredescriptor,\n address.dependentthoroughfaredescriptor,\n address.buildingnumber,\n address.buildingname,\n address.subbuildingname,\n address.pobox,\n address.departmentname,\n address.organizationname,\n address.postcodetype,\n address.suorganizationindicator,\n address.deliverypointsuffix\n )\n\n let ret =\n addressLines.join(delimiter) +\n delimiter +\n address.posttown +\n ' ' +\n address.postcode\n ret = ret.indexOf(', ') === 0 ? ret.substring(2) : ret\n\n return ret\n}\n\nexport function constructSingleLine(address) {\n let ret = constructMultiLine(address)\n\n if (ret) {\n ret = ret.replace(/\\n/g, ', ')\n }\n\n return ret\n}\n","\n\n"],"names":["_sfc_main","components","SpinButton","props","size","type","String","required","default","label","description","hideRemove","Boolean","autoSave","inputClass","setup","authStore","useAuthStore","computed","notMobile","_this$me","this","me","phone","startsWith","watch","savePhone","methods","callback","_this","_asyncToGenerator","_regeneratorRuntime","mark","_callee","wrap","_callee$","_context","prev","next","saveAndGet","stop","removePhone","_this2","_callee2","_callee2$","_context2","setTimeout","_hoisted_1","class","_hoisted_2","key","_createElementBlock","_createElementVNode","_createVNode","_component_b_form_group","$props","_withCtx","_component_b_input_group","_ctx","_createBlock","_component_b_form_input","modelValue","_cache","$event","placeholder","lazy","_normalizeClass","_createCommentVNode","_openBlock","_component_b_input_group_append","_component_SpinButton","ref","disabled","$options","variant","onHandle","_","_component_v_icon","icon","_createTextVNode","_ctx$me","_component_b_button","onClick","_hoisted_3","constructMultiLine","address","ret","udprn","postcode","postTown","dependentLocality","doubleDependentLocality","thoroughfare","dependentThoroughfare","buildingNumber","buildingName","subBuildingName","poBox","departmentName","organizationName","postcodeType","suOrganizationIndicator","deliveryPointSuffix","processed","processingError","addressLines","nextLinePrefix","ex4Regex","RegExp","join","match","parts","split","pop","push","length","isNaN","_nextLinePrefix","_nextLinePrefix2","_nextLinePrefix3","exceptionSubBuildingName","trim","charAt","console","error","includes","shift","replace","splice","constructAddress","id","posttown","dependentlocality","doubledependentlocality","thoroughfaredescriptor","dependentthoroughfaredescriptor","buildingnumber","buildingname","subbuildingname","pobox","departmentname","organizationname","postcodetype","suorganizationindicator","deliverypointsuffix","indexOf","substring","constructSingleLine","PostCode","choose","emits","addressStore","useAddressStore","_useModal","useModal","modal","hide","osmtile","attribution","data","showAdd","updatedInstructions","properties","selectedProperty","showMap","addresses","_this$addressStore","list","addressOptions","_this$addresses","forEach","value","text","propertyOptions","_this$addressStore2","singles","Object","values","singleline","selectedAddress","get","_this$me2","_this$addresses2","selected","settings","find","set","newValue","_this3","_callee3","_context3","selectedAddressObject","_this$addresses3","_this4","a","markerLatLng","lat","lng","instructions","_this$selectedAddress","newVal","selectFirst","_this$addresses5","_this5","_this$addresses4","sel","onShow","_this$addresses6","onHide","$emit","add","_this6","_callee4","_context4","pafid","sent","deleteIt","_this7","_callee5","_callee5$","_context5","delete","postcodeCleared","postcodeSelect","pc","_this8","_callee6","_callee6$","_context6","fetchProperties","saveInstructions","_this9","_callee7","_callee7$","_context7","update","addnew","chooseIt","updateMarker","val","_this10","_callee8","_callee8$","_context8","_hoisted_6","style","_hoisted_7","_hoisted_8","_hoisted_9","_hoisted_12","_hoisted_13","_hoisted_15","_component_b_modal","scrollable","title","alt","onShown","onHidden","_hoisted_4","_component_b_row","_component_b_col","cols","sm","_component_b_form_select","options","_hoisted_5","$data","_component_l_map","zoom","center","_component_l_tile_layer","url","$setup","_component_l_marker","draggable","_component_b_form_textarea","rows","_hoisted_10","_hoisted_11","_component_PostCode","focus","onSelected","onCleared","_hoisted_14","footer","_hoisted_16"],"mappings":"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"}