|
@@ -193,13 +193,19 @@ extension DataTable {
|
|
|
.popover(isPresented: $showTreatmentTypeFilter, arrowEdge: .top) {
|
|
.popover(isPresented: $showTreatmentTypeFilter, arrowEdge: .top) {
|
|
|
VStack(alignment: .leading, spacing: 20) {
|
|
VStack(alignment: .leading, spacing: 20) {
|
|
|
Button(action: {
|
|
Button(action: {
|
|
|
- selectedTreatmentTypes = ["Bolus", "External Bolus", "SMB", "Temp Basal", "Suspend", "Other"]
|
|
|
|
|
|
|
+ if selectedTreatmentTypes.count == 6 {
|
|
|
|
|
+ // Deselect all - keep at least one selected
|
|
|
|
|
+ selectedTreatmentTypes = []
|
|
|
|
|
+ } else {
|
|
|
|
|
+ // Select all
|
|
|
|
|
+ selectedTreatmentTypes = ["Bolus", "External Bolus", "SMB", "Temp Basal", "Suspend", "Other"]
|
|
|
|
|
+ }
|
|
|
}) {
|
|
}) {
|
|
|
HStack(spacing: 20) {
|
|
HStack(spacing: 20) {
|
|
|
Image(systemName: selectedTreatmentTypes.count == 6 ? "checkmark.circle.fill" : "circle")
|
|
Image(systemName: selectedTreatmentTypes.count == 6 ? "checkmark.circle.fill" : "circle")
|
|
|
.frame(width: 20)
|
|
.frame(width: 20)
|
|
|
.foregroundColor(Color.accentColor)
|
|
.foregroundColor(Color.accentColor)
|
|
|
- Text("Select All")
|
|
|
|
|
|
|
+ Text(selectedTreatmentTypes.count == 6 ? "Deselect All" : "Select All")
|
|
|
.foregroundColor(Color.primary)
|
|
.foregroundColor(Color.primary)
|
|
|
}.padding(4)
|
|
}.padding(4)
|
|
|
}
|
|
}
|
|
@@ -254,10 +260,7 @@ extension DataTable {
|
|
|
|
|
|
|
|
private func toggleTreatmentType(_ type: String) {
|
|
private func toggleTreatmentType(_ type: String) {
|
|
|
if selectedTreatmentTypes.contains(type) {
|
|
if selectedTreatmentTypes.contains(type) {
|
|
|
- // Don't allow removing the last selected type
|
|
|
|
|
- if selectedTreatmentTypes.count > 1 {
|
|
|
|
|
- selectedTreatmentTypes.remove(type)
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ selectedTreatmentTypes.remove(type)
|
|
|
} else {
|
|
} else {
|
|
|
selectedTreatmentTypes.insert(type)
|
|
selectedTreatmentTypes.insert(type)
|
|
|
}
|
|
}
|