socmap_adf 0.0.11 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,3 +1,14 @@
1
+ # 1.0.0
2
+
3
+ ### Features & Enhancements
4
+ * Tested on 4 production applications
5
+ * ContextMenu update
6
+ * Image upload updated to work in IE
7
+
8
+ ### Bug fixes
9
+ * ContextMenu bug fixes with callbacks
10
+ * Alerts removed
11
+
1
12
  # 0.0.11
2
13
 
3
14
  ### Features & Enhancements
data/Gemfile CHANGED
@@ -6,7 +6,7 @@ source "http://rubygems.org"
6
6
  gemspec
7
7
 
8
8
  # jquery-rails is used by the dummy application
9
- gem "jquery-rails"
9
+ # gem "jquery-rails"
10
10
 
11
11
  # Declare any dependencies that are still in development here instead of in
12
12
  # your gemspec. These might include edge Rails or gems from your path or
@@ -1,4 +1,4 @@
1
- Copyright 2012 Arturs Braucs @ Creative Mobile
1
+ Copyright 2012 Arturs Braucs, Edgars Kaukis @ Creative Mobile
2
2
 
3
3
  Permission is hereby granted, free of charge, to any person obtaining
4
4
  a copy of this software and associated documentation files (the
data/README.md CHANGED
@@ -1,3 +1,7 @@
1
- # SocmapAdf
1
+ # Socmap Applications (Mapplications) Design Framework
2
+
3
+ ## No public documentation yet
4
+
5
+ No tests in 1.0.0 version. If you want to use this GEM, please contact us: Arturs (arturs@creo.mobi) or Edgars (edgars@creo.mobi) .
2
6
 
3
7
  This project rocks and uses MIT-LICENSE.
@@ -1168,17 +1168,19 @@ qq.extend(qq.UploadHandlerXhr.prototype, {
1168
1168
  /**
1169
1169
  * Sends the file identified by id and additional query params to the server
1170
1170
  * @param {Object} params name-value string pairs
1171
- */
1171
+ */
1172
1172
  _upload: function(id, params){
1173
+ //this._options.onUpload(id, this.getName(id), true);
1174
+
1173
1175
  var file = this._files[id],
1174
1176
  name = this.getName(id),
1175
1177
  size = this.getSize(id);
1176
-
1178
+
1177
1179
  this._loaded[id] = 0;
1178
-
1180
+
1179
1181
  var xhr = this._xhrs[id] = new XMLHttpRequest();
1180
1182
  var self = this;
1181
-
1183
+
1182
1184
  xhr.upload.onprogress = function(e){
1183
1185
  if (e.lengthComputable){
1184
1186
  self._loaded[id] = e.loaded;
@@ -1186,53 +1188,66 @@ qq.extend(qq.UploadHandlerXhr.prototype, {
1186
1188
  }
1187
1189
  };
1188
1190
 
1189
- xhr.onreadystatechange = function(){
1191
+ xhr.onreadystatechange = function(){
1190
1192
  if (xhr.readyState == 4){
1191
- self._onComplete(id, xhr);
1193
+ self._onComplete(id, xhr);
1192
1194
  }
1193
1195
  };
1194
1196
 
1195
1197
  // build query string
1196
1198
  params = params || {};
1197
- params['qqfile'] = name;
1199
+ params[this._options.inputName] = name;
1198
1200
  var queryString = qq.obj2url(params, this._options.action);
1199
1201
 
1200
- xhr.open("POST", queryString, true);
1202
+ var protocol = this._options.demoMode ? "GET" : "POST";
1203
+ xhr.open(protocol, queryString, true);
1201
1204
  xhr.setRequestHeader("X-Requested-With", "XMLHttpRequest");
1202
1205
  xhr.setRequestHeader("X-File-Name", encodeURIComponent(name));
1203
- xhr.setRequestHeader("Content-Type", "application/octet-stream");
1206
+ xhr.setRequestHeader("Cache-Control", "no-cache");
1207
+ if (this._options.forceMultipart) {
1208
+ var formData = new FormData();
1209
+ formData.append(this._options.inputName, file);
1210
+ file = formData;
1211
+ } else {
1212
+ xhr.setRequestHeader("Content-Type", "application/octet-stream");
1213
+ //NOTE: return mime type in xhr works on chrome 16.0.9 firefox 11.0a2
1214
+ xhr.setRequestHeader("X-Mime-Type",file.type );
1215
+ }
1216
+ for (key in this._options.customHeaders){
1217
+ xhr.setRequestHeader(key, this._options.customHeaders[key]);
1218
+ };
1204
1219
  xhr.send(file);
1205
1220
  },
1206
1221
  _onComplete: function(id, xhr){
1207
- // the request was aborted/cancelled
1208
- if (!this._files[id]) return;
1209
-
1210
- var name = this.getName(id);
1211
- var size = this.getSize(id);
1212
-
1213
- this._options.onProgress(id, name, size, size);
1214
-
1215
- if (xhr.status == 200){
1216
- this.log("xhr - server response received");
1217
- this.log("responseText = " + xhr.responseText);
1218
-
1219
- var response;
1220
-
1221
- try {
1222
- response = eval("(" + xhr.responseText + ")");
1223
- } catch(err){
1224
- response = {};
1225
- }
1226
-
1227
- this._options.onComplete(id, name, response);
1228
-
1229
- } else {
1230
- this._options.onComplete(id, name, {});
1231
- }
1232
-
1233
- this._files[id] = null;
1234
- this._xhrs[id] = null;
1235
- this._dequeue(id);
1222
+ "use strict";
1223
+ // the request was aborted/cancelled
1224
+ if (!this._files[id]) { return; }
1225
+
1226
+ var name = this.getName(id);
1227
+ var size = this.getSize(id);
1228
+ var response; //the parsed JSON response from the server, or the empty object if parsing failed.
1229
+
1230
+ this._options.onProgress(id, name, size, size);
1231
+
1232
+ //this.log("xhr - server response received");
1233
+ //this.log("responseText = " + xhr.responseText);
1234
+
1235
+ try {
1236
+ if (typeof JSON.parse === "function") {
1237
+ response = JSON.parse(xhr.responseText);
1238
+ } else {
1239
+ response = eval("(" + xhr.responseText + ")");
1240
+ }
1241
+ } catch(err){
1242
+ response = {};
1243
+ }
1244
+ if (xhr.status !== 200){
1245
+ this._options.onError(id, name, "XHR returned response code " + xhr.status);
1246
+ }
1247
+ this._options.onComplete(id, name, response);
1248
+
1249
+ this._xhrs[id] = null;
1250
+ this._dequeue(id);
1236
1251
  },
1237
1252
  _cancel: function(id){
1238
1253
  this._options.onCancel(id, this.getName(id));
@@ -17,24 +17,29 @@ class ADF.GMap.Views.ContextMenu extends ADF.MVC.Views.Base
17
17
  newElement = @make("div", {"class": "map_context_menu", "style" : "display:none;position:absolute;z-index:10;"} )
18
18
  @setElement( newElement )
19
19
  @map.getMapElement().append($(@el))
20
- google.maps.event.addDomListener @gElement, 'rightclick', @onRightClicked
20
+ @rightClickEvent = google.maps.event.addListener @gElement, 'rightclick', @onRightClicked
21
21
  @map.getMapElement().bind "mouseleave", @onMapMouseout
22
22
  $("body").bind "click", @onBodyClicked
23
23
  @
24
24
 
25
+ unBind: () ->
26
+ google.maps.event.removeListener(@rightClickEvent) if @rightClickEvent
27
+ @map.getMapElement().unbind "mouseleave", @onMapMouseout
28
+ $("body").unbind "click", @onBodyClicked
29
+ @remove()
30
+
25
31
  show: () ->
26
- $(@el).css({"top" : @position.y, "left": @position.x})
32
+ $(@el).css({"top" : @position.y + 1, "left": @position.x + 1})
27
33
  $(@el).show()
28
34
  @eventBus.trigger "ADF.GMap.Views.ContextMenu.isShowed"
29
35
 
30
36
  hide: () =>
31
37
  $(@el).hide()
32
38
  @eventBus.trigger "ADF.GMap.Views.ContextMenu.isHidden"
33
-
39
+
34
40
  onRightClicked: (e) =>
35
41
  @eventBus.trigger "ADF.GMap.Views.ContextMenu.hide"
36
42
  @hide()
37
-
38
43
  point = @overlay.getProjection().fromLatLngToContainerPixel(e.latLng)
39
44
  @position = point
40
45
  @latLng = e.latLng
@@ -376,20 +376,14 @@ MarkerLabel_.prototype.setStyles = function () {
376
376
  this.setMandatoryStyles();
377
377
  };
378
378
 
379
-
380
- MarkerLabel_.prototype.hasClass = function ( className ) {
381
- return this.labelDiv_.className.match(new RegExp('(\\s|^)'+className+'(\\s|$)'));
382
- };
383
-
384
- MarkerLabel_.prototype.addClass = function ( className ) {
385
- if (!this.hasClass(className)) this.labelDiv_.className += " "+className;
379
+ MarkerLabel_.prototype.addClass = function ( className ) {
380
+ $(this.labelDiv_).addClass( className )
381
+ $(this.eventDiv_).addClass( className )
386
382
  };
387
383
 
388
384
  MarkerLabel_.prototype.removeClass = function ( className ) {
389
- if (this.hasClass(className)) {
390
- var reg = new RegExp('(\\s|^)'+className+'(\\s|$)');
391
- this.labelDiv_.className=this.labelDiv_.className.replace(reg,' ');
392
- }
385
+ $(this.labelDiv_).removeClass( className )
386
+ $(this.eventDiv_).removeClass( className )
393
387
  };
394
388
 
395
389
 
@@ -15,11 +15,13 @@ class ADF.GMap.Views.OverlayView extends ADF.MVC.Views.Base
15
15
  customMarker: null
16
16
  zindex: 1
17
17
  clickable: true
18
+ hoverable: false
18
19
  openOnClick: true
19
20
  asLabel: false
20
21
  showAfterDrag: false
21
22
  clustering: false
22
23
  data: 1
24
+ idleOn: false
23
25
 
24
26
  constructor: (options) ->
25
27
  super(options)
@@ -139,7 +141,13 @@ class ADF.GMap.Views.OverlayView extends ADF.MVC.Views.Base
139
141
  if @marker
140
142
  @contextMenu = new ADF.GMap.Views.ContextMenu({gElement : @marker, mapModel: @map})
141
143
  @contextMenu.render()
142
-
144
+
145
+ setIdleOn: () =>
146
+ @idleOn = true
147
+
148
+ setIdleOff: () =>
149
+ @idleOn = false
150
+
143
151
  # Callback methods
144
152
  onRenderCompleted: () ->
145
153
  onMarkerAdded: () ->
@@ -2,67 +2,133 @@ class ADF.GMap.Views.Polygon extends ADF.MVC.Views.Base
2
2
 
3
3
  label: false
4
4
  content: false
5
+ withLabel: false
6
+ initialized: false
5
7
 
6
8
  initialize: () ->
7
9
  @mapView = @options.mapView
8
10
  @zone = @options.model
11
+ @polygon = @zone.mapObject
9
12
  @label = @options.label if @options.label?
10
13
  @content = @options.content if @options.content?
11
- @onShapeClicked = @options.onShapeClicked if typeof @options.onShapeClicked == 'function'
12
- @onPolygonDrawCompleted = @options.onPolygonDrawCompleted if typeof @options.onPolygonDrawCompleted == 'function'
13
- @onPolygonDrawStarted = @options.onPolygonDrawStarted if typeof @options.onPolygonDrawStarted == 'function'
14
- @pathChanged = @options.pathChanged if typeof @options.pathChanged == 'function'
15
- @initialized = false
16
-
14
+ @withLabel = @options.withLabel if @options.withLabel?
15
+ @_initCallbacksFromOptions()
16
+ @eventBus.on "setUneditable", @clearSelection
17
+
17
18
  initZone: (allowDraw) ->
18
19
  @initialized = true
19
20
  @map = @mapView.getMap().getGMap()
20
21
  if @zone.isNew() && allowDraw
21
22
  @startDrawing()
22
23
  else
23
- @zone.setPolygonMap( @map )
24
+ @setPolygonMap( @map )
25
+ @setPolygonHandlers()
26
+ @_initLabelView() if @withLabel
24
27
  @onPolygonDrawCompleted() if allowDraw
25
- @setPolygonHandlers()
26
-
28
+
27
29
  @mapView.getMap().addOverlay(@)
28
- @setLabel() if @label
29
30
  @onZoneInitialized()
30
-
31
+
32
+ _initCallbacksFromOptions: () ->
33
+ @onShapeClicked = @options.onShapeClicked if typeof @options.onShapeClicked == 'function'
34
+ @onPolygonDrawCompleted = @options.onPolygonDrawCompleted if typeof @options.onPolygonDrawCompleted == 'function'
35
+ @onPolygonDrawStarted = @options.onPolygonDrawStarted if typeof @options.onPolygonDrawStarted == 'function'
36
+ @onPathChanged = @options.pathChanged if typeof @options.pathChanged == 'function'
37
+
38
+ _initLabelView: () ->
39
+ @labelView = new ADF.Map.Views.PolygonLabel
40
+ point: @getCenter()
41
+ map : @mapView.getMap()
42
+ model: @zone
43
+ label: if @label && @label.length > 0 then @label else null
44
+ content: @content
45
+ clickable: false
46
+ hidden: true
47
+ template: @zonePopupTemplate
48
+
31
49
  isClustering: () ->
32
50
  false
51
+
52
+ removeFromMap: () -> # Depricated
53
+ @zone.removeFromMap()
54
+ @labelView.remove() if @labelView
55
+
56
+ remove: () ->
57
+ @polygon.getPolygon().setMap(null)
58
+ @labelView.remove() if @labelView
59
+ @contextMenu.unBind() if @contextMenu
33
60
 
61
+ addContextMenu: () ->
62
+ @contextMenu = new ADF.GMap.Views.ContextMenu({gElement: @polygon.getPolygon(), mapModel: @mapView.getMap()})
63
+ @contextMenu.render()
64
+
65
+ # HELPERS
34
66
  setContent: ( content ) ->
67
+ return unless @labelView
35
68
  @content = content
36
69
  @labelView.setContent( content )
37
70
  @labelView.render()
38
71
 
39
- setLabel: ( label = null) ->
40
- @label = label if label
41
- bounds = new google.maps.LatLngBounds()
72
+ setLabel: ( label) ->
73
+ return unless @labelView
74
+ @label = label
75
+ @labelView.setLabel @label
42
76
 
77
+ setLabelPosition: () ->
78
+ point = @getCenter()
79
+ @labelView.overlay.setPosition point
80
+
81
+ getZone: ->
82
+ @zone
83
+
84
+ clearSelection: =>
85
+ @setUnEditable( )
86
+
87
+ setMap: (map) ->
88
+ @setPolygonMap( map )
89
+
90
+ getCenter: () ->
91
+ bounds = new google.maps.LatLngBounds()
43
92
  i = 0
44
- while i < @zone.getPolygon().getPath().length
45
- bounds.extend(@zone.getPolygon().getPath().getAt(i))
46
- i++
47
- point = bounds.getCenter()
48
-
49
- unless @labelView
50
- @labelView = new ADF.Map.Views.PolygonLabel
51
- point: point
52
- map : @mapView.getMap()
53
- model: @zone
54
- hidden: true
55
- label: @label
56
- content: @content
57
- clickable: false
58
- template: @zonePopupTemplate
59
- else
60
- @labelView.overlay.setPosition(point)
61
- @labelView.setLabel @label
93
+ while i < @polygon.getPolygon().getPath().length
94
+ bounds.extend(@polygon.getPolygon().getPath().getAt(i))
95
+ i++
96
+ bounds.getCenter()
97
+
98
+ setFirstCoordinate: (latLng) ->
99
+ @first_coordinate = latLng
100
+
101
+ getFirstCoordinate: ->
102
+ if @first_coordinate? then @first_coordinate else false
103
+
104
+ # HANDLERS
105
+ setPolygonHandlers: () ->
106
+ google.maps.event.addListener @polygon.getPolygon(), 'click', @newShapeClickHandler if @isEditable()
107
+ google.maps.event.addListener @polygon.getPolygon(), 'rightclick', @newShapeClickHandler if @isEditable()
108
+
109
+ google.maps.event.addListener @polygon.getPolygon(), 'mouseout', @onMouseOut
110
+ google.maps.event.addListener @polygon.getPolygon(), 'mouseover', @onMouseOver
111
+ google.maps.event.addListener @polygon.getPolygon(), 'mousemove', @onMouseMove
112
+ google.maps.event.addListener @map, 'click', @clearSelection
113
+ google.maps.event.addListener @polygon.getPolygon().getPath(), 'set_at', @onPathChanged
114
+ google.maps.event.addListener @polygon.getPolygon().getPath(), 'insert_at', @onPathChanged
115
+ google.maps.event.addListener @polygon.getPolygon().getPath(), 'remove_at', @onPathChanged
116
+ @setEditable()
117
+
118
+ onMouseOut: (e) =>
119
+ @labelView.hideOverlayAfterTime() if @labelView
62
120
 
63
- setColors: (fillColor, strokeColor) ->
64
- @zone.setColors(fillColor, strokeColor)
65
-
121
+ onMouseOver: (e) =>
122
+ @labelView.openOverlayOnHover() if @labelView && !@isEditable() && @content && @content.length > 0
123
+
124
+ onMouseMove: (e) =>
125
+ @labelView.hide() if @isEditable() && @labelView && @labelView.opened
126
+
127
+ newShapeClickHandler: ( e ) =>
128
+ @eventBus.trigger "setUneditable"
129
+ @setEditable()
130
+ @onShapeClicked()
131
+
66
132
  startDrawing: =>
67
133
  return if @zone.readOnly
68
134
  @drawingManager = new google.maps.drawing.DrawingManager
@@ -73,77 +139,46 @@ class ADF.GMap.Views.Polygon extends ADF.MVC.Views.Base
73
139
 
74
140
  @onPolygonDrawStarted()
75
141
  google.maps.event.addListener @drawingManager, 'polygoncomplete', @polygonCompleteHandler
76
-
77
- # stopDrawing: ->
78
- # @drawingManager.setMap(null) if @drawingManager
79
-
80
- setFirstCoordinate: (latLng) ->
81
- @first_coordinate = latLng
82
-
83
- getFirstCoordinate: ->
84
- if @first_coordinate? then @first_coordinate else false
85
-
142
+
86
143
  stopDrawing: ->
87
144
  @drawingManager.setDrawingMode null if @drawingManager
88
145
 
89
- getZone: ->
90
- @zone
91
-
92
- setMap: (map) ->
93
- @zone.setPolygonMap(map)
94
-
95
- # Depricated
96
- removeFromMap: () ->
97
- @zone.removeFromMap()
98
- @labelView.remove() if @labelView
99
-
100
- remove: () ->
101
- @zone.getPolygon().setMap(null)
102
- @labelView.remove() if @labelView
103
-
104
146
  polygonCompleteHandler: ( newShape ) =>
105
- @zone.setPolygon( newShape )
147
+ @setPolygon( newShape )
106
148
  @setPolygonHandlers()
149
+ @stopDrawing()
150
+ @_initLabelView() if @withLabel
107
151
  @onPolygonDrawCompleted()
152
+
153
+ # DELEGATE METHODS
154
+ setColors: (fillColor, strokeColor) ->
155
+ @polygon.setColors(fillColor, strokeColor)
156
+
157
+ setPolygon: ( polygon ) ->
158
+ @polygon.setPolygon( polygon )
159
+
160
+ setPolygonMap: ( map ) ->
161
+ @polygon.setPolygonMap( map )
162
+
163
+ setEditable: ( editable ) ->
164
+ @polygon.setEditable( editable )
165
+
166
+ setUnEditable: ( editable ) ->
167
+ @polygon.setUnEditable( editable )
168
+
169
+ setClickable: ( clickable ) ->
170
+ @polygon.getPolygon().setOptions({clickable: clickable})
108
171
 
109
- onMouseOut: (e) =>
110
- @labelView.hideOverlayAfterTime() if @labelView
111
-
112
- onMouseOver: (e) =>
113
- @labelView.openOverlayOnHover() if @labelView && !@isEditable() && @content
114
-
115
- onMouseMove: (e) =>
116
- @labelView.hide() if @isEditable() && @labelView && @labelView.opened
117
-
118
- setPolygonHandlers: () ->
119
- google.maps.event.addListener @zone.getPolygon(), 'click', @newShapeClickHandler if @isEditable()
120
- google.maps.event.addListener @zone.getPolygon(), 'mouseout', @onMouseOut
121
- google.maps.event.addListener @zone.getPolygon(), 'mouseover', @onMouseOver
122
- google.maps.event.addListener @zone.getPolygon(), 'mousemove', @onMouseMove
123
- google.maps.event.addListener @map, 'click', @clearSelection
124
- google.maps.event.addListener @zone.getPolygon().getPath(), 'set_at', @pathChanged
125
- google.maps.event.addListener @zone.getPolygon().getPath(), 'insert_at', @pathChanged
126
- google.maps.event.addListener @zone.getPolygon().getPath(), 'remove_at', @pathChanged
127
- @zone.setEditable()
128
-
129
-
130
172
  isEditable: () ->
131
- @zone.getPolygon().getEditable()
132
-
133
- clearSelection: =>
134
- @zone.setUnEditable( )
135
-
136
- newShapeClickHandler: ( e ) =>
137
- @zone.setEditable()
138
- @onShapeClicked()
139
-
140
- addContextMenu: () ->
141
- @contextMenu = new ADF.GMap.Views.ContextMenu({gElement : @zone.getPolygon(), mapModel: @mapView.getMap()})
142
- @contextMenu.render()
173
+ @polygon.getPolygon().getEditable()
174
+
175
+ setIdleOn: () =>
176
+
177
+ setIdleOff: () =>
143
178
 
144
- # Callback Methods
179
+ # CALLBACKS
145
180
  onPolygonDrawCompleted: =>
146
181
  onPolygonDrawStarted: =>
147
182
  onShapeClicked: =>
148
- pathChanged: =>
183
+ onPathChanged: =>
149
184
  onZoneInitialized: =>
@@ -23,7 +23,7 @@ class ADF.ImageUploader.Views.Main extends ADF.MVC.Views.Base
23
23
  onProgress: @onProgress
24
24
  template: @template()
25
25
  sizeLimit: 2024000
26
- messages:
26
+ messages_lv:
27
27
  typeError: "Failam {file} ir nepareizs formāts. Tikai {extensions} formāti ir atļauti."
28
28
  sizeError: "Fails {file} ir pārāk liels. Faila maksimālais lielums {sizeLimit}."
29
29
  minSizeError: "Faila {file} izmērs ir par mazu, minimums {minSizeLimit}."
@@ -1,7 +1,6 @@
1
1
  class ADF.Overlay.Views.FlashOverlay extends ADF.GMap.Views.OverlayView
2
2
 
3
3
  opened: false
4
- clickable: false
5
4
  hoverable: true
6
5
  calibration: [0, -16, -20, 0]
7
6
  mouseout: true
@@ -10,8 +9,8 @@ class ADF.Overlay.Views.FlashOverlay extends ADF.GMap.Views.OverlayView
10
9
  constructor: (options) ->
11
10
  super(options)
12
11
  @pushOverlay()
13
- @eventBus.on "ADF.GMap.Views.ContextMenu.isShowed", @setUnHoverable
14
- @eventBus.on "ADF.GMap.Views.ContextMenu.isHidden", @setHoverable
12
+ @eventBus.on "ADF.GMap.Views.ContextMenu.isShowed", @hideAndSetIdleOn
13
+ @eventBus.on "ADF.GMap.Views.ContextMenu.isHidden", @setIdleOff
15
14
 
16
15
  onMarkerMouseOver: () =>
17
16
  @openOverlayOnHover()
@@ -20,10 +19,11 @@ class ADF.Overlay.Views.FlashOverlay extends ADF.GMap.Views.OverlayView
20
19
  @hideOverlayAfterTime() if @mouseout
21
20
 
22
21
  openOverlayOnHover: () =>
23
- @map.hideAllOverlays()
24
- @opened = true
25
- @calculatePosition()
26
- @show()
22
+ if !@idleOn
23
+ @map.hideAllOverlays()
24
+ @opened = true
25
+ @calculatePosition()
26
+ @show()
27
27
 
28
28
  hideOverlayIfNeeded: () =>
29
29
  @hide() if !@opened
@@ -47,6 +47,10 @@ class ADF.Overlay.Views.FlashOverlay extends ADF.GMap.Views.OverlayView
47
47
  @hoverable = false
48
48
  @hide()
49
49
 
50
+ hideAndSetIdleOn: () =>
51
+ @hide()
52
+ @setIdleOn()
53
+
50
54
  setHoverable: () =>
51
55
  @hoverable = true
52
56
 
@@ -5,13 +5,15 @@ class ADF.Map.Views.PolygonLabel extends ADF.Overlay.Views.FlashOverlay
5
5
  mouseout: false
6
6
  hoverable: false
7
7
 
8
+
8
9
  initialize: () ->
9
10
  super()
10
11
  @label = @options.label
11
12
  @content = @options.content
12
13
  @template = @options.template if @options.template
13
14
  @customMarker = new ADF.Zone.Views.LabelMarker()
14
-
15
+ @labelClass = "marker_label hover" if @content
16
+
15
17
  setContent: (content) ->
16
18
  @content = content
17
19
 
@@ -26,7 +28,11 @@ class ADF.Map.Views.PolygonLabel extends ADF.Overlay.Views.FlashOverlay
26
28
  onRenderCompleted: () ->
27
29
  @$(".content").html(@content)
28
30
  $(@el).hover(@openOverlayOnHover, @hideOverlayAfterTime)
29
-
31
+ if @content && @marker.label?
32
+ @marker.set("labelClass", "marker_label hover")
33
+ else if @marker.label
34
+ @marker.set("labelClass", "marker_label")
35
+
30
36
  onOverlayShowed: () =>
31
37
  @_setScrollable()
32
38
 
@@ -1,3 +1,3 @@
1
1
  module SocmapAdf
2
- VERSION = "0.0.11"
2
+ VERSION = "1.0.0"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: socmap_adf
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.11
4
+ version: 1.0.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -11,7 +11,7 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2012-10-25 00:00:00.000000000 Z
14
+ date: 2012-11-05 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: rails
@@ -207,7 +207,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
207
207
  version: '0'
208
208
  segments:
209
209
  - 0
210
- hash: 57803292243622167
210
+ hash: -1446995154133423231
211
211
  required_rubygems_version: !ruby/object:Gem::Requirement
212
212
  none: false
213
213
  requirements:
@@ -216,7 +216,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
216
216
  version: '0'
217
217
  segments:
218
218
  - 0
219
- hash: 57803292243622167
219
+ hash: -1446995154133423231
220
220
  requirements: []
221
221
  rubyforge_project: socmap_adf
222
222
  rubygems_version: 1.8.24