@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-change-order",
3
3
  "version": "1.0.0",
4
- "description": "std-change-order — construction change-order primitive tracking contract scope/cost/schedule modifications with owner approval.",
4
+ "description": "std-change-order — construction change-order primitive tracking contract scope/cost/schedule modifications with owner approval. Lists orders in `browsing`; opens detail in `viewing_single` with Approve / Reject / Execute / Delete actions.",
5
5
  "orbitals": [
6
6
  {
7
7
  "name": "ChangeOrderOrbital",
@@ -86,7 +86,7 @@
86
86
  "linkedEntity": "ChangeOrder",
87
87
  "emits": [
88
88
  {
89
- "event": "VIEW",
89
+ "event": "OPEN_CHANGE_ORDER",
90
90
  "payloadSchema": [
91
91
  {
92
92
  "name": "id",
@@ -147,7 +147,10 @@
147
147
  ]
148
148
  },
149
149
  {
150
- "event": "EDIT",
150
+ "event": "CLOSE_VIEW"
151
+ },
152
+ {
153
+ "event": "REQUEST_DELETE",
151
154
  "payloadSchema": [
152
155
  {
153
156
  "name": "id",
@@ -208,73 +211,42 @@
208
211
  ]
209
212
  },
210
213
  {
211
- "event": "CREATE",
214
+ "event": "SUBMIT_FOR_APPROVAL",
212
215
  "payloadSchema": [
213
216
  {
214
- "name": "source",
217
+ "name": "id",
215
218
  "type": "string",
216
219
  "required": true
217
220
  }
218
221
  ]
219
222
  },
220
223
  {
221
- "event": "REQUEST_DELETE",
224
+ "event": "APPROVE",
222
225
  "payloadSchema": [
223
226
  {
224
227
  "name": "id",
225
228
  "type": "string",
226
229
  "required": true
227
- },
228
- {
229
- "name": "row.id",
230
- "type": "string",
231
- "required": true
232
- },
230
+ }
231
+ ]
232
+ },
233
+ {
234
+ "event": "REJECT",
235
+ "payloadSchema": [
233
236
  {
234
- "name": "row.coNumber",
237
+ "name": "id",
235
238
  "type": "string",
236
239
  "required": true
237
- },
240
+ }
241
+ ]
242
+ },
243
+ {
244
+ "event": "EXECUTE",
245
+ "payloadSchema": [
238
246
  {
239
- "name": "row.description",
247
+ "name": "id",
240
248
  "type": "string",
241
249
  "required": true
242
- },
243
- {
244
- "name": "row.reason",
245
- "type": "string"
246
- },
247
- {
248
- "name": "row.costImpact",
249
- "type": "number"
250
- },
251
- {
252
- "name": "row.scheduleImpactDays",
253
- "type": "number"
254
- },
255
- {
256
- "name": "row.status",
257
- "type": "string"
258
- },
259
- {
260
- "name": "row.requestedBy",
261
- "type": "string"
262
- },
263
- {
264
- "name": "row.approvedBy",
265
- "type": "string"
266
- },
267
- {
268
- "name": "row.requestedAt",
269
- "type": "string"
270
- },
271
- {
272
- "name": "row.approvedAt",
273
- "type": "string"
274
- },
275
- {
276
- "name": "row.pendingId",
277
- "type": "string"
278
250
  }
279
251
  ]
280
252
  },
@@ -312,7 +284,10 @@
312
284
  "isInitial": true
313
285
  },
314
286
  {
315
- "name": "viewing"
287
+ "name": "browsing"
288
+ },
289
+ {
290
+ "name": "viewing_single"
316
291
  },
317
292
  {
318
293
  "name": "error"
@@ -352,41 +327,23 @@
352
327
  ]
353
328
  },
354
329
  {
355
- "key": "SUBMIT_FOR_APPROVAL",
356
- "name": "Submit For Approval",
357
- "payloadSchema": [
358
- {
359
- "name": "id",
360
- "type": "string",
361
- "required": true
362
- }
363
- ]
364
- },
365
- {
366
- "key": "APPROVE",
367
- "name": "Approve",
330
+ "key": "OPEN_CHANGE_ORDER",
331
+ "name": "Open Change Order",
368
332
  "payloadSchema": [
369
333
  {
370
334
  "name": "id",
371
335
  "type": "string",
372
336
  "required": true
373
- }
374
- ]
375
- },
376
- {
377
- "key": "REJECT",
378
- "name": "Reject",
379
- "payloadSchema": [
337
+ },
380
338
  {
381
- "name": "id",
382
- "type": "string",
383
- "required": true
339
+ "name": "row",
340
+ "type": "ChangeOrder"
384
341
  }
385
342
  ]
386
343
  },
