@grexx/grexxlinter 0.2.2124 → 0.2.2179

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 (44) hide show
  1. package/cli.js +1 -1
  2. package/package.json +1 -1
  3. package/schemas/.coverage.json +6909 -2954
  4. package/schemas/activity.behavior.json +1037 -59
  5. package/schemas/activity.schema.json +79 -29
  6. package/schemas/activityAttribute.behavior.json +56 -0
  7. package/schemas/agent.behavior.json +44 -0
  8. package/schemas/agentTool.behavior.json +47 -0
  9. package/schemas/attribute.behavior.json +1503 -110
  10. package/schemas/casetype.behavior.json +854 -128
  11. package/schemas/catchBlock.behavior.json +22 -0
  12. package/schemas/container.behavior.json +74 -0
  13. package/schemas/customThrow.behavior.json +22 -0
  14. package/schemas/dataset.behavior.json +310 -18
  15. package/schemas/dataset.schema.json +51 -5
  16. package/schemas/datasetColumn.behavior.json +295 -11
  17. package/schemas/datasetCondition.behavior.json +247 -0
  18. package/schemas/directRole.behavior.json +68 -0
  19. package/schemas/forEach.behavior.json +82 -0
  20. package/schemas/form.behavior.json +25 -0
  21. package/schemas/formAction.behavior.json +947 -106
  22. package/schemas/formActionAi.behavior.json +22 -0
  23. package/schemas/formGroup.behavior.json +3 -0
  24. package/schemas/formfield.behavior.json +4523 -455
  25. package/schemas/indirectRole.behavior.json +82 -0
  26. package/schemas/mapping.behavior.json +608 -29
  27. package/schemas/menuItem.behavior.json +255 -0
  28. package/schemas/menuItem.schema.json +10 -0
  29. package/schemas/metadata.behavior.json +120 -0
  30. package/schemas/navigation.behavior.json +25 -0
  31. package/schemas/parallelBlock.behavior.json +5 -0
  32. package/schemas/picklist.behavior.json +108 -0
  33. package/schemas/platformAttribute.behavior.json +428 -1
  34. package/schemas/platformRole.behavior.json +44 -0
  35. package/schemas/requestContext.behavior.json +119 -0
  36. package/schemas/simpleCondition.behavior.json +384 -1
  37. package/schemas/taskQueue.behavior.json +17 -0
  38. package/schemas/template.behavior.json +11 -0
  39. package/schemas/trigger.behavior.json +296 -0
  40. package/schemas/tryBlock.behavior.json +25 -0
  41. package/schemas/view.behavior.json +259 -0
  42. package/schemas/while.behavior.json +22 -0
  43. package/schemas/widget.behavior.json +1755 -119
  44. package/schemas/widget.schema.json +144 -0
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "activities": {
3
- "baseline": "MAY",
3
+ "baseline": "MUST_NOT",
4
4
  "enabledWhen": [
5
5
  {
6
6
  "op": "and",
@@ -24,11 +24,45 @@
24
24
  "isEmpty": false
25
25
  }
26
26
  ]
27
+ },
28
+ {
29
+ "op": "cmp",
30
+ "field": "widgetType",
31
+ "fieldName": "Type",
32
+ "operator": "==",
33
+ "value": "AIConversationWidget",
34
+ "valueIsField": false,
35
+ "isEmpty": false
36
+ }
37
+ ],
38
+ "forbiddenWhen": [
39
+ {
40
+ "op": "and",
41
+ "items": [
42
+ {
43
+ "op": "cmp",
44
+ "field": "widgetAgentCustomActivities",
45
+ "fieldName": "Agent - Custom activities enabled",
46
+ "operator": "!=",
47
+ "value": "true",
48
+ "valueIsField": false,
49
+ "isEmpty": false
50
+ },
51
+ {
52
+ "op": "cmp",
53
+ "field": "widgetType",
54
+ "fieldName": "Type",
55
+ "operator": "==",
56
+ "value": "AIConversationWidget",
57
+ "valueIsField": false,
58
+ "isEmpty": false
59
+ }
60
+ ]
27
61
  }
28
62
  ]
29
63
  },
30
64
  "widgetAgent": {
31
- "baseline": "MAY",
65
+ "baseline": "MUST_NOT",
32
66
  "requiredWhen": [
33
67
  {
34
68
  "op": "cmp",
@@ -53,7 +87,7 @@
53
87
  ]
54
88
  },
55
89
  "widgetAgentActivityFilterType": {
56
- "baseline": "MAY",
90
+ "baseline": "MUST_NOT",
57
91
  "requiredWhen": [
58
92
  {
59
93
  "op": "and",
@@ -102,11 +136,87 @@
102
136
  "isEmpty": false
103
137
  }
104
138
  ]
139
+ },
140
+ {
141
+ "op": "cmp",
142
+ "field": "widgetType",
143
+ "fieldName": "Type",
144
+ "operator": "==",
145
+ "value": "AIConversationWidget",
146
+ "valueIsField": false,
147
+ "isEmpty": false
148
+ }
149
+ ],
150
+ "forbiddenWhen": [
151
+ {
152
+ "op": "and",
153
+ "items": [
154
+ {
155
+ "op": "cmp",
156
+ "field": "widgetAgentCustomActivities",
157
+ "fieldName": "Agent - Custom activities enabled",
158
+ "operator": "!=",
159
+ "value": "true",
160
+ "valueIsField": false,
161
+ "isEmpty": false
162
+ },
163
+ {
164
+ "op": "cmp",
165
+ "field": "widgetType",
166
+ "fieldName": "Type",
167
+ "operator": "==",
168
+ "value": "AIConversationWidget",
169
+ "valueIsField": false,
170
+ "isEmpty": false
171
+ }
172
+ ]
173
+ }
174
+ ]
175
+ },
176
+ "widgetAgentAllowFileUploads": {
177
+ "baseline": "MUST_NOT",
178
+ "enabledWhen": [
179
+ {
180
+ "op": "cmp",
181
+ "field": "widgetType",
182
+ "fieldName": "Type",
183
+ "operator": "==",
184
+ "value": "AIConversationWidget",
185
+ "valueIsField": false,
186
+ "isEmpty": false
187
+ }
188
+ ]
189
+ },
190
+ "widgetAgentChatTitle": {
191
+ "baseline": "MUST_NOT",
192
+ "enabledWhen": [
193
+ {
194
+ "op": "cmp",
195
+ "field": "widgetType",
196
+ "fieldName": "Type",
197
+ "operator": "==",
198
+ "value": "AIConversationWidget",
199
+ "valueIsField": false,
200
+ "isEmpty": false
201
+ }
202
+ ]
203
+ },
204
+ "widgetAgentCustomActivities": {
205
+ "baseline": "MUST_NOT",
206
+ "enabledWhen": [
207
+ {
208
+ "op": "cmp",
209
+ "field": "widgetType",
210
+ "fieldName": "Type",
211
+ "operator": "==",
212
+ "value": "AIConversationWidget",
213
+ "valueIsField": false,
214
+ "isEmpty": false
105
215
  }
106
216
  ]
107
217
  },
108
218
  "widgetAgentExecutionType": {
109
- "baseline": "MAY",
219
+ "baseline": "MUST_NOT",
110
220
  "requiredWhen": [
111
221
  {
112
222
  "op": "cmp",
@@ -130,8 +240,47 @@
130
240
  }
131
241
  ]
132
242
  },
243
+ "widgetAgentFirstMessage": {
244
+ "baseline": "MUST_NOT",
245
+ "enabledWhen": [
246
+ {
247
+ "op": "cmp",
248
+ "field": "widgetType",
249
+ "fieldName": "Type",
250
+ "operator": "==",
251
+ "value": "AIConversationWidget",
252
+ "valueIsField": false,
253
+ "isEmpty": false
254
+ }
255
+ ]
256
+ },
133
257
  "widgetAgentTranscriptionEnabled": {
134
- "baseline": "MUST_NOT"
258
+ "baseline": "MUST_NOT",
259
+ "enabledWhen": [
260
+ {
261
+ "op": "cmp",
262
+ "field": "widgetType",
263
+ "fieldName": "Type",
264
+ "operator": "==",
265
+ "value": "AIConversationWidget",
266
+ "valueIsField": false,
267
+ "isEmpty": false
268
+ }
269
+ ]
270
+ },
271
+ "agentConversation": {
272
+ "baseline": "MUST_NOT",
273
+ "enabledWhen": [
274
+ {
275
+ "op": "cmp",
276
+ "field": "widgetType",
277
+ "fieldName": "Type",
278
+ "operator": "==",
279
+ "value": "AIConversationWidget",
280
+ "valueIsField": false,
281
+ "isEmpty": false
282
+ }
283
+ ]
135
284
  },
