@genesislcap/foundation-forms 14.153.0 → 14.154.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.
@@ -1050,204 +1050,6 @@
1050
1050
  }
1051
1051
  ]
1052
1052
  },
1053
- {
1054
- "kind": "javascript-module",
1055
- "path": "src/jsonforms/testers/isDate.ts",
1056
- "declarations": [
1057
- {
1058
- "kind": "variable",
1059
- "name": "isOneOfDate"
1060
- }
1061
- ],
1062
- "exports": [
1063
- {
1064
- "kind": "js",
1065
- "name": "isOneOfDate",
1066
- "declaration": {
1067
- "name": "isOneOfDate",
1068
- "module": "src/jsonforms/testers/isDate.ts"
1069
- }
1070
- }
1071
- ]
1072
- },
1073
- {
1074
- "kind": "javascript-module",
1075
- "path": "src/jsonforms/testers/isInvisible.ts",
1076
- "declarations": [
1077
- {
1078
- "kind": "function",
1079
- "name": "isInvisible",
1080
- "return": {
1081
- "type": {
1082
- "text": "boolean"
1083
- }
1084
- },
1085
- "parameters": [
1086
- {
1087
- "name": "uischema",
1088
- "type": {
1089
- "text": "UISchemaElement"
1090
- }
1091
- },
1092
- {
1093
- "name": "schema",
1094
- "type": {
1095
- "text": "JsonSchema"
1096
- }
1097
- },
1098
- {
1099
- "name": "context",
1100
- "type": {
1101
- "text": "TesterContext"
1102
- }
1103
- }
1104
- ]
1105
- }
1106
- ],
1107
- "exports": [
1108
- {
1109
- "kind": "js",
1110
- "name": "isInvisible",
1111
- "declaration": {
1112
- "name": "isInvisible",
1113
- "module": "src/jsonforms/testers/isInvisible.ts"
1114
- }
1115
- }
1116
- ]
1117
- },
1118
- {
1119
- "kind": "javascript-module",
1120
- "path": "src/jsonforms/testers/isLayoutArray.ts",
1121
- "declarations": [
1122
- {
1123
- "kind": "variable",
1124
- "name": "isLayoutArray"
1125
- }
1126
- ],
1127
- "exports": [
1128
- {
1129
- "kind": "js",
1130
- "name": "isLayoutArray",
1131
- "declaration": {
1132
- "name": "isLayoutArray",
1133
- "module": "src/jsonforms/testers/isLayoutArray.ts"
1134
- }
1135
- }
1136
- ]
1137
- },
1138
- {
1139
- "kind": "javascript-module",
1140
- "path": "src/jsonforms/testers/isOneOfBoolean.ts",
1141
- "declarations": [
1142
- {
1143
- "kind": "variable",
1144
- "name": "isOneOfBoolean"
1145
- }
1146
- ],
1147
- "exports": [
1148
- {
1149
- "kind": "js",
1150
- "name": "isOneOfBoolean",
1151
- "declaration": {
1152
- "name": "isOneOfBoolean",
1153
- "module": "src/jsonforms/testers/isOneOfBoolean.ts"
1154
- }
1155
- }
1156
- ]
1157
- },
1158
- {
1159
- "kind": "javascript-module",
1160
- "path": "src/jsonforms/testers/isOneOfEnum.ts",
1161
- "declarations": [
1162
- {
1163
- "kind": "variable",
1164
- "name": "isOneOfEnum"
1165
- }
1166
- ],
1167
- "exports": [
1168
- {
1169
- "kind": "js",
1170
- "name": "isOneOfEnum",
1171
- "declaration": {
1172
- "name": "isOneOfEnum",
1173
- "module": "src/jsonforms/testers/isOneOfEnum.ts"
1174
- }
1175
- }
1176
- ]
1177
- },
1178
- {
1179
- "kind": "javascript-module",
1180
- "path": "src/jsonforms/testers/isOneOfNumber.ts",
1181
- "declarations": [
1182
- {
1183
- "kind": "variable",
1184
- "name": "isOneOfNumber"
1185
- }
1186
- ],
1187
- "exports": [
1188
- {
1189
- "kind": "js",
1190
- "name": "isOneOfNumber",
1191
- "declaration": {
1192
- "name": "isOneOfNumber",
1193
- "module": "src/jsonforms/testers/isOneOfNumber.ts"
1194
- }
1195
- }
1196
- ]
1197
- },
1198
- {
1199
- "kind": "javascript-module",
1200
- "path": "src/jsonforms/testers/isOneOfOptionMultiselect.ts",
1201
- "declarations": [
1202
- {
1203
- "kind": "variable",
1204
- "name": "isOneOfOptionMultiselect"
1205
- }
1206
- ],
1207
- "exports": [
1208
- {
1209
- "kind": "js",
1210
- "name": "isOneOfOptionMultiselect",
1211
- "declaration": {
1212
- "name": "isOneOfOptionMultiselect",
1213
- "module": "src/jsonforms/testers/isOneOfOptionMultiselect.ts"
1214
- }
1215
- }
1216
- ]
1217
- },
1218
- {
1219
- "kind": "javascript-module",
1220
- "path": "src/jsonforms/testers/optionIs.ts",
1221
- "declarations": [
1222
- {
1223
- "kind": "function",
1224
- "name": "optionIs",
1225
- "return": {
1226
- "type": {
1227
- "text": "Tester"
1228
- }
1229
- },
1230
- "parameters": [
1231
- {
1232
- "name": "optionName",
1233
- "type": {
1234
- "text": "string"
1235
- }
1236
- }
1237
- ]
1238
- }
1239
- ],
1240
- "exports": [
1241
- {
1242
- "kind": "js",
1243
- "name": "optionIs",
1244
- "declaration": {
1245
- "name": "optionIs",
1246
- "module": "src/jsonforms/testers/optionIs.ts"
1247
- }
1248
- }
1249
- ]
1250
- },
1251
1053
  {
1252
1054
  "kind": "javascript-module",
1253
1055
  "path": "src/jsonforms/renderers/ArrayListWrapperRenderer.ts",
@@ -1278,10 +1080,6 @@
1278
1080
  "kind": "field",
1279
1081
  "name": "control"
1280
1082
  },
