@almadar/std 14.2.0 → 14.4.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.
Files changed (37) hide show
  1. package/behaviors/registry/app/organisms/std-api-gateway.orb +940 -807
  2. package/behaviors/registry/app/organisms/std-booking-system.orb +1281 -1148
  3. package/behaviors/registry/app/organisms/std-cicd-pipeline.orb +954 -821
  4. package/behaviors/registry/app/organisms/std-cms.orb +639 -519
  5. package/behaviors/registry/app/organisms/std-crm.orb +950 -817
  6. package/behaviors/registry/app/organisms/std-devops-dashboard.orb +1590 -1650
  7. package/behaviors/registry/app/organisms/std-ecommerce.orb +1145 -1012
  8. package/behaviors/registry/app/organisms/std-finance-tracker.orb +746 -613
  9. package/behaviors/registry/app/organisms/std-healthcare.orb +1655 -1522
  10. package/behaviors/registry/app/organisms/std-helpdesk.orb +865 -732
  11. package/behaviors/registry/app/organisms/std-hr-portal.orb +1364 -1231
  12. package/behaviors/registry/app/organisms/std-iot-dashboard.orb +1522 -1503
  13. package/behaviors/registry/app/organisms/std-lms.orb +1060 -926
  14. package/behaviors/registry/app/organisms/std-project-manager.orb +926 -792
  15. package/behaviors/registry/app/organisms/std-realtime-chat.orb +886 -753
  16. package/behaviors/registry/app/organisms/std-social-feed.orb +403 -268
  17. package/behaviors/registry/app/organisms/std-trading-dashboard.orb +1372 -1353
  18. package/behaviors/registry/core/molecules/std-app-layout.orb +60 -18
  19. package/dist/behaviors/registry/app/organisms/std-api-gateway.orb +940 -807
  20. package/dist/behaviors/registry/app/organisms/std-booking-system.orb +1281 -1148
  21. package/dist/behaviors/registry/app/organisms/std-cicd-pipeline.orb +954 -821
  22. package/dist/behaviors/registry/app/organisms/std-cms.orb +639 -519
  23. package/dist/behaviors/registry/app/organisms/std-crm.orb +950 -817
  24. package/dist/behaviors/registry/app/organisms/std-devops-dashboard.orb +1590 -1650
  25. package/dist/behaviors/registry/app/organisms/std-ecommerce.orb +1145 -1012
  26. package/dist/behaviors/registry/app/organisms/std-finance-tracker.orb +746 -613
  27. package/dist/behaviors/registry/app/organisms/std-healthcare.orb +1655 -1522
  28. package/dist/behaviors/registry/app/organisms/std-helpdesk.orb +865 -732
  29. package/dist/behaviors/registry/app/organisms/std-hr-portal.orb +1364 -1231
  30. package/dist/behaviors/registry/app/organisms/std-iot-dashboard.orb +1522 -1503
  31. package/dist/behaviors/registry/app/organisms/std-lms.orb +1060 -926
  32. package/dist/behaviors/registry/app/organisms/std-project-manager.orb +926 -792
  33. package/dist/behaviors/registry/app/organisms/std-realtime-chat.orb +886 -753
  34. package/dist/behaviors/registry/app/organisms/std-social-feed.orb +403 -268
  35. package/dist/behaviors/registry/app/organisms/std-trading-dashboard.orb +1372 -1353
  36. package/dist/behaviors/registry/core/molecules/std-app-layout.orb +60 -18
  37. package/package.json +1 -1
@@ -5,6 +5,12 @@
5
5
  "orbitals": [
6
6
  {
7
7
  "name": "TaskOrbital",
8
+ "uses": [
9
+ {
10
+ "from": "std/behaviors/std-app-layout",
11
+ "as": "AppShell"
12
+ }
13
+ ],
8
14
  "entity": {
9
15
  "name": "Task",
10
16
  "collection": "tasks",
@@ -67,6 +73,38 @@
67
73
  ]
68
74
  },
69
75
  "traits": [
76
+ {
77
+ "ref": "AppShell.traits.AppLayout",
78
+ "name": "TaskAppLayout",
79
+ "config": {
80
+ "contentTrait": "@trait.TaskBrowse",
81
+ "navItems": [
82
+ {
83
+ "icon": "check-square",
84
+ "label": "Tasks",
85
+ "href": "/tasks"
86
+ },
87
+ {
88
+ "icon": "zap",
89
+ "label": "Sprints",
90
+ "href": "/sprints"
91
+ },
92
+ {
93
+ "label": "Burndown",
94
+ "href": "/burndown",
95
+ "icon": "layout-list"
96
+ }
97
+ ],
98
+ "appName": "ProjectManagerApp",
99
+ "searchEvent": "TASK_SEARCH",
100
+ "notifications": [],
101
+ "notificationClickEvent": "TASK_NOTIFICATIONS_OPEN"
102
+ },
103
+ "events": {
104
+ "SEARCH": "TASK_SEARCH",
105
+ "NOTIFY_CLICK": "TASK_NOTIFICATIONS_OPEN"
106
+ }
107
+ },
70
108
  {
71
109
  "name": "TaskBrowse",
72
110
  "category": "interaction",
@@ -423,6 +461,22 @@
423
461
  "orbital": "SprintOrbital",
424
462
  "trait": "SprintBrowse"
425
463
  }
464
+ },
465
+ {
466
+ "event": "TASK_SEARCH",
467
+ "triggers": "TASK_SEARCH",
468
+ "source": {
469
+ "kind": "trait",
470
+ "trait": "TaskAppLayout"
471
+ }
472
+ },
473
+ {
474
+ "event": "TASK_NOTIFICATIONS_OPEN",
475
+ "triggers": "TASK_NOTIFICATIONS_OPEN",
476
+ "source": {
477
+ "kind": "trait",
478
+ "trait": "TaskAppLayout"
479
+ }
426
480
  }
427
481
  ],
428
482
  "stateMachine": {
@@ -447,6 +501,26 @@
447
501
  }
448
502
  ]
449
503
  },
504
+ {
505
+ "key": "TASK_SEARCH",
506
+ "name": "Task Search",
507
+ "payloadSchema": [
508
+ {
509
+ "name": "value",
510
+ "type": "string"
511
+ }
512
+ ]
513
+ },
514
+ {
515
+ "key": "TASK_NOTIFICATIONS_OPEN",
516
+ "name": "Task Notifications Open",
517
+ "payloadSchema": [
518
+ {
519
+ "name": "id",
520
+ "type": "string"
521
+ }
522
+ ]
523
+ },
450
524
  {
451
525
  "key": "TaskLoadFailed",
452
526
  "name": "Task load failed",
@@ -666,8 +740,8 @@
666
740
  "Task",
667
741
  {
668
742
  "emit": {
669
- "success": "TaskLoaded",
670
- "failure": "TaskLoadFailed"
743
+ "failure": "TaskLoadFailed",
744
+ "success": "TaskLoaded"
671
745
  }
672
746
  }
673
747
  ],
@@ -676,20 +750,20 @@
676
750
  "main",
677
751
  {
678
752
  "direction": "vertical",
753
+ "gap": "md",
754
+ "className": "py-12",
755
+ "type": "stack",
679
756
  "children": [
680
757
  {
681
758
  "type": "spinner"
682
759
  },
683
760
  {
684
- "variant": "caption",
685
761
  "color": "muted",
686
- "content": "Loading…",
687
- "type": "typography"
762
+ "variant": "caption",
763
+ "type": "typography",
764
+ "content": "Loading…"
688
765
  }
689
766
  ],
690
- "className": "py-12",
691
- "gap": "md",
692
- "type": "stack",
693
767
  "align": "center"
694
768
  }
695
769
  ]
@@ -704,145 +778,161 @@
704
778
  "render-ui",
705
779
  "main",
706
780
  {
707
- "appName": "ProjectManagerApp",
708
- "type": "dashboard-layout",
781
+ "gap": "lg",
782
+ "direction": "vertical",
783
+ "className": "max-w-5xl mx-auto w-full",
709
784
  "children": [
710
785
  {
711
- "className": "max-w-5xl mx-auto w-full",
786
+ "gap": "md",
787
+ "direction": "horizontal",
788
+ "justify": "between",
789
+ "align": "center",
712
790
  "children": [
713
791
  {
714
- "direction": "horizontal",
715
- "gap": "md",
716
- "align": "center",
717
792
  "children": [
718
793
  {
719
- "gap": "sm",
720
- "align": "center",
721
- "direction": "horizontal",
722
- "children": [
723
- {
724
- "type": "icon",
725
- "name": "check-square"
726
- },
727
- {
728
- "type": "typography",
729
- "content": "Tasks",
730
- "variant": "h2"
731
- }
732
- ],
733
- "type": "stack"
794
+ "type": "icon",
795
+ "name": "check-square"
734
796
  },
735
797
  {
736
- "gap": "sm",
737
- "direction": "horizontal",
738
- "children": [
739
- {
740
- "type": "button",
741
- "action": "CREATE",
742
- "label": "Create Task",
743
- "variant": "primary",
744
- "icon": "plus"
745
- }
746
- ],
747
- "type": "stack"
798
+ "type": "typography",
799
+ "content": "Tasks",
800
+ "variant": "h2"
748
801
  }
749
802
  ],
750
- "justify": "between",
751
- "type": "stack"
752
- },
753
- {
754
- "type": "divider"
803
+ "type": "stack",
804
+ "align": "center",
805
+ "direction": "horizontal",
806
+ "gap": "sm"
755
807
  },
756
808
  {
757
- "cols": 1.0,
758
- "type": "simple-grid",
809
+ "gap": "sm",
810
+ "type": "stack",
759
811
  "children": [
760
812
  {
761
- "value": "@payload.data.length",
762
- "type": "stat-display",
763
- "icon": "check-square",
764
- "label": "Total Tasks"
813
+ "variant": "primary",
814
+ "type": "button",
815
+ "icon": "plus",
816
+ "label": "Create Task",
817
+ "action": "CREATE"
765
818
  }
766
- ]
819
+ ],
820
+ "direction": "horizontal"
821
+ }
822
+ ],
823
+ "type": "stack"
824
+ },
825
+ {
826
+ "type": "divider"
827
+ },
828
+ {
829
+ "type": "simple-grid",
830
+ "cols": 1.0,
831
+ "children": [
832
+ {
833
+ "icon": "check-square",
834
+ "value": "@payload.data.length",
835
+ "type": "stat-display",
836
+ "label": "Total Tasks"
837
+ }
838
+ ]
839
+ },
840
+ {
841
+ "type": "divider"
842
+ },
843
+ {
844
+ "type": "data-grid",
845
+ "fields": [
846
+ {
847
+ "icon": "check-square",
848
+ "variant": "h3",
849
+ "name": "title"
767
850
  },
768
851
  {
769
- "type": "divider"
852
+ "name": "priority",
853
+ "variant": "badge"
770
854
  },
771
855
  {
772
- "cols": 2.0,
773
- "gap": "md",
774
- "type": "data-grid",
775
- "entity": "@payload.data",
776
- "itemActions": [
777
- {
778
- "variant": "ghost",
779
- "event": "VIEW",
780
- "label": "View"
781
- },
782
- {
783
- "event": "EDIT",
784
- "variant": "ghost",
785
- "label": "Edit"
786
- },
787
- {
788
- "label": "Delete",
789
- "event": "DELETE",
790
- "variant": "danger"
791
- }
792
- ],
793
- "fields": [
794
- {
795
- "name": "title",
796
- "icon": "check-square",
797
- "variant": "h3"
798
- },
799
- {
800
- "name": "priority",
801
- "variant": "badge"
802
- },
803
- {
804
- "name": "status",
805
- "variant": "badge"
806
- },
807
- {
808
- "variant": "body",
809
- "name": "assignee"
810
- },
811
- {
812
- "name": "storyPoints",
813
- "variant": "body",
814
- "label": "Points",
815
- "format": "number"
816
- },
817
- {
818
- "name": "dueDate",
819
- "label": "Due",
820
- "variant": "caption",
821
- "format": "date"
822
- }
823
- ]
856
+ "name": "status",
857
+ "variant": "badge"
858
+ },
859
+ {
860
+ "variant": "body",
861
+ "name": "assignee"
862
+ },
863
+ {
864
+ "label": "Points",
865
+ "name": "storyPoints",
866
+ "variant": "body",
867
+ "format": "number"
868
+ },
869
+ {
870
+ "format": "date",
871
+ "name": "dueDate",
872
+ "label": "Due",
873
+ "variant": "caption"
824
874
  }
825
875
  ],
826
- "direction": "vertical",
827
- "type": "stack",
828
- "gap": "lg"
876
+ "gap": "md",
877
+ "entity": "@payload.data",
878
+ "itemActions": [
879
+ {
880
+ "label": "View",
881
+ "event": "VIEW",
882
+ "variant": "ghost"
883
+ },
884
+ {
885
+ "variant": "ghost",
886
+ "label": "Edit",
887
+ "event": "EDIT"
888
+ },
889
+ {
890
+ "label": "Delete",
891
+ "event": "DELETE",
892
+ "variant": "danger"
893
+ }
894
+ ],
895
+ "cols": 2.0
829
896
  }
830
897
  ],
