@almadar/std 14.26.0 → 14.28.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 (175) hide show
  1. package/behaviors/registry/app/atoms/std-applicant.orb +496 -42
  2. package/behaviors/registry/app/atoms/std-approval-chain.orb +106 -0
  3. package/behaviors/registry/app/atoms/std-approval-request.orb +433 -593
  4. package/behaviors/registry/app/atoms/std-campaign-goal.orb +438 -228
  5. package/behaviors/registry/app/atoms/std-change-order.orb +565 -307
  6. package/behaviors/registry/app/atoms/std-chart-of-accounts.orb +434 -97
  7. package/behaviors/registry/app/atoms/std-checkin.orb +434 -270
  8. package/behaviors/registry/app/atoms/std-class-roster.orb +495 -61
  9. package/behaviors/registry/app/atoms/std-class-session.orb +485 -104
  10. package/behaviors/registry/app/atoms/std-court-deadline.orb +519 -88
  11. package/behaviors/registry/app/atoms/std-customer-account.orb +577 -97
  12. package/behaviors/registry/app/atoms/std-donation-receipt.orb +498 -55
  13. package/behaviors/registry/app/atoms/std-donor.orb +445 -135
  14. package/behaviors/registry/app/atoms/std-drip-sequence.orb +445 -62
  15. package/behaviors/registry/app/atoms/std-driver.orb +465 -480
  16. package/behaviors/registry/app/atoms/std-dunning.orb +450 -512
  17. package/behaviors/registry/app/atoms/std-email-broadcast.orb +517 -64
  18. package/behaviors/registry/app/atoms/std-event.orb +465 -667
  19. package/behaviors/registry/app/atoms/std-health-score.orb +368 -371
  20. package/behaviors/registry/app/atoms/std-help-article.orb +373 -506
  21. package/behaviors/registry/app/atoms/std-help-category.orb +344 -359
  22. package/behaviors/registry/app/atoms/std-interview-slot.orb +490 -48
  23. package/behaviors/registry/app/atoms/std-invoice.orb +494 -291
  24. package/behaviors/registry/app/atoms/std-kitchen-display.orb +588 -96
  25. package/behaviors/registry/app/atoms/std-lease.orb +506 -190
  26. package/behaviors/registry/app/atoms/std-ledger-entry.orb +483 -154
  27. package/behaviors/registry/app/atoms/std-maintenance-request.orb +642 -192
  28. package/behaviors/registry/app/atoms/std-matter.orb +486 -318
  29. package/behaviors/registry/app/atoms/std-membership.orb +512 -102
  30. package/behaviors/registry/app/atoms/std-menu.orb +775 -183
  31. package/behaviors/registry/app/atoms/std-modifier-group.orb +522 -104
  32. package/behaviors/registry/app/atoms/std-multi-party-transaction.orb +130 -0
  33. package/behaviors/registry/app/atoms/std-nps-survey.orb +319 -327
  34. package/behaviors/registry/app/atoms/std-offer-letter.orb +497 -47
  35. package/behaviors/registry/app/atoms/std-payout-ledger.orb +378 -362
  36. package/behaviors/registry/app/atoms/std-pipeline.orb +139 -0
  37. package/behaviors/registry/app/atoms/std-question-bank.orb +379 -346
  38. package/behaviors/registry/app/atoms/std-receipt.orb +553 -44
  39. package/behaviors/registry/app/atoms/std-recurring-charge.orb +419 -832
  40. package/behaviors/registry/app/atoms/std-recurring-schedule.orb +94 -0
  41. package/behaviors/registry/app/atoms/std-renewal-risk.orb +370 -421
  42. package/behaviors/registry/app/atoms/std-rent-charge.orb +657 -55
  43. package/behaviors/registry/app/atoms/std-reorder-rule.orb +510 -59
  44. package/behaviors/registry/app/atoms/std-response-collector.orb +451 -144
  45. package/behaviors/registry/app/atoms/std-rfi.orb +502 -461
  46. package/behaviors/registry/app/atoms/std-route-optimize.orb +448 -158
  47. package/behaviors/registry/app/atoms/std-segment.orb +360 -98
  48. package/behaviors/registry/app/atoms/std-stock-level.orb +486 -103
  49. package/behaviors/registry/app/atoms/std-submittal.orb +538 -526
  50. package/behaviors/registry/app/atoms/std-table-map.orb +88 -51
  51. package/behaviors/registry/app/atoms/std-technician-dispatch.orb +653 -71
  52. package/behaviors/registry/app/atoms/std-telematics-event.orb +310 -215
  53. package/behaviors/registry/app/atoms/std-template-editor.orb +513 -90
  54. package/behaviors/registry/app/atoms/std-tenant.orb +525 -66
  55. package/behaviors/registry/app/atoms/std-ticket-tier.orb +472 -460
  56. package/behaviors/registry/app/atoms/std-time-entry.orb +354 -317
  57. package/behaviors/registry/app/atoms/std-timeline.orb +108 -0
  58. package/behaviors/registry/app/atoms/std-timesheet.orb +551 -284
  59. package/behaviors/registry/app/atoms/std-trial.orb +410 -317
  60. package/behaviors/registry/app/atoms/std-vehicle.orb +398 -563
  61. package/behaviors/registry/app/atoms/std-waitlist.orb +372 -283
  62. package/behaviors/registry/app/atoms/std-warehouse.orb +273 -214
  63. package/behaviors/registry/app/atoms/std-wizard-branching.orb +129 -0
  64. package/behaviors/registry/app/atoms/std-work-order.orb +628 -240
  65. package/behaviors/registry/app/molecules/std-applicant-form.orb +89 -83
  66. package/behaviors/registry/app/molecules/std-application.orb +178 -263
  67. package/behaviors/registry/app/molecules/std-broadcast-builder.orb +67 -176
  68. package/behaviors/registry/app/molecules/std-cart.orb +78 -72
  69. package/behaviors/registry/app/molecules/std-form-builder.orb +437 -176
  70. package/behaviors/registry/app/molecules/std-ledger-entry-form.orb +608 -89
  71. package/behaviors/registry/app/molecules/std-stock-adjustment.orb +501 -102
  72. package/behaviors/registry/app/molecules/std-vendor-onboarding.orb +383 -469
  73. package/behaviors/registry/core/atoms/std-billable-hour.orb +495 -91
  74. package/behaviors/registry/core/atoms/std-board.orb +1367 -0
  75. package/behaviors/registry/core/atoms/std-branching-logic.orb +271 -600
  76. package/behaviors/registry/core/atoms/std-event-log.orb +777 -0
  77. package/behaviors/registry/core/atoms/std-file-store.orb +534 -164
  78. package/behaviors/registry/core/atoms/std-gallery.orb +118 -101
  79. package/behaviors/registry/core/atoms/std-image-upload-multi.orb +87 -57
  80. package/behaviors/registry/core/atoms/std-multi-party-flow.orb +1313 -0
  81. package/behaviors/registry/core/atoms/std-page-tree.orb +342 -484
  82. package/behaviors/registry/core/atoms/std-recurrence.orb +937 -0
  83. package/behaviors/registry/core/atoms/std-rich-editor.orb +288 -416
  84. package/behaviors/registry/core/atoms/std-step-flow.orb +1155 -0
  85. package/behaviors/registry/core/atoms/std-version-history.orb +454 -430
  86. package/behaviors/registry/core/atoms/std-wizard.orb +1085 -0
  87. package/behaviors/registry/core/molecules/std-wizard-form.orb +222 -147
  88. package/dist/behaviors/registry/app/atoms/std-applicant.orb +496 -42
  89. package/dist/behaviors/registry/app/atoms/std-approval-chain.orb +106 -0
  90. package/dist/behaviors/registry/app/atoms/std-approval-request.orb +433 -593
  91. package/dist/behaviors/registry/app/atoms/std-campaign-goal.orb +438 -228
  92. package/dist/behaviors/registry/app/atoms/std-change-order.orb +565 -307
  93. package/dist/behaviors/registry/app/atoms/std-chart-of-accounts.orb +434 -97
  94. package/dist/behaviors/registry/app/atoms/std-checkin.orb +434 -270
  95. package/dist/behaviors/registry/app/atoms/std-class-roster.orb +495 -61
  96. package/dist/behaviors/registry/app/atoms/std-class-session.orb +485 -104
  97. package/dist/behaviors/registry/app/atoms/std-court-deadline.orb +519 -88
  98. package/dist/behaviors/registry/app/atoms/std-customer-account.orb +577 -97
  99. package/dist/behaviors/registry/app/atoms/std-donation-receipt.orb +498 -55
  100. package/dist/behaviors/registry/app/atoms/std-donor.orb +445 -135
  101. package/dist/behaviors/registry/app/atoms/std-drip-sequence.orb +445 -62
  102. package/dist/behaviors/registry/app/atoms/std-driver.orb +465 -480
  103. package/dist/behaviors/registry/app/atoms/std-dunning.orb +450 -512
  104. package/dist/behaviors/registry/app/atoms/std-email-broadcast.orb +517 -64
  105. package/dist/behaviors/registry/app/atoms/std-event.orb +465 -667
  106. package/dist/behaviors/registry/app/atoms/std-health-score.orb +368 -371
  107. package/dist/behaviors/registry/app/atoms/std-help-article.orb +373 -506
  108. package/dist/behaviors/registry/app/atoms/std-help-category.orb +344 -359
  109. package/dist/behaviors/registry/app/atoms/std-interview-slot.orb +490 -48
  110. package/dist/behaviors/registry/app/atoms/std-invoice.orb +494 -291
  111. package/dist/behaviors/registry/app/atoms/std-kitchen-display.orb +588 -96
  112. package/dist/behaviors/registry/app/atoms/std-lease.orb +506 -190
  113. package/dist/behaviors/registry/app/atoms/std-ledger-entry.orb +483 -154
  114. package/dist/behaviors/registry/app/atoms/std-maintenance-request.orb +642 -192
  115. package/dist/behaviors/registry/app/atoms/std-matter.orb +486 -318
  116. package/dist/behaviors/registry/app/atoms/std-membership.orb +512 -102
  117. package/dist/behaviors/registry/app/atoms/std-menu.orb +775 -183
  118. package/dist/behaviors/registry/app/atoms/std-modifier-group.orb +522 -104
  119. package/dist/behaviors/registry/app/atoms/std-multi-party-transaction.orb +130 -0
  120. package/dist/behaviors/registry/app/atoms/std-nps-survey.orb +319 -327
  121. package/dist/behaviors/registry/app/atoms/std-offer-letter.orb +497 -47
  122. package/dist/behaviors/registry/app/atoms/std-payout-ledger.orb +378 -362
  123. package/dist/behaviors/registry/app/atoms/std-pipeline.orb +139 -0
  124. package/dist/behaviors/registry/app/atoms/std-question-bank.orb +379 -346
  125. package/dist/behaviors/registry/app/atoms/std-receipt.orb +553 -44
  126. package/dist/behaviors/registry/app/atoms/std-recurring-charge.orb +419 -832
  127. package/dist/behaviors/registry/app/atoms/std-recurring-schedule.orb +94 -0
  128. package/dist/behaviors/registry/app/atoms/std-renewal-risk.orb +370 -421
  129. package/dist/behaviors/registry/app/atoms/std-rent-charge.orb +657 -55
  130. package/dist/behaviors/registry/app/atoms/std-reorder-rule.orb +510 -59
  131. package/dist/behaviors/registry/app/atoms/std-response-collector.orb +451 -144
  132. package/dist/behaviors/registry/app/atoms/std-rfi.orb +502 -461
  133. package/dist/behaviors/registry/app/atoms/std-route-optimize.orb +448 -158
  134. package/dist/behaviors/registry/app/atoms/std-segment.orb +360 -98
  135. package/dist/behaviors/registry/app/atoms/std-stock-level.orb +486 -103
  136. package/dist/behaviors/registry/app/atoms/std-submittal.orb +538 -526
  137. package/dist/behaviors/registry/app/atoms/std-table-map.orb +88 -51
  138. package/dist/behaviors/registry/app/atoms/std-technician-dispatch.orb +653 -71
  139. package/dist/behaviors/registry/app/atoms/std-telematics-event.orb +310 -215
  140. package/dist/behaviors/registry/app/atoms/std-template-editor.orb +513 -90
  141. package/dist/behaviors/registry/app/atoms/std-tenant.orb +525 -66
  142. package/dist/behaviors/registry/app/atoms/std-ticket-tier.orb +472 -460
  143. package/dist/behaviors/registry/app/atoms/std-time-entry.orb +354 -317
  144. package/dist/behaviors/registry/app/atoms/std-timeline.orb +108 -0
  145. package/dist/behaviors/registry/app/atoms/std-timesheet.orb +551 -284
  146. package/dist/behaviors/registry/app/atoms/std-trial.orb +410 -317
  147. package/dist/behaviors/registry/app/atoms/std-vehicle.orb +398 -563
  148. package/dist/behaviors/registry/app/atoms/std-waitlist.orb +372 -283
  149. package/dist/behaviors/registry/app/atoms/std-warehouse.orb +273 -214
  150. package/dist/behaviors/registry/app/atoms/std-wizard-branching.orb +129 -0
  151. package/dist/behaviors/registry/app/atoms/std-work-order.orb +628 -240
  152. package/dist/behaviors/registry/app/molecules/std-applicant-form.orb +89 -83
  153. package/dist/behaviors/registry/app/molecules/std-application.orb +178 -263
  154. package/dist/behaviors/registry/app/molecules/std-broadcast-builder.orb +67 -176
  155. package/dist/behaviors/registry/app/molecules/std-cart.orb +78 -72
  156. package/dist/behaviors/registry/app/molecules/std-form-builder.orb +437 -176
  157. package/dist/behaviors/registry/app/molecules/std-ledger-entry-form.orb +608 -89
  158. package/dist/behaviors/registry/app/molecules/std-stock-adjustment.orb +501 -102
  159. package/dist/behaviors/registry/app/molecules/std-vendor-onboarding.orb +383 -469
  160. package/dist/behaviors/registry/core/atoms/std-billable-hour.orb +495 -91
  161. package/dist/behaviors/registry/core/atoms/std-board.orb +1367 -0
  162. package/dist/behaviors/registry/core/atoms/std-branching-logic.orb +271 -600
  163. package/dist/behaviors/registry/core/atoms/std-event-log.orb +777 -0
  164. package/dist/behaviors/registry/core/atoms/std-file-store.orb +534 -164
  165. package/dist/behaviors/registry/core/atoms/std-gallery.orb +118 -101
  166. package/dist/behaviors/registry/core/atoms/std-image-upload-multi.orb +87 -57
  167. package/dist/behaviors/registry/core/atoms/std-multi-party-flow.orb +1313 -0
  168. package/dist/behaviors/registry/core/atoms/std-page-tree.orb +342 -484
  169. package/dist/behaviors/registry/core/atoms/std-recurrence.orb +937 -0
  170. package/dist/behaviors/registry/core/atoms/std-rich-editor.orb +288 -416
  171. package/dist/behaviors/registry/core/atoms/std-step-flow.orb +1155 -0
  172. package/dist/behaviors/registry/core/atoms/std-version-history.orb +454 -430
  173. package/dist/behaviors/registry/core/atoms/std-wizard.orb +1085 -0
  174. package/dist/behaviors/registry/core/molecules/std-wizard-form.orb +222 -147
  175. package/package.json +1 -1
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "std-rfi",
3
3
  "version": "1.0.0",