387
344
  {
388
- "key": "EXECUTE",
389
- "name": "Execute",
345
+ "key": "REQUEST_DELETE",
346
+ "name": "Request Delete",
390
347
  "payloadSchema": [
391
348
  {
392
349
  "name": "id",
@@ -396,45 +353,23 @@
396
353
  ]
397
354
  },
398
355
  {
399
- "key": "CREATE",
400
- "name": "Create",
401
- "payloadSchema": [
402
- {
403
- "name": "source",
404
- "type": "string",
405
- "required": true
406
- }
407
- ]
408
- },
409
- {
410
- "key": "REFRESH",
411
- "name": "Refresh"
412
- },
413
- {
414
- "key": "SEARCH",
415
- "name": "Search",
416
- "payloadSchema": [
417
- {
418
- "name": "query",
419
- "type": "string",
420
- "required": true
421
- }
422
- ]
356
+ "key": "CLOSE_VIEW",
357
+ "name": "Close View"
423
358
  },
424
359
  {
425
- "key": "FILTER_STATUS",
426
- "name": "Filter Status",
360
+ "key": "SUBMIT_FOR_APPROVAL",
361
+ "name": "Submit For Approval",
427
362
  "payloadSchema": [
428
363
  {
429
- "name": "status",
364
+ "name": "id",
430
365
  "type": "string",
431
366
  "required": true
432
367
  }
433
368
  ]
434
369
  },
435
370
  {
436
- "key": "VIEW",
437
- "name": "View",
371
+ "key": "APPROVE",
372
+ "name": "Approve",
438
373
  "payloadSchema": [
439
374
  {
440
375
  "name": "id",
@@ -444,8 +379,8 @@
444
379
  ]
445
380
  },
446
381
  {
447
- "key": "EDIT",
448
- "name": "Edit",
382
+ "key": "REJECT",
383
+ "name": "Reject",
449
384
  "payloadSchema": [
450
385
  {
451
386
  "name": "id",
@@ -455,8 +390,8 @@
455
390
  ]
456
391
  },
457
392
  {
458
- "key": "REQUEST_DELETE",
459
- "name": "Request Delete",
393
+ "key": "EXECUTE",
394
+ "name": "Execute",
460
395
  "payloadSchema": [
461
396
  {
462
397
  "name": "id",
@@ -477,8 +412,8 @@
477
412
  "ChangeOrder",
478
413
  {
479
414
  "emit": {
480
- "success": "ChangeOrderLoaded",
481
- "failure": "ChangeOrderLoadFailed"
415
+ "failure": "ChangeOrderLoadFailed",
416
+ "success": "ChangeOrderLoaded"
482
417
  }
483
418
  }
484
419
  ],
@@ -487,135 +422,95 @@
487
422
  "main",
488
423
  {
489
424
  "type": "stack",
425
+ "gap": "md",
426
+ "className": "py-12",
427
+ "direction": "vertical",
490
428
  "children": [
491
429
  {
492
430
  "type": "spinner"
493
431
  },
494
432
  {
495
- "color": "muted",
433
+ "content": "Loading change orders…",
496
434
  "type": "typography",
497
435
  "variant": "caption",
498
- "content": "Loading change orders…"
436
+ "color": "muted"
499
437
  }
500
438
  ],
501
- "className": "py-12",
502
- "gap": "md",
503
- "align": "center",
504
- "direction": "vertical"
439
+ "align": "center"
505
440
  }
506
441
  ]
507
442
  ]
508
443
  },
509
444
  {
510
445
  "from": "loading",
511
- "to": "viewing",
446
+ "to": "browsing",
512
447
  "event": "ChangeOrderLoaded",
513
448
  "effects": [
514
449
  [
515
450
  "render-ui",
516
451
  "main",
517
452
  {
518
- "type": "stack",
519
453
  "gap": "md",
454
+ "type": "stack",
520
455
  "children": [
521
456
  {
522
457
  "direction": "horizontal",
523
- "justify": "between",
524
458
  "children": [
525
459
  {
526
- "children": [
527
- {
528
- "type": "icon",
529
- "name": "file-text"
530
- },
531
- {
532
- "content": "@config.title",
533
- "variant": "h3",
534
- "type": "typography"
535
- }
536
- ],
537
- "align": "center",
538
- "direction": "horizontal",
539
- "gap": "sm",
540
- "type": "stack"
460
+ "name": "file-text",
461
+ "type": "icon"
541
462
  },
542
463
  {
543
- "actionPayload": {
544
- "source": "header"
545
- },
546
- "variant": "primary",
547
- "label": "New Change Order",
548
- "action": "CREATE",
549
- "type": "button"
464
+ "content": "@config.title",
465
+ "type": "typography",
466
+ "variant": "h3"
550
467
  }
551
468
  ],
469
+ "gap": "sm",
552
470
  "align": "center",
553
- "type": "stack",
554
- "gap": "sm"
471
+ "type": "stack"
555
472
  },
556
473
  {
557
- "type": "wizard-progress",
558
- "currentStep": 1.0,
559
- "steps": [
474
+ "children": [
560
475
  {
561
- "id": "draft",
562
- "title": "Draft"
476
+ "icon": "file-text",
477
+ "type": "stat-display",
478
+ "label": "Total orders",
479
+ "value": "@payload.data.length"
563
480
  },
564
481
  {
565
- "title": "Pending Approval",
566
- "id": "pending-approval"
482
+ "type": "stat-display",
483
+ "value": "11",
484
+ "label": "Pending approval",
485
+ "icon": "clock"
567
486
  },
568
487
  {
569
- "title": "Approved",
570
- "id": "approved"
488
+ "value": "$184,500",
489
+ "label": "Cost impact",
490
+ "icon": "dollar-sign",
491
+ "type": "stat-display"
571
492
  },
572
493
  {
573
- "title": "Executed",
574
- "id": "executed"
494
+ "value": "47",
495
+ "icon": "calendar",
496
+ "label": "Days added",
497
+ "type": "stat-display"
575
498
  }
576
- ]
499
+ ],
500
+ "cols": 4.0,
501
+ "type": "simple-grid"
577
502
  },
578
503
  {
579
504
  "type": "divider"
580
505
  },
581
506
  {
507
+ "gap": "sm",
582
508
  "cols": 1.0,
583
- "itemActions": [
584
- {
585
- "variant": "ghost",
586
- "event": "VIEW",
587
- "label": "View"
588
- },
589
- {
590
- "event": "EDIT",
591
- "variant": "secondary",
592
- "label": "Edit"
593
- },
594
- {
595
- "variant": "primary",
596
- "label": "Submit",
597
- "event": "SUBMIT_FOR_APPROVAL"
598
- },
599
- {
600
- "variant": "primary",
601
- "event": "APPROVE",
602
- "label": "Approve"
603
- },
604
- {
605
- "variant": "danger",
606
- "event": "REJECT",
607
- "label": "Reject"
608
- },
609
- {
610
- "label": "Delete",
611
- "event": "REQUEST_DELETE",
612
- "variant": "ghost"
613
- }
614
- ],
509
+ "entity": "@payload.data",
615
510
  "fields": [
616
511
  {
617
- "name": "coNumber",
618
512
  "label": "CO #",
513
+ "name": "coNumber",
619
514
  "variant": "caption"
620
515
  },
621
516
  {
@@ -625,27 +520,38 @@
625
520
  },
626
521
  {
627
522
  "name": "costImpact",
628
- "variant": "caption",
629
- "label": "Cost Impact"
523
+ "label": "Cost Impact",
524
+ "variant": "caption"
630
525
  },
631
526
  {
632
- "label": "Days",
633
527
  "variant": "caption",
634
- "name": "scheduleImpactDays"
528
+ "name": "scheduleImpactDays",
529
+ "label": "Days"
635
530
  },
636
531
  {
532
+ "label": "Status",
637
533
  "name": "status",
638
- "variant": "badge",
639
- "label": "Status"
534
+ "variant": "badge"
640
535
  },
641
536
  {
642
- "name": "requestedBy",
643
537
  "variant": "caption",
538
+ "name": "requestedBy",
644
539
  "label": "Requested By"
645
540
  }
646
541
  ],
647
- "gap": "sm",
648
- "entity": "@payload.data",
542
+ "itemActions": [
543
+ {
544
+ "event": "OPEN_CHANGE_ORDER",
545
+ "icon": "arrow-right",
546
+ "label": "Open",
547
+ "variant": "primary"
548
+ },
549
+ {
550
+ "label": "Delete",
551
+ "event": "REQUEST_DELETE",
552
+ "variant": "danger"
553
+ }
554
+ ],
649
555
  "type": "data-grid"
650
556
  }
651
557
  ],
@@ -663,117 +569,330 @@
663
569
  "render-ui",
664
570
  "main",
665
571
  {
572
+ "message": "@payload.error",
666
573
  "type": "alert",
667
- "variant": "error",
668
- "message": "@payload.error"
574
+ "variant": "error"
669
575
  }
670
576
  ]
671
577
  ]
672
578
  },
673
579
  {
674
- "from": "viewing",
675
- "to": "viewing",
676
- "event": "SUBMIT_FOR_APPROVAL",
580
+ "from": "browsing",
581
+ "to": "viewing_single",
582
+ "event": "OPEN_CHANGE_ORDER",
677
583
  "effects": [
678
584
  [
679
585
  "set",
680
586
  "@entity.id",
681
- "@payload.id"
587
+ "@payload.row.id"
682
588
  ],
683
589
  [
684
- "render-ui",
685
- "main",
686
- {
687
- "type": "alert",
688
- "message": "Change order submitted for approval",
689
- "variant": "info"
690
- }
691
- ]
692
- ]
693
- },
694
- {
695
- "from": "viewing",
696
- "to": "viewing",
697
- "event": "APPROVE",
698
- "effects": [
590
+ "set",
591
+ "@entity.coNumber",
592
+ "@payload.row.coNumber"
593
+ ],
699
594
  [
700
595
  "set",
701
- "@entity.id",
702
- "@payload.id"
596
+ "@entity.description",
597
+ "@payload.row.description"
703
598
  ],
704
599
  [
705
- "render-ui",
706
- "main",
707
- {
708
- "type": "alert",
709
- "message": "Change order approved",
710
- "variant": "success"
711
- }
712
- ]
713
- ]
714
- },
715
- {
716
- "from": "viewing",
717
- "to": "viewing",
718
- "event": "REJECT",
719
- "effects": [
600
+ "set",
601
+ "@entity.reason",
602
+ "@payload.row.reason"
603
+ ],
720
604
  [
721
605
  "set",
722
- "@entity.id",
723
- "@payload.id"
606
+ "@entity.costImpact",
607
+ "@payload.row.costImpact"
724
608
  ],
725
609
  [
726
- "render-ui",
727
- "main",
728
- {
729
- "variant": "error",
730
- "message": "Change order rejected",
731
- "type": "alert"
732
- }
733
- ]
734
- ]
735
- },
736
- {
737
- "from": "viewing",
738
- "to": "viewing",
739
- "event": "EXECUTE",
740
- "effects": [
610
+ "set",
611
+ "@entity.scheduleImpactDays",
612
+ "@payload.row.scheduleImpactDays"
613
+ ],
741
614
  [
742
615
  "set",
743
- "@entity.id",
744
- "@payload.id"
616
+ "@entity.status",
617
+ "@payload.row.status"
618
+ ],
619
+ [
620
+ "set",
621
+ "@entity.requestedBy",
622
+ "@payload.row.requestedBy"
623
+ ],
624
+ [
625
+ "set",
626
+ "@entity.approvedBy",
627
+ "@payload.row.approvedBy"
628
+ ],
629
+ [
630
+ "set",
631
+ "@entity.requestedAt",
632
+ "@payload.row.requestedAt"
633
+ ],
634
+ [
635
+ "set",
636
+ "@entity.approvedAt",
637
+ "@payload.row.approvedAt"
745
638
  ],
746
639
  [
747
640
  "render-ui",
748
641
  "main",
749
642
  {
750
- "type": "alert",
751
- "variant": "success",
752
- "message": "Change order executed"
753
- }
754
- ]
755
- ]
756
- },
757
- {
758
- "from": "viewing",
759
- "to": "viewing",
760
- "event": "CREATE",
761
- "effects": [
762
- [
643
+ "direction": "vertical",
644
+ "type": "stack",
645
+ "gap": "md",
646
+ "children": [
647
+ {
648
+ "children": [
649
+ {
650
+ "variant": "ghost",
651
+ "type": "button",
652
+ "action": "CLOSE_VIEW",
653
+ "label": "Back"
654
+ },
655
+ {
656
+ "name": "file-text",
657
+ "type": "icon"
658
+ },
659
+ {
660
+ "variant": "h3",
661
+ "type": "typography",
662
+ "content": "@entity.coNumber"
663
+ },
664
+ {
665
+ "label": "@entity.status",
666
+ "variant": "primary",
667
+ "type": "badge"
668
+ }
669
+ ],
670
+ "direction": "horizontal",
671
+ "align": "center",
672
+ "type": "stack",
673
+ "gap": "sm"
674
+ },
675
+ {
676
+ "type": "divider"
677
+ },
678
+ {
679
+ "direction": "vertical",
680
+ "type": "stack",
681
+ "gap": "sm",
682
+ "children": [
683
+ {
684
+ "children": [
685
+ {
686
+ "content": "Description",
687
+ "color": "muted",
688
+ "type": "typography",
689
+ "variant": "caption"
690
+ },
691
+ {
692
+ "type": "typography",
693
+ "variant": "body",
694
+ "content": "@entity.description"
695
+ }
696
+ ],
697
+ "gap": "md",
698
+ "type": "stack",
699
+ "direction": "horizontal"
700
+ },
701
+ {
702
+ "children": [
703
+ {
704
+ "type": "typography",
705
+ "variant": "caption",
706
+ "color": "muted",
707
+ "content": "Reason"
708
+ },
709
+ {
710
+ "type": "typography",
711
+ "variant": "body",
712
+ "content": "@entity.reason"
713
+ }
714
+ ],
715
+ "direction": "horizontal",
716
+ "type": "stack",
717
+ "gap": "md"
718
+ },
719
+ {
720
+ "children": [
721
+ {
722
+ "type": "typography",
723
+ "color": "muted",
724
+ "variant": "caption",
725
+ "content": "Requested by"
726
+ },
727
+ {
728
+ "variant": "body",
729
+ "content": "@entity.requestedBy",
730
+ "type": "typography"
731
+ }
732
+ ],
733
+ "type": "stack",
734
+ "direction": "horizontal",
735
+ "gap": "md"
736
+ },
737
+ {
738
+ "type": "stack",
739
+ "direction": "horizontal",
740
+ "gap": "md",
741
+ "children": [
742
+ {
743
+ "type": "typography",
744
+ "color": "muted",
745
+ "content": "Approved by",
746
+ "variant": "caption"
747
+ },
748
+ {
749
+ "content": "@entity.approvedBy",
750
+ "type": "typography",
751
+ "variant": "body"
752
+ }
753
+ ]
754
+ }
755
+ ]
756
+ },
757
+ {
758
+ "type": "divider"
759
+ },
760
+ {
761
+ "type": "simple-grid",
762
+ "cols": 4.0,
763
+ "children": [
764
+ {
765
+ "type": "stat-display",
766
+ "icon": "dollar-sign",
767
+ "value": "@entity.costImpact",
768
+ "label": "Cost impact"
769
+ },
770
+ {
771
+ "type": "stat-display",
772
+ "label": "Schedule days",
773
+ "icon": "calendar",
774
+ "value": "@entity.scheduleImpactDays"
775
+ },
776
+ {
777
+ "type": "stat-display",
778
+ "icon": "clock",
779
+ "label": "Requested",
780
+ "value": "@entity.requestedAt"
781
+ },
782
+ {
783
+ "type": "stat-display",
784
+ "value": "@entity.approvedAt",
785
+ "label": "Approved",
786
+ "icon": "check-circle"
787
+ }
788
+ ]
789
+ },
790
+ {
791
+ "children": [
792
+ {
793
+ "type": "button",
794
+ "action": "SUBMIT_FOR_APPROVAL",
795
+ "label": "Submit",
796
+ "variant": "primary",
797
+ "actionPayload": {
798
+ "id": "@entity.id"
799
+ }
800
+ },
801
+ {
802
+ "label": "Approve",
803
+ "action": "APPROVE",
804
+ "type": "button",
805
+ "actionPayload": {
806
+ "id": "@entity.id"
807
+ },
808
+ "variant": "primary"
809
+ },
810
+ {
811
+ "actionPayload": {
812
+ "id": "@entity.id"
813
+ },
814
+ "label": "Reject",
815
+ "variant": "danger",
816
+ "action": "REJECT",
817
+ "type": "button"
818
+ },
819
+ {
820
+ "type": "button",
821
+ "variant": "primary",
822
+ "actionPayload": {
823
+ "id": "@entity.id"
824
+ },
825
+ "action": "EXECUTE",
826
+ "label": "Execute"
827
+ },
828
+ {
829
+ "action": "REQUEST_DELETE",
830
+ "label": "Delete",
831
+ "type": "button",
832
+ "actionPayload": {
833
+ "id": "@entity.id"
834
+ },
835
+ "variant": "danger"
836
+ }
837
+ ],
838
+ "direction": "horizontal",
839
+ "align": "center",
840
+ "type": "stack",
841
+ "gap": "sm"
842
+ }
843
+ ]
844
+ }
845
+ ]
846
+ ]
847
+ },
848
+ {
849
+ "from": "browsing",
850
+ "to": "loading",
851
+ "event": "REQUEST_DELETE",
852
+ "effects": [
853
+ [
854
+ "set",
855
+ "@entity.id",
856
+ "@payload.id"
857
+ ],
858
+ [
859
+ "fetch",
860
+ "ChangeOrder",
861
+ {
862
+ "emit": {
863
+ "success": "ChangeOrderLoaded",
864
+ "failure": "ChangeOrderLoadFailed"
865
+ }
866
+ }
867
+ ],
868
+ [
763
869
  "render-ui",
764
870
  "main",
765
871
  {
766
- "variant": "info",
767
- "message": "Creating new change order",
768
- "type": "alert"
872
+ "align": "center",
873
+ "gap": "md",
874
+ "type": "stack",
875
+ "direction": "vertical",
876
+ "className": "py-12",
877
+ "children": [
878
+ {
879
+ "type": "spinner"
880
+ },
881
+ {
882
+ "color": "muted",
883
+ "variant": "caption",
884
+ "content": "Deleting change order…",
885
+ "type": "typography"
886
+ }
887
+ ]
769
888
  }
770
889
  ]
771
890
  ]
772
891
  },