831
- "navItems": [
832
- {
833
- "href": "/tasks",
834
- "icon": "check-square",
835
- "label": "Tasks"
836
- },
898
+ "type": "stack"
899
+ }
900
+ ]
901
+ ]
902
+ },
903
+ {
904
+ "from": "browsing",
905
+ "to": "browsing",
906
+ "event": "TASK_SEARCH",
907
+ "effects": [
908
+ [
909
+ "fetch",
910
+ "Task",
911
+ {
912
+ "emit": {
913
+ "success": "TaskLoaded",
914
+ "failure": "TaskLoadFailed"
915
+ }
916
+ }
917
+ ],
918
+ [
919
+ "render-ui",
920
+ "main",
921
+ {
922
+ "align": "center",
923
+ "type": "stack",
924
+ "gap": "md",
925
+ "direction": "vertical",
926
+ "className": "py-12",
927
+ "children": [
837
928
  {
838
- "label": "Sprints",
839
- "icon": "zap",
840
- "href": "/sprints"
929
+ "type": "spinner"
841
930
  },
842
931
  {
843
- "label": "Burndown",
844
- "href": "/burndown",
845
- "icon": "layout-list"
932
+ "content": "Searching…",
933
+ "type": "typography",
934
+ "variant": "caption",
935
+ "color": "muted"
846
936
  }
847
937
  ]
848
938
  }
@@ -852,65 +942,106 @@
852
942
  {
853
943
  "from": "browsing",
854
944
  "to": "browsing",
855
- "event": "TaskLoadFailed",
945
+ "event": "TASK_NOTIFICATIONS_OPEN",
856
946
  "effects": [
857
947
  [
858
948
  "render-ui",
859
949
  "main",
860
950
  {
861
- "type": "stack",
862
- "direction": "vertical",
863
951
  "gap": "md",
952
+ "align": "center",
953
+ "className": "py-8",
954
+ "direction": "vertical",
955
+ "type": "stack",
864
956
  "children": [
865
957
  {
866
- "color": "destructive",
867
958
  "type": "icon",
868
- "name": "alert-triangle"
959
+ "name": "bell"
869
960
  },
870
961
  {
871
- "content": "Failed to load task",
962
+ "content": "No notifications",
872
963
  "type": "typography",
873
964
  "variant": "h3"
874
965
  },
875
966
  {
967
+ "variant": "caption",
876
968
  "type": "typography",
877
- "content": "@payload.error",
878
- "variant": "body",
969
+ "content": "You're all caught up.",
879
970
  "color": "muted"
880
971
  },
881
972
  {
882
- "icon": "rotate-ccw",
883
- "variant": "primary",
884
- "label": "Retry",
973
+ "type": "button",
974
+ "label": "Back to tasks",
885
975
  "action": "INIT",
886
- "type": "button"
976
+ "variant": "ghost"
887
977
  }
888
- ],
889
- "className": "py-12",
890
- "align": "center"
978
+ ]
891
979
  }
892
980
  ]
893
981
  ]
894
- }
895
- ]
896
- },
897
- "scope": "collection"
898
- },
899
- {
900
- "name": "TaskCreate",
901
- "category": "interaction",
902
- "linkedEntity": "Task",
903
- "emits": [
904
- {
905
- "event": "TASK_CREATED",
906
- "scope": "external",
907
- "payloadSchema": [
908
- {
909
- "name": "id",
910
- "type": "string"
911
- }
912
- ]
913
- },
982
+ },
983
+ {
984
+ "from": "browsing",
985
+ "to": "browsing",
986
+ "event": "TaskLoadFailed",
987
+ "effects": [
988
+ [
989
+ "render-ui",
990
+ "main",
991
+ {
992
+ "align": "center",
993
+ "type": "stack",
994
+ "gap": "md",
995
+ "direction": "vertical",
996
+ "className": "py-12",
997
+ "children": [
998
+ {
999
+ "type": "icon",
1000
+ "name": "alert-triangle",
1001
+ "color": "destructive"
1002
+ },
1003
+ {
1004
+ "content": "Failed to load task",
1005
+ "variant": "h3",
1006
+ "type": "typography"
1007
+ },
1008
+ {
1009
+ "type": "typography",
1010
+ "variant": "body",
1011
+ "content": "@payload.error",
1012
+ "color": "muted"
1013
+ },
1014
+ {
1015
+ "icon": "rotate-ccw",
1016
+ "variant": "primary",
1017
+ "type": "button",
1018
+ "action": "INIT",
1019
+ "label": "Retry"
1020
+ }
1021
+ ]
1022
+ }
1023
+ ]
1024
+ ]
1025
+ }
1026
+ ]
1027
+ },
1028
+ "scope": "collection"
1029
+ },
1030
+ {
1031
+ "name": "TaskCreate",
1032
+ "category": "interaction",
1033
+ "linkedEntity": "Task",
1034
+ "emits": [
1035
+ {
1036
+ "event": "TASK_CREATED",
1037
+ "scope": "external",
1038
+ "payloadSchema": [
1039
+ {
1040
+ "name": "id",
1041
+ "type": "string"
1042
+ }
1043
+ ]
1044
+ },
914
1045
  {
915
1046
  "event": "TaskLoadFailed",
916
1047
  "description": "Fired when Task fails to load",
@@ -1096,11 +1227,11 @@
1096
1227
  "render-ui",
1097
1228
  "modal",
1098
1229
  {
1099
- "direction": "vertical",
1100
1230
  "children": [
1101
1231
  {
1102
- "type": "stack",
1103
1232
  "gap": "sm",
1233
+ "type": "stack",
1234
+ "direction": "horizontal",
1104
1235
  "children": [
1105
1236
  {
1106
1237
  "type": "icon",
@@ -1111,16 +1242,16 @@
1111
1242
  "variant": "h3",
1112
1243
  "type": "typography"
1113
1244
  }
1114
- ],
1115
- "direction": "horizontal"
1245
+ ]
1116
1246
  },
1117
1247
  {
1118
1248
  "type": "divider"
1119
1249
  },
1120
1250
  {
1121
- "submitEvent": "SAVE",
1122
- "type": "form-section",
1251
+ "cancelEvent": "CLOSE",
1123
1252
  "mode": "create",
1253
+ "type": "form-section",
1254
+ "submitEvent": "SAVE",
1124
1255
  "fields": [
1125
1256
  "title",
1126
1257
  "description",
@@ -1129,12 +1260,12 @@
1129
1260
  "status",
1130
1261
  "storyPoints",
1131
1262
  "dueDate"
1132
- ],
1133
- "cancelEvent": "CLOSE"
1263
+ ]
1134
1264
  }
1135
1265
  ],
1136
- "type": "stack",
1137
- "gap": "md"
1266
+ "direction": "vertical",
1267
+ "gap": "md",
1268
+ "type": "stack"
1138
1269
  }
1139
1270
  ]
1140
1271
  ]
@@ -1175,8 +1306,8 @@
1175
1306
  "@payload.data",
1176
1307
  {
1177
1308
  "emit": {
1178
- "failure": "TaskSaveFailed",
1179
- "success": "TaskSaved"
1309
+ "success": "TaskSaved",
1310
+ "failure": "TaskSaveFailed"
1180
1311
  }
1181
1312
  }
1182
1313
  ],
@@ -1411,45 +1542,42 @@
1411
1542
  "fetch",
1412
1543
  "Task",
1413
1544
  {
1414
- "id": "@payload.id",
1415
1545
  "emit": {
1416
- "success": "TaskLoaded",
1417
- "failure": "TaskLoadFailed"
1418
- }
1546
+ "failure": "TaskLoadFailed",
1547
+ "success": "TaskLoaded"
1548
+ },
1549
+ "id": "@payload.id"
1419
1550
  }
1420
1551
  ],
1421
1552
  [
1422
1553
  "render-ui",
1423
1554
  "modal",
1424
1555
  {
1425
- "gap": "md",
1426
- "type": "stack",
1427
1556
  "direction": "vertical",
1557
+ "type": "stack",
1558
+ "gap": "md",
1428
1559
  "children": [
1429
1560
  {
1561
+ "type": "stack",
1562
+ "direction": "horizontal",
1430
1563
  "children": [
1431
1564
  {
1432
1565
  "type": "icon",
1433
1566
  "name": "edit"
1434
1567
  },
1435
1568
  {
1569
+ "type": "typography",
1436
1570
  "content": "Edit Task",
1437
- "variant": "h3",
1438
- "type": "typography"
1571
+ "variant": "h3"
1439
1572
  }
1440
1573
  ],
1441
- "gap": "sm",
1442
- "type": "stack",
1443
- "direction": "horizontal"
1574
+ "gap": "sm"
1444
1575
  },
1445
1576
  {
1446
1577
  "type": "divider"
1447
1578
  },
1448
1579
  {
1449
- "mode": "edit",
1450
- "type": "form-section",
1451
1580
  "submitEvent": "SAVE",
1452
- "cancelEvent": "CLOSE",
1453
1581
  "fields": [
1454
1582
  "title",
1455
1583
  "description",
@@ -1459,7 +1587,10 @@
1459
1587
  "storyPoints",
1460
1588
  "dueDate"
1461
1589
  ],
1462
- "entity": "@payload.row"
1590
+ "cancelEvent": "CLOSE",
1591
+ "entity": "@payload.row",
1592
+ "mode": "edit",
1593
+ "type": "form-section"
1463
1594
  }
1464
1595
  ]
1465
1596
  }
@@ -1502,8 +1633,8 @@
1502
1633
  "@payload.data",
1503
1634
  {
1504
1635
  "emit": {
1505
- "success": "TaskUpdated",
1506
- "failure": "TaskUpdateFailed"
1636
+ "failure": "TaskUpdateFailed",
1637
+ "success": "TaskUpdated"
1507
1638
  }
1508
1639
  }
1509
1640
  ],
@@ -1696,8 +1827,8 @@
1696
1827
  "Task",
1697
1828
  {
1698
1829
  "emit": {
1699
- "failure": "TaskLoadFailed",
1700
- "success": "TaskLoaded"
1830
+ "success": "TaskLoaded",
1831
+ "failure": "TaskLoadFailed"
1701
1832
  }
1702
1833
  }
1703
1834
  ]
@@ -1714,8 +1845,8 @@
1714
1845
  {
1715
1846
  "id": "@payload.id",
1716
1847
  "emit": {
1717
- "failure": "TaskLoadFailed",
1718
- "success": "TaskLoaded"
1848
+ "success": "TaskLoaded",
1849
+ "failure": "TaskLoadFailed"
1719
1850
  }
1720
1851
  }
1721
1852
  ],
@@ -1726,20 +1857,20 @@
1726
1857
  "children": [
1727
1858
  {
1728
1859
  "type": "stack",
1729
- "direction": "horizontal",
1730
1860
  "gap": "sm",
1731
- "align": "center",
1732
1861
  "children": [
1733
1862
  {
1734
1863
  "name": "eye",
1735
1864
  "type": "icon"
1736
1865
  },
1737
1866
  {
1738
- "content": "@entity.title",
1739
1867
  "variant": "h3",
1740
- "type": "typography"
1868
+ "type": "typography",
1869
+ "content": "@entity.title"
1741
1870
  }
1742
- ]
1871
+ ],
1872
+ "align": "center",
1873
+ "direction": "horizontal"
1743
1874
  },
1744
1875
  {
1745
1876
  "type": "divider"
@@ -1753,21 +1884,22 @@
1753
1884
  },
1754
1885
  {
1755
1886
  "type": "typography",
1756
- "variant": "body",
1757
- "content": "@entity.title"
1887
+ "content": "@entity.title",
1888
+ "variant": "body"
1758
1889
  }