4
- "description": "std-rfi — Request For Information primitive tracking formal questions raised during construction with response and deadline.",
4
+ "description": "std-rfi — Request For Information primitive for construction projects. Lists RFIs in `browsing`; opens detail in `viewing_single` with Submit / Answer / Close actions.",
5
5
  "orbitals": [
6
6
  {
7
7
  "name": "RfiOrbital",
@@ -85,58 +85,7 @@
85
85
  "linkedEntity": "Rfi",
86
86
  "emits": [
87
87
  {
88
- "event": "VIEW",
89
- "payloadSchema": [
90
- {
91
- "name": "id",
92
- "type": "string",
93
- "required": true
94
- },
95
- {
96
- "name": "source",
97
- "type": "string"
98
- }
99
- ]
100
- },
101
- {
102
- "event": "EDIT",
103
- "payloadSchema": [
104
- {
105
- "name": "id",
106
- "type": "string",
107
- "required": true
108
- },
109
- {
110
- "name": "source",
111
- "type": "string"
112
- }
113
- ]
114
- },
115
- {
116
- "event": "CREATE",
117
- "payloadSchema": [
118
- {
119
- "name": "source",
120
- "type": "string"
121
- }
122
- ]
123
- },
124
- {
125
- "event": "REQUEST_DELETE",
126
- "payloadSchema": [
127
- {
128
- "name": "id",
129
- "type": "string",
130
- "required": true
131
- },
132
- {
133
- "name": "source",
134
- "type": "string"
135
- }
136
- ]
137
- },
138
- {
139
- "event": "SUBMIT",
88
+ "event": "OPEN_RFI",
140
89
  "payloadSchema": [
141
90
  {
142
91
  "name": "id",
@@ -197,63 +146,25 @@
197
146
  ]
198
147
  },
199
148
  {
200
- "event": "ANSWER",
149
+ "event": "CLOSE_VIEW"
150
+ },
151
+ {
152
+ "event": "SUBMIT",
201
153
  "payloadSchema": [
202
154
  {
203
155
  "name": "id",
204
156
  "type": "string",
205
157
  "required": true
206
- },
207
- {
208
- "name": "row.id",
209
- "type": "string",
210
- "required": true
211
- },
212
- {
213
- "name": "row.rfiNumber",
214
- "type": "string",
215
- "required": true
216
- },
158
+ }
159
+ ]
160
+ },
161
+ {
162
+ "event": "ANSWER",
163
+ "payloadSchema": [
217
164
  {
218
- "name": "row.subject",
165
+ "name": "id",
219
166
  "type": "string",
220
167
  "required": true
221
- },
222
- {
223
- "name": "row.question",
224
- "type": "string"
225
- },
226
- {
227
- "name": "row.response",
228
- "type": "string"
229
- },
230
- {
231
- "name": "row.status",
232
- "type": "string"
233
- },
234
- {
235
- "name": "row.raisedBy",
236
- "type": "string"
237
- },
238
- {
239
- "name": "row.assignedTo",
240
- "type": "string"
241
- },
242
- {
243
- "name": "row.raisedAt",
244
- "type": "string"
245
- },
246
- {
247
- "name": "row.dueAt",
248
- "type": "string"
249
- },
250
- {
251
- "name": "row.answeredAt",
252
- "type": "string"
253
- },
254
- {
255
- "name": "row.pendingId",
256
- "type": "string"
257
168
  }
258
169
  ]
259
170
  },
@@ -264,57 +175,6 @@
264
175
  "name": "id",
265
176
  "type": "string",
266
177
  "required": true
267
- },
268
- {
269
- "name": "row.id",
270
- "type": "string",
271
- "required": true
272
- },
273
- {
274
- "name": "row.rfiNumber",
275
- "type": "string",
276
- "required": true
277
- },
278
- {
279
- "name": "row.subject",
280
- "type": "string",
281
- "required": true
282
- },
283
- {
284
- "name": "row.question",
285
- "type": "string"
286
- },
287
- {
288
- "name": "row.response",
289
- "type": "string"
290
- },
291
- {
292
- "name": "row.status",
293
- "type": "string"
294
- },
295
- {
296
- "name": "row.raisedBy",
297
- "type": "string"
298
- },
299
- {
300
- "name": "row.assignedTo",
301
- "type": "string"
302
- },
303
- {
304
- "name": "row.raisedAt",
305
- "type": "string"
306
- },
307
- {
308
- "name": "row.dueAt",
309
- "type": "string"
310
- },
311
- {
312
- "name": "row.answeredAt",
313
- "type": "string"
314
- },
315
- {
316
- "name": "row.pendingId",
317
- "type": "string"
318
178
  }
319
179
  ]
320
180
  },
