Skip to content

Commit dbd946c

Browse files
Views: gate SCADA CLEAR buttons on clearable-alarm state
Drive CLEAR ALL / CLEAR ACK enabled state off the new hasClearableAlarms / hasClearableAcknowledgedAlarms and route CLEAR ACK through clearAcknowledgedActiveAlarms so process-driven alarms are skipped, removing the local hasAcknowledgedActive/clearAcknowledgedActive helpers.
1 parent 2a462f1 commit dbd946c

1 file changed

Lines changed: 3 additions & 12 deletions

File tree

Sources/ElevatorSystem/Views/ControlPanelWindow.swift

Lines changed: 3 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -314,7 +314,7 @@ private struct SCADAAlarmPanel: View {
314314
RetroButton(language.t("alarm.ack.all"), enabled: world.unacknowledgedAlarmCount > 0) {
315315
_ = world.acknowledgeAllAlarms()
316316
}
317-
RetroButton(language.t("alarm.clear.all"), enabled: !world.activeAlarms.isEmpty) {
317+
RetroButton(language.t("alarm.clear.all"), enabled: world.hasClearableAlarms) {
318318
_ = world.clearAllActiveAlarms()
319319
}
320320
}
@@ -324,8 +324,8 @@ private struct SCADAAlarmPanel: View {
324324
failureButton("BRAKE", source: "CAB", point: "BRAKE", severity: .critical, messageKey: "alarm.msg.brake")
325325
failureButton("NET", source: "NET", point: "PEER_LINK", severity: .major, messageKey: "alarm.msg.peerlink")
326326
failureButton("PWR", source: "PWR", point: "MAINS", severity: .critical, messageKey: "alarm.msg.mains")
327-
RetroButton(language.t("alarm.clear.ack"), enabled: hasAcknowledgedActive) {
328-
clearAcknowledgedActive()
327+
RetroButton(language.t("alarm.clear.ack"), enabled: world.hasClearableAcknowledgedAlarms) {
328+
_ = world.clearAcknowledgedActiveAlarms()
329329
}
330330
}
331331
alarmTable
@@ -479,15 +479,6 @@ private struct SCADAAlarmPanel: View {
479479
}
480480
}
481481

482-
private var hasAcknowledgedActive: Bool {
483-
world.activeAlarms.contains { $0.isAcknowledged }
484-
}
485-
486-
private func clearAcknowledgedActive() {
487-
for alarm in world.activeAlarms where alarm.isAcknowledged {
488-
_ = world.clearAlarm(sequence: alarm.sequence)
489-
}
490-
}
491482
}
492483

493484
private struct AlarmRow: View {

0 commit comments

Comments
 (0)