Skip to content

Commit 71dd97b

Browse files
committed
chore(merge): merge with 1.X branch, fix angular-ui#294
2 parents 4920ebe + e8f50b7 commit 71dd97b

16 files changed

+309
-242
lines changed

.jshintrc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
"eqeqeq": true,
88
"immed": true,
99
"indent": 4,
10-
"latedef": true,
10+
"latedef": false,
1111
"newcap": true,
1212
"noarg": true,
1313
"regexp": true,

bower.json

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -38,14 +38,14 @@
3838
"Leaflet.utfgrid": "danzel/Leaflet.utfgrid",
3939
"Leaflet.awesome-markers": "*",
4040
"leaflet-providers": "~1.1.5",
41-
"leaflet.vector-markers": "0.0.4",
41+
"leaflet.vector-markers": "~0.0.6",
4242
"webgl-heatmap-leaflet": "*",
4343
"leaflet-plugins": "*",
4444
"esri-leaflet": "~1.0.4",
4545
"proj4": "*",
4646
"font-awesome": "~4.3.x",
47-
"proj4leaflet": "*",
48-
"Leaflet.MakiMarkers": "*",
47+
"proj4leaflet": "~0.x",
48+
"Leaflet.MakiMarkers": "~2.x",
4949
"Leaflet.heat": "https://github.com/Leaflet/Leaflet.heat/archive/gh-pages.tar.gz",
5050
"Leaflet.ExtraMarkers": "https://github.com/coryasilva/Leaflet.ExtraMarkers/archive/v1.0.1.tar.gz",
5151
"Leaflet.fullscreen": "http://github.com/Leaflet/Leaflet.fullscreen/archive/v0.0.4.tar.gz",
@@ -69,7 +69,8 @@
6969
"*.md",
7070
"Gruntfile.js",
7171
"package.json",
72-
"dist/coverage/",
73-
"logo.svg"
72+
"logo.svg",
73+
"bower.json",
74+
"dist/coverage/"
7475
]
7576
}

dist/ui-leaflet.js