@@ -352,7 +212,10 @@
352
212
  "isInitial": true
353
213
  },
354
214
  {
355
- "name": "viewing"
215
+ "name": "browsing"
216
+ },
217
+ {
218
+ "name": "viewing_single"
356
219
  },
357
220
  {
358
221
  "name": "error"
@@ -392,32 +255,17 @@
392
255
  ]
393
256
  },
394
257
  {
395
- "key": "REFRESH",
396
- "name": "Refresh",
397
- "payloadSchema": [
398
- {
399
- "name": "source",
400
- "type": "string"
401
- }
402
- ]
403
- },
404
- {
405
- "key": "SEARCH",
406
- "name": "Search",
258
+ "key": "OPEN_RFI",
259
+ "name": "Open Rfi",
407
260
  "payloadSchema": [
408
261
  {
409
- "name": "query",
410
- "type": "string"
411
- }
412
- ]
413
- },
414
- {
415
- "key": "FILTER_STATUS",
416
- "name": "Filter Status",
417
- "payloadSchema": [
262
+ "name": "id",
263
+ "type": "string",
264
+ "required": true
265
+ },
418
266
  {
419
- "name": "status",
420
- "type": "string"
267
+ "name": "row",
268
+ "type": "Rfi"
421
269
  }
422
270
  ]
