Skip to content
This repository was archived by the owner on Sep 20, 2019. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ Thumbs.db
# Project
# ===========
dist/ui-leaflet.pre.js
dist/coverage/
js/angular-leaflet-directive-webpage.ngmin.js

# Related ecosystem
Expand Down
2 changes: 2 additions & 0 deletions .npmignore
Original file line number Diff line number Diff line change
Expand Up @@ -42,3 +42,5 @@ test
Gruntfile.js
package.json
bower.json

dist/coverage/
3 changes: 2 additions & 1 deletion bower.json
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,7 @@
"*.md",
"Gruntfile.js",
"package.json",
"bower.json"
"bower.json",
"dist/coverage/"
]
}
41 changes: 33 additions & 8 deletions dist/ui-leaflet.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*!
* ui-leaflet 1.0.0 2015-10-30
* ui-leaflet 1.0.0 2015-11-03
* ui-leaflet - An AngularJS directive to easily interact with Leaflet maps
* git: https://github.com/angular-ui/ui-leaflet
*/
Expand Down Expand Up @@ -2298,7 +2298,6 @@ angular.module('ui-leaflet').service('leafletMarkersHelpers', ["$rootScope", "$t
errorHeader = leafletHelpers.errorHeader,
$log = leafletLogger;


var _string = function (marker) {
//this exists since JSON.stringify barfs on cyclic
var retStr = '';
Expand Down Expand Up @@ -2708,6 +2707,27 @@ angular.module('ui-leaflet').service('leafletMarkersHelpers', ["$rootScope", "$t
marker.setLatLng([markerData.lat, markerData.lng]);
}
};

var _getLayerModels = function (models, layerName){
if (!isDefined(models))
return;
if (layerName)
return models[layerName];
return models;
};

var _getModelFromModels = function (models, id, layerName){
if(!isDefined(models))
return;
if(!id){
$log.error(errorHeader + 'marker id missing in getMarker');
return;
}
if(layerName)
return models[layerName][id];

return models[id];
};
return {
resetMarkerGroup: _resetMarkerGroup,

Expand Down Expand Up @@ -2811,7 +2831,9 @@ angular.module('ui-leaflet').service('leafletMarkersHelpers', ["$rootScope", "$t
} , isDeepWatch);
},
string: _string,
log: _log
log: _log,
getModelFromModels : _getModelFromModels,
getLayerModels : _getLayerModels
};
}]);