1759
1890
  ],
1760
- "gap": "md",
1761
1891
  "direction": "horizontal",
1762
- "type": "stack"
1892
+ "type": "stack",
1893
+ "gap": "md"
1763
1894
  },
1764
1895
  {
1765
- "direction": "horizontal",
1896
+ "gap": "md",
1897
+ "type": "stack",
1766
1898
  "children": [
1767
1899
  {
1768
1900
  "content": "Description",
1769
- "variant": "caption",
1770
- "type": "typography"
1901
+ "type": "typography",
1902
+ "variant": "caption"
1771
1903
  },
1772
1904
  {
1773
1905
  "variant": "body",
@@ -1775,54 +1907,53 @@
1775
1907
  "content": "@entity.description"
1776
1908
  }
1777
1909
  ],
1778
- "gap": "md",
1779
- "type": "stack"
1910
+ "direction": "horizontal"
1780
1911
  },
1781
1912
  {
1782
- "gap": "md",
1913
+ "type": "stack",
1783
1914
  "children": [
1784
1915
  {
1916
+ "content": "Assignee",
1785
1917
  "type": "typography",
1786
- "variant": "caption",
1787
- "content": "Assignee"
1918
+ "variant": "caption"
1788
1919
  },
1789
1920
  {
1790
1921
  "content": "@entity.assignee",
1791
- "type": "typography",
1792
- "variant": "body"
1922
+ "variant": "body",
1923
+ "type": "typography"
1793
1924
  }
1794
1925
  ],
1795
- "type": "stack",
1926
+ "gap": "md",
1796
1927
  "direction": "horizontal"
1797
1928
  },
1798
1929
  {
1799
1930
  "direction": "horizontal",
1800
- "gap": "md",
1801
- "type": "stack",
1802
1931
  "children": [
1803
1932
  {
1804
- "content": "Priority",
1805
1933
  "type": "typography",
1806
- "variant": "caption"
1934
+ "variant": "caption",
1935
+ "content": "Priority"
1807
1936
  },
1808
1937
  {
1809
- "type": "typography",
1810
1938
  "variant": "body",
1811
- "content": "@entity.priority"
1939
+ "content": "@entity.priority",
1940
+ "type": "typography"
1812
1941
  }
1813
- ]
1942
+ ],
1943
+ "type": "stack",
1944
+ "gap": "md"
1814
1945
  },
1815
1946
  {
1816
1947
  "children": [
1817
1948
  {
1818
- "type": "typography",
1819
1949
  "content": "Status",
1950
+ "type": "typography",
1820
1951
  "variant": "caption"
1821
1952
  },
1822
1953
  {
1954
+ "content": "@entity.status",
1823
1955
  "variant": "body",
1824
- "type": "typography",
1825
- "content": "@entity.status"
1956
+ "type": "typography"
1826
1957
  }
1827
1958
  ],
1828
1959
  "direction": "horizontal",
@@ -1830,8 +1961,6 @@
1830
1961
  "type": "stack"
1831
1962
  },
1832
1963
  {
1833
- "direction": "horizontal",
1834
- "gap": "md",
1835
1964
  "type": "stack",
1836
1965
  "children": [
1837
1966
  {
@@ -1840,57 +1969,59 @@
1840
1969
  "content": "Story Points"
1841
1970
  },
1842
1971
  {
1843
- "content": "@entity.storyPoints",
1972
+ "variant": "body",
1844
1973
  "type": "typography",
1845
- "variant": "body"
1974
+ "content": "@entity.storyPoints"
1846
1975
  }
1847
- ]
1976
+ ],
1977
+ "direction": "horizontal",
1978
+ "gap": "md"
1848
1979
  },
1849
1980
  {
1850
- "gap": "md",
1851
1981
  "direction": "horizontal",
1982
+ "type": "stack",
1852
1983
  "children": [
1853
1984
  {
1854
- "type": "typography",
1855
1985
  "variant": "caption",
1986
+ "type": "typography",
1856
1987
  "content": "Due Date"
1857
1988
  },
1858
1989
  {
1990
+ "type": "typography",
1859
1991
  "variant": "body",
1860
- "content": "@entity.dueDate",
1861
- "type": "typography"
1992
+ "content": "@entity.dueDate"
1862
1993
  }
1863
1994
  ],
1864
- "type": "stack"
1995
+ "gap": "md"
1865
1996
  },
1866
1997
  {
1867
1998
  "type": "divider"
1868
1999
  },
1869
2000
  {
2001
+ "justify": "end",
1870
2002
  "children": [
1871
2003
  {
1872
2004
  "type": "button",
1873
2005
  "action": "EDIT",
1874
2006
  "variant": "primary",
1875
- "icon": "edit",
1876
- "label": "Edit"
2007
+ "label": "Edit",
2008
+ "icon": "edit"
1877
2009
  },
1878
2010
  {
1879
2011
  "action": "CLOSE",
2012
+ "label": "Close",
1880
2013
  "type": "button",
1881
- "variant": "ghost",
1882
- "label": "Close"
2014
+ "variant": "ghost"
1883
2015
  }
1884
2016
  ],
1885
- "justify": "end",
1886
- "direction": "horizontal",
1887
2017
  "type": "stack",
2018
+ "direction": "horizontal",
1888
2019
  "gap": "sm"
1889
2020
  }
1890
2021
  ],
1891
2022
  "type": "stack",
1892
- "gap": "md",
1893
- "direction": "vertical"
2023
+ "direction": "vertical",
2024
+ "gap": "md"
1894
2025
  }
1895
2026
  ]
1896
2027
  ]
@@ -2120,8 +2251,8 @@
2120
2251
  "Task",
2121
2252
  {
2122
2253
  "emit": {
2123
- "failure": "TaskLoadFailed",
2124
- "success": "TaskLoaded"
2254
+ "success": "TaskLoaded",
2255
+ "failure": "TaskLoadFailed"
2125
2256
  }
2126
2257
  }
2127
2258
  ]
@@ -2141,24 +2272,22 @@
2141
2272
  "fetch",
2142
2273
  "Task",
2143
2274
  {
2144
- "id": "@payload.id",
2145
2275
  "emit": {
2146
- "success": "TaskLoaded",
2147
- "failure": "TaskLoadFailed"
2148
- }
2276
+ "failure": "TaskLoadFailed",
2277
+ "success": "TaskLoaded"
2278
+ },
2279
+ "id": "@payload.id"
2149
2280
  }
2150
2281
  ],
2151
2282
  [
2152
2283
  "render-ui",
2153
2284
  "modal",
2154
2285
  {
2155
- "type": "stack",
2286
+ "direction": "vertical",
2156
2287
  "gap": "md",
2288
+ "type": "stack",
2157
2289
  "children": [
2158
2290
  {
2159
- "type": "stack",
2160
- "gap": "sm",
2161
- "direction": "horizontal",
2162
2291
  "align": "center",
2163
2292
  "children": [
2164
2293
  {
@@ -2166,43 +2295,45 @@
2166
2295
  "name": "alert-triangle"
2167
2296
  },
2168
2297
  {
2169
- "content": "Delete Task",
2298
+ "variant": "h3",
2170
2299
  "type": "typography",
2171
- "variant": "h3"
2300
+ "content": "Delete Task"
2172
2301
  }
2173
- ]
2302
+ ],
2303
+ "direction": "horizontal",
2304
+ "type": "stack",
2305
+ "gap": "sm"
2174
2306
  },
2175
2307
  {
2176
2308
  "type": "divider"
2177
2309
  },
2178
2310
  {
2311
+ "variant": "error",
2179
2312
  "message": "This action cannot be undone.",
2180
- "type": "alert",
2181
- "variant": "error"
2313
+ "type": "alert"
2182
2314
  },
2183
2315
  {
2184
2316
  "type": "stack",
2185
2317
  "gap": "sm",
2186
- "justify": "end",
2187
- "direction": "horizontal",
2188
2318
  "children": [
2189
2319
  {
2190
- "action": "CANCEL",
2191
- "variant": "ghost",
2192
2320
  "type": "button",
2193
- "label": "Cancel"
2321
+ "label": "Cancel",
2322
+ "action": "CANCEL",
2323
+ "variant": "ghost"
2194
2324
  },
2195
2325
  {
2196
- "variant": "danger",
2326
+ "label": "Delete",
2197
2327
  "icon": "check",
2198
2328
  "type": "button",
2199
- "label": "Delete",
2200
- "action": "CONFIRM_DELETE"
2329
+ "action": "CONFIRM_DELETE",
2330
+ "variant": "danger"
2201
2331
  }
2202
- ]
2332
+ ],
2333
+ "direction": "horizontal",
2334
+ "justify": "end"
2203
2335
  }
2204
- ],
2205
- "direction": "vertical"
2336
+ ]
2206
2337
  }
2207
2338
  ]
2208
2339
  ]
@@ -2241,8 +2372,8 @@
2241
2372
  "Task",
2242
2373
  {
2243
2374
  "emit": {
2244
- "failure": "TaskLoadFailed",
2245
- "success": "TaskLoaded"
2375
+ "success": "TaskLoaded",
2376
+ "failure": "TaskLoadFailed"
2246
2377
  }
2247
2378
  }
2248
2379
  ],
@@ -2320,6 +2451,9 @@
2320
2451
  "name": "TasksPage",
2321
2452
  "path": "/tasks",
2322
2453
  "traits": [
2454
+ {
2455
+ "ref": "TaskAppLayout"
2456
+ },
2323
2457
  {
2324
2458
  "ref": "TaskBrowse"
2325
2459
  },
@@ -2684,8 +2818,8 @@
2684
2818
  "Sprint",
2685
2819
  {
2686
2820
  "emit": {
2687
- "success": "SprintLoaded",
2688
- "failure": "SprintLoadFailed"
2821
+ "failure": "SprintLoadFailed",
2822
+ "success": "SprintLoaded"
2689
2823
  }
2690
2824
  }
2691
2825
  ],
@@ -2693,22 +2827,22 @@
2693
2827
  "render-ui",
2694
2828
  "main",
2695
2829
  {
2696
- "align": "center",
2697
- "className": "py-12",
2830
+ "direction": "vertical",
2698
2831
  "children": [
2699
2832
  {
2700
2833
  "type": "spinner"
2701
2834
  },
2702
2835
  {
2703
- "variant": "caption",
2704
2836
  "content": "Loading…",
2705
2837
  "type": "typography",
2706
- "color": "muted"
2838
+ "color": "muted",
2839
+ "variant": "caption"
2707
2840
  }
2708
2841
  ],
2709
2842
  "gap": "md",
2710
- "direction": "vertical",
2711
- "type": "stack"
2843
+ "className": "py-12",
2844
+ "type": "stack",
2845
+ "align": "center"
2712
2846
  }
2713
2847
  ]
2714
2848
  ]
@@ -2734,69 +2868,83 @@
2734
2868
  "icon": "zap"
2735
2869
  },
2736
2870
  {
2871
+ "label": "Burndown",
2737
2872
  "href": "/burndown",
2738
- "icon": "layout-list",
2739
- "label": "Burndown"
2873
+ "icon": "layout-list"
2740
2874
  }
2741
2875
  ],
2742
- "appName": "ProjectManagerApp",
2743
2876
  "children": [
2744
2877
  {
2745
2878
  "className": "max-w-5xl mx-auto w-full",
2746
- "gap": "lg",
2747
- "direction": "vertical",
2748
2879
  "children": [
2749
2880
  {
2750
- "justify": "between",
2751
- "gap": "md",
2752
- "type": "stack",
2753
- "direction": "horizontal",
2754
2881
  "align": "center",
2755
2882
  "children": [
2756
2883
  {
2757
- "align": "center",
2758
- "direction": "horizontal",
2759
- "type": "stack",
2760
- "gap": "sm",
2761
2884
  "children": [
2762
2885
  {
2763
- "name": "zap",
2764
- "type": "icon"
2886
+ "type": "icon",
2887
+ "name": "zap"
2765
2888
  },
2766
2889
  {
2767
2890
  "type": "typography",
2768
- "content": "Sprints",
2769
- "variant": "h2"
2891
+ "variant": "h2",
2892
+ "content": "Sprints"
2770
2893
  }
2771
- ]
2894
+ ],
2895
+ "type": "stack",
2896
+ "gap": "sm",
2897
+ "direction": "horizontal",
2898
+ "align": "center"
2772
2899
  },
2773
2900
  {
2774
- "direction": "horizontal",
2775
- "gap": "sm",
2776
- "type": "stack",
2777
2901
  "children": [
2778
2902
  {
2779
2903
  "type": "button",
2780
- "variant": "primary",
2781
- "icon": "plus",
2904
+ "action": "CREATE",
2782
2905
  "label": "Create Sprint",
2783
- "action": "CREATE"
2906
+ "variant": "primary",
2907
+ "icon": "plus"
2784
2908
  }
2785
- ]
2909
+ ],
2910
+ "direction": "horizontal",
2911
+ "type": "stack",
2912
+ "gap": "sm"
2786
2913
  }
2787
- ]
2914
+ ],
2915
+ "gap": "md",
2916
+ "direction": "horizontal",
2917
+ "justify": "between",
2918
+ "type": "stack"
2788
2919
  },