423
271
  },
@@ -455,47 +303,8 @@
455
303
  ]
456
304
  },
457
305
  {
458
- "key": "CREATE",
459
- "name": "Create",
460
- "payloadSchema": [
461
- {
462
- "name": "source",
463
- "type": "string"
464
- }
465
- ]
466
- },
467
- {
468
- "key": "VIEW",
469
- "name": "View",
470
- "payloadSchema": [
471
- {
472
- "name": "id",
473
- "type": "string",
474
- "required": true
475
- }
476
- ]
477
- },
478
- {
479
- "key": "EDIT",
480
- "name": "Edit",
481
- "payloadSchema": [
482
- {
483
- "name": "id",
484
- "type": "string",
485
- "required": true
486
- }
487
- ]
488
- },
489
- {
490
- "key": "REQUEST_DELETE",
491
- "name": "Request Delete",
492
- "payloadSchema": [
493
- {
494
- "name": "id",
495
- "type": "string",
496
- "required": true
497
- }
498
- ]
306
+ "key": "CLOSE_VIEW",
307
+ "name": "Close View"
499
308
  }
500
309
  ],
501
310
  "transitions": [
@@ -518,6 +327,9 @@
518
327
  "render-ui",
519
328
  "main",
520
329
  {
330
+ "type": "stack",
331
+ "align": "center",
332
+ "gap": "md",
521
333
  "direction": "vertical",
522
334
  "children": [
523
335
  {
@@ -525,181 +337,133 @@
525
337
  },
526
338
  {
527
339
  "type": "typography",
528
- "variant": "caption",
529
340
  "color": "muted",
341
+ "variant": "caption",
530
342
  "content": "Loading RFIs…"
531
343
  }
532
344
  ],
533
- "type": "stack",
534
- "align": "center",
535
- "className": "py-12",
536
- "gap": "md"
345
+ "className": "py-12"
537
346
  }
538
347
  ]
