Sort vehicles by update date
This commit is contained in:
parent
7e0608b52e
commit
dde3c91502
@ -7,28 +7,28 @@
|
||||
<key>AutoCat.xcscheme_^#shared#^_</key>
|
||||
<dict>
|
||||
<key>orderHint</key>
|
||||
<integer>1</integer>
|
||||
<integer>0</integer>
|
||||
</dict>
|
||||
<key>Eureka (Playground) 1.xcscheme</key>
|
||||
<dict>
|
||||
<key>isShown</key>
|
||||
<false/>
|
||||
<key>orderHint</key>
|
||||
<integer>5</integer>
|
||||
<integer>9</integer>
|
||||
</dict>
|
||||
<key>Eureka (Playground) 2.xcscheme</key>
|
||||
<dict>
|
||||
<key>isShown</key>
|
||||
<false/>
|
||||
<key>orderHint</key>
|
||||
<integer>6</integer>
|
||||
<integer>10</integer>
|
||||
</dict>
|
||||
<key>Eureka (Playground).xcscheme</key>
|
||||
<dict>
|
||||
<key>isShown</key>
|
||||
<false/>
|
||||
<key>orderHint</key>
|
||||
<integer>4</integer>
|
||||
<integer>3</integer>
|
||||
</dict>
|
||||
<key>GettingStarted (Playground) 1.xcscheme</key>
|
||||
<dict>
|
||||
@ -70,42 +70,42 @@
|
||||
<key>isShown</key>
|
||||
<false/>
|
||||
<key>orderHint</key>
|
||||
<integer>10</integer>
|
||||
<integer>5</integer>
|
||||
</dict>
|
||||
<key>Rx (Playground) 1.xcscheme</key>
|
||||
<dict>
|
||||
<key>isShown</key>
|
||||
<false/>
|
||||
<key>orderHint</key>
|
||||
<integer>0</integer>
|
||||
<integer>2</integer>
|
||||
</dict>
|
||||
<key>Rx (Playground) 2.xcscheme</key>
|
||||
<dict>
|
||||
<key>isShown</key>
|
||||
<false/>
|
||||
<key>orderHint</key>
|
||||
<integer>3</integer>
|
||||
<integer>4</integer>
|
||||
</dict>
|
||||
<key>Rx (Playground).xcscheme</key>
|
||||
<dict>
|
||||
<key>isShown</key>
|
||||
<false/>
|
||||
<key>orderHint</key>
|
||||
<integer>2</integer>
|
||||
<integer>1</integer>
|
||||
</dict>
|
||||
<key>SwiftDate (Playground) 1.xcscheme</key>
|
||||
<dict>
|
||||
<key>isShown</key>
|
||||
<false/>
|
||||
<key>orderHint</key>
|
||||
<integer>8</integer>
|
||||
<integer>7</integer>
|
||||
</dict>
|
||||
<key>SwiftDate (Playground) 2.xcscheme</key>
|
||||
<dict>
|
||||
<key>isShown</key>
|
||||
<false/>
|
||||
<key>orderHint</key>
|
||||
<integer>9</integer>
|
||||
<integer>8</integer>
|
||||
</dict>
|
||||
<key>SwiftDate (Playground) 3.xcscheme</key>
|
||||
<dict>
|
||||
@ -133,7 +133,7 @@
|
||||
<key>isShown</key>
|
||||
<false/>
|
||||
<key>orderHint</key>
|
||||
<integer>7</integer>
|
||||
<integer>6</integer>
|
||||
</dict>
|
||||
</dict>
|
||||
</dict>
|
||||
|
||||
@ -8,7 +8,12 @@ protocol Dated {
|
||||
|
||||
extension Vehicle: Dated {
|
||||
var date: Date {
|
||||
Date(timeIntervalSince1970: self.addedDate/1000)
|
||||
if let lastEventDate = self.events.max(by: { $0.date < $1.date })?.date {
|
||||
let ts = max(self.addedDate/1000, lastEventDate)
|
||||
return Date(timeIntervalSince1970: ts)
|
||||
} else {
|
||||
return Date(timeIntervalSince1970: self.addedDate/1000)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -24,9 +29,10 @@ extension RandomAccessCollection where Element: Dated & IdentifiableType & Equat
|
||||
let monthStart = now.dateAtStartOf(.month)
|
||||
var sections: [TimeInterval: [Element]] = [:]
|
||||
for vehicle in self {
|
||||
var key = vehicle.date.dateAtStartOf(.day).timeIntervalSince1970
|
||||
if vehicle.date.isBeforeDate(monthStart, orEqual: false, granularity: .day) {
|
||||
key = vehicle.date.dateAtStartOf(.month).timeIntervalSince1970
|
||||
let date = vehicle.date
|
||||
var key = date.dateAtStartOf(.day).timeIntervalSince1970
|
||||
if date.isBeforeDate(monthStart, orEqual: false, granularity: .day) {
|
||||
key = date.dateAtStartOf(.month).timeIntervalSince1970
|
||||
}
|
||||
|
||||
if sections[key] == nil {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user