773
892
  {
774
- "from": "viewing",
893
+ "from": "viewing_single",
775
894
  "to": "loading",
776
- "event": "REFRESH",
895
+ "event": "CLOSE_VIEW",
777
896
  "effects": [
778
897
  [
779
898
  "fetch",
@@ -789,89 +908,205 @@
789
908
  "render-ui",
790
909
  "main",
791
910
  {
792
- "size": "sm",
793
- "type": "spinner"
911
+ "gap": "md",
912
+ "className": "py-12",
913
+ "align": "center",
914
+ "type": "stack",
915
+ "direction": "vertical",
916
+ "children": [
917
+ {
918
+ "type": "spinner"
919
+ },
920
+ {
921
+ "variant": "caption",
922
+ "type": "typography",
923
+ "color": "muted",
924
+ "content": "Loading change orders…"
925
+ }
926
+ ]
794
927
  }
795
928
  ]
796
929
  ]
797
930
  },
798
931
  {
799
- "from": "viewing",
800
- "to": "viewing",
801
- "event": "SEARCH",
932
+ "from": "viewing_single",
933
+ "to": "loading",
934
+ "event": "SUBMIT_FOR_APPROVAL",
802
935
  "effects": [
936
+ [
937
+ "set",
938
+ "@entity.id",
939
+ "@payload.id"
940
+ ],
941
+ [
942
+ "fetch",
943
+ "ChangeOrder",
944
+ {
945
+ "emit": {
946
+ "failure": "ChangeOrderLoadFailed",
947
+ "success": "ChangeOrderLoaded"
948
+ }
949
+ }
950
+ ],
803
951
  [
804
952
  "render-ui",
805
953
  "main",
806
954
  {
807
- "type": "alert",
808
- "message": "Searching change orders",
809
- "variant": "info"
955
+ "direction": "vertical",
956
+ "type": "stack",
957
+ "gap": "md",
958
+ "className": "py-12",
959
+ "children": [
960
+ {
961
+ "type": "spinner"
962
+ },
963
+ {
964
+ "content": "Submitting for approval…",
965
+ "color": "muted",
966
+ "type": "typography",
967
+ "variant": "caption"
968
+ }
969
+ ],
970
+ "align": "center"
810
971
  }
811
972
  ]
812
973
  ]
813
974
  },
