@limetech/lime-elements 38.29.4 → 38.30.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/CHANGELOG.md +13 -0
- package/dist/cjs/index.cjs.js.map +1 -1
- package/dist/cjs/limel-form.cjs.entry.js +60 -27
- package/dist/cjs/limel-form.cjs.entry.js.map +1 -1
- package/dist/collection/components/form/form.js +1 -0
- package/dist/collection/components/form/form.js.map +1 -1
- package/dist/collection/components/form/form.types.js.map +1 -1
- package/dist/collection/components/form/templates/array-field-collapsible-item.js +11 -9
- package/dist/collection/components/form/templates/array-field-collapsible-item.js.map +1 -1
- package/dist/collection/components/form/templates/array-field-simple-item.js +36 -18
- package/dist/collection/components/form/templates/array-field-simple-item.js.map +1 -1
- package/dist/collection/components/form/templates/array-field.js +13 -0
- package/dist/collection/components/form/templates/array-field.js.map +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/limel-form.entry.js +60 -27
- package/dist/esm/limel-form.entry.js.map +1 -1
- package/dist/lime-elements/index.esm.js.map +1 -1
- package/dist/lime-elements/lime-elements.esm.js +1 -1
- package/dist/lime-elements/{p-d24988e7.entry.js → p-beee38bc.entry.js} +5 -5
- package/dist/lime-elements/p-beee38bc.entry.js.map +1 -0
- package/dist/types/components/form/form.d.ts +1 -0
- package/dist/types/components/form/form.types.d.ts +8 -0
- package/dist/types/components/form/templates/array-field-collapsible-item.d.ts +9 -1
- package/dist/types/components/form/templates/array-field-simple-item.d.ts +9 -5
- package/dist/types/components/form/templates/array-field.d.ts +1 -0
- package/dist/types/components.d.ts +4 -0
- package/package.json +1 -1
- package/dist/lime-elements/p-d24988e7.entry.js.map +0 -1
|
@@ -39294,27 +39294,29 @@ class CollapsibleItemTemplate extends react.Component {
|
|
|
39294
39294
|
}, children);
|
|
39295
39295
|
}
|
|
39296
39296
|
setActions(element) {
|
|
39297
|
-
const { item, index } = this.props;
|
|
39298
|
-
const actions = [
|
|
39299
|
-
|
|
39297
|
+
const { item, index, allowItemRemoval, allowItemReorder } = this.props;
|
|
39298
|
+
const actions = [];
|
|
39299
|
+
if (allowItemReorder) {
|
|
39300
|
+
actions.push({
|
|
39300
39301
|
id: 'down',
|
|
39301
39302
|
icon: 'down_arrow',
|
|
39302
39303
|
disabled: !item.hasMoveDown,
|
|
39303
39304
|
run: item.onReorderClick(index, index + 1),
|
|
39304
|
-
},
|
|
39305
|
-
{
|
|
39305
|
+
}, {
|
|
39306
39306
|
id: 'up',
|
|
39307
39307
|
icon: 'up_arrow',
|
|
39308
39308
|
disabled: !item.hasMoveUp,
|
|
39309
39309
|
run: item.onReorderClick(index, index - 1),
|
|
39310
|
-
}
|
|
39311
|
-
|
|
39310
|
+
});
|
|
39311
|
+
}
|
|
39312
|
+
if (allowItemRemoval) {
|
|
39313
|
+
actions.push({
|
|
39312
39314
|
id: 'remove',
|
|
39313
39315
|
icon: 'trash',
|
|
39314
39316
|
disabled: !item.hasRemove,
|
|
39315
39317
|
run: item.onDropIndexClick(index),
|
|
39316
|
-
}
|
|
39317
|
-
|
|
39318
|
+
});
|
|
39319
|
+
}
|
|
39318
39320
|
element.actions = actions;
|
|
39319
39321
|
}
|
|
39320
39322
|
handleAction(event) {
|
|
@@ -39349,30 +39351,52 @@ class SimpleItemTemplate extends react.Component {
|
|
|
39349
39351
|
const { item, index } = this.props;
|
|
39350
39352
|
item.onReorderClick(index, index + 1)(event);
|
|
39351
39353
|
};
|
|
39352
|
-
|
|
39353
|
-
|
|
39354
|
-
|
|
39355
|
-
|
|
39356
|
-
|
|
39354
|
+
this.setRemoveButton = (button) => {
|
|
39355
|
+
if (this.removeButton) {
|
|
39356
|
+
this.removeButton.removeEventListener('click', this.handleRemove);
|
|
39357
|
+
}
|
|
39358
|
+
this.removeButton = button || undefined;
|
|
39359
|
+
if (this.removeButton) {
|
|
39360
|
+
this.removeButton.addEventListener('click', this.handleRemove);
|
|
39361
|
+
}
|
|
39362
|
+
};
|
|
39363
|
+
this.setMoveUpButton = (button) => {
|
|
39364
|
+
if (this.moveUpButton) {
|
|
39365
|
+
this.moveUpButton.removeEventListener('click', this.handleMoveUp);
|
|
39366
|
+
}
|
|
39367
|
+
this.moveUpButton = button || undefined;
|
|
39368
|
+
if (this.moveUpButton) {
|
|
39369
|
+
this.moveUpButton.addEventListener('click', this.handleMoveUp);
|
|
39370
|
+
}
|
|
39371
|
+
};
|
|
39372
|
+
this.setMoveDownButton = (button) => {
|
|
39373
|
+
if (this.moveDownButton) {
|
|
39374
|
+
this.moveDownButton.removeEventListener('click', this.handleMoveDown);
|
|
39375
|
+
}
|
|
39376
|
+
this.moveDownButton = button || undefined;
|
|
39377
|
+
if (this.moveDownButton) {
|
|
39378
|
+
this.moveDownButton.addEventListener('click', this.handleMoveDown);
|
|
39379
|
+
}
|
|
39380
|
+
};
|
|
39357
39381
|
}
|
|
39358
39382
|
componentWillUnmount() {
|
|
39359
|
-
this.
|
|
39360
|
-
this.
|
|
39361
|
-
this.
|
|
39383
|
+
this.setRemoveButton(undefined);
|
|
39384
|
+
this.setMoveUpButton(undefined);
|
|
39385
|
+
this.setMoveDownButton(undefined);
|
|
39362
39386
|
}
|
|
39363
39387
|
render() {
|
|
39364
39388
|
const { item } = this.props;
|
|
39365
39389
|
return react.createElement('div', {
|
|
39366
39390
|
className: 'limel-form-array-item--simple',
|
|
39367
|
-
}, this.props.item.children, this.
|
|
39391
|
+
}, this.props.item.children, this.props.allowItemReorder
|
|
39392
|
+
? this.renderMoveDownButton(item)
|
|
39393
|
+
: null, this.props.allowItemReorder ? this.renderMoveUpButton(item) : null, this.props.allowItemRemoval ? this.renderRemoveButton(item) : null);
|
|
39368
39394
|
}
|
|
39369
39395
|
renderRemoveButton(item) {
|
|
39370
39396
|
const props = {
|
|
39371
39397
|
icon: 'trash',
|
|
39372
39398
|
disabled: !item.hasRemove,
|
|
39373
|
-
ref:
|
|
39374
|
-
this.removeButton = button;
|
|
39375
|
-
},
|
|
39399
|
+
ref: this.setRemoveButton,
|
|
39376
39400
|
};
|
|
39377
39401
|
return react.createElement(LIMEL_ICON_BUTTON, props);
|
|
39378
39402
|
}
|
|
@@ -39380,9 +39404,7 @@ class SimpleItemTemplate extends react.Component {
|
|
|
39380
39404
|
const props = {
|
|
39381
39405
|
icon: 'up_arrow',
|
|
39382
39406
|
disabled: !item.hasMoveUp,
|
|
39383
|
-
ref:
|
|
39384
|
-
this.moveUpButton = button;
|
|
39385
|
-
},
|
|
39407
|
+
ref: this.setMoveUpButton,
|
|
39386
39408
|
};
|
|
39387
39409
|
return react.createElement(LIMEL_ICON_BUTTON, props);
|
|
39388
39410
|
}
|
|
@@ -39390,9 +39412,7 @@ class SimpleItemTemplate extends react.Component {
|
|
|
39390
39412
|
const props = {
|
|
39391
39413
|
icon: 'down_arrow',
|
|
39392
39414
|
disabled: !item.hasMoveDown,
|
|
39393
|
-
ref:
|
|
39394
|
-
this.moveDownButton = button;
|
|
39395
|
-
},
|
|
39415
|
+
ref: this.setMoveDownButton,
|
|
39396
39416
|
};
|
|
39397
39417
|
return react.createElement(LIMEL_ICON_BUTTON, props);
|
|
39398
39418
|
}
|
|
@@ -39421,6 +39441,7 @@ class ArrayFieldTemplate extends react.Component {
|
|
|
39421
39441
|
}
|
|
39422
39442
|
renderItem(item, index) {
|
|
39423
39443
|
const { schema, formData, formContext } = this.props;
|
|
39444
|
+
const controls = this.getItemControls();
|
|
39424
39445
|
if (isObjectType(schema.items)) {
|
|
39425
39446
|
return react.createElement(CollapsibleItemTemplate, {
|
|
39426
39447
|
key: item.key,
|
|
@@ -39429,14 +39450,26 @@ class ArrayFieldTemplate extends react.Component {
|
|
|
39429
39450
|
schema: schema,
|
|
39430
39451
|
formSchema: formContext.schema,
|
|
39431
39452
|
index: index,
|
|
39453
|
+
allowItemRemoval: controls.allowItemRemoval,
|
|
39454
|
+
allowItemReorder: controls.allowItemReorder,
|
|
39432
39455
|
});
|
|
39433
39456
|
}
|
|
39434
39457
|
return react.createElement(SimpleItemTemplate, {
|
|
39435
39458
|
key: item.key,
|
|
39436
39459
|
item: item,
|
|
39437
39460
|
index: index,
|
|
39461
|
+
allowItemRemoval: controls.allowItemRemoval,
|
|
39462
|
+
allowItemReorder: controls.allowItemReorder,
|
|
39438
39463
|
});
|
|
39439
39464
|
}
|
|
39465
|
+
getItemControls() {
|
|
39466
|
+
var _a;
|
|
39467
|
+
const limeOptions = ((_a = this.props.schema) === null || _a === void 0 ? void 0 : _a.lime) || {};
|
|
39468
|
+
return {
|
|
39469
|
+
allowItemRemoval: limeOptions.allowItemRemoval !== false,
|
|
39470
|
+
allowItemReorder: limeOptions.allowItemReorder !== false,
|
|
39471
|
+
};
|
|
39472
|
+
}
|
|
39440
39473
|
handleAddClick(event) {
|
|
39441
39474
|
event.stopPropagation();
|
|
39442
39475
|
this.props.onAddClick(event);
|