//(function () { angular.module('MobileWebLogistics') .service('localCustom', function () { var self = this; this.initQtip = function ($scope) { if ($scope.qtipEffect == 'true') { $('#defSearch1').qtip({ show: 'focus', hide: 'unfocus', content: { text: $('#defSearch1Tooltip') }, position: { viewport: $('.tundra'), adjust: { method: 'flip flip' } }, style: { classes: 'qtip-blue qtip-shadow qtip-rounded', width: 200 } }); } } //====== findRelatedRecords this.findRelatedRecords = function ($scope, OBJECTID) { var relatedTblQuery = new $scope.RelationshipQuery(); relatedTblQuery.outFields = ["*"]; relatedTblQuery.objectIds = [OBJECTID]; relatedTblQuery.relationshipId = '3'; //LandSegments: Seg, Description, Size, Value $scope.selectedParcelT0 = []; $scope.selectedParcelT0_1 = []; $scope.selectedParcelT0_2 = []; $scope.selectedParcelT0_3 = []; $scope.parcelLayer.queryRelatedFeatures(relatedTblQuery, function (relatedRecords) { if (relatedRecords[OBJECTID]) { $scope.relatedResult0 = relatedRecords[OBJECTID].features; for (var i = 0; i < $scope.relatedResult0.length; i++) { for (var key in $scope.relatedResult0[i].attributes) { var thisKey = $scope.relatedResult0[i].attributes[key.toString()]; $scope.relatedResult0[i].attributes[key.toString()] = $scope.formatParcelData(key, thisKey, $scope.relatedResult0[i].attributes[key.toString()]); } $scope.selectedParcelT0.push($scope.relatedResult0[i].attributes); } } relatedTblQuery.relationshipId = '1'; //OtherStructures: YrBlt, Description, StoryHeight, Cls, Grd, BaseRate, Deprec, Value $scope.selectedParcelT1 = []; $scope.parcelLayer.queryRelatedFeatures(relatedTblQuery, function (relatedRecords) { if (relatedRecords[OBJECTID]) { $scope.relatedResult1 = relatedRecords[OBJECTID].features; for (var i = 0; i < $scope.relatedResult1.length; i++) { for (var key in $scope.relatedResult1[i].attributes) { var thisKey = $scope.relatedResult1[i].attributes[key.toString()]; $scope.relatedResult1[i].attributes[key.toString()] = $scope.formatParcelData(key, thisKey, $scope.relatedResult1[i].attributes[key.toString()]); } $scope.selectedParcelT1.push($scope.relatedResult1[i].attributes); } } relatedTblQuery.relationshipId = '2'; //Sales: SaleDate, Grantor, Consideration, instrument $scope.selectedParcelT2 = []; $scope.parcelLayer.queryRelatedFeatures(relatedTblQuery, function (relatedRecords) { if (relatedRecords[OBJECTID]) { $scope.relatedResult2 = relatedRecords[OBJECTID].features; for (var i = 0; i < $scope.relatedResult2.length; i++) { for (var key in $scope.relatedResult2[i].attributes) { var thisKey = $scope.relatedResult2[i].attributes[key.toString()]; $scope.relatedResult2[i].attributes[key.toString()] = $scope.formatParcelData(key, thisKey, $scope.relatedResult2[i].attributes[key.toString()]); } $scope.selectedParcelT2.push($scope.relatedResult2[i].attributes); } // Sort array SaleDate desc $scope.selectedParcelT2.sort(function (a, b) { a = new Date(a.SaleDate); b = new Date(b.SaleDate); return a > b ? -1 : a < b ? 1 : 0; }); } relatedTblQuery.relationshipId = '0'; //MainStructures: YearBuilt, ConstructionStyle, Rooms, BedRooms, CostPerSqFt, HeatedSqrFt, DepreciationSchedule $scope.selectedParcelT3 = []; $scope.selectedParcelT3Ids = []; $scope.parcelLayer.queryRelatedFeatures(relatedTblQuery, function (relatedRecords) { if (relatedRecords[OBJECTID]) { $scope.relatedResult3 = relatedRecords[OBJECTID].features; for (var i = 0; i < $scope.relatedResult3.length; i++) { for (var key in $scope.relatedResult3[i].attributes) { var thisKey = $scope.relatedResult3[i].attributes[key.toString()]; $scope.relatedResult3[i].attributes[key.toString()] = $scope.formatParcelData(key, thisKey, $scope.relatedResult3[i].attributes[key.toString()]); } $scope.selectedParcelT3.push($scope.relatedResult3[i].attributes); $scope.selectedParcelT3Ids.push($scope.selectedParcelT3[i]['OBJECTID']); } self.findRelatedRecords_sections_attributes($scope); } else { self.applyReport($scope); } }); //end of table3 }); //end of table2 }); //end of table1 }); //end of table0 } //====end of findRelatedRecords function this.findRelatedRecords_sections_attributes = function ($scope) { var relatedTblQuery = new $scope.RelationshipQuery(); relatedTblQuery.outFields = ["*"]; relatedTblQuery.objectIds = $scope.selectedParcelT3Ids; $scope.mStruLayer = new $scope.FeatureLayer($scope.featureServUrl + "52", { mode: $scope.FeatureLayer.MODE_AUTO, "opacity": 1, outFields: '*', visible: true, showLabels: true }); relatedTblQuery.relationshipId = '5'; //Sections $scope.selectedParcelT4 = []; $scope.mStruLayer.queryRelatedFeatures(relatedTblQuery, function (relatedRecords) { for (var j = 0; j < $scope.selectedParcelT3Ids.length; j++) { var OBJECTID = $scope.selectedParcelT3Ids[j]; if (relatedRecords[OBJECTID]) { $scope.relatedResult4 = relatedRecords[OBJECTID].features; for (var i = 0; i < $scope.relatedResult4.length; i++) { for (var key in $scope.relatedResult4[i].attributes) { var thisKey = $scope.relatedResult4[i].attributes[key.toString()]; $scope.relatedResult4[i].attributes[key.toString()] = $scope.formatParcelData(key, thisKey, $scope.relatedResult4[i].attributes[key.toString()]); } $scope.selectedParcelT4.push($scope.relatedResult4[i].attributes); } } } }); //end of table4 relatedTblQuery.relationshipId = '4'; //Attributes $scope.selectedParcelT5 = []; $scope.mStruLayer.queryRelatedFeatures(relatedTblQuery, function (relatedRecords) { for (var j = 0; j < $scope.selectedParcelT3Ids.length; j++) { var OBJECTID = $scope.selectedParcelT3Ids[j]; if (relatedRecords[OBJECTID]) { $scope.relatedResult5 = relatedRecords[OBJECTID].features; for (var i = 0; i < $scope.relatedResult5.length; i++) { for (var key in $scope.relatedResult5[i].attributes) { var thisKey = $scope.relatedResult5[i].attributes[key.toString()]; $scope.relatedResult5[i].attributes[key.toString()] = $scope.formatParcelData(key, thisKey, $scope.relatedResult5[i].attributes[key.toString()]); } $scope.selectedParcelT5.push($scope.relatedResult5[i].attributes); } } } self.applyReport($scope); }); //end of table5 } this.applyReport = function ($scope) { if (window.innerWidth < 651) { $scope.map.infoWindow.hide(); if ($scope.showPanel2 == true) { $("#panel1").removeClass("active"); $("#panel1").addClass("inactive"); $("#panel2").addClass("active"); } else { $scope.hidePanel2(); } } else if (window.innerWidth > 650) { if ($scope.selDetailPanel != 'map' && $scope.selDetailPanel != 'm' && $scope.selDetailPanel != 'p1') { $scope.switchParcelDetails($scope.selDetailPanel); $("#detailPanels").addClass("active"); $("#panel1").addClass("active"); $("#panel1").removeClass("inactive"); if ($scope.selDetailPanel == 'adjoiner') { $scope.showAdjoiner = true; } $scope.showDetail(); setTimeout($scope.myScroll2.refresh(), 300); setTimeout($scope.myScroll3.refresh(), 300); } } $scope.$apply(); setTimeout($scope.myScroll2.refresh(), 400); setTimeout($scope.myScroll3.refresh(), 400); } //==========end of findRelatedRecords this.addCustomBasemap = function ($scope) { //========== var vgin2002 = new esri.dijit.BasemapLayer({ //type:"WebTiledLayer", url: "https://vginmaps.vdem.virginia.gov/arcgis/rest/services/VBMP_Imagery/VBMP2002_WGS/MapServer" //, }); var vgin2002Image = new esri.dijit.Basemap({ layers: [vgin2002], title: "2002 VGIN Imagery", thumbnailUrl: "img/vgin2002.PNG" }); $scope.basemapGallery.add(vgin2002Image); //========== var vgin2009 = new esri.dijit.BasemapLayer({ //type:"WebTiledLayer", url: "https://vginmaps.vdem.virginia.gov/arcgis/rest/services/VBMP_Imagery/VBMP2009_WGS/MapServer" //, }); var vgin2009Image = new esri.dijit.Basemap({ layers: [vgin2009], title: "2009 VGIN Imagery", thumbnailUrl: "img/vgin2009.PNG" }); $scope.basemapGallery.add(vgin2009Image); var vgin2013 = new esri.dijit.BasemapLayer({ //type:"WebTiledLayer", url: "https://vginmaps.vdem.virginia.gov/arcgis/rest/services/VBMP_Imagery/VBMP2013_WGS/MapServer" //, }); var vgin2013Image = new esri.dijit.Basemap({ layers: [vgin2013], title: "2013 VGIN Imagery", thumbnailUrl: "img/vgin2013.PNG" }); $scope.basemapGallery.add(vgin2013Image); var vgin2015 = new esri.dijit.BasemapLayer({ //type:"WebTiledLayer", url: "https://vginmaps.vdem.virginia.gov/arcgis/rest/services/VBMP_Imagery/VBMP2015_WGS/MapServer" //, }); var vgin2015Image = new esri.dijit.Basemap({ layers: [vgin2015], title: "2015 VGIN Imagery", thumbnailUrl: "img/vgin2015.PNG" }); $scope.basemapGallery.add(vgin2015Image); var vgin2017 = new esri.dijit.BasemapLayer({ //type:"WebTiledLayer", url: "https://vginmaps.vdem.virginia.gov/arcgis/rest/services/VBMP_Imagery/VBMP2017_WGS/MapServer" //, }); var vgin2017Image = new esri.dijit.Basemap({ layers: [vgin2017], title: "2017 VGIN Imagery", thumbnailUrl: "img/vgin2017.PNG" }); $scope.basemapGallery.add(vgin2017Image); var vgin2018 = new esri.dijit.BasemapLayer({ //type:"WebTiledLayer", url: "https://vginmaps.vdem.virginia.gov/arcgis/rest/services/VBMP_Imagery/VBMP2018_WGS/MapServer" //, }); var vgin2018Image = new esri.dijit.Basemap({ layers: [vgin2018], title: "2018 VGIN Imagery", thumbnailUrl: "img/vgin2018.PNG" }); $scope.basemapGallery.add(vgin2018Image); } });