539
348
  ]
540
349
  },
541
350
  {
542
351
  "from": "loading",
543
- "to": "viewing",
352
+ "to": "browsing",
544
353
  "event": "RfiLoaded",
545
354
  "effects": [
546
355
  [
547
356
  "render-ui",
548
357
  "main",
549
358
  {
550
- "gap": "md",
551
- "direction": "vertical",
552
359
  "type": "stack",
553
360
  "children": [
554
361
  {
362
+ "gap": "sm",
363
+ "type": "stack",
364
+ "direction": "horizontal",
365
+ "align": "center",
555
366
  "children": [
556
367
  {
557
368
  "type": "icon",
558
369
  "name": "help-circle"
559
370
  },
560
371
  {
561
- "variant": "h3",
562
372
  "type": "typography",
563
- "content": "@config.title"
373
+ "content": "@config.title",
374
+ "variant": "h3"
375
+ }
376
+ ]
377
+ },
378
+ {
379
+ "children": [
380
+ {
381
+ "type": "stat-display",
382
+ "icon": "help-circle",
383
+ "value": "@payload.data.length",
384
+ "label": "Total RFIs"
564
385
  },
565
386
  {
566
- "type": "badge",
387
+ "value": "18",
388
+ "type": "stat-display",
567
389
  "label": "Open",
568
- "variant": "warning"
390
+ "icon": "mail"
569
391
  },
570
392
  {
571
- "type": "button",
572
- "label": "New RFI",
573
- "action": "CREATE",
574
- "variant": "primary"
393
+ "icon": "alert-triangle",
394
+ "label": "Overdue",
395
+ "value": "5",
396
+ "type": "stat-display"
397
+ },
398
+ {
399
+ "label": "Avg response",
400
+ "icon": "clock",
401
+ "value": "3.2d",
402
+ "type": "stat-display"
575
403
  }
576
404
  ],
577
- "gap": "sm",
578
- "align": "center",
579
- "direction": "horizontal",
580
- "type": "stack"
581
- },
582
- {
583
- "type": "divider"
584
- },
585
- {
586
- "type": "master-detail-layout",
587
- "master": {
588
- "entity": "@payload.data",
589
- "type": "data-grid",
590
- "fields": [
591
- {
592
- "label": "RFI #",
593
- "name": "rfiNumber",
594
- "variant": "caption"
595
- },
596
- {
597
- "variant": "caption",
598
- "name": "subject",
599
- "label": "Subject"
600
- },
601
- {
602
- "variant": "badge",
603
- "label": "Status",
604
- "name": "status"
605
- },
606
- {
607
- "name": "raisedBy",
608
- "label": "Raised By",
609
- "variant": "caption"
610
- },
611
- {
612
- "variant": "caption",
613
- "label": "Due",
614
- "name": "dueAt"
615
- }
616
- ],
617
- "gap": "sm",
618
- "cols": 1.0,
619
- "itemActions": [
620
- {
621
- "label": "View",
622
- "variant": "secondary",
623
- "event": "VIEW"
624
- },
625
- {
626
- "event": "EDIT",
627
- "variant": "secondary",
628
- "label": "Edit"
629
- },
630
- {
631
- "label": "Submit",
632
- "event": "SUBMIT",
633
- "variant": "primary"
634
- },
635
- {
636
- "variant": "primary",
637
- "event": "ANSWER",
638
- "label": "Answer"
639
- },
640
- {
641
- "event": "CLOSE",
642
- "variant": "ghost",
643
- "label": "Close"
644
- },
645
- {
646
- "label": "Delete",
647
- "event": "REQUEST_DELETE",
648
- "variant": "danger"
649
- }
650
- ]
651
- },
652
- "detail": {
653
- "direction": "vertical",
654
- "children": [
655
- {
656
- "variant": "h4",
657
- "content": "RFI Detail",
658
- "type": "typography"
659
- },
660
- {
661
- "type": "stack",
662
- "direction": "horizontal",
663
- "children": [
664
- {
665
- "label": "Closed",
666
- "variant": "success",
667
- "type": "badge"
668
- },
669
- {
670
- "label": "Resolved",
671
- "variant": "primary",
672
- "type": "badge"
673
- }
674
- ],
675
- "gap": "sm",
676
- "align": "center"
677
- },
678
- {
679
- "color": "muted",
680
- "content": "Select an RFI to view question, response, and audit trail.",
681
- "variant": "caption",
682
- "type": "typography"
683
- }
684
- ],
685
- "type": "stack",
686
- "gap": "sm"
687
- }
405
+ "cols": 4.0,
406
+ "type": "simple-grid"
688
407
  },
689
408
  {
690
409
  "type": "divider"
691
410
  },
692
411
  {
693
- "variant": "h4",
694
- "type": "typography",
695
- "content": "Deadline Calendar"
696
- },
697
- {
698
- "type": "calendar-grid"
699
- }
700
- ]
701
- }
702
- ]
412
+ "itemActions": [
413
+ {
414
+ "label": "Open",
415
+ "icon": "arrow-right",
416
+ "event": "OPEN_RFI",
417
+ "variant": "primary"
418
+ },
419
+ {
420
+ "event": "CLOSE",
421
+ "variant": "danger",
422
+ "label": "Close"
423
+ }
424
+ ],
425
+ "gap": "sm",
426
+ "entity": "@payload.data",
427
+ "fields": [
428
+ {
429
+ "name": "rfiNumber",
430
+ "variant": "caption",
431
+ "label": "RFI #"
432
+ },
433
+ {
434
+ "label": "Subject",
435
+ "name": "subject",
436
+ "variant": "caption"
437
+ },
438
+ {
439
+ "name": "status",
440
+ "label": "Status",
441
+ "variant": "badge"
442
+ },
443
+ {
444
+ "name": "raisedBy",
445
+ "label": "Raised By",
446
+ "variant": "caption"
447
+ },
448
+ {
449
+ "label": "Assigned",
450
+ "variant": "caption",
451
+ "name": "assignedTo"
452
+ },
453
+ {
454
+ "variant": "caption",
455
+ "label": "Due",
456
+ "name": "dueAt"
457
+ }
458
+ ],
459
+ "cols": 1.0,
460
+ "type": "data-grid"
461
+ }
462
+ ],
463
+ "gap": "md",
464
+ "direction": "vertical"
465
+ }
466
+ ]
703
467
  ]
