@bpmn-io/form-js-editor 0.4.3 → 0.6.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.
- package/dist/assets/form-js-editor.css +92 -42
- package/dist/index.cjs +206 -25
- package/dist/index.cjs.map +1 -1
- package/dist/index.es.js +206 -26
- package/dist/index.es.js.map +1 -1
- package/dist/types/FormEditor.d.ts +140 -135
- package/dist/types/core/Debounce.d.ts +10 -10
- package/dist/types/core/EventBus.d.ts +1 -1
- package/dist/types/core/FieldFactory.d.ts +18 -18
- package/dist/types/core/FormFieldRegistry.d.ts +19 -19
- package/dist/types/core/index.d.ts +17 -17
- package/dist/types/features/editor-actions/FormEditorActions.d.ts +8 -8
- package/dist/types/features/editor-actions/index.d.ts +6 -6
- package/dist/types/features/keyboard/FormEditorKeyboardBindings.d.ts +8 -8
- package/dist/types/features/keyboard/index.d.ts +7 -7
- package/dist/types/features/modeling/Modeling.d.ts +34 -34
- package/dist/types/features/modeling/behavior/IdBehavior.d.ts +7 -7
- package/dist/types/features/modeling/behavior/KeyBehavior.d.ts +7 -7
- package/dist/types/features/modeling/behavior/index.d.ts +8 -8
- package/dist/types/features/modeling/cmd/AddFormFieldHandler.d.ts +16 -16
- package/dist/types/features/modeling/cmd/EditFormFieldHandler.d.ts +16 -16
- package/dist/types/features/modeling/cmd/MoveFormFieldHandler.d.ts +17 -17
- package/dist/types/features/modeling/cmd/RemoveFormFieldHandler.d.ts +16 -16
- package/dist/types/features/modeling/cmd/UpdateIdClaimHandler.d.ts +14 -14
- package/dist/types/features/modeling/cmd/UpdateKeyClaimHandler.d.ts +14 -14
- package/dist/types/features/modeling/cmd/Util.d.ts +4 -4
- package/dist/types/features/modeling/index.d.ts +7 -7
- package/dist/types/features/selection/Selection.d.ts +14 -14
- package/dist/types/features/selection/SelectionBehavior.d.ts +7 -7
- package/dist/types/features/selection/index.d.ts +8 -8
- package/dist/types/import/Importer.d.ts +51 -51
- package/dist/types/import/index.d.ts +5 -5
- package/dist/types/index.d.ts +15 -15
- package/dist/types/render/Renderer.d.ts +26 -26
- package/dist/types/render/components/FormEditor.d.ts +1 -1
- package/dist/types/render/components/palette/Palette.d.ts +1 -1
- package/dist/types/render/components/palette/icons/index.d.ts +11 -11
- package/dist/types/render/components/properties-panel/PropertiesPanel.d.ts +1 -1
- package/dist/types/render/components/properties-panel/Util.d.ts +6 -6
- package/dist/types/render/components/properties-panel/components/CheckboxInput.d.ts +1 -1
- package/dist/types/render/components/properties-panel/components/CheckboxInputEntry.d.ts +1 -1
- package/dist/types/render/components/properties-panel/components/CollapsibleEntry.d.ts +1 -1
- package/dist/types/render/components/properties-panel/components/Group.d.ts +1 -1
- package/dist/types/render/components/properties-panel/components/NumberInput.d.ts +1 -1
- package/dist/types/render/components/properties-panel/components/NumberInputEntry.d.ts +1 -1
- package/dist/types/render/components/properties-panel/components/Select.d.ts +1 -1
- package/dist/types/render/components/properties-panel/components/SelectEntry.d.ts +1 -0
- package/dist/types/render/components/properties-panel/components/TextInput.d.ts +1 -1
- package/dist/types/render/components/properties-panel/components/TextInputEntry.d.ts +1 -1
- package/dist/types/render/components/properties-panel/components/Textarea.d.ts +1 -1
- package/dist/types/render/components/properties-panel/components/TextareaEntry.d.ts +1 -1
- package/dist/types/render/components/properties-panel/components/index.d.ts +12 -11
- package/dist/types/render/components/properties-panel/entries/ActionEntry.d.ts +1 -1
- package/dist/types/render/components/properties-panel/entries/ColumnsEntry.d.ts +1 -1
- package/dist/types/render/components/properties-panel/entries/DefaultValueEntry.d.ts +1 -0
- package/dist/types/render/components/properties-panel/entries/DescriptionEntry.d.ts +1 -1
- package/dist/types/render/components/properties-panel/entries/DisabledEntry.d.ts +1 -0
- package/dist/types/render/components/properties-panel/entries/IdEntry.d.ts +1 -1
- package/dist/types/render/components/properties-panel/entries/KeyEntry.d.ts +1 -1
- package/dist/types/render/components/properties-panel/entries/LabelEntry.d.ts +1 -1
- package/dist/types/render/components/properties-panel/entries/TextEntry.d.ts +1 -1
- package/dist/types/render/components/properties-panel/entries/ValueEntry.d.ts +1 -1
- package/dist/types/render/components/properties-panel/entries/index.d.ts +10 -8
- package/dist/types/render/components/properties-panel/groups/GeneralGroup.d.ts +1 -1
- package/dist/types/render/components/properties-panel/groups/ValidationGroup.d.ts +1 -1
- package/dist/types/render/components/properties-panel/groups/ValuesGroup.d.ts +1 -1
- package/dist/types/render/components/properties-panel/groups/index.d.ts +3 -3
- package/dist/types/render/components/properties-panel/icons/index.d.ts +1 -1
- package/dist/types/render/context/DragAndDropContext.d.ts +4 -4
- package/dist/types/render/context/FormEditorContext.d.ts +11 -11
- package/dist/types/render/context/index.d.ts +2 -2
- package/dist/types/render/hooks/index.d.ts +3 -3
- package/dist/types/render/hooks/useDebounce.d.ts +1 -1
- package/dist/types/render/hooks/usePrevious.d.ts +1 -1
- package/dist/types/render/hooks/useService.d.ts +1 -1
- package/dist/types/render/index.d.ts +8 -8
- package/package.json +3 -3
|
@@ -1,5 +1,46 @@
|
|
|
1
1
|
.fjs-editor-container {
|
|
2
|
-
--color-
|
|
2
|
+
--color-children-border: var(--color-grey-225-10-75);
|
|
3
|
+
--color-children-selected-border: var(--color-blue-205-100-50);
|
|
4
|
+
--color-children-selected-background: var(--color-blue-205-100-95);
|
|
5
|
+
--color-children-hover-border: var(--color-blue-205-100-50);
|
|
6
|
+
|
|
7
|
+
--color-context-pad-item-background: var(--color-white);
|
|
8
|
+
--color-context-pad-item-fill: var(--color-grey-225-10-35);
|
|
9
|
+
--color-context-pad-item-hover-fill: var(--color-black);
|
|
10
|
+
|
|
11
|
+
--color-palette-container-background: var(--color-grey-225-10-97);
|
|
12
|
+
--color-palette-container-border: var(--color-grey-225-10-80);
|
|
13
|
+
--color-palette-header-color: var(--color-text);
|
|
14
|
+
--color-palette-header-background: var(--color-grey-225-10-95);
|
|
15
|
+
--color-palette-header-border: var(--color-grey-225-10-80);
|
|
16
|
+
--color-palette-field-border: var(--color-grey-225-10-80);
|
|
17
|
+
--color-palette-field-hover-background: var(--color-grey-225-10-95);
|
|
18
|
+
|
|
19
|
+
--color-properties-container-background: var(--color-grey-225-10-97);
|
|
20
|
+
--color-properties-container-border: var(--color-grey-225-10-80);
|
|
21
|
+
--color-properties-header-background: var(--color-grey-225-10-95);
|
|
22
|
+
--color-properties-header-border: var(--color-grey-225-10-80);
|
|
23
|
+
--color-properties-header-icon-fill: var(--color-grey-225-10-35);
|
|
24
|
+
--color-properties-group-background: var(--color-grey-225-10-95);
|
|
25
|
+
--color-properties-group-border: var(--color-grey-225-10-80);
|
|
26
|
+
--color-properties-group-button-fill: var(--color-grey-225-10-35);
|
|
27
|
+
--color-properties-group-button-hover-fill: var(--color-black);
|
|
28
|
+
--color-properties-entries-border: var(--color-grey-225-10-80);
|
|
29
|
+
--color-properties-collapsible-remove-fill: var(--color-grey-225-10-35);
|
|
30
|
+
--color-properties-collapsible-remove-hover-fill: var(--color-black);
|
|
31
|
+
--color-properties-description: var(--color-grey-225-10-15);
|
|
32
|
+
--color-properties-error: var(--color-warning);
|
|
33
|
+
--color-properties-input-background: var(--color-white);
|
|
34
|
+
--color-properties-input-border: var(--color-grey-225-10-75);
|
|
35
|
+
--color-properties-input-error-border: var(--color-warning);
|
|
36
|
+
--color-properties-input-error-hover-border: var(--color-warning);
|
|
37
|
+
--color-properties-input-focus-border: var(--color-blue-205-100-50);
|
|
38
|
+
--color-properties-placeholder: var(--color-grey-225-10-80);
|
|
39
|
+
|
|
40
|
+
--color-dragula-background: var(--color-blue-205-100-45);
|
|
41
|
+
--color-dragula-border: var(--color-blue-205-100-45);
|
|
42
|
+
--color-dragula-mirror-background: var(--color-white);
|
|
43
|
+
--color-dragula-mirror-border: var(--color-grey-225-10-80);
|
|
3
44
|
}
|
|
4
45
|
|
|
5
46
|
.fjs-editor-container {
|
|
@@ -41,7 +82,7 @@
|
|
|
41
82
|
}
|
|
42
83
|
|
|
43
84
|
.fjs-editor-container .fjs-children .fjs-children {
|
|
44
|
-
border: dashed 2px var(--color-
|
|
85
|
+
border: dashed 2px var(--color-children-border);
|
|
45
86
|
border-radius: 3px;
|
|
46
87
|
}
|
|
47
88
|
|
|
@@ -75,12 +116,17 @@
|
|
|
75
116
|
}
|
|
76
117
|
|
|
77
118
|
.fjs-editor-container .fjs-children > .fjs-element.fjs-editor-selected {
|
|
78
|
-
border-color: var(--color-
|
|
79
|
-
background-color: var(--color-
|
|
119
|
+
border-color: var(--color-children-selected-border);
|
|
120
|
+
background-color: var(--color-children-selected-background);
|
|
80
121
|
}
|
|
81
122
|
|
|
82
123
|
.fjs-editor-container .fjs-children > .fjs-element:hover {
|
|
83
|
-
border-color: var(--color-
|
|
124
|
+
border-color: var(--color-children-hover-border) !important;
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
.fjs-editor-container .fjs-input:disabled,
|
|
128
|
+
.fjs-editor-container .fjs-select:disabled {
|
|
129
|
+
pointer-events: none;
|
|
84
130
|
}
|
|
85
131
|
|
|
86
132
|
/**
|
|
@@ -90,25 +136,24 @@
|
|
|
90
136
|
position: absolute;
|
|
91
137
|
top: 3px;
|
|
92
138
|
right: 3px;
|
|
93
|
-
background-color: white;
|
|
94
|
-
border-radius: 3px;
|
|
95
139
|
box-shadow: 1px 1px 1px 1px rgb(0 0 0 / 10%);
|
|
96
140
|
}
|
|
97
141
|
|
|
98
142
|
.fjs-editor-container .fjs-context-pad-item {
|
|
99
143
|
border: none;
|
|
100
|
-
|
|
144
|
+
border-radius: 3px;
|
|
145
|
+
background-color: var(--color-context-pad-item-background);
|
|
101
146
|
padding: 0;
|
|
102
147
|
width: 24px;
|
|
103
148
|
height: 24px;
|
|
104
|
-
fill: var(--color-
|
|
149
|
+
fill: var(--color-context-pad-item-fill);
|
|
105
150
|
display: flex;
|
|
106
151
|
justify-content: center;
|
|
107
152
|
align-items: center;
|
|
108
153
|
}
|
|
109
154
|
|
|
110
155
|
.fjs-editor-container .fjs-context-pad-item:hover {
|
|
111
|
-
fill: var(--color-
|
|
156
|
+
fill: var(--color-context-pad-item-hover-fill);
|
|
112
157
|
}
|
|
113
158
|
|
|
114
159
|
/**
|
|
@@ -116,16 +161,17 @@
|
|
|
116
161
|
*/
|
|
117
162
|
.fjs-editor-container .fjs-palette-container {
|
|
118
163
|
width: 200px;
|
|
119
|
-
background-color: var(--color-
|
|
120
|
-
border-right: solid 1px var(--color-
|
|
164
|
+
background-color: var(--color-palette-container-background);
|
|
165
|
+
border-right: solid 1px var(--color-palette-container-border);
|
|
121
166
|
}
|
|
122
167
|
|
|
123
168
|
.fjs-editor-container .fjs-palette-header {
|
|
124
169
|
font-size: 12px;
|
|
125
170
|
font-weight: bold;
|
|
171
|
+
color: var(--color-palette-header-color);
|
|
126
172
|
padding: 10px;
|
|
127
|
-
border-bottom: solid 1px var(--color-
|
|
128
|
-
background-color: var(--color-
|
|
173
|
+
border-bottom: solid 1px var(--color-palette-header-border);
|
|
174
|
+
background-color: var(--color-palette-header-background);
|
|
129
175
|
}
|
|
130
176
|
|
|
131
177
|
.fjs-editor-container .fjs-palette-field {
|
|
@@ -135,8 +181,9 @@
|
|
|
135
181
|
justify-content: flex-start;
|
|
136
182
|
align-items: center;
|
|
137
183
|
flex-direction: row;
|
|
138
|
-
border-bottom: solid 1px var(--color-
|
|
184
|
+
border-bottom: solid 1px var(--color-palette-field-border);
|
|
139
185
|
font-size: 14px;
|
|
186
|
+
color: var(--color-text);
|
|
140
187
|
}
|
|
141
188
|
|
|
142
189
|
.fjs-editor-container .fjs-palette-field-icon {
|
|
@@ -144,7 +191,7 @@
|
|
|
144
191
|
}
|
|
145
192
|
|
|
146
193
|
.fjs-editor-container .fjs-palette-field:hover {
|
|
147
|
-
background-color: var(--color-
|
|
194
|
+
background-color: var(--color-palette-field-hover-background);
|
|
148
195
|
cursor: default;
|
|
149
196
|
}
|
|
150
197
|
|
|
@@ -153,9 +200,10 @@
|
|
|
153
200
|
*/
|
|
154
201
|
.fjs-editor-container .fjs-properties-container {
|
|
155
202
|
width: 300px;
|
|
156
|
-
background-color: var(--color-
|
|
157
|
-
border-left: solid 1px var(--color-
|
|
203
|
+
background-color: var(--color-properties-container-background);
|
|
204
|
+
border-left: solid 1px var(--color-properties-container-border);
|
|
158
205
|
height: 100%;
|
|
206
|
+
color: var(--color-text);
|
|
159
207
|
}
|
|
160
208
|
|
|
161
209
|
.fjs-editor-container .fjs-properties-panel * {
|
|
@@ -168,8 +216,8 @@
|
|
|
168
216
|
align-items: center;
|
|
169
217
|
font-size: 14px;
|
|
170
218
|
padding: 10px;
|
|
171
|
-
background-color: var(--color-
|
|
172
|
-
border-bottom: solid 1px var(--color-
|
|
219
|
+
background-color: var(--color-properties-header-background);
|
|
220
|
+
border-bottom: solid 1px var(--color-properties-header-border);
|
|
173
221
|
}
|
|
174
222
|
|
|
175
223
|
.fjs-editor-container .fjs-properties-panel-header-icon {
|
|
@@ -177,6 +225,7 @@
|
|
|
177
225
|
display: flex;
|
|
178
226
|
flex-direction: row;
|
|
179
227
|
align-items: center;
|
|
228
|
+
fill: var(--color-properties-header-icon-fill);
|
|
180
229
|
}
|
|
181
230
|
|
|
182
231
|
.fjs-editor-container .fjs-properties-panel-header-type {
|
|
@@ -191,8 +240,8 @@
|
|
|
191
240
|
align-items: center;
|
|
192
241
|
font-size: 14px;
|
|
193
242
|
padding: 10px;
|
|
194
|
-
border-bottom: solid 1px var(--color-
|
|
195
|
-
background-color: var(--color-
|
|
243
|
+
border-bottom: solid 1px var(--color-properties-group-border);
|
|
244
|
+
background-color: var(--color-properties-group-background);
|
|
196
245
|
}
|
|
197
246
|
|
|
198
247
|
.fjs-editor-container .fjs-properties-panel-group-header-buttons .fjs-properties-panel-group-header-button {
|
|
@@ -203,7 +252,7 @@
|
|
|
203
252
|
height: 20px;
|
|
204
253
|
margin-right: 10px;
|
|
205
254
|
padding: 0;
|
|
206
|
-
fill: var(--color-
|
|
255
|
+
fill: var(--color-properties-group-button-fill);
|
|
207
256
|
border: none;
|
|
208
257
|
background: none;
|
|
209
258
|
}
|
|
@@ -213,11 +262,11 @@
|
|
|
213
262
|
}
|
|
214
263
|
|
|
215
264
|
.fjs-editor-container .fjs-properties-panel-group-header-buttons .fjs-properties-panel-group-header-button:hover {
|
|
216
|
-
fill: var(--color-
|
|
265
|
+
fill: var(--color-properties-group-button-hover-fill);
|
|
217
266
|
}
|
|
218
267
|
|
|
219
268
|
.fjs-editor-container .fjs-properties-panel-group-entries {
|
|
220
|
-
border-bottom: solid 1px var(--color-
|
|
269
|
+
border-bottom: solid 1px var(--color-properties-entries-border);
|
|
221
270
|
}
|
|
222
271
|
|
|
223
272
|
.fjs-editor-container .fjs-properties-panel-group:last-child .fjs-properties-panel-group-entries {
|
|
@@ -262,11 +311,11 @@
|
|
|
262
311
|
height: 22px;
|
|
263
312
|
width: 22px;
|
|
264
313
|
padding: 0;
|
|
265
|
-
fill: var(--color-
|
|
314
|
+
fill: var(--color-properties-collapsible-remove-fill);
|
|
266
315
|
}
|
|
267
316
|
|
|
268
317
|
.fjs-editor-container .fjs-properties-panel-collapsible-entry-header-remove-entry:hover {
|
|
269
|
-
fill: var(--color-
|
|
318
|
+
fill: var(--color-properties-collapsible-remove-hover-fill);
|
|
270
319
|
}
|
|
271
320
|
|
|
272
321
|
.fjs-editor-container .fjs-properties-panel-collapsible-entry-entries {
|
|
@@ -290,11 +339,11 @@
|
|
|
290
339
|
|
|
291
340
|
.fjs-editor-container .fjs-properties-panel-label,
|
|
292
341
|
.fjs-editor-container .fjs-properties-panel-description {
|
|
293
|
-
color: var(--color-
|
|
342
|
+
color: var(--color-properties-description);
|
|
294
343
|
}
|
|
295
344
|
|
|
296
345
|
.fjs-editor-container .fjs-properties-panel-error {
|
|
297
|
-
color: var(--color-
|
|
346
|
+
color: var(--color-properties-error);
|
|
298
347
|
}
|
|
299
348
|
|
|
300
349
|
.fjs-editor-container .fjs-properties-panel-description,
|
|
@@ -303,11 +352,12 @@
|
|
|
303
352
|
}
|
|
304
353
|
|
|
305
354
|
.fjs-editor-container .fjs-properties-panel-input {
|
|
306
|
-
background-color: var(--color-
|
|
307
|
-
border: solid 1px var(--color-
|
|
355
|
+
background-color: var(--color-properties-input-background);
|
|
356
|
+
border: solid 1px var(--color-properties-input-border);
|
|
308
357
|
border-radius: 3px;
|
|
309
358
|
padding: 4px 8px;
|
|
310
359
|
font-size: 14px;
|
|
360
|
+
font-family: inherit;
|
|
311
361
|
}
|
|
312
362
|
|
|
313
363
|
.fjs-editor-container .fjs-properties-panel-input[type=number],
|
|
@@ -319,29 +369,29 @@
|
|
|
319
369
|
}
|
|
320
370
|
|
|
321
371
|
.fjs-editor-container .fjs-properties-panel-input.fjs-has-error {
|
|
322
|
-
border-color: var(--color-
|
|
372
|
+
border-color: var(--color-properties-input-error-border);
|
|
323
373
|
}
|
|
324
374
|
|
|
325
375
|
.fjs-editor-container .fjs-properties-panel-input.fjs-has-error:focus {
|
|
326
|
-
border-color: var(--color-
|
|
327
|
-
box-shadow: 0 0 0 4px var(--color-red-
|
|
376
|
+
border-color: var(--color-properties-input-error-hover-border);
|
|
377
|
+
box-shadow: 0 0 0 4px var(--color-red-360-100-92), 0 0 0 1px var(--color-grey-225-10-75) inset;
|
|
328
378
|
}
|
|
329
379
|
|
|
330
380
|
.fjs-editor-container .fjs-properties-panel-input:focus {
|
|
331
381
|
outline: none;
|
|
332
|
-
box-shadow: 0 0 0 4px var(--color-blue-
|
|
333
|
-
border: solid 1px var(--color-
|
|
382
|
+
box-shadow: 0 0 0 4px var(--color-blue-205-100-80), 0 0 0 1px var(--color-grey-225-10-75) inset;
|
|
383
|
+
border: solid 1px var(--color-properties-input-focus-border);
|
|
334
384
|
}
|
|
335
385
|
|
|
336
386
|
.fjs-editor-container .fjs-properties-panel-placeholder {
|
|
337
387
|
padding: 10px;
|
|
338
|
-
color: var(--color-
|
|
388
|
+
color: var(--color-properties-placeholder);
|
|
339
389
|
font-size: 14px;
|
|
340
390
|
text-align: center;
|
|
341
391
|
}
|
|
342
392
|
|
|
343
393
|
.fjs-editor-container textarea.fjs-properties-panel-input {
|
|
344
|
-
font-family:
|
|
394
|
+
font-family: inherit;
|
|
345
395
|
resize: vertical;
|
|
346
396
|
}
|
|
347
397
|
|
|
@@ -349,8 +399,8 @@
|
|
|
349
399
|
* Custom Dragula Styles
|
|
350
400
|
*/
|
|
351
401
|
.gu-transit {
|
|
352
|
-
background: var(--color-
|
|
353
|
-
border: solid 2px var(--color-
|
|
402
|
+
background: var(--color-dragula-background) !important;
|
|
403
|
+
border: solid 2px var(--color-dragula-border) !important;
|
|
354
404
|
border-radius: 3px !important;
|
|
355
405
|
filter: none !important;
|
|
356
406
|
height: 0 !important;
|
|
@@ -363,8 +413,8 @@
|
|
|
363
413
|
}
|
|
364
414
|
|
|
365
415
|
.gu-mirror {
|
|
366
|
-
background-color:
|
|
367
|
-
border: solid 1px var(--color-
|
|
416
|
+
background-color: var(--color-dragula-mirror-background) !important;
|
|
417
|
+
border: solid 1px var(--color-dragula-mirror-border) !important;
|
|
368
418
|
border-radius: 3px !important;
|
|
369
419
|
box-shadow: 1px 1px 1px 1px rgb(0 0 0 / 10%) !important;
|
|
370
420
|
display: flex !important;
|
package/dist/index.cjs
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
+
var Ids = require('ids');
|
|
5
6
|
var minDash = require('min-dash');
|
|
6
7
|
var formJsViewer = require('@bpmn-io/form-js-viewer');
|
|
7
8
|
var preact = require('preact');
|
|
@@ -14,6 +15,7 @@ var arrayMove = require('array-move');
|
|
|
14
15
|
|
|
15
16
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
16
17
|
|
|
18
|
+
var Ids__default = /*#__PURE__*/_interopDefaultLegacy(Ids);
|
|
17
19
|
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
18
20
|
var dragula__default = /*#__PURE__*/_interopDefaultLegacy(dragula);
|
|
19
21
|
|
|
@@ -1014,7 +1016,7 @@ function CheckboxInput(props) {
|
|
|
1014
1016
|
};
|
|
1015
1017
|
|
|
1016
1018
|
return jsxRuntime.jsxs("div", {
|
|
1017
|
-
class: "fjs-properties-panel-
|
|
1019
|
+
class: "fjs-properties-panel-checkbox",
|
|
1018
1020
|
children: [jsxRuntime.jsx("label", {
|
|
1019
1021
|
for: prefixId(id),
|
|
1020
1022
|
class: "fjs-properties-panel-label",
|
|
@@ -1069,7 +1071,7 @@ function NumberInput(props) {
|
|
|
1069
1071
|
}
|
|
1070
1072
|
}, [_onInput]);
|
|
1071
1073
|
return jsxRuntime.jsxs("div", {
|
|
1072
|
-
class: "fjs-properties-panel-
|
|
1074
|
+
class: "fjs-properties-panel-number",
|
|
1073
1075
|
children: [jsxRuntime.jsx("label", {
|
|
1074
1076
|
for: prefixId(id),
|
|
1075
1077
|
class: "fjs-properties-panel-label",
|
|
@@ -1102,7 +1104,7 @@ function Select(props) {
|
|
|
1102
1104
|
};
|
|
1103
1105
|
|
|
1104
1106
|
return jsxRuntime.jsxs("div", {
|
|
1105
|
-
class: "fjs-properties-panel-
|
|
1107
|
+
class: "fjs-properties-panel-select",
|
|
1106
1108
|
children: [jsxRuntime.jsx("label", {
|
|
1107
1109
|
for: prefixId(id),
|
|
1108
1110
|
class: "fjs-properties-panel-label",
|
|
@@ -1136,7 +1138,7 @@ function Textarea(props) {
|
|
|
1136
1138
|
_onInput(value.length ? value : undefined);
|
|
1137
1139
|
}, [_onInput]);
|
|
1138
1140
|
return jsxRuntime.jsxs("div", {
|
|
1139
|
-
class: "fjs-properties-panel-
|
|
1141
|
+
class: "fjs-properties-panel-textarea",
|
|
1140
1142
|
children: [jsxRuntime.jsx("label", {
|
|
1141
1143
|
for: prefixId(id),
|
|
1142
1144
|
class: "fjs-properties-panel-label",
|
|
@@ -1188,7 +1190,7 @@ function TextInput(props) {
|
|
|
1188
1190
|
}
|
|
1189
1191
|
|
|
1190
1192
|
return jsxRuntime.jsxs("div", {
|
|
1191
|
-
class: "fjs-properties-panel-
|
|
1193
|
+
class: "fjs-properties-panel-text",
|
|
1192
1194
|
children: [jsxRuntime.jsx("label", {
|
|
1193
1195
|
for: prefixId(id),
|
|
1194
1196
|
class: "fjs-properties-panel-label",
|
|
@@ -1270,6 +1272,41 @@ function NumberInputEntry(props) {
|
|
|
1270
1272
|
});
|
|
1271
1273
|
}
|
|
1272
1274
|
|
|
1275
|
+
function SelectEntry(props) {
|
|
1276
|
+
const {
|
|
1277
|
+
editField,
|
|
1278
|
+
field,
|
|
1279
|
+
id,
|
|
1280
|
+
description,
|
|
1281
|
+
label,
|
|
1282
|
+
options,
|
|
1283
|
+
path
|
|
1284
|
+
} = props;
|
|
1285
|
+
|
|
1286
|
+
const onChange = value => {
|
|
1287
|
+
if (editField && path) {
|
|
1288
|
+
editField(field, path, value);
|
|
1289
|
+
} else {
|
|
1290
|
+
props.onChange(value);
|
|
1291
|
+
}
|
|
1292
|
+
};
|
|
1293
|
+
|
|
1294
|
+
const value = path ? minDash.get(field, path, '') : props.value;
|
|
1295
|
+
return jsxRuntime.jsxs("div", {
|
|
1296
|
+
class: "fjs-properties-panel-entry",
|
|
1297
|
+
children: [jsxRuntime.jsx(Select, {
|
|
1298
|
+
id: id,
|
|
1299
|
+
label: label,
|
|
1300
|
+
onChange: onChange,
|
|
1301
|
+
options: options,
|
|
1302
|
+
value: value
|
|
1303
|
+
}), description && jsxRuntime.jsx("div", {
|
|
1304
|
+
class: "fjs-properties-panel-description",
|
|
1305
|
+
children: description
|
|
1306
|
+
})]
|
|
1307
|
+
});
|
|
1308
|
+
}
|
|
1309
|
+
|
|
1273
1310
|
function TextareaEntry(props) {
|
|
1274
1311
|
const {
|
|
1275
1312
|
editField,
|
|
@@ -1480,12 +1517,6 @@ function ActionEntry(props) {
|
|
|
1480
1517
|
editField,
|
|
1481
1518
|
field
|
|
1482
1519
|
} = props;
|
|
1483
|
-
|
|
1484
|
-
const onChange = value => {
|
|
1485
|
-
editField(field, 'action', value);
|
|
1486
|
-
};
|
|
1487
|
-
|
|
1488
|
-
const value = field.action;
|
|
1489
1520
|
const options = [{
|
|
1490
1521
|
label: 'Submit',
|
|
1491
1522
|
value: 'submit'
|
|
@@ -1493,15 +1524,13 @@ function ActionEntry(props) {
|
|
|
1493
1524
|
label: 'Reset',
|
|
1494
1525
|
value: 'reset'
|
|
1495
1526
|
}];
|
|
1496
|
-
return jsxRuntime.jsx(
|
|
1497
|
-
|
|
1498
|
-
|
|
1499
|
-
|
|
1500
|
-
|
|
1501
|
-
|
|
1502
|
-
|
|
1503
|
-
value: value
|
|
1504
|
-
})
|
|
1527
|
+
return jsxRuntime.jsx(SelectEntry, {
|
|
1528
|
+
editField: editField,
|
|
1529
|
+
field: field,
|
|
1530
|
+
id: "action",
|
|
1531
|
+
label: "Action",
|
|
1532
|
+
options: options,
|
|
1533
|
+
path: ['action']
|
|
1505
1534
|
});
|
|
1506
1535
|
}
|
|
1507
1536
|
|
|
@@ -1555,6 +1584,113 @@ function DescriptionEntry(props) {
|
|
|
1555
1584
|
});
|
|
1556
1585
|
}
|
|
1557
1586
|
|
|
1587
|
+
function DefaultValueEntry(props) {
|
|
1588
|
+
const {
|
|
1589
|
+
editField,
|
|
1590
|
+
field
|
|
1591
|
+
} = props;
|
|
1592
|
+
const {
|
|
1593
|
+
defaultValue,
|
|
1594
|
+
type,
|
|
1595
|
+
values = []
|
|
1596
|
+
} = field;
|
|
1597
|
+
|
|
1598
|
+
if (type === 'checkbox') {
|
|
1599
|
+
const options = [{
|
|
1600
|
+
label: 'Checked',
|
|
1601
|
+
value: 'true'
|
|
1602
|
+
}, {
|
|
1603
|
+
label: 'Not checked',
|
|
1604
|
+
value: 'false'
|
|
1605
|
+
}];
|
|
1606
|
+
|
|
1607
|
+
const onChange = value => {
|
|
1608
|
+
editField(field, ['defaultValue'], parseStringToBoolean(value));
|
|
1609
|
+
};
|
|
1610
|
+
|
|
1611
|
+
return jsxRuntime.jsx(SelectEntry, {
|
|
1612
|
+
id: "defaultValue",
|
|
1613
|
+
label: "Default Value",
|
|
1614
|
+
onChange: onChange,
|
|
1615
|
+
options: options,
|
|
1616
|
+
value: parseBooleanToString(defaultValue)
|
|
1617
|
+
});
|
|
1618
|
+
}
|
|
1619
|
+
|
|
1620
|
+
if (type === 'number') {
|
|
1621
|
+
return jsxRuntime.jsx(NumberInputEntry, {
|
|
1622
|
+
editField: editField,
|
|
1623
|
+
field: field,
|
|
1624
|
+
id: "defaultValue",
|
|
1625
|
+
label: "Default Value",
|
|
1626
|
+
path: ['defaultValue']
|
|
1627
|
+
});
|
|
1628
|
+
}
|
|
1629
|
+
|
|
1630
|
+
if (type === 'radio' || type === 'select') {
|
|
1631
|
+
const options = [{
|
|
1632
|
+
label: '<none>'
|
|
1633
|
+
}, ...values];
|
|
1634
|
+
|
|
1635
|
+
const onChange = value => {
|
|
1636
|
+
editField(field, ['defaultValue'], value.length ? value : undefined);
|
|
1637
|
+
};
|
|
1638
|
+
|
|
1639
|
+
return jsxRuntime.jsx(SelectEntry, {
|
|
1640
|
+
id: "defaultValue",
|
|
1641
|
+
label: "Default Value",
|
|
1642
|
+
onChange: onChange,
|
|
1643
|
+
options: options,
|
|
1644
|
+
value: defaultValue
|
|
1645
|
+
});
|
|
1646
|
+
}
|
|
1647
|
+
|
|
1648
|
+
if (type === 'textfield') {
|
|
1649
|
+
return jsxRuntime.jsx(TextInputEntry, {
|
|
1650
|
+
editField: editField,
|
|
1651
|
+
field: field,
|
|
1652
|
+
id: "defaultValue",
|
|
1653
|
+
label: "Default Value",
|
|
1654
|
+
path: ['defaultValue']
|
|
1655
|
+
});
|
|
1656
|
+
}
|
|
1657
|
+
}
|
|
1658
|
+
|
|
1659
|
+
function parseStringToBoolean(value) {
|
|
1660
|
+
if (value === 'true') {
|
|
1661
|
+
return true;
|
|
1662
|
+
}
|
|
1663
|
+
|
|
1664
|
+
return false;
|
|
1665
|
+
}
|
|
1666
|
+
|
|
1667
|
+
function parseBooleanToString(value) {
|
|
1668
|
+
if (value === true) {
|
|
1669
|
+
return 'true';
|
|
1670
|
+
}
|
|
1671
|
+
|
|
1672
|
+
return 'false';
|
|
1673
|
+
}
|
|
1674
|
+
|
|
1675
|
+
function DisabledEntry(props) {
|
|
1676
|
+
const {
|
|
1677
|
+
editField,
|
|
1678
|
+
field
|
|
1679
|
+
} = props;
|
|
1680
|
+
|
|
1681
|
+
const onChange = value => {
|
|
1682
|
+
editField(field, 'disabled', value);
|
|
1683
|
+
};
|
|
1684
|
+
|
|
1685
|
+
return jsxRuntime.jsx(CheckboxInputEntry, {
|
|
1686
|
+
id: "disabled",
|
|
1687
|
+
field: field,
|
|
1688
|
+
label: "Disabled",
|
|
1689
|
+
path: ['disabled'],
|
|
1690
|
+
onChange: onChange
|
|
1691
|
+
});
|
|
1692
|
+
}
|
|
1693
|
+
|
|
1558
1694
|
function IdEntry(props) {
|
|
1559
1695
|
const {
|
|
1560
1696
|
editField,
|
|
@@ -1738,6 +1874,13 @@ function GeneralGroup(field, editField) {
|
|
|
1738
1874
|
}));
|
|
1739
1875
|
}
|
|
1740
1876
|
|
|
1877
|
+
if (INPUTS.includes(type)) {
|
|
1878
|
+
entries.push(jsxRuntime.jsx(DefaultValueEntry, {
|
|
1879
|
+
editField: editField,
|
|
1880
|
+
field: field
|
|
1881
|
+
}));
|
|
1882
|
+
}
|
|
1883
|
+
|
|
1741
1884
|
if (type === 'button') {
|
|
1742
1885
|
entries.push(jsxRuntime.jsx(ActionEntry, {
|
|
1743
1886
|
editField: editField,
|
|
@@ -1759,6 +1902,13 @@ function GeneralGroup(field, editField) {
|
|
|
1759
1902
|
}));
|
|
1760
1903
|
}
|
|
1761
1904
|
|
|
1905
|
+
if (INPUTS.includes(type)) {
|
|
1906
|
+
entries.push(jsxRuntime.jsx(DisabledEntry, {
|
|
1907
|
+
editField: editField,
|
|
1908
|
+
field: field
|
|
1909
|
+
}));
|
|
1910
|
+
}
|
|
1911
|
+
|
|
1762
1912
|
return jsxRuntime.jsx(Group, {
|
|
1763
1913
|
label: "General",
|
|
1764
1914
|
children: entries.length ? entries : null
|
|
@@ -1861,7 +2011,7 @@ function ValuesGroup(field, editField) {
|
|
|
1861
2011
|
field: field,
|
|
1862
2012
|
index: index
|
|
1863
2013
|
})
|
|
1864
|
-
}, `${id}-${
|
|
2014
|
+
}, `${id}-${index}`);
|
|
1865
2015
|
})
|
|
1866
2016
|
});
|
|
1867
2017
|
}
|
|
@@ -1900,6 +2050,7 @@ function PropertiesPanel(props) {
|
|
|
1900
2050
|
editField,
|
|
1901
2051
|
field
|
|
1902
2052
|
} = props;
|
|
2053
|
+
const eventBus = useService('eventBus');
|
|
1903
2054
|
|
|
1904
2055
|
if (!field) {
|
|
1905
2056
|
return jsxRuntime.jsx("div", {
|
|
@@ -1908,8 +2059,6 @@ function PropertiesPanel(props) {
|
|
|
1908
2059
|
});
|
|
1909
2060
|
}
|
|
1910
2061
|
|
|
1911
|
-
const eventBus = useService('eventBus');
|
|
1912
|
-
|
|
1913
2062
|
const onFocus = () => eventBus.fire('propertiesPanel.focusin');
|
|
1914
2063
|
|
|
1915
2064
|
const onBlur = () => eventBus.fire('propertiesPanel.focusout');
|
|
@@ -2183,8 +2332,9 @@ function FormEditor$1(props) {
|
|
|
2183
2332
|
}
|
|
2184
2333
|
|
|
2185
2334
|
return injector.get(type, strict);
|
|
2186
|
-
}
|
|
2335
|
+
},
|
|
2187
2336
|
|
|
2337
|
+
formId: formEditor._id
|
|
2188
2338
|
};
|
|
2189
2339
|
const onSubmit = hooks$1.useCallback(() => {}, []);
|
|
2190
2340
|
const onReset = hooks$1.useCallback(() => {}, []);
|
|
@@ -2660,6 +2810,7 @@ function isShift(event) {
|
|
|
2660
2810
|
|
|
2661
2811
|
var KEYDOWN_EVENT = 'keyboard.keydown',
|
|
2662
2812
|
KEYUP_EVENT = 'keyboard.keyup';
|
|
2813
|
+
var HANDLE_MODIFIER_ATTRIBUTE = 'input-handle-modified-keys';
|
|
2663
2814
|
var DEFAULT_PRIORITY$1 = 1000;
|
|
2664
2815
|
/**
|
|
2665
2816
|
* A keyboard abstraction that may be activated and
|
|
@@ -2738,7 +2889,27 @@ Keyboard.prototype._keyHandler = function (event, type) {
|
|
|
2738
2889
|
};
|
|
2739
2890
|
|
|
2740
2891
|
Keyboard.prototype._isEventIgnored = function (event) {
|
|
2741
|
-
return isInput(event.target) &&
|
|
2892
|
+
return isInput(event.target) && this._isModifiedKeyIgnored(event);
|
|
2893
|
+
};
|
|
2894
|
+
|
|
2895
|
+
Keyboard.prototype._isModifiedKeyIgnored = function (event) {
|
|
2896
|
+
if (!isCmd(event)) {
|
|
2897
|
+
return true;
|
|
2898
|
+
}
|
|
2899
|
+
|
|
2900
|
+
var allowedModifiers = this._getAllowedModifiers(event.target);
|
|
2901
|
+
|
|
2902
|
+
return !allowedModifiers.includes(event.key);
|
|
2903
|
+
};
|
|
2904
|
+
|
|
2905
|
+
Keyboard.prototype._getAllowedModifiers = function (element) {
|
|
2906
|
+
var modifierContainer = minDom.closest(element, '[' + HANDLE_MODIFIER_ATTRIBUTE + ']', true);
|
|
2907
|
+
|
|
2908
|
+
if (!modifierContainer || this._node && !this._node.contains(modifierContainer)) {
|
|
2909
|
+
return [];
|
|
2910
|
+
}
|
|
2911
|
+
|
|
2912
|
+
return modifierContainer.getAttribute(HANDLE_MODIFIER_ATTRIBUTE).split(',');
|
|
2742
2913
|
};
|
|
2743
2914
|
|
|
2744
2915
|
Keyboard.prototype.bind = function (node) {
|
|
@@ -4291,6 +4462,7 @@ var SelectionModule = {
|
|
|
4291
4462
|
selectionBehavior: ['type', SelectionBehavior]
|
|
4292
4463
|
};
|
|
4293
4464
|
|
|
4465
|
+
const ids = new Ids__default['default']([32, 36, 1]);
|
|
4294
4466
|
/**
|
|
4295
4467
|
* @typedef { import('./types').Injector } Injector
|
|
4296
4468
|
* @typedef { import('./types').Module } Module
|
|
@@ -4315,11 +4487,20 @@ class FormEditor {
|
|
|
4315
4487
|
* @param {FormEditorOptions} options
|
|
4316
4488
|
*/
|
|
4317
4489
|
constructor(options = {}) {
|
|
4490
|
+
/**
|
|
4491
|
+
* @public
|
|
4492
|
+
* @type {String}
|
|
4493
|
+
*/
|
|
4494
|
+
this._id = ids.next();
|
|
4318
4495
|
/**
|
|
4319
4496
|
* @private
|
|
4320
4497
|
* @type {Element}
|
|
4321
4498
|
*/
|
|
4499
|
+
|
|
4322
4500
|
this._container = formJsViewer.createFormContainer();
|
|
4501
|
+
|
|
4502
|
+
this._container.setAttribute('input-handle-modified-keys', 'z,y');
|
|
4503
|
+
|
|
4323
4504
|
const {
|
|
4324
4505
|
container,
|
|
4325
4506
|
exporter,
|