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