704
468
  },
705
469
  {
@@ -711,18 +475,256 @@
711
475
  "render-ui",
712
476
  "main",
713
477
  {
714
- "variant": "error",
478
+ "message": "@payload.error",
715
479
  "type": "alert",
716
- "message": "@payload.error"
480
+ "variant": "error"
481
+ }
482
+ ]
483
+ ]
484
+ },
485
+ {
486
+ "from": "browsing",
487
+ "to": "viewing_single",
488
+ "event": "OPEN_RFI",
489
+ "effects": [
490
+ [
491
+ "set",
492
+ "@entity.id",
493
+ "@payload.row.id"
494
+ ],
495
+ [
496
+ "set",
497
+ "@entity.rfiNumber",
498
+ "@payload.row.rfiNumber"
499
+ ],
500
+ [
501
+ "set",
502
+ "@entity.subject",
503
+ "@payload.row.subject"
504
+ ],
505
+ [
506
+ "set",
507
+ "@entity.question",
508
+ "@payload.row.question"
509
+ ],
510
+ [
511
+ "set",
512
+ "@entity.response",
513
+ "@payload.row.response"
514
+ ],
515
+ [
516
+ "set",
517
+ "@entity.status",
518
+ "@payload.row.status"
519
+ ],
520
+ [
521
+ "set",
522
+ "@entity.raisedBy",
523
+ "@payload.row.raisedBy"
524
+ ],
525
+ [
526
+ "set",
527
+ "@entity.assignedTo",
528
+ "@payload.row.assignedTo"
529
+ ],
530
+ [
531
+ "set",
532
+ "@entity.raisedAt",
533
+ "@payload.row.raisedAt"
534
+ ],
535
+ [
536
+ "set",
537
+ "@entity.dueAt",
538
+ "@payload.row.dueAt"
539
+ ],
540
+ [
541
+ "set",
542
+ "@entity.answeredAt",
543
+ "@payload.row.answeredAt"
544
+ ],
545
+ [
546
+ "render-ui",
547
+ "main",
548
+ {
549
+ "gap": "md",
550
+ "type": "stack",
551
+ "direction": "vertical",
552
+ "children": [
553
+ {
554
+ "direction": "horizontal",
555
+ "children": [
556
+ {
557
+ "type": "button",
558
+ "variant": "ghost",
559
+ "action": "CLOSE_VIEW",
560
+ "label": "Back"
561
+ },
562
+ {
563
+ "name": "help-circle",
564
+ "type": "icon"
565
+ },
566
+ {
567
+ "content": "@entity.subject",
568
+ "variant": "h3",
569
+ "type": "typography"
570
+ },
571
+ {
572
+ "variant": "default",
573
+ "label": "@entity.status",
574
+ "type": "badge"
575
+ }
576
+ ],
577
+ "type": "stack",
578
+ "gap": "sm",
579
+ "align": "center"
580
+ },
581
+ {
582
+ "type": "divider"
583
+ },
584
+ {
585
+ "children": [
586
+ {
587
+ "direction": "horizontal",
588
+ "gap": "md",
589
+ "type": "stack",
590
+ "children": [
591
+ {
592
+ "content": "RFI #",
593
+ "variant": "caption",
594
+ "color": "muted",
595
+ "type": "typography"
596
+ },
597
+ {
598
+ "content": "@entity.rfiNumber",
599
+ "type": "typography",
600
+ "variant": "body"
601
+ }
602
+ ]
603
+ },
604
+ {
605
+ "gap": "md",
606
+ "type": "stack",
607
+ "direction": "horizontal",
608
+ "children": [
609
+ {
610
+ "content": "Question",
611
+ "type": "typography",
612
+ "color": "muted",
613
+ "variant": "caption"
614
+ },
615
+ {
616
+ "type": "typography",
617
+ "variant": "body",
618
+ "content": "@entity.question"
619
+ }
620
+ ]
621
+ },
622
+ {
623
+ "children": [
624
+ {
625
+ "type": "typography",
626
+ "content": "Response",
627
+ "color": "muted",
628
+ "variant": "caption"
629
+ },
630
+ {
631
+ "content": "@entity.response",
632
+ "variant": "body",
633
+ "type": "typography"
634
+ }
635
+ ],
636
+ "type": "stack",
637
+ "gap": "md",
638
+ "direction": "horizontal"
639
+ }
640
+ ],
641
+ "gap": "sm",
642
+ "type": "stack",
643
+ "direction": "vertical"
644
+ },
645
+ {
646
+ "type": "divider"
647
+ },
648
+ {
649
+ "children": [
650
+ {
651
+ "type": "stat-display",
652
+ "value": "@entity.raisedBy",
653
+ "icon": "user",
654
+ "label": "Raised by"
655
+ },
656
+ {
657
+ "label": "Assigned",
658
+ "type": "stat-display",
659
+ "icon": "user-check",
660
+ "value": "@entity.assignedTo"
661
+ },
662
+ {
663
+ "icon": "calendar",
664
+ "type": "stat-display",
665
+ "label": "Due",
666
+ "value": "@entity.dueAt"
667
+ },
668
+ {
669
+ "type": "stat-display",
670
+ "value": "@entity.answeredAt",
671
+ "label": "Answered",
672
+ "icon": "check-circle"
673
+ }
674
+ ],
675
+ "type": "simple-grid",
676
+ "cols": 4.0
677
+ },
678
+ {
679
+ "align": "center",
680
+ "type": "stack",
681
+ "gap": "sm",
682
+ "direction": "horizontal",
683
+ "children": [
684
+ {
685
+ "variant": "primary",
686
+ "action": "SUBMIT",
687
+ "actionPayload": {
688
+ "id": "@entity.id"
689
+ },
690
+ "type": "button",
691
+ "label": "Submit"
692
+ },
693
+ {
694
+ "type": "button",
695
+ "action": "ANSWER",
696
+ "label": "Answer",
697
+ "actionPayload": {
698
+ "id": "@entity.id"
699
+ },
700
+ "variant": "secondary"
701
+ },
702
+ {
703
+ "variant": "danger",
704
+ "actionPayload": {
705
+ "id": "@entity.id"
706
+ },
707
+ "label": "Close",
708
+ "action": "CLOSE",
709
+ "type": "button"
710
+ }
711
+ ]
712
+ }
713
+ ]
717
714
  }
718
715
  ]
719
716
  ]
720
717
  },