1281
- {
1282
- "kind": "field",
1283
- "name": "pathName"
1284
- },
1285
1083
  {
1286
1084
  "kind": "field",
1287
1085
  "name": "schema"
@@ -1867,7 +1665,7 @@
1867
1665
  {
1868
1666
  "kind": "variable",
1869
1667
  "name": "LayoutArrayRendererTemplate",
1870
- "default": "html`\n <template>\n <array-list-wrapper :form=${(x) => x} :control=${(x) => x.control}></array-list-wrapper>\n </template>\n`"
1668
+ "default": "html`\n <template>\n <control-wrapper\n :control=${(x) => x.control}\n :touched=${(x) => x.touched}\n ?submitted=${(x) => x.submitted}\n >\n <array-list-wrapper :form=${(x) => x} :control=${(x) => x.control}></array-list-wrapper>\n </control-wrapper>\n </template>\n`"
1871
1669
  },
1872
1670
  {
1873
1671
  "kind": "variable",
@@ -1875,7 +1673,7 @@
1875
1673
  "type": {
1876
1674
  "text": "any"
1877
1675
  },
1878
- "default": "{\n renderer: LayoutArrayRendererTemplate,\n tester: rankWith(LAYOUT_ARRAY_RANK, isLayoutArray),\n mapper: mapStateToLayoutProps,\n}"
1676
+ "default": "{\n renderer: LayoutArrayRendererTemplate,\n tester: rankWith(LAYOUT_ARRAY_RANK, isLayoutArray),\n mapper: mapStateToArrayLayoutProps,\n dispatchMapper: mapDispatchToArrayControlProps,\n}"
1879
1677
  }
1880
1678
  ],
1881
1679
  "exports": [
@@ -2642,6 +2440,204 @@
2642
2440
  }
2643
2441
  }
2644
2442
  ]
