@almadar/std 8.5.1 → 10.0.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 (187) hide show
  1. package/behaviors/registry/agent/atoms/std-agent-activity-log.orb +97 -97
  2. package/behaviors/registry/agent/atoms/std-agent-chat-thread.orb +129 -129
  3. package/behaviors/registry/agent/atoms/std-agent-classifier.orb +127 -127
  4. package/behaviors/registry/agent/atoms/std-agent-completion.orb +133 -133
  5. package/behaviors/registry/agent/atoms/std-agent-context-window.orb +419 -419
  6. package/behaviors/registry/agent/atoms/std-agent-conversation.orb +100 -100
  7. package/behaviors/registry/agent/atoms/std-agent-memory.orb +112 -112
  8. package/behaviors/registry/agent/atoms/std-agent-provider.orb +138 -138
  9. package/behaviors/registry/agent/atoms/std-agent-search.orb +78 -78
  10. package/behaviors/registry/agent/atoms/std-agent-session.orb +171 -171
  11. package/behaviors/registry/agent/atoms/std-agent-step-progress.orb +202 -202
  12. package/behaviors/registry/agent/atoms/std-agent-token-gauge.orb +358 -358
  13. package/behaviors/registry/agent/atoms/std-agent-tool-call.orb +79 -79
  14. package/behaviors/registry/agent/molecules/std-agent-fix-loop.orb +204 -204
  15. package/behaviors/registry/agent/molecules/std-agent-learner.orb +190 -190
  16. package/behaviors/registry/agent/molecules/std-agent-planner.orb +152 -152
  17. package/behaviors/registry/agent/molecules/std-agent-rag.orb +115 -115
  18. package/behaviors/registry/agent/molecules/std-agent-tool-loop.orb +188 -188
  19. package/behaviors/registry/agent/organisms/std-agent-assistant.orb +1219 -1219
  20. package/behaviors/registry/agent/organisms/std-agent-builder.orb +2995 -2995
  21. package/behaviors/registry/agent/organisms/std-agent-pipeline.orb +2285 -2285
  22. package/behaviors/registry/agent/organisms/std-agent-reviewer.orb +1063 -1063
  23. package/behaviors/registry/agent/organisms/std-agent-tutor.orb +876 -876
  24. package/behaviors/registry/app/organisms/std-api-gateway.orb +840 -840
  25. package/behaviors/registry/app/organisms/std-booking-system.orb +1248 -1248
  26. package/behaviors/registry/app/organisms/std-cicd-pipeline.orb +816 -816
  27. package/behaviors/registry/app/organisms/std-cms.orb +587 -587
  28. package/behaviors/registry/app/organisms/std-coding-academy.orb +416 -416
  29. package/behaviors/registry/app/organisms/std-crm.orb +966 -966
  30. package/behaviors/registry/app/organisms/std-devops-dashboard.orb +1375 -1375
  31. package/behaviors/registry/app/organisms/std-ecommerce.orb +1109 -1109
  32. package/behaviors/registry/app/organisms/std-finance-tracker.orb +716 -716
  33. package/behaviors/registry/app/organisms/std-healthcare.orb +1473 -1473
  34. package/behaviors/registry/app/organisms/std-helpdesk.orb +693 -693
  35. package/behaviors/registry/app/organisms/std-hr-portal.orb +1252 -1252
  36. package/behaviors/registry/app/organisms/std-iot-dashboard.orb +895 -895
  37. package/behaviors/registry/app/organisms/std-lms.orb +876 -876
  38. package/behaviors/registry/app/organisms/std-project-manager.orb +790 -790
  39. package/behaviors/registry/app/organisms/std-realtime-chat.orb +740 -740
  40. package/behaviors/registry/app/organisms/std-social-feed.orb +266 -266
  41. package/behaviors/registry/app/organisms/std-trading-dashboard.orb +699 -699
  42. package/behaviors/registry/core/atoms/std-browse.orb +67 -67
  43. package/behaviors/registry/core/atoms/std-cache-aside.orb +97 -97
  44. package/behaviors/registry/core/atoms/std-calendar.orb +62 -62
  45. package/behaviors/registry/core/atoms/std-circuit-breaker.orb +188 -188
  46. package/behaviors/registry/core/atoms/std-confirmation.orb +34 -34
  47. package/behaviors/registry/core/atoms/std-display.orb +370 -370
  48. package/behaviors/registry/core/atoms/std-drawer.orb +61 -61
  49. package/behaviors/registry/core/atoms/std-filter.orb +63 -63
  50. package/behaviors/registry/core/atoms/std-gallery.orb +55 -55
  51. package/behaviors/registry/core/atoms/std-modal.orb +19 -19
  52. package/behaviors/registry/core/atoms/std-pagination.orb +53 -53
  53. package/behaviors/registry/core/atoms/std-push.orb +49 -49
  54. package/behaviors/registry/core/atoms/std-rate-limiter.orb +185 -185
  55. package/behaviors/registry/core/atoms/std-related.orb +39 -39
  56. package/behaviors/registry/core/atoms/std-search.orb +73 -73
  57. package/behaviors/registry/core/atoms/std-selection.orb +110 -110
  58. package/behaviors/registry/core/atoms/std-tabs.orb +47 -47
  59. package/behaviors/registry/core/molecules/std-cart.orb +68 -72
  60. package/behaviors/registry/core/molecules/std-filtered-list.orb +11 -11
  61. package/behaviors/registry/core/molecules/std-form-advanced.orb +140 -140
  62. package/behaviors/registry/core/molecules/std-list.orb +68 -68
  63. package/behaviors/registry/core/molecules/std-wizard-form.orb +152 -152
  64. package/behaviors/registry/game/atoms/std-collision.orb +140 -140
  65. package/behaviors/registry/game/atoms/std-combat.orb +76 -76
  66. package/behaviors/registry/game/atoms/std-dialogue-box.orb +27 -27
  67. package/behaviors/registry/game/atoms/std-game-canvas2d.orb +47 -47
  68. package/behaviors/registry/game/atoms/std-gameflow.orb +49 -49
  69. package/behaviors/registry/game/atoms/std-movement.orb +276 -276
  70. package/behaviors/registry/game/atoms/std-overworld.orb +64 -64
  71. package/behaviors/registry/game/atoms/std-physics2d.orb +88 -88
  72. package/behaviors/registry/game/atoms/std-quest.orb +129 -129
  73. package/behaviors/registry/game/atoms/std-timer.orb +285 -285
  74. package/behaviors/registry/game/organisms/std-arcade-game.orb +172 -172
  75. package/behaviors/registry/game/organisms/std-logic-training.orb +89 -89
  76. package/behaviors/registry/game/organisms/std-platformer-app.orb +281 -281
  77. package/behaviors/registry/game/organisms/std-puzzle-app.orb +110 -110
  78. package/behaviors/registry/game/organisms/std-rpg-game.orb +446 -446
  79. package/behaviors/registry/game/organisms/std-stem-lab.orb +349 -349
  80. package/behaviors/registry/game/organisms/std-strategy-game.orb +550 -550
  81. package/behaviors/registry/probes/molecules/std-source-scope-probe.orb +35 -35
  82. package/behaviors/registry/service/atoms/std-service-custom-bearer.orb +93 -93
  83. package/behaviors/registry/service/atoms/std-service-email.orb +92 -92
  84. package/behaviors/registry/service/atoms/std-service-github.orb +111 -111
  85. package/behaviors/registry/service/atoms/std-service-llm.orb +132 -132
  86. package/behaviors/registry/service/atoms/std-service-oauth.orb +133 -133
  87. package/behaviors/registry/service/atoms/std-service-redis.orb +114 -114
  88. package/behaviors/registry/service/atoms/std-service-storage.orb +140 -140
  89. package/behaviors/registry/service/atoms/std-service-stripe.orb +115 -115
  90. package/behaviors/registry/service/atoms/std-service-twilio.orb +131 -131
  91. package/behaviors/registry/service/atoms/std-service-youtube.orb +128 -128
  92. package/behaviors/registry/service/organisms/std-service-marketplace.orb +1092 -1092
  93. package/behaviors/registry/service/organisms/std-service-research-assistant.orb +978 -978
  94. package/dist/behaviors/registry/agent/atoms/std-agent-activity-log.orb +97 -97
  95. package/dist/behaviors/registry/agent/atoms/std-agent-chat-thread.orb +129 -129
  96. package/dist/behaviors/registry/agent/atoms/std-agent-classifier.orb +127 -127
  97. package/dist/behaviors/registry/agent/atoms/std-agent-completion.orb +133 -133
  98. package/dist/behaviors/registry/agent/atoms/std-agent-context-window.orb +419 -419
  99. package/dist/behaviors/registry/agent/atoms/std-agent-conversation.orb +100 -100
  100. package/dist/behaviors/registry/agent/atoms/std-agent-memory.orb +112 -112
  101. package/dist/behaviors/registry/agent/atoms/std-agent-provider.orb +138 -138
  102. package/dist/behaviors/registry/agent/atoms/std-agent-search.orb +78 -78
  103. package/dist/behaviors/registry/agent/atoms/std-agent-session.orb +171 -171
  104. package/dist/behaviors/registry/agent/atoms/std-agent-step-progress.orb +202 -202
  105. package/dist/behaviors/registry/agent/atoms/std-agent-token-gauge.orb +358 -358
  106. package/dist/behaviors/registry/agent/atoms/std-agent-tool-call.orb +79 -79
  107. package/dist/behaviors/registry/agent/molecules/std-agent-fix-loop.orb +204 -204
  108. package/dist/behaviors/registry/agent/molecules/std-agent-learner.orb +190 -190
  109. package/dist/behaviors/registry/agent/molecules/std-agent-planner.orb +152 -152
  110. package/dist/behaviors/registry/agent/molecules/std-agent-rag.orb +115 -115
  111. package/dist/behaviors/registry/agent/molecules/std-agent-tool-loop.orb +188 -188
  112. package/dist/behaviors/registry/agent/organisms/std-agent-assistant.orb +1219 -1219
  113. package/dist/behaviors/registry/agent/organisms/std-agent-builder.orb +2995 -2995
  114. package/dist/behaviors/registry/agent/organisms/std-agent-pipeline.orb +2285 -2285
  115. package/dist/behaviors/registry/agent/organisms/std-agent-reviewer.orb +1063 -1063
  116. package/dist/behaviors/registry/agent/organisms/std-agent-tutor.orb +876 -876
  117. package/dist/behaviors/registry/app/organisms/std-api-gateway.orb +840 -840
  118. package/dist/behaviors/registry/app/organisms/std-booking-system.orb +1248 -1248
  119. package/dist/behaviors/registry/app/organisms/std-cicd-pipeline.orb +816 -816
  120. package/dist/behaviors/registry/app/organisms/std-cms.orb +587 -587
  121. package/dist/behaviors/registry/app/organisms/std-coding-academy.orb +416 -416
  122. package/dist/behaviors/registry/app/organisms/std-crm.orb +966 -966
  123. package/dist/behaviors/registry/app/organisms/std-devops-dashboard.orb +1375 -1375
  124. package/dist/behaviors/registry/app/organisms/std-ecommerce.orb +1109 -1109
  125. package/dist/behaviors/registry/app/organisms/std-finance-tracker.orb +716 -716
  126. package/dist/behaviors/registry/app/organisms/std-healthcare.orb +1473 -1473
  127. package/dist/behaviors/registry/app/organisms/std-helpdesk.orb +693 -693
  128. package/dist/behaviors/registry/app/organisms/std-hr-portal.orb +1252 -1252
  129. package/dist/behaviors/registry/app/organisms/std-iot-dashboard.orb +895 -895
  130. package/dist/behaviors/registry/app/organisms/std-lms.orb +876 -876
  131. package/dist/behaviors/registry/app/organisms/std-project-manager.orb +790 -790
  132. package/dist/behaviors/registry/app/organisms/std-realtime-chat.orb +740 -740
  133. package/dist/behaviors/registry/app/organisms/std-social-feed.orb +266 -266
  134. package/dist/behaviors/registry/app/organisms/std-trading-dashboard.orb +699 -699
  135. package/dist/behaviors/registry/core/atoms/std-browse.orb +67 -67
  136. package/dist/behaviors/registry/core/atoms/std-cache-aside.orb +97 -97
  137. package/dist/behaviors/registry/core/atoms/std-calendar.orb +62 -62
  138. package/dist/behaviors/registry/core/atoms/std-circuit-breaker.orb +188 -188
  139. package/dist/behaviors/registry/core/atoms/std-confirmation.orb +34 -34
  140. package/dist/behaviors/registry/core/atoms/std-display.orb +370 -370
  141. package/dist/behaviors/registry/core/atoms/std-drawer.orb +61 -61
  142. package/dist/behaviors/registry/core/atoms/std-filter.orb +63 -63
  143. package/dist/behaviors/registry/core/atoms/std-gallery.orb +55 -55
  144. package/dist/behaviors/registry/core/atoms/std-modal.orb +19 -19
  145. package/dist/behaviors/registry/core/atoms/std-pagination.orb +53 -53
  146. package/dist/behaviors/registry/core/atoms/std-push.orb +49 -49
  147. package/dist/behaviors/registry/core/atoms/std-rate-limiter.orb +185 -185
  148. package/dist/behaviors/registry/core/atoms/std-related.orb +39 -39
  149. package/dist/behaviors/registry/core/atoms/std-search.orb +73 -73
  150. package/dist/behaviors/registry/core/atoms/std-selection.orb +110 -110
  151. package/dist/behaviors/registry/core/atoms/std-tabs.orb +47 -47
  152. package/dist/behaviors/registry/core/molecules/std-cart.orb +68 -72
  153. package/dist/behaviors/registry/core/molecules/std-filtered-list.orb +11 -11
  154. package/dist/behaviors/registry/core/molecules/std-form-advanced.orb +140 -140
  155. package/dist/behaviors/registry/core/molecules/std-list.orb +68 -68
  156. package/dist/behaviors/registry/core/molecules/std-wizard-form.orb +152 -152
  157. package/dist/behaviors/registry/game/atoms/std-collision.orb +140 -140
  158. package/dist/behaviors/registry/game/atoms/std-combat.orb +76 -76
  159. package/dist/behaviors/registry/game/atoms/std-dialogue-box.orb +27 -27
  160. package/dist/behaviors/registry/game/atoms/std-game-canvas2d.orb +47 -47
  161. package/dist/behaviors/registry/game/atoms/std-gameflow.orb +49 -49
  162. package/dist/behaviors/registry/game/atoms/std-movement.orb +276 -276
  163. package/dist/behaviors/registry/game/atoms/std-overworld.orb +64 -64
  164. package/dist/behaviors/registry/game/atoms/std-physics2d.orb +88 -88
  165. package/dist/behaviors/registry/game/atoms/std-quest.orb +129 -129
  166. package/dist/behaviors/registry/game/atoms/std-timer.orb +285 -285
  167. package/dist/behaviors/registry/game/organisms/std-arcade-game.orb +172 -172
  168. package/dist/behaviors/registry/game/organisms/std-logic-training.orb +89 -89
  169. package/dist/behaviors/registry/game/organisms/std-platformer-app.orb +281 -281
  170. package/dist/behaviors/registry/game/organisms/std-puzzle-app.orb +110 -110
  171. package/dist/behaviors/registry/game/organisms/std-rpg-game.orb +446 -446
  172. package/dist/behaviors/registry/game/organisms/std-stem-lab.orb +349 -349
  173. package/dist/behaviors/registry/game/organisms/std-strategy-game.orb +550 -550
  174. package/dist/behaviors/registry/probes/molecules/std-source-scope-probe.orb +35 -35
  175. package/dist/behaviors/registry/service/atoms/std-service-custom-bearer.orb +93 -93
  176. package/dist/behaviors/registry/service/atoms/std-service-email.orb +92 -92
  177. package/dist/behaviors/registry/service/atoms/std-service-github.orb +111 -111
  178. package/dist/behaviors/registry/service/atoms/std-service-llm.orb +132 -132
  179. package/dist/behaviors/registry/service/atoms/std-service-oauth.orb +133 -133
  180. package/dist/behaviors/registry/service/atoms/std-service-redis.orb +114 -114
  181. package/dist/behaviors/registry/service/atoms/std-service-storage.orb +140 -140
  182. package/dist/behaviors/registry/service/atoms/std-service-stripe.orb +115 -115
  183. package/dist/behaviors/registry/service/atoms/std-service-twilio.orb +131 -131
  184. package/dist/behaviors/registry/service/atoms/std-service-youtube.orb +128 -128
  185. package/dist/behaviors/registry/service/organisms/std-service-marketplace.orb +1092 -1092
  186. package/dist/behaviors/registry/service/organisms/std-service-research-assistant.orb +978 -978
  187. package/package.json +1 -1
@@ -76,7 +76,7 @@
76
76
  "event": "TaskLoaded",
