leaflet-js 0.7.9 → 0.8.dev2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.rdoc +0 -10
- data/Rakefile +3 -3
- data/leaflet-js.gemspec +7 -13
- data/lib/leaflet-js.rb +10 -2
- data/lib/leaflet.draw/BREAKINGCHANGES.md +54 -0
- data/lib/leaflet.draw/CHANGELOG.md +130 -0
- data/lib/leaflet.draw/Jakefile.js +48 -0
- data/lib/leaflet.draw/MIT-LICENCE.txt +20 -0
- data/lib/leaflet.draw/README.md +427 -0
- data/lib/leaflet.draw/TODO.md +62 -0
- data/lib/leaflet.draw/build/build.html +243 -0
- data/lib/leaflet.draw/build/build.js +187 -0
- data/lib/leaflet.draw/build/deps.js +76 -0
- data/lib/leaflet.draw/build/hintrc.js +39 -0
- data/lib/leaflet.draw/build/leaflet.draw-include.js +42 -0
- data/{vendor/assets/Leaflet.draw → lib/leaflet.draw}/dist/images/spritesheet-2x.png +0 -0
- data/{vendor/assets/Leaflet.draw → lib/leaflet.draw}/dist/images/spritesheet.png +0 -0
- data/lib/leaflet.draw/dist/leaflet.draw-src.js +2872 -0
- data/lib/leaflet.draw/dist/leaflet.draw.css +295 -0
- data/lib/leaflet.draw/dist/leaflet.draw.js +10 -0
- data/lib/leaflet.draw/examples/basic.html +113 -0
- data/lib/leaflet.draw/examples/edithandlers.html +66 -0
- data/{vendor/assets/Leaflet/dist → lib/leaflet.draw/examples/libs}/images/layers-2x.png +0 -0
- data/{vendor/assets/Leaflet/dist → lib/leaflet.draw/examples/libs}/images/layers.png +0 -0
- data/{vendor/assets/Leaflet/dist → lib/leaflet.draw/examples/libs}/images/marker-icon-2x.png +0 -0
- data/{vendor/assets/Leaflet/dist → lib/leaflet.draw/examples/libs}/images/marker-icon.png +0 -0
- data/lib/leaflet.draw/examples/libs/images/marker-icon@2x.png +0 -0
- data/{vendor/assets/Leaflet/dist → lib/leaflet.draw/examples/libs}/images/marker-shadow.png +0 -0
- data/lib/leaflet.draw/examples/libs/leaflet-src.js +9191 -0
- data/{vendor/assets/leaflet.css.erb → lib/leaflet.draw/examples/libs/leaflet.css} +2 -2
- data/lib/leaflet.draw/package.json +40 -0
- data/lib/leaflet.draw/spec/after.js +2 -0
- data/lib/leaflet.draw/spec/before.js +3 -0
- data/lib/leaflet.draw/spec/expect.js +1253 -0
- data/lib/leaflet.draw/spec/happen.js +93 -0
- data/lib/leaflet.draw/spec/index.html +38 -0
- data/lib/leaflet.draw/spec/karma.conf.js +72 -0
- data/lib/leaflet.draw/spec/sinon.js +4223 -0
- data/lib/leaflet.draw/spec/spec.hintrc.js +25 -0
- data/lib/leaflet.draw/spec/suites/DrawControlSpec.js +14 -0
- data/lib/leaflet.draw/spec/suites/GeometryUtilSpec.js +25 -0
- data/lib/leaflet.draw/spec/suites/LatLngUtilSpec.js +11 -0
- data/lib/leaflet.draw/spec/suites/SpecHelper.js +28 -0
- data/{vendor/assets/Leaflet.draw → lib/leaflet.draw}/src/Control.Draw.js +9 -9
- data/{vendor/assets/Leaflet.draw → lib/leaflet.draw}/src/Leaflet.draw.js +1 -2
- data/{vendor/assets/Leaflet.draw → lib/leaflet.draw}/src/Toolbar.js +0 -0
- data/{vendor/assets/Leaflet.draw → lib/leaflet.draw}/src/Tooltip.js +0 -0
- data/{vendor/assets/Leaflet.draw → lib/leaflet.draw}/src/copyright.js +0 -0
- data/{vendor/assets/Leaflet.draw → lib/leaflet.draw}/src/draw/DrawToolbar.js +0 -4
- data/{vendor/assets/Leaflet.draw → lib/leaflet.draw}/src/draw/handler/Draw.Circle.js +1 -1
- data/{vendor/assets/Leaflet.draw → lib/leaflet.draw}/src/draw/handler/Draw.Feature.js +2 -2
- data/{vendor/assets/Leaflet.draw → lib/leaflet.draw}/src/draw/handler/Draw.Marker.js +0 -0
- data/{vendor/assets/Leaflet.draw → lib/leaflet.draw}/src/draw/handler/Draw.Polygon.js +0 -0
- data/{vendor/assets/Leaflet.draw → lib/leaflet.draw}/src/draw/handler/Draw.Polyline.js +0 -0
- data/{vendor/assets/Leaflet.draw → lib/leaflet.draw}/src/draw/handler/Draw.Rectangle.js +1 -19
- data/{vendor/assets/Leaflet.draw → lib/leaflet.draw}/src/draw/handler/Draw.SimpleShape.js +1 -7
- data/{vendor/assets/Leaflet.draw → lib/leaflet.draw}/src/edit/EditToolbar.js +2 -9
- data/{vendor/assets/Leaflet.draw → lib/leaflet.draw}/src/edit/handler/Edit.Circle.js +0 -0
- data/{vendor/assets/Leaflet.draw → lib/leaflet.draw}/src/edit/handler/Edit.Poly.js +2 -14
- data/{vendor/assets/Leaflet.draw → lib/leaflet.draw}/src/edit/handler/Edit.Rectangle.js +0 -0
- data/{vendor/assets/Leaflet.draw → lib/leaflet.draw}/src/edit/handler/Edit.SimpleShape.js +3 -11
- data/{vendor/assets/Leaflet.draw → lib/leaflet.draw}/src/edit/handler/EditToolbar.Delete.js +1 -4
- data/{vendor/assets/Leaflet.draw → lib/leaflet.draw}/src/edit/handler/EditToolbar.Edit.js +83 -17
- data/{vendor/assets/Leaflet.draw → lib/leaflet.draw}/src/ext/GeometryUtil.js +1 -1
- data/{vendor/assets/Leaflet.draw → lib/leaflet.draw}/src/ext/LatLngUtil.js +0 -0
- data/{vendor/assets/Leaflet.draw → lib/leaflet.draw}/src/ext/LineUtil.Intersect.js +0 -0
- data/{vendor/assets/Leaflet.draw → lib/leaflet.draw}/src/ext/Polygon.Intersect.js +0 -0
- data/{vendor/assets/Leaflet.draw → lib/leaflet.draw}/src/ext/Polyline.Intersect.js +0 -0
- data/{vendor/assets/Leaflet.draw → lib/leaflet.draw}/src/images/spritesheet.svg +0 -0
- data/lib/leaflet.label/CHANGELOG.md +67 -0
- data/lib/leaflet.label/Jakefile.js +21 -0
- data/lib/leaflet.label/MIT-LICENCE.txt +20 -0
- data/lib/leaflet.label/README.md +103 -0
- data/lib/leaflet.label/build/build.js +155 -0
- data/lib/leaflet.label/build/deps.js +26 -0
- data/lib/leaflet.label/build/hint.js +30 -0
- data/lib/leaflet.label/build/hintrc.js +51 -0
- data/lib/leaflet.label/dist/images/death.png +0 -0
- data/lib/leaflet.label/dist/leaflet.label-src.js +542 -0
- data/{vendor/assets → lib/leaflet.label/dist}/leaflet.label.css +0 -0
- data/lib/leaflet.label/dist/leaflet.label.js +9 -0
- data/lib/leaflet.label/example/label.html +85 -0
- data/lib/leaflet.label/libs/leaflet/images/layers-2x.png +0 -0
- data/lib/leaflet.label/libs/leaflet/images/layers.png +0 -0
- data/lib/leaflet.label/libs/leaflet/images/marker-icon-2x.png +0 -0
- data/lib/leaflet.label/libs/leaflet/images/marker-icon.png +0 -0
- data/lib/leaflet.label/libs/leaflet/images/marker-icon@2x.png +0 -0
- data/lib/leaflet.label/libs/leaflet/images/marker-shadow.png +0 -0
- data/lib/leaflet.label/libs/leaflet/leaflet-src.js +9108 -0
- data/lib/leaflet.label/libs/leaflet/leaflet.css +478 -0
- data/lib/leaflet.label/libs/leaflet/leaflet.js +9 -0
- data/lib/leaflet.label/package.json +19 -0
- data/{vendor/assets/Leaflet.label → lib/leaflet.label}/src/BaseMarkerMethods.js +0 -0
- data/{vendor/assets/Leaflet.label → lib/leaflet.label}/src/CircleMarker.Label.js +0 -0
- data/{vendor/assets/Leaflet.label → lib/leaflet.label}/src/FeatureGroup.Label.js +0 -0
- data/{vendor/assets/Leaflet.label → lib/leaflet.label}/src/Label.js +2 -5
- data/{vendor/assets/Leaflet.label → lib/leaflet.label}/src/Leaflet.label.js +1 -1
- data/{vendor/assets/Leaflet.label → lib/leaflet.label}/src/Map.Label.js +0 -0
- data/{vendor/assets/Leaflet.label → lib/leaflet.label}/src/Marker.Label.js +0 -0
- data/{vendor/assets/Leaflet.label → lib/leaflet.label}/src/Path.Label.js +0 -0
- data/{vendor/assets/Leaflet.label → lib/leaflet.label}/src/copyright.js +0 -0
- data/lib/leaflet/CHANGELOG.md +1007 -0
- data/lib/leaflet/CONTRIBUTING.md +155 -0
- data/lib/leaflet/FAQ.md +138 -0
- data/lib/leaflet/Jakefile.js +56 -0
- data/lib/leaflet/LICENSE +23 -0
- data/lib/leaflet/PLUGIN-GUIDE.md +127 -0
- data/lib/leaflet/README.md +34 -0
- data/lib/leaflet/build/build.html +227 -0
- data/lib/leaflet/build/build.js +190 -0
- data/lib/leaflet/build/deps.js +258 -0
- data/lib/leaflet/build/hintrc.js +40 -0
- data/lib/leaflet/debug/css/mobile.css +6 -0
- data/lib/leaflet/debug/css/screen.css +5 -0
- data/lib/leaflet/debug/hacks/jitter.html +42 -0
- data/lib/leaflet/debug/leaflet-include.js +59 -0
- data/lib/leaflet/debug/map/canvas.html +49 -0
- data/lib/leaflet/debug/map/controls.html +49 -0
- data/lib/leaflet/debug/map/geolocation.html +34 -0
- data/lib/leaflet/debug/map/grid.html +45 -0
- data/lib/leaflet/debug/map/iframe.html +11 -0
- data/lib/leaflet/debug/map/image-overlay.html +43 -0
- data/lib/leaflet/debug/map/map-mobile.html +34 -0
- data/lib/leaflet/debug/map/map.html +61 -0
- data/lib/leaflet/debug/map/max-bounds.html +38 -0
- data/lib/leaflet/debug/map/opacity.html +223 -0
- data/lib/leaflet/debug/map/scroll.html +41 -0
- data/lib/leaflet/debug/map/simple-proj.html +59 -0
- data/lib/leaflet/debug/map/wms-marble.html +30 -0
- data/lib/leaflet/debug/map/wms.html +40 -0
- data/lib/leaflet/debug/map/zoomlevels.html +45 -0
- data/lib/leaflet/debug/tests/add_remove_layers.html +87 -0
- data/lib/leaflet/debug/tests/bringtoback.html +37 -0
- data/lib/leaflet/debug/tests/canvasloop.html +47 -0
- data/lib/leaflet/debug/tests/click_on_canvas.html +58 -0
- data/lib/leaflet/debug/tests/click_on_canvas_broken.html +49 -0
- data/lib/leaflet/debug/tests/dragging_and_copyworldjump.html +61 -0
- data/lib/leaflet/debug/tests/opacity.html +56 -0
- data/lib/leaflet/debug/tests/popupcontextmenuclicks.html +59 -0
- data/lib/leaflet/debug/tests/remove_while_dragging.html +28 -0
- data/lib/leaflet/debug/tests/removetilewhilepan.html +41 -0
- data/lib/leaflet/debug/tests/reuse_popups.html +40 -0
- data/lib/leaflet/debug/tests/rtl.html +42 -0
- data/lib/leaflet/debug/tests/rtl2.html +27 -0
- data/lib/leaflet/debug/tests/set_icon_reuse_dom.html +43 -0
- data/lib/leaflet/debug/tests/svg_clicks.html +54 -0
- data/lib/leaflet/debug/vector/bounds-extend.html +88 -0
- data/lib/leaflet/debug/vector/feature-group-bounds.html +90 -0
- data/lib/leaflet/debug/vector/geojson-sample.js +53 -0
- data/lib/leaflet/debug/vector/geojson.html +173 -0
- data/lib/leaflet/debug/vector/rectangle.html +53 -0
- data/lib/leaflet/debug/vector/route.js +1 -0
- data/lib/leaflet/debug/vector/touchzoomemu.html +194 -0
- data/lib/leaflet/debug/vector/us-states.js +54 -0
- data/lib/leaflet/debug/vector/vector-bounds.html +69 -0
- data/lib/leaflet/debug/vector/vector-canvas.html +92 -0
- data/lib/leaflet/debug/vector/vector-mobile.html +38 -0
- data/lib/leaflet/debug/vector/vector-simple.html +47 -0
- data/lib/leaflet/debug/vector/vector.html +37 -0
- data/lib/leaflet/debug/vector/vector2.html +58 -0
- data/lib/leaflet/dist/images/layers-2x.png +0 -0
- data/lib/leaflet/dist/images/layers.png +0 -0
- data/lib/leaflet/dist/images/marker-icon-2x.png +0 -0
- data/lib/leaflet/dist/images/marker-icon.png +0 -0
- data/lib/leaflet/dist/images/marker-shadow.png +0 -0
- data/lib/leaflet/dist/leaflet.css +494 -0
- data/lib/leaflet/package.json +28 -0
- data/lib/leaflet/spec/after.js +2 -0
- data/lib/leaflet/spec/expect.js +1253 -0
- data/lib/leaflet/spec/index.html +87 -0
- data/lib/leaflet/spec/karma.conf.js +68 -0
- data/lib/leaflet/spec/sinon.js +4223 -0
- data/lib/leaflet/spec/spec.hintrc.js +25 -0
- data/lib/leaflet/spec/suites/SpecHelper.js +42 -0
- data/lib/leaflet/spec/suites/control/Control.AttributionSpec.js +68 -0
- data/lib/leaflet/spec/suites/control/Control.LayersSpec.js +67 -0
- data/lib/leaflet/spec/suites/control/Control.ScaleSpec.js +6 -0
- data/lib/leaflet/spec/suites/core/ClassSpec.js +166 -0
- data/lib/leaflet/spec/suites/core/EventsSpec.js +416 -0
- data/lib/leaflet/spec/suites/core/UtilSpec.js +237 -0
- data/lib/leaflet/spec/suites/dom/DomEventSpec.js +102 -0
- data/lib/leaflet/spec/suites/dom/DomUtilSpec.js +59 -0
- data/lib/leaflet/spec/suites/dom/PosAnimationSpec.js +27 -0
- data/lib/leaflet/spec/suites/geo/CRSSpec.js +151 -0
- data/lib/leaflet/spec/suites/geo/LatLngBoundsSpec.js +144 -0
- data/lib/leaflet/spec/suites/geo/LatLngSpec.js +102 -0
- data/lib/leaflet/spec/suites/geo/ProjectionSpec.js +96 -0
- data/lib/leaflet/spec/suites/geometry/BoundsSpec.js +87 -0
- data/lib/leaflet/spec/suites/geometry/LineUtilSpec.js +75 -0
- data/lib/leaflet/spec/suites/geometry/PointSpec.js +104 -0
- data/lib/leaflet/spec/suites/geometry/PolyUtilSpec.js +27 -0
- data/lib/leaflet/spec/suites/geometry/TransformationSpec.js +31 -0
- data/lib/leaflet/spec/suites/layer/FeatureGroupSpec.js +86 -0
- data/lib/leaflet/spec/suites/layer/GeoJSONSpec.js +282 -0
- data/lib/leaflet/spec/suites/layer/LayerGroupSpec.js +71 -0
- data/lib/leaflet/spec/suites/layer/PopupSpec.js +119 -0
- data/lib/leaflet/spec/suites/layer/marker/MarkerSpec.js +117 -0
- data/lib/leaflet/spec/suites/layer/tile/GridLayerSpec.js +70 -0
- data/lib/leaflet/spec/suites/layer/tile/TileLayerSpec.js +88 -0
- data/lib/leaflet/spec/suites/layer/vector/CircleMarkerSpec.js +53 -0
- data/lib/leaflet/spec/suites/layer/vector/CircleSpec.js +18 -0
- data/lib/leaflet/spec/suites/layer/vector/PolygonSpec.js +96 -0
- data/lib/leaflet/spec/suites/layer/vector/PolylineGeometrySpec.js +35 -0
- data/lib/leaflet/spec/suites/layer/vector/PolylineSpec.js +55 -0
- data/lib/leaflet/spec/suites/map/MapSpec.js +553 -0
- data/lib/leaflet/spec/suites/map/handler/Map.DragSpec.js +38 -0
- data/{vendor/assets/Leaflet → lib/leaflet}/src/Leaflet.js +16 -11
- data/{vendor/assets/Leaflet → lib/leaflet}/src/control/Control.Attribution.js +1 -23
- data/{vendor/assets/Leaflet → lib/leaflet}/src/control/Control.Layers.js +42 -57
- data/lib/leaflet/src/control/Control.Scale.js +102 -0
- data/{vendor/assets/Leaflet → lib/leaflet}/src/control/Control.Zoom.js +11 -18
- data/{vendor/assets/Leaflet → lib/leaflet}/src/control/Control.js +7 -9
- data/lib/leaflet/src/copyright.js +4 -0
- data/lib/leaflet/src/core/Browser.js +65 -0
- data/{vendor/assets/Leaflet → lib/leaflet}/src/core/Class.js +8 -13
- data/lib/leaflet/src/core/Events.js +226 -0
- data/{vendor/assets/Leaflet → lib/leaflet}/src/core/Handler.js +0 -0
- data/lib/leaflet/src/core/Util.js +196 -0
- data/{vendor/assets/Leaflet → lib/leaflet}/src/dom/DomEvent.DoubleTap.js +20 -27
- data/lib/leaflet/src/dom/DomEvent.Pointer.js +107 -0
- data/{vendor/assets/Leaflet → lib/leaflet}/src/dom/DomEvent.js +70 -59
- data/lib/leaflet/src/dom/DomUtil.js +213 -0
- data/{vendor/assets/Leaflet → lib/leaflet}/src/dom/Draggable.js +10 -19
- data/{vendor/assets/Leaflet → lib/leaflet}/src/dom/PosAnimation.Timer.js +0 -0
- data/{vendor/assets/Leaflet → lib/leaflet}/src/dom/PosAnimation.js +4 -3
- data/lib/leaflet/src/geo/LatLng.js +67 -0
- data/{vendor/assets/Leaflet → lib/leaflet}/src/geo/LatLngBounds.js +0 -0
- data/lib/leaflet/src/geo/crs/CRS.EPSG3395.js +13 -0
- data/lib/leaflet/src/geo/crs/CRS.EPSG3857.js +17 -0
- data/{vendor/assets/Leaflet → lib/leaflet}/src/geo/crs/CRS.EPSG4326.js +2 -3
- data/lib/leaflet/src/geo/crs/CRS.Earth.js +19 -0
- data/{vendor/assets/Leaflet → lib/leaflet}/src/geo/crs/CRS.Simple.js +10 -1
- data/lib/leaflet/src/geo/crs/CRS.js +63 -0
- data/{vendor/assets/Leaflet → lib/leaflet}/src/geo/projection/Projection.LonLat.js +5 -1
- data/lib/leaflet/src/geo/projection/Projection.Mercator.js +43 -0
- data/lib/leaflet/src/geo/projection/Projection.SphericalMercator.js +31 -0
- data/{vendor/assets/Leaflet → lib/leaflet}/src/geometry/Bounds.js +0 -0
- data/{vendor/assets/Leaflet → lib/leaflet}/src/geometry/LineUtil.js +16 -5
- data/{vendor/assets/Leaflet → lib/leaflet}/src/geometry/Point.js +10 -0
- data/{vendor/assets/Leaflet → lib/leaflet}/src/geometry/PolyUtil.js +0 -0
- data/{vendor/assets/Leaflet → lib/leaflet}/src/geometry/Transformation.js +0 -0
- data/{vendor/assets/Leaflet → lib/leaflet}/src/images/layers.svg +0 -0
- data/lib/leaflet/src/images/logo.svg +85 -0
- data/{vendor/assets/Leaflet → lib/leaflet}/src/images/marker.svg +0 -0
- data/{vendor/assets/Leaflet → lib/leaflet}/src/layer/FeatureGroup.js +3 -20
- data/lib/leaflet/src/layer/GeoJSON.js +275 -0
- data/lib/leaflet/src/layer/ImageOverlay.js +123 -0
- data/lib/leaflet/src/layer/Layer.Popup.js +87 -0
- data/lib/leaflet/src/layer/Layer.js +150 -0
- data/{vendor/assets/Leaflet → lib/leaflet}/src/layer/LayerGroup.js +12 -14
- data/{vendor/assets/Leaflet → lib/leaflet}/src/layer/Popup.js +65 -83
- data/{vendor/assets/Leaflet → lib/leaflet}/src/layer/marker/DivIcon.js +3 -8
- data/{vendor/assets/Leaflet → lib/leaflet}/src/layer/marker/Icon.Default.js +6 -12
- data/{vendor/assets/Leaflet → lib/leaflet}/src/layer/marker/Icon.js +8 -25
- data/{vendor/assets/Leaflet → lib/leaflet}/src/layer/marker/Marker.Drag.js +13 -11
- data/lib/leaflet/src/layer/marker/Marker.Popup.js +16 -0
- data/{vendor/assets/Leaflet → lib/leaflet}/src/layer/marker/Marker.js +52 -103
- data/lib/leaflet/src/layer/tile/GridLayer.js +536 -0
- data/lib/leaflet/src/layer/tile/TileLayer.WMS.js +79 -0
- data/lib/leaflet/src/layer/tile/TileLayer.js +148 -0
- data/lib/leaflet/src/layer/vector/Canvas.js +292 -0
- data/lib/leaflet/src/layer/vector/Circle.js +67 -0
- data/lib/leaflet/src/layer/vector/CircleMarker.js +72 -0
- data/lib/leaflet/src/layer/vector/Path.js +79 -0
- data/lib/leaflet/src/layer/vector/Polygon.js +75 -0
- data/lib/leaflet/src/layer/vector/Polyline.js +223 -0
- data/{vendor/assets/Leaflet → lib/leaflet}/src/layer/vector/Rectangle.js +27 -27
- data/lib/leaflet/src/layer/vector/Renderer.js +75 -0
- data/lib/leaflet/src/layer/vector/SVG.VML.js +134 -0
- data/lib/leaflet/src/layer/vector/SVG.js +189 -0
- data/{vendor/assets/Leaflet → lib/leaflet}/src/map/Map.js +83 -199
- data/{vendor/assets/Leaflet → lib/leaflet}/src/map/anim/Map.PanAnimation.js +0 -0
- data/{vendor/assets/Leaflet → lib/leaflet}/src/map/anim/Map.ZoomAnimation.js +30 -38
- data/{vendor/assets/Leaflet → lib/leaflet}/src/map/ext/Map.Geolocation.js +8 -8
- data/lib/leaflet/src/map/handler/Map.BoxZoom.js +105 -0
- data/{vendor/assets/Leaflet → lib/leaflet}/src/map/handler/Map.DoubleClickZoom.js +0 -0
- data/{vendor/assets/Leaflet → lib/leaflet}/src/map/handler/Map.Drag.js +12 -10
- data/{vendor/assets/Leaflet → lib/leaflet}/src/map/handler/Map.Keyboard.js +19 -17
- data/{vendor/assets/Leaflet → lib/leaflet}/src/map/handler/Map.ScrollWheelZoom.js +10 -6
- data/{vendor/assets/Leaflet → lib/leaflet}/src/map/handler/Map.Tap.js +8 -6
- data/{vendor/assets/Leaflet → lib/leaflet}/src/map/handler/Map.TouchZoom.js +16 -32
- data/vendor/assets/images/layers-2x.png +0 -0
- data/vendor/assets/images/layers.png +0 -0
- data/vendor/assets/images/marker-icon-2x.png +0 -0
- data/vendor/assets/images/marker-icon.png +0 -0
- data/vendor/assets/images/marker-shadow.png +0 -0
- data/vendor/assets/images/spritesheet-2x.png +0 -0
- data/vendor/assets/images/spritesheet.png +0 -0
- data/vendor/assets/{leaflet-js.js → javascripts/leaflet-js.js} +2 -2
- data/vendor/assets/javascripts/leaflet.draw.js +37 -0
- data/vendor/assets/javascripts/leaflet.js +149 -0
- data/vendor/assets/javascripts/leaflet.label.js +11 -0
- data/vendor/assets/{leaflet-js.css → stylesheets/leaflet-js.css} +0 -0
- data/vendor/assets/stylesheets/leaflet.css.erb +478 -0
- data/vendor/assets/{leaflet.draw.css.erb → stylesheets/leaflet.draw.css.erb} +2 -2
- data/vendor/assets/{leaflet.draw.ie.css → stylesheets/leaflet.draw.ie.css} +0 -0
- data/vendor/assets/stylesheets/leaflet.label.css +52 -0
- metadata +298 -137
- data/lib/leaflet-js/engine.rb +0 -7
- data/lib/leaflet-js/version.rb +0 -3
- data/vendor/assets/Leaflet.draw/src/edit/handler/Edit.Marker.js +0 -75
- data/vendor/assets/Leaflet/src/control/Control.Scale.js +0 -112
- data/vendor/assets/Leaflet/src/copyright.js +0 -5
- data/vendor/assets/Leaflet/src/core/Browser.js +0 -66
- data/vendor/assets/Leaflet/src/core/Events.js +0 -178
- data/vendor/assets/Leaflet/src/core/Util.js +0 -182
- data/vendor/assets/Leaflet/src/dom/DomEvent.Pointer.js +0 -156
- data/vendor/assets/Leaflet/src/dom/DomUtil.js +0 -289
- data/vendor/assets/Leaflet/src/geo/LatLng.js +0 -99
- data/vendor/assets/Leaflet/src/geo/crs/CRS.EPSG3395.js +0 -14
- data/vendor/assets/Leaflet/src/geo/crs/CRS.EPSG3857.js +0 -21
- data/vendor/assets/Leaflet/src/geo/crs/CRS.js +0 -32
- data/vendor/assets/Leaflet/src/geo/projection/Projection.Mercator.js +0 -56
- data/vendor/assets/Leaflet/src/geo/projection/Projection.SphericalMercator.js +0 -27
- data/vendor/assets/Leaflet/src/geo/projection/Projection.js +0 -5
- data/vendor/assets/Leaflet/src/layer/GeoJSON.js +0 -286
- data/vendor/assets/Leaflet/src/layer/ImageOverlay.js +0 -141
- data/vendor/assets/Leaflet/src/layer/marker/Marker.Popup.js +0 -90
- data/vendor/assets/Leaflet/src/layer/tile/TileLayer.Anim.js +0 -110
- data/vendor/assets/Leaflet/src/layer/tile/TileLayer.Canvas.js +0 -61
- data/vendor/assets/Leaflet/src/layer/tile/TileLayer.WMS.js +0 -87
- data/vendor/assets/Leaflet/src/layer/tile/TileLayer.js +0 -597
- data/vendor/assets/Leaflet/src/layer/vector/Circle.js +0 -98
- data/vendor/assets/Leaflet/src/layer/vector/CircleMarker.js +0 -45
- data/vendor/assets/Leaflet/src/layer/vector/MultiPoly.js +0 -57
- data/vendor/assets/Leaflet/src/layer/vector/Path.Popup.js +0 -65
- data/vendor/assets/Leaflet/src/layer/vector/Path.SVG.js +0 -230
- data/vendor/assets/Leaflet/src/layer/vector/Path.VML.js +0 -135
- data/vendor/assets/Leaflet/src/layer/vector/Path.js +0 -119
- data/vendor/assets/Leaflet/src/layer/vector/Polygon.js +0 -92
- data/vendor/assets/Leaflet/src/layer/vector/Polyline.js +0 -164
- data/vendor/assets/Leaflet/src/layer/vector/canvas/Circle.Canvas.js +0 -18
- data/vendor/assets/Leaflet/src/layer/vector/canvas/CircleMarker.Canvas.js +0 -9
- data/vendor/assets/Leaflet/src/layer/vector/canvas/Path.Canvas.js +0 -204
- data/vendor/assets/Leaflet/src/layer/vector/canvas/Polygon.Canvas.js +0 -37
- data/vendor/assets/Leaflet/src/layer/vector/canvas/Polyline.Canvas.js +0 -30
- data/vendor/assets/Leaflet/src/map/handler/Map.BoxZoom.js +0 -118
- data/vendor/assets/leaflet.draw.js +0 -38
- data/vendor/assets/leaflet.js +0 -155
- data/vendor/assets/leaflet.label.js +0 -11
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
### Done
|
|
2
|
+
|
|
3
|
+
* ~~Tidy up css: include leaflet-control-toolbar for common styles~~
|
|
4
|
+
* ~~Rename _shapes variable in Control.Draw to make better sense.~~
|
|
5
|
+
* ~~Should the ext classes be renamed to Polyline.Intersect or similar?~~
|
|
6
|
+
* ~~Make Control.Draw inherit from Control.Toolbar.~~
|
|
7
|
+
* ~~Rename Handler.Draw -> Vector.Draw. What about markers? they aren't vectors, is there a better name? Maybe Feature?~~
|
|
8
|
+
* ~~Add enbled/disabled states for the delete & edit buttons.~~
|
|
9
|
+
* ~~Move control/handler files out of draw folder.~~
|
|
10
|
+
* ~~Rename the draw events from draw:feature t0 feature-created.~~
|
|
11
|
+
* ~~Revert to the correct colour for the feature that was just deselected.~~
|
|
12
|
+
* ~~Rename the Handler activated/deactivated events to enabled/disabled.~~
|
|
13
|
+
* ~~Add option for setting the selected color.~~
|
|
14
|
+
* ~~Check and calls to L.Feature.Draw.prototype, are they correct? In Draw.Circle it hink it should be referencing L.Draw.SimpleShape~~
|
|
15
|
+
* ~~Add in cancel buttons for selected button.~~
|
|
16
|
+
* ~~Have special behavior for selected markers. Do we just set the background color?~~
|
|
17
|
+
* ~~Turn the cancel button UI into a button container for things like undo.~~
|
|
18
|
+
* ~~Add Save to edit mode. Same as cancel but does not revert any shapes.~~
|
|
19
|
+
* ~~rename selectableLayers = layerGroup~~
|
|
20
|
+
* ~~refactor the repositioning of the actions toolbar for Control.Draw.~~
|
|
21
|
+
* ~~If more than 1 button in actions toolbar but not first is showing then margin is wrong.~~
|
|
22
|
+
* ~~Support cancelling delete?~~
|
|
23
|
+
* ~~Rename the _showCancel/_hideCancel methods in Control.Toolbar~~
|
|
24
|
+
* ~~See if any common code can move to Control.Toolbar from Control.Draw.~~
|
|
25
|
+
* ~~Fix the bottom border radius when the actions buttons are at the bottom~~
|
|
26
|
+
* ~~Fix up the toolbar rounded corners when only 1 item in the toolbar.~~
|
|
27
|
+
* ~~Handle layers being added/removed to the layergroup. i.e. need to be placed in edit mode or have a delete handler added~~
|
|
28
|
+
* ~Add support for tooltips for the edit mode.~
|
|
29
|
+
* ~Add handlers for Circle and Rectangle editing. (Needs a way to hook into L.Cicle and L.Rectangle)~
|
|
30
|
+
* ~Fix styles to look more like new Leaflet zoom in/out.~
|
|
31
|
+
* ~Polyline is styled as filled for edit mode.~
|
|
32
|
+
* ~Add visual style change to toolbar buttons on mouse over.~
|
|
33
|
+
* ~Add handlers to earch corner of the rectangle for resizing.~
|
|
34
|
+
* ~Bug: if you go edit mode, then go to draw mode.~
|
|
35
|
+
* ~Handle controls from being removed from map.~
|
|
36
|
+
* ~Add link to http://glyphicons.com/~
|
|
37
|
+
* ~Redo the select/delete icons.~
|
|
38
|
+
* ~Merge the event change pull and add edit/delete versions.~
|
|
39
|
+
* ~When switching from edit to delete and having edit a feature it should reset/cancel instead of saving.~
|
|
40
|
+
* ~Move clone methods from Edit.Feature~
|
|
41
|
+
* ~Renamed Edit.Feature -> Edit and Delete.Feature -> Delete, is confusing since Edit.feature is not the same as Edit.Circle etc~
|
|
42
|
+
* ~Get Leaflet control-design branch merged to master.~
|
|
43
|
+
* ~Fix action toolbar styles to match new toolbar height.~
|
|
44
|
+
* ~Make Tooltip sexy!~
|
|
45
|
+
* ~IE actions bar position.~
|
|
46
|
+
* ~IE editable marker background and border.~
|
|
47
|
+
* ~Search for TODO~
|
|
48
|
+
* ~Update Deps. Maybe should make it more advanced to allow people to custom build without parts? Like edit only or draw only? Also file names ahve changed.~
|
|
49
|
+
* ~Add some proper documentation. I.e. for the events & methods.~
|
|
50
|
+
* ~Add a thanks section to README. Shramov, BrunboB, tnightingale & Glyphicons. Others?~
|
|
51
|
+
* ~Write up a breaking changes for when 0.2 goes live. (See below)~
|
|
52
|
+
* ~Add events to docs~
|
|
53
|
+
* ~Fix the draw:enabled event. This is not used for the edit toolbar. It is simply used to state that drawing has started then ended.~
|
|
54
|
+
* ~Custom build tool.~
|
|
55
|
+
* ~Move Poly.Edit.js~
|
|
56
|
+
* ~Add ability to update the options after control is initialized.~
|
|
57
|
+
* ~Make a git tag of Leaflet.draw 0.1~
|
|
58
|
+
* ~Document changing the options of a draw handler.~
|
|
59
|
+
|
|
60
|
+
### TODO
|
|
61
|
+
|
|
62
|
+
* Fix all the Show Code links in the ReadMe.
|
|
@@ -0,0 +1,243 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html>
|
|
3
|
+
<head>
|
|
4
|
+
<title>Leaflet Build Helper</title>
|
|
5
|
+
|
|
6
|
+
<script type="text/javascript" src="deps.js"></script>
|
|
7
|
+
|
|
8
|
+
<style type="text/css">
|
|
9
|
+
body {
|
|
10
|
+
font: 12px/1.4 Verdana, sans-serif;
|
|
11
|
+
text-align: center;
|
|
12
|
+
padding: 2em 0;
|
|
13
|
+
}
|
|
14
|
+
#container {
|
|
15
|
+
text-align: left;
|
|
16
|
+
margin: 0 auto;
|
|
17
|
+
width: 780px;
|
|
18
|
+
}
|
|
19
|
+
#deplist {
|
|
20
|
+
list-style: none;
|
|
21
|
+
padding: 0;
|
|
22
|
+
}
|
|
23
|
+
#deplist li {
|
|
24
|
+
padding-top: 7px;
|
|
25
|
+
padding-bottom: 7px;
|
|
26
|
+
border-bottom: 1px solid #ddd;
|
|
27
|
+
}
|
|
28
|
+
#deplist li.heading {
|
|
29
|
+
border: none;
|
|
30
|
+
background: #ddd;
|
|
31
|
+
padding: 5px 10px;
|
|
32
|
+
margin-top: 25px;
|
|
33
|
+
border-radius: 5px;
|
|
34
|
+
}
|
|
35
|
+
#deplist input {
|
|
36
|
+
float: left;
|
|
37
|
+
margin-right: 5px;
|
|
38
|
+
display: inline;
|
|
39
|
+
}
|
|
40
|
+
#deplist label {
|
|
41
|
+
float: left;
|
|
42
|
+
width: 160px;
|
|
43
|
+
font-weight: bold;
|
|
44
|
+
}
|
|
45
|
+
#deplist div {
|
|
46
|
+
display: table-cell;
|
|
47
|
+
height: 1%;
|
|
48
|
+
}
|
|
49
|
+
#deplist .desc {
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
#deplist .deps {
|
|
53
|
+
color: #777;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
#command {
|
|
57
|
+
width: 100%;
|
|
58
|
+
}
|
|
59
|
+
#command2 {
|
|
60
|
+
width: 200px;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
#toolbar {
|
|
64
|
+
padding-bottom: 10px;
|
|
65
|
+
border-bottom: 1px solid #ddd;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
h2 {
|
|
69
|
+
margin-top: 2em;
|
|
70
|
+
}
|
|
71
|
+
</style>
|
|
72
|
+
</head>
|
|
73
|
+
<body>
|
|
74
|
+
<div id="container">
|
|
75
|
+
<h1>Leaflet Build Helper</h1>
|
|
76
|
+
|
|
77
|
+
<p id="toolbar">
|
|
78
|
+
<a id="select-all" href="#all">Select All</a> |
|
|
79
|
+
<a id="deselect-all" href="#none">Deselect All</a>
|
|
80
|
+
</p>
|
|
81
|
+
|
|
82
|
+
<ul id="deplist"></ul>
|
|
83
|
+
|
|
84
|
+
<h2>Building using Node and UglifyJS</h2>
|
|
85
|
+
<ol>
|
|
86
|
+
<li><a href="http://nodejs.org/#download">Download and install Node</a></li>
|
|
87
|
+
<li>Run this in the command line:<br />
|
|
88
|
+
<pre><code>npm install -g jake
|
|
89
|
+
npm install jshint
|
|
90
|
+
npm install uglify-js</code></pre></li>
|
|
91
|
+
<li>Run this command inside the Leaflet directory: <br /><input type="text" id="command2" />
|
|
92
|
+
</ol>
|
|
93
|
+
<h2>Building using Closure Compiler</h2>
|
|
94
|
+
<ol>
|
|
95
|
+
<li><a href="http://closure-compiler.googlecode.com/files/compiler-latest.zip">Download Closure Compiler</a>, extract it into <code>closure-compiler</code> directory</li>
|
|
96
|
+
<li>Run this command in the root Leaflet directory: <br /><input type="text" id="command" /></li>
|
|
97
|
+
</ol>
|
|
98
|
+
</div>
|
|
99
|
+
|
|
100
|
+
<script type="text/javascript">
|
|
101
|
+
var deplist = document.getElementById('deplist'),
|
|
102
|
+
commandInput = document.getElementById('command'),
|
|
103
|
+
commandInput2 = document.getElementById('command2');
|
|
104
|
+
|
|
105
|
+
document.getElementById('select-all').onclick = function() {
|
|
106
|
+
var checks = deplist.getElementsByTagName('input');
|
|
107
|
+
for (var i = 0; i < checks.length; i++) {
|
|
108
|
+
checks[i].checked = true;
|
|
109
|
+
}
|
|
110
|
+
updateCommand();
|
|
111
|
+
return false;
|
|
112
|
+
};
|
|
113
|
+
|
|
114
|
+
document.getElementById('deselect-all').onclick = function() {
|
|
115
|
+
var checks = deplist.getElementsByTagName('input');
|
|
116
|
+
for (var i = 0; i < checks.length; i++) {
|
|
117
|
+
if (!checks[i].disabled) {
|
|
118
|
+
checks[i].checked = false;
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
updateCommand();
|
|
122
|
+
return false;
|
|
123
|
+
};
|
|
124
|
+
|
|
125
|
+
function updateCommand() {
|
|
126
|
+
var files = {};
|
|
127
|
+
var checks = deplist.getElementsByTagName('input');
|
|
128
|
+
var compsStr = '';
|
|
129
|
+
|
|
130
|
+
for (var i = 0, len = checks.length; i < len; i++) {
|
|
131
|
+
if (checks[i].checked) {
|
|
132
|
+
var srcs = deps[checks[i].id].src;
|
|
133
|
+
for (var j = 0, len2 = srcs.length; j < len2; j++) {
|
|
134
|
+
files[srcs[j]] = true;
|
|
135
|
+
}
|
|
136
|
+
compsStr = '1' + compsStr;
|
|
137
|
+
} else {
|
|
138
|
+
compsStr = '0' + compsStr;
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
var command = 'java -jar closure-compiler/compiler.jar ';
|
|
143
|
+
for (var src in files) {
|
|
144
|
+
command += '--js src/' + src + ' ';
|
|
145
|
+
}
|
|
146
|
+
command += '--js_output_file dist/leaflet-custom.js';
|
|
147
|
+
|
|
148
|
+
commandInput.value = command;
|
|
149
|
+
|
|
150
|
+
commandInput2.value = 'jake build[' + parseInt(compsStr, 2).toString(32) + ',custom]';
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
function inputSelect() {
|
|
154
|
+
this.focus();
|
|
155
|
+
this.select();
|
|
156
|
+
};
|
|
157
|
+
|
|
158
|
+
commandInput.onclick = inputSelect;
|
|
159
|
+
commandInput2.onclick = inputSelect;
|
|
160
|
+
|
|
161
|
+
function onCheckboxChange() {
|
|
162
|
+
if (this.checked) {
|
|
163
|
+
var depDeps = deps[this.id].deps;
|
|
164
|
+
if (depDeps) {
|
|
165
|
+
for (var i = 0; i < depDeps.length; i++) {
|
|
166
|
+
var check = document.getElementById(depDeps[i]);
|
|
167
|
+
if (!check.checked) {
|
|
168
|
+
check.checked = true;
|
|
169
|
+
check.onchange();
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
} else {
|
|
174
|
+
var checks = deplist.getElementsByTagName('input');
|
|
175
|
+
for (var i = 0; i < checks.length; i++) {
|
|
176
|
+
var dep = deps[checks[i].id];
|
|
177
|
+
if (!dep.deps) { continue; }
|
|
178
|
+
for (var j = 0; j < dep.deps.length; j++) {
|
|
179
|
+
if (dep.deps[j] === this.id) {
|
|
180
|
+
if (checks[i].checked) {
|
|
181
|
+
checks[i].checked = false;
|
|
182
|
+
checks[i].onchange();
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
updateCommand();
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
for (var name in deps) {
|
|
192
|
+
var li = document.createElement('li');
|
|
193
|
+
|
|
194
|
+
if (deps[name].heading) {
|
|
195
|
+
var heading = document.createElement('li');
|
|
196
|
+
heading.className = 'heading';
|
|
197
|
+
heading.appendChild(document.createTextNode(deps[name].heading));
|
|
198
|
+
deplist.appendChild(heading);
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
var div = document.createElement('div');
|
|
202
|
+
|
|
203
|
+
var label = document.createElement('label');
|
|
204
|
+
|
|
205
|
+
var check = document.createElement('input');
|
|
206
|
+
check.type = 'checkbox';
|
|
207
|
+
check.id = name;
|
|
208
|
+
label.appendChild(check);
|
|
209
|
+
check.onchange = onCheckboxChange;
|
|
210
|
+
|
|
211
|
+
if (name == 'Core') {
|
|
212
|
+
check.checked = true;
|
|
213
|
+
check.disabled = true;
|
|
214
|
+
}
|
|
215
|
+
|
|
216
|
+
label.appendChild(document.createTextNode(name));
|
|
217
|
+
label.htmlFor = name;
|
|
218
|
+
|
|
219
|
+
li.appendChild(label);
|
|
220
|
+
|
|
221
|
+
var desc = document.createElement('span');
|
|
222
|
+
desc.className = 'desc';
|
|
223
|
+
desc.appendChild(document.createTextNode(deps[name].desc));
|
|
224
|
+
|
|
225
|
+
var depText = deps[name].deps && deps[name].deps.join(', ');
|
|
226
|
+
if (depText) {
|
|
227
|
+
var depspan = document.createElement('span');
|
|
228
|
+
depspan.className = 'deps';
|
|
229
|
+
depspan.appendChild(document.createTextNode('Deps: ' + depText));
|
|
230
|
+
}
|
|
231
|
+
|
|
232
|
+
div.appendChild(desc);
|
|
233
|
+
div.appendChild(document.createElement('br'));
|
|
234
|
+
if (depText) { div.appendChild(depspan); }
|
|
235
|
+
|
|
236
|
+
li.appendChild(div);
|
|
237
|
+
|
|
238
|
+
deplist.appendChild(li);
|
|
239
|
+
}
|
|
240
|
+
updateCommand();
|
|
241
|
+
</script>
|
|
242
|
+
</body>
|
|
243
|
+
</html>
|
|
@@ -0,0 +1,187 @@
|
|
|
1
|
+
var fs = require('fs'),
|
|
2
|
+
jshint = require('jshint'),
|
|
3
|
+
UglifyJS = require('uglify-js'),
|
|
4
|
+
zlib = require('zlib'),
|
|
5
|
+
|
|
6
|
+
deps = require('./deps.js').deps;
|
|
7
|
+
|
|
8
|
+
function getFiles(compsBase32) {
|
|
9
|
+
var memo = {},
|
|
10
|
+
comps;
|
|
11
|
+
|
|
12
|
+
if (compsBase32) {
|
|
13
|
+
comps = parseInt(compsBase32, 32).toString(2).split('');
|
|
14
|
+
console.log('Managing dependencies...');
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
function addFiles(srcs) {
|
|
18
|
+
for (var j = 0, len = srcs.length; j < len; j++) {
|
|
19
|
+
memo[srcs[j]] = true;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
for (var i in deps) {
|
|
24
|
+
if (comps) {
|
|
25
|
+
if (parseInt(comps.pop(), 2) === 1) {
|
|
26
|
+
console.log(' * ' + i);
|
|
27
|
+
addFiles(deps[i].src);
|
|
28
|
+
} else {
|
|
29
|
+
console.log(' ' + i);
|
|
30
|
+
}
|
|
31
|
+
} else {
|
|
32
|
+
addFiles(deps[i].src);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
console.log('');
|
|
37
|
+
|
|
38
|
+
var files = [];
|
|
39
|
+
|
|
40
|
+
for (var src in memo) {
|
|
41
|
+
files.push('src/' + src);
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
return files;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
exports.getFiles = getFiles;
|
|
48
|
+
|
|
49
|
+
function getSizeDelta(newContent, oldContent, fixCRLF) {
|
|
50
|
+
if (!oldContent) {
|
|
51
|
+
return ' (new)';
|
|
52
|
+
}
|
|
53
|
+
if (newContent === oldContent) {
|
|
54
|
+
return ' (unchanged)';
|
|
55
|
+
}
|
|
56
|
+
if (fixCRLF) {
|
|
57
|
+
newContent = newContent.replace(/\r\n?/g, '\n');
|
|
58
|
+
oldContent = oldContent.replace(/\r\n?/g, '\n');
|
|
59
|
+
}
|
|
60
|
+
var delta = newContent.length - oldContent.length;
|
|
61
|
+
|
|
62
|
+
return delta === 0 ? '' : ' (' + (delta > 0 ? '+' : '') + delta + ' bytes)';
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
function loadSilently(path) {
|
|
66
|
+
try {
|
|
67
|
+
return fs.readFileSync(path, 'utf8');
|
|
68
|
+
} catch (e) {
|
|
69
|
+
return null;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
function combineFiles(files) {
|
|
74
|
+
var content = '';
|
|
75
|
+
for (var i = 0, len = files.length; i < len; i++) {
|
|
76
|
+
content += fs.readFileSync(files[i], 'utf8') + '\n\n';
|
|
77
|
+
}
|
|
78
|
+
return content;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
function bytesToKB(bytes) {
|
|
82
|
+
return (bytes / 1024).toFixed(2) + ' KB';
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
exports.build = function (callback, compsBase32, buildName) {
|
|
86
|
+
var files = getFiles(compsBase32);
|
|
87
|
+
|
|
88
|
+
console.log('Concatenating and compressing ' + files.length + ' files...');
|
|
89
|
+
|
|
90
|
+
var copy = fs.readFileSync('src/copyright.js', 'utf8'),
|
|
91
|
+
intro = '(function (window, document, undefined) {',
|
|
92
|
+
outro = '}(window, document));',
|
|
93
|
+
newSrc = copy + intro + combineFiles(files) + outro,
|
|
94
|
+
|
|
95
|
+
pathPart = 'dist/leaflet.draw' + (buildName ? '-' + buildName : ''),
|
|
96
|
+
srcPath = pathPart + '-src.js',
|
|
97
|
+
|
|
98
|
+
oldSrc = loadSilently(srcPath),
|
|
99
|
+
srcDelta = getSizeDelta(newSrc, oldSrc, true);
|
|
100
|
+
|
|
101
|
+
console.log('\tUncompressed: ' + bytesToKB(newSrc.length) + srcDelta);
|
|
102
|
+
|
|
103
|
+
if (newSrc !== oldSrc) {
|
|
104
|
+
fs.writeFileSync(srcPath, newSrc);
|
|
105
|
+
console.log('\tSaved to ' + srcPath);
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
var path = pathPart + '.js',
|
|
109
|
+
oldCompressed = loadSilently(path),
|
|
110
|
+
newCompressed = copy + UglifyJS.minify(newSrc, {
|
|
111
|
+
warnings: true,
|
|
112
|
+
fromString: true
|
|
113
|
+
}).code,
|
|
114
|
+
delta = getSizeDelta(newCompressed, oldCompressed);
|
|
115
|
+
|
|
116
|
+
console.log('\tCompressed: ' + bytesToKB(newCompressed.length) + delta);
|
|
117
|
+
|
|
118
|
+
var newGzipped,
|
|
119
|
+
gzippedDelta = '';
|
|
120
|
+
|
|
121
|
+
function done() {
|
|
122
|
+
if (newCompressed !== oldCompressed) {
|
|
123
|
+
fs.writeFileSync(path, newCompressed);
|
|
124
|
+
console.log('\tSaved to ' + path);
|
|
125
|
+
}
|
|
126
|
+
console.log('\tGzipped: ' + bytesToKB(newGzipped.length) + gzippedDelta);
|
|
127
|
+
callback();
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
zlib.gzip(newCompressed, function (err, gzipped) {
|
|
131
|
+
if (err) { return; }
|
|
132
|
+
newGzipped = gzipped;
|
|
133
|
+
if (oldCompressed && (oldCompressed !== newCompressed)) {
|
|
134
|
+
zlib.gzip(oldCompressed, function (err, oldGzipped) {
|
|
135
|
+
if (err) { return; }
|
|
136
|
+
gzippedDelta = getSizeDelta(gzipped, oldGzipped);
|
|
137
|
+
done();
|
|
138
|
+
});
|
|
139
|
+
} else {
|
|
140
|
+
done();
|
|
141
|
+
}
|
|
142
|
+
});
|
|
143
|
+
};
|
|
144
|
+
|
|
145
|
+
exports.test = function(callback) {
|
|
146
|
+
var karma = require('karma'),
|
|
147
|
+
testConfig = {configFile : __dirname + '/../spec/karma.conf.js'};
|
|
148
|
+
|
|
149
|
+
testConfig.browsers = ['PhantomJS'];
|
|
150
|
+
|
|
151
|
+
function isArgv(optName) {
|
|
152
|
+
return process.argv.indexOf(optName) !== -1;
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
if (isArgv('--chrome')) {
|
|
156
|
+
testConfig.browsers.push('Chrome');
|
|
157
|
+
}
|
|
158
|
+
if (isArgv('--safari')) {
|
|
159
|
+
testConfig.browsers.push('Safari');
|
|
160
|
+
}
|
|
161
|
+
if (isArgv('--ff')) {
|
|
162
|
+
testConfig.browsers.push('Firefox');
|
|
163
|
+
}
|
|
164
|
+
if (isArgv('--ie')) {
|
|
165
|
+
testConfig.browsers.push('IE');
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
if (isArgv('--cov')) {
|
|
169
|
+
testConfig.preprocessors = {
|
|
170
|
+
'src/**/*.js': 'coverage'
|
|
171
|
+
};
|
|
172
|
+
testConfig.coverageReporter = {
|
|
173
|
+
type : 'html',
|
|
174
|
+
dir : 'coverage/'
|
|
175
|
+
};
|
|
176
|
+
testConfig.reporters = ['coverage'];
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
console.log('Running tests...');
|
|
180
|
+
|
|
181
|
+
karma.server.start(testConfig, function(exitCode) {
|
|
182
|
+
if (!exitCode) {
|
|
183
|
+
console.log('\tTests ran successfully.\n');
|
|
184
|
+
}
|
|
185
|
+
callback();
|
|
186
|
+
});
|
|
187
|
+
};
|