Lines changed: 37 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*!
2-
* ui-leaflet 2.0.0 2016-10-04
2+
* ui-leaflet 2.0.0 2016-10-05
33
* ui-leaflet - An AngularJS directive to easily interact with Leaflet maps
44
* git: https://github.com/angular-ui/ui-leaflet
55
*/
@@ -312,14 +312,15 @@ angular.module('ui-leaflet').factory('leafletBoundsHelpers', ["leafletLogger", "
312312
angular.module('ui-leaflet').factory('leafletControlHelpers', ["$rootScope", "leafletLogger", "leafletHelpers", "leafletLayerHelpers", "leafletMapDefaults", function ($rootScope, leafletLogger, leafletHelpers, leafletLayerHelpers, leafletMapDefaults) {
313313
var isDefined = leafletHelpers.isDefined,
314314
isObject = leafletHelpers.isObject,
315+
get = leafletHelpers.get,
315316
createLayer = leafletLayerHelpers.createLayer,
316317
_controls = {},
317318
errorHeader = leafletHelpers.errorHeader + ' [Controls] ',
318319
$log = leafletLogger;
319320

320321
var _controlLayersMustBeVisible = function _controlLayersMustBeVisible(baselayers, overlays, mapId) {
321322
var defaults = leafletMapDefaults.getDefaults(mapId);
322-
if (!defaults.controls.layers.visible) {
323+
if (!get(defaults, 'controls.layers.visible')) {
323324
return false;
324325
}
325326

@@ -357,7 +358,7 @@ angular.module('ui-leaflet').factory('leafletControlHelpers', ["$rootScope", "le
357358
angular.extend(controlOptions, defaults.controls.layers.options);
358359

359360
var control;
360-
if (defaults.controls.layers && isDefined(defaults.controls.layers.control)) {
361+
if (!!get(defaults, 'controls.layers.control')) {
361362
control = defaults.controls.layers.control.apply(this, [[], [], controlOptions]);
362363
} else {
363364
control = new L.control.layers([], [], controlOptions);
@@ -534,8 +535,8 @@ angular.module('ui-leaflet').service('leafletData', ["leafletLogger", "$q", "lea
534535
_private[itemName] = {};
535536
});
536537

537-
this.unresolveMap = function (scopeId) {
538-
var id = leafletHelpers.obtainEffectiveMapId(_private.map, scopeId);
538+
this.unresolveMap = function (mapId) {
539+
var id = leafletHelpers.obtainEffectiveMapId(_private.map, mapId);
539540
_privateItems.forEach(function (itemName) {
540541
_private[itemName][id] = undefined;
541542
});
@@ -544,14 +545,14 @@ angular.module('ui-leaflet').service('leafletData', ["leafletLogger", "$q", "lea
544545
//int repetitive stuff (get and sets)
545546
_privateItems.forEach(function (itemName) {
546547
var name = upperFirst(itemName);
547-
self['set' + name] = function (lObject, scopeId) {
548-
var defer = getUnresolvedDefer(_private[itemName], scopeId);
548+
self['set' + name] = function (lObject, mapId) {
549+
var defer = getUnresolvedDefer(_private[itemName], mapId);
549550
defer.resolve(lObject);
550-
setResolvedDefer(_private[itemName], scopeId);
551+
setResolvedDefer(_private[itemName], mapId);
551552
};
552553

553-
self['get' + name] = function (scopeId) {
554-
var defer = getDefer(_private[itemName], scopeId);
554+
self['get' + name] = function (mapId) {
555+
var defer = getDefer(_private[itemName], mapId);
555556
return defer.promise;
556557
};
557558
});
@@ -568,7 +569,7 @@ angular.module('ui-leaflet').service('leafletDirectiveControlsHelpers', ["leafle
568569

569570
var _errorHeader = _mainErrorHeader + '[leafletDirectiveControlsHelpers';
570571

571-
var _extend = function _extend(id, thingToAddName, createFn, cleanFn) {
572+
var extend = function extend(id, thingToAddName, createFn, cleanFn) {
572573
var _fnHeader = _errorHeader + '.extend] ';
573574
var extender = {};
574575
if (!_isDefined(thingToAddName)) {
@@ -589,14 +590,14 @@ angular.module('ui-leaflet').service('leafletDirectiveControlsHelpers', ["leafle
589590
}
590591

591592
//add external control to create / destroy markers without a watch
592-
leafletData.getDirectiveControls().then(function (controls) {
593+
leafletData.getDirectiveControls(id).then(function (controls) {
593594
angular.extend(controls, extender);
594595
leafletData.setDirectiveControls(controls, id);
595596
});
596597
};
597598

598599
return {
599-
extend: _extend
600+
extend: extend
600601
};
601602
}]);
602603

@@ -692,21 +693,16 @@ angular.module('ui-leaflet').service('leafletHelpers', ["$q", "$log", "$timeout"
692693
};
693694
_getObjectValue(obj,"bike.1") returns 'hi'
694695
this is getPath in ui-gmap
696+
like _.get
697+
http://stackoverflow.com/questions/2631001/javascript-test-for-existence-of-nested-object-key?page=1&tab=active#tab-top
695698
*/
696-
var _getObjectValue = function _getObjectValue(object, pathStr) {
697-
var obj;
698-
if (!object || !angular.isObject(object)) return;
699-
//if the key is not a sting then we already have the value
700-
if (pathStr === null || !angular.isString(pathStr)) {
701-
return pathStr;
702-
}
703-
obj = object;
704-
pathStr.split('.').forEach(function (value) {
705-
if (obj) {
706-
obj = obj[value];
707-
}
708-
});
709-
return obj;
699+
var _getObjectValue = function _getObjectValue(object, path) {
700+
if (!object) return;
701+
path = path.split('.');
702+
var obj = object[path.shift()];
703+
while (obj && path.length) {
704+
obj = obj[path.shift()];
705+
}return obj;
710706
};
711707

712708
/*
@@ -733,18 +729,21 @@ angular.module('ui-leaflet').service('leafletHelpers', ["$q", "$log", "$timeout"
733729
};
734730

735731
function _obtainEffectiveMapId(d, mapId) {
736-
var id, i;
732+
var id,
733+
keys = Object.keys(d);
734+
737735
if (!angular.isDefined(mapId)) {
738-
if (Object.keys(d).length === 0) {
736+
if (keys.length === 0 || keys.length === 1 && keys[0] === 'main') {
737+
//default non id attribute map
738+
// OR one key 'main'
739+
/*
740+
Main Reason:
741+
Initally if we have only one map and no "id" then d will be undefined initially.
742+
On subsequent runs it will be just d.main so we need to return the last map.
743+
*/
739744
id = "main";
740-
} else if (Object.keys(d).length >= 1) {
741-
for (i in d) {
742-
if (d.hasOwnProperty(i)) {
743-
id = i;
744-
}
745-
}
746745
} else {
747-
$log.error(_errorHeader + "- You have more than 1 map on the DOM, you must provide the map ID to the leafletData.getXXX call");
746+
throw new Error(_errorHeader + "- You have more than 1 map on the DOM, you must provide the map ID to the leafletData.getXXX call. Where one of the following mapIds " + Object.keys(d).join(',') + ' are available.');
748747
}
749748
} else {
750749
id = mapId;
@@ -809,6 +808,7 @@ angular.module('ui-leaflet').service('leafletHelpers', ["$q", "$log", "$timeout"
809808
var directiveNormalize = function directiveNormalize(name) {
810809
return camelCase(name.replace(PREFIX_REGEXP, ""));
811810
};
811+
812812
// END AngularJS port
813813

814814
var _watchTrapDelayMilliSec = 10;
@@ -834,6 +834,7 @@ angular.module('ui-leaflet').service('leafletHelpers', ["$q", "$log", "$timeout"
834834
clone: _clone,
835835
errorHeader: _errorHeader,
836836
getObjectValue: _getObjectValue,
837+
get: _getObjectValue,
837838
getObjectArrayPath: _getObjectArrayPath,
838839
getObjectDotPath: _getObjectDotPath,
839840
defaultTo: function defaultTo(val, _default) {

dist/ui-leaflet.min.js

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/ui-leaflet.min.no-header.js

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/ui-leaflet_dev_mapped.js

Lines changed: 37 additions & 36 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/ui-leaflet_dev_mapped.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@
5252
"karma-chrome-launcher": "^0.x",
5353
"karma-coffee-preprocessor": "^0.3.0",
5454
"karma-coverage": "^0.5.3",
55-
"karma-firefox-launcher": "0.x",
55+
"karma-firefox-launcher": "^0.1.4",
5656
"karma-html2js-preprocessor": "^0.1.0",
5757
"karma-jasmine": "^0.3.6",
5858
"karma-mocha-reporter": "1.x",

0 commit comments

Comments
 (0)