Skip to content

Commit eccabd5

Browse files
committed
implemented fix for UI updation for undo
1 parent 39bb2be commit eccabd5

File tree

2 files changed

+13
-23
lines changed

2 files changed

+13
-23
lines changed

GoInfoGame/GoInfoGame/DataBase/DBModels/StoredChangeset.swift

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,17 @@ enum StoredElementEnum: String, PersistableEnum {
1616
case node
1717
case way
1818
case unknown
19+
20+
func elementType() -> ElementType {
21+
switch self {
22+
case .node:
23+
return .node
24+
case .way:
25+
return .way
26+
default:
27+
return .node
28+
}
29+
}
1930
}
2031

2132
// Represents one stored way

GoInfoGame/GoInfoGame/quests/QuestUndoManager.swift

Lines changed: 2 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -89,36 +89,15 @@ class MapUndoManager {
8989
}
9090
}
9191

92-
93-
94-
95-
func fetchUndoItems() -> [UndoItem] {
96-
var items: [UndoItem] = []
97-
98-
99-
100-
101-
return items
102-
103-
}
104-
10592

10693
func getUndoItems() -> [UndoItem] {
10794
var items: [UndoItem] = []
10895

109-
let editedNodes = realm.objects(StoredNode.self).filter("isOriginal == false")
96+
let editedNodes = realm.objects(StoredChangeset.self).filter("changesetId == 0")
11097
for edited in editedNodes {
11198
let keys = Array(edited.tags.keys)
11299
if !keys.isEmpty {
113-
items.append(UndoItem(elementId: edited.id, type: .node, changedKeys: keys))
114-
}
115-
}
116-
117-
let editedWays = realm.objects(StoredWay.self).filter("isOriginal == false")
118-
for edited in editedWays {
119-
let keys = Array(edited.tags.keys)
120-
if !keys.isEmpty {
121-
items.append(UndoItem(elementId: edited.id, type: .way, changedKeys: keys))
100+
items.append(UndoItem(elementId: edited.elementId, type: edited.elementType.elementType(), changedKeys: keys))
122101
}
123102
}
124103

0 commit comments

Comments
 (0)