814
975
  {
815
- "from": "viewing",
816
- "to": "viewing",
817
- "event": "FILTER_STATUS",
976
+ "from": "viewing_single",
977
+ "to": "loading",
978
+ "event": "APPROVE",
818
979
  "effects": [
980
+ [
981
+ "set",
982
+ "@entity.id",
983
+ "@payload.id"
984
+ ],
985
+ [
986
+ "fetch",
987
+ "ChangeOrder",
988
+ {
989
+ "emit": {
990
+ "success": "ChangeOrderLoaded",
991
+ "failure": "ChangeOrderLoadFailed"
992
+ }
993
+ }
994
+ ],
819
995
  [
820
996
  "render-ui",
821
997
  "main",
822
998
  {
823
- "type": "alert",
824
- "variant": "info",
825
- "message": "Filtering by status"
999
+ "type": "stack",
1000
+ "children": [
1001
+ {
1002
+ "type": "spinner"
1003
+ },
1004
+ {
1005
+ "variant": "caption",
1006
+ "color": "muted",
1007
+ "type": "typography",
1008
+ "content": "Approving change order…"
1009
+ }
1010
+ ],
1011
+ "align": "center",
1012
+ "direction": "vertical",
1013
+ "className": "py-12",
1014
+ "gap": "md"
826
1015
  }
827
1016
  ]
828
1017
  ]
829
1018
  },