136
285
  "caseAttribute": {
137
286
  "baseline": "MUST_NOT",
@@ -145,8 +294,34 @@
145
294
  "valueIsField": false,
146
295
  "isEmpty": false
147
296
  }
297
+ ],
298
+ "optionsWhen": [
299
+ {
300
+ "when": {
301
+ "op": "cmp",
302
+ "field": "widgetType",
303
+ "fieldName": "Type",
304
+ "operator": "==",
305
+ "value": "viewWidget",
306
+ "valueIsField": false,
307
+ "isEmpty": false
308
+ },
309
+ "source": {
310
+ "kind": "objects",
311
+ "type": [
312
+ "platformAttribute",
313
+ "attribute"
314
+ ]
315
+ }
316
+ }
148
317
  ]
149
318
  },
319
+ "condition": {
320
+ "baseline": "MUST_NOT"
321
+ },
322
+ "container": {
323
+ "baseline": "MUST_NOT"
324
+ },
150
325
  "dataset": {
151
326
  "baseline": "MUST_NOT",
152
327
  "requiredWhen": [
@@ -267,6 +442,45 @@
267
442
  "isEmpty": false
268
443
  }
269
444
  ],
445
+ "forbiddenWhen": [
446
+ {
447
+ "op": "and",
448
+ "items": [
449
+ {
450
+ "op": "or",
451
+ "items": [
452
+ {
453
+ "op": "cmp",
454
+ "field": "widgetType",
455
+ "fieldName": "Type",
456
+ "operator": "==",
457
+ "value": "formSearch",
458
+ "valueIsField": false,
459
+ "isEmpty": false
460
+ },
461
+ {
462
+ "op": "cmp",
463
+ "field": "widgetType",
464
+ "fieldName": "Type",
465
+ "operator": "==",
466
+ "value": "simpleSearch",
467
+ "valueIsField": false,
468
+ "isEmpty": false
469
+ }
470
+ ]
471
+ },
472
+ {
473
+ "op": "cmp",
474
+ "field": "widgetType",
475
+ "fieldName": "Type",
476
+ "operator": "==",
477
+ "value": "formSearch",
478
+ "valueIsField": false,
479
+ "isEmpty": false
480
+ }
481
+ ]
482
+ }
483
+ ],
270
484
  "messageWhen": [
271
485
  {
272
486
  "when": {
@@ -280,6 +494,20 @@
280
494
  },
281
495
  "message": "If the activity widget should display mandatory tasks instead of optional activities you need to supply a dataset that returns the task to show"
282
496
  }
497
+ ],
498
+ "labelWhen": [
499
+ {
500
+ "when": {
501
+ "op": "cmp",
502
+ "field": "widgetType",
503
+ "fieldName": "Type",
504
+ "operator": "==",
505
+ "value": "activityWidget",
506
+ "valueIsField": false,
507
+ "isEmpty": false
508
+ },
509
+ "label": "Task dataset"
510
+ }
283
511
  ]
284
512
  },
285
513
  "form": {
@@ -467,42 +695,81 @@
467
695
  "isEmpty": false
468
696
  }
469
697
  ],