2443
+ },
2444
+ {
2445
+ "kind": "javascript-module",
2446
+ "path": "src/jsonforms/testers/isDate.ts",
2447
+ "declarations": [
2448
+ {
2449
+ "kind": "variable",
2450
+ "name": "isOneOfDate"
2451
+ }
2452
+ ],
2453
+ "exports": [
2454
+ {
2455
+ "kind": "js",
2456
+ "name": "isOneOfDate",
2457
+ "declaration": {
2458
+ "name": "isOneOfDate",
2459
+ "module": "src/jsonforms/testers/isDate.ts"
2460
+ }
2461
+ }
2462
+ ]
2463
+ },
2464
+ {
2465
+ "kind": "javascript-module",
2466
+ "path": "src/jsonforms/testers/isInvisible.ts",
2467
+ "declarations": [
2468
+ {
2469
+ "kind": "function",
2470
+ "name": "isInvisible",
2471
+ "return": {
2472
+ "type": {
2473
+ "text": "boolean"
2474
+ }
2475
+ },
2476
+ "parameters": [
2477
+ {
2478
+ "name": "uischema",
2479
+ "type": {
2480
+ "text": "UISchemaElement"
2481
+ }
2482
+ },
2483
+ {
2484
+ "name": "schema",
2485
+ "type": {
2486
+ "text": "JsonSchema"
2487
+ }
2488
+ },
2489
+ {
2490
+ "name": "context",
2491
+ "type": {
2492
+ "text": "TesterContext"
2493
+ }
2494
+ }
2495
+ ]
2496
+ }
2497
+ ],
2498
+ "exports": [
2499
+ {
2500
+ "kind": "js",
2501
+ "name": "isInvisible",
2502
+ "declaration": {
2503
+ "name": "isInvisible",
2504
+ "module": "src/jsonforms/testers/isInvisible.ts"
2505
+ }
2506
+ }
2507
+ ]
2508
+ },
2509
+ {
2510
+ "kind": "javascript-module",
2511
+ "path": "src/jsonforms/testers/isLayoutArray.ts",
2512
+ "declarations": [
2513
+ {
2514
+ "kind": "variable",
2515
+ "name": "isLayoutArray"
2516
+ }
2517
+ ],
2518
+ "exports": [
2519
+ {
2520
+ "kind": "js",
2521
+ "name": "isLayoutArray",
2522
+ "declaration": {
2523
+ "name": "isLayoutArray",
2524
+ "module": "src/jsonforms/testers/isLayoutArray.ts"
2525
+ }
2526
+ }
2527
+ ]
2528
+ },
2529
+ {
2530
+ "kind": "javascript-module",
2531
+ "path": "src/jsonforms/testers/isOneOfBoolean.ts",
2532
+ "declarations": [
2533
+ {
2534
+ "kind": "variable",
2535
+ "name": "isOneOfBoolean"
2536
+ }
2537
+ ],
2538
+ "exports": [
2539
+ {
2540
+ "kind": "js",
2541
+ "name": "isOneOfBoolean",
2542
+ "declaration": {
2543
+ "name": "isOneOfBoolean",
2544
+ "module": "src/jsonforms/testers/isOneOfBoolean.ts"
2545
+ }
2546
+ }
2547
+ ]
2548
+ },
2549
+ {
2550
+ "kind": "javascript-module",
2551
+ "path": "src/jsonforms/testers/isOneOfEnum.ts",
2552
+ "declarations": [
2553
+ {
2554
+ "kind": "variable",
2555
+ "name": "isOneOfEnum"
2556
+ }
2557
+ ],
2558
+ "exports": [
2559
+ {
2560
+ "kind": "js",
2561
+ "name": "isOneOfEnum",
2562
+ "declaration": {
2563
+ "name": "isOneOfEnum",
2564
+ "module": "src/jsonforms/testers/isOneOfEnum.ts"
2565
+ }
2566
+ }
2567
+ ]
2568
+ },
2569
+ {
2570
+ "kind": "javascript-module",
2571
+ "path": "src/jsonforms/testers/isOneOfNumber.ts",
2572
+ "declarations": [
2573
+ {
2574
+ "kind": "variable",
2575
+ "name": "isOneOfNumber"
2576
+ }
2577
+ ],
2578
+ "exports": [
2579
+ {
2580
+ "kind": "js",
2581
+ "name": "isOneOfNumber",
2582
+ "declaration": {
2583
+ "name": "isOneOfNumber",
2584
+ "module": "src/jsonforms/testers/isOneOfNumber.ts"
2585
+ }
2586
+ }
2587
+ ]
2588
+ },
2589
+ {
2590
+ "kind": "javascript-module",
2591
+ "path": "src/jsonforms/testers/isOneOfOptionMultiselect.ts",
2592
+ "declarations": [
2593
+ {
2594
+ "kind": "variable",
2595
+ "name": "isOneOfOptionMultiselect"
2596
+ }
2597
+ ],
2598
+ "exports": [
2599
+ {
2600
+ "kind": "js",
2601
+ "name": "isOneOfOptionMultiselect",
2602
+ "declaration": {
2603
+ "name": "isOneOfOptionMultiselect",
2604
+ "module": "src/jsonforms/testers/isOneOfOptionMultiselect.ts"
2605
+ }
2606
+ }
2607
+ ]
2608
+ },
2609
+ {
2610
+ "kind": "javascript-module",
2611
+ "path": "src/jsonforms/testers/optionIs.ts",
2612
+ "declarations": [
2613
+ {
2614
+ "kind": "function",
2615
+ "name": "optionIs",
2616
+ "return": {
2617
+ "type": {
2618
+ "text": "Tester"
2619
+ }
2620
+ },
2621
+ "parameters": [
2622
+ {
2623
+ "name": "optionName",
2624
+ "type": {
2625
+ "text": "string"
2626
+ }
2627
+ }
2628
+ ]
2629
+ }
2630
+ ],
2631
+ "exports": [
2632
+ {
2633
+ "kind": "js",
2634
+ "name": "optionIs",
2635
+ "declaration": {
2636
+ "name": "optionIs",
2637
+ "module": "src/jsonforms/testers/optionIs.ts"
2638
+ }
2639
+ }
2640
+ ]
2645
2641
  }
