UNPKG

@progress/kendo-ui

Version:

This package is part of the [Kendo UI for jQuery](http://www.telerik.com/kendo-ui) suite.

1 lines 5.85 kB
module.exports=function(a){var i={};function r(t){if(i[t])return i[t].exports;var e=i[t]={exports:{},id:t,loaded:!1};return a[t].call(e.exports,e,e.exports,r),e.loaded=!0,e.exports}return r.m=a,r.c=i,r.p="",r(0)}({0:function(t,e,a){t.exports=a(934)},3:function(t,e){t.exports=function(){throw Error("define cannot be used indirect")}},925:function(t,e){t.exports=require("../location")},931:function(t,e){t.exports=require("./base")},934:function(t,e,a){var i;a(3),a=[a(931),a(925)],void 0===(e="function"==typeof(i=function(){var c=window.kendo.jQuery,u=void 0,a=window.kendo,d=a.Class,f=a.data.DataSource,t=a.dataviz,e=a.deepExtend,_=a.geometry,o=a.drawing,r=o.Group,p=o.util.last,v=o.util.defined,i=t.map,h=i.Location,n=i.layers.Layer,s=n.extend({init:function(t,e){this._pan=this._pan.bind(this);n.fn.init.call(this,t,e);this.surface=o.Surface.create(this.element,{width:t.scrollElement.width(),height:t.scrollElement.height()});this._initRoot();this.movable=new a.ui.Movable(this.surface.element);this._markers=[];this._click=this._handler("shapeClick");this.surface.bind("click",this._click);this._mouseenter=this._handler("shapeMouseEnter");this.surface.bind("mouseenter",this._mouseenter);this._mouseleave=this._handler("shapeMouseLeave");this.surface.bind("mouseleave",this._mouseleave);this._initDataSource()},options:{autoBind:true},destroy:function(){n.fn.destroy.call(this);this.surface.destroy();this.dataSource.unbind("change",this._dataChange)},setDataSource:function(t){if(this.dataSource)this.dataSource.unbind("change",this._dataChange);this.dataSource=a.data.DataSource.create(t);this.dataSource.bind("change",this._dataChange);if(this.options.autoBind)this.dataSource.fetch()},_reset:function(){n.fn._reset.call(this);this._translateSurface();if(this._data)this._load(this._data)},_initRoot:function(){this._root=new r;this.surface.draw(this._root)},_beforeReset:function(){this.surface.clear();this._initRoot()},_resize:function(){this.surface.size(this.map.size())},_initDataSource:function(){var t=this.options.dataSource;this._dataChange=this._dataChange.bind(this);this.dataSource=f.create(t).bind("change",this._dataChange);if(t&&this.options.autoBind)this.dataSource.fetch()},_dataChange:function(t){this._data=t.sender.view();this._load(this._data)},_load:function(t){this._clearMarkers();if(!this._loader)this._loader=new l(this.map,this.options.style,this);var e=new r;for(var a=0;a<t.length;a++){var i=this._loader.parse(t[a]);if(i)e.append(i)}this._root.clear();this._root.append(e)},shapeCreated:function(t){var e=false;if(t instanceof o.Circle)e=v(this._createMarker(t));if(!e){var a={layer:this,shape:t};e=this.map.trigger("shapeCreated",a)}return e},featureCreated:function(t){t.layer=this;this.map.trigger("shapeFeatureCreated",t)},_createMarker:function(t){var e=this.map.markers.bind({location:t.location},t.dataItem);if(e)this._markers.push(e);return e},_clearMarkers:function(){for(var t=0;t<this._markers.length;t++)this.map.markers.remove(this._markers[t]);this._markers=[]},_pan:function(){if(!this._panning){this._panning=true;this.surface.suspendTracking()}},_panEnd:function(t){n.fn._panEnd.call(this,t);this._translateSurface();this.surface.resumeTracking();this._panning=false},_translateSurface:function(){var t=this.map;var e=t.locationToView(t.extent().nw);if(this.surface.translate){this.surface.translate(e);this.movable.moveTo({x:e.x,y:e.y})}},_handler:function(a){var i=this;return function(t){if(t.element){var e={layer:i,shape:t.element,originalEvent:t.originalEvent};i.map.trigger(a,e)}}},_activate:function(){n.fn._activate.call(this);this.map.bind("pan",this._pan)},_deactivate:function(){n.fn._deactivate.call(this);this.map.unbind("pan",this._pan)}}),l=d.extend({init:function(t,e,a){this.observer=a;this.locator=t;this.style=e},parse:function(t){var e=new r;var a=true;if(t.type==="Feature"){a=false;this._loadGeometryTo(e,t.geometry,t);this._featureCreated(e,t)}else this._loadGeometryTo(e,t,t);if(a&&e.children.length<2)e=e.children[0];return e},_shapeCreated:function(t){var e=false;if(this.observer&&this.observer.shapeCreated)e=this.observer.shapeCreated(t);return e},_featureCreated:function(t,e){if(this.observer&&this.observer.featureCreated)this.observer.featureCreated({group:t,dataItem:e,properties:e.properties})},_loadGeometryTo:function(t,e,a){var i=e.coordinates;var r;var n;switch(e.type){case"LineString":n=this._loadPolygon(t,[i],a);this._setLineFill(n);break;case"MultiLineString":for(r=0;r<i.length;r++){n=this._loadPolygon(t,[i[r]],a);this._setLineFill(n)}break;case"Polygon":this._loadPolygon(t,i,a);break;case"MultiPolygon":for(r=0;r<i.length;r++)this._loadPolygon(t,i[r],a);break;case"Point":this._loadPoint(t,i,a);break;case"MultiPoint":for(r=0;r<i.length;r++)this._loadPoint(t,i[r],a);break}},_setLineFill:function(t){var e=t.segments;if(e.length<4||!e[0].anchor().equals(p(e).anchor()))t.options.fill=null},_loadShape:function(t,e){if(!this._shapeCreated(e))t.append(e);return e},_loadPolygon:function(t,e,a){var i=this._buildPolygon(e);i.dataItem=a;return this._loadShape(t,i)},_buildPolygon:function(t){var e=t.length>1?o.MultiPath:o.Path;var a=new e(this.style);for(var i=0;i<t.length;i++)for(var r=0;r<t[i].length;r++){var n=this.locator.locationToView(h.fromLngLat(t[i][r]));if(r===0)a.moveTo(n.x,n.y);else a.lineTo(n.x,n.y)}return a},_loadPoint:function(t,e,a){var i=h.fromLngLat(e);var r=this.locator.locationToView(i);var n=new _.Circle(r,10);var s=new o.Circle(n,this.style);s.dataItem=a;s.location=i;return this._loadShape(t,s)}});e(a.data,{schemas:{geojson:{type:"json",data:function(t){if(t.type==="FeatureCollection")return t.features;if(t.type==="GeometryCollection")return t.geometries;return t}}},transports:{geojson:{read:{dataType:"json"}}}}),e(t,{map:{layers:{shape:s,ShapeLayer:s},GeoJSONLoader:l}})})?i.apply(e,a):i)||(t.exports=e)}});