Skip to content
This repository was archived by the owner on Nov 30, 2018. It is now read-only.

Commit ad5920b

Browse files
committed
Merge pull request #782 from nmccready/hotfix/nmccready/issue_755
[master] issue 755
2 parents 107a7c4 + 08ea114 commit ad5920b

29 files changed

+359
-389
lines changed

bower.json

+2-1
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
},
1111
"devDependencies": {
1212
"angular-mocks": ">=1.2.x",
13-
"uuid": "http://github.com/LiosK/UUID.js/archive/v3.2.tar.gz"
13+
"uuid": "http://github.com/LiosK/UUID.js/archive/v3.2.tar.gz",
14+
"angular-route": "~1.3.0"
1415
}
1516
}

dist/angular-google-maps.js

+77-142
Large diffs are not rendered by default.

dist/angular-google-maps.min.js

-9
This file was deleted.

example/assets/scripts/controllers/example.js

+1
Original file line numberDiff line numberDiff line change
@@ -181,6 +181,7 @@ angular.module("angular-google-maps-example", ["google-maps".ns()])
181181
Logger.info('CLICK CLICK');
182182
},
183183
map: {
184+
show: true,
184185
control: {},
185186
version: "uknown",
186187
heatLayerCallback: function (layer) {
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
angular.module("markerCoordsTest", ['ngRoute',"google-maps".ns()])
2+
3+
.config(['GoogleMapApiProvider'.ns(), function (GoogleMapApi) {
4+
GoogleMapApi.configure({
5+
v: '3.17',
6+
libraries: ''
7+
});
8+
}])
9+
10+
.config(['$routeProvider',
11+
function($routeProvider) {
12+
return $routeProvider
13+
.when('/map', {
14+
templateUrl: 'assets/templates/issue-755-ng-router.html',
15+
controller: 'TestController'
16+
}).when('/msgs', {
17+
template: '<div>HI!</div>',
18+
});
19+
}
20+
])
21+
22+
.controller("TestController", function($scope, $interval) {
23+
var coords = {
24+
latitude: 45.0,
25+
longitude: 11.0
26+
};
27+
28+
icon = undefined;
29+
30+
$scope.map = {
31+
title: "A test map",
32+
center: coords,
33+
zoom: 15,
34+
};
35+
36+
$scope.marker = {
37+
id: "myMarker",
38+
coords: coords,
39+
icon: 'assets/images/blue_marker.png'
40+
};
41+
42+
$scope.markers = [
43+
$scope.marker
44+
];
45+
46+
$interval(function() {
47+
if($scope.marker.icon)
48+
$scope.marker.icon = undefined;
49+
else
50+
$scope.marker.icon = 'assets/images/blue_marker.png';
51+
coords.latitude = coords.latitude + 0.0001;
52+
coords.longitude = coords.longitude + 0.0001;
53+
}, 1500);
54+
});
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
<div>
2+
<h1>{{map.title}}</h1>
3+
4+
<ui-gmap-google-map
5+
center="map.center"
6+
zoom="map.zoom">
7+
8+
<ui-gmap-marker
9+
idKey="marker.id"
10+
coords="marker.coords"
11+
icon="marker.icon">
12+
<ui-gmap-window show='true'>
13+
<div>
14+
{{marker.coords}}
15+
</div>
16+
</ui-gmap-window>
17+
</ui-gmap-marker>
18+
19+
<!-- <ui-gmap-markers
20+
models='markers'
21+
idKey="'id'"
22+
coords="'coords'"
23+
icon="'icon'">
24+
</ui-gmap-markers>
25+
</ui-gmap-google-map> -->
26+
27+
</div>

example/example.html

+2-1
Original file line numberDiff line numberDiff line change
@@ -37,8 +37,9 @@ <h2>angular-google-maps: <span ng-cloak>{{version}}</span>, google-maps: <span n
3737
<button class="btn btn-danger" ng-click="removeMarkers()">Clear Map</button>
3838
<button class="btn btn-success" ng-click="refreshMap()">Refresh Map</button>
3939
<button class="btn btn-success" ng-click="getMapInstance()">Get Map Instance</button>
40+
Show Map: <input type="checkbox" text="Show / Hide Map" ng-model="map.show">
4041
</div>
41-
<div class="row-fluid">
42+
<div class="row-fluid" ng-if="map.show">
4243
<ui-gmap-google-map class="span8"
4344
center="map.center"
4445
zoom="map.zoom"

example/issue-753-marker-not-watched.html

+2-2
Original file line numberDiff line numberDiff line change
@@ -28,12 +28,12 @@ <h1>{{map.title}}</h1>
2828
</ui-gmap-window>
2929
</ui-gmap-marker>
3030

31-
<ui-gmap-markers
31+
<!-- <ui-gmap-markers
3232
models='markers'
3333
idKey="'id'"
3434
coords="'coords'"
3535
icon="'icon'">
36-
</ui-gmap-markers>
36+
</ui-gmap-markers> -->
3737

3838
</ui-gmap-google-map>
3939
</div>

example/issue-755-ng-router.html

+24
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
<!DOCTYPE html>
2+
<html>
3+
<head>
4+
<link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css">
5+
<link rel="stylesheet" href="assets/stylesheets/example.css"/>
6+
<script src="../bower_components/angular/angular.js"></script>
7+
<script src="../bower_components/angular-route/angular-route.js"></script>
8+
<script src="../bower_components/lodash/dist/lodash.js"></script>
9+
<script src="../bower_components/bluebird/js/browser/bluebird.js"></script>
10+
<script src="../dist/angular-google-maps.js"></script>
11+
<script src="assets/scripts/controllers/issue-755-ng-router.js"></script>
12+
</head>
13+
<body ng-app="markerCoordsTest">
14+
<div class="collapse navbar-collapse">
15+
<ul class="nav navbar-nav">
16+
<li class="active"><a href="#map">Map</a></li>
17+
<li><a href="#msgs">Messages</a></li>
18+
</ul>
19+
</div>
20+
<div class="container">
21+
<div ng-view></div>
22+
</div>
23+
</body>
24+
</html>

spec/coffee/directives/api/marker.spec.coffee

+5-10
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,6 @@
11
describe "directives.api.Marker", ->
22
beforeEach ->
3-
module "google-maps".ns()
4-
module "google-maps.mocks"
5-
inject (GoogleApiMock) =>
6-
@gmap = new GoogleApiMock()
7-
@gmap.mockAPI()
8-
@gmap.mockLatLng()
9-
@gmap.mockMarker()
10-
@gmap.mockEvent()
3+
module "google-maps.mocks".ns()
114

125
@mocks =
136
scope:
@@ -31,7 +24,9 @@ describe "directives.api.Marker", ->
3124
@timeOutNoW = (fnc, time) =>
3225
fnc()
3326

34-
inject ['$rootScope', '$q', 'Marker'.ns(),($rootScope, $q, Marker) =>
27+
inject ['GoogleApiMock','$rootScope', '$q', 'Marker'.ns(),(GoogleApiMock,$rootScope, $q, Marker) =>
28+
@gmap = new GoogleApiMock()
29+
@gmap.initAll()
3530
@$rootScope = $rootScope
3631
d = $q.defer()
3732
d.resolve {}
@@ -63,4 +58,4 @@ describe "directives.api.Marker", ->
6358
@$rootScope.$apply()
6459
fn = @mocks.scope.control.getGMarkers
6560
expect(fn).toBeDefined()
66-
expect(fn()[0].key).toEqual(@mocks.scope.idKey)
61+
expect(fn()[0].key).toEqual(@mocks.scope.idKey)
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,24 @@
11
describe "markers directive test", ->
22
allDone = undefined
33
beforeEach ->
4-
#TODO: These modules really need dependencies setup properly
5-
module("google-maps.mocks")
6-
module("google-maps".ns())
7-
module("google-maps.directives.api.utils".ns())
84

5+
apiMock = window["Initiator".ns()].initMock().apiMock
96

10-
inject ['$rootScope', '$timeout', '$compile', '$q', 'GoogleApiMock', 'Markers'.ns(),
11-
($rootScope, $timeout, $compile, $q, GoogleApiMock, Markers) =>
7+
inject ['$rootScope', '$timeout', '$compile', '$q', 'Markers'.ns(),
8+
($rootScope, $timeout, $compile, $q, Markers) =>
129
@rootScope = $rootScope
1310
@timeout = $timeout
1411
@compile = $compile
15-
@apiMock = new GoogleApiMock()
16-
@apiMock.mockAPI()
17-
@apiMock.mockMap()
1812
@markerCount = 0
1913
@marker = (opts) =>
2014
@markerCount++
2115
allDone?()
22-
@marker.prototype = @apiMock.getMarker().prototype
16+
@marker.prototype = apiMock.getMarker().prototype
2317
@subject = Markers
24-
@apiMock.mockMarker(@marker)
18+
apiMock.mockMarker(@marker)
2519
]
2620

2721
it "should add markers for each object in model", (done) ->
28-
#TODO: We ought to be able to make this test pass, just need to figure _async I think -MDB.
2922
html = """
3023
<ui-gmap-google-map draggable="true" center="map.center" zoom="map.zoom">
3124
<ui-gmap-markers models="items" coords="'self'" ></ui-gmap-markers>
@@ -37,7 +30,6 @@ describe "markers directive test", ->
3730
scope.map.zoom = 12
3831
scope.map.center = {longitude: 47, latitude: -27}
3932

40-
4133
scope.$watch 'items', (nv) ->
4234
console.log(nv)
4335

@@ -51,8 +43,9 @@ describe "markers directive test", ->
5143
toPush.longitude = -27
5244
scope.items.push(toPush)
5345
scope.$apply()
46+
@rootScope.$apply()
5447
@timeout.flush()
5548
# expect(@markerCount).toEqual(1)
5649

5750
it "exists", ->
58-
expect(@subject).toBeDefined()
51+
expect(@subject).toBeDefined()

spec/coffee/directives/api/models/child/window-child-model.spec.coffee

+3-2
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ describe "WindowChildModel".ns(), ->
99
@content_ = opt_opts.content || "";
1010
@div_ = document.createElement("div")
1111
@div_.className = @boxClass_
12-
12+
1313
@scope =
1414
coords:
1515
latitude: 90.0
@@ -34,6 +34,7 @@ describe "WindowChildModel".ns(), ->
3434
]
3535

3636
angular.mock.module('mockModule')
37+
window["Initiator".ns()].initMock()
3738

3839
it 'can be created', ->
3940
inject(($http, $rootScope, $templateCache, $compile, $controller) =>
@@ -51,4 +52,4 @@ describe "WindowChildModel".ns(), ->
5152
@subject = $controller('childModel', scope: scope)
5253
)
5354
expect(@subject != undefined).toEqual(true)
54-
expect(@subject.index).toEqual(@index)
55+
expect(@subject.index).toEqual(@index)

spec/coffee/directives/api/models/parent/markers-parent-model.spec.coffee

+6-9
Original file line numberDiff line numberDiff line change
@@ -44,23 +44,21 @@ describe "MarkersParentModel - Clusterer Event Extensions", ->
4444
.value('scope', @scope)
4545

4646
module "mockModule"
47-
inject (GoogleApiMock) =>
48-
@gmap = new GoogleApiMock(false)
49-
@gmap.mockEvent()
47+
window["Initiator".ns()].initMock()
5048

51-
inject ['$rootScope', 'element', 'attrs', 'map', 'MarkersParentModel'.ns(), 'GoogleMapsUtilV3'.ns(),'ExtendMarkerClusterer'.ns(),
49+
inject ['$rootScope', 'element', 'attrs', 'map',
50+
'MarkersParentModel'.ns(), 'GoogleMapsUtilV3'.ns(),'ExtendMarkerClusterer'.ns(),
5251
($rootScope, element, attrs, map, MarkersParentModel, GoogleMapsUtilV3,ExtendMarkerClusterer) =>
5352
GoogleMapsUtilV3.init()
5453
ExtendMarkerClusterer.init()
5554
scope = $rootScope.$new()
56-
$timeout = ((fn)->
57-
fn())
55+
5856
@scope = _.extend @scope, scope
5957
@scope.options =
6058
animation: google.maps.Animation.BOUNCE
6159
@testCtor = MarkersParentModel
62-
@fireListener = window.google.maps.event.fireListener
63-
@subject = new @testCtor(@scope, element, attrs, map, $timeout)
60+
61+
@subject = new @testCtor(@scope, element, attrs, map)
6462
@subject
6563
]
6664

@@ -101,4 +99,3 @@ describe "MarkersParentModel - Clusterer Event Extensions", ->
10199
expect(@markerModelsCluster).toBe("crap")
102100
describe "not fired", ->
103101
it 'click - ', ->
104-

spec/coffee/directives/api/window.spec.coffee

+7-23
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,6 @@
11
describe "directives.api.Window", ->
22
beforeEach ->
3-
window.google
4-
module "google-maps".ns()
5-
module "google-maps.mocks"
6-
inject (GoogleApiMock) =>
7-
@gmap = new GoogleApiMock()
8-
# @gmap.mockAPI()
9-
3+
window["Initiator".ns()].initMock()
104
@mocks =
115
scope:
126
coords:
@@ -22,18 +16,10 @@ describe "directives.api.Window", ->
2216
attrs: {
2317
isiconvisibleonclick:true
2418
}
25-
ctrls: [
26-
{
27-
getMap:()->
28-
{}
29-
}
30-
]
31-
32-
33-
@timeOutNoW = (fnc,time) =>
34-
fnc()
35-
# @gMarker = new google.maps.Marker(@commonOpts)
36-
inject ['$rootScope','$q', '$compile', '$http', '$templateCache', 'ExtendGWin'.ns(), 'Window'.ns(),
19+
ctrls: [{getMap:()->{}}]
20+
@gmap = {}
21+
inject ['$rootScope','$q', '$compile', '$http',
22+
'$templateCache', 'ExtendGWin'.ns(), 'Window'.ns(),
3723
(_$rootScope_,$q, $compile, $http, $templateCache, ExtendGWin, Window) =>
3824
ExtendGWin.init()
3925
@$rootScope = _$rootScope_
@@ -45,8 +31,7 @@ describe "directives.api.Window", ->
4531
@$rootScope
4632
@windowScope = _.extend @$rootScope.$new(), @mocks.scope
4733

48-
49-
@subject = new Window(@timeOutNoW,$compile, $http, $templateCache)
34+
@subject = new Window()
5035
@subject.onChildCreation = (child) =>
5136
@childWindow = child
5237

@@ -70,7 +55,6 @@ describe "directives.api.Window", ->
7055
crap = null
7156
@prom.then ->
7257
crap = "set"
73-
#holy crap $rootScope.$apply() must come after all promises!!!!!
7458
@$rootScope.$apply() #force $q to resolve
7559
expect(crap).toBe 'set'
7660
expect(@childWindow).toBeDefined()
@@ -87,4 +71,4 @@ describe "directives.api.Window", ->
8771
@$rootScope.$apply() #force $q to resolve
8872
expect(@mocks.scope.control.getChildWindows().length).toBe(1)
8973
expect(@mocks.scope.control.getChildWindows()[0]).toEqual(@childWindow)
90-
expect(@mocks.scope.control.getGWindows()[0]).toEqual(@childWindow.gWin)
74+
expect(@mocks.scope.control.getGWindows()[0]).toEqual(@childWindow.gWin)

0 commit comments

Comments
 (0)