@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
|
@@ -86,28 +86,28 @@
|
|
|
86
86
|
"ref": "AppShell.traits.AppLayout",
|
|
87
87
|
"name": "PortfolioAppLayout",
|
|
88
88
|
"config": {
|
|
89
|
-
"
|
|
89
|
+
"appName": "Trading Dashboard",
|
|
90
|
+
"searchEvent": "PORTFOLIO_SEARCH",
|
|
90
91
|
"navItems": [
|
|
91
92
|
{
|
|
92
93
|
"href": "/portfolio",
|
|
93
|
-
"
|
|
94
|
-
"
|
|
94
|
+
"label": "Portfolio",
|
|
95
|
+
"icon": "layout-list"
|
|
95
96
|
},
|
|
96
97
|
{
|
|
97
|
-
"label": "Orders",
|
|
98
98
|
"href": "/orders",
|
|
99
|
+
"label": "Orders",
|
|
99
100
|
"icon": "clipboard-list"
|
|
100
101
|
},
|
|
101
102
|
{
|
|
102
|
-
"icon": "activity",
|
|
103
103
|
"label": "Market",
|
|
104
|
+
"icon": "activity",
|
|
104
105
|
"href": "/market"
|
|
105
106
|
}
|
|
106
107
|
],
|
|
107
|
-
"
|
|
108
|
+
"notifications": [],
|
|
108
109
|
"contentTrait": "@trait.PortfolioCatalog",
|
|
109
|
-
"
|
|
110
|
-
"notifications": []
|
|
110
|
+
"notificationClickEvent": "PORTFOLIO_NOTIFICATIONS_OPEN"
|
|
111
111
|
},
|
|
112
112
|
"events": {
|
|
113
113
|
"SEARCH": "PORTFOLIO_SEARCH",
|
|
@@ -195,57 +195,56 @@
|
|
|
195
195
|
"main",
|
|
196
196
|
{
|
|
197
197
|
"direction": "vertical",
|
|
198
|
-
"type": "stack",
|
|
199
198
|
"gap": "lg",
|
|
200
199
|
"children": [
|
|
201
200
|
{
|
|
201
|
+
"align": "center",
|
|
202
|
+
"justify": "between",
|
|
203
|
+
"direction": "horizontal",
|
|
204
|
+
"type": "stack",
|
|
205
|
+
"gap": "md",
|
|
202
206
|
"children": [
|
|
203
207
|
{
|
|
204
|
-
"align": "center",
|
|
205
|
-
"gap": "sm",
|
|
206
|
-
"direction": "horizontal",
|
|
207
208
|
"children": [
|
|
208
209
|
{
|
|
209
210
|
"type": "icon",
|
|
210
211
|
"name": "trending-up"
|
|
211
212
|
},
|
|
212
213
|
{
|
|
213
|
-
"type": "typography",
|
|
214
214
|
"content": "Portfolio",
|
|
215
|
-
"variant": "h2"
|
|
215
|
+
"variant": "h2",
|
|
216
|
+
"type": "typography"
|
|
216
217
|
}
|
|
217
218
|
],
|
|
218
|
-
"type": "stack"
|
|
219
|
+
"type": "stack",
|
|
220
|
+
"align": "center",
|
|
221
|
+
"direction": "horizontal",
|
|
222
|
+
"gap": "sm"
|
|
219
223
|
},
|
|
220
224
|
{
|
|
221
225
|
"type": "stack",
|
|
222
|
-
"direction": "horizontal",
|
|
223
|
-
"gap": "sm",
|
|
224
226
|
"children": [
|
|
225
227
|
{
|
|
226
|
-
"variant": "primary",
|
|
227
|
-
"icon": "plus",
|
|
228
|
-
"type": "button",
|
|
229
228
|
"label": "Add Position",
|
|
230
|
-
"
|
|
229
|
+
"type": "button",
|
|
230
|
+
"icon": "plus",
|
|
231
|
+
"action": "CREATE",
|
|
232
|
+
"variant": "primary"
|
|
231
233
|
}
|
|
232
|
-
]
|
|
234
|
+
],
|
|
235
|
+
"gap": "sm",
|
|
236
|
+
"direction": "horizontal"
|
|
233
237
|
}
|
|
234
|
-
]
|
|
235
|
-
"justify": "between",
|
|
236
|
-
"type": "stack",
|
|
237
|
-
"gap": "md",
|
|
238
|
-
"align": "center",
|
|
239
|
-
"direction": "horizontal"
|
|
238
|
+
]
|
|
240
239
|
},
|
|
241
240
|
{
|
|
242
241
|
"type": "divider"
|
|
243
242
|
},
|
|
244
243
|
{
|
|
245
|
-
"direction": "horizontal",
|
|
246
244
|
"type": "stack",
|
|
247
|
-
"
|
|
245
|
+
"direction": "horizontal",
|
|
248
246
|
"gap": "md",
|
|
247
|
+
"align": "center",
|
|
249
248
|
"children": [
|
|
250
249
|
"@trait.PortfolioSearch",
|
|
251
250
|
"@trait.PortfolioFilter"
|
|
@@ -257,7 +256,8 @@
|
|
|
257
256
|
"type": "divider"
|
|
258
257
|
},
|
|
259
258
|
"@trait.PortfolioBrowseList"
|
|
260
|
-
]
|
|
259
|
+
],
|
|
260
|
+
"type": "stack"
|
|
261
261
|
}
|
|
262
262
|
]
|
|
263
263
|
]
|
|
@@ -277,33 +277,33 @@
|
|
|
277
277
|
"main",
|
|
278
278
|
{
|
|
279
279
|
"gap": "md",
|
|
280
|
-
"
|
|
281
|
-
"className": "py-8",
|
|
280
|
+
"align": "center",
|
|
282
281
|
"children": [
|
|
283
282
|
{
|
|
284
283
|
"name": "bell",
|
|
285
284
|
"type": "icon"
|
|
286
285
|
},
|
|
287
286
|
{
|
|
288
|
-
"
|
|
287
|
+
"variant": "h3",
|
|
289
288
|
"content": "No notifications",
|
|
290
|
-
"
|
|
289
|
+
"type": "typography"
|
|
291
290
|
},
|
|
292
291
|
{
|
|
293
|
-
"variant": "caption",
|
|
294
292
|
"type": "typography",
|
|
293
|
+
"variant": "caption",
|
|
295
294
|
"color": "muted",
|
|
296
295
|
"content": "You're all caught up."
|
|
297
296
|
},
|
|
298
297
|
{
|
|
299
|
-
"variant": "ghost",
|
|
300
298
|
"label": "Back to portfolio",
|
|
299
|
+
"type": "button",
|
|
301
300
|
"action": "INIT",
|
|
302
|
-
"
|
|
301
|
+
"variant": "ghost"
|
|
303
302
|
}
|
|
304
303
|
],
|
|
304
|
+
"className": "py-8",
|
|
305
305
|
"direction": "vertical",
|
|
306
|
-
"
|
|
306
|
+
"type": "stack"
|
|
307
307
|
}
|
|
308
308
|
]
|
|
309
309
|
]
|
|
@@ -327,9 +327,9 @@
|
|
|
327
327
|
"event": "PORTFOLIO_FILTER",
|
|
328
328
|
"filters": [
|
|
329
329
|
{
|
|
330
|
+
"field": "symbol",
|
|
330
331
|
"label": "Symbol",
|
|
331
|
-
"filterType": "text"
|
|
332
|
-
"field": "symbol"
|
|
332
|
+
"filterType": "text"
|
|
333
333
|
}
|
|
334
334
|
]
|
|
335
335
|
}
|
|
@@ -340,34 +340,33 @@
|
|
|
340
340
|
"config": {
|
|
341
341
|
"metrics": [
|
|
342
342
|
{
|
|
343
|
-
"variant": "primary",
|
|
344
|
-
"label": "Total Value",
|
|
345
|
-
"format": "currency",
|
|
346
343
|
"aggregation": "sum",
|
|
347
344
|
"field": "marketValue",
|
|
348
|
-
"icon": "dollar-sign"
|
|
345
|
+
"icon": "dollar-sign",
|
|
346
|
+
"format": "currency",
|
|
347
|
+
"label": "Total Value",
|
|
348
|
+
"variant": "primary"
|
|
349
349
|
},
|
|
350
350
|
{
|
|
351
351
|
"format": "currency",
|
|
352
352
|
"label": "Daily PnL",
|
|
353
|
-
"aggregation": "sum",
|
|
354
353
|
"field": "dailyPnl",
|
|
355
354
|
"variant": "success",
|
|
355
|
+
"aggregation": "sum",
|
|
356
356
|
"icon": "trending-up"
|
|
357
357
|
},
|
|
358
358
|
{
|
|
359
359
|
"aggregation": "count",
|
|
360
|
+
"icon": "layout-list",
|
|
360
361
|
"variant": "info",
|
|
361
362
|
"format": "number",
|
|
362
|
-
"icon": "layout-list",
|
|
363
363
|
"label": "Positions"
|
|
364
364
|
},
|
|
365
365
|
{
|
|
366
|
-
"label": "Winners",
|
|
367
|
-
"aggregation": "count",
|
|
368
366
|
"variant": "success",
|
|
369
367
|
"format": "number",
|
|
370
|
-
"
|
|
368
|
+
"label": "Winners",
|
|
369
|
+
"aggregation": "count",
|
|
371
370
|
"filter": [
|
|
372
371
|
"fn",
|
|
373
372
|
"row",
|
|
@@ -376,7 +375,8 @@
|
|
|
376
375
|
"@row.dailyPnl",
|
|
377
376
|
0.0
|
|
378
377
|
]
|
|
379
|
-
]
|
|
378
|
+
],
|
|
379
|
+
"icon": "check-circle"
|
|
380
380
|
}
|
|
381
381
|
],
|
|
382
382
|
"title": "Portfolio"
|
|
@@ -396,14 +396,14 @@
|
|
|
396
396
|
"ref": "Graphs.traits.GraphItemGraph",
|
|
397
397
|
"name": "PortfolioGraphs",
|
|
398
398
|
"config": {
|
|
399
|
+
"valueField": "dailyPnl",
|
|
400
|
+
"categoryField": "symbol",
|
|
401
|
+
"title": "Daily PnL",
|
|
399
402
|
"showLegend": false,
|
|
403
|
+
"chartType": "line",
|
|
400
404
|
"subtitle": "Profit and loss across positions",
|
|
401
|
-
"title": "Daily PnL",
|
|
402
|
-
"categoryField": "symbol",
|
|
403
|
-
"valueField": "dailyPnl",
|
|
404
405
|
"aggregation": "sum",
|
|
405
|
-
"height": 240.0
|
|
406
|
-
"chartType": "line"
|
|
406
|
+
"height": 240.0
|
|
407
407
|
},
|
|
408
408
|
"listens": [
|
|
409
409
|
{
|
|
@@ -421,17 +421,16 @@
|
|
|
421
421
|
"name": "PortfolioBrowseList",
|
|
422
422
|
"linkedEntity": "Portfolio",
|
|
423
423
|
"config": {
|
|
424
|
-
"gap": "sm",
|
|
425
424
|
"itemActions": [
|
|
426
425
|
{
|
|
427
|
-
"variant": "ghost",
|
|
428
426
|
"label": "View",
|
|
429
|
-
"event": "VIEW"
|
|
427
|
+
"event": "VIEW",
|
|
428
|
+
"variant": "ghost"
|
|
430
429
|
},
|
|
431
430
|
{
|
|
432
|
-
"
|
|
431
|
+
"label": "Edit",
|
|
433
432
|
"variant": "ghost",
|
|
434
|
-
"
|
|
433
|
+
"event": "EDIT"
|
|
435
434
|
},
|
|
436
435
|
{
|
|
437
436
|
"label": "Delete",
|
|
@@ -440,35 +439,36 @@
|
|
|
440
439
|
}
|
|
441
440
|
],
|
|
442
441
|
"cols": 1.0,
|
|
442
|
+
"gap": "sm",
|
|
443
443
|
"fields": [
|
|
444
444
|
{
|
|
445
|
+
"name": "symbol",
|
|
445
446
|
"variant": "h3",
|
|
446
|
-
"icon": "trending-up"
|
|
447
|
-
"name": "symbol"
|
|
447
|
+
"icon": "trending-up"
|
|
448
448
|
},
|
|
449
449
|
{
|
|
450
|
-
"label": "Qty",
|
|
451
|
-
"format": "number",
|
|
452
450
|
"name": "qty",
|
|
453
|
-
"
|
|
451
|
+
"label": "Qty",
|
|
452
|
+
"variant": "body",
|
|
453
|
+
"format": "number"
|
|
454
454
|
},
|
|
455
455
|
{
|
|
456
|
-
"label": "Avg Cost",
|
|
457
|
-
"variant": "body",
|
|
458
456
|
"format": "currency",
|
|
457
|
+
"variant": "body",
|
|
458
|
+
"label": "Avg Cost",
|
|
459
459
|
"name": "avgCost"
|
|
460
460
|
},
|
|
461
461
|
{
|
|
462
462
|
"variant": "h4",
|
|
463
|
+
"name": "marketValue",
|
|
463
464
|
"format": "currency",
|
|
464
|
-
"label": "Market Value"
|
|
465
|
-
"name": "marketValue"
|
|
465
|
+
"label": "Market Value"
|
|
466
466
|
},
|
|
467
467
|
{
|
|
468
468
|
"label": "Daily PnL",
|
|
469
|
-
"
|
|
469
|
+
"format": "currency",
|
|
470
470
|
"name": "dailyPnl",
|
|
471
|
-
"
|
|
471
|
+
"variant": "badge"
|
|
472
472
|
}
|
|
473
473
|
]
|
|
474
474
|
},
|
|
@@ -520,6 +520,8 @@
|
|
|
520
520
|
"name": "PortfolioCreate",
|
|
521
521
|
"linkedEntity": "Portfolio",
|
|
522
522
|
"config": {
|
|
523
|
+
"icon": "plus-circle",
|
|
524
|
+
"mode": "create",
|
|
523
525
|
"fields": [
|
|
524
526
|
"symbol",
|
|
525
527
|
"qty",
|
|
@@ -527,9 +529,7 @@
|
|
|
527
529
|
"marketValue",
|
|
528
530
|
"dailyPnl"
|
|
529
531
|
],
|
|
530
|
-
"
|
|
531
|
-
"title": "Add Position",
|
|
532
|
-
"mode": "create"
|
|
532
|
+
"title": "Add Position"
|
|
533
533
|
},
|
|
534
534
|
"events": {
|
|
535
535
|
"OPEN": "CREATE"
|
|
@@ -550,16 +550,16 @@
|
|
|
550
550
|
"name": "PortfolioEdit",
|
|
551
551
|
"linkedEntity": "Portfolio",
|
|
552
552
|
"config": {
|
|
553
|
-
"icon": "edit",
|
|
554
|
-
"mode": "edit",
|
|
555
|
-
"title": "Edit Position",
|
|
556
553
|
"fields": [
|
|
557
554
|
"symbol",
|
|
558
555
|
"qty",
|
|
559
556
|
"avgCost",
|
|
560
557
|
"marketValue",
|
|
561
558
|
"dailyPnl"
|
|
562
|
-
]
|
|
559
|
+
],
|
|
560
|
+
"icon": "edit",
|
|
561
|
+
"title": "Edit Position",
|
|
562
|
+
"mode": "edit"
|
|
563
563
|
},
|
|
564
564
|
"events": {
|
|
565
565
|
"OPEN": "EDIT"
|
|
@@ -580,16 +580,16 @@
|
|
|
580
580
|
"name": "PortfolioView",
|
|
581
581
|
"linkedEntity": "Portfolio",
|
|
582
582
|
"config": {
|
|
583
|
+
"title": "View Position",
|
|
583
584
|
"icon": "eye",
|
|
585
|
+
"mode": "edit",
|
|
584
586
|
"fields": [
|
|
585
587
|
"symbol",
|
|
586
588
|
"qty",
|
|
587
589
|
"avgCost",
|
|
588
590
|
"marketValue",
|
|
589
591
|
"dailyPnl"
|
|
590
|
-
]
|
|
591
|
-
"mode": "edit",
|
|
592
|
-
"title": "View Position"
|
|
592
|
+
]
|
|
593
593
|
},
|
|
594
594
|
"events": {
|
|
595
595
|
"OPEN": "VIEW"
|
|
@@ -610,10 +610,10 @@
|
|
|
610
610
|
"name": "PortfolioDelete",
|
|
611
611
|
"linkedEntity": "Portfolio",
|
|
612
612
|
"config": {
|
|
613
|
-
"title": "Close Position",
|
|
614
613
|
"alertMessage": "This action cannot be undone.",
|
|
615
614
|
"confirmLabel": "Close",
|
|
616
|
-
"icon": "alert-triangle"
|
|
615
|
+
"icon": "alert-triangle",
|
|
616
|
+
"title": "Close Position"
|
|
617
617
|
},
|
|
618
618
|
"events": {
|
|
619
619
|
"REQUEST": "DELETE",
|
|
@@ -862,6 +862,10 @@
|
|
|
862
862
|
{
|
|
863
863
|
"name": "TradeOrderOrbital",
|
|
864
864
|
"uses": [
|
|
865
|
+
{
|
|
866
|
+
"from": "std/behaviors/std-app-layout",
|
|
867
|
+
"as": "AppShell"
|
|
868
|
+
},
|
|
865
869
|
{
|
|
866
870
|
"from": "std/behaviors/std-modal",
|
|
867
871
|
"as": "Modal"
|
|
@@ -927,6 +931,39 @@
|
|
|
927
931
|
]
|
|
928
932
|
},
|
|
929
933
|
"traits": [
|
|
934
|
+
{
|
|
935
|
+
"ref": "AppShell.traits.AppLayout",
|
|
936
|
+
"name": "TradeOrderAppLayout",
|
|
937
|
+
"linkedEntity": "TradeOrder",
|
|
938
|
+
"config": {
|
|
939
|
+
"notificationClickEvent": "TRADE_ORDER_NOTIFICATIONS_OPEN",
|
|
940
|
+
"notifications": [],
|
|
941
|
+
"appName": "Trading Dashboard",
|
|
942
|
+
"contentTrait": "@trait.TradeOrderCatalog",
|
|
943
|
+
"navItems": [
|
|
944
|
+
{
|
|
945
|
+
"href": "/portfolio",
|
|
946
|
+
"icon": "layout-list",
|
|
947
|
+
"label": "Portfolio"
|
|
948
|
+
},
|
|
949
|
+
{
|
|
950
|
+
"icon": "clipboard-list",
|
|
951
|
+
"href": "/orders",
|
|
952
|
+
"label": "Orders"
|
|
953
|
+
},
|
|
954
|
+
{
|
|
955
|
+
"icon": "activity",
|
|
956
|
+
"href": "/market",
|
|
957
|
+
"label": "Market"
|
|
958
|
+
}
|
|
959
|
+
],
|
|
960
|
+
"searchEvent": "TRADE_ORDER_SEARCH"
|
|
961
|
+
},
|
|
962
|
+
"events": {
|
|
963
|
+
"NOTIFY_CLICK": "TRADE_ORDER_NOTIFICATIONS_OPEN",
|
|
964
|
+
"SEARCH": "TRADE_ORDER_SEARCH"
|
|
965
|
+
}
|
|
966
|
+
},
|
|
930
967
|
{
|
|
931
968
|
"name": "TradeOrderCatalog",
|
|
932
969
|
"category": "interaction",
|
|
@@ -969,46 +1006,47 @@
|
|
|
969
1006
|
"render-ui",
|
|
970
1007
|
"main",
|
|
971
1008
|
{
|
|
1009
|
+
"direction": "vertical",
|
|
972
1010
|
"children": [
|
|
973
1011
|
{
|
|
974
|
-
"
|
|
1012
|
+
"gap": "md",
|
|
975
1013
|
"direction": "horizontal",
|
|
976
|
-
"align": "center",
|
|
977
1014
|
"type": "stack",
|
|
1015
|
+
"justify": "between",
|
|
1016
|
+
"align": "center",
|
|
978
1017
|
"children": [
|
|
979
1018
|
{
|
|
1019
|
+
"direction": "horizontal",
|
|
1020
|
+
"type": "stack",
|
|
980
1021
|
"gap": "sm",
|
|
1022
|
+
"align": "center",
|
|
981
1023
|
"children": [
|
|
982
1024
|
{
|
|
983
1025
|
"type": "icon",
|
|
984
1026
|
"name": "clipboard-list"
|
|
985
1027
|
},
|
|
986
1028
|
{
|
|
1029
|
+
"content": "Trade Orders",
|
|
987
1030
|
"type": "typography",
|
|
988
|
-
"variant": "h2"
|
|
989
|
-
"content": "Trade Orders"
|
|
1031
|
+
"variant": "h2"
|
|
990
1032
|
}
|
|
991
|
-
]
|
|
992
|
-
"align": "center",
|
|
993
|
-
"type": "stack",
|
|
994
|
-
"direction": "horizontal"
|
|
1033
|
+
]
|
|
995
1034
|
},
|
|
996
1035
|
{
|
|
1036
|
+
"direction": "horizontal",
|
|
1037
|
+
"type": "stack",
|
|
997
1038
|
"children": [
|
|
998
1039
|
{
|
|
999
|
-
"
|
|
1040
|
+
"action": "CREATE",
|
|
1000
1041
|
"variant": "primary",
|
|
1001
|
-
"type": "button",
|
|
1002
1042
|
"icon": "plus",
|
|
1003
|
-
"
|
|
1043
|
+
"type": "button",
|
|
1044
|
+
"label": "New Order"
|
|
1004
1045
|
}
|
|
1005
1046
|
],
|
|
1006
|
-
"gap": "sm"
|
|
1007
|
-
"direction": "horizontal",
|
|
1008
|
-
"type": "stack"
|
|
1047
|
+
"gap": "sm"
|
|
1009
1048
|
}
|
|
1010
|
-
]
|
|
1011
|
-
"gap": "md"
|
|
1049
|
+
]
|
|
1012
1050
|
},
|
|
1013
1051
|
{
|
|
1014
1052
|
"type": "divider"
|
|
@@ -1016,8 +1054,7 @@
|
|
|
1016
1054
|
"@trait.TradeOrderBrowseList"
|
|
1017
1055
|
],
|
|
1018
1056
|
"type": "stack",
|
|
1019
|
-
"gap": "lg"
|
|
1020
|
-
"direction": "vertical"
|
|
1057
|
+
"gap": "lg"
|
|
1021
1058
|
}
|
|
1022
1059
|
]
|
|
1023
1060
|
]
|
|
@@ -1039,35 +1076,35 @@
|
|
|
1039
1076
|
},
|
|
1040
1077
|
{
|
|
1041
1078
|
"event": "EDIT",
|
|
1042
|
-
"
|
|
1043
|
-
"
|
|
1079
|
+
"variant": "ghost",
|
|
1080
|
+
"label": "Edit"
|
|
1044
1081
|
},
|
|
1045
1082
|
{
|
|
1046
|
-
"event": "DELETE",
|
|
1047
1083
|
"label": "Cancel",
|
|
1048
|
-
"variant": "danger"
|
|
1084
|
+
"variant": "danger",
|
|
1085
|
+
"event": "DELETE"
|
|
1049
1086
|
}
|
|
1050
1087
|
],
|
|
1051
1088
|
"cols": 1.0,
|
|
1052
1089
|
"fields": [
|
|
1053
1090
|
{
|
|
1054
|
-
"icon": "trending-up",
|
|
1055
1091
|
"name": "symbol",
|
|
1056
|
-
"variant": "h3"
|
|
1092
|
+
"variant": "h3",
|
|
1093
|
+
"icon": "trending-up"
|
|
1057
1094
|
},
|
|
1058
1095
|
{
|
|
1059
1096
|
"variant": "badge",
|
|
1060
1097
|
"name": "side"
|
|
1061
1098
|
},
|
|
1062
1099
|
{
|
|
1063
|
-
"
|
|
1100
|
+
"variant": "body",
|
|
1064
1101
|
"name": "quantity",
|
|
1065
|
-
"
|
|
1102
|
+
"format": "number"
|
|
1066
1103
|
},
|
|
1067
1104
|
{
|
|
1068
|
-
"format": "currency",
|
|
1069
1105
|
"name": "price",
|
|
1070
|
-
"variant": "h4"
|
|
1106
|
+
"variant": "h4",
|
|
1107
|
+
"format": "currency"
|
|
1071
1108
|
},
|
|
1072
1109
|
{
|
|
1073
1110
|
"name": "status",
|
|
@@ -1108,6 +1145,7 @@
|
|
|
1108
1145
|
"name": "TradeOrderCreate",
|
|
1109
1146
|
"linkedEntity": "TradeOrder",
|
|
1110
1147
|
"config": {
|
|
1148
|
+
"icon": "plus-circle",
|
|
1111
1149
|
"title": "New Order",
|
|
1112
1150
|
"fields": [
|
|
1113
1151
|
"symbol",
|
|
@@ -1116,8 +1154,7 @@
|
|
|
1116
1154
|
"price",
|
|
1117
1155
|
"status"
|
|
1118
1156
|
],
|
|
1119
|
-
"mode": "create"
|
|
1120
|
-
"icon": "plus-circle"
|
|
1157
|
+
"mode": "create"
|
|
1121
1158
|
},
|
|
1122
1159
|
"events": {
|
|
1123
1160
|
"OPEN": "CREATE"
|
|
@@ -1138,6 +1175,8 @@
|
|
|
1138
1175
|
"name": "TradeOrderEdit",
|
|
1139
1176
|
"linkedEntity": "TradeOrder",
|
|
1140
1177
|
"config": {
|
|
1178
|
+
"icon": "edit",
|
|
1179
|
+
"mode": "edit",
|
|
1141
1180
|
"title": "Edit Order",
|
|
1142
1181
|
"fields": [
|
|
1143
1182
|
"symbol",
|
|
@@ -1145,9 +1184,7 @@
|
|
|
1145
1184
|
"quantity",
|
|
1146
1185
|
"price",
|
|
1147
1186
|
"status"
|
|
1148
|
-
]
|
|
1149
|
-
"mode": "edit",
|
|
1150
|
-
"icon": "edit"
|
|
1187
|
+
]
|
|
1151
1188
|
},
|
|
1152
1189
|
"events": {
|
|
1153
1190
|
"OPEN": "EDIT"
|
|
@@ -1168,8 +1205,8 @@
|
|
|
1168
1205
|
"name": "TradeOrderView",
|
|
1169
1206
|
"linkedEntity": "TradeOrder",
|
|
1170
1207
|
"config": {
|
|
1208
|
+
"mode": "edit",
|
|
1171
1209
|
"icon": "eye",
|
|
1172
|
-
"title": "View Order",
|
|
1173
1210
|
"fields": [
|
|
1174
1211
|
"symbol",
|
|
1175
1212
|
"side",
|
|
@@ -1177,7 +1214,7 @@
|
|
|
1177
1214
|
"price",
|
|
1178
1215
|
"status"
|
|
1179
1216
|
],
|
|
1180
|
-
"
|
|
1217
|
+
"title": "View Order"
|
|
1181
1218
|
},
|
|
1182
1219
|
"events": {
|
|
1183
1220
|
"OPEN": "VIEW"
|
|
@@ -1200,8 +1237,8 @@
|
|
|
1200
1237
|
"config": {
|
|
1201
1238
|
"icon": "alert-triangle",
|
|
1202
1239
|
"title": "Cancel Order",
|
|
1203
|
-
"
|
|
1204
|
-
"
|
|
1240
|
+
"confirmLabel": "Cancel Order",
|
|
1241
|
+
"alertMessage": "Cancel this pending order?"
|
|
1205
1242
|
},
|
|
1206
1243
|
"events": {
|
|
1207
1244
|
"REQUEST": "DELETE",
|
|
@@ -1407,6 +1444,9 @@
|
|
|
1407
1444
|
"name": "Orders",
|
|
1408
1445
|
"path": "/orders",
|
|
1409
1446
|
"traits": [
|
|
1447
|
+
{
|
|
1448
|
+
"ref": "TradeOrderAppLayout"
|
|
1449
|
+
},
|
|
1410
1450
|
{
|
|
1411
1451
|
"ref": "TradeOrderCatalog"
|
|
1412
1452
|
},
|
|
@@ -1435,6 +1475,10 @@
|
|
|
1435
1475
|
{
|
|
1436
1476
|
"name": "MarketFeedOrbital",
|
|
1437
1477
|
"uses": [
|
|
1478
|
+
{
|
|
1479
|
+
"from": "std/behaviors/std-app-layout",
|
|
1480
|
+
"as": "AppShell"
|
|
1481
|
+
},
|
|
1438
1482
|
{
|
|
1439
1483
|
"from": "std/behaviors/std-selection",
|
|
1440
1484
|
"as": "Selection"
|
|
@@ -1477,6 +1521,80 @@
|
|
|
1477
1521
|
]
|
|
1478
1522
|
},
|
|
1479
1523
|
"traits": [
|
|
1524
|
+
{
|
|
1525
|
+
"ref": "AppShell.traits.AppLayout",
|
|
1526
|
+
"name": "MarketFeedAppLayout",
|
|
1527
|
+
"linkedEntity": "MarketFeed",
|
|
1528
|
+
"config": {
|
|
1529
|
+
"searchEvent": "MARKET_FEED_SEARCH",
|
|
1530
|
+
"contentTrait": "@trait.MarketFeedDisplay",
|
|
1531
|
+
"notificationClickEvent": "MARKET_FEED_NOTIFICATIONS_OPEN",
|
|
1532
|
+
"navItems": [
|
|
1533
|
+
{
|
|
1534
|
+
"label": "Portfolio",
|
|
1535
|
+
"href": "/portfolio",
|
|
1536
|
+
"icon": "layout-list"
|
|
1537
|
+
},
|
|
1538
|
+
{
|
|
1539
|
+
"label": "Orders",
|
|
1540
|
+
"href": "/orders",
|
|
1541
|
+
"icon": "clipboard-list"
|
|
1542
|
+
},
|
|
1543
|
+
{
|
|
1544
|
+
"label": "Market",
|
|
1545
|
+
"href": "/market",
|
|
1546
|
+
"icon": "activity"
|
|
1547
|
+
}
|
|
1548
|
+
],
|
|
1549
|
+
"appName": "Trading Dashboard",
|
|
1550
|
+
"notifications": []
|
|
1551
|
+
},
|
|
1552
|
+
"events": {
|
|
1553
|
+
"NOTIFY_CLICK": "MARKET_FEED_NOTIFICATIONS_OPEN",
|
|
1554
|
+
"SEARCH": "MARKET_FEED_SEARCH"
|
|
1555
|
+
}
|
|
1556
|
+
},
|
|
1557
|
+
{
|
|
1558
|
+
"name": "MarketFeedDisplay",
|
|
1559
|
+
"category": "interaction",
|
|
1560
|
+
"stateMachine": {
|
|
1561
|
+
"states": [
|
|
1562
|
+
{
|
|
1563
|
+
"name": "composing",
|
|
1564
|
+
"isInitial": true
|
|
1565
|
+
}
|
|
1566
|
+
],
|
|
1567
|
+
"events": [
|
|
1568
|
+
{
|
|
1569
|
+
"key": "INIT",
|
|
1570
|
+
"name": "Initialize"
|
|
1571
|
+
}
|
|
1572
|
+
],
|
|
1573
|
+
"transitions": [
|
|
1574
|
+
{
|
|
1575
|
+
"from": "composing",
|
|
1576
|
+
"to": "composing",
|
|
1577
|
+
"event": "INIT",
|
|
1578
|
+
"effects": [
|
|
1579
|
+
[
|
|
1580
|
+
"render-ui",
|
|
1581
|
+
"main",
|
|
1582
|
+
{
|
|
1583
|
+
"direction": "vertical",
|
|
1584
|
+
"gap": "lg",
|
|
1585
|
+
"type": "stack",
|
|
1586
|
+
"children": [
|
|
1587
|
+
"@trait.MarketFeedAsync"
|
|
1588
|
+
],
|
|
1589
|
+
"className": "max-w-6xl mx-auto w-full p-4"
|
|
1590
|
+
}
|
|
1591
|
+
]
|
|
1592
|
+
]
|
|
1593
|
+
}
|
|
1594
|
+
]
|
|
1595
|
+
},
|
|
1596
|
+
"scope": "instance"
|
|
1597
|
+
},
|
|
1480
1598
|
{
|
|
1481
1599
|
"ref": "Selection.traits.SelectableItemSelection",
|
|
1482
1600
|
"name": "MarketSelection",
|
|
@@ -1648,8 +1766,8 @@
|
|
|
1648
1766
|
"MarketFeed",
|
|
1649
1767
|
{
|
|
1650
1768
|
"emit": {
|
|
1651
|
-
"
|
|
1652
|
-
"
|
|
1769
|
+
"failure": "MarketFeedLoadFailed",
|
|
1770
|
+
"success": "MarketFeedLoaded"
|
|
1653
1771
|
}
|
|
1654
1772
|
}
|
|
1655
1773
|
],
|
|
@@ -1657,45 +1775,45 @@
|
|
|
1657
1775
|
"render-ui",
|
|
1658
1776
|
"main",
|
|
1659
1777
|
{
|
|
1660
|
-
"direction": "vertical",
|
|
1661
1778
|
"children": [
|
|
1662
1779
|
{
|
|
1780
|
+
"type": "stack",
|
|
1781
|
+
"align": "center",
|
|
1782
|
+
"gap": "md",
|
|
1663
1783
|
"children": [
|
|
1664
1784
|
{
|
|
1665
|
-
"
|
|
1666
|
-
"
|
|
1785
|
+
"name": "activity",
|
|
1786
|
+
"type": "icon"
|
|
1667
1787
|
},
|
|
1668
1788
|
{
|
|
1669
1789
|
"content": "Market Feed",
|
|
1670
|
-
"
|
|
1671
|
-
"
|
|
1790
|
+
"type": "typography",
|
|
1791
|
+
"variant": "h2"
|
|
1672
1792
|
}
|
|
1673
1793
|
],
|
|
1674
|
-
"
|
|
1675
|
-
"gap": "md",
|
|
1676
|
-
"direction": "horizontal",
|
|
1677
|
-
"align": "center"
|
|
1794
|
+
"direction": "horizontal"
|
|
1678
1795
|
},
|
|
1679
1796
|
{
|
|
1680
1797
|
"type": "divider"
|
|
1681
1798
|
},
|
|
1682
1799
|
{
|
|
1683
|
-
"variant": "body",
|
|
1684
1800
|
"type": "typography",
|
|
1801
|
+
"variant": "body",
|
|
1685
1802
|
"color": "muted",
|
|
1686
1803
|
"content": "Connect to live market data."
|
|
1687
1804
|
},
|
|
1688
1805
|
{
|
|
1689
1806
|
"icon": "play",
|
|
1690
|
-
"action": "START",
|
|
1691
|
-
"label": "Start Stream",
|
|
1692
1807
|
"type": "button",
|
|
1693
|
-
"
|
|
1808
|
+
"action": "START",
|
|
1809
|
+
"variant": "primary",
|
|
1810
|
+
"label": "Start Stream"
|
|
1694
1811
|
}
|
|
1695
1812
|
],
|
|
1696
|
-
"
|
|
1813
|
+
"gap": "lg",
|
|
1814
|
+
"direction": "vertical",
|
|
1697
1815
|
"type": "stack",
|
|
1698
|
-
"
|
|
1816
|
+
"align": "center"
|
|
1699
1817
|
}
|
|
1700
1818
|
]
|
|
1701
1819
|
]
|
|
@@ -1709,21 +1827,21 @@
|
|
|
1709
1827
|
"render-ui",
|
|
1710
1828
|
"main",
|
|
1711
1829
|
{
|
|
1712
|
-
"gap": "lg",
|
|
1713
1830
|
"type": "stack",
|
|
1714
|
-
"align": "center",
|
|
1715
1831
|
"direction": "vertical",
|
|
1832
|
+
"gap": "lg",
|
|
1716
1833
|
"children": [
|
|
1717
1834
|
{
|
|
1718
|
-
"type": "loading-state",
|
|
1719
1835
|
"title": "Connecting to market feed…",
|
|
1720
|
-
"message": "Streaming ticks…"
|
|
1836
|
+
"message": "Streaming ticks…",
|
|
1837
|
+
"type": "loading-state"
|
|
1721
1838
|
},
|
|
1722
1839
|
{
|
|
1723
1840
|
"type": "skeleton",
|
|
1724
1841
|
"variant": "text"
|
|
1725
1842
|
}
|
|
1726
|
-
]
|
|
1843
|
+
],
|
|
1844
|
+
"align": "center"
|
|
1727
1845
|
}
|
|
1728
1846
|
]
|
|
1729
1847
|
]
|
|
@@ -1740,8 +1858,8 @@
|
|
|
1740
1858
|
"@payload.data",
|
|
1741
1859
|
{
|
|
1742
1860
|
"emit": {
|
|
1743
|
-
"
|
|
1744
|
-
"
|
|
1861
|
+
"success": "MarketFeedSaved",
|
|
1862
|
+
"failure": "MarketFeedSaveFailed"
|
|
1745
1863
|
}
|
|
1746
1864
|
}
|
|
1747
1865
|
],
|
|
@@ -1749,13 +1867,16 @@
|
|
|
1749
1867
|
"render-ui",
|
|
1750
1868
|
"main",
|
|
1751
1869
|
{
|
|
1752
|
-
"gap": "lg",
|
|
1753
1870
|
"children": [
|
|
1754
1871
|
{
|
|
1872
|
+
"align": "center",
|
|
1873
|
+
"type": "stack",
|
|
1874
|
+
"direction": "horizontal",
|
|
1875
|
+
"justify": "between",
|
|
1755
1876
|
"children": [
|
|
1756
1877
|
{
|
|
1757
|
-
"direction": "horizontal",
|
|
1758
1878
|
"type": "stack",
|
|
1879
|
+
"direction": "horizontal",
|
|
1759
1880
|
"align": "center",
|
|
1760
1881
|
"children": [
|
|
1761
1882
|
{
|
|
@@ -1763,68 +1884,64 @@
|
|
|
1763
1884
|
"name": "activity"
|
|
1764
1885
|
},
|
|
1765
1886
|
{
|
|
1766
|
-
"type": "typography",
|
|
1767
1887
|
"content": "Live Market Feed",
|
|
1888
|
+
"type": "typography",
|
|
1768
1889
|
"variant": "h2"
|
|
1769
1890
|
}
|
|
1770
1891
|
],
|
|
1771
1892
|
"gap": "sm"
|
|
1772
1893
|
},
|
|
1773
1894
|
{
|
|
1774
|
-
"gap": "sm",
|
|
1775
|
-
"type": "stack",
|
|
1776
1895
|
"direction": "horizontal",
|
|
1896
|
+
"type": "stack",
|
|
1897
|
+
"gap": "sm",
|
|
1777
1898
|
"children": [
|
|
1778
1899
|
{
|
|
1779
|
-
"type": "alert",
|
|
1780
1900
|
"variant": "success",
|
|
1781
|
-
"message": "Connected"
|
|
1901
|
+
"message": "Connected",
|
|
1902
|
+
"type": "alert"
|
|
1782
1903
|
},
|
|
1783
1904
|
{
|
|
1905
|
+
"variant": "ghost",
|
|
1784
1906
|
"label": "Reset",
|
|
1907
|
+
"icon": "rotate-ccw",
|
|
1785
1908
|
"action": "RESET",
|
|
1786
|
-
"
|
|
1787
|
-
"type": "button",
|
|
1788
|
-
"icon": "rotate-ccw"
|
|
1909
|
+
"type": "button"
|
|
1789
1910
|
}
|
|
1790
1911
|
]
|
|
1791
1912
|
}
|
|
1792
1913
|
],
|
|
1793
|
-
"justify": "between",
|
|
1794
|
-
"align": "center",
|
|
1795
|
-
"direction": "horizontal",
|
|
1796
|
-
"type": "stack",
|
|
1797
1914
|
"gap": "md"
|
|
1798
1915
|
},
|
|
1799
1916
|
{
|
|
1800
1917
|
"type": "divider"
|
|
1801
1918
|
},
|
|
1802
1919
|
{
|
|
1920
|
+
"variant": "card",
|
|
1803
1921
|
"type": "data-list",
|
|
1804
|
-
"entity": "@payload.data",
|
|
1805
1922
|
"fields": [
|
|
1806
1923
|
{
|
|
1807
|
-
"variant": "h4",
|
|
1808
1924
|
"icon": "trending-up",
|
|
1925
|
+
"variant": "h4",
|
|
1809
1926
|
"name": "symbol"
|
|
1810
1927
|
},
|
|
1811
1928
|
{
|
|
1929
|
+
"format": "currency",
|
|
1812
1930
|
"variant": "h3",
|
|
1813
|
-
"name": "price"
|
|
1814
|
-
"format": "currency"
|
|
1931
|
+
"name": "price"
|
|
1815
1932
|
},
|
|
1816
1933
|
{
|
|
1934
|
+
"format": "currency",
|
|
1817
1935
|
"name": "change",
|
|
1818
|
-
"variant": "badge"
|
|
1819
|
-
"format": "currency"
|
|
1936
|
+
"variant": "badge"
|
|
1820
1937
|
},
|
|
1821
1938
|
{
|
|
1822
|
-
"variant": "caption",
|
|
1823
1939
|
"format": "number",
|
|
1940
|
+
"variant": "caption",
|
|
1824
1941
|
"name": "volume"
|
|
1825
1942
|
}
|
|
1826
1943
|
],
|
|
1827
|
-
"
|
|
1944
|
+
"entity": "@payload.data",
|
|
1828
1945
|
"gap": "sm"
|
|
1829
1946
|
},
|
|
1830
1947
|
{
|
|
@@ -1834,8 +1951,8 @@
|
|
|
1834
1951
|
"type": "line-chart",
|
|
1835
1952
|
"data": [
|
|
1836
1953
|
{
|
|
1837
|
-
"
|
|
1838
|
-
"
|
|
1954
|
+
"value": 100.0,
|
|
1955
|
+
"date": "09:30"
|
|
1839
1956
|
},
|
|
1840
1957
|
{
|
|
1841
1958
|
"date": "10:00",
|
|
@@ -1846,8 +1963,8 @@
|
|
|
1846
1963
|
"value": 99.0
|
|
1847
1964
|
},
|
|
1848
1965
|
{
|
|
1849
|
-
"
|
|
1850
|
-
"
|
|
1966
|
+
"date": "11:00",
|
|
1967
|
+
"value": 105.0
|
|
1851
1968
|
},
|
|
1852
1969
|
{
|
|
1853
1970
|
"value": 107.0,
|
|
@@ -1867,14 +1984,15 @@
|
|
|
1867
1984
|
"label": "Price"
|
|
1868
1985
|
},
|
|
1869
1986
|
{
|
|
1870
|
-
"
|
|
1871
|
-
"
|
|
1987
|
+
"color": "muted",
|
|
1988
|
+
"label": "Volume"
|
|
1872
1989
|
}
|
|
1873
1990
|
]
|
|
1874
1991
|
}
|
|
1875
1992
|
],
|
|
1876
|
-
"
|
|
1877
|
-
"type": "stack"
|
|
1993
|
+
"gap": "lg",
|
|
1994
|
+
"type": "stack",
|
|
1995
|
+
"direction": "vertical"
|
|
1878
1996
|
}
|
|
1879
1997
|
]
|
|
1880
1998
|
]
|
|
@@ -1889,37 +2007,37 @@
|
|
|
1889
2007
|
"main",
|
|
1890
2008
|
{
|
|
1891
2009
|
"gap": "lg",
|
|
2010
|
+
"align": "center",
|
|
1892
2011
|
"children": [
|
|
1893
2012
|
{
|
|
2013
|
+
"type": "error-state",
|
|
1894
2014
|
"onRetry": "RETRY",
|
|
1895
2015
|
"title": "Stream Disconnected",
|
|
1896
|
-
"message": "Market feed disconnected."
|
|
1897
|
-
"type": "error-state"
|
|
2016
|
+
"message": "Market feed disconnected."
|
|
1898
2017
|
},
|
|
1899
2018
|
{
|
|
1900
|
-
"gap": "sm",
|
|
1901
|
-
"direction": "horizontal",
|
|
1902
2019
|
"type": "stack",
|
|
2020
|
+
"direction": "horizontal",
|
|
2021
|
+
"justify": "center",
|
|
1903
2022
|
"children": [
|
|
1904
2023
|
{
|
|
1905
2024
|
"type": "button",
|
|
1906
|
-
"label": "Retry",
|
|
1907
2025
|
"icon": "refresh-cw",
|
|
1908
|
-
"
|
|
1909
|
-
"
|
|
2026
|
+
"variant": "primary",
|
|
2027
|
+
"label": "Retry",
|
|
2028
|
+
"action": "RETRY"
|
|
1910
2029
|
},
|
|
1911
2030
|
{
|
|
1912
|
-
"label": "Reset",
|
|
1913
2031
|
"variant": "ghost",
|
|
1914
2032
|
"action": "RESET",
|
|
2033
|
+
"label": "Reset",
|
|
1915
2034
|
"icon": "rotate-ccw",
|
|
1916
2035
|
"type": "button"
|
|
1917
2036
|
}
|
|
1918
2037
|
],
|
|
1919
|
-
"
|
|
2038
|
+
"gap": "sm"
|
|
1920
2039
|
}
|
|
1921
2040
|
],
|
|
1922
|
-
"align": "center",
|
|
1923
2041
|
"type": "stack",
|
|
1924
2042
|
"direction": "vertical"
|
|
1925
2043
|
}
|
|
@@ -1937,21 +2055,21 @@
|
|
|
1937
2055
|
{
|
|
1938
2056
|
"children": [
|
|
1939
2057
|
{
|
|
2058
|
+
"align": "center",
|
|
1940
2059
|
"children": [
|
|
1941
2060
|
{
|
|
1942
2061
|
"type": "icon",
|
|
1943
2062
|
"name": "activity"
|
|
1944
2063
|
},
|
|
1945
2064
|
{
|
|
2065
|
+
"type": "typography",
|
|
1946
2066
|
"content": "Market Feed",
|
|
1947
|
-
"variant": "h2"
|
|
1948
|
-
"type": "typography"
|
|
2067
|
+
"variant": "h2"
|
|
1949
2068
|
}
|
|
1950
2069
|
],
|
|
1951
|
-
"direction": "horizontal",
|
|
1952
2070
|
"type": "stack",
|
|
1953
2071
|
"gap": "md",
|
|
1954
|
-
"
|
|
2072
|
+
"direction": "horizontal"
|
|
1955
2073
|
},
|
|
1956
2074
|
{
|
|
1957
2075
|
"type": "divider"
|
|
@@ -1963,17 +2081,17 @@
|
|
|
1963
2081
|
"content": "Connect to live market data."
|
|
1964
2082
|
},
|
|
1965
2083
|
{
|
|
2084
|
+
"icon": "play",
|
|
1966
2085
|
"action": "START",
|
|
1967
2086
|
"variant": "primary",
|
|
1968
|
-
"label": "Start Stream",
|
|
1969
2087
|
"type": "button",
|
|
1970
|
-
"
|
|
2088
|
+
"label": "Start Stream"
|
|
1971
2089
|
}
|
|
1972
2090
|
],
|
|
1973
|
-
"align": "center",
|
|
1974
2091
|
"gap": "lg",
|
|
1975
|
-
"
|
|
1976
|
-
"
|
|
2092
|
+
"direction": "vertical",
|
|
2093
|
+
"align": "center",
|
|
2094
|
+
"type": "stack"
|
|
1977
2095
|
}
|
|
1978
2096
|
]
|
|
1979
2097
|
]
|
|
@@ -1987,44 +2105,44 @@
|
|
|
1987
2105
|
"render-ui",
|
|
1988
2106
|
"main",
|
|
1989
2107
|
{
|
|
1990
|
-
"direction": "vertical",
|
|
1991
|
-
"type": "stack",
|
|
1992
2108
|
"children": [
|
|
1993
2109
|
{
|
|
1994
|
-
"type": "stack",
|
|
1995
|
-
"align": "center",
|
|
1996
|
-
"direction": "horizontal",
|
|
1997
2110
|
"children": [
|
|
1998
2111
|
{
|
|
1999
|
-
"
|
|
2000
|
-
"
|
|
2112
|
+
"type": "icon",
|
|
2113
|
+
"name": "activity"
|
|
2001
2114
|
},
|
|
2002
2115
|
{
|
|
2116
|
+
"variant": "h2",
|
|
2003
2117
|
"type": "typography",
|
|
2004
|
-
"content": "Market Feed"
|
|
2005
|
-
"variant": "h2"
|
|
2118
|
+
"content": "Market Feed"
|
|
2006
2119
|
}
|
|
2007
2120
|
],
|
|
2008
|
-
"
|
|
2121
|
+
"direction": "horizontal",
|
|
2122
|
+
"gap": "md",
|
|
2123
|
+
"type": "stack",
|
|
2124
|
+
"align": "center"
|
|
2009
2125
|
},
|
|
2010
2126
|
{
|
|
2011
2127
|
"type": "divider"
|
|
2012
2128
|
},
|
|
2013
2129
|
{
|
|
2014
|
-
"type": "typography",
|
|
2015
|
-
"color": "muted",
|
|
2016
2130
|
"variant": "body",
|
|
2017
|
-
"content": "Connect to live market data."
|
|
2131
|
+
"content": "Connect to live market data.",
|
|
2132
|
+
"type": "typography",
|
|
2133
|
+
"color": "muted"
|
|
2018
2134
|
},
|
|
2019
2135
|
{
|
|
2020
|
-
"icon": "play",
|
|
2021
|
-
"variant": "primary",
|
|
2022
2136
|
"action": "START",
|
|
2137
|
+
"variant": "primary",
|
|
2023
2138
|
"type": "button",
|
|
2024
|
-
"label": "Start Stream"
|
|
2139
|
+
"label": "Start Stream",
|
|
2140
|
+
"icon": "play"
|
|
2025
2141
|
}
|
|
2026
2142
|
],
|
|
2143
|
+
"type": "stack",
|
|
2027
2144
|
"gap": "lg",
|
|
2145
|
+
"direction": "vertical",
|
|
2028
2146
|
"align": "center"
|
|
2029
2147
|
}
|
|
2030
2148
|
]
|
|
@@ -2040,20 +2158,20 @@
|
|
|
2040
2158
|
"main",
|
|
2041
2159
|
{
|
|
2042
2160
|
"align": "center",
|
|
2161
|
+
"direction": "vertical",
|
|
2043
2162
|
"children": [
|
|
2044
2163
|
{
|
|
2045
|
-
"
|
|
2164
|
+
"title": "Connecting to market feed…",
|
|
2046
2165
|
"message": "Streaming ticks…",
|
|
2047
|
-
"
|
|
2166
|
+
"type": "loading-state"
|
|
2048
2167
|
},
|
|
2049
2168
|
{
|
|
2050
|
-
"
|
|
2051
|
-
"
|
|
2169
|
+
"type": "skeleton",
|
|
2170
|
+
"variant": "text"
|
|
2052
2171
|
}
|
|
2053
2172
|
],
|
|
2054
|
-
"
|
|
2055
|
-
"gap": "lg"
|
|
2056
|
-
"type": "stack"
|
|
2173
|
+
"type": "stack",
|
|
2174
|
+
"gap": "lg"
|
|
2057
2175
|
}
|
|
2058
2176
|
]
|
|
2059
2177
|
]
|
|
@@ -2068,6 +2186,12 @@
|
|
|
2068
2186
|
"name": "Market",
|
|
2069
2187
|
"path": "/market",
|
|
2070
2188
|
"traits": [
|
|
2189
|
+
{
|
|
2190
|
+
"ref": "MarketFeedAppLayout"
|
|
2191
|
+
},
|
|
2192
|
+
{
|
|
2193
|
+
"ref": "MarketFeedDisplay"
|
|
2194
|
+
},
|
|
2071
2195
|
{
|
|
2072
2196
|
"ref": "MarketFeedAsync"
|
|
2073
2197
|
},
|
|
@@ -2079,4 +2203,4 @@
|
|
|
2079
2203
|
]
|
|
2080
2204
|
}
|
|
2081
2205
|
]
|
|
2082
|
-
}
|
|
2206
|
+
}
|