@progress/kendo-ui
Version:
This package is part of the [Kendo UI for jQuery](http://www.telerik.com/kendo-ui) suite.
1 lines • 5.76 kB
JavaScript
module.exports=function(t){function e(i){if(a[i])return a[i].exports;var n=a[i]={exports:{},id:i,loaded:!1};return t[i].call(n.exports,n,n.exports,e),n.loaded=!0,n.exports}var a={};return e.m=t,e.c=a,e.p="",e(0)}({0:function(t,e,a){t.exports=a(900)},3:function(t,e){t.exports=function(){throw Error("define cannot be used indirect")}},891:function(t,e){t.exports=require("../location")},897:function(t,e){t.exports=require("./base")},900:function(t,e,a){var i,n,r;!function(s,define){n=[a(897),a(891)],i=s,r="function"==typeof i?i.apply(e,n):i,!(void 0!==r&&(t.exports=r))}(function(){!function(t,e){var a=t.proxy,i=window.kendo,n=i.Class,r=i.data.DataSource,s=i.dataviz,o=i.deepExtend,h=i.geometry,c=i.drawing,l=c.Group,u=c.util.last,d=c.util.defined,f=s.map,_=f.Location,p=f.layers.Layer,g=p.extend({init:function(t,e){this._pan=a(this._pan,this),p.fn.init.call(this,t,e),this.surface=c.Surface.create(this.element,{width:t.scrollElement.width(),height:t.scrollElement.height()}),this._initRoot(),this.movable=new i.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:!0},destroy:function(){p.fn.destroy.call(this),this.surface.destroy(),this.dataSource.unbind("change",this._dataChange)},setDataSource:function(t){this.dataSource&&this.dataSource.unbind("change",this._dataChange),this.dataSource=i.data.DataSource.create(t),this.dataSource.bind("change",this._dataChange),this.options.autoBind&&this.dataSource.fetch()},_reset:function(){p.fn._reset.call(this),this._translateSurface(),this._data&&this._load(this._data)},_initRoot:function(){this._root=new l,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=a(this._dataChange,this),this.dataSource=r.create(t).bind("change",this._dataChange),t&&this.options.autoBind&&this.dataSource.fetch()},_dataChange:function(t){this._data=t.sender.view(),this._load(this._data)},_load:function(t){var e,a,i;for(this._clearMarkers(),this._loader||(this._loader=new m(this.map,this.options.style,this)),e=new l,a=0;a<t.length;a++)i=this._loader.parse(t[a]),i&&e.append(i);this._root.clear(),this._root.append(e)},shapeCreated:function(t){var e,a=!1;return t instanceof c.Circle&&(a=d(this._createMarker(t))),a||(e={layer:this,shape:t},a=this.map.trigger("shapeCreated",e)),a},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);return e&&this._markers.push(e),e},_clearMarkers:function(){for(var t=0;t<this._markers.length;t++)this.map.markers.remove(this._markers[t]);this._markers=[]},_pan:function(){this._panning||(this._panning=!0,this.surface.suspendTracking())},_panEnd:function(t){p.fn._panEnd.call(this,t),this._translateSurface(),this.surface.resumeTracking(),this._panning=!1},_translateSurface:function(){var t=this.map,e=t.locationToView(t.extent().nw);this.surface.translate&&(this.surface.translate(e),this.movable.moveTo({x:e.x,y:e.y}))},_handler:function(t){var e=this;return function(a){if(a.element){var i={layer:e,shape:a.element,originalEvent:a.originalEvent};e.map.trigger(t,i)}}},_activate:function(){p.fn._activate.call(this),this.map.bind("pan",this._pan)},_deactivate:function(){p.fn._deactivate.call(this),this.map.unbind("pan",this._pan)}}),m=n.extend({init:function(t,e,a){this.observer=a,this.locator=t,this.style=e},parse:function(t){var e=new l,a=!0;return"Feature"===t.type?(a=!1,this._loadGeometryTo(e,t.geometry,t),this._featureCreated(e,t)):this._loadGeometryTo(e,t,t),a&&e.children.length<2&&(e=e.children[0]),e},_shapeCreated:function(t){var e=!1;return this.observer&&this.observer.shapeCreated&&(e=this.observer.shapeCreated(t)),e},_featureCreated:function(t,e){this.observer&&this.observer.featureCreated&&this.observer.featureCreated({group:t,dataItem:e,properties:e.properties})},_loadGeometryTo:function(t,e,a){var i,n,r=e.coordinates;switch(e.type){case"LineString":n=this._loadPolygon(t,[r],a),this._setLineFill(n);break;case"MultiLineString":for(i=0;i<r.length;i++)n=this._loadPolygon(t,[r[i]],a),this._setLineFill(n);break;case"Polygon":this._loadPolygon(t,r,a);break;case"MultiPolygon":for(i=0;i<r.length;i++)this._loadPolygon(t,r[i],a);break;case"Point":this._loadPoint(t,r,a);break;case"MultiPoint":for(i=0;i<r.length;i++)this._loadPoint(t,r[i],a)}},_setLineFill:function(t){var e=t.segments;(e.length<4||!e[0].anchor().equals(u(e).anchor()))&&(t.options.fill=null)},_loadShape:function(t,e){return this._shapeCreated(e)||t.append(e),e},_loadPolygon:function(t,e,a){var i=this._buildPolygon(e);return i.dataItem=a,this._loadShape(t,i)},_buildPolygon:function(t){var e,a,i,n=t.length>1?c.MultiPath:c.Path,r=new n(this.style);for(e=0;e<t.length;e++)for(a=0;a<t[e].length;a++)i=this.locator.locationToView(_.fromLngLat(t[e][a])),0===a?r.moveTo(i.x,i.y):r.lineTo(i.x,i.y);return r},_loadPoint:function(t,e,a){var i=_.fromLngLat(e),n=this.locator.locationToView(i),r=new h.Circle(n,10),s=new c.Circle(r,this.style);return s.dataItem=a,s.location=i,this._loadShape(t,s)}});o(i.data,{schemas:{geojson:{type:"json",data:function(t){return"FeatureCollection"===t.type?t.features:"GeometryCollection"===t.type?t.geometries:t}}},transports:{geojson:{read:{dataType:"json"}}}}),o(s,{map:{layers:{shape:g,ShapeLayer:g},GeoJSONLoader:m}})}(window.kendo.jQuery)},a(3))}});