2789
2920
  {
2790
2921
  "type": "divider"
2791
2922
  },
2792
2923
  {
2793
2924
  "type": "data-grid",
2794
- "gap": "md",
2925
+ "entity": "@payload.data",
2926
+ "itemActions": [
2927
+ {
2928
+ "label": "View",
2929
+ "event": "VIEW",
2930
+ "variant": "ghost"
2931
+ },
2932
+ {
2933
+ "variant": "ghost",
2934
+ "label": "Edit",
2935
+ "event": "EDIT"
2936
+ },
2937
+ {
2938
+ "variant": "danger",
2939
+ "label": "Delete",
2940
+ "event": "DELETE"
2941
+ }
2942
+ ],
2795
2943
  "fields": [
2796
2944
  {
2797
- "icon": "zap",
2798
2945
  "name": "name",
2799
- "variant": "h3"
2946
+ "variant": "h3",
2947
+ "icon": "zap"
2800
2948
  },
2801
2949
  {
2802
2950
  "name": "status",
@@ -2807,49 +2955,35 @@
2807
2955
  "name": "goal"
2808
2956
  },
2809
2957
  {
2810
- "label": "Start",
2811
- "variant": "caption",
2958
+ "format": "date",
2812
2959
  "name": "startDate",
2813
- "format": "date"
2960
+ "variant": "caption",
2961
+ "label": "Start"
2814
2962
  },
2815
2963
  {
2816
2964
  "name": "endDate",
2817
- "label": "End",
2818
2965
  "variant": "caption",
2966
+ "label": "End",
2819
2967
  "format": "date"
2820
2968
  },
2821
2969
  {
2822
- "variant": "body",
2823
2970
  "label": "Tasks",
2971
+ "variant": "body",
2824
2972
  "name": "taskCount",
2825
2973
  "format": "number"
2826
2974
  }
2827
2975
  ],
2828
- "entity": "@payload.data",
2829
- "itemActions": [
2830
- {
2831
- "label": "View",
2832
- "event": "VIEW",
2833
- "variant": "ghost"
2834
- },
2835
- {
2836
- "label": "Edit",
2837
- "event": "EDIT",
2838
- "variant": "ghost"
2839
- },
2840
- {
2841
- "label": "Delete",
2842
- "event": "DELETE",
2843
- "variant": "danger"
2844
- }
2845
- ],
2976
+ "gap": "md",
2846
2977
  "cols": 2.0
2847
2978
  }
2848
2979
  ],
2849
- "type": "stack"
2980
+ "gap": "lg",
2981
+ "type": "stack",
2982
+ "direction": "vertical"
2850
2983
  }
2851
2984
  ],
2852
- "type": "dashboard-layout"
2985
+ "type": "dashboard-layout",
2986
+ "appName": "ProjectManagerApp"
2853
2987
  }
2854
2988
  ]
2855
2989
  ]
@@ -2863,36 +2997,36 @@
2863
2997
  "render-ui",
2864
2998
  "main",
2865
2999
  {
2866
- "align": "center",
2867
- "gap": "md",
2868
- "className": "py-12",
2869
- "type": "stack",
2870
3000
  "direction": "vertical",
3001
+ "gap": "md",
2871
3002
  "children": [
2872
3003
  {
2873
- "type": "icon",
2874
3004
  "name": "alert-triangle",
2875
- "color": "destructive"
3005
+ "color": "destructive",
3006
+ "type": "icon"
2876
3007
  },
2877
3008
  {
2878
- "variant": "h3",
2879
3009
  "content": "Failed to load sprint",
2880
- "type": "typography"
3010
+ "type": "typography",
3011
+ "variant": "h3"
2881
3012
  },
2882
3013
  {
2883
3014
  "type": "typography",
2884
- "variant": "body",
2885
3015
  "color": "muted",
2886
- "content": "@payload.error"
3016
+ "content": "@payload.error",
3017
+ "variant": "body"
2887
3018
  },
2888
3019
  {
2889
- "icon": "rotate-ccw",
2890
- "type": "button",
2891
- "action": "INIT",
3020
+ "variant": "primary",
2892
3021
  "label": "Retry",
2893
- "variant": "primary"
3022
+ "type": "button",
3023
+ "icon": "rotate-ccw",
3024
+ "action": "INIT"
2894
3025
  }
2895
- ]
3026
+ ],
3027
+ "align": "center",
3028
+ "type": "stack",
3029
+ "className": "py-12"
2896
3030
  }
2897
3031
  ]
2898
3032
  ]
@@ -3084,8 +3218,8 @@
3084
3218
  "Sprint",
3085
3219
  {
3086
3220
  "emit": {
3087
- "failure": "SprintLoadFailed",
3088
- "success": "SprintLoaded"
3221
+ "success": "SprintLoaded",
3222
+ "failure": "SprintLoadFailed"
3089
3223
  }
3090
3224
  }
3091
3225
  ],
@@ -3093,29 +3227,31 @@
3093
3227
  "render-ui",
3094
3228
  "modal",
3095
3229
  {
3096
- "direction": "vertical",
3097
- "type": "stack",
3098
3230
  "children": [
3099
3231
  {
3100
- "gap": "sm",
3101
3232
  "children": [
3102
3233
  {
3103
- "name": "plus-circle",
3104
- "type": "icon"
3234
+ "type": "icon",
3235
+ "name": "plus-circle"
3105
3236
  },
3106
3237
  {
3107
- "content": "Create Sprint",
3238
+ "type": "typography",
3108
3239
  "variant": "h3",
3109
- "type": "typography"
3240
+ "content": "Create Sprint"
3110
3241
  }
3111
3242
  ],
3112
3243
  "type": "stack",
3113
- "direction": "horizontal"
3244
+ "direction": "horizontal",
3245
+ "gap": "sm"
3114
3246
  },
3115
3247
  {
3116
3248
  "type": "divider"
3117
3249
  },
3118
3250
  {
3251
+ "mode": "create",
3252
+ "type": "form-section",
3253
+ "submitEvent": "SAVE",
3254
+ "cancelEvent": "CLOSE",
3119
3255
  "fields": [
3120
3256
  "name",
3121
3257
  "startDate",
@@ -3123,13 +3259,11 @@
3123
3259
  "goal",
3124
3260
  "status",
3125
3261
  "taskCount"
3126
- ],
3127
- "mode": "create",
3128
- "submitEvent": "SAVE",
3129
- "type": "form-section",
3130
- "cancelEvent": "CLOSE"
3262
+ ]
3131
3263
  }
3132
3264
  ],
3265
+ "direction": "vertical",
3266
+ "type": "stack",
3133
3267
  "gap": "md"
3134
3268
  }
3135
3269
  ]
@@ -3411,9 +3545,10 @@
3411
3545
  {
3412
3546
  "direction": "vertical",
3413
3547
  "gap": "md",
3414
- "type": "stack",
3415
3548
  "children": [
3416
3549
  {
3550
+ "type": "stack",
3551
+ "gap": "sm",
3417
3552
  "direction": "horizontal",
3418
3553
  "children": [
3419
3554
  {
@@ -3425,16 +3560,13 @@
3425
3560
  "content": "Edit Sprint",
3426
3561
  "variant": "h3"
3427
3562
  }
3428
- ],
3429
- "gap": "sm",
3430
- "type": "stack"
3563
+ ]
3431
3564
  },
3432
3565
  {
3433
3566
  "type": "divider"
3434
3567
  },
3435
3568
  {
3436
3569
  "mode": "edit",
3437
- "cancelEvent": "CLOSE",
3438
3570
  "fields": [
3439
3571
  "name",
3440
3572
  "startDate",
@@ -3443,11 +3575,13 @@
3443
3575
  "status",
3444
3576
  "taskCount"
3445
3577
  ],
3578
+ "cancelEvent": "CLOSE",
3446
3579
  "entity": "@payload.row",
3447
- "submitEvent": "SAVE",
3448
- "type": "form-section"
3580
+ "type": "form-section",
3581
+ "submitEvent": "SAVE"
3449
3582
  }
3450
- ]
3583
+ ],
3584
+ "type": "stack"
3451
3585
  }
3452
3586
  ]
3453
3587
  ]
@@ -3687,8 +3821,8 @@
3687
3821
  {
3688
3822
  "id": "@payload.id",
3689
3823
  "emit": {
3690
- "failure": "SprintLoadFailed",
3691
- "success": "SprintLoaded"
3824
+ "success": "SprintLoaded",
3825
+ "failure": "SprintLoadFailed"
3692
3826
  }
3693
3827
  }
3694
3828
  ],
@@ -3696,98 +3830,100 @@
3696
3830
  "render-ui",
3697
3831
  "modal",
3698
3832
  {
3699
- "gap": "md",
3700
3833
  "direction": "vertical",
3834
+ "type": "stack",
3835
+ "gap": "md",
3701
3836
  "children": [
3702
3837
  {
3838
+ "gap": "sm",
3703
3839
  "direction": "horizontal",
3704
3840
  "children": [
3705
3841
  {
3706
- "type": "icon",
3707
- "name": "eye"
3842
+ "name": "eye",
3843
+ "type": "icon"
3708
3844
  },
3709
3845
  {
3710
- "content": "@entity.name",
3711
3846
  "type": "typography",
3712
- "variant": "h3"
3847
+ "variant": "h3",
3848
+ "content": "@entity.name"
3713
3849
  }
3714
3850
  ],
3715
3851
  "type": "stack",
3716
- "gap": "sm",
3717
3852
  "align": "center"
3718
3853
  },
3719
3854
  {
3720
3855
  "type": "divider"
3721
3856
  },
3722
3857
  {
3858
+ "direction": "horizontal",
3723
3859
  "gap": "md",
3860
+ "type": "stack",
3724
3861
  "children": [
3725
3862
  {
3726
3863
  "type": "typography",
3727
- "content": "Name",
3728
- "variant": "caption"
3864
+ "variant": "caption",
3865
+ "content": "Name"
3729
3866
  },
3730
3867
  {
3731
- "variant": "body",
3732
3868
  "type": "typography",
3869
+ "variant": "body",
3733
3870
  "content": "@entity.name"
3734
3871
  }
3735
- ],
3736
- "type": "stack",
3737
- "direction": "horizontal"
3872
+ ]
3738
3873
  },
3739
3874
  {
3740
- "type": "stack",
3741
3875
  "gap": "md",
3742
3876
  "direction": "horizontal",
3743
3877
  "children": [
3744
3878
  {
3745
- "variant": "caption",
3746
3879
  "type": "typography",
3747
- "content": "Start Date"
3880
+ "content": "Start Date",
3881
+ "variant": "caption"
3748
3882
  },
3749
3883
  {
3884
+ "variant": "body",
3750
3885
  "type": "typography",
3751
- "content": "@entity.startDate",
3752
- "variant": "body"
3886
+ "content": "@entity.startDate"
3753
3887
  }
3754
- ]
3888
+ ],
3889
+ "type": "stack"
3755
3890
  },
3756
3891
  {
3757
- "direction": "horizontal",
3892
+ "type": "stack",
3758
3893
  "gap": "md",
3894
+ "direction": "horizontal",
3759
3895
  "children": [
3760
3896
  {
3897
+ "variant": "caption",
3761
3898
  "content": "End Date",
3762
- "type": "typography",
3763
- "variant": "caption"
3899
+ "type": "typography"
3764
3900
  },
3765
3901
  {
3766
3902
  "variant": "body",
3767
3903
  "content": "@entity.endDate",
3768
3904
  "type": "typography"
3769
3905
  }
3770
- ],
3771
- "type": "stack"
3906
+ ]
3772
3907
  },