77
77
  "description": "Fired when Task finishes loading",
78
78
  "scope": "internal",
79
- "payload": [
79
+ "payloadSchema": [
80
80
  {
81
81
  "name": "data",
82
82
  "type": "[Task]"
@@ -87,7 +87,7 @@
87
87
  "event": "TaskLoadFailed",
88
88
  "description": "Fired when Task fails to load",
89
89
  "scope": "internal",
90
- "payload": [
90
+ "payloadSchema": [
91
91
  {
92
92
  "name": "error",
93
93
  "type": "string"
@@ -101,7 +101,7 @@
101
101
  {
102
102
  "event": "TaskSaved",
103
103
  "scope": "internal",
104
- "payload": [
104
+ "payloadSchema": [
105
105
  {
106
106
  "name": "id",
107
107
  "type": "string"
@@ -111,7 +111,7 @@
111
111
  {
112
112
  "event": "TaskSaveFailed",
113
113
  "scope": "internal",
114
- "payload": [
114
+ "payloadSchema": [
115
115
  {
116
116
  "name": "error",
117
117
  "type": "string"
@@ -125,7 +125,7 @@
125
125
  {
126
126
  "event": "TaskUpdated",
127
127
  "scope": "internal",
128
- "payload": [
128
+ "payloadSchema": [
129
129
  {
130
130
  "name": "id",
131
131
  "type": "string"
@@ -135,7 +135,7 @@
135
135
  {
136
136
  "event": "TaskUpdateFailed",
137
137
  "scope": "internal",
138
- "payload": [
138
+ "payloadSchema": [
139
139
  {
140
140
  "name": "error",
141
141
  "type": "string"
@@ -149,7 +149,7 @@
149
149
  {
150
150
  "event": "TaskDeleted",
151
151
  "scope": "internal",
152
- "payload": [
152
+ "payloadSchema": [
153
153
  {
154
154
  "name": "id",
155
155
  "type": "string"
@@ -159,7 +159,7 @@
159
159
  {
160
160
  "event": "TaskDeleteFailed",
161
161
  "scope": "internal",
162
- "payload": [
162
+ "payloadSchema": [
163
163
  {
164
164
  "name": "error",
165
165
  "type": "string"
@@ -173,7 +173,7 @@
173
173
  {
174
174
  "event": "SprintSaved",
175
175
  "scope": "internal",
176
- "payload": [
176
+ "payloadSchema": [
177
177
  {
178
178
  "name": "id",
179
179
  "type": "string"
@@ -183,7 +183,7 @@
183
183
  {
184
184
  "event": "SprintSaveFailed",
185
185
  "scope": "internal",
186
- "payload": [
186
+ "payloadSchema": [
187
187
  {
188
188
  "name": "error",
189
189
  "type": "string"
@@ -197,7 +197,7 @@
197
197
  {
198
198
  "event": "SprintUpdated",
199
199
  "scope": "internal",
200
- "payload": [
200
+ "payloadSchema": [
201
201
  {
202
202
  "name": "id",
203
203
  "type": "string"
@@ -207,7 +207,7 @@
207
207
  {
208
208
  "event": "SprintUpdateFailed",
209
209
  "scope": "internal",
210
- "payload": [
210
+ "payloadSchema": [
211
211
  {
212
212
  "name": "error",
213
213
  "type": "string"
@@ -221,7 +221,7 @@
221
221
  {
222
222
  "event": "SprintDeleted",
223
223
  "scope": "internal",
224
- "payload": [
224
+ "payloadSchema": [
225
225
  {
226
226
  "name": "id",
227
227
  "type": "string"
@@ -231,7 +231,7 @@
231
231
  {
232
232
  "event": "SprintDeleteFailed",
233
233
  "scope": "internal",
234
- "payload": [
234
+ "payloadSchema": [
235
235
  {
236
236
  "name": "error",
237
237
  "type": "string"
@@ -291,7 +291,7 @@
291
291
  {
292
292
  "key": "TaskLoaded",
293
293
  "name": "Task loaded",
294
- "payload": [
294
+ "payloadSchema": [
295
295
  {
296
296
  "name": "data",
297
297
  "type": "[Task]"
@@ -301,7 +301,7 @@
301
301
  {
302
302
  "key": "TaskLoadFailed",
303
303
  "name": "Task load failed",
304
- "payload": [
304
+ "payloadSchema": [
305
305
  {
306
306
  "name": "error",
307
307
  "type": "string"
@@ -315,7 +315,7 @@
315
315
  {
316
316
  "key": "TaskSaved",
317
317
  "name": "Task saved",
318
- "payload": [
318
+ "payloadSchema": [
319
319
  {
320
320
  "name": "id",
321
321
  "type": "string"
@@ -325,7 +325,7 @@
325
325
  {
326
326
  "key": "TaskSaveFailed",
327
327
  "name": "Task save failed",
328
- "payload": [
328
+ "payloadSchema": [
329
329
  {
330
330
  "name": "error",
331
331
  "type": "string"
@@ -339,7 +339,7 @@
339
339
  {
340
340
  "key": "TaskUpdated",
341
341
  "name": "Task updated",
342
- "payload": [
342
+ "payloadSchema": [
343
343
  {
344
344
  "name": "id",
345
345
  "type": "string"
@@ -349,7 +349,7 @@
349
349
  {
350
350
  "key": "TaskUpdateFailed",
351
351
  "name": "Task update failed",
352
- "payload": [
352
+ "payloadSchema": [
353
353
  {
354
354
  "name": "error",
355
355
  "type": "string"
@@ -363,7 +363,7 @@
363
363
  {
364
364
  "key": "TaskDeleted",
365
365
  "name": "Task deleted",
366
- "payload": [
366
+ "payloadSchema": [
367
367
  {
368
368
  "name": "id",
369
369
  "type": "string"
@@ -373,7 +373,7 @@
373
373
  {
374
374
  "key": "TaskDeleteFailed",
375
375
  "name": "Task delete failed",
376
- "payload": [
376
+ "payloadSchema": [
377
377
  {
378
378
  "name": "error",
379
379
  "type": "string"
@@ -387,7 +387,7 @@
387
387
  {
388
388
  "key": "SprintSaved",
389
389
  "name": "Sprint saved",
390
- "payload": [
390
+ "payloadSchema": [
391
391
  {
392
392
  "name": "id",
393
393
  "type": "string"
@@ -397,7 +397,7 @@
397
397
  {
398
398
  "key": "SprintSaveFailed",
399
399
  "name": "Sprint save failed",
400
- "payload": [
400
+ "payloadSchema": [
401
401
  {
402
402
  "name": "error",
403
403
  "type": "string"
@@ -411,7 +411,7 @@
411
411
  {
412
412
  "key": "SprintUpdated",
413
413
  "name": "Sprint updated",
414
- "payload": [
414
+ "payloadSchema": [
415
415
  {
416
416
  "name": "id",
417
417
  "type": "string"
@@ -421,7 +421,7 @@
421
421
  {
422
422
  "key": "SprintUpdateFailed",
423
423
  "name": "Sprint update failed",
424
- "payload": [
424
+ "payloadSchema": [
425
425
  {
426
426
  "name": "error",
427
427
  "type": "string"
@@ -435,7 +435,7 @@
435
435
  {
436
436
  "key": "SprintDeleted",
437
437
  "name": "Sprint deleted",
438
- "payload": [
438
+ "payloadSchema": [
439
439
  {
440
440
  "name": "id",
441
441
  "type": "string"
@@ -445,7 +445,7 @@
445
445
  {
446
446
  "key": "SprintDeleteFailed",
447
447
  "name": "Sprint delete failed",
448
- "payload": [
448
+ "payloadSchema": [
449
449
  {
450
450
  "name": "error",
451
451
  "type": "string"
@@ -459,7 +459,7 @@
459
459
  {
460
460
  "key": "VIEW",
461
461
  "name": "View",
462
- "payload": [
462
+ "payloadSchema": [
463
463
  {
464
464
  "name": "id",
465
465
  "type": "string",
@@ -474,7 +474,7 @@
474
474
  {
475
475
  "key": "EDIT",
476
476
  "name": "Edit",
477
- "payload": [
477
+ "payloadSchema": [
478
478
  {
479
479
  "name": "id",
480
480
  "type": "string",
@@ -489,7 +489,7 @@
489
489
  {
490
490
  "key": "DELETE",
491
491
  "name": "Delete",
492
- "payload": [
492
+ "payloadSchema": [
493
493
  {
494
494
  "name": "id",
495
495
  "type": "string",
@@ -513,8 +513,8 @@
513
513
  "Task",
514
514
  {
515
515
  "emit": {
516
- "success": "TaskLoaded",
517
- "failure": "TaskLoadFailed"
516
+ "failure": "TaskLoadFailed",
517
+ "success": "TaskLoaded"
518
518
  }
519
519
  }
520
520
  ],
@@ -522,22 +522,22 @@
522
522
  "render-ui",
523
523
  "main",
524
524
  {
525
- "type": "stack",
526
525
  "gap": "md",
527
- "direction": "vertical",
528
526
  "className": "py-12",
527
+ "type": "stack",
528
+ "direction": "vertical",
529
+ "align": "center",
529
530
  "children": [
530
531
  {
531
532
  "type": "spinner"
532
533
  },
533
534
  {
534
- "variant": "caption",
535
535
  "color": "muted",
536
- "content": "Loading…",
537
- "type": "typography"
536
+ "variant": "caption",
537
+ "type": "typography",
538
+ "content": "Loading…"
538
539
  }
539
- ],
540
- "align": "center"
540
+ ]
541
541
  }
542
542
  ]
543
543
  ]
@@ -552,144 +552,144 @@
552
552
  "main",
553
553
  {
554
554
  "type": "dashboard-layout",
555
+ "appName": "ProjectManagerApp",
555
556
  "navItems": [
556
557
  {
558
+ "icon": "check-square",
557
559
  "label": "Tasks",
558
- "href": "/tasks",
559
- "icon": "check-square"
560
+ "href": "/tasks"
560
561
  },
561
562
  {
563
+ "label": "Sprints",
562
564
  "href": "/sprints",
563
- "icon": "zap",
564
- "label": "Sprints"
565
+ "icon": "zap"
565
566
  },
566
567
  {
568
+ "href": "/burndown",
567
569
  "label": "Burndown",
568
- "icon": "layout-list",
569
- "href": "/burndown"
570
+ "icon": "layout-list"
570
571
  }
571
572
  ],
572
- "appName": "ProjectManagerApp",
573
573
  "children": [
574
574
  {
575
+ "type": "stack",
576
+ "direction": "vertical",
577
+ "className": "max-w-5xl mx-auto w-full",
575
578
  "children": [
576
579
  {
580
+ "justify": "between",
581
+ "gap": "md",
582
+ "type": "stack",
577
583
  "direction": "horizontal",
578
584
  "align": "center",
579
- "justify": "between",
580
585
  "children": [
581
586
  {
582
- "direction": "horizontal",
583
- "type": "stack",
584
587
  "gap": "sm",
585
- "align": "center",
586
588
  "children": [
587
589
  {
588
- "name": "check-square",
589
- "type": "icon"
590
+ "type": "icon",
591
+ "name": "check-square"
590
592
  },
591
593
  {
592
- "type": "typography",
593
594
  "variant": "h2",
594
- "content": "Tasks"
595
+ "content": "Tasks",
596
+ "type": "typography"
595
597
  }
596
- ]
598
+ ],
599
+ "type": "stack",
600
+ "align": "center",
601
+ "direction": "horizontal"
597
602
  },
598
603
  {
599
604
  "type": "stack",
600
- "direction": "horizontal",
601
605
  "gap": "sm",
606
+ "direction": "horizontal",
602
607
  "children": [
603
608
  {
604
- "variant": "primary",
605
609
  "type": "button",
606
610
  "icon": "plus",
611
+ "action": "CREATE",
607
612
  "label": "Create Task",
608
- "action": "CREATE"
613
+ "variant": "primary"
609
614
  }
610
615
  ]
611
616
  }
612
- ],
613
- "type": "stack",
614
- "gap": "md"
617
+ ]
615
618
  },
616
619
  {
617
620
  "type": "divider"
618
621
  },
619
622
  {
623
+ "cols": 1.0,
620
624
  "children": [
621
625
  {
622
626
  "type": "stat-display",
627
+ "value": "@entity",
623
628
  "label": "Total Tasks",
624
- "icon": "check-square",
625
- "value": "@entity"
629
+ "icon": "check-square"
626
630
  }
627
631
  ],
628
- "type": "simple-grid",
629
- "cols": 1.0
632
+ "type": "simple-grid"
630
633
  },
631
634
  {
632
635
  "type": "divider"
633
636
  },
634
637
  {
635
- "gap": "md",
636
- "fields": [],
637
638
  "entity": "@payload.data",
638
- "itemActions": [
639
- {
640
- "event": "VIEW",
641
- "variant": "ghost",
642
- "label": "View"
643
- },
644
- {
645
- "label": "Edit",
646
- "event": "EDIT",
647
- "variant": "ghost"
648
- },
649
- {
650
- "event": "DELETE",
651
- "variant": "danger",
652
- "label": "Delete"
653
- }
654
- ],
655
- "type": "data-grid",
639
+ "gap": "md",
656
640
  "columns": [
657
641
  {
642
+ "name": "title",
658
643
  "variant": "h3",
659
- "icon": "check-square",
660
- "name": "title"
644
+ "icon": "check-square"
661
645
  },
662
646
  {
663
647
  "variant": "badge",
664
648
  "name": "priority"
665
649
  },
666
650
  {
667
- "name": "status",
668
- "variant": "badge"
651
+ "variant": "badge",
652
+ "name": "status"
669
653
  },
670
654
  {
671
- "name": "assignee",
672
- "variant": "body"
655
+ "variant": "body",
656
+ "name": "assignee"
673
657
  },
674
658
  {
659
+ "format": "number",
675
660
  "variant": "body",
676
661
  "label": "Points",
677
- "format": "number",
678
662
  "name": "storyPoints"
679
663
  },
680
664
  {
681
- "label": "Due",
682
- "variant": "caption",
665
+ "format": "date",
683
666
  "name": "dueDate",
684
- "format": "date"
667
+ "variant": "caption",
668
+ "label": "Due"
669
+ }
670
+ ],
671
+ "cols": 2.0,
672
+ "itemActions": [
673
+ {
674
+ "label": "View",
675
+ "variant": "ghost",
676
+ "event": "VIEW"
677
+ },
678
+ {
679
+ "label": "Edit",
680
+ "event": "EDIT",
681
+ "variant": "ghost"
682
+ },
683
+ {
684
+ "label": "Delete",
685
+ "variant": "danger",
686
+ "event": "DELETE"
685
687
  }
686
688
  ],
687
- "cols": 2.0
689
+ "type": "data-grid",
690
+ "fields": []
688
691
  }
689
692
  ],
690
- "className": "max-w-5xl mx-auto w-full",
691
- "direction": "vertical",
692
- "type": "stack",
693
693
  "gap": "lg"
694
694
  }
695
695
  ]
@@ -706,36 +706,36 @@
706
706
  "render-ui",
707
707
  "main",
708
708
  {
709
- "type": "stack",
710
709
  "direction": "vertical",
710
+ "gap": "md",
711
711
  "align": "center",
712
+ "className": "py-12",
712
713
  "children": [
713
714
  {
714
- "color": "destructive",
715
715
  "name": "alert-triangle",
716
+ "color": "destructive",
716
717
  "type": "icon"
717
718
  },
718
719
  {
719
720
  "type": "typography",
720
- "variant": "h3",
721
- "content": "Failed to load task"
721
+ "content": "Failed to load task",
722
+ "variant": "h3"
722
723
  },
723
724
  {
724
- "variant": "body",
725
+ "content": "@payload.error",
725
726
  "color": "muted",
726
727
  "type": "typography",
727
- "content": "@payload.error"
728
+ "variant": "body"
728
729
  },
729
730
  {
730
- "action": "INIT",
731
- "variant": "primary",
732
731
  "icon": "rotate-ccw",
732
+ "label": "Retry",
733
733
  "type": "button",
734
- "label": "Retry"
734
+ "action": "INIT",
735
+ "variant": "primary"
735
736
  }
736
737
  ],
737
- "className": "py-12",
738
- "gap": "md"
738
+ "type": "stack"
739
739
  }
740
740
  ]
741
741
  ]
@@ -752,7 +752,7 @@
752
752
  {
753
753
  "event": "TASK_CREATED",
754
754
  "scope": "external",
755
- "payload": [
755
+ "payloadSchema": [
756
756
  {
757
757
  "name": "id",
758
758
  "type": "string"
@@ -763,7 +763,7 @@
763
763
  "event": "TaskLoadFailed",
764
764
  "description": "Fired when Task fails to load",
765
765
  "scope": "internal",
766
- "payload": [
766
+ "payloadSchema": [
767
767
  {
768
768
  "name": "error",
769
769
  "type": "string"
@@ -778,7 +778,7 @@
778
778
  "event": "TaskLoaded",
779
779
  "description": "Fired when Task finishes loading",
780
780
  "scope": "internal",
781
- "payload": [
781
+ "payloadSchema": [
782
782
  {
783
783
  "name": "data",
784
784
  "type": "[Task]"
@@ -788,7 +788,7 @@
788
788
  {
789
789
  "event": "TaskSaveFailed",
790
790
  "scope": "internal",
791
- "payload": [
791
+ "payloadSchema": [
792
792
  {
793
793
  "name": "error",
794
794
  "type": "string"
@@ -802,7 +802,7 @@
802
802
  {
803
803
  "event": "TaskSaved",
804
804
  "scope": "internal",
805
- "payload": [
805
+ "payloadSchema": [
806
806
  {
807
807
  "name": "id",
808
808
  "type": "string"
@@ -836,7 +836,7 @@
836
836
  {
837
837
  "key": "SAVE",
838
838
  "name": "Save",
839
- "payload": [
839
+ "payloadSchema": [
840
840
  {
841
841
  "name": "data",
842
842
  "type": "object",
@@ -851,7 +851,7 @@
851
851
  {
852
852
  "key": "TaskLoadFailed",
853
853
  "name": "Task load failed",
854
- "payload": [
854
+ "payloadSchema": [
855
855
  {
856
856
  "name": "error",
857
857
  "type": "string"
@@ -865,7 +865,7 @@
865
865
  {
866
866
  "key": "TaskLoaded",
867
867
  "name": "Task loaded",
868
- "payload": [
868
+ "payloadSchema": [
869
869
  {
870
870
  "name": "data",
871
871
  "type": "[Task]"
@@ -875,7 +875,7 @@
875
875
  {
876
876
  "key": "TaskSaveFailed",
877
877
  "name": "Task save failed",
878
- "payload": [
878
+ "payloadSchema": [
879
879
  {
880
880
  "name": "error",
881
881
  "type": "string"
@@ -889,7 +889,7 @@
889
889
  {
890
890
  "key": "TaskSaved",
891
891
  "name": "Task saved",
892
- "payload": [
892
+ "payloadSchema": [
893
893
  {
894
894
  "name": "id",
895
895
  "type": "string"
@@ -928,32 +928,31 @@
928
928
  "render-ui",
929
929
  "modal",
930
930
  {
931
- "direction": "vertical",
932
931
  "gap": "md",
933
- "type": "stack",
932
+ "direction": "vertical",
934
933
  "children": [
935
934
  {
935
+ "type": "stack",
936
+ "gap": "sm",
937
+ "direction": "horizontal",
936
938
  "children": [
937
939
  {
938
- "name": "plus-circle",
939
- "type": "icon"
940
+ "type": "icon",
941
+ "name": "plus-circle"
940
942
  },
941
943
  {
942
944
  "variant": "h3",
943
- "content": "Create Task",
944
- "type": "typography"
945
+ "type": "typography",
946
+ "content": "Create Task"
945
947
  }
946
- ],
947
- "direction": "horizontal",
948
- "gap": "sm",
949
- "type": "stack"
948
+ ]
950
949
  },
951
950
  {
952
951
  "type": "divider"
953
952
  },
954
953
  {
954
+ "mode": "create",
955
955
  "submitEvent": "SAVE",
956
- "cancelEvent": "CLOSE",
957
956
  "fields": [
958
957
  "title",
959
958
  "description",
@@ -963,10 +962,11 @@
963
962
  "storyPoints",
964
963
  "dueDate"
965
964
  ],
966
- "type": "form-section",
967
- "mode": "create"
965
+ "cancelEvent": "CLOSE",
966
+ "type": "form-section"
968
967
  }
969
- ]
968
+ ],
969
+ "type": "stack"
970
970
  }
971
971
  ]
972
972
  ]
@@ -1042,7 +1042,7 @@
1042
1042
  {
1043
1043
  "event": "TASK_UPDATED",
1044
1044
  "scope": "external",
1045
- "payload": [
1045
+ "payloadSchema": [
1046
1046
  {
1047
1047
  "name": "id",
1048
1048
  "type": "string"
@@ -1053,7 +1053,7 @@
1053
1053
  "event": "TaskLoadFailed",
1054
1054
  "description": "Fired when Task fails to load",
1055
1055
  "scope": "internal",
1056
- "payload": [
1056
+ "payloadSchema": [
1057
1057
  {
1058
1058
  "name": "error",
1059
1059
  "type": "string"
@@ -1068,7 +1068,7 @@
1068
1068
  "event": "TaskLoaded",
1069
1069
  "description": "Fired when Task finishes loading",
1070
1070
  "scope": "internal",
1071
- "payload": [
1071
+ "payloadSchema": [
1072
1072
  {
1073
1073
  "name": "data",
1074
1074
  "type": "[Task]"
@@ -1078,7 +1078,7 @@
1078
1078
  {
1079
1079
  "event": "TaskUpdateFailed",
1080
1080
  "scope": "internal",
1081
- "payload": [
1081
+ "payloadSchema": [
1082
1082
  {
1083
1083
  "name": "error",
1084
1084
  "type": "string"
@@ -1092,7 +1092,7 @@
1092
1092
  {
1093
1093
  "event": "TaskUpdated",
1094
1094
  "scope": "internal",
1095
- "payload": [
1095
+ "payloadSchema": [
1096
1096
  {
1097
1097
  "name": "id",
1098
1098
  "type": "string"
@@ -1118,7 +1118,7 @@
1118
1118
  {
1119
1119
  "key": "EDIT",
1120
1120
  "name": "Edit",
1121
- "payload": [
1121
+ "payloadSchema": [
1122
1122
  {
1123
1123
  "name": "id",
1124
1124
  "type": "string",
@@ -1137,7 +1137,7 @@
1137
1137
  {
1138
1138
  "key": "SAVE",
1139
1139
  "name": "Save",
1140
- "payload": [
1140
+ "payloadSchema": [
1141
1141
  {
1142
1142
  "name": "data",
1143
1143
  "type": "object",
@@ -1152,7 +1152,7 @@
1152
1152
  {
1153
1153
  "key": "TaskLoadFailed",
1154
1154
  "name": "Task load failed",
1155
- "payload": [
1155
+ "payloadSchema": [
1156
1156
  {
1157
1157
  "name": "error",
1158
1158
  "type": "string"
@@ -1166,7 +1166,7 @@
1166
1166
  {
1167
1167
  "key": "TaskLoaded",
1168
1168
  "name": "Task loaded",
1169
- "payload": [
1169
+ "payloadSchema": [
1170
1170
  {
1171
1171
  "name": "data",
1172
1172
  "type": "[Task]"
@@ -1176,7 +1176,7 @@
1176
1176
  {
1177
1177
  "key": "TaskUpdateFailed",
1178
1178
  "name": "Task update failed",
1179
- "payload": [
1179
+ "payloadSchema": [
1180
1180
  {
1181
1181
  "name": "error",
1182
1182
  "type": "string"
@@ -1190,7 +1190,7 @@
1190
1190
  {
1191
1191
  "key": "TaskUpdated",
1192
1192
  "name": "Task updated",
1193
- "payload": [
1193
+ "payloadSchema": [
1194
1194
  {
1195
1195
  "name": "id",
1196
1196
  "type": "string"
@@ -1219,42 +1219,41 @@
1219
1219
  "fetch",
1220
1220
  "Task",
1221
1221
  {
1222
+ "id": "@payload.id",
1222
1223
  "emit": {
1223
- "failure": "TaskLoadFailed",
1224
- "success": "TaskLoaded"
1225
- },
1226
- "id": "@payload.id"
1224
+ "success": "TaskLoaded",
1225
+ "failure": "TaskLoadFailed"
1226
+ }
1227
1227
  }
1228
1228
  ],
1229
1229
  [
1230
1230
  "render-ui",
1231
1231
  "modal",
1232
1232
  {
1233
+ "gap": "md",
1234
+ "type": "stack",
1233
1235
  "children": [
1234
1236
  {
1235
- "direction": "horizontal",
1236
- "type": "stack",
1237
- "gap": "sm",
1238
1237
  "children": [
1239
1238
  {
1240
1239
  "type": "icon",
1241
1240
  "name": "edit"
1242
1241
  },
1243
1242
  {
1243
+ "variant": "h3",
1244
1244
  "type": "typography",
1245
- "content": "Edit Task",
1246
- "variant": "h3"
1245
+ "content": "Edit Task"
1247
1246
  }
1248
- ]
1247
+ ],
1248
+ "direction": "horizontal",
1249
+ "type": "stack",
1250
+ "gap": "sm"
1249
1251
  },
1250
1252
  {
1251
1253
  "type": "divider"
1252
1254
  },
1253
1255
  {
1254
- "type": "form-section",
1255
- "entity": "@payload.row",
1256
- "mode": "edit",
1257
- "submitEvent": "SAVE",
1256
+ "cancelEvent": "CLOSE",
1258
1257
  "fields": [
1259
1258
  "title",
1260
1259
  "description",
@@ -1264,12 +1263,13 @@
1264
1263
  "storyPoints",
1265
1264
  "dueDate"
1266
1265
  ],
1267
- "cancelEvent": "CLOSE"
1266
+ "type": "form-section",
1267
+ "mode": "edit",
1268
+ "submitEvent": "SAVE",
1269
+ "entity": "@payload.row"
1268
1270
  }
1269
1271
  ],
1270
- "type": "stack",
1271
- "direction": "vertical",
1272
- "gap": "md"
1272
+ "direction": "vertical"
1273
1273
  }
1274
1274
  ]
1275
1275
  ]
@@ -1346,7 +1346,7 @@
1346
1346
  "event": "TaskLoaded",
1347
1347
  "description": "Fired when Task finishes loading",
1348
1348
  "scope": "internal",
1349
- "payload": [
1349
+ "payloadSchema": [
1350
1350
  {
1351
1351
  "name": "data",
1352
1352
  "type": "[Task]"
@@ -1357,7 +1357,7 @@
1357
1357
  "event": "TaskLoadFailed",
1358
1358
  "description": "Fired when Task fails to load",
1359
1359
  "scope": "internal",
1360
- "payload": [
1360
+ "payloadSchema": [
1361
1361
  {
1362
1362
  "name": "error",
1363
1363
  "type": "string"
@@ -1387,7 +1387,7 @@
1387
1387
  {
1388
1388
  "key": "VIEW",
1389
1389
  "name": "View",
1390
- "payload": [
1390
+ "payloadSchema": [
1391
1391
  {
1392
1392
  "name": "id",
1393
1393
  "type": "string",
@@ -1402,7 +1402,7 @@
1402
1402
  {
1403
1403
  "key": "SAVE",
1404
1404
  "name": "Save",
1405
- "payload": [
1405
+ "payloadSchema": [
1406
1406
  {
1407
1407
  "name": "data",
1408
1408
  "type": "object",
@@ -1413,7 +1413,7 @@
1413
1413
  {
1414
1414
  "key": "TaskLoaded",
1415
1415
  "name": "Task loaded",
1416
- "payload": [
1416
+ "payloadSchema": [
1417
1417
  {
1418
1418
  "name": "data",
1419
1419
  "type": "[Task]"
@@ -1423,7 +1423,7 @@
1423
1423
  {
1424
1424
  "key": "TaskLoadFailed",
1425
1425
  "name": "Task load failed",
1426
- "payload": [
1426
+ "payloadSchema": [
1427
1427
  {
1428
1428
  "name": "error",
1429
1429
  "type": "string"
@@ -1467,48 +1467,51 @@
1467
1467
  "render-ui",
1468
1468
  "modal",
1469
1469
  {
1470
+ "direction": "vertical",
1471
+ "type": "stack",
1472
+ "gap": "md",
1470
1473
  "children": [
1471
1474
  {
1475
+ "align": "center",
1476
+ "gap": "sm",
1472
1477
  "children": [
1473
1478
  {
1474
1479
  "type": "icon",
1475
1480
  "name": "eye"
1476
1481
  },
1477
1482
  {
1483
+ "content": "@entity.title",
1478
1484
  "variant": "h3",
1479
- "type": "typography",
1480
- "content": "@entity.title"
1485
+ "type": "typography"
1481
1486
  }
1482
1487
  ],
1483
- "type": "stack",
1484
1488
  "direction": "horizontal",
1485
- "align": "center",
1486
- "gap": "sm"
1489
+ "type": "stack"
1487
1490
  },
1488
1491
  {
1489
1492
  "type": "divider"
1490
1493
  },
1491
1494
  {
1495
+ "type": "stack",
1492
1496
  "children": [
1493
1497
  {
1498
+ "variant": "caption",
1494
1499
  "content": "Title",
1495
- "type": "typography",
1496
- "variant": "caption"
1500
+ "type": "typography"
1497
1501
  },
1498
1502
  {
1503
+ "type": "typography",
1499
1504
  "content": "@entity.title",
1500
- "variant": "body",
1501
- "type": "typography"
1505
+ "variant": "body"
1502
1506
  }
1503
1507
  ],
1504
1508
  "direction": "horizontal",
1505
- "type": "stack",
1506
1509
  "gap": "md"
1507
1510
  },
1508
1511
  {
1512
+ "type": "stack",
1509
1513
  "direction": "horizontal",
1510
1514
  "gap": "md",
1511
- "type": "stack",
1512
1515
  "children": [
1513
1516
  {
1514
1517
  "content": "Description",
@@ -1517,83 +1520,81 @@
1517
1520
  },
1518
1521
  {
1519
1522
  "content": "@entity.description",
1520
- "variant": "body",
1521
- "type": "typography"
1523
+ "type": "typography",
1524
+ "variant": "body"
1522
1525
  }
1523
1526
  ]
1524
1527
  },
1525
1528
  {
1526
- "gap": "md",
1527
1529
  "direction": "horizontal",
1528
1530
  "type": "stack",
1531
+ "gap": "md",
1529
1532
  "children": [
1530
1533
  {
1531
- "type": "typography",
1534
+ "variant": "caption",
1532
1535
  "content": "Assignee",
1533
- "variant": "caption"
1536
+ "type": "typography"
1534
1537
  },
1535
1538
  {
1539
+ "content": "@entity.assignee",
1536
1540
  "type": "typography",
1537
- "variant": "body",
1538
- "content": "@entity.assignee"
1541
+ "variant": "body"
1539
1542
  }
1540
1543
  ]
1541
1544
  },
1542
1545
  {
1546
+ "type": "stack",
1547
+ "gap": "md",
1548
+ "direction": "horizontal",
1543
1549
  "children": [
1544
1550
  {
1545
1551
  "type": "typography",
1546
- "content": "Priority",
1547
- "variant": "caption"
1552
+ "variant": "caption",
1553
+ "content": "Priority"
1548
1554
  },
1549
1555
  {
1550
- "variant": "body",
1551
1556
  "content": "@entity.priority",
1557
+ "variant": "body",
1552
1558
  "type": "typography"
1553
1559
  }
1554
- ],
1555
- "direction": "horizontal",
1556
- "gap": "md",
1557
- "type": "stack"
1560
+ ]
1558
1561
  },
1559
1562
  {
1560
- "direction": "horizontal",
1561
1563
  "type": "stack",
1562
1564
  "gap": "md",
1563
1565
  "children": [
1564
1566
  {
1567
+ "variant": "caption",
1565
1568
  "content": "Status",
1566
- "type": "typography",
1567
- "variant": "caption"
1569
+ "type": "typography"
1568
1570
  },
1569
1571
  {
1570
1572
  "variant": "body",
1571
- "type": "typography",
1572
- "content": "@entity.status"
1573
+ "content": "@entity.status",
1574
+ "type": "typography"
1573
1575
  }
1574
- ]
1576
+ ],
1577
+ "direction": "horizontal"
1575
1578
  },
1576
1579
  {
1577
- "type": "stack",
1578
1580
  "direction": "horizontal",
1581
+ "type": "stack",
1579
1582
  "children": [
1580
1583
  {
1581
- "variant": "caption",
1584
+ "content": "Story Points",
1582
1585
  "type": "typography",
1583
- "content": "Story Points"
1586
+ "variant": "caption"
1584
1587
  },
1585
1588
  {
1586
1589
  "content": "@entity.storyPoints",
1587
- "variant": "body",
1588
- "type": "typography"
1590
+ "type": "typography",
1591
+ "variant": "body"
1589
1592
  }
1590
1593
  ],
1591
1594
  "gap": "md"
1592
1595
  },
1593
1596
  {
1594
1597
  "gap": "md",
1595
- "type": "stack",
1596
- "direction": "horizontal",
1597
1598
  "children": [
1598
1599
  {
1599
1600
  "type": "typography",
@@ -1605,36 +1606,35 @@
1605
1606
  "type": "typography",
1606
1607
  "variant": "body"
1607
1608
  }
1608
- ]
1609
+ ],
1610
+ "direction": "horizontal",
1611
+ "type": "stack"
1609
1612
  },
1610
1613
  {
1611
1614
  "type": "divider"
1612
1615
  },
1613
1616
  {
1614
- "gap": "sm",
1617
+ "direction": "horizontal",
1618
+ "type": "stack",
1615
1619
  "children": [
1616
1620
  {
1617
- "type": "button",
1618
- "icon": "edit",
1619
1621
  "action": "EDIT",
1620
1622
  "variant": "primary",
1623
+ "icon": "edit",
1624
+ "type": "button",
1621
1625
  "label": "Edit"
1622
1626
  },
1623
1627
  {
1628
+ "type": "button",
1624
1629
  "label": "Close",
1625
1630
  "variant": "ghost",
1626
- "action": "CLOSE",
1627
- "type": "button"
1631
+ "action": "CLOSE"
1628
1632
  }
1629
1633
  ],
1630
- "direction": "horizontal",
1631
1634
  "justify": "end",
1632
- "type": "stack"
1635
+ "gap": "sm"
1633
1636
  }
1634
- ],
1635
- "gap": "md",
1636
- "type": "stack",
1637
- "direction": "vertical"
1637
+ ]
1638
1638
  }
1639
1639
  ]
1640
1640
  ]
@@ -1694,7 +1694,7 @@
1694
1694
  {
1695
1695
  "event": "TASK_DELETED",
1696
1696
  "scope": "external",
1697
- "payload": [
1697
+ "payloadSchema": [
1698
1698
  {
1699
1699
  "name": "id",
1700
1700
  "type": "string"
@@ -1704,7 +1704,7 @@
1704
1704
  {
1705
1705
  "event": "TaskDeleteFailed",
1706
1706
  "scope": "internal",
1707
- "payload": [
1707
+ "payloadSchema": [
1708
1708
  {
1709
1709
  "name": "error",
1710
1710
  "type": "string"
@@ -1718,7 +1718,7 @@
1718
1718
  {
1719
1719
  "event": "TaskDeleted",
1720
1720
  "scope": "internal",
1721
- "payload": [
1721
+ "payloadSchema": [
1722
1722
  {
1723
1723
  "name": "id",
1724
1724
  "type": "string"
@@ -1729,7 +1729,7 @@
1729
1729
  "event": "TaskLoadFailed",
1730
1730
  "description": "Fired when Task fails to load",
1731
1731
  "scope": "internal",
1732
- "payload": [
1732
+ "payloadSchema": [
1733
1733
  {
1734
1734
  "name": "error",
1735
1735
  "type": "string"
@@ -1744,7 +1744,7 @@
1744
1744
  "event": "TaskLoaded",
1745
1745
  "description": "Fired when Task finishes loading",
1746
1746
  "scope": "internal",
1747
- "payload": [
1747
+ "payloadSchema": [
1748
1748
  {
1749
1749
  "name": "data",
1750
1750
  "type": "[Task]"
@@ -1770,7 +1770,7 @@
1770
1770
  {
1771
1771
  "key": "DELETE",
1772
1772
  "name": "Delete",
1773
- "payload": [
1773
+ "payloadSchema": [
1774
1774
  {
1775
1775
  "name": "id",
1776
1776
  "type": "string",
@@ -1797,7 +1797,7 @@
1797
1797
  {
1798
1798
  "key": "TaskDeleteFailed",
1799
1799
  "name": "Task delete failed",
1800
- "payload": [
1800
+ "payloadSchema": [
1801
1801
  {
1802
1802
  "name": "error",
1803
1803
  "type": "string"
@@ -1811,7 +1811,7 @@
1811
1811
  {
1812
1812
  "key": "TaskDeleted",
1813
1813
  "name": "Task deleted",
1814
- "payload": [
1814
+ "payloadSchema": [
1815
1815
  {
1816
1816
  "name": "id",
1817
1817
  "type": "string"
@@ -1821,7 +1821,7 @@
1821
1821
  {
1822
1822
  "key": "TaskLoadFailed",
1823
1823
  "name": "Task load failed",
1824
- "payload": [
1824
+ "payloadSchema": [
1825
1825
  {
1826
1826
  "name": "error",
1827
1827
  "type": "string"
@@ -1835,7 +1835,7 @@
1835
1835
  {
1836
1836
  "key": "TaskLoaded",
1837
1837
  "name": "Task loaded",
1838
- "payload": [
1838
+ "payloadSchema": [
1839
1839
  {
1840
1840
  "name": "data",
1841
1841
  "type": "[Task]"
@@ -1880,8 +1880,9 @@
1880
1880
  "render-ui",
1881
1881
  "modal",
1882
1882
  {
1883
- "gap": "md",
1883
+ "direction": "vertical",
1884
1884
  "type": "stack",
1885
+ "gap": "md",
1885
1886
  "children": [
1886
1887
  {
1887
1888
  "align": "center",
@@ -1891,9 +1892,9 @@
1891
1892
  "type": "icon"
1892
1893
  },
1893
1894
  {
1895
+ "content": "Delete Task",
1894
1896
  "variant": "h3",
1895
- "type": "typography",
1896
- "content": "Delete Task"
1897
+ "type": "typography"
1897
1898
  }
1898
1899
  ],
1899
1900
  "direction": "horizontal",
@@ -1905,32 +1906,31 @@
1905
1906
  },
1906
1907
  {
1907
1908
  "variant": "error",
1908
- "message": "This action cannot be undone.",
1909
- "type": "alert"
1909
+ "type": "alert",
1910
+ "message": "This action cannot be undone."
1910
1911
  },
1911
1912
  {
1912
- "type": "stack",
1913
- "direction": "horizontal",
1914
1913
  "children": [
1915
1914
  {
1916
- "type": "button",
1917
1915
  "label": "Cancel",
1916
+ "type": "button",
1918
1917
  "action": "CANCEL",
1919
1918
  "variant": "ghost"
1920
1919
  },
1921
1920
  {
1922
1921
  "variant": "danger",
1922
+ "type": "button",
1923
1923
  "icon": "check",
1924
1924
  "action": "CONFIRM_DELETE",
1925
- "type": "button",
1926
1925
  "label": "Delete"
1927
1926
  }
1928
1927
  ],
1929
- "justify": "end",
1930
- "gap": "sm"
1928
+ "direction": "horizontal",
1929
+ "type": "stack",
1930
+ "gap": "sm",
1931
+ "justify": "end"
1931
1932
  }
1932
- ],
1933
- "direction": "vertical"
1933
+ ]
1934
1934
  }
1935
1935
  ]
1936
1936
  ]
@@ -1947,8 +1947,8 @@
1947
1947
  "@entity.pendingId",
1948
1948
  {
1949
1949
  "emit": {
1950
- "success": "TaskDeleted",
1951
- "failure": "TaskDeleteFailed"
1950
+ "failure": "TaskDeleteFailed",
1951
+ "success": "TaskDeleted"
1952
1952
  }
1953
1953
  }
1954
1954
  ],
@@ -2111,7 +2111,7 @@
2111
2111
  {
2112
2112
  "event": "ASSIGN_TASK",
2113
2113
  "scope": "external",
2114
- "payload": [
2114
+ "payloadSchema": [
2115
2115
  {
2116
2116
  "name": "id",
2117
2117
  "type": "string"
@@ -2121,7 +2121,7 @@
2121
2121
  {
2122
2122
  "event": "COMPLETE_SPRINT",
2123
2123
  "scope": "external",
2124
- "payload": [
2124
+ "payloadSchema": [
2125
2125
  {
2126
2126
  "name": "id",
2127
2127
  "type": "string"
@@ -2132,7 +2132,7 @@
2132
2132
  "event": "SprintLoaded",
2133
2133
  "description": "Fired when Sprint finishes loading",
2134
2134
  "scope": "internal",
2135
- "payload": [
2135
+ "payloadSchema": [
2136
2136
  {
2137
2137
  "name": "data",
2138
2138
  "type": "[Sprint]"
@@ -2143,7 +2143,7 @@
2143
2143
  "event": "SprintLoadFailed",
2144
2144
  "description": "Fired when Sprint fails to load",
2145
2145
  "scope": "internal",
2146
- "payload": [
2146
+ "payloadSchema": [
2147
2147
  {
2148
2148
  "name": "error",
2149
2149
  "type": "string"
@@ -2196,7 +2196,7 @@
2196
2196
  {
2197
2197
  "key": "SprintLoaded",
2198
2198
  "name": "Sprint loaded",
2199
- "payload": [
2199
+ "payloadSchema": [
2200
2200
  {
2201
2201
  "name": "data",
2202
2202
  "type": "[Sprint]"
@@ -2206,7 +2206,7 @@
2206
2206
  {
2207
2207
  "key": "SprintLoadFailed",
2208
2208
  "name": "Sprint load failed",
2209
- "payload": [
2209
+ "payloadSchema": [
2210
2210
  {
2211
2211
  "name": "error",
2212
2212
  "type": "string"
@@ -2237,8 +2237,8 @@
2237
2237
  "Sprint",
2238
2238
  {
2239
2239
  "emit": {
2240
- "success": "SprintLoaded",
2241
- "failure": "SprintLoadFailed"
2240
+ "failure": "SprintLoadFailed",
2241
+ "success": "SprintLoaded"
2242
2242
  }
2243
2243
  }
2244
2244
  ],
@@ -2246,22 +2246,22 @@
2246
2246
  "render-ui",
2247
2247
  "main",
2248
2248
  {
2249
- "align": "center",
2250
- "gap": "md",
2251
- "direction": "vertical",
2252
- "className": "py-12",
2253
2249
  "children": [
2254
2250
  {
2255
2251
  "type": "spinner"
2256
2252
  },
2257
2253
  {
2254
+ "color": "muted",
2258
2255
  "type": "typography",
2259
2256
  "content": "Loading…",
2260
- "color": "muted",
2261
2257
  "variant": "caption"
2262
2258
  }
2263
2259
  ],
2264
- "type": "stack"
2260
+ "gap": "md",
2261
+ "type": "stack",
2262
+ "direction": "vertical",
2263
+ "align": "center",
2264
+ "className": "py-12"
2265
2265
  }
2266
2266
  ]
2267
2267
  ]
@@ -2275,66 +2275,69 @@
2275
2275
  "render-ui",
2276
2276
  "main",
2277
2277
  {
2278
+ "appName": "ProjectManagerApp",
2279
+ "type": "dashboard-layout",
2278
2280
  "navItems": [
2279
2281
  {
2280
- "href": "/tasks",
2281
2282
  "icon": "check-square",
2282
- "label": "Tasks"
2283
+ "label": "Tasks",
2284
+ "href": "/tasks"
2283
2285
  },
2284
2286
  {
2285
- "icon": "zap",
2287
+ "label": "Sprints",
2286
2288
  "href": "/sprints",
2287
- "label": "Sprints"
2289
+ "icon": "zap"
2288
2290
  },
2289
2291
  {
2290
- "icon": "layout-list",
2291
2292
  "label": "Burndown",
2293
+ "icon": "layout-list",
2292
2294
  "href": "/burndown"
2293
2295
  }
2294
2296
  ],
2295
- "appName": "ProjectManagerApp",
2296
2297
  "children": [
2297
2298
  {
2299
+ "type": "stack",
2300
+ "className": "max-w-5xl mx-auto w-full",
2298
2301
  "children": [
2299
2302
  {
2300
- "type": "stack",
2301
- "direction": "horizontal",
2303
+ "gap": "md",
2302
2304
  "justify": "between",
2303
2305
  "align": "center",
2306
+ "direction": "horizontal",
2307
+ "type": "stack",
2304
2308
  "children": [
2305
2309
  {
2306
2310
  "gap": "sm",
2311
+ "direction": "horizontal",
2312
+ "type": "stack",
2313
+ "align": "center",
2307
2314
  "children": [
2308
2315
  {
2309
2316
  "type": "icon",
2310
2317
  "name": "zap"
2311
2318
  },
2312
2319
  {
2320
+ "type": "typography",
2313
2321
  "variant": "h2",
2314
- "content": "Sprints",
2315
- "type": "typography"
2322
+ "content": "Sprints"
2316
2323
  }
2317
- ],
2318
- "direction": "horizontal",
2319
- "type": "stack",
2320
- "align": "center"
2324
+ ]
2321
2325
  },
2322
2326
  {
2327
+ "gap": "sm",
2323
2328
  "type": "stack",
2329
+ "direction": "horizontal",
2324
2330
  "children": [
2325
2331
  {
2326
2332
  "action": "CREATE",
2327
- "label": "Create Sprint",
2328
2333
  "icon": "plus",
2329
- "type": "button",
2330
- "variant": "primary"
2334
+ "variant": "primary",
2335
+ "label": "Create Sprint",
2336
+ "type": "button"
2331
2337
  }
2332
- ],
2333
- "gap": "sm",
2334
- "direction": "horizontal"
2338
+ ]
2335
2339
  }
2336
- ],
2337
- "gap": "md"
2340
+ ]
2338
2341
  },
2339
2342
  {
2340
2343
  "type": "divider"
@@ -2343,12 +2346,12 @@
2343
2346
  "columns": [
2344
2347
  {
2345
2348
  "name": "name",
2346
- "variant": "h3",
2347
- "icon": "zap"
2349
+ "icon": "zap",
2350
+ "variant": "h3"
2348
2351
  },
2349
2352
  {
2350
- "variant": "badge",
2351
- "name": "status"
2353
+ "name": "status",
2354
+ "variant": "badge"
2352
2355
  },
2353
2356
  {
2354
2357
  "name": "goal",
@@ -2356,54 +2359,51 @@
2356
2359
  },
2357
2360
  {
2358
2361
  "name": "startDate",
2362
+ "label": "Start",
2359
2363
  "variant": "caption",
2360
- "format": "date",
2361
- "label": "Start"
2364
+ "format": "date"
2362
2365
  },
2363
2366
  {
2364
- "label": "End",
2365
2367
  "name": "endDate",
2366
- "variant": "caption",
2367
- "format": "date"
2368
+ "format": "date",
2369
+ "label": "End",
2370
+ "variant": "caption"
2368
2371
  },
2369
2372
  {
2370
2373
  "name": "taskCount",
2374
+ "variant": "body",
2371
2375
  "format": "number",
2372
- "label": "Tasks",
2373
- "variant": "body"
2376
+ "label": "Tasks"
2374
2377
  }
2375
2378
  ],
2376
- "type": "data-grid",
2377
- "entity": "@payload.data",
2378
2379
  "cols": 2.0,
2379
2380
  "gap": "md",
2381
+ "type": "data-grid",
2382
+ "entity": "@payload.data",
2383
+ "fields": [],
2380
2384
  "itemActions": [
2381
2385
  {
2382
- "label": "View",
2383
2386
  "variant": "ghost",
2387
+ "label": "View",
2384
2388
  "event": "VIEW"
2385
2389
  },
2386
2390
  {
2387
- "variant": "ghost",
2388
2391
  "label": "Edit",
2389
- "event": "EDIT"
2392
+ "event": "EDIT",
2393
+ "variant": "ghost"
2390
2394
  },
2391
2395
  {
2392
- "variant": "danger",
2396
+ "label": "Delete",
2393
2397
  "event": "DELETE",
2394
- "label": "Delete"
2398
+ "variant": "danger"
2395
2399
  }
2396
- ],
2397
- "fields": []
2400
+ ]
2398
2401
  }
2399
2402
  ],
2400
- "className": "max-w-5xl mx-auto w-full",
2401
2403
  "gap": "lg",
2402
- "type": "stack",
2403
2404
  "direction": "vertical"
2404
2405
  }
2405
- ],
2406
- "type": "dashboard-layout"
2406
+ ]
2407
2407
  }
2408
2408
  ]
2409
2409
  ]
@@ -2417,36 +2417,36 @@
2417
2417
  "render-ui",
2418
2418
  "main",
2419
2419
  {
2420
+ "direction": "vertical",
2420
2421
  "type": "stack",
2421
- "align": "center",
2422
2422
  "gap": "md",
2423
2423
  "className": "py-12",
2424
+ "align": "center",
2424
2425
  "children": [
2425
2426
  {
2426
- "type": "icon",
2427
2427
  "name": "alert-triangle",
2428
+ "type": "icon",
2428
2429
  "color": "destructive"
2429
2430
  },
2430
2431
  {
2431
- "variant": "h3",
2432
2432
  "type": "typography",
2433
- "content": "Failed to load sprint"
2433
+ "content": "Failed to load sprint",
2434
+ "variant": "h3"
2434
2435
  },
2435
2436
  {
2436
2437
  "type": "typography",
2438
+ "color": "muted",
2437
2439
  "variant": "body",
2438
- "content": "@payload.error",
2439
- "color": "muted"
2440
+ "content": "@payload.error"
2440
2441
  },
2441
2442
  {
2442
- "icon": "rotate-ccw",
2443
2443
  "action": "INIT",
2444
- "label": "Retry",
2444
+ "type": "button",
2445
2445
  "variant": "primary",
2446
- "type": "button"
2446
+ "icon": "rotate-ccw",
2447
+ "label": "Retry"
2447
2448
  }
2448
- ],
2449
- "direction": "vertical"
2449
+ ]
2450
2450
  }
2451
2451
  ]
2452
2452
  ]
@@ -2467,7 +2467,7 @@
2467
2467
  "event": "SprintLoadFailed",
2468
2468
  "description": "Fired when Sprint fails to load",
2469
2469
  "scope": "internal",
2470
- "payload": [
2470
+ "payloadSchema": [
2471
2471
  {
2472
2472
  "name": "error",
2473
2473
  "type": "string"
@@ -2482,7 +2482,7 @@
2482
2482
  "event": "SprintLoaded",
2483
2483
  "description": "Fired when Sprint finishes loading",
2484
2484
  "scope": "internal",
2485
- "payload": [
2485
+ "payloadSchema": [
2486
2486
  {
2487
2487
  "name": "data",
2488
2488
  "type": "[Sprint]"
@@ -2492,7 +2492,7 @@
2492
2492
  {
2493
2493
  "event": "SprintSaveFailed",
2494
2494
  "scope": "internal",
2495
- "payload": [
2495
+ "payloadSchema": [
2496
2496
  {
2497
2497
  "name": "error",
2498
2498
  "type": "string"
@@ -2506,7 +2506,7 @@
2506
2506
  {
2507
2507
  "event": "SprintSaved",
2508
2508
  "scope": "internal",
2509
- "payload": [
2509
+ "payloadSchema": [
2510
2510
  {
2511
2511
  "name": "id",
2512
2512
  "type": "string"
@@ -2540,7 +2540,7 @@
2540
2540
  {
2541
2541
  "key": "SAVE",
2542
2542
  "name": "Save",
2543
- "payload": [
2543
+ "payloadSchema": [
2544
2544
  {
2545
2545
  "name": "data",
2546
2546
  "type": "string"
@@ -2554,7 +2554,7 @@
2554
2554
  {
2555
2555
  "key": "SprintLoadFailed",
2556
2556
  "name": "Sprint load failed",
2557
- "payload": [
2557
+ "payloadSchema": [
2558
2558
  {
2559
2559
  "name": "error",
2560
2560
  "type": "string"
@@ -2568,7 +2568,7 @@
2568
2568
  {
2569
2569
  "key": "SprintLoaded",
2570
2570
  "name": "Sprint loaded",
2571
- "payload": [
2571
+ "payloadSchema": [
2572
2572
  {
2573
2573
  "name": "data",
2574
2574
  "type": "[Sprint]"
@@ -2578,7 +2578,7 @@
2578
2578
  {
2579
2579
  "key": "SprintSaveFailed",
2580
2580
  "name": "Sprint save failed",
2581
- "payload": [
2581
+ "payloadSchema": [
2582
2582
  {
2583
2583
  "name": "error",
2584
2584
  "type": "string"
@@ -2592,7 +2592,7 @@
2592
2592
  {
2593
2593
  "key": "SprintSaved",
2594
2594
  "name": "Sprint saved",
2595
- "payload": [
2595
+ "payloadSchema": [
2596
2596
  {
2597
2597
  "name": "id",
2598
2598
  "type": "string"
@@ -2631,9 +2631,12 @@
2631
2631
  "render-ui",
2632
2632
  "modal",
2633
2633
  {
2634
+ "gap": "md",
2635
+ "type": "stack",
2634
2636
  "direction": "vertical",
2635
2637
  "children": [
2636
2638
  {
2639
+ "direction": "horizontal",
2637
2640
  "type": "stack",
2638
2641
  "children": [
2639
2642
  {
@@ -2641,19 +2644,17 @@
2641
2644
  "type": "icon"
2642
2645
  },
2643
2646
  {
2644
- "content": "Create Sprint",
2645
2647
  "variant": "h3",
2646
- "type": "typography"
2648
+ "type": "typography",
2649
+ "content": "Create Sprint"
2647
2650
  }
2648
2651
  ],
2649
- "gap": "sm",
2650
- "direction": "horizontal"
2652
+ "gap": "sm"
2651
2653
  },
2652
2654
  {
2653
2655
  "type": "divider"
2654
2656
  },
2655
2657
  {
2656
- "cancelEvent": "CLOSE",
2657
2658
  "fields": [
2658
2659
  "name",
2659
2660
  "startDate",
@@ -2662,13 +2663,12 @@
2662
2663
  "status",
2663
2664
  "taskCount"
2664
2665
  ],
2665
- "mode": "create",
2666
2666
  "submitEvent": "SAVE",
2667
- "type": "form-section"
2667
+ "mode": "create",
2668
+ "type": "form-section",
2669
+ "cancelEvent": "CLOSE"
2668
2670
  }
2669
- ],
2670
- "type": "stack",
2671
- "gap": "md"
2671
+ ]
2672
2672
  }
2673
2673
  ]
2674
2674
  ]
@@ -2748,7 +2748,7 @@
2748
2748
  "event": "SprintLoadFailed",
2749
2749
  "description": "Fired when Sprint fails to load",
2750
2750
  "scope": "internal",
2751
- "payload": [
2751
+ "payloadSchema": [
2752
2752
  {
2753
2753
  "name": "error",
2754
2754
  "type": "string"
@@ -2763,7 +2763,7 @@
2763
2763
  "event": "SprintLoaded",
2764
2764
  "description": "Fired when Sprint finishes loading",
2765
2765
  "scope": "internal",
2766
- "payload": [
2766
+ "payloadSchema": [
2767
2767
  {
2768
2768
  "name": "data",
2769
2769
  "type": "[Sprint]"
@@ -2773,7 +2773,7 @@
2773
2773
  {
2774
2774
  "event": "SprintUpdateFailed",
2775
2775
  "scope": "internal",
2776
- "payload": [
2776
+ "payloadSchema": [
2777
2777
  {
2778
2778
  "name": "error",
2779
2779
  "type": "string"
@@ -2787,7 +2787,7 @@
2787
2787
  {
2788
2788
  "event": "SprintUpdated",
2789
2789
  "scope": "internal",
2790
- "payload": [
2790
+ "payloadSchema": [
2791
2791
  {
2792
2792
  "name": "id",
2793
2793
  "type": "string"
@@ -2813,7 +2813,7 @@
2813
2813
  {
2814
2814
  "key": "EDIT",
2815
2815
  "name": "Edit",
2816
- "payload": [
2816
+ "payloadSchema": [
2817
2817
  {
2818
2818
  "name": "id",
2819
2819
  "type": "string"
@@ -2831,7 +2831,7 @@
2831
2831
  {
2832
2832
  "key": "SAVE",
2833
2833
  "name": "Save",
2834
- "payload": [
2834
+ "payloadSchema": [
2835
2835
  {
2836
2836
  "name": "data",
2837
2837
  "type": "string"
@@ -2845,7 +2845,7 @@
2845
2845
  {
2846
2846
  "key": "SprintLoadFailed",
2847
2847
  "name": "Sprint load failed",
2848
- "payload": [
2848
+ "payloadSchema": [
2849
2849
  {
2850
2850
  "name": "error",
2851
2851
  "type": "string"
@@ -2859,7 +2859,7 @@
2859
2859
  {
2860
2860
  "key": "SprintLoaded",
2861
2861
  "name": "Sprint loaded",
2862
- "payload": [
2862
+ "payloadSchema": [
2863
2863
  {
2864
2864
  "name": "data",
2865
2865
  "type": "[Sprint]"
@@ -2869,7 +2869,7 @@
2869
2869
  {
2870
2870
  "key": "SprintUpdateFailed",
2871
2871
  "name": "Sprint update failed",
2872
- "payload": [
2872
+ "payloadSchema": [
2873
2873
  {
2874
2874
  "name": "error",
2875
2875
  "type": "string"
@@ -2883,7 +2883,7 @@
2883
2883
  {
2884
2884
  "key": "SprintUpdated",
2885
2885
  "name": "Sprint updated",
2886
- "payload": [
2886
+ "payloadSchema": [
2887
2887
  {
2888
2888
  "name": "id",
2889
2889
  "type": "string"
@@ -2912,42 +2912,42 @@
2912
2912
  "fetch",
2913
2913
  "Sprint",
2914
2914
  {
2915
+ "id": "@payload.id",
2915
2916
  "emit": {
2916
2917
  "success": "SprintLoaded",
2917
2918
  "failure": "SprintLoadFailed"
2918
- },
2919
- "id": "@payload.id"
2919
+ }
2920
2920
  }
2921
2921
  ],
2922
2922
  [
2923
2923
  "render-ui",
2924
2924
  "modal",
2925
2925
  {
2926
- "gap": "md",
2927
2926
  "type": "stack",
2928
- "direction": "vertical",
2929
2927
  "children": [
2930
2928
  {
2931
- "type": "stack",
2932
2929
  "children": [
2933
2930
  {
2934
- "type": "icon",
2935
- "name": "edit"
2931
+ "name": "edit",
2932
+ "type": "icon"
2936
2933
  },
2937
2934
  {
2938
2935
  "content": "Edit Sprint",
2939
- "variant": "h3",
2940
- "type": "typography"
2936
+ "type": "typography",
2937
+ "variant": "h3"
2941
2938
  }
2942
2939
  ],
2943
2940
  "direction": "horizontal",
2944
- "gap": "sm"
2941
+ "gap": "sm",
2942
+ "type": "stack"
2945
2943
  },
2946
2944
  {
2947
2945
  "type": "divider"
2948
2946
  },
2949
2947
  {
2950
2948
  "type": "form-section",
2949
+ "mode": "edit",
2950
+ "cancelEvent": "CLOSE",
2951
2951
  "submitEvent": "SAVE",
2952
2952
  "fields": [
2953
2953
  "name",
@@ -2957,11 +2957,11 @@
2957
2957
  "status",
2958
2958
  "taskCount"
2959
2959
  ],
2960
- "entity": "@payload.row",
2961
- "mode": "edit",
2962
- "cancelEvent": "CLOSE"
2960
+ "entity": "@payload.row"
2963
2961
  }
2964
- ]
2962
+ ],
2963
+ "direction": "vertical",
2964
+ "gap": "md"
2965
2965
  }
2966
2966
  ]
2967
2967
  ]
@@ -3038,7 +3038,7 @@
3038
3038
  "event": "SprintLoaded",
3039
3039
  "description": "Fired when Sprint finishes loading",
3040
3040
  "scope": "internal",
3041
- "payload": [
3041
+ "payloadSchema": [
3042
3042
  {
3043
3043
  "name": "data",
3044
3044
  "type": "[Sprint]"
@@ -3049,7 +3049,7 @@
3049
3049
  "event": "SprintLoadFailed",
3050
3050
  "description": "Fired when Sprint fails to load",
3051
3051
  "scope": "internal",
3052
- "payload": [
3052
+ "payloadSchema": [
3053
3053
  {
3054
3054
  "name": "error",
3055
3055
  "type": "string"
@@ -3079,7 +3079,7 @@
3079
3079
  {
3080
3080
  "key": "VIEW",
3081
3081
  "name": "View",
3082
- "payload": [
3082
+ "payloadSchema": [
3083
3083
  {
3084
3084
  "name": "id",
3085
3085
  "type": "string"
@@ -3097,7 +3097,7 @@
3097
3097
  {
3098
3098
  "key": "SprintLoaded",
3099
3099
  "name": "Sprint loaded",
3100
- "payload": [
3100
+ "payloadSchema": [
3101
3101
  {
3102
3102
  "name": "data",
3103
3103
  "type": "[Sprint]"
@@ -3107,7 +3107,7 @@
3107
3107
  {
3108
3108
  "key": "SprintLoadFailed",
3109
3109
  "name": "Sprint load failed",
3110
- "payload": [
3110
+ "payloadSchema": [
3111
3111
  {
3112
3112
  "name": "error",
3113
3113
  "type": "string"
@@ -3140,11 +3140,11 @@
3140
3140
  "fetch",
3141
3141
  "Sprint",
3142
3142
  {
3143
- "id": "@payload.id",
3144
3143
  "emit": {
3145
3144
  "success": "SprintLoaded",
3146
3145
  "failure": "SprintLoadFailed"
3147
- }
3146
+ },
3147
+ "id": "@payload.id"
3148
3148
  }
3149
3149
  ],
3150
3150
  [
@@ -3152,9 +3152,11 @@
3152
3152
  "modal",
3153
3153
  {
3154
3154
  "gap": "md",
3155
- "type": "stack",
3155
+ "direction": "vertical",
3156
3156
  "children": [
3157
3157
  {
3158
+ "gap": "sm",
3159
+ "direction": "horizontal",
3158
3160
  "type": "stack",
3159
3161
  "align": "center",
3160
3162
  "children": [
@@ -3163,26 +3165,24 @@
3163
3165
  "type": "icon"
3164
3166
  },
3165
3167
  {
3166
- "variant": "h3",
3168
+ "content": "@entity.name",
3167
3169
  "type": "typography",
3168
- "content": "@entity.name"
3170
+ "variant": "h3"
3169
3171
  }
3170
- ],
3171
- "direction": "horizontal",
3172
- "gap": "sm"
3172
+ ]
3173
3173
  },
3174
3174
  {
3175
3175
  "type": "divider"
3176
3176
  },
3177
3177
  {
3178
- "type": "stack",
3179
3178
  "gap": "md",
3180
3179
  "direction": "horizontal",
3180
+ "type": "stack",
3181
3181
  "children": [
3182
3182
  {
3183
- "type": "typography",
3184
3183
  "variant": "caption",
3185
- "content": "Name"
3184
+ "content": "Name",
3185
+ "type": "typography"
3186
3186
  },
3187
3187
  {
3188
3188
  "type": "typography",
@@ -3194,38 +3194,40 @@
3194
3194
  {
3195
3195
  "type": "stack",
3196
3196
  "direction": "horizontal",
3197
+ "gap": "md",
3197
3198
  "children": [
3198
3199
  {
3200
+ "content": "Start Date",
3199
3201
  "type": "typography",
3200
- "variant": "caption",
3201
- "content": "Start Date"
3202
+ "variant": "caption"
3202
3203
  },
3203
3204
  {
3204
- "type": "typography",
3205
+ "content": "@entity.startDate",
3205
3206
  "variant": "body",
3206
- "content": "@entity.startDate"
3207
+ "type": "typography"
3207
3208
  }
3208
- ],
3209
- "gap": "md"
3209
+ ]
3210
3210
  },
3211
3211
  {
3212
- "gap": "md",
3213
- "direction": "horizontal",
3214
3212
  "type": "stack",
3213
+ "gap": "md",
3215
3214
  "children": [
3216
3215
  {
3217
- "variant": "caption",
3218
3216
  "type": "typography",
3217
+ "variant": "caption",
3219
3218
  "content": "End Date"
3220
3219
  },
3221
3220
  {
3222
- "variant": "body",
3223
3221
  "content": "@entity.endDate",
3224
- "type": "typography"
3222
+ "type": "typography",
3223
+ "variant": "body"
3225
3224
  }
3226
- ]
3225
+ ],
3226
+ "direction": "horizontal"
3227
3227
  },
3228
3228
  {
3229
+ "direction": "horizontal",
3230
+ "type": "stack",
3229
3231
  "children": [
3230
3232
  {
3231
3233
  "variant": "caption",
@@ -3233,40 +3235,36 @@
3233
3235
  "type": "typography"
3234
3236
  },
3235
3237
  {
3236
- "type": "typography",
3237
3238
  "variant": "body",
3239
+ "type": "typography",
3238
3240
  "content": "@entity.goal"
3239
3241
  }
3240
3242
  ],
3241
- "direction": "horizontal",
3242
- "gap": "md",
3243
- "type": "stack"
3243
+ "gap": "md"
3244
3244
  },
3245
3245
  {
3246
- "direction": "horizontal",
3247
- "gap": "md",
3248
3246
  "children": [
3249
3247
  {
3250
- "variant": "caption",
3248
+ "content": "Status",
3251
3249
  "type": "typography",
3252
- "content": "Status"
3250
+ "variant": "caption"
3253
3251
  },
3254
3252
  {
3253
+ "variant": "body",
3255
3254
  "type": "typography",
3256
- "content": "@entity.status",
3257
- "variant": "body"
3255
+ "content": "@entity.status"
3258
3256
  }
3259
3257
  ],
3260
- "type": "stack"
3258
+ "type": "stack",
3259
+ "direction": "horizontal",
3260
+ "gap": "md"
3261
3261
  },
3262
3262
  {
3263
- "type": "stack",
3264
- "gap": "md",
3265
3263
  "children": [
3266
3264
  {
3267
3265
  "variant": "caption",
3268
- "content": "Task Count",
3269
- "type": "typography"
3266
+ "type": "typography",
3267
+ "content": "Task Count"
3270
3268
  },
3271
3269
  {
3272
3270
  "type": "typography",
@@ -3274,34 +3272,36 @@
3274
3272
  "variant": "body"
3275
3273
  }
3276
3274
  ],
3277
- "direction": "horizontal"
3275
+ "type": "stack",
3276
+ "direction": "horizontal",
3277
+ "gap": "md"
3278
3278
  },
3279
3279
  {
3280
3280
  "type": "divider"
3281
3281
  },
3282
3282
  {
3283
- "justify": "end",
3284
3283
  "children": [
3285
3284
  {
3286
- "icon": "edit",
3287
- "variant": "primary",
3288
3285
  "label": "Edit",
3289
3286
  "action": "EDIT",
3290
- "type": "button"
3287
+ "type": "button",
3288
+ "icon": "edit",
3289
+ "variant": "primary"
3291
3290
  },
3292
3291
  {
3293
- "action": "CLOSE",
3294
- "type": "button",
3295
3292
  "label": "Close",
3296
- "variant": "ghost"
3293
+ "variant": "ghost",
3294
+ "type": "button",
3295
+ "action": "CLOSE"
3297
3296
  }
3298
3297
  ],
3299
3298
  "type": "stack",
3300
- "gap": "sm",
3301
- "direction": "horizontal"
3299
+ "justify": "end",
3300
+ "direction": "horizontal",
3301
+ "gap": "sm"
3302
3302
  }
3303
3303
  ],
3304
- "direction": "vertical"
3304
+ "type": "stack"
3305
3305
  }
3306
3306
  ]
3307
3307
  ]
@@ -3364,7 +3364,7 @@
3364
3364
  {
3365
3365
  "event": "SprintDeleteFailed",
3366
3366
  "scope": "internal",
3367
- "payload": [
3367
+ "payloadSchema": [
3368
3368
  {
3369
3369
  "name": "error",
3370
3370
  "type": "string"
@@ -3378,7 +3378,7 @@
3378
3378
  {
3379
3379
  "event": "SprintDeleted",
3380
3380
  "scope": "internal",
3381
- "payload": [
3381
+ "payloadSchema": [
3382
3382
  {
3383
3383
  "name": "id",
3384
3384
  "type": "string"
@@ -3389,7 +3389,7 @@
3389
3389
  "event": "SprintLoadFailed",
3390
3390
  "description": "Fired when Sprint fails to load",
3391
3391
  "scope": "internal",
3392
- "payload": [
3392
+ "payloadSchema": [
3393
3393
  {
3394
3394
  "name": "error",
3395
3395
  "type": "string"
@@ -3404,7 +3404,7 @@
3404
3404
  "event": "SprintLoaded",
3405
3405
  "description": "Fired when Sprint finishes loading",
3406
3406
  "scope": "internal",
3407
- "payload": [
3407
+ "payloadSchema": [
3408
3408
  {
3409
3409
  "name": "data",
3410
3410
  "type": "[Sprint]"
@@ -3430,7 +3430,7 @@
3430
3430
  {
3431
3431
  "key": "DELETE",
3432
3432
  "name": "Delete",
3433
- "payload": [
3433
+ "payloadSchema": [
3434
3434
  {
3435
3435
  "name": "id",
3436
3436
  "type": "string"
@@ -3456,7 +3456,7 @@
3456
3456
  {
3457
3457
  "key": "SprintDeleteFailed",
3458
3458
  "name": "Sprint delete failed",
3459
- "payload": [
3459
+ "payloadSchema": [
3460
3460
  {
3461
3461
  "name": "error",
3462
3462
  "type": "string"
@@ -3470,7 +3470,7 @@
3470
3470
  {
3471
3471
  "key": "SprintDeleted",
3472
3472
  "name": "Sprint deleted",
3473
- "payload": [
3473
+ "payloadSchema": [
3474
3474
  {
3475
3475
  "name": "id",
3476
3476
  "type": "string"
@@ -3480,7 +3480,7 @@
3480
3480
  {
3481
3481
  "key": "SprintLoadFailed",
3482
3482
  "name": "Sprint load failed",
3483
- "payload": [
3483
+ "payloadSchema": [
3484
3484
  {
3485
3485
  "name": "error",
3486
3486
  "type": "string"
@@ -3494,7 +3494,7 @@
3494
3494
  {
3495
3495
  "key": "SprintLoaded",
3496
3496
  "name": "Sprint loaded",
3497
- "payload": [
3497
+ "payloadSchema": [
3498
3498
  {
3499
3499
  "name": "data",
3500
3500
  "type": "[Sprint]"
@@ -3529,8 +3529,8 @@
3529
3529
  "Sprint",
3530
3530
  {
3531
3531
  "emit": {
3532
- "failure": "SprintLoadFailed",
3533
- "success": "SprintLoaded"
3532
+ "success": "SprintLoaded",
3533
+ "failure": "SprintLoadFailed"
3534
3534
  },
3535
3535
  "id": "@payload.id"
3536
3536
  }
@@ -3539,25 +3539,25 @@
3539
3539
  "render-ui",
3540
3540
  "modal",
3541
3541
  {
3542
- "direction": "vertical",
3543
3542
  "gap": "md",
3543
+ "direction": "vertical",
3544
3544
  "children": [
3545
3545
  {
3546
- "align": "center",
3547
3546
  "children": [
3548
3547
  {
3549
3548
  "type": "icon",
3550
3549
  "name": "alert-triangle"
3551
3550
  },
3552
3551
  {
3552
+ "type": "typography",
3553
3553
  "content": "Delete Sprint",
3554
- "variant": "h3",
3555
- "type": "typography"
3554
+ "variant": "h3"
3556
3555
  }
3557
3556
  ],
3557
+ "direction": "horizontal",
3558
3558
  "gap": "sm",
3559
3559
  "type": "stack",
3560
- "direction": "horizontal"
3560
+ "align": "center"
3561
3561
  },
3562
3562
  {
3563
3563
  "type": "divider"
@@ -3568,25 +3568,25 @@
3568
3568
  "variant": "error"
3569
3569
  },
3570
3570
  {
3571
- "direction": "horizontal",
3572
- "gap": "sm",
3573
3571
  "justify": "end",
3574
3572
  "children": [
3575
3573
  {
3576
3574
  "type": "button",
3577
- "action": "CANCEL",
3578
3575
  "variant": "ghost",
3576
+ "action": "CANCEL",
3579
3577
  "label": "Cancel"
3580
3578
  },
3581
3579
  {
3582
- "action": "CONFIRM_DELETE",
3583
3580
  "label": "Delete",
3584
- "type": "button",
3585
3581
  "variant": "danger",
3586
- "icon": "check"
3582
+ "action": "CONFIRM_DELETE",
3583
+ "icon": "check",
3584
+ "type": "button"
3587
3585
  }
3588
3586
  ],
3589
- "type": "stack"
3587
+ "direction": "horizontal",
3588
+ "type": "stack",
3589
+ "gap": "sm"
3590
3590
  }
3591
3591
  ],
3592
3592
  "type": "stack"
@@ -3606,8 +3606,8 @@
3606
3606
  "@entity.pendingId",
3607
3607
  {
3608
3608
  "emit": {
3609
- "failure": "SprintDeleteFailed",
3610
- "success": "SprintDeleted"
3609
+ "success": "SprintDeleted",
3610
+ "failure": "SprintDeleteFailed"
3611
3611
  }
3612
3612
  }
3613
3613
  ],
@@ -3751,7 +3751,7 @@
3751
3751
  "event": "BurndownLoaded",
3752
3752
  "description": "Fired when Burndown finishes loading",
3753
3753
  "scope": "internal",
3754
- "payload": [
3754
+ "payloadSchema": [
3755
3755
  {
3756
3756
  "name": "data",
3757
3757
  "type": "[Burndown]"
@@ -3762,7 +3762,7 @@
3762
3762
  "event": "BurndownLoadFailed",
3763
3763
  "description": "Fired when Burndown fails to load",
3764
3764
  "scope": "internal",
3765
- "payload": [
3765
+ "payloadSchema": [
3766
3766
  {
3767
3767
  "name": "error",
3768
3768
  "type": "string"
@@ -3816,7 +3816,7 @@
3816
3816
  {
3817
3817
  "key": "BurndownLoaded",
3818
3818
  "name": "Burndown loaded",
3819
- "payload": [
3819
+ "payloadSchema": [
3820
3820
  {
3821
3821
  "name": "data",
3822
3822
  "type": "[Burndown]"
@@ -3826,7 +3826,7 @@
3826
3826
  {
3827
3827
  "key": "BurndownLoadFailed",
3828
3828
  "name": "Burndown load failed",
3829
- "payload": [
3829
+ "payloadSchema": [
3830
3830
  {
3831
3831
  "name": "error",
3832
3832
  "type": "string"
@@ -3858,6 +3858,25 @@
3858
3858
  "render-ui",
3859
3859
  "main",
3860
3860
  {
3861
+ "appName": "ProjectManagerApp",
3862
+ "navItems": [
3863
+ {
3864
+ "href": "/tasks",
3865
+ "icon": "check-square",
3866
+ "label": "Tasks"
3867
+ },
3868
+ {
3869
+ "href": "/sprints",
3870
+ "icon": "zap",
3871
+ "label": "Sprints"
3872
+ },
3873
+ {
3874
+ "label": "Burndown",
3875
+ "icon": "layout-list",
3876
+ "href": "/burndown"
3877
+ }
3878
+ ],
3879
+ "type": "dashboard-layout",
3861
3880
  "children": [
3862
3881
  {
3863
3882
  "children": [
@@ -3865,23 +3884,24 @@
3865
3884
  "type": "stack",
3866
3885
  "children": [
3867
3886
  {
3887
+ "type": "breadcrumb",
3868
3888
  "items": [
3869
3889
  {
3870
- "href": "/",
3871
- "label": "Home"
3890
+ "label": "Home",
3891
+ "href": "/"
3872
3892
  },
3873
3893
  {
3874
3894
  "label": "Burndown Chart"
3875
3895
  }
3876
- ],
3877
- "type": "breadcrumb"
3896
+ ]
3878
3897
  },
3879
3898
  {
3880
- "type": "stack",
3881
- "gap": "md",
3899
+ "justify": "between",
3882
3900
  "direction": "horizontal",
3901
+ "type": "stack",
3883
3902
  "children": [
3884
3903
  {
3904
+ "gap": "md",
3885
3905
  "children": [
3886
3906
  {
3887
3907
  "type": "icon",
@@ -3889,42 +3909,42 @@
3889
3909
  },
3890
3910
  {
3891
3911
  "content": "Burndown Chart",
3892
- "type": "typography",
3893
- "variant": "h2"
3912
+ "variant": "h2",
3913
+ "type": "typography"
3894
3914
  }
3895
3915
  ],
3896
- "type": "stack",
3897
3916
  "direction": "horizontal",
3898
- "gap": "md"
3917
+ "type": "stack"
3899
3918
  },
3900
3919
  {
3901
- "variant": "secondary",
3902
- "icon": "refresh-cw",
3903
- "action": "REFRESH",
3904
3920
  "type": "button",
3921
+ "action": "REFRESH",
3922
+ "icon": "refresh-cw",
3923
+ "variant": "secondary",
3905
3924
  "label": "Refresh"
3906
3925
  }
3907
3926
  ],
3908
- "justify": "between"
3927
+ "gap": "md"
3909
3928
  },
3910
3929
  {
3911
3930
  "type": "divider"
3912
3931
  },
3913
3932
  {
3933
+ "type": "box",
3914
3934
  "children": [
3915
3935
  {
3916
3936
  "type": "simple-grid",
3917
3937
  "cols": 5.0,
3918
3938
  "children": [
3919
3939
  {
3920
- "label": "TotalPoints",
3940
+ "type": "stat-display",
3921
3941
  "value": "@entity.totalPoints",
3922
- "type": "stat-display"
3942
+ "label": "TotalPoints"
3923
3943
  },
3924
3944
  {
3925
- "label": "CompletedPoints",
3926
3945
  "value": "@entity.completedPoints",
3927
- "type": "stat-display"
3946
+ "type": "stat-display",
3947
+ "label": "CompletedPoints"
3928
3948
  },
3929
3949
  {
3930
3950
  "value": "@entity.remainingPoints",
@@ -3932,52 +3952,52 @@
3932
3952
  "label": "RemainingPoints"
3933
3953
  },
3934
3954
  {
3935
- "value": "@entity.velocity",
3955
+ "label": "Velocity",
3936
3956
  "type": "stat-display",
3937
- "label": "Velocity"
3957
+ "value": "@entity.velocity"
3938
3958
  },
3939
3959
  {
3940
3960
  "label": "DaysRemaining",
3941
- "type": "stat-display",
3942
- "value": "@entity.daysRemaining"
3961
+ "value": "@entity.daysRemaining",
3962
+ "type": "stat-display"
3943
3963
  }
3944
3964
  ]
3945
3965
  }
3946
3966
  ],
3947
- "type": "box",
3948
3967
  "padding": "md"
3949
3968
  },
3950
3969
  {
3951
3970
  "type": "divider"
3952
3971
  },
3953
3972
  {
3954
- "type": "grid",
3955
- "gap": "md",
3973
+ "cols": 2.0,
3956
3974
  "children": [
3957
3975
  {
3958
3976
  "type": "card",
3959
3977
  "children": [
3960
3978
  {
3979
+ "type": "typography",
3961
3980
  "content": "Chart View",
3962
- "variant": "caption",
3963
- "type": "typography"
3981
+ "variant": "caption"
3964
3982
  }
3965
3983
  ]
3966
3984
  },
3967
3985
  {
3986
+ "type": "card",
3968
3987
  "children": [
3969
3988
  {
3970
3989
  "type": "typography",
3971
3990
  "variant": "caption",
3972
3991
  "content": "Graph View"
3973
3992
  }
3974
- ],
3975
- "type": "card"
3993
+ ]
3976
3994
  }
3977
3995
  ],
3978
- "cols": 2.0
3996
+ "type": "grid",
3997
+ "gap": "md"
3979
3998
  },
3980
3999
  {
4000
+ "type": "line-chart",
3981
4001
  "data": [
3982
4002
  {
3983
4003
  "date": "Jan",
@@ -3988,8 +4008,8 @@
3988
4008
  "date": "Feb"
3989
4009
  },
3990
4010
  {
3991
- "value": 15.0,
3992
- "date": "Mar"
4011
+ "date": "Mar",
4012
+ "value": 15.0
3993
4013
  },
3994
4014
  {
3995
4015
  "date": "Apr",
@@ -4003,50 +4023,49 @@
4003
4023
  "value": 30.0,
4004
4024
  "date": "Jun"
4005
4025
  }
4006
- ],
4007
- "type": "line-chart"
4026
+ ]
4008
4027
  },
4009
4028
  {
4029
+ "type": "chart-legend",
4010
4030
  "items": [
4011
4031
  {
4012
- "color": "primary",
4013
- "label": "Current"
4032
+ "label": "Current",
4033
+ "color": "primary"
4014
4034
  },
4015
4035
  {
4016
4036
  "color": "muted",
4017
4037
  "label": "Previous"
4018
4038
  }
4019
- ],
4020
- "type": "chart-legend"
4039
+ ]
4021
4040
  },
4022
4041
  {
4042
+ "width": 400.0,
4043
+ "height": 200.0,
4023
4044
  "nodes": [
4024
4045
  {
4025
- "id": "a",
4026
- "label": "Start"
4046
+ "label": "Start",
4047
+ "id": "a"
4027
4048
  },
4028
4049
  {
4029
- "id": "b",
4030
- "label": "Process"
4050
+ "label": "Process",
4051
+ "id": "b"
4031
4052
  },
4032
4053
  {
4033
4054
  "id": "c",
4034
4055
  "label": "End"
4035
4056
  }
4036
4057
  ],
4037
- "width": 400.0,
4058
+ "type": "graph-view",
4038
4059
  "edges": [
4039
4060
  {
4040
- "target": "b",
4041
- "source": "a"
4061
+ "source": "a",
4062
+ "target": "b"
4042
4063
  },
4043
4064
  {
4044
4065
  "source": "b",
4045
4066
  "target": "c"
4046
4067
  }
4047
- ],
4048
- "height": 200.0,
4049
- "type": "graph-view"
4068
+ ]
4050
4069
  }
4051
4070
  ],
4052
4071
  "direction": "vertical",
@@ -4055,25 +4074,6 @@
4055
4074
  ],
4056
4075
  "type": "scaled-diagram"
4057
4076
  }
4058
- ],
4059
- "type": "dashboard-layout",
4060
- "appName": "ProjectManagerApp",
4061
- "navItems": [
4062
- {
4063
- "href": "/tasks",
4064
- "icon": "check-square",
4065
- "label": "Tasks"
4066
- },
4067
- {
4068
- "icon": "zap",
4069
- "href": "/sprints",
4070
- "label": "Sprints"
4071
- },
4072
- {
4073
- "icon": "layout-list",
4074
- "href": "/burndown",
4075
- "label": "Burndown"
4076
- }
4077
4077
  ]
4078
4078
  }
4079
4079
  ]
@@ -4089,8 +4089,8 @@
4089
4089
  "Burndown",
4090
4090
  {
4091
4091
  "emit": {
4092
- "success": "BurndownLoaded",
4093
- "failure": "BurndownLoadFailed"
4092
+ "failure": "BurndownLoadFailed",
4093
+ "success": "BurndownLoaded"
4094
4094
  }
4095
4095
  }
4096
4096
  ],
@@ -4098,11 +4098,12 @@
4098
4098
  "render-ui",
4099
4099
  "main",
4100
4100
  {
4101
- "type": "dashboard-layout",
4101
+ "appName": "ProjectManagerApp",
4102
4102
  "children": [
4103
4103
  {
4104
4104
  "children": [
4105
4105
  {
4106
+ "direction": "vertical",
4106
4107
  "children": [
4107
4108
  {
4108
4109
  "items": [
@@ -4117,35 +4118,35 @@
4117
4118
  "type": "breadcrumb"
4118
4119
  },
4119
4120
  {
4121
+ "type": "stack",
4120
4122
  "children": [
4121
4123
  {
4124
+ "direction": "horizontal",
4125
+ "gap": "md",
4122
4126
  "children": [
4123
4127
  {
4124
- "type": "icon",
4125
- "name": "trending-down"
4128
+ "name": "trending-down",
4129
+ "type": "icon"
4126
4130
  },
4127
4131
  {
4128
- "content": "Burndown Chart",
4129
4132
  "type": "typography",
4133
+ "content": "Burndown Chart",
4130
4134
  "variant": "h2"
4131
4135
  }
4132
4136
  ],
4133
- "type": "stack",
4134
- "direction": "horizontal",
4135
- "gap": "md"
4137
+ "type": "stack"
4136
4138
  },
4137
4139
  {
4138
- "action": "REFRESH",
4139
4140
  "variant": "secondary",
4140
- "label": "Refresh",
4141
+ "type": "button",
4141
4142
  "icon": "refresh-cw",
4142
- "type": "button"
4143
+ "action": "REFRESH",
4144
+ "label": "Refresh"
4143
4145
  }
4144
4146
  ],
4147
+ "justify": "between",
4145
4148
  "gap": "md",
4146
- "direction": "horizontal",
4147
- "type": "stack",
4148
- "justify": "between"
4149
+ "direction": "horizontal"
4149
4150
  },
4150
4151
  {
4151
4152
  "type": "divider"
@@ -4154,12 +4155,13 @@
4154
4155
  "padding": "md",
4155
4156
  "children": [
4156
4157
  {
4158
+ "type": "simple-grid",
4157
4159
  "cols": 5.0,
4158
4160
  "children": [
4159
4161
  {
4160
- "type": "stat-display",
4161
4162
  "label": "TotalPoints",
4162
- "value": "@entity.totalPoints"
4163
+ "value": "@entity.totalPoints",
4164
+ "type": "stat-display"
4163
4165
  },
4164
4166
  {
4165
4167
  "type": "stat-display",
@@ -4172,17 +4174,16 @@
4172
4174
  "value": "@entity.remainingPoints"
4173
4175
  },
4174
4176
  {
4175
- "value": "@entity.velocity",
4176
4177
  "label": "Velocity",
4178
+ "value": "@entity.velocity",
4177
4179
  "type": "stat-display"
4178
4180
  },
4179
4181
  {
4180
- "label": "DaysRemaining",
4181
4182
  "value": "@entity.daysRemaining",
4182
- "type": "stat-display"
4183
+ "type": "stat-display",
4184
+ "label": "DaysRemaining"
4183
4185
  }
4184
- ],
4185
- "type": "simple-grid"
4186
+ ]
4186
4187
  }
4187
4188
  ],
4188
4189
  "type": "box"
@@ -4193,40 +4194,40 @@
4193
4194
  {
4194
4195
  "type": "grid",
4195
4196
  "gap": "md",
4197
+ "cols": 2.0,
4196
4198
  "children": [
4197
4199
  {
4198
- "type": "card",
4199
4200
  "children": [
4200
4201
  {
4201
4202
  "type": "typography",
4202
- "variant": "caption",
4203
- "content": "Chart View"
4203
+ "content": "Chart View",
4204
+ "variant": "caption"
4204
4205
  }
4205
- ]
4206
+ ],
4207
+ "type": "card"
4206
4208
  },
4207
4209
  {
4210
+ "type": "card",
4208
4211
  "children": [
4209
4212
  {
4210
- "type": "typography",
4211
4213
  "variant": "caption",
4214
+ "type": "typography",
4212
4215
  "content": "Graph View"
4213
4216
  }
4214
- ],
4215
- "type": "card"
4217
+ ]
4216
4218
  }
4217
- ],
4218
- "cols": 2.0
4219
+ ]
4219
4220
  },
4220
4221
  {
4221
4222
  "type": "line-chart",
4222
4223
  "data": [
4223
4224
  {
4224
- "value": 12.0,
4225
- "date": "Jan"
4225
+ "date": "Jan",
4226
+ "value": 12.0
4226
4227
  },
4227
4228
  {
4228
- "date": "Feb",
4229
- "value": 19.0
4229
+ "value": 19.0,
4230
+ "date": "Feb"
4230
4231
  },
4231
4232
  {
4232
4233
  "value": 15.0,
@@ -4237,12 +4238,12 @@
4237
4238
  "value": 25.0
4238
4239
  },
4239
4240
  {
4240
- "value": 22.0,
4241
- "date": "May"
4241
+ "date": "May",
4242
+ "value": 22.0
4242
4243
  },
4243
4244
  {
4244
- "value": 30.0,
4245
- "date": "Jun"
4245
+ "date": "Jun",
4246
+ "value": 30.0
4246
4247
  }
4247
4248
  ]
4248
4249
  },
@@ -4254,60 +4255,59 @@
4254
4255
  "label": "Current"
4255
4256
  },
4256
4257
  {
4257
- "label": "Previous",
4258
- "color": "muted"
4258
+ "color": "muted",
4259
+ "label": "Previous"
4259
4260
  }
4260
4261
  ]
4261
4262
  },
4262
4263
  {
4263
- "width": 400.0,
4264
- "edges": [
4264
+ "nodes": [
4265
4265
  {
4266
- "source": "a",
4267
- "target": "b"
4266
+ "id": "a",
4267
+ "label": "Start"
4268
4268
  },
4269
4269
  {
4270
- "source": "b",
4271
- "target": "c"
4272
- }
4273
- ],
4274
- "height": 200.0,
4275
- "type": "graph-view",
4276
- "nodes": [
4277
- {
4278
- "label": "Start",
4279
- "id": "a"
4270
+ "id": "b",
4271
+ "label": "Process"
4280
4272
  },
4281
4273
  {
4282
- "label": "Process",
4283
- "id": "b"
4274
+ "id": "c",
4275
+ "label": "End"
4276
+ }
4277
+ ],
4278
+ "edges": [
4279
+ {
4280
+ "source": "a",
4281
+ "target": "b"
4284
4282
  },
4285
4283
  {
4286
- "label": "End",
4287
- "id": "c"
4284
+ "source": "b",
4285
+ "target": "c"
4288
4286
  }
4289
- ]
4287
+ ],
4288
+ "width": 400.0,
4289
+ "height": 200.0,
4290
+ "type": "graph-view"
4290
4291
  }
4291
4292
  ],
4292
- "direction": "vertical",
4293
- "gap": "lg",
4294
- "type": "stack"
4293
+ "type": "stack",
4294
+ "gap": "lg"
4295
4295
  }
4296
4296
  ],
4297
4297
  "type": "scaled-diagram"
4298
4298
  }
4299
4299
  ],
4300
- "appName": "ProjectManagerApp",
4300
+ "type": "dashboard-layout",
4301
4301
  "navItems": [
4302
4302
  {
4303
4303
  "label": "Tasks",
4304
- "icon": "check-square",
4305
- "href": "/tasks"
4304
+ "href": "/tasks",
4305
+ "icon": "check-square"
4306
4306
  },
4307
4307
  {
4308
- "icon": "zap",
4309
4308
  "label": "Sprints",
4310
- "href": "/sprints"
4309
+ "href": "/sprints",
4310
+ "icon": "zap"
4311
4311
  },
4312
4312
  {
4313
4313
  "label": "Burndown",
@@ -4329,8 +4329,8 @@
4329
4329
  "Burndown",
4330
4330
  {
4331
4331
  "emit": {
4332
- "failure": "BurndownLoadFailed",
4333
- "success": "BurndownLoaded"
4332
+ "success": "BurndownLoaded",
4333
+ "failure": "BurndownLoadFailed"
4334
4334
  }
4335
4335
  }
4336
4336
  ],
@@ -4338,38 +4338,18 @@
4338
4338
  "render-ui",
4339
4339
  "main",
4340
4340
  {
4341
- "type": "dashboard-layout",
4342
- "navItems": [
4343
- {
4344
- "icon": "check-square",
4345
- "label": "Tasks",
4346
- "href": "/tasks"
4347
- },
4348
- {
4349
- "icon": "zap",
4350
- "href": "/sprints",
4351
- "label": "Sprints"
4352
- },
4353
- {
4354
- "label": "Burndown",
4355
- "icon": "layout-list",
4356
- "href": "/burndown"
4357
- }
4358
- ],
4359
4341
  "children": [
4360
4342
  {
4361
- "type": "scaled-diagram",
4362
4343
  "children": [
4363
4344
  {
4364
- "direction": "vertical",
4365
4345
  "type": "stack",
4366
4346
  "children": [
4367
4347
  {
4368
4348
  "type": "breadcrumb",
4369
4349
  "items": [
4370
4350
  {
4371
- "label": "Home",
4372
- "href": "/"
4351
+ "href": "/",
4352
+ "label": "Home"
4373
4353
  },
4374
4354
  {
4375
4355
  "label": "Burndown Chart"
@@ -4381,27 +4361,27 @@
4381
4361
  "justify": "between",
4382
4362
  "children": [
4383
4363
  {
4384
- "direction": "horizontal",
4385
4364
  "type": "stack",
4365
+ "gap": "md",
4366
+ "direction": "horizontal",
4386
4367
  "children": [
4387
4368
  {
4388
- "name": "trending-down",
4389
- "type": "icon"
4369
+ "type": "icon",
4370
+ "name": "trending-down"
4390
4371
  },
4391
4372
  {
4392
4373
  "type": "typography",
4393
4374
  "variant": "h2",
4394
4375
  "content": "Burndown Chart"
4395
4376
  }
4396
- ],
4397
- "gap": "md"
4377
+ ]
4398
4378
  },
4399
4379
  {
4400
- "variant": "secondary",
4401
- "icon": "refresh-cw",
4380
+ "type": "button",
4402
4381
  "label": "Refresh",
4403
4382
  "action": "REFRESH",
4404
- "type": "button"
4383
+ "icon": "refresh-cw",
4384
+ "variant": "secondary"
4405
4385
  }
4406
4386
  ],
4407
4387
  "gap": "md",
@@ -4415,35 +4395,35 @@
4415
4395
  "padding": "md",
4416
4396
  "children": [
4417
4397
  {
4418
- "type": "simple-grid",
4419
4398
  "cols": 5.0,
4420
4399
  "children": [
4421
4400
  {
4422
- "label": "TotalPoints",
4401
+ "type": "stat-display",
4423
4402
  "value": "@entity.totalPoints",
4424
- "type": "stat-display"
4403
+ "label": "TotalPoints"
4425
4404
  },
4426
4405
  {
4427
- "value": "@entity.completedPoints",
4406
+ "type": "stat-display",
4428
4407
  "label": "CompletedPoints",
4429
- "type": "stat-display"
4408
+ "value": "@entity.completedPoints"
4430
4409
  },
4431
4410
  {
4411
+ "value": "@entity.remainingPoints",
4432
4412
  "type": "stat-display",
4433
- "label": "RemainingPoints",
4434
- "value": "@entity.remainingPoints"
4413
+ "label": "RemainingPoints"
4435
4414
  },
4436
4415
  {
4416
+ "type": "stat-display",
4437
4417
  "label": "Velocity",
4438
- "value": "@entity.velocity",
4439
- "type": "stat-display"
4418
+ "value": "@entity.velocity"
4440
4419
  },
4441
4420
  {
4442
- "value": "@entity.daysRemaining",
4443
4421
  "type": "stat-display",
4444
- "label": "DaysRemaining"
4422
+ "label": "DaysRemaining",
4423
+ "value": "@entity.daysRemaining"
4445
4424
  }
4446
- ]
4425
+ ],
4426
+ "type": "simple-grid"
4447
4427
  }
4448
4428
  ]
4449
4429
  },
@@ -4451,14 +4431,15 @@
4451
4431
  "type": "divider"
4452
4432
  },
4453
4433
  {
4434
+ "gap": "md",
4454
4435
  "type": "grid",
4455
4436
  "children": [
4456
4437
  {
4457
4438
  "children": [
4458
4439
  {
4459
- "content": "Chart View",
4460
4440
  "type": "typography",
4461
- "variant": "caption"
4441
+ "variant": "caption",
4442
+ "content": "Chart View"
4462
4443
  }
4463
4444
  ],
4464
4445
  "type": "card"
@@ -4474,15 +4455,14 @@
4474
4455
  ]
4475
4456
  }
4476
4457
  ],
4477
- "cols": 2.0,
4478
- "gap": "md"
4458
+ "cols": 2.0
4479
4459
  },
4480
4460
  {
4481
4461
  "type": "line-chart",
4482
4462
  "data": [
4483
4463
  {
4484
- "date": "Jan",
4485
- "value": 12.0
4464
+ "value": 12.0,
4465
+ "date": "Jan"
4486
4466
  },
4487
4467
  {
4488
4468
  "value": 19.0,
@@ -4493,8 +4473,8 @@
4493
4473
  "date": "Mar"
4494
4474
  },
4495
4475
  {
4496
- "value": 25.0,
4497
- "date": "Apr"
4476
+ "date": "Apr",
4477
+ "value": 25.0
4498
4478
  },
4499
4479
  {
4500
4480
  "value": 22.0,
@@ -4514,12 +4494,14 @@
4514
4494
  "label": "Current"
4515
4495
  },
4516
4496
  {
4517
- "color": "muted",
4518
- "label": "Previous"
4497
+ "label": "Previous",
4498
+ "color": "muted"
4519
4499
  }
4520
4500
  ]
4521
4501
  },
4522
4502
  {
4503
+ "height": 200.0,
4504
+ "width": 400.0,
4523
4505
  "type": "graph-view",
4524
4506
  "nodes": [
4525
4507
  {
@@ -4527,20 +4509,18 @@
4527
4509
  "id": "a"
4528
4510
  },
4529
4511
  {
4530
- "label": "Process",
4531
- "id": "b"
4512
+ "id": "b",
4513
+ "label": "Process"
4532
4514
  },
4533
4515
  {
4534
4516
  "id": "c",
4535
4517
  "label": "End"
4536
4518
  }
4537
4519
  ],
4538
- "height": 200.0,
4539
- "width": 400.0,
4540
4520
  "edges": [
4541
4521
  {
4542
- "source": "a",
4543
- "target": "b"
4522
+ "target": "b",
4523
+ "source": "a"
4544
4524
  },
4545
4525
  {
4546
4526
  "source": "b",
@@ -4549,9 +4529,29 @@
4549
4529
  ]
4550
4530
  }
4551
4531
  ],
4552
- "gap": "lg"
4532
+ "gap": "lg",
4533
+ "direction": "vertical"
4553
4534
  }
4554
- ]
4535
+ ],
4536
+ "type": "scaled-diagram"
4537
+ }
4538
+ ],
4539
+ "type": "dashboard-layout",
4540
+ "navItems": [
4541
+ {
4542
+ "label": "Tasks",
4543
+ "icon": "check-square",
4544
+ "href": "/tasks"
4545
+ },
4546
+ {
4547
+ "label": "Sprints",
4548
+ "href": "/sprints",
4549
+ "icon": "zap"
4550
+ },
4551
+ {
4552
+ "href": "/burndown",
4553
+ "icon": "layout-list",
4554
+ "label": "Burndown"
4555
4555
  }
4556
4556
  ],
4557
4557
  "appName": "ProjectManagerApp"
@@ -4569,8 +4569,8 @@
4569
4569
  "Burndown",
4570
4570
  {
4571
4571
  "emit": {
4572
- "success": "BurndownLoaded",
4573
- "failure": "BurndownLoadFailed"
4572
+ "failure": "BurndownLoadFailed",
4573
+ "success": "BurndownLoaded"
4574
4574
  }
4575
4575
  }
4576
4576
  ],
@@ -4578,31 +4578,10 @@
4578
4578
  "render-ui",
4579
4579
  "main",
4580
4580
  {
4581
- "type": "dashboard-layout",
4582
- "appName": "ProjectManagerApp",
4583
- "navItems": [
4584
- {
4585
- "icon": "check-square",
4586
- "label": "Tasks",
4587
- "href": "/tasks"
4588
- },
4589
- {
4590
- "label": "Sprints",
4591
- "href": "/sprints",
4592
- "icon": "zap"
4593
- },
4594
- {
4595
- "label": "Burndown",
4596
- "icon": "layout-list",
4597
- "href": "/burndown"
4598
- }
4599
- ],
4600
4581
  "children": [
4601
4582
  {
4602
- "type": "scaled-diagram",
4603
4583
  "children": [
4604
4584
  {
4605
- "type": "stack",
4606
4585
  "children": [
4607
4586
  {
4608
4587
  "type": "breadcrumb",
@@ -4617,63 +4596,62 @@
4617
4596
  ]
4618
4597
  },
4619
4598
  {
4599
+ "justify": "between",
4600
+ "type": "stack",
4620
4601
  "direction": "horizontal",
4602
+ "gap": "md",
4621
4603
  "children": [
4622
4604
  {
4623
- "type": "stack",
4624
4605
  "direction": "horizontal",
4606
+ "type": "stack",
4607
+ "gap": "md",
4625
4608
  "children": [
4626
4609
  {
4627
- "type": "icon",
4628
- "name": "trending-down"
4610
+ "name": "trending-down",
4611
+ "type": "icon"
4629
4612
  },
4630
4613
  {
4631
- "type": "typography",
4632
4614
  "variant": "h2",
4615
+ "type": "typography",
4633
4616
  "content": "Burndown Chart"
4634
4617
  }
4635
- ],
4636
- "gap": "md"
4618
+ ]
4637
4619
  },
4638
4620
  {
4639
4621
  "icon": "refresh-cw",
4640
- "label": "Refresh",
4641
- "type": "button",
4642
4622
  "action": "REFRESH",
4623
+ "type": "button",
4624
+ "label": "Refresh",
4643
4625
  "variant": "secondary"
4644
4626
  }
4645
- ],
4646
- "justify": "between",
4647
- "gap": "md",
4648
- "type": "stack"
4627
+ ]
4649
4628
  },
4650
4629
  {
4651
4630
  "type": "divider"
4652
4631
  },
4653
4632
  {
4654
- "type": "box",
4655
4633
  "children": [
4656
4634
  {
4657
4635
  "children": [
4658
4636
  {
4659
4637
  "type": "stat-display",
4660
- "value": "@entity.totalPoints",
4661
- "label": "TotalPoints"
4638
+ "label": "TotalPoints",
4639
+ "value": "@entity.totalPoints"
4662
4640
  },
4663
4641
  {
4664
- "label": "CompletedPoints",
4665
4642
  "type": "stat-display",
4666
- "value": "@entity.completedPoints"
4643
+ "value": "@entity.completedPoints",
4644
+ "label": "CompletedPoints"
4667
4645
  },
4668
4646
  {
4669
- "type": "stat-display",
4647
+ "value": "@entity.remainingPoints",
4670
4648
  "label": "RemainingPoints",
4671
- "value": "@entity.remainingPoints"
4649
+ "type": "stat-display"
4672
4650
  },
4673
4651
  {
4674
- "value": "@entity.velocity",
4675
4652
  "label": "Velocity",
4676
- "type": "stat-display"
4653
+ "type": "stat-display",
4654
+ "value": "@entity.velocity"
4677
4655
  },
4678
4656
  {
4679
4657
  "value": "@entity.daysRemaining",
@@ -4681,29 +4659,30 @@
4681
4659
  "label": "DaysRemaining"
4682
4660
  }
4683
4661
  ],
4684
- "type": "simple-grid",
4685
- "cols": 5.0
4662
+ "cols": 5.0,
4663
+ "type": "simple-grid"
4686
4664
  }
4687
4665
  ],
4666
+ "type": "box",
4688
4667
  "padding": "md"
4689
4668
  },
4690
4669
  {
4691
4670
  "type": "divider"
4692
4671
  },
4693
4672
  {
4694
- "type": "grid",
4695
4673
  "cols": 2.0,
4674
+ "type": "grid",
4696
4675
  "gap": "md",
4697
4676
  "children": [
4698
4677
  {
4678
+ "type": "card",
4699
4679
  "children": [
4700
4680
  {
4701
4681
  "content": "Chart View",
4702
4682
  "type": "typography",
4703
4683
  "variant": "caption"
4704
4684
  }
4705
- ],
4706
- "type": "card"
4685
+ ]
4707
4686
  },
4708
4687
  {
4709
4688
  "type": "card",
@@ -4721,12 +4700,12 @@
4721
4700
  "type": "line-chart",
4722
4701
  "data": [
4723
4702
  {
4724
- "date": "Jan",
4725
- "value": 12.0
4703
+ "value": 12.0,
4704
+ "date": "Jan"
4726
4705
  },
4727
4706
  {
4728
- "value": 19.0,
4729
- "date": "Feb"
4707
+ "date": "Feb",
4708
+ "value": 19.0
4730
4709
  },
4731
4710
  {
4732
4711
  "value": 15.0,
@@ -4760,22 +4739,8 @@
4760
4739
  "type": "chart-legend"
4761
4740
  },
4762
4741
  {
4742
+ "type": "graph-view",
4763
4743
  "height": 200.0,
4764
- "width": 400.0,
4765
- "nodes": [
4766
- {
4767
- "id": "a",
4768
- "label": "Start"
4769
- },
4770
- {
4771
- "id": "b",
4772
- "label": "Process"
4773
- },
4774
- {
4775
- "label": "End",
4776
- "id": "c"
4777
- }
4778
- ],
4779
4744
  "edges": [
4780
4745
  {
4781
4746
  "source": "a",
@@ -4786,13 +4751,48 @@
4786
4751
  "target": "c"
4787
4752
  }
4788
4753
  ],
4789
- "type": "graph-view"
4754
+ "nodes": [
4755
+ {
4756
+ "label": "Start",
4757
+ "id": "a"
4758
+ },
4759
+ {
4760
+ "label": "Process",
4761
+ "id": "b"
4762
+ },
4763
+ {
4764
+ "label": "End",
4765
+ "id": "c"
4766
+ }
4767
+ ],
4768
+ "width": 400.0
4790
4769
  }
4791
4770
  ],
4771
+ "type": "stack",
4792
4772
  "direction": "vertical",
4793
4773
  "gap": "lg"
4794
4774
  }
4795
- ]
4775
+ ],
4776
+ "type": "scaled-diagram"
4777
+ }
4778
+ ],
4779
+ "appName": "ProjectManagerApp",
4780
+ "type": "dashboard-layout",
4781
+ "navItems": [
4782
+ {
4783
+ "label": "Tasks",
4784
+ "icon": "check-square",
4785
+ "href": "/tasks"
4786
+ },
4787
+ {
4788
+ "label": "Sprints",
4789
+ "href": "/sprints",
4790
+ "icon": "zap"
4791
+ },
4792
+ {
4793
+ "icon": "layout-list",
4794
+ "href": "/burndown",
4795
+ "label": "Burndown"
4796
4796
  }
4797
4797
  ]
4798
4798
  }
@@ -4809,8 +4809,8 @@
4809
4809
  "Burndown",
4810
4810
  {
4811
4811
  "emit": {
4812
- "success": "BurndownLoaded",
4813
- "failure": "BurndownLoadFailed"
4812
+ "failure": "BurndownLoadFailed",
4813
+ "success": "BurndownLoaded"
4814
4814
  }
4815
4815
  }
4816
4816
  ],
@@ -4818,20 +4818,40 @@
4818
4818
  "render-ui",
4819
4819
  "main",
4820
4820
  {
4821
+ "navItems": [
4822
+ {
4823
+ "label": "Tasks",
4824
+ "href": "/tasks",
4825
+ "icon": "check-square"
4826
+ },
4827
+ {
4828
+ "icon": "zap",
4829
+ "href": "/sprints",
4830
+ "label": "Sprints"
4831
+ },
4832
+ {
4833
+ "href": "/burndown",
4834
+ "icon": "layout-list",
4835
+ "label": "Burndown"
4836
+ }
4837
+ ],
4838
+ "appName": "ProjectManagerApp",
4821
4839
  "type": "dashboard-layout",
4822
4840
  "children": [
4823
4841
  {
4842
+ "type": "scaled-diagram",
4824
4843
  "children": [
4825
4844
  {
4826
- "direction": "vertical",
4845
+ "gap": "lg",
4827
4846
  "type": "stack",
4847
+ "direction": "vertical",
4828
4848
  "children": [
4829
4849
  {
4830
4850
  "type": "breadcrumb",
4831
4851
  "items": [
4832
4852
  {
4833
- "label": "Home",
4834
- "href": "/"
4853
+ "href": "/",
4854
+ "label": "Home"
4835
4855
  },
4836
4856
  {
4837
4857
  "label": "Burndown Chart"
@@ -4840,54 +4860,54 @@
4840
4860
  },
4841
4861
  {
4842
4862
  "direction": "horizontal",
4843
- "gap": "md",
4844
- "justify": "between",
4845
4863
  "type": "stack",
4864
+ "justify": "between",
4846
4865
  "children": [
4847
4866
  {
4867
+ "direction": "horizontal",
4848
4868
  "children": [
4849
4869
  {
4850
- "name": "trending-down",
4851
- "type": "icon"
4870
+ "type": "icon",
4871
+ "name": "trending-down"
4852
4872
  },
4853
4873
  {
4854
- "content": "Burndown Chart",
4874
+ "type": "typography",
4855
4875
  "variant": "h2",
4856
- "type": "typography"
4876
+ "content": "Burndown Chart"
4857
4877
  }
4858
4878
  ],
4859
- "direction": "horizontal",
4860
4879
  "type": "stack",
4861
4880
  "gap": "md"
4862
4881
  },
4863
4882
  {
4864
- "type": "button",
4865
4883
  "label": "Refresh",
4884
+ "type": "button",
4866
4885
  "action": "REFRESH",
4867
- "icon": "refresh-cw",
4868
- "variant": "secondary"
4886
+ "variant": "secondary",
4887
+ "icon": "refresh-cw"
4869
4888
  }
4870
- ]
4889
+ ],
4890
+ "gap": "md"
4871
4891
  },
4872
4892
  {
4873
4893
  "type": "divider"
4874
4894
  },
4875
4895
  {
4876
4896
  "type": "box",
4877
- "padding": "md",
4878
4897
  "children": [
4879
4898
  {
4899
+ "type": "simple-grid",
4880
4900
  "cols": 5.0,
4881
4901
  "children": [
4882
4902
  {
4883
- "label": "TotalPoints",
4903
+ "type": "stat-display",
4884
4904
  "value": "@entity.totalPoints",
4885
- "type": "stat-display"
4905
+ "label": "TotalPoints"
4886
4906
  },
4887
4907
  {
4908
+ "value": "@entity.completedPoints",
4888
4909
  "label": "CompletedPoints",
4889
- "type": "stat-display",
4890
- "value": "@entity.completedPoints"
4910
+ "type": "stat-display"
4891
4911
  },
4892
4912
  {
4893
4913
  "value": "@entity.remainingPoints",
@@ -4895,51 +4915,52 @@
4895
4915
  "type": "stat-display"
4896
4916
  },
4897
4917
  {
4918
+ "value": "@entity.velocity",
4898
4919
  "type": "stat-display",
4899
- "label": "Velocity",
4900
- "value": "@entity.velocity"
4920
+ "label": "Velocity"
4901
4921
  },
4902
4922
  {
4923
+ "value": "@entity.daysRemaining",
4903
4924
  "label": "DaysRemaining",
4904
- "type": "stat-display",
4905
- "value": "@entity.daysRemaining"
4925
+ "type": "stat-display"
4906
4926
  }
4907
- ],
4908
- "type": "simple-grid"
4927
+ ]
4909
4928
  }
4910
- ]
4929
+ ],
4930
+ "padding": "md"
4911
4931
  },
4912
4932
  {
4913
4933
  "type": "divider"
4914
4934
  },
4915
4935
  {
4916
- "type": "grid",
4917
4936
  "gap": "md",
4918
- "cols": 2.0,
4919
4937
  "children": [
4920
4938
  {
4939
+ "type": "card",
4921
4940
  "children": [
4922
4941
  {
4923
4942
  "type": "typography",
4924
- "content": "Chart View",
4925
- "variant": "caption"
4943
+ "variant": "caption",
4944
+ "content": "Chart View"
4926
4945
  }
4927
- ],
4928
- "type": "card"
4946
+ ]
4929
4947
  },
4930
4948
  {
4931
4949
  "type": "card",
4932
4950
  "children": [
4933
4951
  {
4952
+ "content": "Graph View",
4934
4953
  "variant": "caption",
4935
- "type": "typography",
4936
- "content": "Graph View"
4954
+ "type": "typography"
4937
4955
  }
4938
4956
  ]
4939
4957
  }
4940
- ]
4958
+ ],
4959
+ "cols": 2.0,
4960
+ "type": "grid"
4941
4961
  },
4942
4962
  {
4963
+ "type": "line-chart",
4943
4964
  "data": [
4944
4965
  {
4945
4966
  "date": "Jan",
@@ -4950,30 +4971,29 @@
4950
4971
  "value": 19.0
4951
4972
  },
4952
4973
  {
4953
- "date": "Mar",
4954
- "value": 15.0
4974
+ "value": 15.0,
4975
+ "date": "Mar"
4955
4976
  },
4956
4977
  {
4957
4978
  "date": "Apr",
4958
4979
  "value": 25.0
4959
4980
  },
4960
4981
  {
4961
- "value": 22.0,
4962
- "date": "May"
4982
+ "date": "May",
4983
+ "value": 22.0
4963
4984
  },
4964
4985
  {
4965
4986
  "date": "Jun",
4966
4987
  "value": 30.0
4967
4988
  }
4968
- ],
4969
- "type": "line-chart"
4989
+ ]
4970
4990
  },
4971
4991
  {
4972
4992
  "type": "chart-legend",
4973
4993
  "items": [
4974
4994
  {
4975
- "label": "Current",
4976
- "color": "primary"
4995
+ "color": "primary",
4996
+ "label": "Current"
4977
4997
  },
4978
4998
  {
4979
4999
  "color": "muted",
@@ -4982,6 +5002,17 @@
4982
5002
  ]
4983
5003
  },
4984
5004
  {
5005
+ "height": 200.0,
5006
+ "edges": [
5007
+ {
5008
+ "target": "b",
5009
+ "source": "a"
5010
+ },
5011
+ {
5012
+ "target": "c",
5013
+ "source": "b"
5014
+ }
5015
+ ],
4985
5016
  "width": 400.0,
4986
5017
  "nodes": [
4987
5018
  {
@@ -4997,44 +5028,13 @@
4997
5028
  "label": "End"
4998
5029
  }
4999
5030
  ],
5000
- "type": "graph-view",
5001
- "height": 200.0,
5002
- "edges": [
5003
- {
5004
- "source": "a",
5005
- "target": "b"
5006
- },
5007
- {
5008
- "target": "c",
5009
- "source": "b"
5010
- }
5011
- ]
5031
+ "type": "graph-view"
5012
5032
  }
5013
- ],
5014
- "gap": "lg"
5033
+ ]
5015
5034
  }
5016
- ],
5017
- "type": "scaled-diagram"
5018
- }
5019
- ],
5020
- "navItems": [
5021
- {
5022
- "href": "/tasks",
5023
- "icon": "check-square",
5024
- "label": "Tasks"
5025
- },
5026
- {
5027
- "href": "/sprints",
5028
- "label": "Sprints",
5029
- "icon": "zap"
5030
- },
5031
- {
5032
- "href": "/burndown",
5033
- "icon": "layout-list",
5034
- "label": "Burndown"
5035
+ ]
5035
5036
  }
5036
- ],
5037
- "appName": "ProjectManagerApp"
5037
+ ]
5038
5038
  }
5039
5039
  ]
5040
5040
  ]
@@ -5057,4 +5057,4 @@
5057
5057
  ]
5058
5058
  }
5059
5059
  ]
5060
- }
5060
+ }