var __extends,tyler,Css;(function(n){var t;(function(n){var t,i;n.Search="esri/widgets/Search";n.Sketch="esri/widgets/Sketch";n.Home="esri/widgets/Home";n.Zoom="Zoom";n.Popup="Popup";n.Attribution="attribution";n.SearchResult="cssCustomWidgets/SearchResult";n.BasemapToggle="esri/widgets/BasemapToggle";n.BasemapGallery="esri/widgets/BasemapGallery";n.BasemapLayerList="esri/widgets/LayerList";n.DistanceMeasurement2D="esri/widgets/DistanceMeasurement2D";n.AreaMeasurement2D="esri/widgets/AreaMeasurement2D";n.MapInformation="cssCustomWidgets/MapInformation";n.SearchCompleteEvent="search-complete";n.SearchClearEvent="search-clear";n.SketchCreateEvent="create";n.SketchDeleteEvent="delete";n.SketchUpdateEvent="update";n.DetailClickedEvent="detail-clicked";n.DatePickerEvent="datepicker-changed";n.ApplyClicked="apply-clicked";n.SearchResultScroll="search-result-scroll";n.ExportClickedEvent="export-clicked";n.PopupTriggerAction="trigger-action";n.PopupApplyAction="popup-apply-action";n.PopupApplyButtonLabel="Apply";n.PopupAddButtonLabel="Add";n.PopupApplyShapeLabel="Apply with this shape";n.PopupApplyMultipleShapesLabel="Apply with these shapes";n.PopupAddShapeLabel="Add this shape";n.PopupAddMultipleShapesLabel="Add these shapes";n.PopupApplyTitle="Apply";n.PopupAddTitle="Add";n.CurrentLocationText="Current Location";n.WidgetSearchActiveMenuNoneValue="none";n.StartState="start";n.LoadingState="loading";n.ReadyState="ready";n.CompleteState="complete";n.ActiveState="active";n.CancelState="cancel";n.AddressSourceName="Address";n.ParcelSourceName="Parcels",function(n){n[n.MapViewPage=1]="MapViewPage";n[n.ApplicationMapViewPage=2]="ApplicationMapViewPage";n[n.RecordMapViewPage=3]="RecordMapViewPage"}(t=n.MapPage||(n.MapPage={})),function(n){n[n.All=1]="All";n[n.Permit=2]="Permit";n[n.Plan=3]="Plan";n[n.Inspection=4]="Inspection";n[n.CodeCase=5]="CodeCase";n[n.Request=6]="Request"}(i=n.MapSearchModule||(n.MapSearchModule={}))})(t=n.Map||(n.Map={}))})(Css||(Css={})),function(n){var t;(function(n){"use strict";var t=function(){function n(){}return n}();n.MapLayerInfo=t})(t=n.Map||(n.Map={}))}(Css||(Css={})),function(n){var t;(function(){"use strict"})(t=n.Widget||(n.Widget={}))}(Css||(Css={}));__extends=this&&this.__extends||function(){var n=function(t,i){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,t){n.__proto__=t}||function(n,t){for(var i in t)t.hasOwnProperty(i)&&(n[i]=t[i])},n(t,i)};return function(t,i){function r(){this.constructor=t}n(t,i);t.prototype=i===null?Object.create(i):(r.prototype=i.prototype,new r)}}(),function(n){var t;(function(n){"use strict";var t='<div id="map-viewer">    \n           <esri-map-view map="mapController.map" on-create="mapController.onViewCreated">\n           <\/esri-map-view>   \n        <\/div>',i=function(n){function i(){var i=n.call(this)||this;return i.scope={controllerCreated:"=",loadMap:"=",mapPage:"@",mapMode:"=?",subscribeController:"=",disableZoom:"=",spatialCollection:"=",geometryData:"="},i.replace=!0,i.template=t,i.restrict="E",i.controllerAs="mapController",i.bindToController=!0,i.controller="cssMapViewerController",i.link=function(n,t,i,r){r.mapElement=t;var u=n.$watch(function(){return r.loadMap},function(n){(n||n===undefined)&&r.initialize()}),f=r;n.$on("$destroy",function(){u();f.widgetEventService.cleanUp()})},i}return __extends(i,n),i}(app.Directives.Core.BaseDirective);n.CssMapViewer=i})(t=n.Map||(n.Map={}))}(Css||(Css={})),function(n){var t;(function(t){"use strict";var i=function(){function t(t,i,r,u){var f=this;this.$q=t;this.esriLoader=i;this.mapConfigurationService=r;this.globalsService=u;this.getMapNotConfigurationText=function(n){n.mapNotConfiguredHeaderText="Map Not Configured";n.mapNotConfiguredSubText="There is no GIS map configured for your user log in. Please contact your System Administrator to resolve this issue.";n.mapNotConfiguredAria="Map Not Configured. There is no GIS map configured for your user log in. Please contact your System Administrator to resolve this issue."};this.getMapNotLoadedText=function(n){n.mapNotLoadedHeaderText="Map Configuration Seems Incorrect";n.mapNotLoadedSubText="Please contact your System Administrator to resolve this issue.";n.mapNotLoadedAria="Map Configuration Seems Incorrect. Please contact your System Administrator to resolve this issue."};this.loadGraphicsAndZoomToIt=function(n,t){var i=f.$q.defer(),r=f;return n.when(function(u){var o,e,f;n.popup.visible=!1;o=u.map;e=o.allLayers;e!=null&&(f=e.find(function(n){return n.title=="Graphics"}),f!=null&&f.when(function(){f.removeAll();n.graphics.removeAll();r.draw(n,f,t).then(function(t){t!=null&&(n.center.x=t.center.x,n.center.y=t.center.y,n.extent.center.x=t.center.x,n.extent.center.y=t.center.y,n.extent.xmax=t.xmax,n.extent.xmin=t.xmin,n.extent.ymax=t.ymax,n.extent.ymin=t.ymin);var r=!0;setTimeout(function(){r&&i.reject("The zooming operation has timed out.")},2500);n.goTo(n.extent).then(function(){r=!1;i.resolve(n.extent)})})}))}),i.promise};this.draw=function(n,t,i){var r=f.$q.defer();return f.esriLoader.require(["esri/Graphic","esri/geometry/Point","esri/geometry/Polyline","esri/geometry/Polygon"],function(u,f,e,o){var s=new u,h,c,l,a,v,y;i.x?(h=new f,h.x=i.x,h.y=i.y,h.spatialReference=i.spatialReference,c={type:"simple-marker",color:[226,119,40],outline:{color:[255,255,255],width:2}},s.geometry=h,s.symbol=c,n.center.x=s.geometry.x,n.center.y=s.geometry.y,n.extent.center.x=s.geometry.x,n.extent.center.y=s.geometry.y,n.extent.xmax=s.geometry.x+50,n.extent.xmin=s.geometry.x-50,n.extent.ymax=s.geometry.y+50,n.extent.ymin=s.geometry.y-50,t.graphics.add(s),n.graphics.add(s),r.resolve(n.extent)):i.rings?(l=new o({rings:i.rings,spatialReference:i.spatialReference}),a={type:"simple-fill",outline:{color:[226,119,40],width:1}},s.geometry=l,s.symbol=a,t.graphics.add(s),n.graphics.add(s),r.resolve(s.geometry.extent)):(v=new e({paths:i.paths,spatialReference:i.spatialReference}),y={type:"simple-line",color:[226,119,40],width:1},s.geometry=v,s.symbol=y,t.graphics.add(s),n.graphics.add(s),r.resolve(s.geometry.extent))}),r.promise};this.loadPolygon=function(n,t,i){var r=f.$q.defer();return f.esriLoader.require(["esri/Graphic"],function(u){var f=new u({geometry:i,symbol:{type:"simple-fill",color:[227,139,79,.7],outline:{color:[226,119,40],width:2}}});t.graphics.add(f);n.graphics.add(f);r.resolve(f.geometry.extent)}),r.promise};this.setupMap=function(n){var t=f.$q.defer();return f.mapConfigurationService.getConfiguration(function(i){n.mapConfig=i;i.ArcGisUseAuthentication?f.getAuthentication(i,n).then(function(){n.mapLoading=!0;f.initMap(n,t)},function(i){n.mapNotConfigured=!0;t.reject(i)}):(n.mapLoading=!0,f.initMap(n,t))}),t.promise};this.getMapWidgetManagement=function(n){var t=f.$q.defer();return n.mapWidgetManagement===null||n.mapWidgetManagement===undefined?f.mapConfigurationService.getTenantMapWidgetManagementSettings(function(i){n.mapWidgetManagement=i;t.resolve()}):t.resolve(),t.promise};this.getAuthentication=function(n,t){var i=f.$q.defer();return f.esriLoader.require(["esri/identity/IdentityManager","dojo/json"],function(r,u){var e=4320,o=t.geometryData?!0:!1;f.mapConfigurationService.getEsriToken(o,function(t){var f=u.parse(t.toString()),h=(new Date).getTime(),s=h+e*6e4;n.ArcGisIsOnline?(r.registerToken({server:"https://www.arcgis.com/sharing/rest",ssl:!0,token:f.token,expires:s}),i.resolve()):r.checkSignInStatus(n.ArcGisServer).then(function(n){var t={expires:s,server:n.server,ssl:n.ssl,token:n.token,userId:n.userId};r.registerToken(t);i.resolve()},function(){var t,c,l;r.initialize({serverInfos:[],credentials:[]});r.destroyCredentials();t={server:n.ArcGisServer,tokenServiceUrl:o?n.ArcGisSpatialCollectionTokenServiceUrl:n.ArcGisTokenServiceUrl,hasPortal:n.ArcGisHasPortal};r.registerServers([t]);c={expires:s,server:n.ArcGisServer,ssl:f.ssl,token:f.token,userId:n.ArcGisCredentialsUserId};r.registerToken(c);l={serverInfos:[t],credentials:[{userId:n.ArcGisCredentialsUserId,server:n.ArcGisServer,token:f.token,expires:s,validity:e,ssl:f.ssl,creationTime:h,scope:n.ArcGisCredentialsScope,resources:[n.ArcGisCredentialsResources]}]};r.initialize(u.stringify(l));i.resolve()})})}),i.promise};this.initMap=function(n,t){f.getMapWidgetManagement(n).then(function(){n.mapConfig.ArcGisIsOnline?f.initWebMap(n,t):f.getMapServiceInfo(n).then(function(i){n.mapServiceInfo=i.data;f.initServerMap(n,t)},function(n){t.reject(n)})})};this.initServerMap=function(t,i){f.esriLoader.require(["esri/Map","esri/views/MapView","esri/layers/Layer","esri/layers/GraphicsLayer","esri/layers/FeatureLayer","esri/Basemap"],function(r,u,e,o,s,h){var c=new r,v=t.mapWidgetManagement.filter(function(i){return i.Visible&&i.MapPageId===+t.mapPage&&(i.MapWidget.WidgetName===n.Map.BasemapToggle||i.MapWidget.WidgetName===n.Map.BasemapGallery)}),l,a;v&&v.length>0&&(c.basemap=h.fromId("topo-vector"));l=null;a=[];a.push(f.addMapLayer(t,t.mapConfig.MapLayerUrl,e));f.$q.all(a).then(function(n){var f=new u({map:c,zoom:8}),r;n[0].layer.fullExtent=t.mapServiceInfo.initialExtent;r=new s({url:t.mapConfig.MapLayerUrl.replace(/\/$/,"")+"/"+t.mapConfig.ArcGisParcelLayerNumber});r.labelsVisible=!1;l=new o({title:"Graphics",GRlayer:n[0].layer,view:f});c.layers.addMany([n[0].layer,r,l]);t.mapLoading=!1;i.resolve()},function(n){t.mapNotLoaded=!0;t.mapLoading=!1;i.reject(n)});t.map=c})};this.initWebMap=function(n,t){f.esriLoader.require(["esri/WebMap","esri/portal/PortalItem","esri/layers/GraphicsLayer","esri/widgets/Search"],function(i,r,u){var e,o,s;n.isWebMap=!0;e=new i;o=null;s=new r({id:n.mapConfig.ArcGisMapOnlineId});e.portalItem=s;e.load().then(function(){return e.basemap.load()}).then(function(){var n=[],t;return o=new u({title:"Graphics"}),e.layers.add(o),t=e.allLayers,angular.forEach(t,function(t){n.push(f.loadLayer(t))}),f.$q.all(n)}).then(function(){n.mapLoading=!1;t.resolve()}).catch(function(i){console.error(i);n.mapNotLoaded=!0;n.mapLoading=!1;t.reject(i)});n.map=e})};this.addMapLayer=function(n,t,i){var r=f.$q.defer();return i.fromArcGISServerUrl({url:t}).then(function(n){n.load().then(function(){r.resolve({layer:n})})},function(t){n.mapNotLoaded=!0;n.mapLoading=!1;r.reject(t)}),r.promise};this.addArcGisOnlineLayer=function(n,t,i){var r=f.$q.defer();return f.esriLoader.require(["esri/portal/PortalItem"],function(u){var f=new u({id:t});i.fromPortalItem({portalItem:f}).then(function(n){n.load().then(function(){r.resolve({layer:n})})},function(t){n.mapNotLoaded=!0;n.mapLoading=!1;r.reject(t)})}),r.promise};this.loadLayer=function(n){var t=f.$q.defer();return n.load().then(function(){t.resolve()}),t.promise};this.getMapServiceInfo=function(n){var t=f.$q.defer();return f.esriLoader.require(["esri/request","esri/config","esri/core/urlUtils"],function(i){i(n.mapConfig.MapLayerUrl.replace(/\/$/,"")+"/?f=pjson",{responseType:"json"}).then(function(n){t.resolve(n)},function(i){n.mapNotLoaded=!0;n.mapLoading=!1;t.reject(i)})}),t.promise};this.getMapSource=function(t){var i=f.$q.defer();return f.esriLoader.require(["esri/layers/FeatureLayer"],function(r){var u=new r({url:t.mapConfig.MapLayerUrl.replace(/\/$/,"")+"/"+t.mapConfig.ArcGisParcelLayerNumber}),f=new r({url:t.mapConfig.MapLayerUrl.replace(/\/$/,"")+"/"+t.mapConfig.ArcGisAddressLayerNumber}),e=[{layer:f,searchFields:[t.mapConfig.ArcGisAddressField],suggestionTemplate:"{"+t.mapConfig.ArcGisAddressField+"}",exactMatch:!1,outFields:["*"],maxResults:1e3,name:n.Map.AddressSourceName,placeholder:"example: 100 Main Street"},{layer:u,searchFields:[t.mapConfig.ArcGisParcelPinField],suggestionTemplate:"{"+t.mapConfig.ArcGisParcelPinField+"}",exactMatch:!0,outFields:["*"],placeholder:"example: 001-073-001",maxResults:1e3,name:n.Map.ParcelSourceName}];i.resolve(e)}),i.promise}}return t}();t.CssMapHelperService=i})(t=n.Map||(n.Map={}))}(Css||(Css={})),function(n){var t;(function(t){"use strict";var i=n.Map.MapSearchModule,r=function(){function r(i,r,u,f,e,o,s,h,c){var l=this;this.esriLoader=i;this.$q=r;this.enerGovMapService=u;this.mapConfigurationService=f;this.cssMapHelperService=e;this.tenantService=o;this.globalService=s;this.resourceService=h;this.enerGovCommonForExportService=c;this.publishEvents=[];this.canOverridePopupData=!1;this.updateInProgress=!1;this.useRelationalLiveLink=!1;this.addressRelationshipField="";this.parcelRelationshipField="";this.deletedShape=[];this.isDeleteBtnClicked=!1;this.getMapPoint=function(n,t,i){var r=null;return n=="point"?r=i[t-1].geometry:n=="polyline"?r=i[t-1].geometry.extent.center:n=="polygon"&&(r=i[t-1].geometry.centroid),r};this.loadPopupContentForDetailClickEvent=function(i,r,u,f,e){var h="",a={address:u.address,parcel:u.parcel,owner:u.owner,range:u.range,section:u.section,township:u.township,attributes:u.attributes,X:u.X,Y:u.Y,isSelected:!0},c={result:null},s=i.popup.actions.find(function(n){return n.id=="popup-apply-action"}),o;s&&(s.title=f==t.MapPage.MapViewPage?n.Map.PopupApplyButtonLabel:t.PopupAddButtonLabel,s.visible=!0,c.result=[a],e.widget.viewModel.popupLocationData=c,h=l.getMapPopupContent(u.Y.toString(),u.X.toString(),u.parcel,u.owner),i.popup.content=h,i.popup.title=l.getPopupTitleFormat(u.address),e.widget.hideDetail=f==t.MapPage.MapViewPage?!1:!0,o=r.MapView.ui._components.find(function(t){return t.widget.label==n.Map.Popup}),o!==null&&o!=undefined&&o.widget.viewModel.popupLocationData!==null&&o.widget.viewModel.popupLocationData!=undefined&&(o.widget.viewModel.popupLocationData=null))};this.mapConfigurationService.getConfiguration(function(n){l.mapConfig=n});this.mapConfigurationService.getArcGisMappings(function(n){l.arcGisMappingFields=n;n.forEach(function(n){switch(n.Field){case"RelationshipColumn":l.addressRelationshipField=n.ArcGisField;l.useRelationalLiveLink=!0;break;case"ParcelRelationshipColumn":l.parcelRelationshipField=n.ArcGisField;break;case"Range":l.parcelRangeArcGisField=n.ArcGisField;break;case"Section":l.parcelSectionArcGisField=n.ArcGisField;break;case"Township":l.parcelTownshipArcGisField=n.ArcGisField}})});this.resourceService.getSpecificKeyValues("SelfService.EnerGov.Resources.Map.MapResource",["LocationStepMapHeaderText","AddButtonText","ApplyButtonText","MainMapHeaderText","ExportRecordsText","ExportFileNameInputText","ExportButtonText","ViewRecordsText","SelectAllText","ResultsText","LocationsText"],function(n){l.mainMapWidgetHeader=n.MainMapHeaderText;l.addLocationStepMapWidgetHeader=n.LocationStepMapHeaderText;l.addButtonText=n.AddButtonText;l.applyButtonText=n.ApplyButtonText;l.exportRecordsText=n.ExportRecordsText;l.exportFileNameInputText=n.ExportFileNameInputText;l.exportButtonText=n.ExportButtonText;l.viewRecordsText=n.ViewRecordsText;l.selectAllText=n.SelectAllText;l.resultsText=n.ResultsText;l.locationsText=n.LocationsText})}return r.prototype.publish=function(n,t,i,r){var u=n.ui._components.find(function(n){return n.widget.label==t}),f=this.getPublishEvent(n,t,i,r);u.widget.on(i,function(n){f.Subject.onNext(n)})},r.prototype.subscribe=function(i,r,u,f){var o=this,v=this.publishEvents.filter(function(n){return n.WidgetName===r&&n.EventName===u});if(v.length>0){var c=v[0],e=c.MapView.ui._components.find(function(n){return n.widget.label==i}),h=c.MapView.ui._components.find(function(n){return n.widget.label==c.WidgetName}),s=c.MapView,a=[],l=null;c.Subject.subscribe(function(r){var d,rt,p,ut,st,ft,nt,et,k;switch(i){case n.Map.Popup:if(h.widget.view.popup.visible=!1,h.widget.view.graphics.removeAll(),h.widget.popupEnabled=e!=null&&r&&r.results!=null&&r.numResults==1,a.forEach(function(n){return n.remove()}),a.length=0,u===n.Map.SearchCompleteEvent&&r.numResults==1){var ot=r.results,w=ot.filter(function(n){return n.results.length>0})[0],y=w.source.name===n.Map.AddressSourceName?w.results[0].feature.geometry:w.results[0].feature.geometry.centroid,it={X:y.x,Y:y.y,InputSpatialReference:y.spatialReference.wkid,OutputSpatialReference:4326},g="",b="",v={address:null,parcel:null,owner:null,range:null,section:null,township:null,attributes:null,X:it.X,Y:it.Y,isSelected:!0},tt={result:null};o.enerGovMapService.projectPoint(it,function(i){var u=s.popup.actions.find(function(n){return n.id=="popup-apply-action"}),c,p,d;if(u&&(u.title=f==t.MapPage.MapViewPage?n.Map.PopupApplyButtonLabel:t.PopupAddButtonLabel,u.visible=!1),c=i.Y.toString(),p=i.X.toString(),w.source.name===n.Map.AddressSourceName)h.widget.popupEnabled=!1,b=w.results[0].feature.attributes[o.mapConfig.ArcGisAddressField],v.address=b,v.attributes=w.results[0].feature.attributes,d={X:y.x,Y:y.y,Wkid:y.spatialReference.wkid,AddressRelationshipValue:o.addressRelationshipField?v.attributes[o.addressRelationshipField]:""},o.enerGovMapService.searchForParcelData(null,d,function(n){var i=!1,r=n.Result.length>0?n.Result[0].ParcelNumber:"",f=n.Result.length>0?n.Result[0].ParcelOwner:"",t;v.parcel=r;v.owner=f;v.range=n.Result.length>0?n.Result[0].Range:"";v.section=n.Result.length>0?n.Result[0].Section:"";v.township=n.Result.length>0?n.Result[0].Township:"";tt.result=[v];e.widget.viewModel.popupLocationData=tt;g=o.getMapPopupContent(c,p,r,f);l=h.widget.view.popup.watch("visible",function(n){n===!0&&(h.widget.view.popup.title=o.getPopupTitleFormat(b),h.widget.view.popup.content=g,l.remove())});t={x:y.x,y:y.y,spatialReference:y.spatialReference};a.push(s.watch("updating",function(n){n||i||(i=!0,o.cssMapHelperService.loadGraphicsAndZoomToIt(s,t).then(function(){s.popup.visible=!0;u.visible=!0}).catch(function(){o.cssMapHelperService.loadGraphicsAndZoomToIt(s,t).then(function(){s.popup.visible=!0})}))}))});else{var it={X:y.x,Y:y.y,PageNumber:1,PageSize:1},r=w.results[0].feature.attributes,k=r[o.mapConfig.ArcGisParcelPinField],nt=r[o.mapConfig.ArcGisParcelOwnerField];o.mapConfigurationService.getAddressesFromParcel(it,function(n){b=n.length>0?n[0].Address:k;v.address=b;v.parcel=k;v.owner=nt;v.range=o.parcelRangeArcGisField?r[o.parcelRangeArcGisField]:null;v.section=o.parcelSectionArcGisField?r[o.parcelSectionArcGisField]:null;v.township=o.parcelTownshipArcGisField?r[o.parcelTownshipArcGisField]:null;v.attributes=n.length>0?n[0].Attributes:null;tt.result=[v];e.widget.viewModel.popupLocationData=tt;g=o.getMapPopupContent(c,p,k,nt);h.widget.view.popup.visible?(h.widget.view.popup.title=o.getPopupTitleFormat(b),h.widget.view.popup.content=g):l=h.widget.view.popup.watch("visible",function(n){n===!0&&(h.widget.view.popup.title=o.getPopupTitleFormat(b),h.widget.view.popup.content=g,l.remove())})})}})}break;case n.Map.SearchResult:if(u===n.Map.SearchResultScroll&&(e.widget.viewModel.set("state",n.Map.LoadingState),p=[],e.widget.viewModel.isLoading=!0,r.results&&o.searchByAddressAndParcel(r,p,e.widget.searchResults,e.widget),o.$q.all(p).then(function(){o.onResultsReady(e.widget.searchResults,e.widget).then(function(){e.widget.hideDetail=!0;e.widget.viewModel.set("state",n.Map.ReadyState);e.widget.viewModel.isLoading=!1;o.handleNoResultForCurrentLocation(e.widget.searchResults,h.widget)})})),(u===n.Map.SketchUpdateEvent||u===n.Map.SketchCreateEvent)&&r.state===n.Map.CancelState)break;u===n.Map.SketchDeleteEvent&&(o.isDeleteBtnClicked=!0);u!==n.Map.SearchResultScroll&&(e.widget.widgetHeader=f==n.Map.MapPage.MapViewPage?o.mainMapWidgetHeader:o.addLocationStepMapWidgetHeader,e.widget.buttonText=f==n.Map.MapPage.MapViewPage?o.applyButtonText:o.addButtonText,e.widget.viewRecordsText=o.viewRecordsText,e.widget.selectAllText=o.selectAllText,e.widget.resultsText=o.resultsText,e.widget.locationsText=o.locationsText,e.widget.exportRecordsText=o.exportRecordsText,e.widget.exportButtonText=o.exportButtonText,e.widget.exportFileNameInputText=o.exportFileNameInputText,e.widget.viewModel.showMinusIcon=!1,e.widget.isManualSearch=!1);f==t.MapPage.MapViewPage&&(e.widget.viewModel.showAllLocationCard=!0);u!==n.Map.DetailClickedEvent&&u!==n.Map.DatePickerEvent&&u!==n.Map.ExportClickedEvent&&u!==n.Map.SearchResultScroll&&(d=[],e.widget.searchResults=[],e.widget.isVisible=!1,rt=e.widget.view.allLayerViews.find(function(n){return n.layer.layerId==o.mapConfig.ArcGisParcelLayerNumber}),rt&&rt._highlightIds.clear(),e.widget.view.graphics.removeAll(),s.popup.close());u===n.Map.SketchCreateEvent&&(o.canOverridePopupData=!1,o.updateInProgress=!0,p=[],r.state===n.Map.CompleteState&&(e.widget.viewModel.set("state",n.Map.LoadingState),e.widget.viewModel.isShowAllLocationClicked=!1));u===n.Map.SketchUpdateEvent&&(o.canOverridePopupData=!1,o.updateInProgress=!0,s.popup.clear(),p=[],(r.state===n.Map.StartState&&r.graphics.length==1||r.state===n.Map.CompleteState||r.state===n.Map.ActiveState&&r.toolEventInfo!=null&&r.toolEventInfo.type==="selection-change")&&(s.graphics.removeAll(),e.widget.viewModel.set("state",n.Map.LoadingState),e.widget.viewModel.isShowAllLocationClicked=!1,o.esriLoader.require(["esri/layers/FeatureLayer","esri/rest/support/Query"],function(t,i){var h=o.mapConfig.MapLayerUrl.replace(/\/$/,"")+"/"+o.mapConfig.ArcGisParcelLayerNumber,c=new t({url:h}),u=new i;u.returnGeometry=!0;u.outFields=[o.mapConfig.ArcGisParcelPinField,o.mapConfig.ArcGisParcelOwnerField];o.useRelationalLiveLink&&u.outFields.push(o.parcelRelationshipField);r.graphics.forEach(function(n){u.geometry=n.geometry;p.push(c.queryFeatures(u).then(function(n){var t=[],i=o.deletedShape.filter(function(n){return n===r.graphic});return o.isDeleteBtnClicked||n.features.forEach(function(n){var i=n.geometry.centroid;t.push(o.getAddressesInfoFromParcel(i,n.attributes,d,e.widget))}),o.$q.all(t)}))});o.$q.all(p).then(function(){var l,a,v,i;if(o.isDeleteBtnClicked)o.isDeleteBtnClicked=!1,s.popup.close();else{var u=null,t=r.graphics.length,h=r.graphics[t-1].geometry.type,c={result:null};u=o.getMapPoint(h,t,r.graphics);t===1?(l='<div title="popup-x">X: '+u.x+"<\/div>",a='<div title="popup-y">Y: '+u.y+"<\/div>",s.popup.content="<div tabindex=\"0\" style='font-size:14px; color:black;'>"+l+a+"<\/div>",s.popup.title=o.getPopupTitleFormat(h.charAt(0).toUpperCase()+h.slice(1))):(v="Selected ("+r.graphics.length+")",s.popup.title=o.getPopupTitleFormat(v));i=s.popup.actions.find(function(n){return n.id=="popup-apply-action"});i&&(!o.mapConfig.IsArcGisSpatialCollectionsUsed||o.mapConfig.IsArcGisSpatialCollectionsUsed&&s.popup.viewModel.allowSpatialCollectionToCase==!1?i.visible=!1:(i.title=f==n.Map.MapPage.MapViewPage?t===1?n.Map.PopupApplyShapeLabel:n.Map.PopupApplyMultipleShapesLabel:t===1?n.Map.PopupAddShapeLabel:n.Map.PopupAddMultipleShapesLabel,i.visible=!0));s.popup.open({location:u})}o.onResultsReady(d,e.widget).then(function(){e.widget.viewModel.set("state",n.Map.ReadyState);c&&(c.result=r.graphics,s.popup.viewModel.popupLocationData=c);o.updateInProgress=!1})})})));u===n.Map.SearchCompleteEvent&&(p=[],e.widget.viewModel.set("state",n.Map.LoadingState),e.widget.viewModel.isShowAllLocationClicked=!1,e.widget.cleanUpOnSearch(),e.widget.viewModel.item=r,e.widget.searchResultCount=0,e.widget.isManualSearch=!0,r.results.forEach(function(t){t.source.name===n.Map.AddressSourceName&&t.results.forEach(function(n){n.feature.geometry!=null&&e.widget.searchResultCount++});t.source.name===n.Map.ParcelSourceName&&t.results.forEach(function(n){n.feature.geometry.centroid!=null&&e.widget.searchResultCount++})}),o.searchByAddressAndParcel(r,p,d,e.widget),o.$q.all(p).then(function(){o.onResultsReady(d,e.widget).then(function(){e.widget.hideDetail=!0;e.widget.viewModel.set("state",n.Map.ReadyState);o.handleNoResultForCurrentLocation(d,h.widget)})}));(u===n.Map.DetailClickedEvent||u===n.Map.DatePickerEvent)&&(ut=c.MapView.spatialReference.wkid,r.result&&(r.result.length==1||r.result.length==undefined)&&(st={Latitude:r.result.Y,Longitude:r.result.X},e.widget.resetModuleCount(),u===n.Map.DetailClickedEvent&&(o.loadPopupContentForDetailClickEvent(s,c,r.result,f,e),ft={x:r.result.X,y:r.result.Y,spatialReference:s.spatialReference},o.cssMapHelperService.loadGraphicsAndZoomToIt(c.MapView,ft).then(function(){if(r.result.parcelGeometry){var n=e.widget.view.allLayerViews.find(function(n){return n.layer.title=="Graphics"});o.cssMapHelperService.loadPolygon(c.MapView,n.layer,r.result.parcelGeometry)}s.popup.visible=!0;s.popup.open({location:s.graphics.items[0].geometry})}))),e.widget.viewModel.permitList=null,e.widget.viewModel.planList=null,e.widget.viewModel.inspectionList=null,e.widget.viewModel.codecaseList=null,e.widget.viewModel.requestList=null,nt=[],f==t.MapPage.MapViewPage&&(r.result&&(r.result.length==1||r.result.length==undefined)?(et={Address:r.result.address,X:r.result.X,Y:r.result.Y,Owner:r.result.owner,Parcel:r.result.parcel,SelectedDate:r.result.selectedDate},nt.push(et),o.getElasticRecords(nt,ut,e.widget)):(e.widget.viewModel.showAllLocationCard=!0,r.result.forEach(function(n){var i={Latitude:n.Y,Longitude:n.X},t={Address:n.address,X:n.X,Y:n.Y,Owner:n.owner,Parcel:n.parcel,SelectedDate:n.selectedDate};nt.push(t)}),o.getElasticRecords(nt,ut,e.widget))));u===n.Map.ExportClickedEvent&&e.widget.viewModel.exportFileName!==""&&e.widget.viewModel.exportFileName!==undefined&&(e.widget.viewModel.showSpinner=!0,k=[],e.widget.viewModel.permitList.IsSelected&&e.widget.viewModel.permitList.EntityResults.length>0&&angular.forEach(e.widget.viewModel.permitList.EntityResults,function(n){k.push(n)}),e.widget.viewModel.planList.IsSelected&&e.widget.viewModel.planList.EntityResults.length>0&&angular.forEach(e.widget.viewModel.planList.EntityResults,function(n){k.push(n)}),e.widget.viewModel.inspectionList.IsSelected&&e.widget.viewModel.inspectionList.EntityResults.length>0&&angular.forEach(e.widget.viewModel.inspectionList.EntityResults,function(n){k.push(n)}),e.widget.viewModel.codecaseList.IsSelected&&e.widget.viewModel.codecaseList.EntityResults.length>0&&angular.forEach(e.widget.viewModel.codecaseList.EntityResults,function(n){k.push(n)}),e.widget.viewModel.requestList.IsSelected&&e.widget.viewModel.requestList.EntityResults.length>0&&angular.forEach(e.widget.viewModel.codecaseList.EntityResults,function(n){k.push(n)}),o.enerGovCommonForExportService.downloadData(k,e.widget.viewModel.exportFileName,"map"),e.widget.viewModel.exportFileName="",e.widget.toggleExportExcel=!1,e.widget.viewModel.showSpinner=!1)}})}},r.prototype.searchByAddressAndParcel=function(t,i,r,u){var f=this;t.results.forEach(function(t){var h,o,l,e,s,v;if(t.source.name===n.Map.AddressSourceName)for(h=0,e=0;e<t.results.length;e++){if(o=t.results[e],h===20)break;if(o.feature.geometry!=null&&!o.searchIncluded){h++;o.searchIncluded=!0;var a=o.feature.attributes,c=o.feature.geometry,y={X:c.x,Y:c.y,Wkid:c.spatialReference.wkid,AddressRelationshipValue:f.addressRelationshipField?a[f.addressRelationshipField]:""};i.push(f.getParcelInfo(y,a,r,u))}}if(t.source.name===n.Map.ParcelSourceName)for(l=0,e=0;e<t.results.length;e++){if(s=t.results[e],l===20)break;s.feature.geometry.centroid==null||s.searchIncluded||(l++,s.searchIncluded=!0,v=s.feature.geometry.centroid,i.push(f.getAddressesInfoFromParcel(v,s.feature.attributes,r,u)))}})},r.prototype.controllerSubscriber=function(t,i,r){var f=this.publishEvents.filter(function(n){return n.WidgetName===i&&n.EventName===r}),u;f.length>0&&(u=f[0],u.Subject.subscribe(function(f){if(i!=n.Map.Popup)r!=n.Map.ExportClickedEvent&&t.processEvent(f);else if(r==n.Map.PopupTriggerAction){var e=u.MapView.ui._components.find(function(n){return n.widget.label==i||n.widget.label=="cssCustomWidgets/SearchResult"}),o=u.MapView.ui._components.find(function(t){return t.widget.label==n.Map.SearchResult});e!==null&&e!=undefined&&f.action.id===n.Map.PopupApplyAction&&(f.action.disabled||(f.action.disabled=!0,e.widget.viewModel.popupLocationData?t.processEvent(e.widget.viewModel.popupLocationData):o.widget.viewModel.popupLocationData?t.processEvent(o.widget.viewModel.popupLocationData):f.action.disabled=!0))}}))},r.prototype.getPublishEvent=function(n,t,i,r){var f=this.publishEvents.filter(function(n){return n.WidgetName==t&&n.EventName==i}),u;return f.length>0?f[0]:(u={WidgetName:t,EventName:i,Subject:new Rx.Subject,MapView:n,MapPage:r},this.publishEvents.push(u),u)},r.prototype.onResultsReady=function(n,t){var i=this,u=this.$q.defer(),f,r;return n.length<=0&&u.resolve(),n.length>0&&(f=n.map(function(n){return"'"+n.parcel+"'"}).join(),t.view.highlightOptions.color="#2B65EC",r=t.view.allLayerViews.find(function(n){return n.layer.layerId==i.mapConfig.ArcGisParcelLayerNumber}),r&&(r.visible=!0,this.esriLoader.require(["esri/layers/FeatureLayer","esri/rest/support/Query"],function(e,o){var h=i.mapConfig.MapLayerUrl.replace(/\/$/,"")+"/"+i.mapConfig.ArcGisParcelLayerNumber,c=new e({url:h}),s=new o;s.returnGeometry=!0;s.outFields="*";s.where=i.mapConfig.ArcGisParcelPinField+" in ("+f+")";c.queryFeatures(s).then(function(f){r._highlightIds.clear();f.features.length>0&&(r.highlight(f.features),t.view.goTo(f.features));t.searchResults=n;t.searchResults.map(function(n){if(n.parcel)return n.parcelGeometry=f.features.find(function(t){return t.attributes[i.mapConfig.ArcGisParcelPinField]==n.parcel}).geometry,n});t.viewModel.sortSearchResults();t.isVisible=!0;u.resolve()})}))),u.promise},r.prototype.handleNoResultForCurrentLocation=function(t,i){i.label==n.Map.Search&&t.length==0&&i.searchTerm==""&&i.activeMenu==n.Map.WidgetSearchActiveMenuNoneValue&&(i.searchTerm=n.Map.CurrentLocationText,i.search())},r.prototype.getParcelInfo=function(n,t,i,r){var f=this,u=this.$q.defer();return this.enerGovMapService.searchForParcelData(null,n,function(e){e&&e.Result&&(e.Result.forEach(function(r){var u={address:t[f.mapConfig.ArcGisAddressField],parcel:r.ParcelNumber,owner:r.ParcelOwner,range:r.Range,section:r.Section,township:r.Township,attributes:t,X:n.X,Y:n.Y,isSelected:!1};i.push(u)}),e.Result.length>1&&(r.searchResultCount+=e.Result.length-1));u.resolve()}),u.promise},r.prototype.getAddressesInfoFromParcel=function(n,t,i,r){var u=this,f=this.$q.defer(),e={X:n.x,Y:n.y,ParcelRelationshipValue:this.parcelRelationshipField?t[this.parcelRelationshipField]:"",PageNumber:1,PageSize:1};return this.mapConfigurationService.getAddressesFromParcel(e,function(e){var o=t[u.mapConfig.ArcGisParcelPinField],s=t[u.mapConfig.ArcGisParcelOwnerField],h=u.parcelRangeArcGisField?t[u.parcelRangeArcGisField]:null,c=u.parcelSectionArcGisField?t[u.parcelSectionArcGisField]:null,l=u.parcelTownshipArcGisField?t[u.parcelTownshipArcGisField]:null,a;e.length===0?(a={address:"",parcel:o,owner:s,range:h,section:c,township:l,attributes:t,X:n.X,Y:n.Y,isSelected:!1},i.push(a)):(e.forEach(function(n){var t={address:n.Address,parcel:o,owner:s,range:h,section:c,township:l,attributes:n.Attributes,X:n.X,Y:n.Y,isSelected:!1};i.push(t)}),e.length>1&&(r.searchResultCount+=e.length-1));f.resolve()}),f.promise},r.prototype.getElasticRecords=function(n,t,r){var u=this,f;r.viewModel.showSpinner=!0;f={DistanceFromOrigin:this.mapConfig.ArcGisBufferDistanceFromOrigin,ArcGisGeometryServiceUrl:this.mapConfig.ArcGisGeometryServiceUrl,MapWkid:t,Module:null,Origin:null,PageNumber:1,ExcludeCases:[],PageSize:100,Units:this.mapConfig.ArcGisBufferUnits,Wkid:+this.mapConfig.LocatorOutputWKID,IncludeCodeCases:!1,IncludeRequests:!1,ParcelNumber:null,Address:null,ChangedSince:null,HiddenInspectionTypeIDs:[]};this.enerGovMapService.searchByBufferModuleCriteria(f,n,function(n){var t,h,f,c,e,l,o,a,s,v;r.viewModel.permitList||(t=[],t=n.EntityResults.filter(function(n){return n.ModuleName==i.Permit}),h={CurrentPage:n.CurrentPage,EntityResults:t,FirstRow:n.FirstRow,IsSelected:!0,LastRow:n.LastRow,TotalFound:t.length,TotalPages:100},r.viewModel.permitList=h,r.permitCount="("+r.viewModel.permitList.EntityResults.length+")");r.viewModel.planList||(f=[],f=n.EntityResults.filter(function(n){return n.ModuleName==i.Plan}),c={CurrentPage:n.CurrentPage,EntityResults:f,FirstRow:n.FirstRow,IsSelected:!0,LastRow:n.LastRow,TotalFound:f.length,TotalPages:100},r.viewModel.planList=c,r.planCount="("+r.viewModel.planList.EntityResults.length+")");r.viewModel.inspectionList||(e=[],e=n.EntityResults.filter(function(n){return n.ModuleName==i.Inspection}),l={CurrentPage:n.CurrentPage,EntityResults:e,FirstRow:n.FirstRow,IsSelected:!0,LastRow:n.LastRow,TotalFound:e.length,TotalPages:100},r.viewModel.inspectionList=l,r.inspectionCount="("+r.viewModel.inspectionList.EntityResults.length+")");r.viewModel.codecaseList||(o=[],o=n.EntityResults.filter(function(n){return n.ModuleName==i.CodeCase}),a={CurrentPage:n.CurrentPage,EntityResults:o,FirstRow:n.FirstRow,IsSelected:!0,LastRow:n.LastRow,TotalFound:o.length,TotalPages:100},r.viewModel.codecaseList=a,r.codecaseCount="("+r.viewModel.codecaseList.EntityResults.length+")");r.viewModel.requestList||(s=[],s=n.EntityResults.filter(function(n){return n.ModuleName==i.Request}),v={CurrentPage:n.CurrentPage,EntityResults:s,FirstRow:n.FirstRow,IsSelected:!0,LastRow:n.LastRow,TotalFound:s.length,TotalPages:100},r.viewModel.requestList=v,r.requestCount="("+r.viewModel.requestList.EntityResults.length+")",u.tenantService.getTenantTyler311Setting(function(n){n&&(r.isTyler311Enabled=n.EnableTyler311.valueOf(),r.tyler311Url=n.Tyler311Url.replace(/\/$/,"")+u.globalService.tyler311RequestPath.replace(/\/$/,"")+"/")}));r.viewModel.showSpinner=!1})},r.prototype.getMapPopupContent=function(n,t,i,r,u){u===void 0&&(u=!1);var f=u?'<div title="popup-lat">Latitude: '+n+'<\/div><div id="popup-long">Longitude: '+t+"<\/div>":"",e=i?'<div title="popup-parcel">Parcel: '+i+"<\/div>":"",o=r?'<div title="popup-owner">Owner: '+r+"<\/div>":"",s=e+o+f;return"<div tabindex=\"0\" style='font-size:14px; color:black;'>"+s+"<\/div>"},r.prototype.getPopupTitleFormat=function(n){return'<span title="popup-title">'+n+"<\/span>"},r.prototype.cleanUp=function(){this.publishEvents=[]},r}();t.WidgetEventService=r})(t=n.Map||(n.Map={}))}(Css||(Css={})),function(n){var t;(function(t){"use strict";var i="zoom",r=3,u=500,f=function(){function f(f,e,o,s,h,c,l,a,v,y){var p=this;this.esriLoader=f;this.$q=e;this.cssMapHelperService=o;this.widgetEventService=s;this.$window=h;this.enerGovMapService=c;this.$location=l;this.globalService=a;this.mapConfigurationService=v;this.$timeout=y;this.mapPage=0;this.baseMapWkid=102100;this.isInitialized=!1;this.disableZoomForMap=function(n){var t=p;n.on("mouse-wheel",function(n){n.stopPropagation()});n.on("double-click",["Control"],function(n){n.stopPropagation()});n.on("double-click",function(n){n.stopPropagation()});n.on("drag",function(n){n.stopPropagation()});n.on("drag",["Shift"],function(n){n.stopPropagation()});n.on("drag",["Shift","Control"],function(n){n.stopPropagation()})};this.onViewCreated=function(n){p.mapView=n};this.loadMapWidgets=function(i){var u=p.$q.defer(),f=[];return p.adjustDefaultWidgets(i),p.mapWidgetManagement.forEach(function(t){var s,o,e,u;if(t.MapWidget.MapWidgetId!=r&&(s=t.MapWidget.WidgetName,p.isWidgetVisible(t.MobileVisible,t.Visible,t.MapPageId)&&(!p.isCurrentMobileMode||t.WidgetName!="Popup")&&f.push(p.referenceWidgetOnMap(t,i)),t.MapWidget.WidgetName==n.Map.DistanceMeasurement2D||t.MapWidget.WidgetName==n.Map.AreaMeasurement2D)){o=(p.isCurrentMobileMode&&t.MobileVisible||!p.isCurrentMobileMode&&t.Visible)&&t.MapPageId==p.mapPage;e=angular.element(document.getElementById("topbar"));switch(t.MapWidget.WidgetName){case n.Map.DistanceMeasurement2D:u=angular.element(document.getElementById("distanceButton"));t.MapPageId==p.mapPage&&o&&(u[0].removeAttribute("ng-hide"),u[0].classList.remove("ng-hide"),e[0].removeAttribute("ng-hide"),e[0].classList.remove("ng-hide"));break;case n.Map.AreaMeasurement2D:u=angular.element(document.getElementById("areaButton"));t.MapPageId==p.mapPage&&o&&(u[0].removeAttribute("ng-hide"),u[0].classList.remove("ng-hide"),e[0].removeAttribute("ng-hide"),e[0].classList.remove("ng-hide"))}}}),p.$q.all(f).then(function(){var r,f;p.mapWidgetManagement.forEach(function(n){if((n.MapWidget.WidgetName===t.Popup||p.isWidgetVisible(n.MobileVisible,n.Visible,n.MapPageId))&&(p.registerPublishEvents(i,n),p.registerSubscribeEvents(i,n),p.registerSubcribeControllerToPublishedWidgetEvents(i,n)),(p.isCurrentMobileMode&&!n.MobileVisible||!p.isCurrentMobileMode&&!n.Visible)&&n.MapPageId==p.mapPage){var r=[];r=i.ui._components.filter(function(n){return n.widget!=null});r=r.filter(function(t){return t.widget.label==n.MapWidget.WidgetName});r!==null&&i.ui.remove(r)}});r=p.$location.search().search;r&&(f=p.findWidgetOnMapView(n.Map.Search,i).widget,f.searchTerm=r,f.search());u.resolve(i)}),u.promise};this.registerMapEvent=function(i){var r=p;p.esriLoader.require(["esri/support/actions/ActionButton","esri/rest/locator/locationToAddress"],function(u,f){var o=new u({id:n.Map.PopupApplyAction,className:"esri-icon-plus",visible:!1}),e=i.popup.actions.filter(function(n){return n.id===o.id}),s;e!=null&&e.length==1?e.map(function(t){return t.title=p.mapPage==n.Map.MapPage.MapViewPage?n.Map.PopupApplyTitle:n.Map.PopupAddTitle}):i.popup.actions.push(o);s=i.popup;i.on("click",function(u){r.widgetEventService.canOverridePopupData=!r.widgetEventService.updateInProgress;var e=u.mapPoint,o={X:e.x,Y:e.y,InputSpatialReference:e.spatialReference.wkid,OutputSpatialReference:4326},s={X:e.x,Y:e.y,Wkid:e.spatialReference.wkid},h={location:u.mapPoint};r.widgetEventService.canOverridePopupData&&f.locationToAddress(r.mapConfig.ArcGisLocatorUrl,h).then(function(){r.widgetEventService.canOverridePopupData&&r.enerGovMapService.projectPoint(o,function(f){var e="",h,c;r.widgetEventService.canOverridePopupData&&(h=f.Y.toString(),c=f.X.toString(),r.enerGovMapService.searchForParcelData(null,s,function(f){var a={X:o.X,Y:o.Y,PageNumber:1,PageSize:1},s,l;f&&f.Result&&f.Result.length>0?(s=f.Result[0].ParcelNumber,l=f.Result[0].ParcelOwner,r.mapConfigurationService.getAddressesFromParcel(a,function(i){var y,v,p,a;e=i.length>0?i[0].Address:s;y={address:e,parcel:s,owner:l,range:f.Result[0].Range,section:f.Result[0].Section,township:f.Result[0].Township,attributes:i.length>0?i[0].Attributes:null,X:o.X,Y:o.Y,isSelected:!0};v={result:null};v.result=[y];r.mapView.popup.viewModel.popupLocationData=v;p=r.widgetEventService.getMapPopupContent(h,c,s,l);r.mapView.popup.content=p;r.mapView.popup.title=r.widgetEventService.getPopupTitleFormat(e);a=r.mapView.popup.actions.find(function(n){return n.id=="popup-apply-action"});a&&(a.title=r.mapPage==n.Map.MapPage.MapViewPage?n.Map.PopupApplyButtonLabel:t.PopupAddButtonLabel,a.visible=!0);r.mapView.popup.open({location:u.mapPoint})})):i.popup.visible=!1}))})}).catch(function(){i.popup.visible=!1})})})};this.registerPublishEvents=function(n,t){var i=t.MapWidget.WidgetName;t.MapWidgetEvents.forEach(function(r){t.MapPageId==p.mapPage&&r.IsPublisher==!0&&p.widgetEventService.publish(n,i,r.EventName,p.mapPage)})};this.registerSubscribeEvents=function(n,t){var i=t.MapWidget.WidgetName;t.MapWidgetEvents.forEach(function(n){n.IsPublisher==!1&&t.MapPageId==p.mapPage&&p.widgetEventService.subscribe(i,n.SubscribeToWidgetName,n.EventName,p.mapPage)})};this.registerSubcribeControllerToPublishedWidgetEvents=function(t,i){var r,u,f,e;(p.mapPage==n.Map.MapPage.MapViewPage||p.mapPage==n.Map.MapPage.ApplicationMapViewPage)&&p.subscribeController!==null&&i.MapPageId==p.mapPage&&(r=i.MapWidget.WidgetName,i.MapWidget.WidgetName==n.Map.SearchResult&&(u=i.MapWidgetEvents.filter(function(t){return t.EventName==n.Map.ApplyClicked&&t.IsPublisher==!0}),u!==null&&u.length>0&&p.widgetEventService.controllerSubscriber(p.subscribeController,r,u[0].EventName,p.mapPage),f=i.MapWidgetEvents.filter(function(t){return t.EventName==n.Map.ExportClickedEvent&&t.IsPublisher==!0}),f!==null&&f.length>0&&p.widgetEventService.controllerSubscriber(p.subscribeController,r,f[0].EventName,p.mapPage)),i.MapWidget.WidgetName==n.Map.Popup&&(e=i.MapWidgetEvents.filter(function(t){return t.EventName==n.Map.PopupTriggerAction&&t.IsPublisher==!0}),e!==null&&e.length>0&&p.widgetEventService.controllerSubscriber(p.subscribeController,r,e[0].EventName,p.mapPage)))};this.findWidgetOnMapView=function(n,t){return t.ui._components.find(function(t){return t.widget.label==n})};this.referenceWidgetOnMap=function(t,i){var r=p.$q.defer();return p.esriLoader.require([t.MapWidget.WidgetName,"esri/widgets/Expand","esri/widgets/DistanceMeasurement2D","esri/widgets/AreaMeasurement2D","esri/widgets/Home"],function(u,f,e,o){var l=[],h,s,w,a,y,c,v;if(l=i.ui._components.filter(function(n){return n.widget!=null}),l=l.filter(function(t){return t.widget.label!=n.Map.Zoom&&t.widget.label!=n.Map.Popup}),h=i.allLayerViews.find(function(n){return n.layer.title=="Graphics"}),l===null||l.length==0||l.filter(function(n){return n.widget.label==t.WidgetName}).length==0){if(s=new u(p.widgetFactory(t,i)),s.label=t.MapWidget.WidgetName,s.label==n.Map.Sketch&&i.allLayerViews!=null&&h!=null&&h.layer!=null&&(s.layer=h.layer),s.label==n.Map.BasemapToggle&&p.setMapExtent(i),s.label==n.Map.BasemapGallery&&(p.setMapExtent(i),s.container=document.createElement("div"),h!=null&&h.layer!=null&&(s.layer=h.layer),a=new f({view:i,content:s}),w=i.heightBreakpoint==="xsmall"||i.widthBreakpoint==="xsmall",w&&a.collapse(),i.ui.add(a,{position:t.PositionName,index:t.WidgetIndex})),s.label==n.Map.MapInformation&&(s.container=document.createElement("div"),s.container.innerHTML=t.Description,h!=null&&h.layer!=null&&(s.layer=h.layer),s.viewModel.description=t.Description,s.viewModel.mapWidgetManagement=t.MapWidgetManagement,a=new f({view:i,content:s,expandIconClass:"esri-icon-question"}),y=document.createElement("div"),y.id="expandDiv",a.container=y,i.ui.add(a,{position:t.PositionName,index:t.WidgetIndex})),s.label==n.Map.DistanceMeasurement2D||s.label==n.Map.AreaMeasurement2D){i.ui.add("topbar",{position:t.PositionName,index:t.WidgetIndex});switch(s.label){case n.Map.DistanceMeasurement2D:c=angular.element(document.getElementById("distanceButton"));c[0].addEventListener("click",function(){var u=i.ui._components.find(function(n){return n.widget!=null&&n.widget.label=="Measure"}),r,n;if(s&&(i.ui.remove(s),s.destroy(),s=null),u&&(i.ui.remove(u),u.destroy(),u=null),s=new e({view:i}),h!=null&&h.layer!=null&&(s.layer=h.layer),this.classList.contains("active"))for(i.focus(),r=angular.element(document.getElementsByClassName("active")),n=0;n<r.length;n++)r[n].classList.remove("active");else{for(s.viewModel.newMeasurement(),i.ui.add(s,{position:t.PositionName,index:t.WidgetIndex}),i.focus(),r=angular.element(document.getElementsByClassName("active")),n=0;n<r.length;n++)r[n].classList.remove("active");c[0]&&c[0].classList.add("active")}});break;case n.Map.AreaMeasurement2D:c=angular.element(document.getElementById("areaButton"));c[0].addEventListener("click",function(){var u=i.ui._components.find(function(n){return n.widget!=null&&n.widget.label=="Measure"}),r,n;if(s&&(i.ui.remove(s),s.destroy(),s=null),u&&(i.ui.remove(u),u.destroy(),u=null),s=new o({view:i}),h!=null&&h.layer!=null&&(s.layer=h.layer),this.classList.contains("active"))for(i.focus(),r=angular.element(document.getElementsByClassName("active")),n=0;n<r.length;n++)r[n].classList.remove("active");else{for(s.viewModel.newMeasurement(),i.ui.add(s,{position:t.PositionName,index:t.WidgetIndex}),i.focus(),r=angular.element(document.getElementsByClassName("active")),n=0;n<r.length;n++)r[n].classList.remove("active");c[0]&&c[0].classList.add("active")}})}}s.label==n.Map.Search&&p.cssMapHelperService.getMapSource(p).then(function(n){s.sources=n;s.allPlaceholder="Address & Parcel Search";s.suggestionsEnabled=p.mapConfig.ArcGisLocatorUseAutoComplete});s.label==n.Map.SearchResult&&(s.showElasticDetail=p.mapPage==n.Map.MapPage.MapViewPage&&!p.isCurrentMobileMode,s.enableZoomOnDetailClick=!0,p.subscribeController!==null&&(v=p.subscribeController,v!==null&&v.allowOnlyOneLocation&&(s.allowOnlyOneLocationToCase=!0),v!==null&&v.allowSpatialCollectionAsLocation!==null&&(i.popup.viewModel.allowSpatialCollectionToCase=v.allowSpatialCollectionAsLocation)));s.label!=n.Map.BasemapGallery&&s.label!=n.Map.DistanceMeasurement2D&&s.label!=n.Map.AreaMeasurement2D&&s.label!=n.Map.MapInformation&&i.ui.add(s,{position:t.PositionName,index:t.WidgetIndex});r.resolve()}}),r.promise};this.setMobileMode=function(){p.isCurrentMobileMode=$(window).width()<=u?!0:!1};this.adjustDefaultWidgets=function(u){u.ui.remove(n.Map.Attribution);p.mapPage==t.MapPage.RecordMapViewPage&&p.disableZoom==!0&&(u.ui.remove(i),p.disableZoomForMap(u));var f=p.mapWidgetManagement.find(function(n){return n.MapWidget.MapWidgetId==r&&n.MapPageId==p.mapPage});f!=null&&(p.isCurrentMobileMode&&f.MobileVisible||!p.isCurrentMobileMode&&f.Visible)&&u.ui.move(i,f.PositionName)};this.widgetFactory=function(n,t){if(n.WidgetConfig===null||n.WidgetConfig=="")return{view:t};var i=JSON.parse(n.WidgetConfig);return i.view=t,i};this.loadSpatialCollection=function(n){var i=p;p.mapPage==t.MapPage.RecordMapViewPage&&p.geometryData&&(p.geometryData.spatialReference.wkid==p.baseMapWkid?p.esriLoader.require(["esri/geometry/projection","esri/geometry/SpatialReference"],function(t,r){t.load().then(function(){var u=new r({wkid:p.mapServiceInfo.spatialReference.wkid}),f=t.project(i.geometryData,u);i.cssMapHelperService.loadGraphicsAndZoomToIt(n,f)})}):i.cssMapHelperService.loadGraphicsAndZoomToIt(n,i.geometryData))};this.resetMapSize=function(){var i=$(window).width(),n;if(p.mapPage==t.MapPage.RecordMapViewPage&&p.disableZoom==!0?(i=190,n=300,$("#map-viewer").height(n),$("#map-viewer").width(i)):(n=i>767?$(window).height()-150:$(window).height()-50,p.mapPage==t.MapPage.MapViewPage?$("#map-viewer").height(n):p.mapPage==t.MapPage.ApplicationMapViewPage&&$("#map-viewer").height(n-110),$("#map-viewer").width(i)),p.setMobileMode(),p.mapView!=null)if(p.mapView.popup.autoOpenEnabled=!1,p.mapPage!=t.MapPage.RecordMapViewPage)p.mapView.on("layerview-create",function(n){n.layer.title==="Graphics"&&p.loadMapWidgets(p.mapView).then(function(n){p.registerMapEvent(n)})});else p.loadMapWidgets(p.mapView).then(function(n){p.loadSpatialCollection(n)})};this.initialize=function(){p.isInitialized||(p.isInitialized=!0,p.cssMapHelperService.setupMap(p).then(function(){p.initializingDefer.resolve();p.resetMapSize();p.$timeout(function(){var n=document.getElementsByClassName("esri-search__input");angular.element(n[0]).focus()},1e3)}))};this.controllerCreated&&this.controllerCreated()(this);this.setMobileMode();this.initializingDefer=this.$q.defer();angular.element(this.$window).on("resize",this.resetMapSize);this.cssMapHelperService.getMapNotConfigurationText(this);this.cssMapHelperService.getMapNotLoadedText(this)}return f.prototype.isWidgetVisible=function(n,t,i){return(this.isCurrentMobileMode&&n||!this.isCurrentMobileMode&&t)&&i==this.mapPage},f.prototype.setMapExtent=function(t){var i=this;this.esriLoader.require(["esri/geometry/projection","esri/geometry/SpatialReference","esri/Viewpoint"],function(r,u,f){r.load().then(function(){var h=new u({wkid:i.baseMapWkid}),e=r.project(i.mapServiceInfo.initialExtent,h),o,s;e&&(t.extent=e.extent,t.center=e.extent.center,o=i.findWidgetOnMapView(n.Map.Home,t),o&&o.widget&&(s=new f({targetGeometry:e.extent}),o.widget.viewpoint=s))})})},f.prototype.bindWindowResetEvent=function(){},f}();t.CssMapViewerController=f})(t=n.Map||(n.Map={}))}(Css||(Css={})),function(n){var t;(function(n){"use strict";var t=function(){function n(){this.mapLocations=[];this.mapSPCollections=[];this.module=""}return n.prototype.resetMapApplyData=function(){this.mapLocations=[];this.mapSPCollections=[];this.module=""},n}();n.MapApplyService=t})(t=n.Map||(n.Map={}))}(tyler||(tyler={})),function(n){var t;(function(t){"use strict";angular.module("css.Map",["ui.bootstrap.typeahead","esri.map"]).directive("cssMapViewer",[function(){return new t.CssMapViewer}]).service("cssMapHelperService",["$q","esriLoader","mapService","globalsService",t.CssMapHelperService]).service("mapApplyService",[tyler.Map.MapApplyService]).service("widgetEventService",["esriLoader","$q","enerGovMapService","mapService","cssMapHelperService","tenantService","globalsService","resourceService","enerGovCommonForExportService",n.Map.WidgetEventService]).controller("cssMapViewerController",["esriLoader","$q","cssMapHelperService","widgetEventService","$window","enerGovMapService","$location","globalsService","mapService","$timeout",t.CssMapViewerController])})(t=n.Map||(n.Map={}))}(Css||(Css={}))