3773
3908
  {
3774
- "gap": "md",
3909
+ "direction": "horizontal",
3775
3910
  "type": "stack",
3911
+ "gap": "md",
3776
3912
  "children": [
3777
3913
  {
3778
3914
  "variant": "caption",
3779
- "content": "Goal",
3780
- "type": "typography"
3915
+ "type": "typography",
3916
+ "content": "Goal"
3781
3917
  },
3782
3918
  {
3919
+ "variant": "body",
3783
3920
  "content": "@entity.goal",
3784
- "type": "typography",
3785
- "variant": "body"
3921
+ "type": "typography"
3786
3922
  }
3787
- ],
3788
- "direction": "horizontal"
3923
+ ]
3789
3924
  },
3790
3925
  {
3926
+ "gap": "md",
3791
3927
  "children": [
3792
3928
  {
3793
3929
  "type": "typography",
@@ -3796,20 +3932,19 @@
3796
3932
  },
3797
3933
  {
3798
3934
  "variant": "body",
3799
- "content": "@entity.status",
3800
- "type": "typography"
3935
+ "type": "typography",
3936
+ "content": "@entity.status"
3801
3937
  }
3802
3938
  ],
3803
- "gap": "md",
3804
- "type": "stack",
3805
- "direction": "horizontal"
3939
+ "direction": "horizontal",
3940
+ "type": "stack"
3806
3941
  },
3807
3942
  {
3808
- "direction": "horizontal",
3943
+ "gap": "md",
3809
3944
  "children": [
3810
3945
  {
3811
- "content": "Task Count",
3812
3946
  "type": "typography",
3947
+ "content": "Task Count",
3813
3948
  "variant": "caption"
3814
3949
  },
3815
3950
  {
@@ -3819,34 +3954,33 @@
3819
3954
  }
3820
3955
  ],
3821
3956
  "type": "stack",
3822
- "gap": "md"
3957
+ "direction": "horizontal"
3823
3958
  },
3824
3959
  {
3825
3960
  "type": "divider"
3826
3961
  },
3827
3962
  {
3828
- "direction": "horizontal",
3829
- "gap": "sm",
3830
- "type": "stack",
3831
3963
  "children": [
3832
3964
  {
3833
- "label": "Edit",
3834
3965
  "icon": "edit",
3966
+ "action": "EDIT",
3835
3967
  "variant": "primary",
3836
- "type": "button",
3837
- "action": "EDIT"
3968
+ "label": "Edit",
3969
+ "type": "button"
3838
3970
  },
3839
3971
  {
3840
3972
  "action": "CLOSE",
3841
- "variant": "ghost",
3973
+ "label": "Close",
3842
3974
  "type": "button",
3843
- "label": "Close"
3975
+ "variant": "ghost"
3844
3976
  }
3845
3977
  ],
3978
+ "gap": "sm",
3979
+ "type": "stack",
3980
+ "direction": "horizontal",
3846
3981
  "justify": "end"
3847
3982
  }
3848
- ],
3849
- "type": "stack"
3983
+ ]
3850
3984
  }
3851
3985
  ]
3852
3986
  ]
@@ -4068,8 +4202,8 @@
4068
4202
  "Sprint",
4069
4203
  {
4070
4204
  "emit": {
4071
- "failure": "SprintLoadFailed",
4072
- "success": "SprintLoaded"
4205
+ "success": "SprintLoaded",
4206
+ "failure": "SprintLoadFailed"
4073
4207
  }
4074
4208
  }
4075
4209
  ]
@@ -4090,8 +4224,8 @@
4090
4224
  "Sprint",
4091
4225
  {
4092
4226
  "emit": {
4093
- "success": "SprintLoaded",
4094
- "failure": "SprintLoadFailed"
4227
+ "failure": "SprintLoadFailed",
4228
+ "success": "SprintLoaded"
4095
4229
  },
4096
4230
  "id": "@payload.id"
4097
4231
  }
@@ -4105,50 +4239,50 @@
4105
4239
  "direction": "vertical",
4106
4240
  "children": [
4107
4241
  {
4108
- "gap": "sm",
4109
4242
  "direction": "horizontal",
4243
+ "type": "stack",
4244
+ "gap": "sm",
4245
+ "align": "center",
4110
4246
  "children": [
4111
4247
  {
4112
- "type": "icon",
4113
- "name": "alert-triangle"
4248
+ "name": "alert-triangle",
4249
+ "type": "icon"
4114
4250
  },
4115
4251
  {
4116
4252
  "type": "typography",
4117
4253
  "content": "Delete Sprint",
4118
4254
  "variant": "h3"
4119
4255
  }
4120
- ],
4121
- "type": "stack",
4122
- "align": "center"
4256
+ ]
4123
4257
  },
4124
4258
  {
4125
4259
  "type": "divider"
4126
4260
  },
4127
4261
  {
4128
- "type": "alert",
4129
4262
  "variant": "error",
4263
+ "type": "alert",
4130
4264
  "message": "This action cannot be undone."
4131
4265
  },
4132
4266
  {
4133
4267
  "direction": "horizontal",
4134
- "justify": "end",
4135
- "type": "stack",
4136
- "gap": "sm",
4137
4268
  "children": [
4138
4269
  {
4139
- "type": "button",
4140
4270
  "variant": "ghost",
4271
+ "type": "button",
4141
4272
  "label": "Cancel",
4142
4273
  "action": "CANCEL"
4143
4274
  },
4144
4275
  {
4145
4276
  "type": "button",
4146
- "label": "Delete",
4147
4277
  "action": "CONFIRM_DELETE",
4278
+ "label": "Delete",
4148
4279
  "variant": "danger",
4149
4280
  "icon": "check"
4150
4281
  }
4151
- ]
4282
+ ],
4283
+ "justify": "end",
4284
+ "gap": "sm",
4285
+ "type": "stack"
4152
4286
  }
4153
4287
  ]
4154
4288
  }
@@ -4167,8 +4301,8 @@
4167
4301
  "@entity.pendingId",
4168
4302
  {
4169
4303
  "emit": {
4170
- "failure": "SprintDeleteFailed",
4171
- "success": "SprintDeleted"
4304
+ "success": "SprintDeleted",
4305
+ "failure": "SprintDeleteFailed"
4172
4306
  }
4173
4307
  }
4174
4308
  ],
@@ -4189,8 +4323,8 @@
4189
4323
  "Sprint",
4190
4324
  {
4191
4325
  "emit": {
4192
- "failure": "SprintLoadFailed",
4193
- "success": "SprintLoaded"
4326
+ "success": "SprintLoaded",
4327
+ "failure": "SprintLoadFailed"
4194
4328
  }
4195
4329
  }
4196
4330
  ],
@@ -4222,8 +4356,8 @@
4222
4356
  "Sprint",
4223
4357
  {
4224
4358
  "emit": {
4225
- "failure": "SprintLoadFailed",
4226
- "success": "SprintLoaded"
4359
+ "success": "SprintLoaded",
4360
+ "failure": "SprintLoadFailed"
4227
4361
  }
4228
4362
  }
4229
4363
  ]
@@ -4251,8 +4385,8 @@
4251
4385
  "Sprint",
4252
4386
  {
4253
4387
  "emit": {
4254
- "success": "SprintLoaded",
4255
- "failure": "SprintLoadFailed"
4388
+ "failure": "SprintLoadFailed",
4389
+ "success": "SprintLoaded"
4256
4390
  }
4257
4391
  }
4258
4392
  ]
@@ -4455,8 +4589,8 @@
4455
4589
  "Burndown",
4456
4590
  {
4457
4591
  "emit": {
4458
- "success": "BurndownLoaded",
4459
- "failure": "BurndownLoadFailed"
4592
+ "failure": "BurndownLoadFailed",
4593
+ "success": "BurndownLoaded"
4460
4594
  }
4461
4595
  }
4462
4596
  ],
@@ -4464,84 +4598,103 @@
4464
4598
  "render-ui",
4465
4599
  "main",
4466
4600
  {
4601
+ "appName": "ProjectManagerApp",
4602
+ "navItems": [
4603
+ {
4604
+ "label": "Tasks",
4605
+ "icon": "check-square",
4606
+ "href": "/tasks"
4607
+ },
4608
+ {
4609
+ "href": "/sprints",
4610
+ "icon": "zap",
4611
+ "label": "Sprints"
4612
+ },
4613
+ {
4614
+ "icon": "layout-list",
4615
+ "label": "Burndown",
4616
+ "href": "/burndown"
4617
+ }
4618
+ ],
4619
+ "type": "dashboard-layout",
4467
4620
  "children": [
4468
4621
  {
4622
+ "type": "scaled-diagram",
4469
4623
  "children": [
4470
4624
  {
4471
- "type": "stack",
4472
4625
  "direction": "vertical",
4473
4626
  "children": [
4474
4627
  {
4475
- "type": "breadcrumb",
4476
4628
  "items": [
4477
4629
  {
4478
- "href": "/",
4479
- "label": "Home"
4630
+ "label": "Home",
4631
+ "href": "/"
4480
4632
  },
4481
4633
  {
4482
4634
  "label": "Burndown Chart"
4483
4635
  }
4484
- ]
4636
+ ],
4637
+ "type": "breadcrumb"
4485
4638
  },
4486
4639
  {
4487
- "direction": "horizontal",
4488
4640
  "gap": "md",
4489
4641
  "justify": "between",
4642
+ "direction": "horizontal",
4643
+ "type": "stack",
4490
4644
  "children": [
4491
4645
  {
4492
- "direction": "horizontal",
4493
- "gap": "md",
4494
4646
  "children": [
4495
4647
  {
4496
4648
  "name": "trending-down",
4497
4649
  "type": "icon"
4498
4650
  },
4499
4651
  {
4500
- "type": "typography",
4652
+ "content": "Burndown Chart",
4501
4653
  "variant": "h2",
4502
- "content": "Burndown Chart"
4654
+ "type": "typography"
4503
4655
  }
4504
4656
  ],
4505
- "type": "stack"
4657
+ "type": "stack",
4658
+ "direction": "horizontal",
4659
+ "gap": "md"
4506
4660
  },
4507
4661
  {
4508
- "icon": "refresh-cw",
4509
4662
  "variant": "secondary",
4663
+ "action": "REFRESH",
4510
4664
  "type": "button",
4511
4665
  "label": "Refresh",
4512
- "action": "REFRESH"
4666
+ "icon": "refresh-cw"
4513
4667
  }
4514
- ],
4515
- "type": "stack"
4668
+ ]
4516
4669
  },
4517
4670
  {
4518
4671
  "type": "divider"
4519
4672
  },
4520
4673
  {
4674
+ "type": "box",
4521
4675
  "padding": "md",
4522
4676
  "children": [
4523
4677
  {
4524
- "cols": 5.0,
4525
4678
  "children": [
4526
4679
  {
4527
4680
  "value": "@entity.totalPoints",
4528
- "label": "TotalPoints",
4529
- "type": "stat-display"
4681
+ "type": "stat-display",
4682
+ "label": "TotalPoints"
4530
4683
  },
4531
4684
  {
4532
4685
  "label": "CompletedPoints",
4533
- "value": "@entity.completedPoints",
4534
- "type": "stat-display"
4686
+ "type": "stat-display",
4687
+ "value": "@entity.completedPoints"
4535
4688
  },
4536
4689
  {
4690
+ "label": "RemainingPoints",
4537
4691
  "value": "@entity.remainingPoints",
4538
- "type": "stat-display",
4539
- "label": "RemainingPoints"
4692
+ "type": "stat-display"
4540
4693
  },
4541
4694
  {
4542
- "type": "stat-display",
4543
4695
  "label": "Velocity",
4544
- "value": "@entity.velocity"
4696
+ "value": "@entity.velocity",
4697
+ "type": "stat-display"
4545
4698
  },
4546
4699
  {
4547
4700
  "type": "stat-display",
@@ -4549,24 +4702,26 @@
4549
4702
  "label": "DaysRemaining"
4550
4703
  }
4551
4704
  ],
4552
- "type": "simple-grid"
4705
+ "type": "simple-grid",
4706
+ "cols": 5.0
4553
4707
  }
4554
- ],
4555
- "type": "box"
4708
+ ]
4556
4709
  },
4557
4710
  {
4558
4711
  "type": "divider"
4559
4712
  },
4560
4713
  {
4561
4714
  "type": "grid",
4715
+ "gap": "md",
4716
+ "cols": 2.0,
4562
4717
  "children": [
4563
4718
  {
4564
4719
  "type": "card",
4565
4720
  "children": [
4566
4721
  {
4567
4722
  "content": "Chart View",
4568
- "type": "typography",
4569
- "variant": "caption"
4723
+ "variant": "caption",
4724
+ "type": "typography"
4570
4725
  }
4571
4726
  ]
4572
4727
  },
@@ -4574,15 +4729,13 @@
4574
4729
  "type": "card",
4575
4730
  "children": [
4576
4731
  {
4577
- "type": "typography",
4578
4732
  "content": "Graph View",
4733
+ "type": "typography",
4579
4734
  "variant": "caption"
4580
4735
  }
4581
4736
  ]
4582
4737
  }
4583
- ],
4584
- "cols": 2.0,
4585
- "gap": "md"
4738
+ ]
4586
4739
  },
4587
4740
  {
4588
4741
  "type": "line-chart",
@@ -4600,8 +4753,8 @@
4600
4753
  "value": 15.0
4601
4754
  },
4602
4755
  {
4603
- "date": "Apr",
4604
- "value": 25.0
4756
+ "value": 25.0,
4757
+ "date": "Apr"
4605
4758
  },
4606
4759
  {
4607
4760
  "date": "May",
@@ -4614,71 +4767,52 @@
4614
4767
  ]
4615
4768
  },
