Y-SLD/assets/js/map-f2b178f97b.js

3 lines
72 KiB
JavaScript
Raw Normal View History

2024-03-01 11:23:55 +00:00
function toWKT(e){var t,r,n=[];if(e instanceof L.Polygon||e instanceof L.Polyline){for(var a=e.getLatLngs(),o=0;o<a.length;o++)a[o],n.push(a[o].lng+" "+a[o].lat),0===o&&(t=a[o].lng,r=a[o].lat);if(e instanceof L.Polygon)return"POLYGON(("+n.join(",")+","+t+" "+r+"))";if(e instanceof L.Polyline)return"LINESTRING("+n.join(",")+")"}else if(e instanceof L.Marker)return"POINT("+e.getLatLng().lng+" "+e.getLatLng().lat+")"}function renderLayer(e,t){if("undefined"==typeof featureGroup[e.unique_id]&&(featureGroup[e.unique_id]=new Array),featureGroup[e.unique_id][e.name]=new L.FeatureGroup,"undefined"!=typeof e.settings?1==e.settings.active?featureGroup[e.unique_id][e.name].addTo(mymap):e.settings.active=0:(featureGroup[e.unique_id][e.name].addTo(mymap),e.settings=new Object,e.settings.active=1),"undefined"!=typeof page&&"manage"==page&&(jQuery("#active-layers-container").append(Mustache.render(tmpl.activeLayer,{t:e,type:layerType[e.type]})),0==e.settings.active&&jQuery("#at-"+e.unique_id+" a.dropdown-toggle span").addClass("label-danger").removeClass("label-primary"),jQuery(".help-active-popup-hover").popover({title:"Active & In-Active",content:'<div class="row"><div class="col-md-12"><p>This feature allows you to initially hide a layer. This can be used to achieve a desired layer presentation as well as to provide faster map loading for larger layers.</p></div></div>',html:!0,trigger:"hover",container:"body"}),jQuery(".at_active_chk").bootstrapSwitch({size:"mini",onSwitchChange:function(t,r){t.preventDefault();var n=jQuery(this).parents("ul:first"),a=n.attr("data-id"),o=getIndex(selectedLayers,"unique_id",a);selectedLayers[o].settings||"undefined"!=typeof selectedLayers[o].settings||(selectedLayers[o].settings=new Object),r===!0?(selectedLayers[o].settings.active=1,jQuery("#at-"+e.unique_id+" a.dropdown-toggle span").removeClass("label-danger").addClass("label-primary"),mymap.addLayer(featureGroup[a][selectedLayers[o].name])):(selectedLayers[o].settings.active=0,jQuery("#at-"+e.unique_id+" a.dropdown-toggle span").addClass("label-danger").removeClass("label-primary"),mymap.removeLayer(featureGroup[a][selectedLayers[o].name])),calculateBounds()}})),1==e.type||4==e.type){var r={format:"image/png",layers:e.Name,transparent:!0,crs:L.CRS.EPSG4326,unique_id:e.unique_id,srs1:e.SRS,layer_type:e.type};"undefined"!=typeof e.geometry_area&&(r.geometry=e.geometry_area),L.tileLayer.betterWms(e.url,r).addTo(featureGroup[e.unique_id][e.name])}else 2==e.type?""==t?(e.cache_timer||"undefined"!=typeof e.cache_timer||(e.cache_timer=15),t={datasource:e.connection_id,sql_layer_name:e.name,query_box:e.query,_token:jQuery('[name="_token"]').val(),cache_key:e.cache_key,cache_timer:e.cache_timer,type:2},ajaxRequest("map/layer/json","post","json",t,function(t){"200"==t.status?processSQLJSON(t,e):showMsg(t.status,t.msg)})):processSQLJSON(t,e):3==e.type;overlayers_controls(e),overlays[e.name]=featureGroup[e.unique_id][e.name],layerSelector.addOverlay(featureGroup[e.unique_id][e.name],e.name),3==e.type&&jQuery("#at-"+e.unique_id).find(".style-at-layer").remove(),calculateBounds()}function getPopupContent(e,t){return $.each(e.features,function(e,r){$.each(r.properties,function(e,r){t=t.replace("&lt;"+e+"&gt;",r)})}),t}function processSQLJSON(e,t){t=defaultLayerStyle(t),jQuery.each(e.result,function(e,r){L.geoJson(r,{onEachFeature:function(e,r){if(r instanceof L.Marker){var n=!1;"nr"==t.style.type?$.each(t.style.custom,function(a,o){if(between(e.properties[t.style.field],o.val))return n=!0,r.setIcon(L.AwesomeMarkers.icon(o.style)),!1}):"g"==t.style.type&&$.each(t.style.custom,function(a,o){if(e.properties[t.style.field]==o.val)return n=!0,r.setIcon(L.AwesomeMarkers.icon(o.style)),!1}),0==n&&r.setIcon(L.AwesomeMarkers.icon(t.style.marker))}r.on("click",function(n){var a=getSQLPopupContent(e.properties,t.pc);r.bindPopup(a)})},style:function(e,r){return t.style.polygon}}).addTo(featureGroup[t.unique_id][t.name]),mymap.fitBounds(featureGroup[t.unique_id][t.name].getBounds())})}function initLayer(){selectedLayers.sort(sort_value_layer),selectedBaseLayers.length>0&&
return parseFloat(t[e])}),l=document.getElementById(t+"-style-selection").innerHTML;if(Mustache.parse(l),jQuery("#attribute-input-field").html(Mustache.render(l,{max:s[e]})),0==jQuery("#attribute-input-field table tboday tr").length){var l=document.getElementById("nr-column-style-selection").innerHTML;Mustache.parse(l);var u=Mustache.render(l,{});jQuery("#attribute-input-field table tbody").append(u)}}else{var s=_.groupBy(o,function(t){return t[e]}),l=document.getElementById(t+"-style-selection").innerHTML;Mustache.parse(l),jQuery("#attribute-input-field").html(Mustache.render(l,{max:s[e]})),$.each(s,function(e,t){var r=document.getElementById("g-column-style-selection").innerHTML;Mustache.parse(r);var n=Mustache.render(r,{attr:e});jQuery("#attribute-input-field table tbody").append(n)})}}});var s=new Array,l=0;jQuery("#attribute-input-field").on("change","table input, table select",function(){var e=jQuery('#map-sidebar-container [name="my_unique_id"]').val(),t=getIndex(selectedLayers,"unique_id",e),r=featureGroup[selectedLayers[t].unique_id][selectedLayers[t].name].getLayers(),n=jQuery("#style_column_name").val(),a=jQuery("#style_data_type").val();s=new Array,l=0,jQuery("#attribute-numeric-table tbody tr").each(function(){var e=jQuery(this),t=e.find("input:text").val(),o={};e.find("select").each(function(){o[jQuery(this).attr("data-name")]=jQuery(this).val()}),s[l]=new Object,s[l].val=t,s[l].style=o,l++,o=getMarkerStyle(o),$.each(r,function(e,r){r.eachLayer(function(e){"nr"==a?between(e.feature.properties[n],t)&&e.setIcon(L.AwesomeMarkers.icon(o)):"g"==a&&e.feature.properties[n]==t&&e.setIcon(L.AwesomeMarkers.icon(o))})})}),"undefined"==typeof selectedLayers[t].style.custom&&(selectedLayers[t].style.custom=new Object),selectedLayers[t].style.custom=s,selectedLayers[t].style.type=a,selectedLayers[t].style.field=n}),e.style.marker&&"undefined"!=typeof e.style.marker&&(jQuery('#layer-marker-styling select[name="marker_color"]').val(e.style.marker.markerColor),jQuery('#layer-marker-styling select[name="marker_icon"]').val(e.style.marker.icon))}jQuery("#cs-layer-info input").change(function(){var e=jQuery(this),t=jQuery('#map-sidebar-container [name="my_unique_id"]').val(),r=getIndex(selectedLayers,"unique_id",t);selectedLayers[r][e.attr("name")]=e.val(),jQuery("#at-"+selectedLayers[r].unique_id+" span.at-text").html(selectedLayers[r].name)}),3==e.type&&(autocomplete=new google.maps.places.Autocomplete(document.getElementById("autoFillAddress"),{types:["geocode"]}),google.maps.event.addListener(autocomplete,"place_changed",function(e){lat=autocomplete.getPlace().geometry.location.lat(),lng=autocomplete.getPlace().geometry.location.lng();var t=jQuery("#style_settings_form").find('[name="my_unique_id"]').val(),r=getIndex(selectedLayers,"unique_id",t);selectedLayers[r].layer.setLatLng([lat,lng]),selectedLayers[r].location=jQuery("#autoFillAddress").val(),mymap.setView([lat,lng],mymap.getZoom())}))}function tipButtonsclick(e){var t=void 0;return $(".leaflet-draw-actions").each(function(e){"block"==$(this).css("display")&&(t=$(this))}),t&&t.find("a")[e].click(),!1}function getDetailsByType(e,t,r,n,a){var o=[],s=e.length;for(i=0;i<s;i++)e[i][t]==r&&e[i][n]==a&&o.push(e[i]);return o}function initiateUpload(){if(""==$("#data-importer").val())return void(globalLastFileFormat="");var e=$("form#layer-form input[type=file]").val().split(".");globalLastFileFormat=e[e.length-1];var t=new FormData($("form#layer-form")[0]);$.ajax({url:baseURL+"developer/map/file/upload",type:"POST",xhr:function(){var e=$.ajaxSettings.xhr();return e.upload&&e.upload.addEventListener("progress",function(e){e.lengthComputable},!1),e},success:function(e){try{if(jsonData=JSON.parse(e),!(jsonData.status=200))return void alert("Invalid File");if("json"==jsonData.format)jQuery.each(jsonData.result,function(e,t){L.geoJson(t,{onEachFeature:function(e,t){t.on("click",function(n){var a=getSQLPopupContent(e.properties,r.pc),o=t.getBounds(),i=L.popup();i.setLatLng(o.getCenter()),i.setContent(a),mymap.openPopup(i)})}}).addTo(mymap)});else if("kml"==jsonData.format||"gpx"
a=getPopupContent(r,selectedLayers[n].pc)}else{if(jQuery(r).find("tr").length<2)return;a=r}L.popup({maxWidth:"auto"}).setLatLng(t).setContent(a).openOn(this._map)}}),L.tileLayer.betterWms=function(e,t){return new L.TileLayer.BetterWMS(e,t)},L.Icon.Default.imagePath=baseURL+"/assets/plugins/leaflet/images",L.AwesomeMarkers.Icon.prototype.options.prefix="fa"});var pgsql_tmpl,featureGroup=new Array,bounds,layerSelector=new Array,overlays=new Array,mymap,currentBaseMap=new Array,marker_content_tmpl,popupContentId=new Array,tmpl={},db={},table_tmpl=document.getElementById("table-tmpl").innerHTML;Mustache.parse(table_tmpl);var column_tmpl=document.getElementById("column-tmpl").innerHTML;Mustache.parse(column_tmpl);var currentIndex=-1,drawingGroup,editMode=!1;jQuery(document).ready(function(){$.fn.button.Constructor.DEFAULTS={loadingText:'<i class="fa fa-spin fa-spinner"></i> Processing...…'},$(".gs-collapse").on("expanded",function(){var e=jQuery(this);getGeoLayer(e,"gs")}),$(".wms-collapse").on("expanded",function(){var e=jQuery(this);getGeoLayer(e,"wms")}),drawingGroup=new L.FeatureGroup,marker_content_tmpl=document.getElementById("marker-content-tmpl").innerHTML,Mustache.parse(marker_content_tmpl),tmpl.activeLayer=document.getElementById("active-layers-tmpl").innerHTML,Mustache.parse(tmpl.activeLayer),defaultSettings();var e=new L.Control.Draw({edit:{featureGroup:drawingGroup}});mymap=L.map("mapid",{}).setView([51.505,-.09],13),e.addTo(mymap),drawingGroup.addTo(mymap),drawing_event(),selectedBaseLayers.length>0?layername=selectedBaseLayers[0].name:$.each(baseLayers.mymap,function(e,t){layername=e}),$("#share-modal").on("shown.bs.modal",function(){var e=baseURL;map.settings.https||1==map.settings.https||(e=baseURL.replace("s://","://"));var t='<iframe src="'+e+"map/embed/"+map.random_token+'" height="'+map.settings.height+'" width="'+map.settings.width+'"></iframe>';jQuery("#ds_iframe_code").val(t),jQuery("#ds_share_url").val(e+"map/share/"+map.random_token),jQuery("#ds_json_url").val(e+"map/json/"+map.random_token)}),currentBaseMap=isGoogle()?L.tileLayer("https://{s}.google.com/vt/lyrs=s&x={x}&y={y}&z={z}",{maxZoom:20,subdomains:["mt0","mt1","mt2","mt3"]}).addTo(mymap):L.tileLayer(baseLayers.mymap[layername]._url,{maxZoom:18,attribution:baseLayers.mymap[layername].options.attribution,id:baseLayers.mymap[layername].options.id}).addTo(mymap),layerSelector=L.control.layers({},{}),mymap.on("baselayerchange",function(e,t){}),mymap.addControl(layerSelector),jQuery("#active-layers-container").on("click",".delete-at-layer",function(){var e=jQuery(this);swal({title:"Are you sure?",text:"This will remove layer from current map.",type:"warning",showCancelButton:!0,confirmButtonColor:"#DD6B55",confirmButtonText:"Yes, delete it!",cancelButtonText:"No, cancel plx!",closeOnConfirm:!0,closeOnCancel:!0},function(t){if(t){var r=e.parents("ul:first").attr("data-id");deleteLayer(r)}})}),jQuery("#active-layers-container").on("click",".geometry-area-limit",function(){var e=jQuery(this),t=e.parents("ul:first").attr("data-id"),r=document.getElementById("geometry-area-limit-tmpl").innerHTML;Mustache.parse(r);var n=getIndex(selectedLayers,"unique_id",t),a=_.filter(selectedLayers,function(e){return 2==e.type||3==e.type});jQuery("#geometry-area-limit-form-body").html(Mustache.render(r,{unique_id:t,t:n,f:a})),jQuery("#geometry-area-limit-modal").modal("show"),validateForm(jQuery("#geometry-area-limit-form")),jQuery("#geometry_area_dd").click(function(){var e=(jQuery(this).val(),jQuery(this).val()),e=document.getElementById(e).innerHTML;Mustache.parse(e),jQuery("#geometry-type-render-container").html(Mustache.render(e))}),jQuery("#geometry-area-limit-submit").unbind("click"),jQuery("#geometry-area-limit-submit").click(function(){var e=jQuery("#geometry-area-limit-form");if(e.validate().form()){var t=e.find('[name="unique_id"]').val(),r=getIndex(selectedLayers,"unique_id",t),n=e.find('[name="geometry_area"]').val();if("custom"==n){var a=getIndex(selectedLayers,"unique_id",n);selectedLayers[r].geometry_area=jQuery("#custom_geometry_area").val()}else{va