830
1019
  {
831
- "from": "viewing",
832
- "to": "viewing",
833
- "event": "VIEW",
1020
+ "from": "viewing_single",
1021
+ "to": "loading",
1022
+ "event": "REJECT",
834
1023
  "effects": [
835
1024
  [
836
1025
  "set",
837
1026
  "@entity.id",
838
1027
  "@payload.id"
839
1028
  ],
1029
+ [
1030
+ "fetch",
1031
+ "ChangeOrder",
1032
+ {
1033
+ "emit": {
1034
+ "failure": "ChangeOrderLoadFailed",
1035
+ "success": "ChangeOrderLoaded"
1036
+ }
1037
+ }
1038
+ ],
840
1039
  [
841
1040
  "render-ui",
842
1041
  "main",
843
1042
  {
844
- "message": "Viewing change order",
845
- "type": "alert",
846
- "variant": "info"
1043
+ "direction": "vertical",
1044
+ "gap": "md",
1045
+ "align": "center",
1046
+ "className": "py-12",
1047
+ "type": "stack",
1048
+ "children": [
1049
+ {
1050
+ "type": "spinner"
1051
+ },
1052
+ {
1053
+ "content": "Rejecting change order…",
1054
+ "type": "typography",
1055
+ "variant": "caption",
1056
+ "color": "muted"
1057
+ }
1058
+ ]
847
1059
  }
848
1060
  ]
849
1061
  ]
850
1062
  },
