@almadar/std 14.9.0 → 14.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/behaviors/registry/app/organisms/std-api-gateway.orb +419 -171
- package/behaviors/registry/app/organisms/std-booking-system.orb +760 -620
- package/behaviors/registry/app/organisms/std-cicd-pipeline.orb +477 -229
- package/behaviors/registry/app/organisms/std-cms.orb +433 -298
- package/behaviors/registry/app/organisms/std-crm.orb +355 -215
- package/behaviors/registry/app/organisms/std-devops-dashboard.orb +504 -369
- package/behaviors/registry/app/organisms/std-finance-tracker.orb +271 -189
- package/behaviors/registry/app/organisms/std-healthcare.orb +676 -468
- package/behaviors/registry/app/organisms/std-helpdesk.orb +246 -166
- package/behaviors/registry/app/organisms/std-hr-portal.orb +534 -399
- package/behaviors/registry/app/organisms/std-iot-dashboard.orb +420 -340
- package/behaviors/registry/app/organisms/std-lms.orb +462 -378
- package/behaviors/registry/app/organisms/std-project-manager.orb +282 -200
- package/behaviors/registry/app/organisms/std-realtime-chat.orb +317 -235
- package/behaviors/registry/app/organisms/std-social-feed.orb +256 -137
- package/behaviors/registry/app/organisms/std-trading-dashboard.orb +342 -218
- package/behaviors/registry/core/molecules/std-app-layout.orb +90 -21
- package/dist/behaviors/registry/app/organisms/std-api-gateway.orb +419 -171
- package/dist/behaviors/registry/app/organisms/std-booking-system.orb +760 -620
- package/dist/behaviors/registry/app/organisms/std-cicd-pipeline.orb +477 -229
- package/dist/behaviors/registry/app/organisms/std-cms.orb +433 -298
- package/dist/behaviors/registry/app/organisms/std-crm.orb +355 -215
- package/dist/behaviors/registry/app/organisms/std-devops-dashboard.orb +504 -369
- package/dist/behaviors/registry/app/organisms/std-finance-tracker.orb +271 -189
- package/dist/behaviors/registry/app/organisms/std-healthcare.orb +676 -468
- package/dist/behaviors/registry/app/organisms/std-helpdesk.orb +246 -166
- package/dist/behaviors/registry/app/organisms/std-hr-portal.orb +534 -399
- package/dist/behaviors/registry/app/organisms/std-iot-dashboard.orb +420 -340
- package/dist/behaviors/registry/app/organisms/std-lms.orb +462 -378
- package/dist/behaviors/registry/app/organisms/std-project-manager.orb +282 -200
- package/dist/behaviors/registry/app/organisms/std-realtime-chat.orb +317 -235
- package/dist/behaviors/registry/app/organisms/std-social-feed.orb +256 -137
- package/dist/behaviors/registry/app/organisms/std-trading-dashboard.orb +342 -218
- package/dist/behaviors/registry/core/molecules/std-app-layout.orb +90 -21
- package/package.json +1 -1
|
@@ -6,6 +6,10 @@
|
|
|
6
6
|
{
|
|
7
7
|
"name": "SensorReadingOrbital",
|
|
8
8
|
"uses": [
|
|
9
|
+
{
|
|
10
|
+
"from": "std/behaviors/std-app-layout",
|
|
11
|
+
"as": "AppShell"
|
|
12
|
+
},
|
|
9
13
|
{
|
|
10
14
|
"from": "std/behaviors/std-stats",
|
|
11
15
|
"as": "Stats"
|
|
@@ -62,6 +66,39 @@
|
|
|
62
66
|
]
|
|
63
67
|
},
|
|
64
68
|
"traits": [
|
|
69
|
+
{
|
|
70
|
+
"ref": "AppShell.traits.AppLayout",
|
|
71
|
+
"name": "SensorAppLayout",
|
|
72
|
+
"linkedEntity": "SensorReading",
|
|
73
|
+
"config": {
|
|
74
|
+
"navItems": [
|
|
75
|
+
{
|
|
76
|
+
"icon": "layout-list",
|
|
77
|
+
"href": "/sensors",
|
|
78
|
+
"label": "Sensors"
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
"href": "/devices",
|
|
82
|
+
"label": "Devices",
|
|
83
|
+
"icon": "cpu"
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
"label": "Alerts",
|
|
87
|
+
"icon": "bell",
|
|
88
|
+
"href": "/alerts"
|
|
89
|
+
}
|
|
90
|
+
],
|
|
91
|
+
"searchEvent": "SENSOR_SEARCH",
|
|
92
|
+
"contentTrait": "@trait.SensorCatalog",
|
|
93
|
+
"notifications": [],
|
|
94
|
+
"notificationClickEvent": "SENSOR_NOTIFICATIONS_OPEN",
|
|
95
|
+
"appName": "IoT Dashboard"
|
|
96
|
+
},
|
|
97
|
+
"events": {
|
|
98
|
+
"SEARCH": "SENSOR_SEARCH",
|
|
99
|
+
"NOTIFY_CLICK": "SENSOR_NOTIFICATIONS_OPEN"
|
|
100
|
+
}
|
|
101
|
+
},
|
|
65
102
|
{
|
|
66
103
|
"name": "SensorCatalog",
|
|
67
104
|
"category": "interaction",
|
|
@@ -88,31 +125,32 @@
|
|
|
88
125
|
"render-ui",
|
|
89
126
|
"main",
|
|
90
127
|
{
|
|
128
|
+
"type": "stack",
|
|
91
129
|
"gap": "lg",
|
|
92
130
|
"children": [
|
|
93
131
|
{
|
|
94
132
|
"gap": "md",
|
|
133
|
+
"type": "stack",
|
|
95
134
|
"justify": "between",
|
|
96
135
|
"direction": "horizontal",
|
|
97
136
|
"align": "center",
|
|
98
|
-
"type": "stack",
|
|
99
137
|
"children": [
|
|
100
138
|
{
|
|
101
139
|
"type": "stack",
|
|
102
140
|
"children": [
|
|
103
141
|
{
|
|
104
|
-
"
|
|
105
|
-
"
|
|
142
|
+
"type": "icon",
|
|
143
|
+
"name": "thermometer"
|
|
106
144
|
},
|
|
107
145
|
{
|
|
108
|
-
"
|
|
146
|
+
"variant": "h2",
|
|
109
147
|
"type": "typography",
|
|
110
|
-
"
|
|
148
|
+
"content": "Sensor Readings"
|
|
111
149
|
}
|
|
112
150
|
],
|
|
113
|
-
"
|
|
151
|
+
"direction": "horizontal",
|
|
114
152
|
"align": "center",
|
|
115
|
-
"
|
|
153
|
+
"gap": "sm"
|
|
116
154
|
}
|
|
117
155
|
]
|
|
118
156
|
},
|
|
@@ -122,19 +160,18 @@
|
|
|
122
160
|
"@trait.SensorStats",
|
|
123
161
|
"@trait.SensorGraphs",
|
|
124
162
|
{
|
|
125
|
-
"min": 0.0,
|
|
126
|
-
"value": "@entity.value",
|
|
127
163
|
"type": "meter",
|
|
164
|
+
"label": "Latest reading vs threshold",
|
|
165
|
+
"min": 0.0,
|
|
128
166
|
"max": "@entity.threshold",
|
|
129
|
-
"
|
|
167
|
+
"value": "@entity.value"
|
|
130
168
|
},
|
|
131
169
|
{
|
|
132
170
|
"type": "divider"
|
|
133
171
|
},
|
|
134
172
|
"@trait.SensorBrowseList"
|
|
135
173
|
],
|
|
136
|
-
"direction": "vertical"
|
|
137
|
-
"type": "stack"
|
|
174
|
+
"direction": "vertical"
|
|
138
175
|
}
|
|
139
176
|
]
|
|
140
177
|
]
|
|
@@ -147,14 +184,8 @@
|
|
|
147
184
|
"ref": "Stats.traits.StatsItemStats",
|
|
148
185
|
"name": "SensorStats",
|
|
149
186
|
"config": {
|
|
150
|
-
"title": "Sensors",
|
|
151
187
|
"metrics": [
|
|
152
188
|
{
|
|
153
|
-
"aggregation": "count",
|
|
154
|
-
"format": "number",
|
|
155
|
-
"icon": "activity",
|
|
156
|
-
"label": "Active Sensors",
|
|
157
|
-
"variant": "primary",
|
|
158
189
|
"filter": [
|
|
159
190
|
"fn",
|
|
160
191
|
"row",
|
|
@@ -163,20 +194,23 @@
|
|
|
163
194
|
"@row.sensorId",
|
|
164
195
|
""
|
|
165
196
|
]
|
|
166
|
-
]
|
|
197
|
+
],
|
|
198
|
+
"icon": "activity",
|
|
199
|
+
"label": "Active Sensors",
|
|
200
|
+
"format": "number",
|
|
201
|
+
"aggregation": "count",
|
|
202
|
+
"variant": "primary"
|
|
167
203
|
},
|
|
168
204
|
{
|
|
169
|
-
"label": "Avg Reading",
|
|
170
205
|
"aggregation": "average",
|
|
171
|
-
"field": "value",
|
|
172
|
-
"variant": "success",
|
|
173
206
|
"icon": "trending-up",
|
|
174
|
-
"format": "number"
|
|
207
|
+
"format": "number",
|
|
208
|
+
"variant": "success",
|
|
209
|
+
"label": "Avg Reading",
|
|
210
|
+
"field": "value"
|
|
175
211
|
},
|
|
176
212
|
{
|
|
177
213
|
"label": "Anomalies",
|
|
178
|
-
"aggregation": "count",
|
|
179
|
-
"format": "number",
|
|
180
214
|
"filter": [
|
|
181
215
|
"fn",
|
|
182
216
|
"row",
|
|
@@ -186,10 +220,13 @@
|
|
|
186
220
|
"@row.threshold"
|
|
187
221
|
]
|
|
188
222
|
],
|
|
189
|
-
"
|
|
190
|
-
"icon": "alert-triangle"
|
|
223
|
+
"aggregation": "count",
|
|
224
|
+
"icon": "alert-triangle",
|
|
225
|
+
"format": "number",
|
|
226
|
+
"variant": "warning"
|
|
191
227
|
}
|
|
192
|
-
]
|
|
228
|
+
],
|
|
229
|
+
"title": "Sensors"
|
|
193
230
|
},
|
|
194
231
|
"listens": [
|
|
195
232
|
{
|
|
@@ -207,12 +244,12 @@
|
|
|
207
244
|
"name": "SensorGraphs",
|
|
208
245
|
"config": {
|
|
209
246
|
"chartType": "line",
|
|
210
|
-
"
|
|
247
|
+
"showLegend": true,
|
|
211
248
|
"dateField": "timestamp",
|
|
212
249
|
"valueField": "value",
|
|
213
250
|
"height": 240.0,
|
|
214
|
-
"
|
|
215
|
-
"
|
|
251
|
+
"title": "Readings over time",
|
|
252
|
+
"subtitle": "Sensor values across time"
|
|
216
253
|
},
|
|
217
254
|
"listens": [
|
|
218
255
|
{
|
|
@@ -230,37 +267,37 @@
|
|
|
230
267
|
"name": "SensorBrowseList",
|
|
231
268
|
"linkedEntity": "SensorReading",
|
|
232
269
|
"config": {
|
|
233
|
-
"gap": "sm",
|
|
234
270
|
"fields": [
|
|
235
271
|
{
|
|
236
|
-
"icon": "thermometer",
|
|
237
272
|
"variant": "h4",
|
|
238
273
|
"name": "sensorId",
|
|
239
|
-
"label": "Sensor"
|
|
274
|
+
"label": "Sensor",
|
|
275
|
+
"icon": "thermometer"
|
|
240
276
|
},
|
|
241
277
|
{
|
|
242
|
-
"label": "Type",
|
|
243
278
|
"name": "type",
|
|
244
|
-
"variant": "badge"
|
|
279
|
+
"variant": "badge",
|
|
280
|
+
"label": "Type"
|
|
245
281
|
},
|
|
246
282
|
{
|
|
247
|
-
"label": "Value",
|
|
248
|
-
"variant": "h4",
|
|
249
283
|
"format": "number",
|
|
250
|
-
"name": "value"
|
|
284
|
+
"name": "value",
|
|
285
|
+
"label": "Value",
|
|
286
|
+
"variant": "h4"
|
|
251
287
|
},
|
|
252
288
|
{
|
|
253
|
-
"label": "Unit",
|
|
254
289
|
"name": "unit",
|
|
290
|
+
"label": "Unit",
|
|
255
291
|
"variant": "caption"
|
|
256
292
|
},
|
|
257
293
|
{
|
|
258
294
|
"name": "timestamp",
|
|
295
|
+
"variant": "caption",
|
|
259
296
|
"format": "date",
|
|
260
|
-
"label": "Timestamp"
|
|
261
|
-
"variant": "caption"
|
|
297
|
+
"label": "Timestamp"
|
|
262
298
|
}
|
|
263
299
|
],
|
|
300
|
+
"gap": "sm",
|
|
264
301
|
"cols": 1.0
|
|
265
302
|
}
|
|
266
303
|
}
|
|
@@ -270,6 +307,9 @@
|
|
|
270
307
|
"name": "SensorsPage",
|
|
271
308
|
"path": "/sensors",
|
|
272
309
|
"traits": [
|
|
310
|
+
{
|
|
311
|
+
"ref": "SensorAppLayout"
|
|
312
|
+
},
|
|
273
313
|
{
|
|
274
314
|
"ref": "SensorCatalog"
|
|
275
315
|
},
|
|
@@ -360,28 +400,28 @@
|
|
|
360
400
|
"ref": "AppShell.traits.AppLayout",
|
|
361
401
|
"name": "DeviceAppLayout",
|
|
362
402
|
"config": {
|
|
403
|
+
"contentTrait": "@trait.DeviceCatalog",
|
|
363
404
|
"notifications": [],
|
|
405
|
+
"searchEvent": "DEVICE_SEARCH",
|
|
364
406
|
"appName": "IoT Dashboard",
|
|
365
|
-
"contentTrait": "@trait.DeviceCatalog",
|
|
366
407
|
"notificationClickEvent": "DEVICE_NOTIFICATIONS_OPEN",
|
|
367
408
|
"navItems": [
|
|
368
409
|
{
|
|
369
|
-
"label": "Sensors",
|
|
370
410
|
"href": "/sensors",
|
|
411
|
+
"label": "Sensors",
|
|
371
412
|
"icon": "layout-list"
|
|
372
413
|
},
|
|
373
414
|
{
|
|
374
|
-
"icon": "cpu",
|
|
375
415
|
"href": "/devices",
|
|
416
|
+
"icon": "cpu",
|
|
376
417
|
"label": "Devices"
|
|
377
418
|
},
|
|
378
419
|
{
|
|
379
420
|
"label": "Alerts",
|
|
380
|
-
"
|
|
381
|
-
"
|
|
421
|
+
"icon": "bell",
|
|
422
|
+
"href": "/alerts"
|
|
382
423
|
}
|
|
383
|
-
]
|
|
384
|
-
"searchEvent": "DEVICE_SEARCH"
|
|
424
|
+
]
|
|
385
425
|
},
|
|
386
426
|
"events": {
|
|
387
427
|
"SEARCH": "DEVICE_SEARCH",
|
|
@@ -469,54 +509,56 @@
|
|
|
469
509
|
"main",
|
|
470
510
|
{
|
|
471
511
|
"direction": "vertical",
|
|
512
|
+
"type": "stack",
|
|
513
|
+
"gap": "lg",
|
|
472
514
|
"children": [
|
|
473
515
|
{
|
|
474
516
|
"gap": "md",
|
|
475
|
-
"align": "center",
|
|
476
517
|
"children": [
|
|
477
518
|
{
|
|
478
519
|
"type": "stack",
|
|
520
|
+
"direction": "horizontal",
|
|
521
|
+
"gap": "sm",
|
|
522
|
+
"align": "center",
|
|
479
523
|
"children": [
|
|
480
524
|
{
|
|
481
525
|
"name": "cpu",
|
|
482
526
|
"type": "icon"
|
|
483
527
|
},
|
|
484
528
|
{
|
|
529
|
+
"type": "typography",
|
|
485
530
|
"content": "Devices",
|
|
486
|
-
"variant": "h2"
|
|
487
|
-
"type": "typography"
|
|
531
|
+
"variant": "h2"
|
|
488
532
|
}
|
|
489
|
-
]
|
|
490
|
-
"direction": "horizontal",
|
|
491
|
-
"align": "center",
|
|
492
|
-
"gap": "sm"
|
|
533
|
+
]
|
|
493
534
|
},
|
|
494
535
|
{
|
|
536
|
+
"type": "stack",
|
|
537
|
+
"gap": "sm",
|
|
495
538
|
"children": [
|
|
496
539
|
{
|
|
497
|
-
"type": "button",
|
|
498
|
-
"label": "Create Device",
|
|
499
540
|
"action": "CREATE",
|
|
541
|
+
"label": "Create Device",
|
|
542
|
+
"type": "button",
|
|
500
543
|
"variant": "primary",
|
|
501
544
|
"icon": "plus"
|
|
502
545
|
}
|
|
503
546
|
],
|
|
504
|
-
"direction": "horizontal"
|
|
505
|
-
"type": "stack",
|
|
506
|
-
"gap": "sm"
|
|
547
|
+
"direction": "horizontal"
|
|
507
548
|
}
|
|
508
549
|
],
|
|
550
|
+
"type": "stack",
|
|
551
|
+
"align": "center",
|
|
509
552
|
"direction": "horizontal",
|
|
510
|
-
"justify": "between"
|
|
511
|
-
"type": "stack"
|
|
553
|
+
"justify": "between"
|
|
512
554
|
},
|
|
513
555
|
{
|
|
514
556
|
"type": "divider"
|
|
515
557
|
},
|
|
516
558
|
{
|
|
517
|
-
"direction": "horizontal",
|
|
518
559
|
"gap": "md",
|
|
519
560
|
"align": "center",
|
|
561
|
+
"direction": "horizontal",
|
|
520
562
|
"children": [
|
|
521
563
|
"@trait.DeviceSearch",
|
|
522
564
|
"@trait.DeviceFilter"
|
|
@@ -527,9 +569,7 @@
|
|
|
527
569
|
"type": "divider"
|
|
528
570
|
},
|
|
529
571
|
"@trait.DeviceBrowseList"
|
|
530
|
-
]
|
|
531
|
-
"type": "stack",
|
|
532
|
-
"gap": "lg"
|
|
572
|
+
]
|
|
533
573
|
}
|
|
534
574
|
]
|
|
535
575
|
]
|
|
@@ -548,34 +588,34 @@
|
|
|
548
588
|
"render-ui",
|
|
549
589
|
"main",
|
|
550
590
|
{
|
|
551
|
-
"direction": "vertical",
|
|
552
|
-
"gap": "md",
|
|
553
|
-
"type": "stack",
|
|
554
591
|
"className": "py-8",
|
|
555
592
|
"align": "center",
|
|
593
|
+
"type": "stack",
|
|
556
594
|
"children": [
|
|
557
595
|
{
|
|
558
596
|
"name": "bell",
|
|
559
597
|
"type": "icon"
|
|
560
598
|
},
|
|
561
599
|
{
|
|
562
|
-
"content": "No notifications",
|
|
563
600
|
"type": "typography",
|
|
564
|
-
"variant": "h3"
|
|
601
|
+
"variant": "h3",
|
|
602
|
+
"content": "No notifications"
|
|
565
603
|
},
|
|
566
604
|
{
|
|
567
|
-
"content": "You're all caught up.",
|
|
568
|
-
"variant": "caption",
|
|
569
605
|
"color": "muted",
|
|
570
|
-
"
|
|
606
|
+
"content": "You're all caught up.",
|
|
607
|
+
"type": "typography",
|
|
608
|
+
"variant": "caption"
|
|
571
609
|
},
|
|
572
610
|
{
|
|
573
|
-
"
|
|
574
|
-
"variant": "ghost",
|
|
611
|
+
"action": "INIT",
|
|
575
612
|
"label": "Back",
|
|
576
|
-
"
|
|
613
|
+
"variant": "ghost",
|
|
614
|
+
"type": "button"
|
|
577
615
|
}
|
|
578
|
-
]
|
|
616
|
+
],
|
|
617
|
+
"direction": "vertical",
|
|
618
|
+
"gap": "md"
|
|
579
619
|
}
|
|
580
620
|
]
|
|
581
621
|
]
|
|
@@ -588,8 +628,8 @@
|
|
|
588
628
|
"ref": "Search.traits.SearchResultSearch",
|
|
589
629
|
"name": "DeviceSearch",
|
|
590
630
|
"config": {
|
|
591
|
-
"
|
|
592
|
-
"
|
|
631
|
+
"placeholder": "Search devices…",
|
|
632
|
+
"event": "DEVICE_SEARCH"
|
|
593
633
|
}
|
|
594
634
|
},
|
|
595
635
|
{
|
|
@@ -598,25 +638,25 @@
|
|
|
598
638
|
"config": {
|
|
599
639
|
"filters": [
|
|
600
640
|
{
|
|
601
|
-
"field": "status",
|
|
602
|
-
"filterType": "select",
|
|
603
641
|
"label": "Status",
|
|
604
642
|
"options": [
|
|
605
643
|
"online",
|
|
606
644
|
"offline",
|
|
607
645
|
"maintenance"
|
|
608
|
-
]
|
|
646
|
+
],
|
|
647
|
+
"field": "status",
|
|
648
|
+
"filterType": "select"
|
|
609
649
|
},
|
|
610
650
|
{
|
|
651
|
+
"label": "Type",
|
|
652
|
+
"field": "type",
|
|
653
|
+
"filterType": "select",
|
|
611
654
|
"options": [
|
|
612
655
|
"sensor",
|
|
613
656
|
"gateway",
|
|
614
657
|
"actuator",
|
|
615
658
|
"controller"
|
|
616
|
-
]
|
|
617
|
-
"label": "Type",
|
|
618
|
-
"field": "type",
|
|
619
|
-
"filterType": "select"
|
|
659
|
+
]
|
|
620
660
|
}
|
|
621
661
|
],
|
|
622
662
|
"event": "DEVICE_FILTER"
|
|
@@ -634,39 +674,39 @@
|
|
|
634
674
|
"icon": "cpu"
|
|
635
675
|
},
|
|
636
676
|
{
|
|
637
|
-
"
|
|
638
|
-
"
|
|
677
|
+
"name": "status",
|
|
678
|
+
"variant": "badge"
|
|
639
679
|
},
|
|
640
680
|
{
|
|
641
|
-
"
|
|
642
|
-
"
|
|
681
|
+
"variant": "body",
|
|
682
|
+
"name": "type"
|
|
643
683
|
},
|
|
644
684
|
{
|
|
685
|
+
"label": "Last Seen",
|
|
645
686
|
"format": "date",
|
|
646
687
|
"name": "lastSeen",
|
|
647
|
-
"label": "Last Seen",
|
|
648
688
|
"variant": "caption"
|
|
649
689
|
}
|
|
650
690
|
],
|
|
691
|
+
"gap": "md",
|
|
692
|
+
"cols": 3.0,
|
|
651
693
|
"itemActions": [
|
|
652
694
|
{
|
|
653
|
-
"variant": "ghost",
|
|
654
695
|
"label": "View",
|
|
655
|
-
"event": "VIEW"
|
|
696
|
+
"event": "VIEW",
|
|
697
|
+
"variant": "ghost"
|
|
656
698
|
},
|
|
657
699
|
{
|
|
658
700
|
"event": "EDIT",
|
|
659
|
-
"
|
|
660
|
-
"
|
|
701
|
+
"variant": "ghost",
|
|
702
|
+
"label": "Edit"
|
|
661
703
|
},
|
|
662
704
|
{
|
|
663
705
|
"label": "Delete",
|
|
664
706
|
"event": "DELETE",
|
|
665
707
|
"variant": "danger"
|
|
666
708
|
}
|
|
667
|
-
]
|
|
668
|
-
"gap": "md",
|
|
669
|
-
"cols": 3.0
|
|
709
|
+
]
|
|
670
710
|
},
|
|
671
711
|
"listens": [
|
|
672
712
|
{
|
|
@@ -716,15 +756,15 @@
|
|
|
716
756
|
"name": "DeviceCreate",
|
|
717
757
|
"linkedEntity": "Device",
|
|
718
758
|
"config": {
|
|
759
|
+
"mode": "create",
|
|
760
|
+
"icon": "plus-circle",
|
|
761
|
+
"title": "Create Device",
|
|
719
762
|
"fields": [
|
|
720
763
|
"name",
|
|
721
764
|
"type",
|
|
722
765
|
"status",
|
|
723
766
|
"lastSeen"
|
|
724
|
-
]
|
|
725
|
-
"title": "Create Device",
|
|
726
|
-
"icon": "plus-circle",
|
|
727
|
-
"mode": "create"
|
|
767
|
+
]
|
|
728
768
|
},
|
|
729
769
|
"events": {
|
|
730
770
|
"OPEN": "CREATE"
|
|
@@ -745,6 +785,7 @@
|
|
|
745
785
|
"name": "DeviceEdit",
|
|
746
786
|
"linkedEntity": "Device",
|
|
747
787
|
"config": {
|
|
788
|
+
"icon": "edit",
|
|
748
789
|
"title": "Edit Device",
|
|
749
790
|
"mode": "edit",
|
|
750
791
|
"fields": [
|
|
@@ -752,8 +793,7 @@
|
|
|
752
793
|
"type",
|
|
753
794
|
"status",
|
|
754
795
|
"lastSeen"
|
|
755
|
-
]
|
|
756
|
-
"icon": "edit"
|
|
796
|
+
]
|
|
757
797
|
},
|
|
758
798
|
"events": {
|
|
759
799
|
"OPEN": "EDIT"
|
|
@@ -774,14 +814,14 @@
|
|
|
774
814
|
"name": "DeviceView",
|
|
775
815
|
"linkedEntity": "Device",
|
|
776
816
|
"config": {
|
|
817
|
+
"icon": "eye",
|
|
818
|
+
"title": "View Device",
|
|
777
819
|
"fields": [
|
|
778
820
|
"name",
|
|
779
821
|
"type",
|
|
780
822
|
"status",
|
|
781
823
|
"lastSeen"
|
|
782
824
|
],
|
|
783
|
-
"icon": "eye",
|
|
784
|
-
"title": "View Device",
|
|
785
825
|
"mode": "edit"
|
|
786
826
|
},
|
|
787
827
|
"events": {
|
|
@@ -804,9 +844,9 @@
|
|
|
804
844
|
"linkedEntity": "Device",
|
|
805
845
|
"config": {
|
|
806
846
|
"alertMessage": "This action cannot be undone.",
|
|
847
|
+
"title": "Delete Device",
|
|
807
848
|
"icon": "alert-triangle",
|
|
808
|
-
"confirmLabel": "Delete"
|
|
809
|
-
"title": "Delete Device"
|
|
849
|
+
"confirmLabel": "Delete"
|
|
810
850
|
},
|
|
811
851
|
"events": {
|
|
812
852
|
"CONFIRM": "CONFIRM_DELETE",
|
|
@@ -1049,6 +1089,10 @@
|
|
|
1049
1089
|
{
|
|
1050
1090
|
"name": "DeviceAlertOrbital",
|
|
1051
1091
|
"uses": [
|
|
1092
|
+
{
|
|
1093
|
+
"from": "std/behaviors/std-app-layout",
|
|
1094
|
+
"as": "AppShell"
|
|
1095
|
+
},
|
|
1052
1096
|
{
|
|
1053
1097
|
"from": "std/behaviors/std-modal",
|
|
1054
1098
|
"as": "Modal"
|
|
@@ -1124,6 +1168,39 @@
|
|
|
1124
1168
|
]
|
|
1125
1169
|
},
|
|
1126
1170
|
"traits": [
|
|
1171
|
+
{
|
|
1172
|
+
"ref": "AppShell.traits.AppLayout",
|
|
1173
|
+
"name": "DeviceAlertAppLayout",
|
|
1174
|
+
"linkedEntity": "DeviceAlert",
|
|
1175
|
+
"config": {
|
|
1176
|
+
"navItems": [
|
|
1177
|
+
{
|
|
1178
|
+
"href": "/sensors",
|
|
1179
|
+
"icon": "layout-list",
|
|
1180
|
+
"label": "Sensors"
|
|
1181
|
+
},
|
|
1182
|
+
{
|
|
1183
|
+
"icon": "cpu",
|
|
1184
|
+
"href": "/devices",
|
|
1185
|
+
"label": "Devices"
|
|
1186
|
+
},
|
|
1187
|
+
{
|
|
1188
|
+
"icon": "bell",
|
|
1189
|
+
"label": "Alerts",
|
|
1190
|
+
"href": "/alerts"
|
|
1191
|
+
}
|
|
1192
|
+
],
|
|
1193
|
+
"appName": "IoT Dashboard",
|
|
1194
|
+
"notifications": [],
|
|
1195
|
+
"notificationClickEvent": "ALERT_NOTIFICATIONS_OPEN",
|
|
1196
|
+
"contentTrait": "@trait.AlertCatalog",
|
|
1197
|
+
"searchEvent": "ALERT_SEARCH"
|
|
1198
|
+
},
|
|
1199
|
+
"events": {
|
|
1200
|
+
"SEARCH": "ALERT_SEARCH",
|
|
1201
|
+
"NOTIFY_CLICK": "ALERT_NOTIFICATIONS_OPEN"
|
|
1202
|
+
}
|
|
1203
|
+
},
|
|
1127
1204
|
{
|
|
1128
1205
|
"name": "AlertCatalog",
|
|
1129
1206
|
"category": "interaction",
|
|
@@ -1166,49 +1243,48 @@
|
|
|
1166
1243
|
"render-ui",
|
|
1167
1244
|
"main",
|
|
1168
1245
|
{
|
|
1169
|
-
"direction": "vertical",
|
|
1170
|
-
"gap": "lg",
|
|
1171
1246
|
"type": "stack",
|
|
1247
|
+
"gap": "lg",
|
|
1172
1248
|
"children": [
|
|
1173
1249
|
{
|
|
1174
|
-
"direction": "horizontal",
|
|
1175
|
-
"gap": "md",
|
|
1176
1250
|
"type": "stack",
|
|
1251
|
+
"gap": "md",
|
|
1177
1252
|
"justify": "between",
|
|
1253
|
+
"align": "center",
|
|
1178
1254
|
"children": [
|
|
1179
1255
|
{
|
|
1180
|
-
"
|
|
1256
|
+
"align": "center",
|
|
1181
1257
|
"children": [
|
|
1182
1258
|
{
|
|
1183
|
-
"
|
|
1184
|
-
"
|
|
1259
|
+
"type": "icon",
|
|
1260
|
+
"name": "bell"
|
|
1185
1261
|
},
|
|
1186
1262
|
{
|
|
1187
|
-
"
|
|
1263
|
+
"variant": "h2",
|
|
1188
1264
|
"content": "Alerts",
|
|
1189
|
-
"
|
|
1265
|
+
"type": "typography"
|
|
1190
1266
|
}
|
|
1191
1267
|
],
|
|
1192
|
-
"
|
|
1193
|
-
"
|
|
1194
|
-
"
|
|
1268
|
+
"direction": "horizontal",
|
|
1269
|
+
"gap": "sm",
|
|
1270
|
+
"type": "stack"
|
|
1195
1271
|
},
|
|
1196
1272
|
{
|
|
1273
|
+
"direction": "horizontal",
|
|
1197
1274
|
"type": "stack",
|
|
1198
1275
|
"gap": "sm",
|
|
1199
1276
|
"children": [
|
|
1200
1277
|
{
|
|
1201
1278
|
"type": "button",
|
|
1202
|
-
"variant": "primary",
|
|
1203
|
-
"icon": "plus",
|
|
1204
1279
|
"action": "CREATE",
|
|
1280
|
+
"icon": "plus",
|
|
1281
|
+
"variant": "primary",
|
|
1205
1282
|
"label": "New Alert"
|
|
1206
1283
|
}
|
|
1207
|
-
]
|
|
1208
|
-
"direction": "horizontal"
|
|
1284
|
+
]
|
|
1209
1285
|
}
|
|
1210
1286
|
],
|
|
1211
|
-
"
|
|
1287
|
+
"direction": "horizontal"
|
|
1212
1288
|
},
|
|
1213
1289
|
{
|
|
1214
1290
|
"type": "divider"
|
|
@@ -1218,7 +1294,8 @@
|
|
|
1218
1294
|
"type": "divider"
|
|
1219
1295
|
},
|
|
1220
1296
|
"@trait.DeviceAlertCircuitBreaker"
|
|
1221
|
-
]
|
|
1297
|
+
],
|
|
1298
|
+
"direction": "vertical"
|
|
1222
1299
|
}
|
|
1223
1300
|
]
|
|
1224
1301
|
]
|
|
@@ -1232,19 +1309,35 @@
|
|
|
1232
1309
|
"name": "AlertBrowseList",
|
|
1233
1310
|
"linkedEntity": "DeviceAlert",
|
|
1234
1311
|
"config": {
|
|
1312
|
+
"itemActions": [
|
|
1313
|
+
{
|
|
1314
|
+
"variant": "ghost",
|
|
1315
|
+
"label": "View",
|
|
1316
|
+
"event": "VIEW"
|
|
1317
|
+
},
|
|
1318
|
+
{
|
|
1319
|
+
"variant": "ghost",
|
|
1320
|
+
"event": "EDIT",
|
|
1321
|
+
"label": "Edit"
|
|
1322
|
+
},
|
|
1323
|
+
{
|
|
1324
|
+
"variant": "danger",
|
|
1325
|
+
"event": "DELETE",
|
|
1326
|
+
"label": "Delete"
|
|
1327
|
+
}
|
|
1328
|
+
],
|
|
1235
1329
|
"gap": "sm",
|
|
1236
|
-
"cols": 1.0,
|
|
1237
1330
|
"fields": [
|
|
1238
1331
|
{
|
|
1239
|
-
"variant": "h4",
|
|
1240
1332
|
"label": "Device",
|
|
1241
1333
|
"icon": "cpu",
|
|
1334
|
+
"variant": "h4",
|
|
1242
1335
|
"name": "deviceId"
|
|
1243
1336
|
},
|
|
1244
1337
|
{
|
|
1245
|
-
"label": "Severity",
|
|
1246
1338
|
"variant": "badge",
|
|
1247
|
-
"name": "severity"
|
|
1339
|
+
"name": "severity",
|
|
1340
|
+
"label": "Severity"
|
|
1248
1341
|
},
|
|
1249
1342
|
{
|
|
1250
1343
|
"label": "Message",
|
|
@@ -1253,28 +1346,12 @@
|
|
|
1253
1346
|
},
|
|
1254
1347
|
{
|
|
1255
1348
|
"name": "acknowledged",
|
|
1256
|
-
"
|
|
1349
|
+
"format": "boolean",
|
|
1257
1350
|
"label": "Acknowledged",
|
|
1258
|
-
"
|
|
1351
|
+
"variant": "badge"
|
|
1259
1352
|
}
|
|
1260
1353
|
],
|
|
1261
|
-
"
|
|
1262
|
-
{
|
|
1263
|
-
"event": "VIEW",
|
|
1264
|
-
"variant": "ghost",
|
|
1265
|
-
"label": "View"
|
|
1266
|
-
},
|
|
1267
|
-
{
|
|
1268
|
-
"variant": "ghost",
|
|
1269
|
-
"label": "Edit",
|
|
1270
|
-
"event": "EDIT"
|
|
1271
|
-
},
|
|
1272
|
-
{
|
|
1273
|
-
"label": "Delete",
|
|
1274
|
-
"event": "DELETE",
|
|
1275
|
-
"variant": "danger"
|
|
1276
|
-
}
|
|
1277
|
-
]
|
|
1354
|
+
"cols": 1.0
|
|
1278
1355
|
},
|
|
1279
1356
|
"listens": [
|
|
1280
1357
|
{
|
|
@@ -1309,14 +1386,14 @@
|
|
|
1309
1386
|
"linkedEntity": "DeviceAlert",
|
|
1310
1387
|
"config": {
|
|
1311
1388
|
"mode": "create",
|
|
1389
|
+
"title": "New Alert",
|
|
1390
|
+
"icon": "plus-circle",
|
|
1312
1391
|
"fields": [
|
|
1313
1392
|
"deviceId",
|
|
1314
1393
|
"severity",
|
|
1315
1394
|
"message",
|
|
1316
1395
|
"acknowledged"
|
|
1317
|
-
]
|
|
1318
|
-
"icon": "plus-circle",
|
|
1319
|
-
"title": "New Alert"
|
|
1396
|
+
]
|
|
1320
1397
|
},
|
|
1321
1398
|
"events": {
|
|
1322
1399
|
"OPEN": "CREATE"
|
|
@@ -1337,15 +1414,15 @@
|
|
|
1337
1414
|
"name": "AlertEdit",
|
|
1338
1415
|
"linkedEntity": "DeviceAlert",
|
|
1339
1416
|
"config": {
|
|
1340
|
-
"title": "Edit Alert",
|
|
1341
1417
|
"fields": [
|
|
1342
1418
|
"deviceId",
|
|
1343
1419
|
"severity",
|
|
1344
1420
|
"message",
|
|
1345
1421
|
"acknowledged"
|
|
1346
1422
|
],
|
|
1347
|
-
"
|
|
1348
|
-
"
|
|
1423
|
+
"mode": "edit",
|
|
1424
|
+
"title": "Edit Alert",
|
|
1425
|
+
"icon": "edit"
|
|
1349
1426
|
},
|
|
1350
1427
|
"events": {
|
|
1351
1428
|
"OPEN": "EDIT"
|
|
@@ -1395,14 +1472,14 @@
|
|
|
1395
1472
|
"name": "AlertDelete",
|
|
1396
1473
|
"linkedEntity": "DeviceAlert",
|
|
1397
1474
|
"config": {
|
|
1398
|
-
"alertMessage": "This action cannot be undone.",
|
|
1399
1475
|
"icon": "alert-triangle",
|
|
1400
1476
|
"confirmLabel": "Delete",
|
|
1401
|
-
"title": "Delete Alert"
|
|
1477
|
+
"title": "Delete Alert",
|
|
1478
|
+
"alertMessage": "This action cannot be undone."
|
|
1402
1479
|
},
|
|
1403
1480
|
"events": {
|
|
1404
|
-
"
|
|
1405
|
-
"
|
|
1481
|
+
"REQUEST": "DELETE",
|
|
1482
|
+
"CONFIRM": "CONFIRM_DELETE"
|
|
1406
1483
|
},
|
|
1407
1484
|
"listens": [
|
|
1408
1485
|
{
|
|
@@ -1625,8 +1702,8 @@
|
|
|
1625
1702
|
"main",
|
|
1626
1703
|
{
|
|
1627
1704
|
"variant": "info",
|
|
1628
|
-
"
|
|
1629
|
-
"
|
|
1705
|
+
"message": "Critical alerts auto-notify on-call ops via email.",
|
|
1706
|
+
"type": "alert"
|
|
1630
1707
|
}
|
|
1631
1708
|
]
|
|
1632
1709
|
]
|
|
@@ -1639,11 +1716,11 @@
|
|
|
1639
1716
|
"ref": "Email.traits.ServiceEmailEmail",
|
|
1640
1717
|
"name": "AlertEmail",
|
|
1641
1718
|
"config": {
|
|
1642
|
-
"
|
|
1719
|
+
"uiTrait": "@trait.AlertEmailNotice",
|
|
1643
1720
|
"subject": "Critical alert raised",
|
|
1644
|
-
"sender": "alerts@example.com",
|
|
1645
1721
|
"body": "A critical alert was raised on a device. Investigate immediately.",
|
|
1646
|
-
"
|
|
1722
|
+
"sender": "alerts@example.com",
|
|
1723
|
+
"recipient": "ops@example.com"
|
|
1647
1724
|
},
|
|
1648
1725
|
"listens": [
|
|
1649
1726
|
{
|
|
@@ -1782,43 +1859,42 @@
|
|
|
1782
1859
|
"render-ui",
|
|
1783
1860
|
"main",
|
|
1784
1861
|
{
|
|
1785
|
-
"type": "stack",
|
|
1786
1862
|
"children": [
|
|
1787
1863
|
{
|
|
1788
|
-
"
|
|
1864
|
+
"type": "stack",
|
|
1789
1865
|
"children": [
|
|
1790
1866
|
{
|
|
1791
1867
|
"direction": "horizontal",
|
|
1868
|
+
"gap": "md",
|
|
1792
1869
|
"align": "center",
|
|
1870
|
+
"type": "stack",
|
|
1793
1871
|
"children": [
|
|
1794
1872
|
{
|
|
1795
|
-
"
|
|
1796
|
-
"
|
|
1873
|
+
"name": "shield-check",
|
|
1874
|
+
"type": "icon"
|
|
1797
1875
|
},
|
|
1798
1876
|
{
|
|
1799
|
-
"
|
|
1877
|
+
"content": "Circuit Breaker",
|
|
1800
1878
|
"variant": "h3",
|
|
1801
|
-
"
|
|
1879
|
+
"type": "typography"
|
|
1802
1880
|
}
|
|
1803
|
-
]
|
|
1804
|
-
"type": "stack",
|
|
1805
|
-
"gap": "md"
|
|
1881
|
+
]
|
|
1806
1882
|
},
|
|
1807
1883
|
{
|
|
1808
1884
|
"label": "Closed",
|
|
1885
|
+
"status": "online",
|
|
1809
1886
|
"pulse": false,
|
|
1810
|
-
"type": "status-dot"
|
|
1811
|
-
"status": "online"
|
|
1887
|
+
"type": "status-dot"
|
|
1812
1888
|
}
|
|
1813
1889
|
],
|
|
1814
|
-
"type": "stack",
|
|
1815
|
-
"gap": "md",
|
|
1816
1890
|
"align": "center",
|
|
1891
|
+
"direction": "horizontal",
|
|
1892
|
+
"gap": "md",
|
|
1817
1893
|
"justify": "between"
|
|
1818
1894
|
},
|
|
1819
1895
|
{
|
|
1820
|
-
"variant": "success",
|
|
1821
1896
|
"type": "alert",
|
|
1897
|
+
"variant": "success",
|
|
1822
1898
|
"message": "Service is healthy. All requests are being processed."
|
|
1823
1899
|
},
|
|
1824
1900
|
{
|
|
@@ -1826,26 +1902,27 @@
|
|
|
1826
1902
|
"cols": 2.0,
|
|
1827
1903
|
"children": [
|
|
1828
1904
|
{
|
|
1829
|
-
"
|
|
1905
|
+
"value": "@entity.failureCount",
|
|
1830
1906
|
"label": "Failures",
|
|
1831
|
-
"
|
|
1907
|
+
"type": "stat-display"
|
|
1832
1908
|
},
|
|
1833
1909
|
{
|
|
1834
1910
|
"label": "Successes",
|
|
1835
|
-
"
|
|
1836
|
-
"
|
|
1911
|
+
"type": "stat-display",
|
|
1912
|
+
"value": "@entity.successCount"
|
|
1837
1913
|
}
|
|
1838
1914
|
]
|
|
1839
1915
|
},
|
|
1840
1916
|
{
|
|
1841
|
-
"value": "@entity.failureCount",
|
|
1842
1917
|
"min": 0.0,
|
|
1843
1918
|
"max": "@entity.threshold",
|
|
1919
|
+
"value": "@entity.failureCount",
|
|
1844
1920
|
"type": "meter"
|
|
1845
1921
|
}
|
|
1846
1922
|
],
|
|
1847
1923
|
"direction": "vertical",
|
|
1848
|
-
"gap": "lg"
|
|
1924
|
+
"gap": "lg",
|
|
1925
|
+
"type": "stack"
|
|
1849
1926
|
}
|
|
1850
1927
|
]
|
|
1851
1928
|
]
|
|
@@ -1859,77 +1936,77 @@
|
|
|
1859
1936
|
"render-ui",
|
|
1860
1937
|
"main",
|
|
1861
1938
|
{
|
|
1939
|
+
"gap": "lg",
|
|
1862
1940
|
"type": "stack",
|
|
1863
1941
|
"children": [
|
|
1864
1942
|
{
|
|
1865
|
-
"direction": "horizontal",
|
|
1866
1943
|
"gap": "md",
|
|
1867
|
-
"type": "stack",
|
|
1868
1944
|
"align": "center",
|
|
1869
|
-
"
|
|
1945
|
+
"direction": "horizontal",
|
|
1946
|
+
"type": "stack",
|
|
1870
1947
|
"children": [
|
|
1871
1948
|
{
|
|
1949
|
+
"direction": "horizontal",
|
|
1872
1950
|
"align": "center",
|
|
1951
|
+
"type": "stack",
|
|
1873
1952
|
"children": [
|
|
1874
1953
|
{
|
|
1875
|
-
"
|
|
1876
|
-
"
|
|
1954
|
+
"type": "icon",
|
|
1955
|
+
"name": "alert-triangle"
|
|
1877
1956
|
},
|
|
1878
1957
|
{
|
|
1879
|
-
"
|
|
1958
|
+
"type": "typography",
|
|
1880
1959
|
"variant": "h3",
|
|
1881
|
-
"
|
|
1960
|
+
"content": "Circuit Breaker"
|
|
1882
1961
|
}
|
|
1883
1962
|
],
|
|
1884
|
-
"gap": "md"
|
|
1885
|
-
"type": "stack",
|
|
1886
|
-
"direction": "horizontal"
|
|
1963
|
+
"gap": "md"
|
|
1887
1964
|
},
|
|
1888
1965
|
{
|
|
1889
|
-
"
|
|
1890
|
-
"status": "critical",
|
|
1966
|
+
"pulse": true,
|
|
1891
1967
|
"label": "Open",
|
|
1892
|
-
"
|
|
1968
|
+
"type": "status-dot",
|
|
1969
|
+
"status": "critical"
|
|
1893
1970
|
}
|
|
1894
|
-
]
|
|
1971
|
+
],
|
|
1972
|
+
"justify": "between"
|
|
1895
1973
|
},
|
|
1896
1974
|
{
|
|
1975
|
+
"message": "Circuit is open. Requests are being rejected to prevent cascading failures.",
|
|
1897
1976
|
"type": "alert",
|
|
1898
|
-
"variant": "error"
|
|
1899
|
-
"message": "Circuit is open. Requests are being rejected to prevent cascading failures."
|
|
1977
|
+
"variant": "error"
|
|
1900
1978
|
},
|
|
1901
1979
|
{
|
|
1902
|
-
"type": "simple-grid",
|
|
1903
1980
|
"children": [
|
|
1904
1981
|
{
|
|
1982
|
+
"value": "@entity.failureCount",
|
|
1905
1983
|
"label": "Failures",
|
|
1906
|
-
"type": "stat-display"
|
|
1907
|
-
"value": "@entity.failureCount"
|
|
1984
|
+
"type": "stat-display"
|
|
1908
1985
|
},
|
|
1909
1986
|
{
|
|
1910
1987
|
"type": "stat-display",
|
|
1911
|
-
"
|
|
1912
|
-
"
|
|
1988
|
+
"label": "Successes",
|
|
1989
|
+
"value": "@entity.successCount"
|
|
1913
1990
|
}
|
|
1914
1991
|
],
|
|
1992
|
+
"type": "simple-grid",
|
|
1915
1993
|
"cols": 2.0
|
|
1916
1994
|
},
|
|
1917
1995
|
{
|
|
1918
|
-
"type": "meter",
|
|
1919
1996
|
"max": "@entity.threshold",
|
|
1920
|
-
"
|
|
1921
|
-
"
|
|
1997
|
+
"min": 0.0,
|
|
1998
|
+
"type": "meter",
|
|
1999
|
+
"value": "@entity.failureCount"
|
|
1922
2000
|
},
|
|
1923
2001
|
{
|
|
2002
|
+
"label": "Reset",
|
|
2003
|
+
"action": "RESET",
|
|
1924
2004
|
"variant": "ghost",
|
|
1925
2005
|
"icon": "rotate-ccw",
|
|
1926
|
-
"action": "RESET",
|
|
1927
|
-
"label": "Reset",
|
|
1928
2006
|
"type": "button"
|
|
1929
2007
|
}
|
|
1930
2008
|
],
|
|
1931
|
-
"direction": "vertical"
|
|
1932
|
-
"gap": "lg"
|
|
2009
|
+
"direction": "vertical"
|
|
1933
2010
|
}
|
|
1934
2011
|
]
|
|
1935
2012
|
]
|
|
@@ -1943,50 +2020,47 @@
|
|
|
1943
2020
|
"render-ui",
|
|
1944
2021
|
"main",
|
|
1945
2022
|
{
|
|
1946
|
-
"direction": "vertical",
|
|
1947
|
-
"type": "stack",
|
|
1948
|
-
"gap": "lg",
|
|
1949
2023
|
"children": [
|
|
1950
2024
|
{
|
|
1951
|
-
"
|
|
1952
|
-
"justify": "between",
|
|
2025
|
+
"direction": "horizontal",
|
|
1953
2026
|
"type": "stack",
|
|
2027
|
+
"gap": "md",
|
|
1954
2028
|
"align": "center",
|
|
2029
|
+
"justify": "between",
|
|
1955
2030
|
"children": [
|
|
1956
2031
|
{
|
|
2032
|
+
"align": "center",
|
|
2033
|
+
"direction": "horizontal",
|
|
2034
|
+
"gap": "md",
|
|
2035
|
+
"type": "stack",
|
|
1957
2036
|
"children": [
|
|
1958
2037
|
{
|
|
1959
2038
|
"name": "shield-check",
|
|
1960
2039
|
"type": "icon"
|
|
1961
2040
|
},
|
|
1962
2041
|
{
|
|
1963
|
-
"type": "typography",
|
|
1964
2042
|
"content": "Circuit Breaker",
|
|
2043
|
+
"type": "typography",
|
|
1965
2044
|
"variant": "h3"
|
|
1966
2045
|
}
|
|
1967
|
-
]
|
|
1968
|
-
"type": "stack",
|
|
1969
|
-
"direction": "horizontal",
|
|
1970
|
-
"gap": "md",
|
|
1971
|
-
"align": "center"
|
|
2046
|
+
]
|
|
1972
2047
|
},
|
|
1973
2048
|
{
|
|
1974
2049
|
"status": "online",
|
|
1975
|
-
"label": "Closed",
|
|
1976
2050
|
"pulse": false,
|
|
1977
|
-
"type": "status-dot"
|
|
2051
|
+
"type": "status-dot",
|
|
2052
|
+
"label": "Closed"
|
|
1978
2053
|
}
|
|
1979
|
-
]
|
|
1980
|
-
"direction": "horizontal"
|
|
2054
|
+
]
|
|
1981
2055
|
},
|
|
1982
2056
|
{
|
|
1983
|
-
"
|
|
2057
|
+
"message": "Service is healthy.",
|
|
1984
2058
|
"type": "alert",
|
|
1985
|
-
"
|
|
2059
|
+
"variant": "success"
|
|
1986
2060
|
},
|
|
1987
2061
|
{
|
|
1988
|
-
"cols": 2.0,
|
|
1989
2062
|
"type": "simple-grid",
|
|
2063
|
+
"cols": 2.0,
|
|
1990
2064
|
"children": [
|
|
1991
2065
|
{
|
|
1992
2066
|
"type": "stat-display",
|
|
@@ -1994,19 +2068,22 @@
|
|
|
1994
2068
|
"value": "@entity.failureCount"
|
|
1995
2069
|
},
|
|
1996
2070
|
{
|
|
2071
|
+
"type": "stat-display",
|
|
1997
2072
|
"label": "Successes",
|
|
1998
|
-
"value": "@entity.successCount"
|
|
1999
|
-
"type": "stat-display"
|
|
2073
|
+
"value": "@entity.successCount"
|
|
2000
2074
|
}
|
|
2001
2075
|
]
|
|
2002
2076
|
},
|
|
2003
2077
|
{
|
|
2004
2078
|
"min": 0.0,
|
|
2005
|
-
"value": "@entity.failureCount",
|
|
2006
2079
|
"type": "meter",
|
|
2007
|
-
"max": "@entity.threshold"
|
|
2080
|
+
"max": "@entity.threshold",
|
|
2081
|
+
"value": "@entity.failureCount"
|
|
2008
2082
|
}
|
|
2009
|
-
]
|
|
2083
|
+
],
|
|
2084
|
+
"type": "stack",
|
|
2085
|
+
"direction": "vertical",
|
|
2086
|
+
"gap": "lg"
|
|
2010
2087
|
}
|
|
2011
2088
|
]
|
|
2012
2089
|
]
|
|
@@ -2022,43 +2099,45 @@
|
|
|
2022
2099
|
{
|
|
2023
2100
|
"children": [
|
|
2024
2101
|
{
|
|
2025
|
-
"align": "center",
|
|
2026
2102
|
"children": [
|
|
2027
2103
|
{
|
|
2028
2104
|
"direction": "horizontal",
|
|
2105
|
+
"type": "stack",
|
|
2106
|
+
"align": "center",
|
|
2107
|
+
"gap": "md",
|
|
2029
2108
|
"children": [
|
|
2030
2109
|
{
|
|
2031
2110
|
"type": "icon",
|
|
2032
2111
|
"name": "activity"
|
|
2033
2112
|
},
|
|
2034
2113
|
{
|
|
2114
|
+
"type": "typography",
|
|
2035
2115
|
"content": "Circuit Breaker",
|
|
2036
|
-
"variant": "h3"
|
|
2037
|
-
"type": "typography"
|
|
2116
|
+
"variant": "h3"
|
|
2038
2117
|
}
|
|
2039
|
-
]
|
|
2040
|
-
"gap": "md",
|
|
2041
|
-
"type": "stack",
|
|
2042
|
-
"align": "center"
|
|
2118
|
+
]
|
|
2043
2119
|
},
|
|
2044
2120
|
{
|
|
2045
|
-
"type": "status-dot",
|
|
2046
2121
|
"label": "Half-Open",
|
|
2047
2122
|
"status": "warning",
|
|
2048
|
-
"pulse": true
|
|
2123
|
+
"pulse": true,
|
|
2124
|
+
"type": "status-dot"
|
|
2049
2125
|
}
|
|
2050
2126
|
],
|
|
2127
|
+
"gap": "md",
|
|
2051
2128
|
"type": "stack",
|
|
2052
2129
|
"direction": "horizontal",
|
|
2053
|
-
"
|
|
2130
|
+
"align": "center",
|
|
2054
2131
|
"justify": "between"
|
|
2055
2132
|
},
|
|
2056
2133
|
{
|
|
2057
2134
|
"variant": "warning",
|
|
2058
|
-
"
|
|
2059
|
-
"
|
|
2135
|
+
"type": "alert",
|
|
2136
|
+
"message": "Testing recovery. Limited requests allowed."
|
|
2060
2137
|
},
|
|
2061
2138
|
{
|
|
2139
|
+
"cols": 2.0,
|
|
2140
|
+
"type": "simple-grid",
|
|
2062
2141
|
"children": [
|
|
2063
2142
|
{
|
|
2064
2143
|
"type": "stat-display",
|
|
@@ -2066,18 +2145,16 @@
|
|
|
2066
2145
|
"value": "@entity.failureCount"
|
|
2067
2146
|
},
|
|
2068
2147
|
{
|
|
2069
|
-
"
|
|
2148
|
+
"type": "stat-display",
|
|
2070
2149
|
"value": "@entity.successCount",
|
|
2071
|
-
"
|
|
2150
|
+
"label": "Successes"
|
|
2072
2151
|
}
|
|
2073
|
-
]
|
|
2074
|
-
"type": "simple-grid",
|
|
2075
|
-
"cols": 2.0
|
|
2152
|
+
]
|
|
2076
2153
|
}
|
|
2077
2154
|
],
|
|
2155
|
+
"type": "stack",
|
|
2078
2156
|
"gap": "lg",
|
|
2079
|
-
"direction": "vertical"
|
|
2080
|
-
"type": "stack"
|
|
2157
|
+
"direction": "vertical"
|
|
2081
2158
|
}
|
|
2082
2159
|
]
|
|
2083
2160
|
]
|
|
@@ -2091,15 +2168,20 @@
|
|
|
2091
2168
|
"render-ui",
|
|
2092
2169
|
"main",
|
|
2093
2170
|
{
|
|
2094
|
-
"
|
|
2171
|
+
"direction": "vertical",
|
|
2095
2172
|
"children": [
|
|
2096
2173
|
{
|
|
2174
|
+
"type": "stack",
|
|
2097
2175
|
"direction": "horizontal",
|
|
2098
2176
|
"gap": "md",
|
|
2099
|
-
"type": "stack",
|
|
2100
2177
|
"justify": "between",
|
|
2178
|
+
"align": "center",
|
|
2101
2179
|
"children": [
|
|
2102
2180
|
{
|
|
2181
|
+
"type": "stack",
|
|
2182
|
+
"gap": "md",
|
|
2183
|
+
"direction": "horizontal",
|
|
2184
|
+
"align": "center",
|
|
2103
2185
|
"children": [
|
|
2104
2186
|
{
|
|
2105
2187
|
"type": "icon",
|
|
@@ -2107,54 +2189,49 @@
|
|
|
2107
2189
|
},
|
|
2108
2190
|
{
|
|
2109
2191
|
"variant": "h3",
|
|
2110
|
-
"
|
|
2111
|
-
"
|
|
2192
|
+
"content": "Circuit Breaker",
|
|
2193
|
+
"type": "typography"
|
|
2112
2194
|
}
|
|
2113
|
-
]
|
|
2114
|
-
"direction": "horizontal",
|
|
2115
|
-
"type": "stack",
|
|
2116
|
-
"align": "center",
|
|
2117
|
-
"gap": "md"
|
|
2195
|
+
]
|
|
2118
2196
|
},
|
|
2119
2197
|
{
|
|
2120
2198
|
"type": "status-dot",
|
|
2121
|
-
"status": "online",
|
|
2122
2199
|
"pulse": false,
|
|
2200
|
+
"status": "online",
|
|
2123
2201
|
"label": "Closed"
|
|
2124
2202
|
}
|
|
2125
|
-
]
|
|
2126
|
-
"align": "center"
|
|
2203
|
+
]
|
|
2127
2204
|
},
|
|
2128
2205
|
{
|
|
2129
|
-
"message": "Service is healthy.",
|
|
2130
2206
|
"variant": "success",
|
|
2207
|
+
"message": "Service is healthy.",
|
|
2131
2208
|
"type": "alert"
|
|
2132
2209
|
},
|
|
2133
2210
|
{
|
|
2211
|
+
"type": "simple-grid",
|
|
2134
2212
|
"cols": 2.0,
|
|
2135
2213
|
"children": [
|
|
2136
2214
|
{
|
|
2137
|
-
"label": "Failures",
|
|
2138
2215
|
"value": "@entity.failureCount",
|
|
2139
|
-
"type": "stat-display"
|
|
2216
|
+
"type": "stat-display",
|
|
2217
|
+
"label": "Failures"
|
|
2140
2218
|
},
|
|
2141
2219
|
{
|
|
2142
2220
|
"label": "Successes",
|
|
2143
2221
|
"value": "@entity.successCount",
|
|
2144
2222
|
"type": "stat-display"
|
|
2145
2223
|
}
|
|
2146
|
-
]
|
|
2147
|
-
"type": "simple-grid"
|
|
2224
|
+
]
|
|
2148
2225
|
},
|
|
2149
2226
|
{
|
|
2150
|
-
"max": "@entity.threshold",
|
|
2151
|
-
"min": 0.0,
|
|
2152
2227
|
"type": "meter",
|
|
2153
|
-
"
|
|
2228
|
+
"min": 0.0,
|
|
2229
|
+
"value": "@entity.failureCount",
|
|
2230
|
+
"max": "@entity.threshold"
|
|
2154
2231
|
}
|
|
2155
2232
|
],
|
|
2156
|
-
"
|
|
2157
|
-
"
|
|
2233
|
+
"gap": "lg",
|
|
2234
|
+
"type": "stack"
|
|
2158
2235
|
}
|
|
2159
2236
|
]
|
|
2160
2237
|
]
|
|
@@ -2168,44 +2245,45 @@
|
|
|
2168
2245
|
"render-ui",
|
|
2169
2246
|
"main",
|
|
2170
2247
|
{
|
|
2171
|
-
"direction": "vertical",
|
|
2172
2248
|
"gap": "lg",
|
|
2249
|
+
"direction": "vertical",
|
|
2250
|
+
"type": "stack",
|
|
2173
2251
|
"children": [
|
|
2174
2252
|
{
|
|
2175
2253
|
"type": "stack",
|
|
2254
|
+
"direction": "horizontal",
|
|
2255
|
+
"justify": "between",
|
|
2176
2256
|
"gap": "md",
|
|
2177
2257
|
"align": "center",
|
|
2178
|
-
"justify": "between",
|
|
2179
2258
|
"children": [
|
|
2180
2259
|
{
|
|
2260
|
+
"direction": "horizontal",
|
|
2261
|
+
"type": "stack",
|
|
2262
|
+
"align": "center",
|
|
2263
|
+
"gap": "md",
|
|
2181
2264
|
"children": [
|
|
2182
2265
|
{
|
|
2183
|
-
"
|
|
2184
|
-
"
|
|
2266
|
+
"type": "icon",
|
|
2267
|
+
"name": "shield-check"
|
|
2185
2268
|
},
|
|
2186
2269
|
{
|
|
2187
2270
|
"content": "Circuit Breaker",
|
|
2188
2271
|
"type": "typography",
|
|
2189
2272
|
"variant": "h3"
|
|
2190
2273
|
}
|
|
2191
|
-
]
|
|
2192
|
-
"type": "stack",
|
|
2193
|
-
"direction": "horizontal",
|
|
2194
|
-
"align": "center",
|
|
2195
|
-
"gap": "md"
|
|
2274
|
+
]
|
|
2196
2275
|
},
|
|
2197
2276
|
{
|
|
2198
|
-
"pulse": false,
|
|
2199
2277
|
"status": "online",
|
|
2278
|
+
"pulse": false,
|
|
2200
2279
|
"type": "status-dot",
|
|
2201
2280
|
"label": "Closed"
|
|
2202
2281
|
}
|
|
2203
|
-
]
|
|
2204
|
-
"direction": "horizontal"
|
|
2282
|
+
]
|
|
2205
2283
|
},
|
|
2206
2284
|
{
|
|
2207
|
-
"type": "alert",
|
|
2208
2285
|
"message": "Service is healthy.",
|
|
2286
|
+
"type": "alert",
|
|
2209
2287
|
"variant": "success"
|
|
2210
2288
|
},
|
|
2211
2289
|
{
|
|
@@ -2213,25 +2291,24 @@
|
|
|
2213
2291
|
"cols": 2.0,
|
|
2214
2292
|
"children": [
|
|
2215
2293
|
{
|
|
2216
|
-
"value": "@entity.failureCount",
|
|
2217
2294
|
"label": "Failures",
|
|
2218
|
-
"type": "stat-display"
|
|
2295
|
+
"type": "stat-display",
|
|
2296
|
+
"value": "@entity.failureCount"
|
|
2219
2297
|
},
|
|
2220
2298
|
{
|
|
2221
|
-
"value": "@entity.successCount",
|
|
2222
2299
|
"label": "Successes",
|
|
2223
|
-
"type": "stat-display"
|
|
2300
|
+
"type": "stat-display",
|
|
2301
|
+
"value": "@entity.successCount"
|
|
2224
2302
|
}
|
|
2225
2303
|
]
|
|
2226
2304
|
},
|
|
2227
2305
|
{
|
|
2306
|
+
"min": 0.0,
|
|
2228
2307
|
"type": "meter",
|
|
2229
2308
|
"value": "@entity.failureCount",
|
|
2230
|
-
"min": 0.0,
|
|
2231
2309
|
"max": "@entity.threshold"
|
|
2232
2310
|
}
|
|
2233
|
-
]
|
|
2234
|
-
"type": "stack"
|
|
2311
|
+
]
|
|
2235
2312
|
}
|
|
2236
2313
|
]
|
|
2237
2314
|
]
|
|
@@ -2249,11 +2326,6 @@
|
|
|
2249
2326
|
"direction": "vertical",
|
|
2250
2327
|
"children": [
|
|
2251
2328
|
{
|
|
2252
|
-
"justify": "between",
|
|
2253
|
-
"direction": "horizontal",
|
|
2254
|
-
"gap": "md",
|
|
2255
|
-
"type": "stack",
|
|
2256
|
-
"align": "center",
|
|
2257
2329
|
"children": [
|
|
2258
2330
|
{
|
|
2259
2331
|
"children": [
|
|
@@ -2267,30 +2339,34 @@
|
|
|
2267
2339
|
"variant": "h3"
|
|
2268
2340
|
}
|
|
2269
2341
|
],
|
|
2270
|
-
"direction": "horizontal",
|
|
2271
2342
|
"gap": "md",
|
|
2343
|
+
"direction": "horizontal",
|
|
2272
2344
|
"type": "stack",
|
|
2273
2345
|
"align": "center"
|
|
2274
2346
|
},
|
|
2275
2347
|
{
|
|
2276
|
-
"status": "critical",
|
|
2277
|
-
"pulse": true,
|
|
2278
2348
|
"type": "status-dot",
|
|
2349
|
+
"pulse": true,
|
|
2350
|
+
"status": "critical",
|
|
2279
2351
|
"label": "Open"
|
|
2280
2352
|
}
|
|
2281
|
-
]
|
|
2353
|
+
],
|
|
2354
|
+
"justify": "between",
|
|
2355
|
+
"type": "stack",
|
|
2356
|
+
"direction": "horizontal",
|
|
2357
|
+
"gap": "md",
|
|
2358
|
+
"align": "center"
|
|
2282
2359
|
},
|
|
2283
2360
|
{
|
|
2284
2361
|
"variant": "error",
|
|
2285
|
-
"
|
|
2286
|
-
"
|
|
2362
|
+
"message": "Circuit is open.",
|
|
2363
|
+
"type": "alert"
|
|
2287
2364
|
},
|
|
2288
2365
|
{
|
|
2289
|
-
"cols": 2.0,
|
|
2290
2366
|
"children": [
|
|
2291
2367
|
{
|
|
2292
|
-
"label": "Failures",
|
|
2293
2368
|
"type": "stat-display",
|
|
2369
|
+
"label": "Failures",
|
|
2294
2370
|
"value": "@entity.failureCount"
|
|
2295
2371
|
},
|
|
2296
2372
|
{
|
|
@@ -2299,7 +2375,8 @@
|
|
|
2299
2375
|
"value": "@entity.successCount"
|
|
2300
2376
|
}
|
|
2301
2377
|
],
|
|
2302
|
-
"type": "simple-grid"
|
|
2378
|
+
"type": "simple-grid",
|
|
2379
|
+
"cols": 2.0
|
|
2303
2380
|
},
|
|
2304
2381
|
{
|
|
2305
2382
|
"value": "@entity.failureCount",
|
|
@@ -2308,11 +2385,11 @@
|
|
|
2308
2385
|
"min": 0.0
|
|
2309
2386
|
},
|
|
2310
2387
|
{
|
|
2311
|
-
"action": "RESET",
|
|
2312
|
-
"label": "Reset",
|
|
2313
2388
|
"icon": "rotate-ccw",
|
|
2314
2389
|
"type": "button",
|
|
2315
|
-
"variant": "ghost"
|
|
2390
|
+
"variant": "ghost",
|
|
2391
|
+
"label": "Reset",
|
|
2392
|
+
"action": "RESET"
|
|
2316
2393
|
}
|
|
2317
2394
|
],
|
|
2318
2395
|
"gap": "lg"
|
|
@@ -2329,70 +2406,70 @@
|
|
|
2329
2406
|
"render-ui",
|
|
2330
2407
|
"main",
|
|
2331
2408
|
{
|
|
2409
|
+
"gap": "lg",
|
|
2410
|
+
"direction": "vertical",
|
|
2332
2411
|
"children": [
|
|
2333
2412
|
{
|
|
2334
2413
|
"gap": "md",
|
|
2335
2414
|
"children": [
|
|
2336
2415
|
{
|
|
2337
|
-
"direction": "horizontal",
|
|
2338
|
-
"gap": "md",
|
|
2339
2416
|
"type": "stack",
|
|
2340
|
-
"
|
|
2417
|
+
"direction": "horizontal",
|
|
2341
2418
|
"children": [
|
|
2342
2419
|
{
|
|
2343
|
-
"
|
|
2344
|
-
"
|
|
2420
|
+
"name": "shield-check",
|
|
2421
|
+
"type": "icon"
|
|
2345
2422
|
},
|
|
2346
2423
|
{
|
|
2347
|
-
"type": "typography",
|
|
2348
2424
|
"content": "Circuit Breaker",
|
|
2425
|
+
"type": "typography",
|
|
2349
2426
|
"variant": "h3"
|
|
2350
2427
|
}
|
|
2351
|
-
]
|
|
2428
|
+
],
|
|
2429
|
+
"gap": "md",
|
|
2430
|
+
"align": "center"
|
|
2352
2431
|
},
|
|
2353
2432
|
{
|
|
2354
|
-
"pulse": false,
|
|
2355
|
-
"label": "Closed",
|
|
2356
2433
|
"status": "online",
|
|
2357
|
-
"type": "status-dot"
|
|
2434
|
+
"type": "status-dot",
|
|
2435
|
+
"pulse": false,
|
|
2436
|
+
"label": "Closed"
|
|
2358
2437
|
}
|
|
2359
2438
|
],
|
|
2360
|
-
"
|
|
2361
|
-
"justify": "between",
|
|
2439
|
+
"direction": "horizontal",
|
|
2362
2440
|
"type": "stack",
|
|
2363
|
-
"
|
|
2441
|
+
"align": "center",
|
|
2442
|
+
"justify": "between"
|
|
2364
2443
|
},
|
|
2365
2444
|
{
|
|
2366
2445
|
"variant": "success",
|
|
2367
|
-
"
|
|
2368
|
-
"
|
|
2446
|
+
"message": "Service is healthy.",
|
|
2447
|
+
"type": "alert"
|
|
2369
2448
|
},
|
|
2370
2449
|
{
|
|
2371
2450
|
"cols": 2.0,
|
|
2451
|
+
"type": "simple-grid",
|
|
2372
2452
|
"children": [
|
|
2373
2453
|
{
|
|
2374
|
-
"type": "stat-display",
|
|
2375
2454
|
"value": "@entity.failureCount",
|
|
2455
|
+
"type": "stat-display",
|
|
2376
2456
|
"label": "Failures"
|
|
2377
2457
|
},
|
|
2378
2458
|
{
|
|
2379
2459
|
"label": "Successes",
|
|
2380
|
-
"
|
|
2381
|
-
"
|
|
2460
|
+
"type": "stat-display",
|
|
2461
|
+
"value": "@entity.successCount"
|
|
2382
2462
|
}
|
|
2383
|
-
]
|
|
2384
|
-
"type": "simple-grid"
|
|
2463
|
+
]
|
|
2385
2464
|
},
|
|
2386
2465
|
{
|
|
2387
2466
|
"max": "@entity.threshold",
|
|
2467
|
+
"value": "@entity.failureCount",
|
|
2388
2468
|
"type": "meter",
|
|
2389
|
-
"min": 0.0
|
|
2390
|
-
"value": "@entity.failureCount"
|
|
2469
|
+
"min": 0.0
|
|
2391
2470
|
}
|
|
2392
2471
|
],
|
|
2393
|
-
"type": "stack"
|
|
2394
|
-
"direction": "vertical",
|
|
2395
|
-
"gap": "lg"
|
|
2472
|
+
"type": "stack"
|
|
2396
2473
|
}
|
|
2397
2474
|
]
|
|
2398
2475
|
]
|
|
@@ -2407,6 +2484,9 @@
|
|
|
2407
2484
|
"name": "Alerts",
|
|
2408
2485
|
"path": "/alerts",
|
|
2409
2486
|
"traits": [
|
|
2487
|
+
{
|
|
2488
|
+
"ref": "DeviceAlertAppLayout"
|
|
2489
|
+
},
|
|
2410
2490
|
{
|
|
2411
2491
|
"ref": "AlertCatalog"
|
|
2412
2492
|
},
|