470
- "optionsWhen": [
698
+ "forbiddenWhen": [
471
699
  {
472
- "when": {
473
- "op": "and",
474
- "items": [
475
- {
476
- "op": "or",
477
- "items": [
478
- {
479
- "op": "cmp",
480
- "field": "subWidgetParentWidget",
481
- "fieldName": "Parent widget (for sub-widgets)",
482
- "operator": "!=",
483
- "value": "",
484
- "valueIsField": false,
485
- "isEmpty": true
486
- },
487
- {
488
- "op": "cmp",
489
- "field": "masterWidget",
490
- "fieldName": "Settings - Master Widget ID",
491
- "operator": "===",
492
- "value": "",
493
- "valueIsField": false,
494
- "isEmpty": true
495
- },
496
- {
497
- "op": "and",
498
- "items": [
499
- {
500
- "op": "cmp",
501
- "field": "widgetType",
502
- "fieldName": "Type",
503
- "operator": "!=",
504
- "value": "caseData",
505
- "valueIsField": false,
700
+ "op": "and",
701
+ "items": [
702
+ {
703
+ "op": "or",
704
+ "items": [
705
+ {
706
+ "op": "cmp",
707
+ "field": "widgetType",
708
+ "fieldName": "Type",
709
+ "operator": "==",
710
+ "value": "formSearch",
711
+ "valueIsField": false,
712
+ "isEmpty": false
713
+ },
714
+ {
715
+ "op": "cmp",
716
+ "field": "widgetType",
717
+ "fieldName": "Type",
718
+ "operator": "==",
719
+ "value": "simpleSearch",
720
+ "valueIsField": false,
721
+ "isEmpty": false
722
+ }
723
+ ]
724
+ },
725
+ {
726
+ "op": "cmp",
727
+ "field": "widgetType",
728
+ "fieldName": "Type",
729
+ "operator": "==",
730
+ "value": "simpleSearch",
731
+ "valueIsField": false,
732
+ "isEmpty": false
733
+ }
734
+ ]
735
+ }
736
+ ],
737
+ "optionsWhen": [
738
+ {
739
+ "when": {
740
+ "op": "and",
741
+ "items": [
742
+ {
743
+ "op": "or",
744
+ "items": [
745
+ {
746
+ "op": "cmp",
747
+ "field": "subWidgetParentWidget",
748
+ "fieldName": "Parent widget (for sub-widgets)",
749
+ "operator": "!=",
750
+ "value": "",
751
+ "valueIsField": false,
752
+ "isEmpty": true
753
+ },
754
+ {
755
+ "op": "cmp",
756
+ "field": "masterWidget",
757
+ "fieldName": "Settings - Master Widget ID",
758
+ "operator": "===",
759
+ "value": "",
760
+ "valueIsField": false,
761
+ "isEmpty": true
762
+ },
763
+ {
764
+ "op": "and",
765
+ "items": [
766
+ {
767
+ "op": "cmp",
768
+ "field": "widgetType",
769
+ "fieldName": "Type",
770
+ "operator": "!=",
771
+ "value": "caseData",
772
+ "valueIsField": false,
506
773
  "isEmpty": false
507
774
  },
508
775
  {
@@ -536,6 +803,60 @@
536
803
  ]
537
804
  }
538
805
  },
806
+ {
807
+ "when": {
808
+ "op": "and",
809
+ "items": [
810
+ {
811
+ "op": "or",
812
+ "items": [
813
+ {
814
+ "op": "cmp",
815
+ "field": "widgetType",
816
+ "fieldName": "Type",
817
+ "operator": "==",
818
+ "value": "caseData",
819
+ "valueIsField": false,
820
+ "isEmpty": false
821
+ },
822
+ {
823
+ "op": "cmp",
824
+ "field": "widgetType",
825
+ "fieldName": "Type",
826
+ "operator": "==",
827
+ "value": "caseDataClean",
828
+ "valueIsField": false,
829
+ "isEmpty": false
830
+ },
831
+ {
832
+ "op": "cmp",
833
+ "field": "widgetType",
834
+ "fieldName": "Type",
835
+ "operator": "==",
836
+ "value": "formWidget",
837
+ "valueIsField": false,
838
+ "isEmpty": false
839
+ }
840
+ ]
841
+ },
842
+ {
843
+ "op": "cmp",
844
+ "field": "subWidgetParentWidget",
845
+ "fieldName": "Parent widget (for sub-widgets)",
846
+ "operator": "!==",
847
+ "value": "",
848
+ "valueIsField": false,
849
+ "isEmpty": true
850
+ }
851
+ ]
852
+ },
853
+ "source": {
854
+ "kind": "objects",
855
+ "type": [
856
+ "form"
857
+ ]
858
+ }
859
+ },
539
860
  {
540
861
  "when": {
541
862
  "op": "and",
@@ -589,9 +910,43 @@
589
910
  "form"
590
911
  ]
591
912
  }
913
+ },
914
+ {
915
+ "when": {
916
+ "op": "and",
917
+ "items": [
918
+ {
919
+ "op": "cmp",
920
+ "field": "subWidgetParentWidget",
921
+ "fieldName": "Parent widget (for sub-widgets)",
922
+ "operator": "!==",
923
+ "value": "",
924
+ "valueIsField": false,
925
+ "isEmpty": true
926
+ },
927
+ {
928
+ "op": "cmp",
929
+ "field": "widgetType",
930
+ "fieldName": "Type",
931
+ "operator": "==",
932
+ "value": "inlineEdit",
933
+ "valueIsField": false,
934
+ "isEmpty": false
935
+ }
936
+ ]
937
+ },
938
+ "source": {
939
+ "kind": "objects",
940
+ "type": [
941
+ "form"
942
+ ]
943
+ }
592
944
  }
593
945
  ]
594
946
  },
947
+ "inactiveParentCaseid": {
948
+ "baseline": "MUST_NOT"
949
+ },
595
950
  "itemsPerPage": {
596
951
  "baseline": "MUST_NOT",
597
952
  "enabledWhen": [
@@ -638,6 +993,20 @@
638
993
  }
639
994
  ]
640
995
  },
996
+ "label": {
997
+ "baseline": "MAY",
998
+ "forbiddenWhen": [
999
+ {
1000
+ "op": "cmp",
1001
+ "field": "subWidgetParentWidget",
1002
+ "fieldName": "Parent widget (for sub-widgets)",
1003
+ "operator": "!==",
1004
+ "value": "",
1005
+ "valueIsField": false,
1006
+ "isEmpty": true
1007
+ }
1008
+ ]
1009
+ },
641
1010
  "options": {
642
1011
  "baseline": "MUST_NOT"
643
1012
  },
@@ -679,6 +1048,54 @@
679
1048
  "valueIsField": false,
680
1049
  "isEmpty": false
681
1050
  }
1051
+ ],
1052
+ "forbiddenWhen": [
1053
+ {
1054
+ "op": "and",
1055
+ "items": [
1056
+ {
1057
+ "op": "cmp",
1058
+ "field": "masterWidget",
1059
+ "fieldName": "Settings - Master Widget ID",
1060
+ "operator": "===",
1061
+ "value": "",
1062
+ "valueIsField": false,
1063
+ "isEmpty": true
1064
+ },
1065
+ {
1066
+ "op": "cmp",
1067
+ "field": "widgetType",
1068
+ "fieldName": "Type",
1069
+ "operator": "==",
1070
+ "value": "tileWidget",
1071
+ "valueIsField": false,
1072
+ "isEmpty": false
1073
+ }
1074
+ ]
1075
+ },
1076
+ {
1077
+ "op": "cmp",
1078
+ "field": "widgetType",
1079
+ "fieldName": "Type",
1080
+ "operator": "!=",
1081
+ "value": "tileWidget",
1082
+ "valueIsField": false,
1083
+ "isEmpty": false
1084
+ }
1085
+ ]
1086
+ },
1087
+ "refreshInterval": {
1088
+ "baseline": "MAY",
1089
+ "forbiddenWhen": [
1090
+ {
1091
+ "op": "cmp",
1092
+ "field": "widgetType",
1093
+ "fieldName": "Type",
1094
+ "operator": "==",
1095
+ "value": "activityWidget",
1096
+ "valueIsField": false,
1097
+ "isEmpty": false
1098
+ }
682
1099
  ]
683
1100
  },
684
1101
  "renderAsMarkdown": {
@@ -725,6 +1142,17 @@
725
1142
  "valueIsField": false,
726
1143
  "isEmpty": false
727
1144
  }
1145
+ ],
1146
+ "forbiddenWhen": [
1147
+ {
1148
+ "op": "cmp",
1149
+ "field": "masterWidget",
1150
+ "fieldName": "Settings - Master Widget ID",
1151
+ "operator": "===",
1152
+ "value": "",
1153
+ "valueIsField": false,
1154
+ "isEmpty": true
1155
+ }
728
1156
  ]
729
1157
  },
730
1158
  "selectionTemplateInline": {
@@ -751,44 +1179,108 @@
751
1179
  "valueIsField": false,
752
1180
  "isEmpty": false
753
1181
  }
754
- ]
755
- },
756
- "disableCaseLinks": {
757
- "baseline": "MUST_NOT",
758
- "enabledWhen": [
1182
+ ],
1183
+ "optionsWhen": [
759
1184
  {
760
- "op": "and",
761
- "items": [
762
- {
763
- "op": "or",
764
- "items": [
765
- {
766
- "op": "cmp",
767
- "field": "widgetType",
768
- "fieldName": "Type",
769
- "operator": "==",
770
- "value": "caseData",
771
- "valueIsField": false,
772
- "isEmpty": false
773
- },
774
- {
775
- "op": "cmp",
776
- "field": "widgetType",
777
- "fieldName": "Type",
778
- "operator": "==",
779
- "value": "caseDataClean",
780
- "valueIsField": false,
781
- "isEmpty": false
782
- },
783
- {
784
- "op": "cmp",
785
- "field": "widgetType",
786
- "fieldName": "Type",
787
- "operator": "==",
788
- "value": "formWidget",
789
- "valueIsField": false,
790
- "isEmpty": false
791
- }
1185
+ "when": {
1186
+ "op": "and",
1187
+ "items": [
1188
+ {
1189
+ "op": "cmp",
1190
+ "field": "subWidgetParentWidget",
1191
+ "fieldName": "Parent widget (for sub-widgets)",
1192
+ "operator": "!==",
1193
+ "value": "",
1194
+ "valueIsField": false,
1195
+ "isEmpty": true
1196
+ },
1197
+ {
1198
+ "op": "cmp",
1199
+ "field": "widgetType",
1200
+ "fieldName": "Type",
1201
+ "operator": "==",
1202
+ "value": "activityWidget",
1203
+ "valueIsField": false,
1204
+ "isEmpty": false
1205
+ }
1206
+ ]
1207
+ },
1208
+ "source": {
1209
+ "kind": "objects",
1210
+ "type": [
1211
+ "activity"
1212
+ ]
1213
+ }
1214
+ },
1215
+ {
1216
+ "when": {
1217
+ "op": "and",
1218
+ "items": [
1219
+ {
1220
+ "op": "cmp",
1221
+ "field": "subWidgetParentWidget",
1222
+ "fieldName": "Parent widget (for sub-widgets)",
1223
+ "operator": "!==",
1224
+ "value": "",
1225
+ "valueIsField": false,
1226
+ "isEmpty": true
1227
+ },
1228
+ {
1229
+ "op": "cmp",
1230
+ "field": "widgetType",
1231
+ "fieldName": "Type",
1232
+ "operator": "==",
1233
+ "value": "inlineEdit",
1234
+ "valueIsField": false,
1235
+ "isEmpty": false
1236
+ }
1237
+ ]
1238
+ },
1239
+ "source": {
1240
+ "kind": "objects",
1241
+ "type": [
1242
+ "activity"
1243
+ ]
1244
+ }
1245
+ }
1246
+ ]
1247
+ },
1248
+ "disableCaseLinks": {
1249
+ "baseline": "MUST_NOT",
1250
+ "enabledWhen": [
1251
+ {
1252
+ "op": "and",
1253
+ "items": [
1254
+ {
1255
+ "op": "or",
1256
+ "items": [
1257
+ {
1258
+ "op": "cmp",
1259
+ "field": "widgetType",
1260
+ "fieldName": "Type",
1261
+ "operator": "==",
1262
+ "value": "caseData",
1263
+ "valueIsField": false,
1264
+ "isEmpty": false
1265
+ },
1266
+ {
1267
+ "op": "cmp",
1268
+ "field": "widgetType",
1269
+ "fieldName": "Type",
1270
+ "operator": "==",
1271
+ "value": "caseDataClean",
1272
+ "valueIsField": false,
1273
+ "isEmpty": false
1274
+ },
1275
+ {
1276
+ "op": "cmp",
1277
+ "field": "widgetType",
1278
+ "fieldName": "Type",
1279
+ "operator": "==",
1280
+ "value": "formWidget",
1281
+ "valueIsField": false,
1282
+ "isEmpty": false
1283
+ }
792
1284
  ]
793
1285
  },
794
1286
  {
@@ -802,6 +1294,54 @@
802
1294
  }
803
1295
  ]
804
1296
  }
1297
+ ],
1298
+ "forbiddenWhen": [
1299
+ {
1300
+ "op": "and",
1301
+ "items": [
1302
+ {
1303
+ "op": "or",
1304
+ "items": [
1305
+ {
1306
+ "op": "cmp",
1307
+ "field": "widgetType",
1308
+ "fieldName": "Type",
1309
+ "operator": "==",
1310
+ "value": "caseData",
1311
+ "valueIsField": false,
1312
+ "isEmpty": false
1313
+ },
1314
+ {
1315
+ "op": "cmp",
1316
+ "field": "widgetType",
1317
+ "fieldName": "Type",
1318
+ "operator": "==",
1319
+ "value": "caseDataClean",
1320
+ "valueIsField": false,
1321
+ "isEmpty": false
1322
+ },
1323
+ {
1324
+ "op": "cmp",
1325
+ "field": "widgetType",
1326
+ "fieldName": "Type",
1327
+ "operator": "==",
1328
+ "value": "formWidget",
1329
+ "valueIsField": false,
1330
+ "isEmpty": false
1331
+ }
1332
+ ]
1333
+ },
1334
+ {
1335
+ "op": "cmp",
1336
+ "field": "widgetType",
1337
+ "fieldName": "Type",
1338
+ "operator": "!=",
1339
+ "value": "caseDataClean",
1340
+ "valueIsField": false,
1341
+ "isEmpty": false
1342
+ }
1343
+ ]
1344
+ }
805
1345
  ]
806
1346
  },
807
1347
  "excludeEmptyValues": {
@@ -853,6 +1393,54 @@
853
1393
  }
854
1394
  ]
855
1395
  }
1396
+ ],
1397
+ "forbiddenWhen": [
1398
+ {
1399
+ "op": "and",
1400
+ "items": [
1401
+ {
1402
+ "op": "or",
1403
+ "items": [
1404
+ {
1405
+ "op": "cmp",
1406
+ "field": "widgetType",
1407
+ "fieldName": "Type",
1408
+ "operator": "==",
1409
+ "value": "caseData",
1410
+ "valueIsField": false,
1411
+ "isEmpty": false
1412
+ },
1413
+ {
1414
+ "op": "cmp",
1415
+ "field": "widgetType",
1416
+ "fieldName": "Type",
1417
+ "operator": "==",
1418
+ "value": "caseDataClean",
1419
+ "valueIsField": false,
1420
+ "isEmpty": false
1421
+ },
1422
+ {
1423
+ "op": "cmp",
1424
+ "field": "widgetType",
1425
+ "fieldName": "Type",
1426
+ "operator": "==",
1427
+ "value": "formWidget",
1428
+ "valueIsField": false,
1429
+ "isEmpty": false
1430
+ }
1431
+ ]
1432
+ },
1433
+ {
1434
+ "op": "cmp",
1435
+ "field": "widgetType",
1436
+ "fieldName": "Type",
1437
+ "operator": "!=",
1438
+ "value": "caseDataClean",
1439
+ "valueIsField": false,
1440
+ "isEmpty": false
1441
+ }
1442
+ ]
1443
+ }
856
1444
  ]
857
1445
  },
858
1446
  "executeFormLogic": {
@@ -904,6 +1492,54 @@
904
1492
  }
905
1493
  ]
906
1494
  }