851
1063
  {
852
- "from": "viewing",
853
- "to": "viewing",
854
- "event": "EDIT",
1064
+ "from": "viewing_single",
1065
+ "to": "loading",
1066
+ "event": "EXECUTE",
855
1067
  "effects": [
856
1068
  [
857
1069
  "set",
858
1070
  "@entity.id",
859
1071
  "@payload.id"
860
1072
  ],
1073
+ [
1074
+ "fetch",
1075
+ "ChangeOrder",
1076
+ {
1077
+ "emit": {
1078
+ "success": "ChangeOrderLoaded",
1079
+ "failure": "ChangeOrderLoadFailed"
1080
+ }
1081
+ }
1082
+ ],
861
1083
  [
862
1084
  "render-ui",
863
1085
  "main",
864
1086
  {
865
- "message": "Editing change order",
866
- "variant": "info",
867
- "type": "alert"
1087
+ "type": "stack",
1088
+ "children": [
1089
+ {
1090
+ "type": "spinner"
1091
+ },
1092
+ {
1093
+ "content": "Executing change order…",
1094
+ "color": "muted",
1095
+ "variant": "caption",
1096
+ "type": "typography"
1097
+ }
1098
+ ],
1099
+ "direction": "vertical",
1100
+ "align": "center",
1101
+ "gap": "md",
1102
+ "className": "py-12"
868
1103
  }
869
1104
  ]
870
1105
  ]
871
1106
  },
