PageSourceSearch

https://connections.nationalgrid.co.uk/public/javascripts/angular.WIMS.js?585.Connections.20260817.24402.1.b

js nationalgrid.co.uk collected 2026-09-24 09:01:32 UTC 6,085 bytes, 12 lines download raw bytes

1angular.module("WIMS",["wpd"]).controller("WIMSController",["$scope","$requester","$sce","$window","$element","$filter","vexAccessibility","vexNgTemplate",function($scope,$requester,$sce,$window,$element,$filter,vexAccessibility,vexNgTemplate){let vm=this;var json=$requester({postcodeSearch:"WIMSFront.postcodeLookup_JSON",addressCollect:"WIMSFront.addressCollect_JSON",mpanPrefixLookup:"WIMSFront.mpanPrefixLookup_JSON",updateEndpoint:"WIMSFront.updateEndpoint_JSON"});json.setLoader({load:function(){vm.wimsLoading=
2true},clear:function(){vm.wimsLoading=false}});vm.trustAsHtml=function(input){return $sce.trustAsHtml(input)};vm.postCode="";vm.selectedAddressID="";vm.addressLookupList=[];vm.addressOptions=[];vm.dnoInfo={};vm.isWPD=false;vm.steps={initial:1,searched:2,selected:3};vm.step=vm.steps.initial;vm.viewDataConsent=false;vm.viewSupplierInfo=false;vm.postcodeSearchFormCtrl=null;vm.popupFormCtrl=null;vm.disablePostcodeField=false;var _popupFormTemplateName="";var _vexDialogInstance=null;vm.init=function(popupFormTemplateName){_popupFormTemplateName=
3popupFormTemplateName};vm.reset=function(){_vexDialogInstance&&vex.close(_vexDialogInstance);vm.isWPD=false;vm.step=vm.steps.initial;vm.addressLookupList=[];vm.addressOptions=[];vm.dnoInfo={};vm.selectedAddressID="";vm.postCode="";vm.viewDataConsent=false;vm.viewSupplierInfo=false;vm.disablePostcodeField=false;vm.clearMpanFields();if(vm.postcodeSearchFormCtrl){vm.postcodeSearchFormCtrl.$setPristine();vm.postcodeSearchFormCtrl.$setUntouched()}if(vm.popupFormCtrl){vm.popupFormCtrl.$setPristine();vm.popupFormCtrl.$setUntouched()}};
4vm.createAddressString=function(addressObj,separator){var ret="";separator=separator||", ";if(addressObj){for(var i=1;i<=9;i++){var addition=$filter("smartCapitalize")(addressObj["addressline"+i]||"");if(addition)ret+=addition+(i>=5?separator:" ")}ret+=addressObj["postcode"]?(ret.endsWith(separator)?"":separator)+addressObj["postcode"]:""}return ret};vm.postcodeSearch=function(callbackFn,noVex){vm.postCode=vm.postCode.toUpperCase();if(vm.postcodeSearchFormCtrl&&vm.postcodeSearchFormCtrl.$valid)json.postcodeSearch({postcode:vm.postCode},
5function(response){if(response&&response.success){vm.step=vm.steps.searched;vm.isWPD=response.isWPD;if(response.isWPD){vm.addressLookupList=response.results||[];vm.addressOptions=[{label:"-Select address-"}];vm.addressLookupList.forEach(function(address){vm.addressOptions.push({value:address.TempID,label:vm.createAddressString(address)})});const collator=new Intl.Collator("en",{numeric:true,sensitivity:"accent"});vm.addressOptions.sort((a,b)=>collator.compare(a.label,b.label))}else vm.dnoInfo=response.dnos;
6!noVex&&vm.openDialog()}else{vm.step=vm.steps.searched;!noVex&&vm.openDialog()}callbackFn&&callbackFn(response,vm.postCode,vm.addressLookupList,vm.addressOptions)})};vm.getChosenAddress=function(addressTempId){if(vm.addressLookupList&&addressTempId)return vm.addressLookupList.find(function(addressObj){return addressObj&&addressObj.TempID===addressTempId});return null};var backgroundElements=["header","footer","section",".breadcrumb-container",".zopim","#maincontent",".btn","button","a",".progress__item",
7"#wpd-main-navigation-wrapper","input","select","iframe"];var hideBackgroundElements=function(item,index){var tag=angular.element(document).find(item);tag.attr("aria-hidden",true);tag.attr("tabindex",-1)};var showBackgroundElements=function(item,index){var tag=angular.element(document).find(item);tag.attr("aria-hidden",false);tag.attr("tabindex",0)};vm.openDialog=function(){var vexDialogSettings={overlayClosesOnClick:false,buttons:[],contentClassName:"wpd-connections-wims-lookup-tool__popup wpd-connections-wims-lookup-tool__popup--wrapper u-1-of-1",
8afterOpen:function(){backgroundElements.forEach(hideBackgroundElements);var elementsToIndex=[".dialog-heading",".form",".cms-content",".vex-dialog-button-secondary"];vexAccessibility.openVex(backgroundElements,elementsToIndex)},afterClose:function(){backgroundElements.forEach(showBackgroundElements);vexAccessibility.closeVex(backgroundElements)}};vexNgTemplate.setNgTemplate(_popupFormTemplateName,vexDialogSettings,$scope,true).then(function(newSettings){_vexDialogInstance&&vex.close(_vexDialogInstance);
9_vexDialogInstance=vex.dialog.open(newSettings)},function(oldSettings){console.error("Something went very wrong...")})};vm.collectAddressInfo=function(){if(vm.popupFormCtrl&&vm.popupFormCtrl.$valid)json.addressCollect({tempID:vm.selectedAddressID,postcode:vm.postCode},function(response){vm.supplierInfo=null;vm.checkWIMS=false;vm.step=vm.steps.selected;if(response)if(response.success){vm.supplierInfo=response.supplierInfo;vm.clearMpanFields();let _mpanPrefix=vm.getMPANPrefix(response.supplierInfo.mpancore);
10vm.checkMPANPrefix(_mpanPrefix,function(response){if(response&&response.success){if(vm.isWPDCheck==false){vm.checkWIMS=true;json.updateEndpoint({showSupplier:false,supplierInfo:vm.supplierInfo},function(responseIDNO){})}}else vm.supplierInfo=null})}})};vm.toggleSupplierInfo=function(){vm.viewSupplierInfo=!vm.viewSupplierInfo;json.updateEndpoint({showSupplier:true,supplierInfo:vm.supplierInfo},function(responseIDNO){})};vm.checkIsDNO=function(dnoName,companyName){var isDNO=false;
10if(dnoName&&companyName){dnoName=
11dnoName.replace(/\s/g,"").toLowerCase();companyName=companyName.replace(/\s/g,"").toLowerCase();if(dnoName==companyName)isDNO=true}return isDNO};vm.checkMPANPrefix=function(mpanPrefix,callback){json.mpanPrefixLookup({mpanPrefix:mpanPrefix},function(response){vm.isWPDCheck=response.wpd;vm.dnoCheck=response.dno;vm.prefixNo=response.prefixNo;vm.companyName=response.companyName;vm.companyPhoneNumber=response.companyPhoneNumber;vm.error=response.error;vm.isDNO=vm.checkIsDNO(vm.dnoCheck,vm.companyName);
12callback&&callback(response)})};vm.clearMpanFields=function(){if(vm.isWPDCheck!=null){vm.isWPDCheck=null;vm.dnoCheck=null;vm.prefixNo=null;vm.companyName=null;vm.companyPhoneNumber=null;vm.error=null;vm.checkWIMS=null}};vm.getMPANPrefix=function(mpan){mpan.toString();mpanPrefix=mpan.substring(0,2);return mpanPrefix}}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.