2646
2642
  ]
2647
2643
  }
@@ -1 +1 @@
1
- {"version":3,"file":"form.d.ts","sourceRoot":"","sources":["../../src/form.ts"],"names":[],"mappings":"AACA,OAAO,EAKL,eAAe,EAChB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAE/D,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAmB1C,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAexC,cAAc;AACd,eAAO,MAAM,SAAS,OAiBrB,CAAC;AACF;;;;;GAKG;AAEH,qBAKa,IAAK,SAAQ,iBAAiB;IACzC;;;OAGG;IAC0C,MAAM,EAAE,MAAM,CAAU;IACrE;;;;OAIG;IACG,YAAY,EAAE,MAAM,CAAC;YACb,mBAAmB;IAQjC,OAAO,CAAC,oBAAoB;IA0B5B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAqCG;IACS,QAAQ,EAAE,eAAe,CAAC;IACtC;;;OAGG;IACS,SAAS,EAAE,aAAa,EAAE,CAAa;IACnD;;;;;;OAMG;IACS,UAAU,EAAE,WAAW,CAAC;IAEpC,OAAO,CAAC,MAAM,CAAqB;IAC1B,OAAO,CAAC,OAAO,CAAW;IACnC;;;OAGG;IACS,IAAI,EAAE,GAAG,CAAM;IAE3B;;OAEG;IACS,UAAU,EAAE,OAAO,CAAC;IAChC;;OAEG;IACS,SAAS,EAAE,OAAO,CAAC;IAEJ,QAAQ,EAAE,OAAO,CAAC;IACe,UAAU,EAAE,OAAO,CAAC;IAEhF;;OAEG;IACG,OAAO;IA2Bb,IAAc,cAAc,YAM3B;IAED;;OAEG;IACH,UAAU,CAAC,KAAK,EAAE,WAAW;IAI7B;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,WAAW;IAQ3B,oBAAoB;IAKpB;;;OAGG;IACH,KAAK,CAAC,SAAS,UAAO;CAMvB"}
1
+ {"version":3,"file":"form.d.ts","sourceRoot":"","sources":["../../src/form.ts"],"names":[],"mappings":"AAEA,OAAO,EAKL,eAAe,EAChB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAE/D,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAmB1C,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAexC,cAAc;AACd,eAAO,MAAM,SAAS,OAiBrB,CAAC;AACF;;;;;GAKG;AAEH,qBAKa,IAAK,SAAQ,iBAAiB;IACzC;;;OAGG;IAC0C,MAAM,EAAE,MAAM,CAAU;IACrE;;;;OAIG;IACG,YAAY,EAAE,MAAM,CAAC;YACb,mBAAmB;IAcjC,OAAO,CAAC,oBAAoB;IA0B5B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAqCG;IACS,QAAQ,EAAE,eAAe,CAAC;IACtC;;;OAGG;IACS,SAAS,EAAE,aAAa,EAAE,CAAa;IACnD;;;;;;OAMG;IACS,UAAU,EAAE,WAAW,CAAC;IAEpC,OAAO,CAAC,MAAM,CAAqB;IAC1B,OAAO,CAAC,OAAO,CAAW;IACnC;;;OAGG;IACS,IAAI,EAAE,GAAG,CAAM;IAE3B;;OAEG;IACS,UAAU,EAAE,OAAO,CAAC;IAChC;;OAEG;IACS,SAAS,EAAE,OAAO,CAAC;IAEJ,QAAQ,EAAE,OAAO,CAAC;IACe,UAAU,EAAE,OAAO,CAAC;IAEhF;;OAEG;IACG,OAAO;IA2Bb,IAAc,cAAc,YAM3B;IAED;;OAEG;IACH,UAAU,CAAC,KAAK,EAAE,WAAW;IAI7B;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,WAAW;IAQ3B,oBAAoB;IAKpB;;;OAGG;IACH,KAAK,CAAC,SAAS,UAAO;CAMvB"}
@@ -3,7 +3,6 @@ export declare const ArrayListWrapperRendererTemplate: (prefix?: string) => impo
3
3
  export declare class ArrayListWrapper extends FASTElement {
4
4
  form: any;
5
5
  control: any;
6
- pathName: any;
7
6
  schema: any;
8
7
  uiSchema: any;
9
8
  controlChanged(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"ArrayListWrapperRenderer.d.ts","sourceRoot":"","sources":["../../../../src/jsonforms/renderers/ArrayListWrapperRenderer.ts"],"names":[],"mappings":"AACA,OAAO,EAAwC,WAAW,EAAU,MAAM,yBAAyB,CAAC;AAGpG,eAAO,MAAM,gCAAgC,YAAY,MAAM,6DAyC9D,CAAC;AAiBF,qBAOa,gBAAiB,SAAQ,WAAW;IACnC,IAAI,MAAC;IACL,OAAO,MAAC;IACR,QAAQ,MAAC;IACT,MAAM,MAAC;IACP,QAAQ,MAAC;IAErB,cAAc;IAed,OAAO;IAaP,UAAU,CAAC,KAAK,EAAE,MAAM;CAWzB"}
1
+ {"version":3,"file":"ArrayListWrapperRenderer.d.ts","sourceRoot":"","sources":["../../../../src/jsonforms/renderers/ArrayListWrapperRenderer.ts"],"names":[],"mappings":"AAEA,OAAO,EAAwC,WAAW,EAAU,MAAM,yBAAyB,CAAC;AAGpG,eAAO,MAAM,gCAAgC,YAAY,MAAM,6DAyC9D,CAAC;AAqBF,qBAOa,gBAAiB,SAAQ,WAAW;IACnC,IAAI,MAAC;IACL,OAAO,MAAC;IACR,MAAM,MAAC;IACP,QAAQ,MAAC;IAErB,cAAc;IAad,OAAO;IAOP,UAAU,CAAC,KAAK,EAAE,MAAM;CAGzB"}
@@ -1 +1 @@
1
- {"version":3,"file":"LayoutArrayRenderer.d.ts","sourceRoot":"","sources":["../../../../src/jsonforms/renderers/LayoutArrayRenderer.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,2BAA2B,0DAIvC,CAAC;AAEF,eAAO,MAAM,wBAAwB,EAAE,GAItC,CAAC"}
1
+ {"version":3,"file":"LayoutArrayRenderer.d.ts","sourceRoot":"","sources":["../../../../src/jsonforms/renderers/LayoutArrayRenderer.ts"],"names":[],"mappings":"AASA,eAAO,MAAM,2BAA2B,0DAUvC,CAAC;AAEF,eAAO,MAAM,wBAAwB,EAAE,GAKtC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"dispatch-renderer.d.ts","sourceRoot":"","sources":["../../../../src/jsonforms/renderers/dispatch-renderer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAA8C,MAAM,yBAAyB,CAAC;AAsBlG,qBAKa,gBAAiB,SAAQ,WAAW;IACnC,SAAS,MAAC;IACtB,gBAAgB;IAIJ,KAAK,MAAC;IAClB,YAAY;IAGA,OAAO,MAAC;IACO,SAAS,EAAE,OAAO,CAAC;IAC9C,gBAAgB;IAGJ,QAAQ,MAAC;IACT,OAAO,MAAC;IACR,QAAQ,MAAC;IACT,MAAM,MAAC;IACnB,aAAa;IAIb,cAAc,aAiBZ;IAEF,MAAM;IAIN,IAAI,kBAAkB,YAgBrB;IAED,oBAAoB;CAMrB"}
1
+ {"version":3,"file":"dispatch-renderer.d.ts","sourceRoot":"","sources":["../../../../src/jsonforms/renderers/dispatch-renderer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAA8C,MAAM,yBAAyB,CAAC;AAsBlG,qBAKa,gBAAiB,SAAQ,WAAW;IACnC,SAAS,MAAC;IACtB,gBAAgB;IAIJ,KAAK,MAAC;IAClB,YAAY;IAGA,OAAO,MAAC;IACO,SAAS,EAAE,OAAO,CAAC;IAC9C,gBAAgB;IAGJ,QAAQ,MAAC;IACT,OAAO,MAAC;IACR,QAAQ,MAAC;IACT,MAAM,MAAC;IACnB,aAAa;IAIb,cAAc,aAmBZ;IAEF,MAAM;IAIN,IAAI,kBAAkB,YAgBrB;IAED,oBAAoB;CAMrB"}
@@ -1 +1 @@
1
- {"version":3,"file":"isLayoutArray.d.ts","sourceRoot":"","sources":["../../../../src/jsonforms/testers/isLayoutArray.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,aAAa,kCAGzB,CAAC"}
1
+ {"version":3,"file":"isLayoutArray.d.ts","sourceRoot":"","sources":["../../../../src/jsonforms/testers/isLayoutArray.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,aAAa,kCAIzB,CAAC"}
package/dist/esm/form.js CHANGED
@@ -1,5 +1,6 @@
1
1
  import { __awaiter, __decorate } from "tslib";
2
2
  import { Connect } from '@genesislcap/foundation-comms';
3
+ import JsonSchemaDereferencer from '@json-schema-tools/dereferencer';
3
4
  import { isControl, isStringControl, mapStateToControlProps, rankWith, } from '@jsonforms/core';
4
5
  import { attr, customElement, DOM, observable, volatile } from '@microsoft/fast-element';
5
6
  import { FoundationElement } from '@microsoft/fast-foundation';
@@ -77,12 +78,16 @@ let Form = class Form extends FoundationElement {
77
78
  this.data = {};
78
79
  }
79
80
  resourceNameChanged() {
80
- var _a, _b;
81
+ var _a;
81
82
  return __awaiter(this, void 0, void 0, function* () {
82
83
  this.jsonSchema = undefined;
83
84
  if (this.resourceName) {
84
85
  const jsonSchemaResponse = yield this.connect.getJSONSchema(this.resourceName);
85
- this.jsonSchema = (_b = (_a = jsonSchemaResponse === null || jsonSchemaResponse === void 0 ? void 0 : jsonSchemaResponse.INBOUND) === null || _a === void 0 ? void 0 : _a.properties) === null || _b === void 0 ? void 0 : _b.DETAILS;
86
+ if (!jsonSchemaResponse) {
87
+ return;
88
+ }
89
+ const refResolver = new JsonSchemaDereferencer(jsonSchemaResponse.INBOUND);
90
+ this.jsonSchema = (_a = (yield refResolver.resolve()).properties) === null || _a === void 0 ? void 0 : _a.DETAILS;
86
91
  }
87
92
  });
88
93
  }
@@ -1,10 +1,11 @@
1
1
  import { __decorate } from "tslib";
2
- import { Generate, composePaths } from '@jsonforms/core';
2
+ import { Generate, composePaths, createDefaultValue } from '@jsonforms/core';
3
+ import { designUnit } from '@microsoft/fast-components';
3
4
  import { html, css, observable, customElement, FASTElement, repeat } from '@microsoft/fast-element';
4
5
  import { logger } from '../../utils';
5
6
  export const ArrayListWrapperRendererTemplate = (prefix = 'zero') => html `
6
7
  <template>
7
- ${repeat((x) => x.control.data[x.pathName], html `
8
+ ${repeat((x) => Array(x.control.data), html `
8
9
  <div class="array-list">
9
10
  <dispatch-renderer
10
11
  ?submitted=${(x, ctx) => ctx.parent.form.submitted}
@@ -15,14 +16,14 @@ export const ArrayListWrapperRendererTemplate = (prefix = 'zero') => html `
15
16
  uischema: ctx.parent.uiSchema,
16
17
  schema: ctx.parent.schema,
17
18
  renderers: ctx.parent.control.renderers,
18
- path: composePaths(ctx.parent.pathName, `${ctx.index}`),
19
+ path: composePaths(ctx.parent.control.path, `${ctx.index}`),
19
20
  enabled: ctx.parent.control.enabled,
20
21
  })}
21
22
  ></dispatch-renderer>
22
23
  <${prefix}-button
23
24
  appearance="lightweight"
24
25
  class="item-control-btn"
25
- data-test-id=${(x, ctx) => `${ctx.parent.pathName}-${ctx.index}-delete-item`}
26
+ data-test-id=${(x, ctx) => `${ctx.parent.control.path}-${ctx.index}-delete-item`}
26
27
  @click=${(x, ctx) => ctx.parent.deleteItem(ctx.index)}
27
28
  >
28
29
  <${prefix}-icon name="trash"></${prefix}-icon>
@@ -32,7 +33,7 @@ export const ArrayListWrapperRendererTemplate = (prefix = 'zero') => html `
32
33
  <${prefix}-button
33
34
  appearance="lightweight"
34
35
  class="item-control-btn"
35
- data-test-id=${(x) => `${x.pathName}-add-item`}
36
+ data-test-id=${(x) => `${x.control.path}-add-item`}
36
37
  @click=${(x) => x.addItem()}
37
38
  >
38
39
  <${prefix}-icon name="plus"></${prefix}-icon>
@@ -41,6 +42,10 @@ export const ArrayListWrapperRendererTemplate = (prefix = 'zero') => html `
41
42
  </template>
42
43
  `;
43
44
  const styles = css `
45
+ :host {
46
+ padding-left: calc(${designUnit} * 1px);
47
+ }
48
+
44
49
  .array-list {
45
50
  display: flex;
46
51
  align-items: center;
@@ -56,33 +61,20 @@ const styles = css `
56
61
  `;
57
62
  let ArrayListWrapper = class ArrayListWrapper extends FASTElement {
58
63
  controlChanged() {
59
- this.pathName = Object.keys(this.control.schema.properties)[0];
60
64
  if (this.control.uischema.options) {
61
65
  this.uiSchema = this.control.uischema.options.childUiSchema;
62
66
  return;
63
67
  }
64
- this.schema = this.control.schema.properties[this.pathName].items;
68
+ this.schema = this.control.schema;
65
69
  const arrayUiSchema = Generate.uiSchema(this.schema);
66
70
  this.uiSchema = Object.assign(Object.assign({}, arrayUiSchema), { type: 'HorizontalLayout' });
67
71
  logger.debug('Auto generated uiSchema for layout array:', this.uiSchema);
68
72
  }
69
73
  addItem() {
70
- const items = this.control.data[this.pathName] && Object.keys(this.control.data[this.pathName]).length !== 0
71
- ? [...this.control.data[this.pathName], {}]
72
- : [{}];
73
- const data = Object.assign(Object.assign({}, this.control.data), { [this.pathName]: items });
74
- this.$emit('data-change', {
75
- data,
76
- });
74
+ this.control.addItem(this.control.path, createDefaultValue(this.control.schema, this.control.rootSchema))();
77
75
  }
78
76
  deleteItem(index) {
79
- const allItems = this.control.data[this.pathName];
80
- const valueToRemove = [allItems[index]];
81
- const items = allItems.filter((element) => !valueToRemove.includes(element));
82
- const data = Object.assign(Object.assign({}, this.control.data), { [this.pathName]: items });
83
- this.$emit('data-change', {
84
- data,
85
- });
77
+ this.control.removeItems(this.control.path, [index])();
86
78
  }
87
79
  };
88
80
  __decorate([
@@ -91,9 +83,6 @@ __decorate([
91
83
  __decorate([
92
84
  observable
93
85
  ], ArrayListWrapper.prototype, "control", void 0);
94
- __decorate([
95
- observable
96
- ], ArrayListWrapper.prototype, "pathName", void 0);
97
86
  __decorate([
98
87
  observable
99
88
  ], ArrayListWrapper.prototype, "schema", void 0);
@@ -28,12 +28,12 @@ export const ControlWrapperRendererTemplate = html `
28
28
  `;
29
29
  const styles = css `
30
30
  .wrapperRoot {
31
- margin-bottom: 20px;
31
+ margin-bottom: calc(var(--design-unit) * 4px);
32
32
  }
33
33
 
34
34
  .label {
35
35
  color: rgb(135, 155, 166);
36
- margin-bottom: 4px;
36
+ margin-bottom: calc(var(--design-unit) * 1px);
37
37
  display: flex;
38
38
  justify-content: space-between;
39
39
  }
@@ -1,14 +1,21 @@
1
- import { mapStateToLayoutProps, rankWith } from '@jsonforms/core';
1
+ import { mapDispatchToArrayControlProps, mapStateToArrayLayoutProps, rankWith, } from '@jsonforms/core';
2
2
  import { html } from '@microsoft/fast-element';
3
3
  import { isLayoutArray } from '../testers/isLayoutArray';
4
4
  import { LAYOUT_ARRAY_RANK } from './RenderersRanks';
5
5
  export const LayoutArrayRendererTemplate = html `
6
6
  <template>
7
- <array-list-wrapper :form=${(x) => x} :control=${(x) => x.control}></array-list-wrapper>
7
+ <control-wrapper
8
+ :control=${(x) => x.control}
9
+ :touched=${(x) => x.touched}
10
+ ?submitted=${(x) => x.submitted}
11
+ >
12
+ <array-list-wrapper :form=${(x) => x} :control=${(x) => x.control}></array-list-wrapper>
13
+ </control-wrapper>
8
14
  </template>
9
15
  `;
10
16
  export const LayoutArrayRendererEntry = {
11
17
  renderer: LayoutArrayRendererTemplate,
12
18
  tester: rankWith(LAYOUT_ARRAY_RANK, isLayoutArray),
13
- mapper: mapStateToLayoutProps,
19
+ mapper: mapStateToArrayLayoutProps,
20
+ dispatchMapper: mapDispatchToArrayControlProps,
14
21
  };
@@ -7,9 +7,10 @@ const template = html `
7
7
  <template>${(x) => x.determinedRenderer.renderer}</template>
8
8
  `;
9
9
  const styles = css ``;
10
- const useControl = (props, jsonforms, dispatch, stateMapper) => {
10
+ const useControl = (props, jsonforms, dispatch, stateMapper, dispatchMapper) => {
11
+ var _a;
11
12
  const control = Object.assign({}, stateMapper({ jsonforms }, props));
12
- const dispatchMethods = mapDispatchToControlProps === null || mapDispatchToControlProps === void 0 ? void 0 : mapDispatchToControlProps(dispatch);
13
+ const dispatchMethods = (_a = (dispatchMapper || mapDispatchToControlProps)) === null || _a === void 0 ? void 0 : _a(dispatch);
13
14
  return Object.assign(Object.assign({}, control), dispatchMethods);
14
15
  };
15
16
  let DispatchRenderer = class DispatchRenderer extends FASTElement {
@@ -24,7 +25,9 @@ let DispatchRenderer = class DispatchRenderer extends FASTElement {
24
25
  this.renderer = renderer;
25
26
  this.control = useControl(this.props, this.jsonforms, this.dispatch,
26
27
  // @ts-ignore
27
- this.determinedRenderer.mapper);
28
+ this.determinedRenderer.mapper,
29
+ // @ts-ignore
30
+ this.determinedRenderer.dispatchMapper);
28
31
  };
29
32
  }
30
33
  jsonformsChanged() {
@@ -1,2 +1,4 @@
1
1
  import { hasType, schemaMatches } from '@jsonforms/core';
2
- export const isLayoutArray = schemaMatches((schema) => hasType(schema, 'array') && schema.hasOwnProperty('items') && schema.items['type'] == 'object');
2
+ const isArrayWithItems = (s) => hasType(s, 'array') && s.hasOwnProperty('items') && s.items['type'] == 'object';
3
+ export const isLayoutArray = schemaMatches((schema) => (schema.hasOwnProperty('oneOf') && schema.oneOf.some(isArrayWithItems)) ||
4
+ isArrayWithItems(schema));
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@genesislcap/foundation-forms",
3
3
  "description": "Genesis Foundation Forms",
4
- "version": "14.153.0",
4
+ "version": "14.154.0",
5
5
  "sideEffects": false,
6
6
  "license": "SEE LICENSE IN license.txt",
7
7
  "main": "dist/esm/index.js",
@@ -40,23 +40,24 @@
40
40
  "test:debug": "genx test --debug"
41
41
  },
42
42
  "devDependencies": {
43
- "@genesislcap/foundation-testing": "14.153.0",
44
- "@genesislcap/genx": "14.153.0",
45
- "@genesislcap/rollup-builder": "14.153.0",
46
- "@genesislcap/ts-builder": "14.153.0",
47
- "@genesislcap/uvu-playwright-builder": "14.153.0",
48
- "@genesislcap/vite-builder": "14.153.0",
49
- "@genesislcap/webpack-builder": "14.153.0",
43
+ "@genesislcap/foundation-testing": "14.154.0",
44
+ "@genesislcap/genx": "14.154.0",
45
+ "@genesislcap/rollup-builder": "14.154.0",
46
+ "@genesislcap/ts-builder": "14.154.0",
47
+ "@genesislcap/uvu-playwright-builder": "14.154.0",
48
+ "@genesislcap/vite-builder": "14.154.0",
49
+ "@genesislcap/webpack-builder": "14.154.0",
50
50
  "@types/json-schema": "^7.0.11",
51
51
  "rimraf": "^3.0.2"
52
52
  },
53
53
  "dependencies": {
54
- "@genesislcap/foundation-comms": "14.153.0",
55
- "@genesislcap/foundation-criteria": "14.153.0",
56
- "@genesislcap/foundation-logger": "14.153.0",
57
- "@genesislcap/foundation-ui": "14.153.0",
58
- "@genesislcap/foundation-utils": "14.153.0",
59
- "@jsonforms/core": "^3.0.0",
54
+ "@genesislcap/foundation-comms": "14.154.0",
55
+ "@genesislcap/foundation-criteria": "14.154.0",
56
+ "@genesislcap/foundation-logger": "14.154.0",
57
+ "@genesislcap/foundation-ui": "14.154.0",
58
+ "@genesislcap/foundation-utils": "14.154.0",
59
+ "@json-schema-tools/dereferencer": "^1.6.1",
60
+ "@jsonforms/core": "^3.2.1",
60
61
  "@microsoft/fast-components": "^2.30.6",
61
62
  "@microsoft/fast-element": "^1.12.0",
62
63
  "@microsoft/fast-foundation": "^2.49.4",
@@ -75,5 +76,5 @@
75
76
  "access": "public"
76
77
  },
77
78
  "customElements": "dist/custom-elements.json",
78
- "gitHead": "2354510b7a853c207ac7fb9e245decb21ef0d7af"
79
+ "gitHead": "e0626ec8ee97fd0d9a93f6d32bac4806de036f46"
79
80
  }