4616
4769
  {
4770
+ "type": "chart-legend",
4617
4771
  "items": [
4618
4772
  {
4619
- "label": "Current",
4620
- "color": "primary"
4773
+ "color": "primary",
4774
+ "label": "Current"
4621
4775
  },
4622
4776
  {
4623
- "label": "Previous",
4624
- "color": "muted"
4777
+ "color": "muted",
4778
+ "label": "Previous"
4625
4779
  }
4626
- ],
4627
- "type": "chart-legend"
4780
+ ]
4628
4781
  },
4629
4782
  {
4630
- "height": 200.0,
4783
+ "type": "graph-view",
4631
4784
  "edges": [
4632
4785
  {
4633
- "target": "b",
4634
- "source": "a"
4786
+ "source": "a",
4787
+ "target": "b"
4635
4788
  },
4636
4789
  {
4637
- "source": "b",
4638
- "target": "c"
4790
+ "target": "c",
4791
+ "source": "b"
4639
4792
  }
4640
4793
  ],
4641
- "type": "graph-view",
4642
4794
  "nodes": [
4643
4795
  {
4644
- "label": "Start",
4645
- "id": "a"
4796
+ "id": "a",
4797
+ "label": "Start"
4646
4798
  },
4647
4799
  {
4648
4800
  "label": "Process",
4649
4801
  "id": "b"
4650
4802
  },
4651
4803
  {
4652
- "id": "c",
4653
- "label": "End"
4804
+ "label": "End",
4805
+ "id": "c"
4654
4806
  }
4655
4807
  ],
4656
- "width": 400.0
4808
+ "width": 400.0,
4809
+ "height": 200.0
4657
4810
  }
4658
4811
  ],
4659
- "gap": "lg"
4812
+ "gap": "lg",
4813
+ "type": "stack"
4660
4814
  }
4661
- ],
4662
- "type": "scaled-diagram"
4663
- }
4664
- ],
4665
- "type": "dashboard-layout",
4666
- "appName": "ProjectManagerApp",
4667
- "navItems": [
4668
- {
4669
- "href": "/tasks",
4670
- "label": "Tasks",
4671
- "icon": "check-square"
4672
- },
4673
- {
4674
- "icon": "zap",
4675
- "href": "/sprints",
4676
- "label": "Sprints"
4677
- },
4678
- {
4679
- "href": "/burndown",
4680
- "icon": "layout-list",
4681
- "label": "Burndown"
4815
+ ]
4682
4816
  }
4683
4817
  ]
4684
4818
  }
@@ -4704,37 +4838,21 @@
4704
4838
  "render-ui",
4705
4839
  "main",
4706
4840
  {
4707
- "type": "dashboard-layout",
4708
- "appName": "ProjectManagerApp",
4709
- "navItems": [
4710
- {
4711
- "href": "/tasks",
4712
- "icon": "check-square",
4713
- "label": "Tasks"
4714
- },
4715
- {
4716
- "label": "Sprints",
4717
- "href": "/sprints",
4718
- "icon": "zap"
4719
- },
4720
- {
4721
- "label": "Burndown",
4722
- "href": "/burndown",
4723
- "icon": "layout-list"
4724
- }
4725
- ],
4726
4841
  "children": [
4727
4842
  {
4728
4843
  "type": "scaled-diagram",
4729
4844
  "children": [
4730
4845
  {
4846
+ "type": "stack",
4847
+ "gap": "lg",
4848
+ "direction": "vertical",
4731
4849
  "children": [
4732
4850
  {
4733
4851
  "type": "breadcrumb",
4734
4852
  "items": [
4735
4853
  {
4736
- "label": "Home",
4737
- "href": "/"
4854
+ "href": "/",
4855
+ "label": "Home"
4738
4856
  },
4739
4857
  {
4740
4858
  "label": "Burndown Chart"
@@ -4745,167 +4863,167 @@
4745
4863
  "type": "stack",
4746
4864
  "direction": "horizontal",
4747
4865
  "justify": "between",
4866
+ "gap": "md",
4748
4867
  "children": [
4749
4868
  {
4750
- "gap": "md",
4751
4869
  "direction": "horizontal",
4752
- "type": "stack",
4870
+ "gap": "md",
4753
4871
  "children": [
4754
4872
  {
4755
- "type": "icon",
4756
- "name": "trending-down"
4873
+ "name": "trending-down",
4874
+ "type": "icon"
4757
4875
  },
4758
4876
  {
4759
- "content": "Burndown Chart",
4760
4877
  "type": "typography",
4761
- "variant": "h2"
4878
+ "variant": "h2",
4879
+ "content": "Burndown Chart"
4762
4880
  }
4763
- ]
4881
+ ],
4882
+ "type": "stack"
4764
4883
  },
4765
4884
  {
4885
+ "icon": "refresh-cw",
4766
4886
  "label": "Refresh",
4767
- "type": "button",
4768
- "action": "REFRESH",
4769
4887
  "variant": "secondary",
4770
- "icon": "refresh-cw"
4888
+ "type": "button",
4889
+ "action": "REFRESH"
4771
4890
  }
4772
- ],
4773
- "gap": "md"
4891
+ ]
4774
4892
  },
4775
4893
  {
4776
4894
  "type": "divider"
4777
4895
  },
4778
4896
  {
4897
+ "padding": "md",
4898
+ "type": "box",
4779
4899
  "children": [
4780
4900
  {
4901
+ "type": "simple-grid",
4781
4902
  "cols": 5.0,
4782
4903
  "children": [
4783
4904
  {
4784
4905
  "label": "TotalPoints",
4785
- "value": "@entity.totalPoints",
4786
- "type": "stat-display"
4906
+ "type": "stat-display",
4907
+ "value": "@entity.totalPoints"
4787
4908
  },
4788
4909
  {
4789
- "type": "stat-display",
4790
4910
  "label": "CompletedPoints",
4791
- "value": "@entity.completedPoints"
4911
+ "value": "@entity.completedPoints",
4912
+ "type": "stat-display"
4792
4913
  },
4793
4914
  {
4794
4915
  "label": "RemainingPoints",
4795
- "type": "stat-display",
4796
- "value": "@entity.remainingPoints"
4916
+ "value": "@entity.remainingPoints",
4917
+ "type": "stat-display"
4797
4918
  },
4798
4919
  {
4799
4920
  "label": "Velocity",
4800
- "type": "stat-display",
4801
- "value": "@entity.velocity"
4921
+ "value": "@entity.velocity",
4922
+ "type": "stat-display"
4802
4923
  },
4803
4924
  {
4804
- "type": "stat-display",
4925
+ "label": "DaysRemaining",
4805
4926
  "value": "@entity.daysRemaining",
4806
- "label": "DaysRemaining"
4927
+ "type": "stat-display"
4807
4928
  }
4808
- ],
4809
- "type": "simple-grid"
4929
+ ]
4810
4930
  }
4811
- ],
4812
- "padding": "md",
4813
- "type": "box"
4931
+ ]
4814
4932
  },
4815
4933
  {
4816
4934
  "type": "divider"
4817
4935
  },
4818
4936
  {
4819
4937
  "gap": "md",
4938
+ "cols": 2.0,
4820
4939
  "type": "grid",
4821
4940
  "children": [
4822
4941
  {
4823
4942
  "type": "card",
4824
4943
  "children": [
4825
4944
  {
4826
- "variant": "caption",
4827
4945
  "type": "typography",
4828
- "content": "Chart View"
4946
+ "content": "Chart View",
4947
+ "variant": "caption"
4829
4948
  }
4830
4949
  ]
4831
4950
  },
4832
4951
  {
4833
- "type": "card",
4834
4952
  "children": [
4835
4953
  {
4954
+ "variant": "caption",
4836
4955
  "content": "Graph View",
4837
- "type": "typography",
4838
- "variant": "caption"
4956
+ "type": "typography"
4839
4957
  }
4840
- ]
4958
+ ],
4959
+ "type": "card"
4841
4960
  }
4842
- ],
4843
- "cols": 2.0
4961
+ ]
4844
4962
  },
4845
4963
  {
4846
- "type": "line-chart",
4847
4964
  "data": [
4848
4965
  {
4849
4966
  "date": "Jan",
4850
4967
  "value": 12.0
4851
4968
  },
4852
4969
  {
4853
- "value": 19.0,
4854
- "date": "Feb"
4970
+ "date": "Feb",
4971
+ "value": 19.0
4855
4972
  },
4856
4973
  {
4857
4974
  "value": 15.0,
4858
4975
  "date": "Mar"
4859
4976
  },
4860
4977
  {
4861
- "date": "Apr",
4862
- "value": 25.0
4978
+ "value": 25.0,
4979
+ "date": "Apr"
4863
4980
  },
4864
4981
  {
4865
- "value": 22.0,
4866
- "date": "May"
4982
+ "date": "May",
4983
+ "value": 22.0
4867
4984
  },
4868
4985
  {
4869
4986
  "date": "Jun",
4870
4987
  "value": 30.0
4871
4988
  }
4872
- ]
4989
+ ],
4990
+ "type": "line-chart"
4873
4991
  },
4874
4992
  {
4875
- "type": "chart-legend",
4876
4993
  "items": [
4877
4994
  {
4878
- "color": "primary",
4879
- "label": "Current"
4995
+ "label": "Current",
4996
+ "color": "primary"
4880
4997
  },
4881
4998
  {
4882
- "label": "Previous",
4883
- "color": "muted"
4999
+ "color": "muted",
5000
+ "label": "Previous"
4884
5001
  }
4885
- ]
5002
+ ],
5003
+ "type": "chart-legend"
4886
5004
  },
4887
5005
  {
4888
- "height": 200.0,
4889
- "width": 400.0,
4890
5006
  "nodes": [
4891
5007
  {
4892
5008
  "id": "a",
4893
5009
  "label": "Start"
4894
5010
  },
4895
5011
  {
4896
- "label": "Process",
4897
- "id": "b"
5012
+ "id": "b",
5013
+ "label": "Process"
4898
5014
  },
4899
5015
  {
4900
- "label": "End",
4901
- "id": "c"
5016
+ "id": "c",
5017
+ "label": "End"
4902
5018
  }
4903
5019
  ],
5020
+ "width": 400.0,
5021
+ "height": 200.0,
4904
5022
  "type": "graph-view",
4905
5023
  "edges": [
4906
5024
  {
4907
- "source": "a",
4908
- "target": "b"
5025
+ "target": "b",
5026
+ "source": "a"
4909
5027
  },
4910
5028
  {
4911
5029
  "source": "b",
@@ -4913,14 +5031,30 @@
4913
5031
  }
4914
5032
  ]
4915
5033
  }
4916
- ],
4917
- "gap": "lg",
4918
- "type": "stack",
4919
- "direction": "vertical"
5034
+ ]
4920
5035
  }
4921
5036
  ]
4922
5037
  }
4923
- ]
5038
+ ],
5039
+ "navItems": [
5040
+ {
5041
+ "href": "/tasks",
5042
+ "label": "Tasks",
5043
+ "icon": "check-square"
5044
+ },
5045
+ {
5046
+ "label": "Sprints",
5047
+ "href": "/sprints",
5048
+ "icon": "zap"
5049
+ },
5050
+ {
5051
+ "icon": "layout-list",
5052
+ "label": "Burndown",
5053
+ "href": "/burndown"
5054
+ }
5055
+ ],
5056
+ "appName": "ProjectManagerApp",
5057
+ "type": "dashboard-layout"
4924
5058
  }