721
718
  {
722
- "from": "viewing",
719
+ "from": "browsing",
723
720
  "to": "loading",
724
- "event": "REFRESH",
721
+ "event": "SUBMIT",
725
722
  "effects": [
723
+ [
724
+ "set",
725
+ "@entity.id",
726
+ "@payload.id"
727
+ ],
726
728
  [
727
729
  "fetch",
728
730
  "Rfi",
@@ -737,38 +739,43 @@
737
739
  "render-ui",
738
740
  "main",
739
741
  {
742
+ "type": "stack",
740
743
  "children": [
741
744
  {
742
745
  "type": "spinner"
743
746
  },
744
747
  {
745
- "variant": "caption",
746
- "content": "Refreshing RFIs…",
747
748
  "type": "typography",
748
- "color": "muted"
749
+ "color": "muted",
750
+ "content": "Submitting RFI…",
751
+ "variant": "caption"
749
752
  }
750
753
  ],
751
- "type": "stack",
752
754
  "align": "center",
753
755
  "direction": "vertical",
754
- "className": "py-12",
755
- "gap": "md"
756
+ "gap": "md",
757
+ "className": "py-12"
756
758
  }
757
759
  ]
758
760
  ]
759
761
  },
760
762
  {
761
- "from": "viewing",
763
+ "from": "browsing",
762
764
  "to": "loading",
763
- "event": "SEARCH",
765
+ "event": "ANSWER",
764
766
  "effects": [
767
+ [
768
+ "set",
769
+ "@entity.id",
770
+ "@payload.id"
771
+ ],
765
772
  [
766
773
  "fetch",
767
774
  "Rfi",
768
775
  {
769
776
  "emit": {
770
- "failure": "RfiLoadFailed",
771
- "success": "RfiLoaded"
777
+ "success": "RfiLoaded",
778
+ "failure": "RfiLoadFailed"
772
779
  }
773
780
  }
774
781
  ],
@@ -776,38 +783,43 @@
776
783
  "render-ui",
777
784
  "main",
778
785
  {
779
- "direction": "vertical",
780
786
  "gap": "md",
787
+ "align": "center",
788
+ "className": "py-12",
781
789
  "children": [
782
790
  {
783
791
  "type": "spinner"
784
792
  },
785
793
  {
786
794
  "variant": "caption",
787
- "content": "Searching RFIs…",
795
+ "color": "muted",
788
796
  "type": "typography",
789
- "color": "muted"
797
+ "content": "Answering RFI…"
790
798
  }
791
799
  ],
792
- "align": "center",
793
- "className": "py-12",
794
- "type": "stack"
800
+ "type": "stack",
801
+ "direction": "vertical"
795
802
  }
796
803
  ]
797
804
  ]
798
805
  },
799
806
  {
800
- "from": "viewing",
807
+ "from": "browsing",
801
808
  "to": "loading",
802
- "event": "FILTER_STATUS",
809
+ "event": "CLOSE",
803
810
  "effects": [
811
+ [
812
+ "set",
813
+ "@entity.id",
814
+ "@payload.id"
815
+ ],
804
816
  [
805
817
  "fetch",
806
818
  "Rfi",
807
819
  {
808
820
  "emit": {
809
- "success": "RfiLoaded",
810
- "failure": "RfiLoadFailed"
821
+ "failure": "RfiLoadFailed",
822
+ "success": "RfiLoaded"
811
823
  }
812
824
  }
813
825
  ],
@@ -816,71 +828,68 @@
816
828
  "main",
817
829
  {
818
830
  "type": "stack",
819
- "className": "py-12",
820
831
  "children": [
821
832
  {
822
833
  "type": "spinner"
823
834
  },
824
835
  {
825
- "type": "typography",
826
- "content": "Filtering RFIs…",
827
836
  "color": "muted",
828
- "variant": "caption"
837
+ "variant": "caption",
838
+ "content": "Closing RFI…",
839
+ "type": "typography"
829
840
  }
830
841
  ],
831
- "gap": "md",
842
+ "align": "center",
843
+ "className": "py-12",
832
844
  "direction": "vertical",
833
- "align": "center"
845
+ "gap": "md"
834
846
  }
835
847
  ]
836
848
  ]
837
849
  },
