- Timestamp:
- 2019-01-31T17:03:19+13:00 (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
gs3-extensions/map-editor/DrawingManager/historyManager.js
r32724 r32732 2 2 var presentOverlays = []; 3 3 var undoneOverlays = []; 4 var enableSelectionFeature = false;4 var cycleComplete = true; 5 5 6 6 function undo() { 7 7 8 8 for (var i = 0; i < overlays.length; i++) { 9 9 overlays[i].setMap(null); 10 11 10 } 12 11 if (prevOverlays.length != 0) { … … 15 14 undoneOverlaysPush(); 16 15 var prev_overlay = prevOverlays.pop(); 17 18 if (prev_overlay.length > 0) {16 17 if (prev_overlay.length > 0) { 19 18 for (var i = 0; i < prev_overlay.length; i++) { 20 overlays[i] = prev_overlay[i]; 21 overlays[i].setMap(map); 22 } 23 } 24 25 26 } 27 28 //Deactivated at the moment 29 //if (enableSelectionFeature) { 30 // selectedShapes = []; 31 // var i = 0; 32 // var lastEntry = prevOverlays[prevOverlays.length - 1][i]; 33 // console.log(prevOverlays[prevOverlays.length - 1].length); 34 // 35 // for (var i = 0; i < lastEntry.length; i++) { 36 // selectedShapes.push(prevOverlays) 37 // console.log("comes here"); 38 // } 39 // 40 //} 19 overlays[i] = prev_overlay[i]; 20 overlays[i].setMap(map); 21 overlays[i].draggable = draggableState; 22 } 23 } 24 } 41 25 } 42 26 43 27 function redo() { 44 28 45 29 if (undoneOverlays.length != 0) { 46 30 selectedShapes = []; … … 48 32 overlays[i].setMap(null); 49 33 } 34 50 35 overlays = []; 51 36 var lastEntry = undoneOverlays[undoneOverlays.length - 1]; … … 53 38 overlays[i] = lastEntry[i]; 54 39 overlays[i].setMap(map); 55 } 56 var conditionPrevious = presentOverlays[presentOverlays.length - 1] !== undefined ; 57 58 if (conditionPrevious){ 59 prevOverlays.push(presentOverlays[0]); 60 } 61 40 overlays[i].draggable = draggableState; 41 } 42 43 var conditionPrevious = presentOverlays[0]; 44 if (conditionPrevious !== undefined) { 45 if (conditionPrevious.length == 0) { 46 prevOverlays.push(presentOverlays[0]); 47 } else { 48 var overlays_copy = []; 49 for (var i = 0; i < presentOverlays[0].length; i++) { 50 var clone_shape = cloneShape(presentOverlays[0][i]); 51 if (overlayItemIsShape(clone_shape)) { 52 addShapeListeners(clone_shape, null); 53 } else { 54 addMarkerListeners(clone_shape, null); 55 } 56 overlays_copy[i] = clone_shape; 57 } 58 prevOverlays.push(overlays_copy); 59 } 60 } 62 61 presentOverlays = []; 63 //console.log("last undone", undoneOverlays[undoneOverlays.length -1]);64 62 presentOverlays.push(undoneOverlays[undoneOverlays.length - 1]); 65 63 undoneOverlays.pop(); 66 67 } 68 64 } 69 65 } 70 66 … … 100 96 strokeWeight: strokeWeight, 101 97 path: clone_path, 102 draggable: true,98 draggable: draggableState, 103 99 editable: false 104 100 }); … … 128 124 fillOpacity: fillOpacity, 129 125 path: clone_path, 130 draggable: true,126 draggable: draggableState, 131 127 editable: false 132 128 }); … … 154 150 fillOpacity: fillOpacity, 155 151 bounds: bounds, 156 draggable: true,152 draggable: draggableState, 157 153 editable: false, 158 154 type: type … … 182 178 center: center, 183 179 radius: radius, 184 draggable: true,180 draggable: draggableState, 185 181 editable: false 186 182 }); … … 194 190 var position = marker.getPosition(); 195 191 var anchorPoint = marker.anchorPoint; 196 var clone_marker 197 anchorPoint: anchorPoint,198 position: position,199 clickable: true,200 draggable: true,201 editable: false202 })203 clone_marker.type = google.maps.drawing.OverlayType.MARKER;204 192 var clone_marker = new google.maps.Marker({ 193 anchorPoint: anchorPoint, 194 position: position, 195 clickable: true, 196 draggable: draggableState, 197 editable: false 198 }) 199 clone_marker.type = google.maps.drawing.OverlayType.MARKER; 200 205 201 return clone_marker; 206 202 } … … 225 221 return clone_marker; 226 222 } 227 console.log(cloneShape);228 223 } 229 224 … … 240 235 241 236 function historyOverlayPush() { 242 if(undoneOverlays.length > 0) { 243 for(var i = 0; i < undoneOverlays.length; i++) { 244 245 entryType.pop(); 246 } 247 } 248 undoneOverlays = []; 249 //if(resizeEntry){ 250 //prevOverlays.push(presentOverlays[0]); 251 252 //} else { 237 if (cycleComplete) { 253 238 var overlays_copy = []; 254 239 for (var i = 0; i < overlays.length; i++) { 255 240 var clone_shape = cloneShape(overlays[i]); 256 if(resizeEntry) { 257 //console.log("hey lol"); 258 clone_shape = cloneShape(presentOverlays[0][i]); 259 } 241 260 242 if (overlayItemIsShape(clone_shape)) { 261 243 addShapeListeners(clone_shape, null); // don't have an overlay event! … … 265 247 overlays_copy[i] = clone_shape; 266 248 } 267 prevOverlays.push(overlays_copy); 268 //} 269 } 270 249 undoneOverlays = []; 250 prevOverlays.push(overlays_copy); 251 } 252 253 cycleComplete = false; 254 } 271 255 function presentOverlayPush() { 272 273 //clean the entry type array 274 275 if(resizeEntry) { 276 entryType.push("resize"); 277 } else { 278 entryType.push("not resize"); 279 } 280 256 257 OVbeforeClearing = overlays; 258 PObeforeClearing = presentOverlays; 281 259 presentOverlays = []; 282 260 var overlays_copy = []; … … 291 269 } 292 270 presentOverlays.push(overlays_copy); 271 cycleComplete = true; 272 293 273 } 294 274 295 275 function undoneOverlaysPush() { 296 276 297 277 var conditionUndone = presentOverlays[presentOverlays.length - 1] !== undefined; 298 278 299 279 if (conditionUndone) { 300 undoneOverlays.push(presentOverlays[0]); 301 } 302 presentOverlays = []; 280 var overlays_copy = []; 281 for (var i = 0; i < presentOverlays[0].length; i++) { 282 var clone_shape = cloneShape(presentOverlays[0][i]); 283 if (overlayItemIsShape(clone_shape)) { 284 addShapeListeners(clone_shape, null); // don't have an overlay event! 285 } else { 286 addMarkerListeners(clone_shape, null); // don't have an overlay event! 287 } 288 overlays_copy[i] = clone_shape; 289 } 290 undoneOverlays.push(overlays_copy); 291 } 292 303 293 var conditionPresent = prevOverlays[prevOverlays.length - 1] !== undefined; 304 294 305 295 if (conditionPresent) { 306 presentOverlays.push(prevOverlays[prevOverlays.length - 1]); 307 } 308 } 296 presentOverlays = []; 297 var overlays_copy = []; 298 for (var i = 0; i < prevOverlays[prevOverlays.length - 1].length; i++) { 299 var clone_shape = cloneShape(prevOverlays[prevOverlays.length - 1][i]); 300 if (overlayItemIsShape(clone_shape)) { 301 addShapeListeners(clone_shape, null); // don't have an overlay event! 302 } else { 303 addMarkerListeners(clone_shape, null); // don't have an overlay event! 304 } 305 overlays_copy[i] = clone_shape; 306 } 307 presentOverlays.push(overlays_copy); 308 } 309 }
Note:
See TracChangeset
for help on using the changeset viewer.