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.
- data/CHANGELOG.md +11 -0
- data/Gemfile +1 -1
- data/MIT-LICENSE +1 -1
- data/README.md +5 -1
- data/lib/assets/javascripts/socmap_adf/lib/vendor/file_uploader/fileuploader.js +53 -38
- data/lib/assets/javascripts/socmap_adf/modules/gmap/views/context_menu.js.coffee +9 -4
- data/lib/assets/javascripts/socmap_adf/modules/gmap/views/marker_with_label.js +5 -11
- data/lib/assets/javascripts/socmap_adf/modules/gmap/views/overlay_view.js.coffee +9 -1
- data/lib/assets/javascripts/socmap_adf/modules/gmap/views/polygon.js.coffee +131 -96
- data/lib/assets/javascripts/socmap_adf/modules/image_uploader/views/main.js.coffee +1 -1
- data/lib/assets/javascripts/socmap_adf/modules/overlay/views/flash_overlay.coffee +11 -7
- data/lib/assets/javascripts/socmap_adf/modules/overlay/views/polygon_label.js.coffee +8 -2
- data/lib/socmap_adf/version.rb +1 -1
- metadata +4 -4
data/CHANGELOG.md
CHANGED
@@ -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
|
data/MIT-LICENSE
CHANGED
data/README.md
CHANGED
@@ -1,3 +1,7 @@
|
|
1
|
-
#
|
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[
|
1199
|
+
params[this._options.inputName] = name;
|
1198
1200
|
var queryString = qq.obj2url(params, this._options.action);
|
1199
1201
|
|
1200
|
-
|
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("
|
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
|
-
|
1208
|
-
|
1209
|
-
|
1210
|
-
|
1211
|
-
|
1212
|
-
|
1213
|
-
|
1214
|
-
|
1215
|
-
|
1216
|
-
|
1217
|
-
|
1218
|
-
|
1219
|
-
|
1220
|
-
|
1221
|
-
|
1222
|
-
|
1223
|
-
|
1224
|
-
|
1225
|
-
|
1226
|
-
|
1227
|
-
|
1228
|
-
|
1229
|
-
|
1230
|
-
|
1231
|
-
|
1232
|
-
|
1233
|
-
|
1234
|
-
|
1235
|
-
|
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.
|
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
|
-
|
381
|
-
|
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
|
-
|
390
|
-
|
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
|
-
@
|
12
|
-
@
|
13
|
-
@
|
14
|
-
|
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
|
-
@
|
24
|
+
@setPolygonMap( @map )
|
25
|
+
@setPolygonHandlers()
|
26
|
+
@_initLabelView() if @withLabel
|
24
27
|
@onPolygonDrawCompleted() if allowDraw
|
25
|
-
|
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
|
40
|
-
|
41
|
-
|
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 < @
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
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
|
-
|
64
|
-
@
|
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
|
-
@
|
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
|
-
@
|
132
|
-
|
133
|
-
|
134
|
-
|
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
|
-
|
179
|
+
# CALLBACKS
|
145
180
|
onPolygonDrawCompleted: =>
|
146
181
|
onPolygonDrawStarted: =>
|
147
182
|
onShapeClicked: =>
|
148
|
-
|
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
|
-
|
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", @
|
14
|
-
@eventBus.on "ADF.GMap.Views.ContextMenu.isHidden", @
|
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
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
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
|
|
data/lib/socmap_adf/version.rb
CHANGED
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
|
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-
|
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:
|
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:
|
219
|
+
hash: -1446995154133423231
|
220
220
|
requirements: []
|
221
221
|
rubyforge_project: socmap_adf
|
222
222
|
rubygems_version: 1.8.24
|