1495
+ ],
1496
+ "forbiddenWhen": [
1497
+ {
1498
+ "op": "and",
1499
+ "items": [
1500
+ {
1501
+ "op": "or",
1502
+ "items": [
1503
+ {
1504
+ "op": "cmp",
1505
+ "field": "widgetType",
1506
+ "fieldName": "Type",
1507
+ "operator": "==",
1508
+ "value": "caseData",
1509
+ "valueIsField": false,
1510
+ "isEmpty": false
1511
+ },
1512
+ {
1513
+ "op": "cmp",
1514
+ "field": "widgetType",
1515
+ "fieldName": "Type",
1516
+ "operator": "==",
1517
+ "value": "caseDataClean",
1518
+ "valueIsField": false,
1519
+ "isEmpty": false
1520
+ },
1521
+ {
1522
+ "op": "cmp",
1523
+ "field": "widgetType",
1524
+ "fieldName": "Type",
1525
+ "operator": "==",
1526
+ "value": "formWidget",
1527
+ "valueIsField": false,
1528
+ "isEmpty": false
1529
+ }
1530
+ ]
1531
+ },
1532
+ {
1533
+ "op": "cmp",
1534
+ "field": "widgetType",
1535
+ "fieldName": "Type",
1536
+ "operator": "!=",
1537
+ "value": "caseDataClean",
1538
+ "valueIsField": false,
1539
+ "isEmpty": false
1540
+ }
1541
+ ]
1542
+ }
907
1543
  ]
908
1544
  },
909
1545
  "isLinkedToPlatformWidget": {
@@ -1012,6 +1648,42 @@
1012
1648
  "valueIsField": false,
1013
1649
  "isEmpty": false
1014
1650
  }
1651
+ ],
1652
+ "forbiddenWhen": [
1653
+ {
1654
+ "op": "cmp",
1655
+ "field": "subWidgetParentWidget",
1656
+ "fieldName": "Parent widget (for sub-widgets)",
1657
+ "operator": "!==",
1658
+ "value": "",
1659
+ "valueIsField": false,
1660
+ "isEmpty": true
1661
+ }
1662
+ ]
1663
+ },
1664
+ "platformWidget": {
1665
+ "baseline": "MAY",
1666
+ "requiredWhen": [
1667
+ {
1668
+ "op": "cmp",
1669
+ "field": "isLinkedToPlatformWidget",
1670
+ "fieldName": "Settings - Is linked to platform widget",
1671
+ "operator": "==",
1672
+ "value": "true",
1673
+ "valueIsField": false,
1674
+ "isEmpty": false
1675
+ }
1676
+ ],
1677
+ "enabledWhen": [
1678
+ {
1679
+ "op": "cmp",
1680
+ "field": "isLinkedToPlatformWidget",
1681
+ "fieldName": "Settings - Is linked to platform widget",
1682
+ "operator": "==",
1683
+ "value": "true",
1684
+ "valueIsField": false,
1685
+ "isEmpty": false
1686
+ }
1015
1687
  ]
1016
1688
  },
1017
1689
  "widgetPlugin": {
@@ -1029,80 +1701,280 @@
1029
1701
  ]
1030
1702
  },
