socmap_adf 0.0.11 → 1.0.0

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.
@@ -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