4925
5059
  ]
4926
5060
  ]
@@ -4944,11 +5078,12 @@
4944
5078
  "render-ui",
4945
5079
  "main",
4946
5080
  {
5081
+ "type": "dashboard-layout",
4947
5082
  "navItems": [
4948
5083
  {
4949
- "href": "/tasks",
4950
5084
  "label": "Tasks",
4951
- "icon": "check-square"
5085
+ "icon": "check-square",
5086
+ "href": "/tasks"
4952
5087
  },
4953
5088
  {
4954
5089
  "href": "/sprints",
@@ -4961,16 +5096,16 @@
4961
5096
  "href": "/burndown"
4962
5097
  }
4963
5098
  ],
4964
- "type": "dashboard-layout",
4965
5099
  "appName": "ProjectManagerApp",
4966
5100
  "children": [
4967
5101
  {
4968
5102
  "type": "scaled-diagram",
4969
5103
  "children": [
4970
5104
  {
5105
+ "gap": "lg",
5106
+ "type": "stack",
4971
5107
  "children": [
4972
5108
  {
4973
- "type": "breadcrumb",
4974
5109
  "items": [
4975
5110
  {
4976
5111
  "label": "Home",
@@ -4979,15 +5114,12 @@
4979
5114
  {
4980
5115
  "label": "Burndown Chart"
4981
5116
  }
4982
- ]
5117
+ ],
5118
+ "type": "breadcrumb"
4983
5119
  },
4984
5120
  {
4985
- "type": "stack",
4986
- "direction": "horizontal",
4987
- "justify": "between",
4988
5121
  "children": [
4989
5122
  {
4990
- "direction": "horizontal",
4991
5123
  "type": "stack",
4992
5124
  "gap": "md",
4993
5125
  "children": [
@@ -4996,41 +5128,45 @@
4996
5128
  "name": "trending-down"
4997
5129
  },
4998
5130
  {
5131
+ "type": "typography",
4999
5132
  "content": "Burndown Chart",
5000
- "variant": "h2",
5001
- "type": "typography"
5133
+ "variant": "h2"
5002
5134
  }
5003
- ]
5135
+ ],
5136
+ "direction": "horizontal"
5004
5137
  },
5005
5138
  {
5006
5139
  "icon": "refresh-cw",
5007
- "variant": "secondary",
5008
5140
  "type": "button",
5009
5141
  "label": "Refresh",
5010
- "action": "REFRESH"
5142
+ "action": "REFRESH",
5143
+ "variant": "secondary"
5011
5144
  }
5012
5145
  ],
5013
- "gap": "md"
5146
+ "type": "stack",
5147
+ "direction": "horizontal",
5148
+ "gap": "md",
5149
+ "justify": "between"
5014
5150
  },
5015
5151
  {
5016
5152
  "type": "divider"
5017
5153
  },
5018
5154
  {
5019
- "type": "box",
5020
5155
  "padding": "md",
5021
5156
  "children": [
5022
5157
  {
5023
5158
  "type": "simple-grid",
5159
+ "cols": 5.0,
5024
5160
  "children": [
5025
5161
  {
5026
5162
  "type": "stat-display",
5027
- "label": "TotalPoints",
5028
- "value": "@entity.totalPoints"
5163
+ "value": "@entity.totalPoints",
5164
+ "label": "TotalPoints"
5029
5165
  },
5030
5166
  {
5031
- "type": "stat-display",
5032
5167
  "label": "CompletedPoints",
5033
- "value": "@entity.completedPoints"
5168
+ "value": "@entity.completedPoints",
5169
+ "type": "stat-display"
5034
5170
  },
5035
5171
  {
5036
5172
  "label": "RemainingPoints",
@@ -5038,78 +5174,78 @@
5038
5174
  "value": "@entity.remainingPoints"
5039
5175
  },
5040
5176
  {
5041
- "label": "Velocity",
5042
5177
  "value": "@entity.velocity",
5043
- "type": "stat-display"
5178
+ "type": "stat-display",
5179
+ "label": "Velocity"
5044
5180
  },
5045
5181
  {
5046
5182
  "type": "stat-display",
5047
- "value": "@entity.daysRemaining",
5048
- "label": "DaysRemaining"
5183
+ "label": "DaysRemaining",
5184
+ "value": "@entity.daysRemaining"
5049
5185
  }
5050
- ],
5051
- "cols": 5.0
5186
+ ]
5052
5187
  }
5053
- ]
5188
+ ],
5189
+ "type": "box"
5054
5190
  },
5055
5191
  {
5056
5192
  "type": "divider"
5057
5193
  },
5058
5194
  {
5059
- "cols": 2.0,
5195
+ "gap": "md",
5196
+ "type": "grid",
5060
5197
  "children": [
5061
5198
  {
5199
+ "type": "card",
5062
5200
  "children": [
5063
5201
  {
5202
+ "content": "Chart View",
5064
5203
  "type": "typography",
5065
- "variant": "caption",
5066
- "content": "Chart View"
5204
+ "variant": "caption"
5067
5205
  }
5068
- ],
5069
- "type": "card"
5206
+ ]
5070
5207
  },
5071
5208
  {
5072
- "type": "card",
5073
5209
  "children": [
5074
5210
  {
5075
- "type": "typography",
5076
5211
  "variant": "caption",
5212
+ "type": "typography",
5077
5213
  "content": "Graph View"
5078
5214
  }
5079
- ]
5215
+ ],
5216
+ "type": "card"
5080
5217
  }
5081
5218
  ],
5082
- "type": "grid",
5083
- "gap": "md"
5219
+ "cols": 2.0
5084
5220
  },
5085
5221
  {
5222
+ "type": "line-chart",
5086
5223
  "data": [
5087
5224
  {
5088
- "value": 12.0,
5089
- "date": "Jan"
5225
+ "date": "Jan",
5226
+ "value": 12.0
5090
5227
  },
5091
5228
  {
5092
- "date": "Feb",
5093
- "value": 19.0
5229
+ "value": 19.0,
5230
+ "date": "Feb"
5094
5231
  },
5095
5232
  {
5096
5233
  "date": "Mar",
5097
5234
  "value": 15.0
5098
5235
  },
5099
5236
  {
5100
- "value": 25.0,
5101
- "date": "Apr"
5237
+ "date": "Apr",
5238
+ "value": 25.0
5102
5239
  },
5103
5240
  {
5104
5241
  "value": 22.0,
5105
5242
  "date": "May"
5106
5243
  },
5107
5244
  {
5108
- "value": 30.0,
5109
- "date": "Jun"
5245
+ "date": "Jun",
5246
+ "value": 30.0
5110
5247
  }
5111
- ],
5112
- "type": "line-chart"
5248
+ ]
5113
5249
  },
5114
5250
  {
5115
5251
  "type": "chart-legend",
@@ -5127,21 +5263,21 @@
5127
5263
  {
5128
5264
  "type": "graph-view",
5129
5265
  "height": 200.0,
5130
- "width": 400.0,
5131
5266
  "nodes": [
5132
5267
  {
5133
- "id": "a",
5134
- "label": "Start"
5268
+ "label": "Start",
5269
+ "id": "a"
5135
5270
  },
5136
5271
  {
5137
- "label": "Process",
5138
- "id": "b"
5272
+ "id": "b",
5273
+ "label": "Process"
5139
5274
  },
5140
5275
  {
5141
- "label": "End",
5142
- "id": "c"
5276
+ "id": "c",
5277
+ "label": "End"
5143
5278
  }
5144
5279
  ],
5280
+ "width": 400.0,
5145
5281
  "edges": [
5146
5282
  {
5147
5283
  "target": "b",
@@ -5154,9 +5290,7 @@
5154
5290
  ]
5155
5291
  }
5156
5292
  ],
5157
- "direction": "vertical",
5158
- "gap": "lg",
5159
- "type": "stack"
5293
+ "direction": "vertical"
5160
5294
  }
5161
5295
  ]
5162
5296
  }
@@ -5184,16 +5318,31 @@
5184
5318
  "render-ui",
5185
5319
  "main",