1031
1703
  "templateSearchBox": {
1032
- "baseline": "MUST_NOT",
1033
- "enabledWhen": [
1034
- {
1704
+ "baseline": "MUST_NOT"
1705
+ },
1706
+ "templateSearchRow": {
1707
+ "baseline": "MUST_NOT"
1708
+ },
1709
+ "tileClasses": {
1710
+ "baseline": "MUST_NOT",
1711
+ "enabledWhen": [
1712
+ {
1713
+ "op": "cmp",
1714
+ "field": "widgetType",
1715
+ "fieldName": "Type",
1716
+ "operator": "==",
1717
+ "value": "tileWidget",
1718
+ "valueIsField": false,
1719
+ "isEmpty": false
1720
+ }
1721
+ ]
1722
+ },
1723
+ "widgetStylingPrimaryColor": {
1724
+ "baseline": "MUST_NOT",
1725
+ "enabledWhen": [
1726
+ {
1727
+ "op": "cmp",
1728
+ "field": "widgetType",
1729
+ "fieldName": "Type",
1730
+ "operator": "==",
1731
+ "value": "AIConversationWidget",
1732
+ "valueIsField": false,
1733
+ "isEmpty": false
1734
+ }
1735
+ ]
1736
+ },
1737
+ "widgetStylingSecondaryColor": {
1738
+ "baseline": "MUST_NOT",
1739
+ "enabledWhen": [
1740
+ {
1741
+ "op": "cmp",
1742
+ "field": "widgetType",
1743
+ "fieldName": "Type",
1744
+ "operator": "==",
1745
+ "value": "AIConversationWidget",
1746
+ "valueIsField": false,
1747
+ "isEmpty": false
1748
+ }
1749
+ ]
1750
+ },
1751
+ "template": {
1752
+ "baseline": "MAY",
1753
+ "requiredWhen": [
1754
+ {
1755
+ "op": "cmp",
1756
+ "field": "widgetType",
1757
+ "fieldName": "Type",
1758
+ "operator": "==",
1759
+ "value": "templateWidget",
1760
+ "valueIsField": false,
1761
+ "isEmpty": false
1762
+ },
1763
+ {
1764
+ "op": "cmp",
1765
+ "field": "widgetType",
1766
+ "fieldName": "Type",
1767
+ "operator": "==",
1768
+ "value": "tileWidget",
1769
+ "valueIsField": false,
1770
+ "isEmpty": false
1771
+ }
1772
+ ],
1773
+ "enabledWhen": [
1774
+ {
1775
+ "op": "cmp",
1776
+ "field": "widgetType",
1777
+ "fieldName": "Type",
1778
+ "operator": "==",
1779
+ "value": "templateWidget",
1780
+ "valueIsField": false,
1781
+ "isEmpty": false
1782
+ },
1783
+ {
1784
+ "op": "cmp",
1785
+ "field": "widgetType",
1786
+ "fieldName": "Type",
1787
+ "operator": "==",
1788
+ "value": "tileWidget",
1789
+ "valueIsField": false,
1790
+ "isEmpty": false
1791
+ },
1792
+ {
1035
1793
  "op": "and",
1036
1794
  "items": [
1037
1795
  {
1038
- "op": "or",
1796
+ "op": "cmp",
1797
+ "field": "template",
1798
+ "fieldName": "Template",
1799
+ "operator": "!==",
1800
+ "value": "",
1801
+ "valueIsField": false,
1802
+ "isEmpty": true
1803
+ },
1804
+ {
1805
+ "op": "cmp",
1806
+ "field": "widgetType",
1807
+ "fieldName": "Type",
1808
+ "operator": "==",
1809
+ "value": "templateWidget",
1810
+ "valueIsField": false,
1811
+ "isEmpty": false
1812
+ }
1813
+ ]
1814
+ }
1815
+ ],
1816
+ "forbiddenWhen": [
1817
+ {
1818
+ "op": "or",
1819
+ "items": [
1820
+ {
1821
+ "op": "and",
1039
1822
  "items": [
1040
1823
  {
1041
1824
  "op": "cmp",
1042
- "field": "widgetType",
1043
- "fieldName": "Type",
1825
+ "field": "templateInline",
1826
+ "fieldName": "Template (Inline)",
1044
1827
  "operator": "==",
1045
- "value": "formSearch",
1828
+ "value": "",
1046
1829
  "valueIsField": false,
1047
- "isEmpty": false
1830
+ "isEmpty": true
1831
+ },
1832
+ {
1833
+ "op": "cmp",
1834
+ "field": "template",
1835
+ "fieldName": "Template",
1836
+ "operator": "==",
1837
+ "value": "",
1838
+ "valueIsField": false,
1839
+ "isEmpty": true
1048
1840
  },
1049
1841
  {
1050
1842
  "op": "cmp",
1051
1843
  "field": "widgetType",
1052
1844
  "fieldName": "Type",
1053
1845
  "operator": "==",
1054
- "value": "simpleSearch",
1846
+ "value": "templateWidget",
1055
1847
  "valueIsField": false,
1056
1848
  "isEmpty": false
1057
1849
  }
1058
1850
  ]
1059
1851
  },
1852
+ {
1853
+ "op": "cmp",
1854
+ "field": "templateInline",
1855
+ "fieldName": "Template (Inline)",
1856
+ "operator": "!==",
1857
+ "value": "",
1858
+ "valueIsField": false,
1859
+ "isEmpty": true
1860
+ }
1861
+ ]
1862
+ },
1863
+ {
1864
+ "op": "and",
1865
+ "items": [
1866
+ {
1867
+ "op": "cmp",
1868
+ "field": "template",
1869
+ "fieldName": "Template",
1870
+ "operator": "==",
1871
+ "value": "",
1872
+ "valueIsField": false,
1873
+ "isEmpty": true
1874
+ },
1060
1875
  {
1061
1876
  "op": "cmp",
1062
1877
  "field": "widgetType",
1063
1878
  "fieldName": "Type",
1064
1879
  "operator": "==",
1065
- "value": "simpleSearch",
1880
+ "value": "templateWidget",
1066
1881
  "valueIsField": false,
1067
1882
  "isEmpty": false
1068
1883
  }
1069
1884
  ]
1885
+ }
1886
+ ]
1887
+ },
1888
+ "templateInline": {
1889
+ "baseline": "MAY",
1890
+ "requiredWhen": [
1891
+ {
1892
+ "op": "or",
1893
+ "items": [
1894
+ {
1895
+ "op": "and",
1896
+ "items": [
1897
+ {
1898
+ "op": "cmp",
1899
+ "field": "templateInline",
1900
+ "fieldName": "Template (Inline)",
1901
+ "operator": "==",
1902
+ "value": "",
1903
+ "valueIsField": false,
1904
+ "isEmpty": true
1905
+ },
1906
+ {
1907
+ "op": "cmp",
1908
+ "field": "template",
1909
+ "fieldName": "Template",
1910
+ "operator": "==",
1911
+ "value": "",
1912
+ "valueIsField": false,
1913
+ "isEmpty": true
1914
+ },
1915
+ {
1916
+ "op": "cmp",
1917
+ "field": "widgetType",
1918
+ "fieldName": "Type",
1919
+ "operator": "==",
1920
+ "value": "templateWidget",
1921
+ "valueIsField": false,
1922
+ "isEmpty": false
1923
+ }
1924
+ ]
1925
+ },
1926
+ {
1927
+ "op": "cmp",
1928
+ "field": "templateInline",
1929
+ "fieldName": "Template (Inline)",
1930
+ "operator": "!==",
1931
+ "value": "",
1932
+ "valueIsField": false,
1933
+ "isEmpty": true
1934
+ }
1935
+ ]
1070
1936
  },
1071
1937
  {
1072
1938
  "op": "cmp",
1073
1939
  "field": "widgetType",
1074
1940
  "fieldName": "Type",
1075
1941
  "operator": "==",
1076
- "value": "simpleSearch",
1942
+ "value": "filePreview",
1077
1943
  "valueIsField": false,
1078
1944
  "isEmpty": false
1079
1945
  }
1080
- ]
1081
- },
1082
- "templateSearchRow": {
1083
- "baseline": "MUST_NOT",
1946
+ ],
1084
1947
  "enabledWhen": [
1085
1948
  {
1086
- "op": "and",
1949
+ "op": "or",
1087
1950
  "items": [
1088
1951
  {
1089
- "op": "or",
1952
+ "op": "and",
1090
1953
  "items": [
1091
1954
  {
1092
1955
  "op": "cmp",
1093
- "field": "widgetType",
1094
- "fieldName": "Type",
1956
+ "field": "templateInline",
1957
+ "fieldName": "Template (Inline)",
1095
1958
  "operator": "==",
1096
- "value": "formSearch",
1959
+ "value": "",
1097
1960
  "valueIsField": false,
1098
- "isEmpty": false
1961
+ "isEmpty": true
1962
+ },
1963
+ {
1964
+ "op": "cmp",
1965
+ "field": "template",
1966
+ "fieldName": "Template",
1967
+ "operator": "==",
1968
+ "value": "",
1969
+ "valueIsField": false,
1970
+ "isEmpty": true
1099
1971
  },
1100
1972
  {
1101
1973
  "op": "cmp",
1102
1974
  "field": "widgetType",
1103
1975
  "fieldName": "Type",
1104
1976
  "operator": "==",
1105
- "value": "simpleSearch",
1977
+ "value": "templateWidget",
1106
1978
  "valueIsField": false,
1107
1979
  "isEmpty": false
1108
1980
  }
@@ -1110,12 +1982,12 @@
1110
1982
  },
1111
1983
  {
1112
1984
  "op": "cmp",
1113
- "field": "widgetType",
1114
- "fieldName": "Type",
1115
- "operator": "==",
1116
- "value": "simpleSearch",
1985
+ "field": "templateInline",
1986
+ "fieldName": "Template (Inline)",
1987
+ "operator": "!==",
1988
+ "value": "",
1117
1989
  "valueIsField": false,
1118
- "isEmpty": false
1990
+ "isEmpty": true
1119
1991
  }
1120
1992
  ]
1121
1993
  },
@@ -1124,28 +1996,85 @@
1124
1996
  "field": "widgetType",
1125
1997
  "fieldName": "Type",
1126
1998
  "operator": "==",
1127
- "value": "simpleSearch",
1999
+ "value": "filePreview",
1128
2000
  "valueIsField": false,
1129
2001
  "isEmpty": false
2002
+ },
2003
+ {
2004
+ "op": "and",
2005
+ "items": [
2006
+ {
2007
+ "op": "cmp",
2008
+ "field": "template",
2009
+ "fieldName": "Template",
2010
+ "operator": "==",
2011
+ "value": "",
2012
+ "valueIsField": false,
2013
+ "isEmpty": true
2014
+ },
2015
+ {
2016
+ "op": "cmp",
2017
+ "field": "widgetType",
2018
+ "fieldName": "Type",
2019
+ "operator": "==",
2020
+ "value": "templateWidget",
2021
+ "valueIsField": false,
2022
+ "isEmpty": false
2023
+ }
2024
+ ]
1130
2025
  }
1131
- ]
1132
- },
1133
- "tileClasses": {
1134
- "baseline": "MUST_NOT",
1135
- "enabledWhen": [
2026
+ ],
2027
+ "forbiddenWhen": [
2028
+ {
2029
+ "op": "and",
2030
+ "items": [
2031
+ {
2032
+ "op": "cmp",
2033
+ "field": "template",
2034
+ "fieldName": "Template",
2035
+ "operator": "!==",
2036
+ "value": "",
2037
+ "valueIsField": false,
2038
+ "isEmpty": true
2039
+ },
2040
+ {
2041
+ "op": "cmp",
2042
+ "field": "widgetType",
2043
+ "fieldName": "Type",
2044
+ "operator": "==",
2045
+ "value": "templateWidget",
2046
+ "valueIsField": false,
2047
+ "isEmpty": false
2048
+ }
2049
+ ]
2050
+ },
1136
2051
  {
1137
2052
  "op": "cmp",
1138
2053
  "field": "widgetType",
1139
2054
  "fieldName": "Type",
1140
2055
  "operator": "==",
1141
- "value": "tileWidget",
2056
+ "value": "AIConversationWidget",
1142
2057
  "valueIsField": false,
1143
2058
  "isEmpty": false
1144
2059
  }
1145
- ]
1146
- },
1147
- "templateOnEmpty": {
1148
- "baseline": "MUST_NOT",
2060
+ ],
2061
+ "labelWhen": [
2062
+ {
2063
+ "when": {
2064
+ "op": "cmp",
2065
+ "field": "widgetType",
2066
+ "fieldName": "Type",
2067
+ "operator": "==",
2068
+ "value": "filePreview",
2069
+ "valueIsField": false,
2070
+ "isEmpty": false
2071
+ },
2072
+ "label": "File(s)"
2073
+ }
2074
+ ]
2075
+ },
2076
+ "templateOnEmpty": {
2077
+ "baseline": "MUST_NOT",
1149
2078
  "enabledWhen": [
1150
2079
  {
1151
2080
  "op": "cmp",
@@ -1165,10 +2094,717 @@
1165
2094
  "baseline": "MUST_NOT"
1166
2095
  },
1167
2096
  "widgetType": {
1168
- "baseline": "MAY"
1169
- },
1170
- "useLegacyGrids": {
1171
- "baseline": "MUST_NOT"
2097
+ "baseline": "MUST_NOT",
2098
+ "requiredWhen": [
2099
+ {
2100
+ "op": "and",
2101
+ "items": [
2102
+ {
2103
+ "op": "or",
2104
+ "items": [
2105
+ {
2106
+ "op": "cmp",
2107
+ "field": "widgetType",
2108
+ "fieldName": "Type",
2109
+ "operator": "==",
2110
+ "value": "grid",
2111
+ "valueIsField": false,
2112
+ "isEmpty": false
2113
+ },
2114
+ {
2115
+ "op": "cmp",
2116
+ "field": "useLegacyGrids",
2117
+ "fieldName": "Use legacy grids",
2118
+ "operator": "==",
2119
+ "value": "true",
2120
+ "valueIsField": false,
2121
+ "isEmpty": false
2122
+ }
2123
+ ]
2124
+ },
2125
+ {
2126
+ "op": "cmp",
2127
+ "field": "widgetType",
2128
+ "fieldName": "Type",
2129
+ "operator": "contains",
2130
+ "value": "grid",
2131
+ "valueIsField": false,
2132
+ "isEmpty": false
2133
+ }
2134
+ ]
2135
+ },
2136
+ {
2137
+ "op": "and",
2138
+ "items": [
2139
+ {
2140
+ "op": "cmp",
2141
+ "field": "subWidgetParentWidget",
2142
+ "fieldName": "Parent widget (for sub-widgets)",
2143
+ "operator": "!==",
2144
+ "value": "",
2145
+ "valueIsField": false,
2146
+ "isEmpty": true
2147
+ },
2148
+ {
2149
+ "op": "cmp",
2150
+ "field": "widgetType",
2151
+ "fieldName": "Type",
2152
+ "operator": "==",
2153
+ "value": "",
2154
+ "valueIsField": false,
2155
+ "isEmpty": true
2156
+ }
2157
+ ]
2158
+ }
2159
+ ],
2160
+ "enabledWhen": [
2161
+ {
2162
+ "op": "and",
2163
+ "items": [
2164
+ {
2165
+ "op": "or",
2166
+ "items": [
2167
+ {
2168
+ "op": "cmp",
2169
+ "field": "widgetType",
2170
+ "fieldName": "Type",
2171
+ "operator": "==",
2172
+ "value": "grid",
2173
+ "valueIsField": false,
2174
+ "isEmpty": false
2175
+ },
2176
+ {
2177
+ "op": "cmp",
2178
+ "field": "useLegacyGrids",
2179
+ "fieldName": "Use legacy grids",
2180
+ "operator": "==",
2181
+ "value": "true",
2182
+ "valueIsField": false,
2183
+ "isEmpty": false
2184
+ }
2185
+ ]
2186
+ },
2187
+ {
2188
+ "op": "cmp",
2189
+ "field": "widgetType",
2190
+ "fieldName": "Type",
2191
+ "operator": "contains",
2192
+ "value": "grid",
2193
+ "valueIsField": false,
2194
+ "isEmpty": false
2195
+ }
2196
+ ]
2197
+ },
2198
+ {
2199
+ "op": "and",
2200
+ "items": [
2201
+ {
2202
+ "op": "cmp",
2203
+ "field": "subWidgetParentWidget",
2204
+ "fieldName": "Parent widget (for sub-widgets)",
2205
+ "operator": "!==",
2206
+ "value": "",
2207
+ "valueIsField": false,
2208
+ "isEmpty": true
2209
+ },
2210
+ {
2211
+ "op": "cmp",
2212
+ "field": "widgetType",
2213
+ "fieldName": "Type",
2214
+ "operator": "==",
2215
+ "value": "",
2216
+ "valueIsField": false,
2217
+ "isEmpty": true
2218
+ }
2219
+ ]
2220
+ },
2221
+ {
2222
+ "op": "or",
2223
+ "items": [
2224
+ {
2225
+ "op": "cmp",
2226
+ "field": "widgetType",
2227
+ "fieldName": "Type",
2228
+ "operator": "==",
2229
+ "value": "caseData",
2230
+ "valueIsField": false,
2231
+ "isEmpty": false
2232
+ },
2233
+ {
2234
+ "op": "cmp",
2235
+ "field": "widgetType",
2236
+ "fieldName": "Type",
2237
+ "operator": "==",
2238
+ "value": "caseDataClean",
2239
+ "valueIsField": false,
2240
+ "isEmpty": false
2241
+ },
2242
+ {
2243
+ "op": "cmp",
2244
+ "field": "widgetType",
2245
+ "fieldName": "Type",
2246
+ "operator": "==",
2247
+ "value": "formWidget",
2248
+ "valueIsField": false,
2249
+ "isEmpty": false
2250
+ }
2251
+ ]
2252
+ },
2253
+ {
2254
+ "op": "or",
2255
+ "items": [
2256
+ {
2257
+ "op": "cmp",
2258
+ "field": "widgetType",
2259
+ "fieldName": "Type",
2260
+ "operator": "==",
2261
+ "value": "formSearch",
2262
+ "valueIsField": false,
2263
+ "isEmpty": false
2264
+ },
2265
+ {
2266
+ "op": "cmp",
2267
+ "field": "widgetType",
2268
+ "fieldName": "Type",
2269
+ "operator": "==",
2270
+ "value": "simpleSearch",
2271
+ "valueIsField": false,
2272
+ "isEmpty": false
2273
+ }
2274
+ ]
2275
+ },
2276
+ {
2277
+ "op": "and",
2278
+ "items": [
2279
+ {
2280
+ "op": "cmp",
2281
+ "field": "subWidgetParentWidget",
2282
+ "fieldName": "Parent widget (for sub-widgets)",
2283
+ "operator": "!==",
2284
+ "value": "",
2285
+ "valueIsField": false,
2286
+ "isEmpty": true
2287
+ },
2288
+ {
2289
+ "op": "cmp",
2290
+ "field": "widgetType",
2291
+ "fieldName": "Type",
2292
+ "operator": "!=",
2293
+ "value": "",
2294
+ "valueIsField": false,
2295
+ "isEmpty": true
2296
+ }
2297
+ ]
2298
+ }
2299
+ ],
2300
+ "forbiddenWhen": [
2301
+ {
2302
+ "op": "cmp",
2303
+ "field": "isLinkedToPlatformWidget",
2304
+ "fieldName": "Settings - Is linked to platform widget",
2305
+ "operator": "==",
2306
+ "value": "true",
2307
+ "valueIsField": false,
2308
+ "isEmpty": false
2309
+ }
2310
+ ],
2311
+ "readOnlyWhen": [
2312
+ {
2313
+ "op": "and",
2314
+ "items": [
2315
+ {
2316
+ "op": "cmp",
2317
+ "field": "subWidgetParentWidget",
2318
+ "fieldName": "Parent widget (for sub-widgets)",
2319
+ "operator": "!==",
2320
+ "value": "",
2321
+ "valueIsField": false,
2322
+ "isEmpty": true
2323
+ },
2324
+ {
2325
+ "op": "cmp",
2326
+ "field": "widgetType",
2327
+ "fieldName": "Type",
2328
+ "operator": "!=",
2329
+ "value": "",
2330
+ "valueIsField": false,
2331
+ "isEmpty": true
2332
+ }
2333
+ ]
2334
+ }
2335
+ ],
2336
+ "messageWhen": [
2337
+ {
2338
+ "when": {
2339
+ "op": "and",
2340
+ "items": [
2341
+ {
2342
+ "op": "cmp",
2343
+ "field": "subWidgetParentWidget",
2344
+ "fieldName": "Parent widget (for sub-widgets)",
2345
+ "operator": "!==",
2346
+ "value": "",
2347
+ "valueIsField": false,
2348
+ "isEmpty": true
2349
+ },
2350
+ {
2351
+ "op": "cmp",
2352
+ "field": "widgetType",
2353
+ "fieldName": "Type",
2354
+ "operator": "!=",
2355
+ "value": "",
2356
+ "valueIsField": false,
2357
+ "isEmpty": true
2358
+ }
2359
+ ]
2360
+ },
2361
+ "message": "This can be set once, please remove and re-add the subwidget to change its type."
2362
+ }
2363
+ ],
2364
+ "optionsWhen": [
2365
+ {
2366
+ "when": {
2367
+ "op": "or",
2368
+ "items": [
2369
+ {
2370
+ "op": "cmp",
2371
+ "field": "widgetType",
2372
+ "fieldName": "Type",
2373
+ "operator": "==",
2374
+ "value": "caseData",
2375
+ "valueIsField": false,
2376
+ "isEmpty": false
2377
+ },
2378
+ {
2379
+ "op": "cmp",
2380
+ "field": "widgetType",
2381
+ "fieldName": "Type",
2382
+ "operator": "==",
2383
+ "value": "caseDataClean",
2384
+ "valueIsField": false,
2385
+ "isEmpty": false
2386
+ },
2387
+ {
2388
+ "op": "cmp",
2389
+ "field": "widgetType",
2390
+ "fieldName": "Type",
2391
+ "operator": "==",
2392
+ "value": "formWidget",
2393
+ "valueIsField": false,
2394
+ "isEmpty": false
2395
+ }
2396
+ ]
2397
+ },
2398
+ "source": {
2399
+ "kind": "static",
2400
+ "options": [
2401
+ {
2402
+ "id": "formWidget",
2403
+ "label": "Form style"
2404
+ },
2405
+ {
2406
+ "id": "caseDataClean",
2407
+ "label": "Bootstrap style"
2408
+ },
2409
+ {
2410
+ "id": "caseData",
2411
+ "label": "Grid style (legacy)"
2412
+ }
2413
+ ]
2414
+ }
2415
+ },
2416
+ {
2417
+ "when": {
2418
+ "op": "or",
2419
+ "items": [
2420
+ {
2421
+ "op": "cmp",
2422
+ "field": "widgetType",
2423
+ "fieldName": "Type",
2424
+ "operator": "==",
2425
+ "value": "formSearch",
2426
+ "valueIsField": false,
2427
+ "isEmpty": false
2428
+ },
2429
+ {
2430
+ "op": "cmp",
2431
+ "field": "widgetType",
2432
+ "fieldName": "Type",
2433
+ "operator": "==",
2434
+ "value": "simpleSearch",
2435
+ "valueIsField": false,
2436
+ "isEmpty": false
2437
+ }
2438
+ ]
2439
+ },
2440
+ "source": {
2441
+ "kind": "static",
2442
+ "options": [
2443
+ {
2444
+ "id": "formSearch",
2445
+ "label": "Form style"
2446
+ },
2447
+ {
2448
+ "id": "simpleSearch",
2449
+ "label": "Simple style"
2450
+ }
2451
+ ]
2452
+ }
2453
+ },
2454
+ {
2455
+ "when": {
2456
+ "op": "and",
2457
+ "items": [
2458
+ {
2459
+ "op": "or",
2460
+ "items": [
2461
+ {
2462
+ "op": "cmp",
2463
+ "field": "widgetType",
2464
+ "fieldName": "Type",
2465
+ "operator": "==",
2466
+ "value": "grid",
2467
+ "valueIsField": false,
2468
+ "isEmpty": false
2469
+ },
2470
+ {
2471
+ "op": "cmp",
2472
+ "field": "useLegacyGrids",
2473
+ "fieldName": "Use legacy grids",
2474
+ "operator": "==",
2475
+ "value": "true",
2476
+ "valueIsField": false,
2477
+ "isEmpty": false
2478
+ }
2479
+ ]
2480
+ },
2481
+ {
2482
+ "op": "cmp",
2483
+ "field": "widgetType",
2484
+ "fieldName": "Type",
2485
+ "operator": "contains",
2486
+ "value": "grid",
2487
+ "valueIsField": false,
2488
+ "isEmpty": false
2489
+ }
2490
+ ]
2491
+ },
2492
+ "source": {
2493
+ "kind": "static",
2494
+ "options": [
2495
+ {
2496
+ "id": "grid",
2497
+ "label": "Grid (legacy)"
2498
+ },
2499
+ {
2500
+ "id": "grid-v2",
2501
+ "label": "Grid "
2502
+ }
2503
+ ]
2504
+ }
2505
+ },
2506
+ {
2507
+ "when": {
2508
+ "op": "and",
2509
+ "items": [
2510
+ {
2511
+ "op": "cmp",
2512
+ "field": "subWidgetParentWidget",
2513
+ "fieldName": "Parent widget (for sub-widgets)",
2514
+ "operator": "!==",
2515
+ "value": "",
2516
+ "valueIsField": false,
2517
+ "isEmpty": true
2518
+ },
2519
+ {
2520
+ "op": "cmp",
2521
+ "field": "widgetType",
2522
+ "fieldName": "Type",
2523
+ "operator": "==",
2524
+ "value": "",
2525
+ "valueIsField": false,
2526
+ "isEmpty": true
2527
+ }
2528
+ ]
2529
+ },
2530
+ "source": {
2531
+ "kind": "static",
2532
+ "options": [
2533
+ {
2534
+ "id": "grid-v2",
2535
+ "label": "Grid"
2536
+ },
2537
+ {
2538
+ "id": "caseDataClean",
2539
+ "label": "Form widget (bootstrap-style)"
2540
+ },
2541
+ {
2542
+ "id": "inlineEdit",
2543
+ "label": "Inline edit form"
2544
+ },
2545
+ {
2546
+ "id": "viewWidget",
2547
+ "label": "View widget"
2548
+ },
2549
+ {
2550
+ "id": "tileWidget",
2551
+ "label": "Tile widget"
2552
+ },
2553
+ {
2554
+ "id": "templateWidget",
2555
+ "label": "Template widget"
2556
+ },
2557
+ {
2558
+ "id": "pluginWidget",
2559
+ "label": "Plugin Widget"
2560
+ },
2561
+ {
2562
+ "id": "activityWidget",
2563
+ "label": "Activity widget"
2564
+ }
2565
+ ]
2566
+ }
2567
+ }
2568
+ ]
2569
+ },
2570
+ "useLegacyGrids": {
2571
+ "baseline": "MUST_NOT"
2572
+ },
2573
+ "view": {
2574
+ "baseline": "MAY",
2575
+ "requiredWhen": [
2576
+ {
2577
+ "op": "cmp",
2578
+ "field": "widgetType",
2579
+ "fieldName": "Type",
2580
+ "operator": "==",
2581
+ "value": "viewWidget",
2582
+ "valueIsField": false,
2583
+ "isEmpty": false
2584
+ }
2585
+ ],
2586
+ "enabledWhen": [
2587
+ {
2588
+ "op": "cmp",
2589
+ "field": "widgetType",
2590
+ "fieldName": "Type",
2591
+ "operator": "==",
2592
+ "value": "viewWidget",
2593
+ "valueIsField": false,
2594
+ "isEmpty": false
2595
+ }
2596
+ ],
2597
+ "forbiddenWhen": [
2598
+ {
2599
+ "op": "or",
2600
+ "items": [
2601
+ {
2602
+ "op": "cmp",
2603
+ "field": "caseAttribute",
2604
+ "fieldName": "Attribute",
2605
+ "operator": "!==",
2606
+ "value": "",
2607
+ "valueIsField": false,
2608
+ "isEmpty": true
2609
+ },
2610
+ {
2611
+ "op": "cmp",
2612
+ "field": "masterWidget",
2613
+ "fieldName": "Settings - Master Widget ID",
2614
+ "operator": "!==",
2615
+ "value": "",
2616
+ "valueIsField": false,
2617
+ "isEmpty": true
2618
+ }
2619
+ ]
2620
+ },
2621
+ {
2622
+ "op": "and",
2623
+ "items": [
2624
+ {
2625
+ "op": "cmp",
2626
+ "field": "caseAttribute",
2627
+ "fieldName": "Attribute",
2628
+ "operator": "===",
2629
+ "value": "",
2630
+ "valueIsField": false,
2631
+ "isEmpty": true
2632
+ },
2633
+ {
2634
+ "op": "cmp",
2635
+ "field": "subWidgetParentWidget",
2636
+ "fieldName": "Parent widget (for sub-widgets)",
2637
+ "operator": "==",
2638
+ "value": "",
2639
+ "valueIsField": false,
2640
+ "isEmpty": true
2641
+ },
2642
+ {
2643
+ "op": "cmp",
2644
+ "field": "masterWidget",
2645
+ "fieldName": "Settings - Master Widget ID",
2646
+ "operator": "===",
2647
+ "value": "",
2648
+ "valueIsField": false,
2649
+ "isEmpty": true
2650
+ },
2651
+ {
2652
+ "op": "cmp",
2653
+ "field": "widgetType",
2654
+ "fieldName": "Type",
2655
+ "operator": "==",
2656
+ "value": "viewWidget",
2657
+ "valueIsField": false,
2658
+ "isEmpty": false
2659
+ }
2660
+ ]
2661
+ },
2662
+ {
2663
+ "op": "and",
2664
+ "items": [
2665
+ {
2666
+ "op": "cmp",
2667
+ "field": "caseAttribute",
2668
+ "fieldName": "Attribute",
2669
+ "operator": "!==",
2670
+ "value": "",
2671
+ "valueIsField": false,
2672
+ "isEmpty": true
2673
+ },
2674
+ {
2675
+ "op": "cmp",
2676
+ "field": "widgetType",
2677
+ "fieldName": "Type",
2678
+ "operator": "==",
2679
+ "value": "viewWidget",
2680
+ "valueIsField": false,
2681
+ "isEmpty": false
2682
+ }
2683
+ ]
2684
+ },
2685
+ {
2686
+ "op": "cmp",
2687
+ "field": "widgetType",
2688
+ "fieldName": "Type",
2689
+ "operator": "!=",
2690
+ "value": "viewWidget",
2691
+ "valueIsField": false,
2692
+ "isEmpty": false
2693
+ }
2694
+ ],
2695
+ "optionsWhen": [
2696
+ {
2697
+ "when": {
2698
+ "op": "or",
2699
+ "items": [
2700
+ {
2701
+ "op": "cmp",
2702
+ "field": "caseAttribute",
2703
+ "fieldName": "Attribute",
2704
+ "operator": "!==",
2705
+ "value": "",
2706
+ "valueIsField": false,
2707
+ "isEmpty": true
2708
+ },
2709
+ {
2710
+ "op": "cmp",
2711
+ "field": "masterWidget",
2712
+ "fieldName": "Settings - Master Widget ID",
2713
+ "operator": "!==",
2714
+ "value": "",
2715
+ "valueIsField": false,
2716
+ "isEmpty": true
2717
+ }
2718
+ ]
2719
+ },
2720
+ "source": {
2721
+ "kind": "objects",
2722
+ "type": [
2723
+ "view"
2724
+ ]
2725
+ }
2726
+ },
2727
+ {
2728
+ "when": {
2729
+ "op": "and",
2730
+ "items": [
2731
+ {
2732
+ "op": "cmp",
2733
+ "field": "caseAttribute",
2734
+ "fieldName": "Attribute",
2735
+ "operator": "===",
2736
+ "value": "",
2737
+ "valueIsField": false,
2738
+ "isEmpty": true
2739
+ },
2740
+ {
2741
+ "op": "cmp",
2742
+ "field": "subWidgetParentWidget",
2743
+ "fieldName": "Parent widget (for sub-widgets)",
2744
+ "operator": "==",
2745
+ "value": "",
2746
+ "valueIsField": false,
2747
+ "isEmpty": true
2748
+ },
2749
+ {
2750
+ "op": "cmp",
2751
+ "field": "masterWidget",
2752
+ "fieldName": "Settings - Master Widget ID",
2753
+ "operator": "===",
2754
+ "value": "",
2755
+ "valueIsField": false,
2756
+ "isEmpty": true
2757
+ },
2758
+ {
2759
+ "op": "cmp",
2760
+ "field": "widgetType",
2761
+ "fieldName": "Type",
2762
+ "operator": "==",
2763
+ "value": "viewWidget",
2764
+ "valueIsField": false,
2765
+ "isEmpty": false
2766
+ }
2767
+ ]
2768
+ },
2769
+ "source": {
2770
+ "kind": "objects",
2771
+ "type": [
2772
+ "view"
2773
+ ]
2774
+ }
2775
+ },
2776
+ {
2777
+ "when": {
2778
+ "op": "and",
2779
+ "items": [
2780
+ {
2781
+ "op": "cmp",
2782
+ "field": "subWidgetParentWidget",
2783
+ "fieldName": "Parent widget (for sub-widgets)",
2784
+ "operator": "!==",
2785
+ "value": " ",
2786
+ "valueIsField": false,
2787
+ "isEmpty": false
2788
+ },
2789
+ {
2790
+ "op": "cmp",
2791
+ "field": "widgetType",
2792
+ "fieldName": "Type",
2793
+ "operator": "==",
2794
+ "value": "viewWidget",
2795
+ "valueIsField": false,
2796
+ "isEmpty": false
2797
+ }
2798
+ ]
2799
+ },
2800
+ "source": {
2801
+ "kind": "objects",
2802
+ "type": [
2803
+ "view"
2804
+ ]
2805
+ }
2806
+ }
2807
+ ]
1172
2808
  },
1173
2809
  "viewCalculated": {
1174
2810
  "baseline": "MUST_NOT"