872
1107
  {
873
- "from": "viewing",
874
- "to": "viewing",
1108
+ "from": "viewing_single",
1109
+ "to": "loading",
875
1110
  "event": "REQUEST_DELETE",
876
1111
  "effects": [
877
1112
  [
@@ -879,13 +1114,36 @@
879
1114
  "@entity.id",
880
1115
  "@payload.id"
881
1116
  ],
1117
+ [
1118
+ "fetch",
1119
+ "ChangeOrder",
1120
+ {
1121
+ "emit": {
1122
+ "failure": "ChangeOrderLoadFailed",
1123
+ "success": "ChangeOrderLoaded"
1124
+ }
1125
+ }
1126
+ ],
882
1127
  [
883
1128
  "render-ui",
884
1129
  "main",
885
1130
  {
886
- "type": "alert",
887
- "message": "Delete requested",
888
- "variant": "warning"
1131
+ "direction": "vertical",
1132
+ "align": "center",
1133
+ "className": "py-12",
1134
+ "gap": "md",
1135
+ "children": [
1136
+ {
1137
+ "type": "spinner"
1138
+ },
1139
+ {
1140
+ "type": "typography",
1141
+ "variant": "caption",
1142
+ "content": "Deleting change order…",
1143
+ "color": "muted"
1144
+ }
1145
+ ],
1146
+ "type": "stack"
889
1147
  }
890
1148
  ]
891
1149
  ]
@@ -909,8 +1167,8 @@
909
1167
  "render-ui",
910
1168
  "main",
911
1169
  {
912
- "size": "sm",
913
- "type": "spinner"
1170
+ "type": "spinner",
1171
+ "size": "sm"
914
1172
  }
915
1173
  ]
916
1174
  ]