5186
5320
  {
5321
+ "navItems": [
5322
+ {
5323
+ "icon": "check-square",
5324
+ "label": "Tasks",
5325
+ "href": "/tasks"
5326
+ },
5327
+ {
5328
+ "label": "Sprints",
5329
+ "href": "/sprints",
5330
+ "icon": "zap"
5331
+ },
5332
+ {
5333
+ "label": "Burndown",
5334
+ "href": "/burndown",
5335
+ "icon": "layout-list"
5336
+ }
5337
+ ],
5338
+ "appName": "ProjectManagerApp",
5187
5339
  "children": [
5188
5340
  {
5189
- "type": "scaled-diagram",
5190
5341
  "children": [
5191
5342
  {
5192
- "type": "stack",
5193
- "gap": "lg",
5343
+ "direction": "vertical",
5194
5344
  "children": [
5195
5345
  {
5196
- "type": "breadcrumb",
5197
5346
  "items": [
5198
5347
  {
5199
5348
  "label": "Home",
@@ -5202,37 +5351,38 @@
5202
5351
  {
5203
5352
  "label": "Burndown Chart"
5204
5353
  }
5205
- ]
5354
+ ],
5355
+ "type": "breadcrumb"
5206
5356
  },
5207
5357
  {
5208
5358
  "direction": "horizontal",
5209
- "type": "stack",
5210
5359
  "justify": "between",
5211
5360
  "children": [
5212
5361
  {
5362
+ "gap": "md",
5363
+ "direction": "horizontal",
5364
+ "type": "stack",
5213
5365
  "children": [
5214
5366
  {
5215
- "name": "trending-down",
5216
- "type": "icon"
5367
+ "type": "icon",
5368
+ "name": "trending-down"
5217
5369
  },
5218
5370
  {
5371
+ "type": "typography",
5219
5372
  "content": "Burndown Chart",
5220
- "variant": "h2",
5221
- "type": "typography"
5373
+ "variant": "h2"
5222
5374
  }
5223
- ],
5224
- "direction": "horizontal",
5225
- "gap": "md",
5226
- "type": "stack"
5375
+ ]
5227
5376
  },
5228
5377
  {
5229
- "label": "Refresh",
5230
- "type": "button",
5378
+ "action": "REFRESH",
5231
5379
  "icon": "refresh-cw",
5232
- "variant": "secondary",
5233
- "action": "REFRESH"
5380
+ "type": "button",
5381
+ "label": "Refresh",
5382
+ "variant": "secondary"
5234
5383
  }
5235
5384
  ],
5385
+ "type": "stack",
5236
5386
  "gap": "md"
5237
5387
  },
5238
5388
  {
@@ -5243,33 +5393,33 @@
5243
5393
  "padding": "md",
5244
5394
  "children": [
5245
5395
  {
5246
- "type": "simple-grid",
5247
5396
  "cols": 5.0,
5397
+ "type": "simple-grid",
5248
5398
  "children": [
5249
5399
  {
5400
+ "type": "stat-display",
5250
5401
  "label": "TotalPoints",
5251
- "value": "@entity.totalPoints",
5252
- "type": "stat-display"
5402
+ "value": "@entity.totalPoints"
5253
5403
  },
5254
5404
  {
5255
5405
  "type": "stat-display",
5256
- "value": "@entity.completedPoints",
5257
- "label": "CompletedPoints"
5406
+ "label": "CompletedPoints",
5407
+ "value": "@entity.completedPoints"
5258
5408
  },
5259
5409
  {
5260
5410
  "value": "@entity.remainingPoints",
5261
- "label": "RemainingPoints",
5262
- "type": "stat-display"
5411
+ "type": "stat-display",
5412
+ "label": "RemainingPoints"
5263
5413
  },
5264
5414
  {
5265
- "value": "@entity.velocity",
5266
5415
  "type": "stat-display",
5267
- "label": "Velocity"
5416
+ "label": "Velocity",
5417
+ "value": "@entity.velocity"
5268
5418
  },
5269
5419
  {
5270
5420
  "type": "stat-display",
5271
- "value": "@entity.daysRemaining",
5272
- "label": "DaysRemaining"
5421
+ "label": "DaysRemaining",
5422
+ "value": "@entity.daysRemaining"
5273
5423
  }
5274
5424
  ]
5275
5425
  }
@@ -5280,25 +5430,25 @@
5280
5430
  },
5281
5431
  {
5282
5432
  "gap": "md",
5283
- "cols": 2.0,
5284
5433
  "type": "grid",
5434
+ "cols": 2.0,
5285
5435
  "children": [
5286
5436
  {
5437
+ "type": "card",
5287
5438
  "children": [
5288
5439
  {
5289
- "content": "Chart View",
5440
+ "variant": "caption",
5290
5441
  "type": "typography",
5291
- "variant": "caption"
5442
+ "content": "Chart View"
5292
5443
  }
5293
- ],
5294
- "type": "card"
5444
+ ]
5295
5445
  },
5296
5446
  {
5297
5447
  "type": "card",
5298
5448
  "children": [
5299
5449
  {
5300
- "variant": "caption",
5301
5450
  "type": "typography",
5451
+ "variant": "caption",
5302
5452
  "content": "Graph View"
5303
5453
  }
5304
5454
  ]
@@ -5306,33 +5456,33 @@
5306
5456
  ]
5307
5457
  },
5308
5458
  {
5309
- "type": "line-chart",
5310
5459
  "data": [
5311
5460
  {
5312
- "value": 12.0,
5313
- "date": "Jan"
5461
+ "date": "Jan",
5462
+ "value": 12.0
5314
5463
  },
5315
5464
  {
5316
5465
  "date": "Feb",
5317
5466
  "value": 19.0
5318
5467
  },
5319
5468
  {
5320
- "value": 15.0,
5321
- "date": "Mar"
5469
+ "date": "Mar",
5470
+ "value": 15.0
5322
5471
  },
5323
5472
  {
5324
- "value": 25.0,
5325
- "date": "Apr"
5473
+ "date": "Apr",
5474
+ "value": 25.0
5326
5475
  },
5327
5476
  {
5328
- "value": 22.0,
5329
- "date": "May"
5477
+ "date": "May",
5478
+ "value": 22.0
5330
5479
  },
5331
5480
  {
5332
5481
  "value": 30.0,
5333
5482
  "date": "Jun"
5334
5483
  }
5335
- ]
5484
+ ],
5485
+ "type": "line-chart"
5336
5486
  },
5337
5487
  {
5338
5488
  "items": [
@@ -5348,59 +5498,43 @@
5348
5498
  "type": "chart-legend"
5349
5499
  },
5350
5500
  {
5351
- "type": "graph-view",
5352
5501
  "height": 200.0,
5353
5502
  "edges": [
5354
5503
  {
5355
- "source": "a",
5356
- "target": "b"
5504
+ "target": "b",
5505
+ "source": "a"
5357
5506
  },
5358
5507
  {
5359
5508
  "target": "c",
5360
5509
  "source": "b"
5361
5510
  }
5362
5511
  ],
5512
+ "type": "graph-view",
5363
5513
  "nodes": [
5364
5514
  {
5365
- "id": "a",
5366
- "label": "Start"
5515
+ "label": "Start",
5516
+ "id": "a"
5367
5517
  },
5368
5518
  {
5369
- "id": "b",
5370
- "label": "Process"
5519
+ "label": "Process",
5520
+ "id": "b"
5371
5521
  },
5372
5522
  {
5373
- "label": "End",
5374
- "id": "c"
5523
+ "id": "c",
5524
+ "label": "End"
5375
5525
  }
5376
5526
  ],
5377
5527
  "width": 400.0
5378
5528
  }
5379
5529
  ],
5380
- "direction": "vertical"
5530
+ "type": "stack",
5531
+ "gap": "lg"
5381
5532
  }
5382
- ]
5383
- }
5384
- ],
5385
- "type": "dashboard-layout",
5386
- "navItems": [
5387
- {
5388
- "icon": "check-square",
5389
- "label": "Tasks",
5390
- "href": "/tasks"
5391
- },
5392
- {
5393
- "icon": "zap",
5394
- "href": "/sprints",
5395
- "label": "Sprints"
5396
- },
5397
- {
5398
- "href": "/burndown",
5399
- "label": "Burndown",
5400
- "icon": "layout-list"
5533
+ ],
5534
+ "type": "scaled-diagram"
5401
5535
  }
5402
5536
  ],
5403
- "appName": "ProjectManagerApp"
5537
+ "type": "dashboard-layout"
5404
5538
  }
5405
5539
  ]
5406
5540
  ]
@@ -5415,8 +5549,8 @@
5415
5549
  "Burndown",
5416
5550
  {
5417
5551
  "emit": {
5418
- "failure": "BurndownLoadFailed",
5419
- "success": "BurndownLoaded"
5552
+ "success": "BurndownLoaded",
5553
+ "failure": "BurndownLoadFailed"
5420
5554
  }
5421
5555
  }
5422
5556
  ],
@@ -5431,45 +5565,46 @@
5431
5565
  "href": "/tasks"
5432
5566
  },
5433
5567
  {
5434
- "label": "Sprints",
5435
5568
  "href": "/sprints",
5436
- "icon": "zap"
5569
+ "icon": "zap",
5570
+ "label": "Sprints"
5437
5571
  },
5438
5572
  {
5439
- "label": "Burndown",
5440
5573
  "href": "/burndown",
5574
+ "label": "Burndown",
5441
5575
  "icon": "layout-list"
5442
5576
  }
5443
5577
  ],
5444
- "appName": "ProjectManagerApp",
5445
5578
  "type": "dashboard-layout",
5579
+ "appName": "ProjectManagerApp",
5446
5580
  "children": [
5447
5581
  {
5448
5582
  "type": "scaled-diagram",
5449
5583
  "children": [
5450
5584
  {
5585
+ "gap": "lg",
5451
5586
  "type": "stack",
5452
5587
  "children": [
5453
5588
  {
5454
- "type": "breadcrumb",
5455
5589
  "items": [
5456
5590
  {
5457
- "href": "/",
5458
- "label": "Home"
5591
+ "label": "Home",
5592
+ "href": "/"
5459
5593
  },
5460
5594
  {
5461
5595
  "label": "Burndown Chart"
5462
5596
  }
5463
- ]
5597
+ ],
5598
+ "type": "breadcrumb"
5464
5599
  },
5465
5600
  {
5466
- "direction": "horizontal",
5601
+ "type": "stack",
5467
5602
  "justify": "between",
5468
- "gap": "md",
5469
5603
  "children": [
5470
5604
  {
5471
5605
  "direction": "horizontal",
5472
5606
  "type": "stack",
5607
+ "gap": "md",
5473
5608
  "children": [
5474
5609
  {
5475
5610
  "type": "icon",
@@ -5477,49 +5612,50 @@
5477
5612
  },
5478
5613
  {
5479
5614
  "content": "Burndown Chart",
5480
- "variant": "h2",
5481
- "type": "typography"
5615
+ "type": "typography",
5616
+ "variant": "h2"
5482
5617
  }
5483
- ],
5484
- "gap": "md"
5618
+ ]
5485
5619
  },
5486
5620
  {
5487
- "type": "button",
5488
- "label": "Refresh",
5621
+ "action": "REFRESH",
5489
5622
  "variant": "secondary",
5490
5623
  "icon": "refresh-cw",
5491
- "action": "REFRESH"
5624
+ "type": "button",
5625
+ "label": "Refresh"
5492
5626
  }
5493
5627
  ],
5494
- "type": "stack"
5628
+ "direction": "horizontal",
5629
+ "gap": "md"
5495
5630
  },
5496
5631
  {
5497
5632
  "type": "divider"
5498
5633
  },
5499
5634
  {
5500
5635
  "type": "box",
5636
+ "padding": "md",
5501
5637
  "children": [
5502
5638
  {
5503
5639
  "children": [
5504
5640
  {
5641
+ "label": "TotalPoints",
5505
5642
  "value": "@entity.totalPoints",
5506
- "type": "stat-display",
5507
- "label": "TotalPoints"
5643
+ "type": "stat-display"
5508
5644
  },
5509
5645
  {
5646
+ "type": "stat-display",
5510
5647
  "label": "CompletedPoints",
5511
- "value": "@entity.completedPoints",
5512
- "type": "stat-display"
5648
+ "value": "@entity.completedPoints"
5513
5649
  },
5514
5650
  {
5651
+ "label": "RemainingPoints",
5515
5652
  "type": "stat-display",
5516
- "value": "@entity.remainingPoints",
5517
- "label": "RemainingPoints"
5653
+ "value": "@entity.remainingPoints"
5518
5654
  },
5519
5655
  {
5520
5656
  "label": "Velocity",
5521
- "type": "stat-display",
5522
- "value": "@entity.velocity"
5657
+ "value": "@entity.velocity",
5658
+ "type": "stat-display"
5523
5659
  },
5524
5660
  {
5525
5661
  "type": "stat-display",
@@ -5530,44 +5666,44 @@
5530
5666
  "type": "simple-grid",
5531
5667
  "cols": 5.0
5532
5668
  }
5533
- ],
5534
- "padding": "md"
5669
+ ]
5535
5670
  },
5536
5671
  {
5537
5672
  "type": "divider"
5538
5673
  },
5539
5674
  {
5540
5675
  "gap": "md",
5676
+ "type": "grid",
5541
5677
  "children": [
5542
5678
  {
5679
+ "type": "card",
5543
5680
  "children": [
5544
5681
  {
5545
5682
  "type": "typography",
5546
5683
  "variant": "caption",
5547
5684
  "content": "Chart View"
5548
5685
  }
5549
- ],
5550
- "type": "card"
5686
+ ]
5551
5687
  },
5552
5688
  {
5553
- "type": "card",
5554
5689
  "children": [
5555
5690
  {
5556
- "content": "Graph View",
5557
5691
  "type": "typography",
5558
- "variant": "caption"
5692
+ "variant": "caption",
5693
+ "content": "Graph View"
5559
5694
  }
5560
- ]
5695
+ ],
5696
+ "type": "card"
5561
5697
  }
5562
5698
  ],
5563
- "type": "grid",
5564
5699
  "cols": 2.0
5565
5700
  },
5566
5701
  {
5702
+ "type": "line-chart",
5567
5703
  "data": [
5568
5704
  {
5569
- "value": 12.0,
5570
- "date": "Jan"
5705
+ "date": "Jan",
5706
+ "value": 12.0
5571
5707
  },
5572
5708
  {
5573
5709
  "date": "Feb",
@@ -5589,8 +5725,7 @@
5589
5725
  "value": 30.0,
5590
5726
  "date": "Jun"
5591
5727
  }
5592
- ],
5593
- "type": "line-chart"
5728
+ ]
5594
5729
  },
5595
5730
  {
5596
5731
  "type": "chart-legend",
@@ -5600,43 +5735,42 @@
5600
5735
  "color": "primary"
5601
5736
  },
5602
5737
  {
5603
- "color": "muted",
5604
- "label": "Previous"
5738
+ "label": "Previous",
5739
+ "color": "muted"
5605
5740
  }
5606
5741
  ]
5607
5742
  },
5608
5743
  {
5609
- "height": 200.0,
5610
- "nodes": [
5611
- {
5612
- "id": "a",
5613
- "label": "Start"
5614
- },
5744
+ "width": 400.0,
5745
+ "edges": [
5615
5746
  {
5616
- "label": "Process",
5617
- "id": "b"
5747
+ "source": "a",
5748
+ "target": "b"
5618
5749
  },
5619
5750
  {
5620
- "label": "End",
5621
- "id": "c"
5751
+ "source": "b",
5752
+ "target": "c"
5622
5753
  }
5623
5754
  ],
5624
5755
  "type": "graph-view",
5625
- "width": 400.0,
5626
- "edges": [
5756
+ "height": 200.0,
5757
+ "nodes": [
5627
5758
  {
5628
- "target": "b",
5629
- "source": "a"
5759
+ "label": "Start",
5760
+ "id": "a"
5630
5761
  },
5631
5762
  {
5632
- "target": "c",
5633
- "source": "b"
5763
+ "id": "b",
5764
+ "label": "Process"
5765
+ },
5766
+ {
5767
+ "label": "End",
5768
+ "id": "c"
5634
5769
  }
5635
5770
  ]
5636
5771
  }
5637
5772
  ],
5638
- "direction": "vertical",
5639
- "gap": "lg"
5773
+ "direction": "vertical"
5640
5774
  }
5641
5775
  ]
5642
5776
  }