838
850
  {
839
- "from": "viewing",
840
- "to": "viewing",
841
- "event": "SUBMIT",
851
+ "from": "viewing_single",
852
+ "to": "loading",
853
+ "event": "CLOSE_VIEW",
842
854
  "effects": [
843
855
  [
844
- "set",
845
- "@entity.id",
846
- "@payload.id"
847
- ],
848
- [
849
- "render-ui",
850
- "main",
856
+ "fetch",
857
+ "Rfi",
851
858
  {
852
- "message": "RFI submitted",
853
- "type": "alert",
854
- "variant": "success"
859
+ "emit": {
860
+ "success": "RfiLoaded",
861
+ "failure": "RfiLoadFailed"
862
+ }
855
863
  }
856
- ]
857
- ]
858
- },
859
- {
860
- "from": "viewing",
861
- "to": "viewing",
862
- "event": "ANSWER",
863
- "effects": [
864
- [
865
- "set",
866
- "@entity.id",
867
- "@payload.id"
868
864
  ],
869
865
  [
870
866
  "render-ui",
871
867
  "main",
872
868
  {
873
- "type": "alert",
874
- "variant": "success",
875
- "message": "RFI answered"
869
+ "type": "stack",
870
+ "direction": "vertical",
871
+ "align": "center",
872
+ "children": [
873
+ {
874
+ "type": "spinner"
875
+ },
876
+ {
877
+ "color": "muted",
878
+ "type": "typography",
879
+ "variant": "caption",
880
+ "content": "Loading RFIs…"
881
+ }
882
+ ],
883
+ "className": "py-12",
884
+ "gap": "md"
876
885
  }
877
886
  ]
878
887
  ]
879
888
  },
880
889
  {
881
- "from": "viewing",
882
- "to": "viewing",
883
- "event": "CLOSE",
890
+ "from": "viewing_single",
891
+ "to": "loading",
892
+ "event": "SUBMIT",
884
893
  "effects": [
885
894
  [
886
895
  "set",
@@ -888,36 +897,43 @@
888
897
  "@payload.id"
889
898
  ],
890
899
  [
891
- "render-ui",
892
- "main",
900
+ "fetch",
901
+ "Rfi",
893
902
  {
894
- "variant": "info",
895
- "type": "alert",
896
- "message": "RFI closed"
903
+ "emit": {
904
+ "success": "RfiLoaded",
905
+ "failure": "RfiLoadFailed"
906
+ }
897
907
  }
898
- ]
899
- ]
900
- },
901
- {
902
- "from": "viewing",
903
- "to": "viewing",
904
- "event": "CREATE",
905
- "effects": [
908
+ ],
906
909
  [
907
910
  "render-ui",
908
911
  "main",
909
912
  {
910
- "variant": "info",
911
- "type": "alert",
912
- "message": "Creating new RFI"
913
+ "gap": "md",
914
+ "type": "stack",
915
+ "direction": "vertical",
916
+ "align": "center",
917
+ "children": [
918
+ {
919
+ "type": "spinner"
920
+ },
921
+ {
922
+ "variant": "caption",
923
+ "color": "muted",
924
+ "content": "Submitting RFI…",
925
+ "type": "typography"
926
+ }
927
+ ],
928
+ "className": "py-12"
913
929
  }
914
930
  ]
915
931
  ]
916
932
  },
917
933
  {
918
- "from": "viewing",
919
- "to": "viewing",
920
- "event": "VIEW",
934
+ "from": "viewing_single",
935
+ "to": "loading",
936
+ "event": "ANSWER",
921
937
  "effects": [
922
938
  [
923
939
  "set",
@@ -925,54 +941,79 @@
925
941
  "@payload.id"
926
942
  ],
927
943
  [
928
- "render-ui",
929
- "main",
944
+ "fetch",
945
+ "Rfi",
930
946
  {
931
- "type": "alert",
932
- "variant": "info",
933
- "message": "Viewing RFI"
947
+ "emit": {
948
+ "success": "RfiLoaded",
949
+ "failure": "RfiLoadFailed"
950
+ }
934
951
  }
935
- ]
936
- ]
937
- },
938
- {
939
- "from": "viewing",
940
- "to": "viewing",
941
- "event": "EDIT",
942
- "effects": [
943
- [
944
- "set",
945
- "@entity.id",
946
- "@payload.id"
947
952
  ],
948
953
  [
949
954
  "render-ui",
950
955
  "main",
951
956
  {
952
- "type": "alert",
953
- "variant": "info",
954
- "message": "Editing RFI"
957
+ "direction": "vertical",
958
+ "gap": "md",
959
+ "children": [
960
+ {
961
+ "type": "spinner"
962
+ },
963
+ {
964
+ "variant": "caption",
965
+ "color": "muted",
966
+ "content": "Answering RFI…",
967
+ "type": "typography"
968
+ }
969
+ ],
970
+ "type": "stack",
971
+ "className": "py-12",
972
+ "align": "center"
955
973
  }
956
974
  ]
957
975
  ]
958
976
  },
959
977
  {
960
- "from": "viewing",
961
- "to": "viewing",
962
- "event": "REQUEST_DELETE",
978
+ "from": "viewing_single",
979
+ "to": "loading",
980
+ "event": "CLOSE",
963
981
  "effects": [
964
982
  [
965
983
  "set",
966
984
  "@entity.id",
967
985
  "@payload.id"
968
986
  ],
987
+ [
988
+ "fetch",
989
+ "Rfi",
990
+ {
991
+ "emit": {
992
+ "success": "RfiLoaded",
993
+ "failure": "RfiLoadFailed"
994
+ }
995
+ }
996
+ ],
969
997
  [
970
998
  "render-ui",
971
999
  "main",
972
1000
  {
973
- "message": "Delete requested",
974
- "type": "alert",
975
- "variant": "warning"
1001
+ "children": [
1002
+ {
1003
+ "type": "spinner"
1004
+ },
1005
+ {
1006
+ "type": "typography",
1007
+ "content": "Closing RFI…",
1008
+ "color": "muted",
1009
+ "variant": "caption"
1010
+ }
1011
+ ],
1012
+ "type": "stack",
1013
+ "className": "py-12",
1014
+ "gap": "md",
1015
+ "align": "center",
1016
+ "direction": "vertical"
976
1017
  }
977
1018
  ]
978
1019
  ]