Expand Down Expand Up @@ -4397,6 +4419,8 @@ angular.module('ui-leaflet').directive('markers',
addMarkerToGroup = leafletMarkersHelpers.addMarkerToGroup,
createMarker = leafletMarkersHelpers.createMarker,
deleteMarker = leafletMarkersHelpers.deleteMarker,
getModelFromModels = leafletMarkersHelpers.getModelFromModels,
getLayerModels = leafletMarkersHelpers.getLayerModels,
$it = leafletIterators,
_markersWatchOptions = leafletHelpers.watchOptions,
maybeWatch = leafletWatchHelpers.maybeWatch,
Expand Down Expand Up @@ -4524,7 +4548,7 @@ angular.module('ui-leaflet').directive('markers',
leafletMarkerEvents.bindEvents(mapId, marker, pathToMarker, model, leafletScope, layerName);
}
else {
var oldModel = isDefined(oldModel)? oldModels[newName] : undefined;
var oldModel = getModelFromModels(oldModels, newName, maybeLayerName);
updateMarker(model, oldModel, maybeLMarker, pathToMarker, leafletScope, layers, map);
}
}
Expand Down Expand Up @@ -4615,8 +4639,8 @@ angular.module('ui-leaflet').directive('markers',
var _clean = function(models, oldModels){
if(isNested) {
$it.each(models, function(markerToMaybeDel, layerName) {
var oldModel = isDefined(oldModel)? oldModels[layerName] : undefined;
_destroy(markerToMaybeDel, oldModel, leafletMarkers[layerName], map, layers);
var oldLayerModels = getLayerModels(oldModels, layerName);
_destroy(markerToMaybeDel, oldLayerModels, leafletMarkers[layerName], map, layers);
});
return;
}
Expand All @@ -4628,8 +4652,9 @@ angular.module('ui-leaflet').directive('markers',
var skips = null;
if(isNested) {
$it.each(models, function(markersToAdd, layerName) {
var oldModel = isDefined(oldModel)? oldModels[layerName] : undefined;
skips = _getNewModelsToSkipp(models[layerName], oldModel, leafletMarkers[layerName]);
var oldLayerModels = getLayerModels(oldModels, layerName);
var newlayerModels = getLayerModels(models, layerName);
skips = _getNewModelsToSkipp(newlayerModels, oldLayerModels, leafletMarkers[layerName]);
_addMarkers(attrs.id, markersToAdd, oldModels, map, layers, leafletMarkers, leafletScope,
watchOptions, layerName, skips);
});
Expand Down
6 changes: 3 additions & 3 deletions dist/ui-leaflet.min.js

Large diffs are not rendered by default.

6 changes: 3 additions & 3 deletions dist/ui-leaflet.min.no-header.js

Large diffs are not rendered by default.

41 changes: 33 additions & 8 deletions dist/ui-leaflet_dev_mapped.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion dist/ui-leaflet_dev_mapped.js.map

Large diffs are not rendered by default.

72 changes: 72 additions & 0 deletions examples/0605-mixed-no-watch-example.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
<!DOCTYPE html>
<html ng-app="demoapp">
<head>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<script src="../bower_components/angular/angular.min.js"></script>
<script src="../bower_components/leaflet/dist/leaflet.js"></script>
<script src="../bower_components/angular-simple-logger/dist/angular-simple-logger.js"></script>
<script src="../dist/ui-leaflet_dev_mapped.js"></script>
<link rel="stylesheet" href="../bower_components/leaflet/dist/leaflet.css"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<script>
var app = angular.module('demoapp', ['ui-leaflet']);
app.controller('MixedMOverlaysMarkersNestedNoWatchController', function ($scope, leafletData, $timeout, leafletLogger) {
leafletLogger.currentLevel = leafletLogger.LEVELS.debug;
var _clonedMarkers;
$timeout(function () {
//should do nothing (not watched) and only see one destroy
_clonedMarkers = angular.copy($scope.markers);
},1000);
$timeout(function () {
leafletData.getDirectiveControls().then(function (controls) {
//move all markers by a few decimal points
for (var markerName in _clonedMarkers) {
var marker = _clonedMarkers[markerName];
marker.lat += .05;
}
//force manual update
controls.markers.create(_clonedMarkers ,$scope.markers);
$scope.markers = _clonedMarkers;
});
}, 4000);
angular.extend($scope, {
markersWatchOptions: {
doWatch: false,
isDeep: false,
individual: {
doWatch: false,
isDeep: false
}
},
center: {
lat: 42.20133,
lng: 2.19110,
zoom: 11
},

markers: {
m1: {
lat: 42.20133,
lng: 2.19110,
message: "I'm a car"
},
m2: {
lat: 42.21133,
lng: 2.18110,
message: "I'm a car"
}
}
});
});
</script>
</head>
<body ng-controller="MixedMOverlaysMarkersNestedNoWatchController">
<leaflet
lf-center="center"
markers="markers"
markers-watch-options="markersWatchOptions"
height="480px" width="100%">
</leaflet>
<h1>Overlays with nested markers no watchers example</h1>
</body>
</html>
Original file line number Diff line number Diff line change
Expand Up @@ -10,12 +10,12 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<script>
var app = angular.module("demoapp", ['ui-leaflet']);
app.controller('MixedMOverlaysMarkersNestedNoWatchController', function ($scope, leafletData, $timeout) {
app.controller('MixedMOverlaysMarkersNestedNoWatchController', function ($scope, leafletData, $timeout, leafletLogger) {
leafletLogger.currentLevel = leafletLogger.LEVELS.debug;
var _clonedMarkers;
$timeout(function () {
//should do nothing (not watched) and only see one destroy
_clonedMarkers = angular.extend({},$scope.markers);
$scope.markers = {};
_clonedMarkers = angular.copy($scope.markers);
},1000);
$timeout(function () {
leafletData.getDirectiveControls().then(function (controls) {
Expand All @@ -28,8 +28,8 @@
}
}
//force manual update
controls.markers.create(_clonedMarkers ,$scope.markers);
$scope.markers = _clonedMarkers;
controls.markers.create($scope.markers);
});
}, 4000);
angular.extend($scope, {
Expand Down
30 changes: 12 additions & 18 deletions grunt/karma.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,18 @@ module.exports = function (grunt, options) {
unit: {
configFile: 'test/karma-unit.conf.js',
autoWatch: false,
singleRun: true
singleRun: true,
reporters: ['dots', 'coverage'],
preprocessors: {
'test/**/**/*.coffee': ['coffee'],
'dist/<%= pkg.name %>.js': ['coverage']
},
coverageReporter: {
reporters:[
{ type : 'html', dir : 'dist/coverage/', subdir: "lib" },
{type: 'text-summary', dir:'dist/coverage/', subdir:'lib'}
]
}
},
'unit-mocha': {
configFile: 'test/karma-unit.conf.js',
Expand Down Expand Up @@ -38,23 +49,6 @@ module.exports = function (grunt, options) {
browsers: ['Chrome'],
autoWatch: true,
singleRun: true
},
unit_coverage: {
configFile: 'test/karma-unit.conf.js',
autoWatch: false,
singleRun: true,
//logLevel: 'DEBUG',
reporters: ['progress', 'coverage'],
preprocessors: {
'test/**/**/*.coffee': ['coffee'],
'dist/<%= pkg.name %>.js': ['coverage']
},
coverageReporter: {
reporters:[
{type: 'lcov', dir:'coverage/', subdir:'report'},
{type: 'text-summary', dir:'coverage/', subdir:'report'}
]
}
}
};
};
3 changes: 2 additions & 1 deletion grunt/watch.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,8 @@
var getAvailPort = require('./utils/getAvailPort');
var port = getAvailPort(7777);

var _files = ['src/**/*.js', 'test/unit/**.js', 'test/unit/**.coffee', 'test/e2e/**.js'];
var _files = ['src/**/*.js', 'test/unit/**.js', 'test/unit/**.coffee', 'test/e2e/**.js',
'test/unit/**/**.js', 'test/unit/**/**.coffee', 'test/e2e/**/**.js'];

module.exports = function(grunt, options) {
return {
Expand Down
1 change: 1 addition & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,7 @@
"dependencies": {
"angular": "1.x",
"angular-simple-logger": "~0.1.4",
"karma-coverage": "^0.5.3",
"leaflet": "0.7.x"
}
}
Loading