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