@pixpilot/formily-shadcn 0.8.0 → 0.8.2
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/_virtual/rolldown_runtime.cjs +25 -1
- package/dist/_virtual/rolldown_runtime.js +24 -1
- package/dist/components/array-base/array-base.cjs +59 -1
- package/dist/components/array-base/array-base.js +55 -1
- package/dist/components/array-base/array-context.cjs +28 -1
- package/dist/components/array-base/array-context.js +22 -1
- package/dist/components/array-base/component-context.cjs +28 -1
- package/dist/components/array-base/component-context.js +22 -1
- package/dist/components/array-base/components/addition.cjs +51 -1
- package/dist/components/array-base/components/addition.js +45 -1
- package/dist/components/array-base/components/array-copy.cjs +49 -1
- package/dist/components/array-base/components/array-copy.js +42 -1
- package/dist/components/array-base/components/array-index.cjs +15 -1
- package/dist/components/array-base/components/array-index.js +13 -1
- package/dist/components/array-base/components/array-item-label.cjs +22 -1
- package/dist/components/array-base/components/array-item-label.js +19 -1
- package/dist/components/array-base/components/components.cjs +30 -1
- package/dist/components/array-base/components/components.js +29 -1
- package/dist/components/array-base/components/edit.cjs +42 -1
- package/dist/components/array-base/components/edit.js +36 -1
- package/dist/components/array-base/components/empty.cjs +19 -1
- package/dist/components/array-base/components/empty.js +16 -1
- package/dist/components/array-base/components/get-array-components.cjs +88 -1
- package/dist/components/array-base/components/get-array-components.js +84 -1
- package/dist/components/array-base/components/move-down.cjs +47 -1
- package/dist/components/array-base/components/move-down.js +41 -1
- package/dist/components/array-base/components/move-up.cjs +47 -1
- package/dist/components/array-base/components/move-up.js +41 -1
- package/dist/components/array-base/components/remove.cjs +46 -1
- package/dist/components/array-base/components/remove.js +40 -1
- package/dist/components/array-base/components/title.cjs +17 -1
- package/dist/components/array-base/components/title.js +14 -1
- package/dist/components/array-base/components/use-array-components-registry.cjs +56 -1
- package/dist/components/array-base/components/use-array-components-registry.js +52 -1
- package/dist/components/array-base/constants/index.cjs +17 -1
- package/dist/components/array-base/constants/index.js +15 -1
- package/dist/components/array-base/index.cjs +2 -1
- package/dist/components/array-base/index.js +2 -1
- package/dist/components/array-base/utils/filter-and-sort-components.cjs +34 -1
- package/dist/components/array-base/utils/filter-and-sort-components.js +34 -1
- package/dist/components/array-base/utils/is-array-component.cjs +65 -1
- package/dist/components/array-base/utils/is-array-component.js +56 -1
- package/dist/components/array-cards/array-cards.cjs +64 -1
- package/dist/components/array-cards/array-cards.js +60 -1
- package/dist/components/array-cards/index.cjs +1 -1
- package/dist/components/array-cards/index.js +1 -1
- package/dist/components/array-cards/item.cjs +64 -1
- package/dist/components/array-cards/item.js +60 -1
- package/dist/components/array-collapse/array-collapse.cjs +96 -1
- package/dist/components/array-collapse/array-collapse.js +92 -1
- package/dist/components/array-collapse/index.cjs +1 -1
- package/dist/components/array-collapse/index.js +1 -1
- package/dist/components/array-collapse/item.cjs +84 -1
- package/dist/components/array-collapse/item.js +78 -1
- package/dist/components/array-common/array-items-list.cjs +43 -1
- package/dist/components/array-common/array-items-list.js +39 -1
- package/dist/components/array-common/create-active-item-manager.cjs +29 -1
- package/dist/components/array-common/create-active-item-manager.js +27 -1
- package/dist/components/array-common/index.cjs +5 -1
- package/dist/components/array-common/index.js +5 -1
- package/dist/components/array-common/item-wrapper.cjs +26 -1
- package/dist/components/array-common/item-wrapper.js +21 -1
- package/dist/components/array-common/list-item.cjs +53 -1
- package/dist/components/array-common/list-item.js +48 -1
- package/dist/components/array-common/use-array-editor.cjs +47 -1
- package/dist/components/array-common/use-array-editor.js +44 -1
- package/dist/components/array-dialog/array-dialog.cjs +66 -1
- package/dist/components/array-dialog/array-dialog.js +62 -1
- package/dist/components/array-dialog/edit-dialog.cjs +61 -1
- package/dist/components/array-dialog/edit-dialog.js +57 -1
- package/dist/components/array-dialog/index.cjs +1 -1
- package/dist/components/array-dialog/index.js +1 -1
- package/dist/components/array-popover/array-popover.cjs +58 -1
- package/dist/components/array-popover/array-popover.js +53 -1
- package/dist/components/array-popover/index.cjs +1 -1
- package/dist/components/array-popover/index.js +1 -1
- package/dist/components/array-popover/popover.cjs +75 -1
- package/dist/components/array-popover/popover.js +71 -1
- package/dist/components/checkbox.cjs +26 -1
- package/dist/components/checkbox.js +23 -1
- package/dist/components/column.cjs +39 -1
- package/dist/components/column.js +35 -1
- package/dist/components/combobox.cjs +14 -1
- package/dist/components/combobox.js +11 -1
- package/dist/components/context/context.cjs +7 -1
- package/dist/components/context/context.js +7 -1
- package/dist/components/context/form-context.cjs +9 -1
- package/dist/components/context/form-context.js +7 -1
- package/dist/components/context/index.cjs +2 -1
- package/dist/components/context/index.js +2 -1
- package/dist/components/date-picker.cjs +23 -1
- package/dist/components/date-picker.js +19 -1
- package/dist/components/file-upload/file-upload-inline.cjs +35 -1
- package/dist/components/file-upload/file-upload-inline.d.cts +8 -8
- package/dist/components/file-upload/file-upload-inline.js +30 -1
- package/dist/components/file-upload/file-upload.cjs +35 -1
- package/dist/components/file-upload/file-upload.d.cts +8 -8
- package/dist/components/file-upload/file-upload.js +30 -1
- package/dist/components/file-upload/index.cjs +2 -1
- package/dist/components/file-upload/index.js +2 -1
- package/dist/components/file-upload/use-file-upload-feedback.cjs +59 -3
- package/dist/components/file-upload/use-file-upload-feedback.js +53 -3
- package/dist/components/form-grid.cjs +19 -1
- package/dist/components/form-grid.js +15 -1
- package/dist/components/form-item.cjs +118 -3
- package/dist/components/form-item.js +112 -3
- package/dist/components/form-items-container.cjs +28 -1
- package/dist/components/form-items-container.js +24 -1
- package/dist/components/form.cjs +56 -1
- package/dist/components/form.js +51 -1
- package/dist/components/hidden.cjs +26 -1
- package/dist/components/hidden.js +23 -1
- package/dist/components/icon-picker.cjs +37 -1
- package/dist/components/icon-picker.js +33 -1
- package/dist/components/input.cjs +20 -1
- package/dist/components/input.js +17 -1
- package/dist/components/json-schema-form-renderer.cjs +30 -1
- package/dist/components/json-schema-form-renderer.js +26 -1
- package/dist/components/number-input.cjs +19 -1
- package/dist/components/number-input.d.ts +2 -2
- package/dist/components/number-input.js +16 -1
- package/dist/components/object-container.cjs +35 -1
- package/dist/components/object-container.js +32 -1
- package/dist/components/radio.cjs +40 -1
- package/dist/components/radio.js +35 -1
- package/dist/components/rich-text-editor.cjs +27 -1
- package/dist/components/rich-text-editor.js +23 -1
- package/dist/components/row.cjs +39 -1
- package/dist/components/row.js +35 -1
- package/dist/components/schema-field-extended.cjs +25 -1
- package/dist/components/schema-field-extended.d.cts +9 -9
- package/dist/components/schema-field-extended.d.ts +262 -262
- package/dist/components/schema-field-extended.js +23 -1
- package/dist/components/schema-field.cjs +61 -1
- package/dist/components/schema-field.d.cts +9 -9
- package/dist/components/schema-field.d.ts +220 -220
- package/dist/components/schema-field.js +57 -1
- package/dist/components/select.cjs +11 -1
- package/dist/components/select.js +8 -1
- package/dist/components/separator.cjs +15 -1
- package/dist/components/separator.d.ts +2 -2
- package/dist/components/separator.js +12 -1
- package/dist/components/slider.cjs +33 -1
- package/dist/components/slider.d.ts +2 -2
- package/dist/components/slider.js +29 -1
- package/dist/components/switch.cjs +21 -1
- package/dist/components/switch.js +18 -1
- package/dist/components/tags-input-inline.cjs +26 -1
- package/dist/components/tags-input-inline.js +23 -1
- package/dist/components/textarea.cjs +19 -1
- package/dist/components/textarea.js +16 -1
- package/dist/hooks/index.cjs +3 -1
- package/dist/hooks/index.js +3 -1
- package/dist/hooks/use-description.cjs +14 -1
- package/dist/hooks/use-description.js +12 -1
- package/dist/hooks/use-form-context.cjs +13 -1
- package/dist/hooks/use-form-context.js +11 -1
- package/dist/hooks/use-label.cjs +19 -1
- package/dist/hooks/use-label.js +16 -1
- package/dist/index.cjs +102 -1
- package/dist/index.js +35 -1
- package/dist/utils/create-panel-state-manager.cjs +40 -1
- package/dist/utils/create-panel-state-manager.js +38 -1
- package/dist/utils/for-each-schema.cjs +27 -1
- package/dist/utils/for-each-schema.js +26 -1
- package/dist/utils/get-array-item-info.cjs +20 -1
- package/dist/utils/get-array-item-info.js +19 -1
- package/dist/utils/get-default-value.cjs +22 -1
- package/dist/utils/get-default-value.js +20 -1
- package/dist/utils/has-array-item-errors.cjs +15 -1
- package/dist/utils/has-array-item-errors.js +14 -1
- package/dist/utils/has-error.cjs +12 -1
- package/dist/utils/has-error.js +10 -1
- package/dist/utils/index.cjs +10 -1
- package/dist/utils/index.js +10 -1
- package/dist/utils/resolve-responsive-space.cjs +131 -1
- package/dist/utils/resolve-responsive-space.js +123 -1
- package/dist/utils/transform-schema.cjs +45 -1
- package/dist/utils/transform-schema.js +43 -1
- package/dist/utils/use-array-item-editor.cjs +3 -1
- package/dist/utils/use-array-item-editor.js +1 -1
- package/dist/utils/validate-array-item-fields.cjs +22 -1
- package/dist/utils/validate-array-item-fields.js +22 -1
- package/package.json +3 -3
|
@@ -1 +1,48 @@
|
|
|
1
|
-
import{ArrayBase
|
|
1
|
+
import { ArrayBase } from "../array-base/array-base.js";
|
|
2
|
+
import { useArrayComponents } from "../array-base/component-context.js";
|
|
3
|
+
import "../array-base/index.js";
|
|
4
|
+
import { ItemWrapper } from "./item-wrapper.js";
|
|
5
|
+
import { useField, useFieldSchema } from "@formily/react";
|
|
6
|
+
import React from "react";
|
|
7
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
8
|
+
import { cn } from "@pixpilot/shadcn";
|
|
9
|
+
|
|
10
|
+
//#region src/components/array-common/list-item.tsx
|
|
11
|
+
/**
|
|
12
|
+
* Individual list item component for array items
|
|
13
|
+
* Displays an item with label and operation controls
|
|
14
|
+
*/
|
|
15
|
+
const ListItem = React.memo(({ itemKey, index, record, isNew }) => {
|
|
16
|
+
const schema = useFieldSchema();
|
|
17
|
+
const field = useField();
|
|
18
|
+
const { OperationComponents, ItemLabel } = useArrayComponents();
|
|
19
|
+
const fieldAddress = field.address.toString();
|
|
20
|
+
const isNewItem = isNew;
|
|
21
|
+
return /* @__PURE__ */ jsx(ArrayBase.Item, {
|
|
22
|
+
index,
|
|
23
|
+
record,
|
|
24
|
+
children: /* @__PURE__ */ jsxs(ItemWrapper, {
|
|
25
|
+
className: cn("flex px-3 pl-4 py-2", isNewItem && "hidden"),
|
|
26
|
+
index,
|
|
27
|
+
children: [/* @__PURE__ */ jsx("div", {
|
|
28
|
+
className: "text-foreground flex-1 font-medium",
|
|
29
|
+
children: /* @__PURE__ */ jsx(ItemLabel, {
|
|
30
|
+
schema,
|
|
31
|
+
basePath: fieldAddress,
|
|
32
|
+
index
|
|
33
|
+
})
|
|
34
|
+
}), /* @__PURE__ */ jsx("div", {
|
|
35
|
+
className: "flex items-center gap-1",
|
|
36
|
+
children: /* @__PURE__ */ jsx(OperationComponents, {
|
|
37
|
+
schema,
|
|
38
|
+
basePath: fieldAddress,
|
|
39
|
+
index
|
|
40
|
+
})
|
|
41
|
+
})]
|
|
42
|
+
})
|
|
43
|
+
}, itemKey);
|
|
44
|
+
});
|
|
45
|
+
ListItem.displayName = "ListItem";
|
|
46
|
+
|
|
47
|
+
//#endregion
|
|
48
|
+
export { ListItem };
|
|
@@ -1 +1,47 @@
|
|
|
1
|
-
const
|
|
1
|
+
const require_rolldown_runtime = require('../../_virtual/rolldown_runtime.cjs');
|
|
2
|
+
const require_validate_array_item_fields = require('../../utils/validate-array-item-fields.cjs');
|
|
3
|
+
require('../../utils/index.cjs');
|
|
4
|
+
const require_create_active_item_manager = require('./create-active-item-manager.cjs');
|
|
5
|
+
let __formily_react = require("@formily/react");
|
|
6
|
+
__formily_react = require_rolldown_runtime.__toESM(__formily_react);
|
|
7
|
+
let react = require("react");
|
|
8
|
+
react = require_rolldown_runtime.__toESM(react);
|
|
9
|
+
|
|
10
|
+
//#region src/components/array-common/use-array-editor.ts
|
|
11
|
+
function useArrayEditor(props) {
|
|
12
|
+
const { onAdd, onEdit } = props;
|
|
13
|
+
const field = (0, __formily_react.useField)();
|
|
14
|
+
const schema = (0, __formily_react.useFieldSchema)();
|
|
15
|
+
const activeItemManager = react.default.useMemo(() => require_create_active_item_manager.createActiveItemManager(), []);
|
|
16
|
+
const handleEdit = (index) => {
|
|
17
|
+
activeItemManager.setActiveItem(index, false);
|
|
18
|
+
onEdit?.(index);
|
|
19
|
+
};
|
|
20
|
+
const handleAdd = (index) => {
|
|
21
|
+
activeItemManager.setActiveItem(index, true);
|
|
22
|
+
onAdd?.(index);
|
|
23
|
+
};
|
|
24
|
+
const handleSaveClick = (itemIndex) => {
|
|
25
|
+
require_validate_array_item_fields.validateArrayItemFields(field, itemIndex).then(() => {
|
|
26
|
+
activeItemManager.removeActiveItem(itemIndex);
|
|
27
|
+
}).catch(console.error);
|
|
28
|
+
};
|
|
29
|
+
const handleCancelClick = (itemIndex) => {
|
|
30
|
+
if (activeItemManager.isNewItem(itemIndex)) field.remove?.(itemIndex).catch(console.error);
|
|
31
|
+
activeItemManager.removeActiveItem(itemIndex);
|
|
32
|
+
};
|
|
33
|
+
const isNewItem = react.default.useCallback((index) => activeItemManager.activeItem === index && activeItemManager.isNew, [activeItemManager]);
|
|
34
|
+
return {
|
|
35
|
+
activeItemManager,
|
|
36
|
+
handleEdit,
|
|
37
|
+
handleAdd,
|
|
38
|
+
handleSaveClick,
|
|
39
|
+
handleCancelClick,
|
|
40
|
+
field,
|
|
41
|
+
items: Array.isArray(schema.items) ? schema.items[0] ?? schema.items : schema.items,
|
|
42
|
+
isNewItem
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
//#endregion
|
|
47
|
+
exports.useArrayEditor = useArrayEditor;
|
|
@@ -1 +1,44 @@
|
|
|
1
|
-
import{validateArrayItemFields
|
|
1
|
+
import { validateArrayItemFields } from "../../utils/validate-array-item-fields.js";
|
|
2
|
+
import "../../utils/index.js";
|
|
3
|
+
import { createActiveItemManager } from "./create-active-item-manager.js";
|
|
4
|
+
import { useField, useFieldSchema } from "@formily/react";
|
|
5
|
+
import React from "react";
|
|
6
|
+
|
|
7
|
+
//#region src/components/array-common/use-array-editor.ts
|
|
8
|
+
function useArrayEditor(props) {
|
|
9
|
+
const { onAdd, onEdit } = props;
|
|
10
|
+
const field = useField();
|
|
11
|
+
const schema = useFieldSchema();
|
|
12
|
+
const activeItemManager = React.useMemo(() => createActiveItemManager(), []);
|
|
13
|
+
const handleEdit = (index) => {
|
|
14
|
+
activeItemManager.setActiveItem(index, false);
|
|
15
|
+
onEdit?.(index);
|
|
16
|
+
};
|
|
17
|
+
const handleAdd = (index) => {
|
|
18
|
+
activeItemManager.setActiveItem(index, true);
|
|
19
|
+
onAdd?.(index);
|
|
20
|
+
};
|
|
21
|
+
const handleSaveClick = (itemIndex) => {
|
|
22
|
+
validateArrayItemFields(field, itemIndex).then(() => {
|
|
23
|
+
activeItemManager.removeActiveItem(itemIndex);
|
|
24
|
+
}).catch(console.error);
|
|
25
|
+
};
|
|
26
|
+
const handleCancelClick = (itemIndex) => {
|
|
27
|
+
if (activeItemManager.isNewItem(itemIndex)) field.remove?.(itemIndex).catch(console.error);
|
|
28
|
+
activeItemManager.removeActiveItem(itemIndex);
|
|
29
|
+
};
|
|
30
|
+
const isNewItem = React.useCallback((index) => activeItemManager.activeItem === index && activeItemManager.isNew, [activeItemManager]);
|
|
31
|
+
return {
|
|
32
|
+
activeItemManager,
|
|
33
|
+
handleEdit,
|
|
34
|
+
handleAdd,
|
|
35
|
+
handleSaveClick,
|
|
36
|
+
handleCancelClick,
|
|
37
|
+
field,
|
|
38
|
+
items: Array.isArray(schema.items) ? schema.items[0] ?? schema.items : schema.items,
|
|
39
|
+
isNewItem
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
//#endregion
|
|
44
|
+
export { useArrayEditor };
|
|
@@ -1 +1,66 @@
|
|
|
1
|
-
const
|
|
1
|
+
const require_rolldown_runtime = require('../../_virtual/rolldown_runtime.cjs');
|
|
2
|
+
const require_array_base = require('../array-base/array-base.cjs');
|
|
3
|
+
const require_component_context = require('../array-base/component-context.cjs');
|
|
4
|
+
require('../array-base/index.cjs');
|
|
5
|
+
const require_index$1 = require('../array-base/constants/index.cjs');
|
|
6
|
+
const require_array_items_list = require('../array-common/array-items-list.cjs');
|
|
7
|
+
const require_use_array_editor = require('../array-common/use-array-editor.cjs');
|
|
8
|
+
require('../array-common/index.cjs');
|
|
9
|
+
const require_edit_dialog = require('./edit-dialog.cjs');
|
|
10
|
+
let __formily_react = require("@formily/react");
|
|
11
|
+
__formily_react = require_rolldown_runtime.__toESM(__formily_react);
|
|
12
|
+
let react = require("react");
|
|
13
|
+
react = require_rolldown_runtime.__toESM(react);
|
|
14
|
+
let react_jsx_runtime = require("react/jsx-runtime");
|
|
15
|
+
react_jsx_runtime = require_rolldown_runtime.__toESM(react_jsx_runtime);
|
|
16
|
+
|
|
17
|
+
//#region src/components/array-dialog/array-dialog.tsx
|
|
18
|
+
/**
|
|
19
|
+
* ArrayItems component displays array items as a simple list with controls
|
|
20
|
+
* Each item shows:
|
|
21
|
+
* - Left: Move up/down buttons
|
|
22
|
+
* - Center: Item label (Item 1, Item 2, etc.)
|
|
23
|
+
* - Right: Edit and Remove buttons
|
|
24
|
+
*/
|
|
25
|
+
const ArrayDialogBase = (0, __formily_react.observer)((props) => {
|
|
26
|
+
const schema = (0, __formily_react.useFieldSchema)();
|
|
27
|
+
const { onAdd, onRemove, onMoveDown, onMoveUp, onEdit, className } = props;
|
|
28
|
+
const { activeItemManager, handleAdd, handleEdit, isNewItem, handleSaveClick, handleCancelClick, field } = require_use_array_editor.useArrayEditor({
|
|
29
|
+
onAdd,
|
|
30
|
+
onEdit
|
|
31
|
+
});
|
|
32
|
+
const { AddButton } = require_component_context.useArrayComponents();
|
|
33
|
+
const items = Array.isArray(schema.items) ? schema.items[0] ?? schema.items : schema.items;
|
|
34
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_array_base.ArrayBase, {
|
|
35
|
+
onAdd: handleAdd,
|
|
36
|
+
onRemove,
|
|
37
|
+
onMoveUp,
|
|
38
|
+
onMoveDown,
|
|
39
|
+
onEdit: handleEdit,
|
|
40
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_array_items_list.ArrayItemsList, {
|
|
41
|
+
className,
|
|
42
|
+
isNewItem,
|
|
43
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(AddButton, {
|
|
44
|
+
schema,
|
|
45
|
+
basePath: field.address.toString()
|
|
46
|
+
})
|
|
47
|
+
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_edit_dialog.EditDialog, {
|
|
48
|
+
onSave: handleSaveClick,
|
|
49
|
+
onCancel: handleCancelClick,
|
|
50
|
+
activeItemManager,
|
|
51
|
+
schema: items
|
|
52
|
+
})]
|
|
53
|
+
});
|
|
54
|
+
});
|
|
55
|
+
const ArrayItemsCollapseComponent = ({ operations = require_index$1.DEFAULT_EDITABLE_OPERATIONS,...rest }) => {
|
|
56
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_component_context.ArrayComponentProvider, {
|
|
57
|
+
allowedOperationsComponentNames: operations,
|
|
58
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ArrayDialogBase, { ...rest })
|
|
59
|
+
});
|
|
60
|
+
};
|
|
61
|
+
const ArrayDialog = ArrayItemsCollapseComponent;
|
|
62
|
+
ArrayDialog.displayName = "ArrayDialog";
|
|
63
|
+
require_array_base.ArrayBase.mixin(ArrayDialog);
|
|
64
|
+
|
|
65
|
+
//#endregion
|
|
66
|
+
exports.ArrayDialog = ArrayDialog;
|
|
@@ -1 +1,62 @@
|
|
|
1
|
-
import{ArrayBase
|
|
1
|
+
import { ArrayBase } from "../array-base/array-base.js";
|
|
2
|
+
import { ArrayComponentProvider, useArrayComponents } from "../array-base/component-context.js";
|
|
3
|
+
import "../array-base/index.js";
|
|
4
|
+
import { DEFAULT_EDITABLE_OPERATIONS } from "../array-base/constants/index.js";
|
|
5
|
+
import { ArrayItemsList } from "../array-common/array-items-list.js";
|
|
6
|
+
import { useArrayEditor } from "../array-common/use-array-editor.js";
|
|
7
|
+
import "../array-common/index.js";
|
|
8
|
+
import { EditDialog } from "./edit-dialog.js";
|
|
9
|
+
import { observer, useFieldSchema } from "@formily/react";
|
|
10
|
+
import React from "react";
|
|
11
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
12
|
+
|
|
13
|
+
//#region src/components/array-dialog/array-dialog.tsx
|
|
14
|
+
/**
|
|
15
|
+
* ArrayItems component displays array items as a simple list with controls
|
|
16
|
+
* Each item shows:
|
|
17
|
+
* - Left: Move up/down buttons
|
|
18
|
+
* - Center: Item label (Item 1, Item 2, etc.)
|
|
19
|
+
* - Right: Edit and Remove buttons
|
|
20
|
+
*/
|
|
21
|
+
const ArrayDialogBase = observer((props) => {
|
|
22
|
+
const schema = useFieldSchema();
|
|
23
|
+
const { onAdd, onRemove, onMoveDown, onMoveUp, onEdit, className } = props;
|
|
24
|
+
const { activeItemManager, handleAdd, handleEdit, isNewItem, handleSaveClick, handleCancelClick, field } = useArrayEditor({
|
|
25
|
+
onAdd,
|
|
26
|
+
onEdit
|
|
27
|
+
});
|
|
28
|
+
const { AddButton } = useArrayComponents();
|
|
29
|
+
const items = Array.isArray(schema.items) ? schema.items[0] ?? schema.items : schema.items;
|
|
30
|
+
return /* @__PURE__ */ jsxs(ArrayBase, {
|
|
31
|
+
onAdd: handleAdd,
|
|
32
|
+
onRemove,
|
|
33
|
+
onMoveUp,
|
|
34
|
+
onMoveDown,
|
|
35
|
+
onEdit: handleEdit,
|
|
36
|
+
children: [/* @__PURE__ */ jsx(ArrayItemsList, {
|
|
37
|
+
className,
|
|
38
|
+
isNewItem,
|
|
39
|
+
children: /* @__PURE__ */ jsx(AddButton, {
|
|
40
|
+
schema,
|
|
41
|
+
basePath: field.address.toString()
|
|
42
|
+
})
|
|
43
|
+
}), /* @__PURE__ */ jsx(EditDialog, {
|
|
44
|
+
onSave: handleSaveClick,
|
|
45
|
+
onCancel: handleCancelClick,
|
|
46
|
+
activeItemManager,
|
|
47
|
+
schema: items
|
|
48
|
+
})]
|
|
49
|
+
});
|
|
50
|
+
});
|
|
51
|
+
const ArrayItemsCollapseComponent = ({ operations = DEFAULT_EDITABLE_OPERATIONS,...rest }) => {
|
|
52
|
+
return /* @__PURE__ */ jsx(ArrayComponentProvider, {
|
|
53
|
+
allowedOperationsComponentNames: operations,
|
|
54
|
+
children: /* @__PURE__ */ jsx(ArrayDialogBase, { ...rest })
|
|
55
|
+
});
|
|
56
|
+
};
|
|
57
|
+
const ArrayDialog = ArrayItemsCollapseComponent;
|
|
58
|
+
ArrayDialog.displayName = "ArrayDialog";
|
|
59
|
+
ArrayBase.mixin(ArrayDialog);
|
|
60
|
+
|
|
61
|
+
//#endregion
|
|
62
|
+
export { ArrayDialog };
|
|
@@ -1 +1,61 @@
|
|
|
1
|
-
const
|
|
1
|
+
const require_rolldown_runtime = require('../../_virtual/rolldown_runtime.cjs');
|
|
2
|
+
let __formily_react = require("@formily/react");
|
|
3
|
+
__formily_react = require_rolldown_runtime.__toESM(__formily_react);
|
|
4
|
+
let react_jsx_runtime = require("react/jsx-runtime");
|
|
5
|
+
react_jsx_runtime = require_rolldown_runtime.__toESM(react_jsx_runtime);
|
|
6
|
+
let __pixpilot_shadcn = require("@pixpilot/shadcn");
|
|
7
|
+
__pixpilot_shadcn = require_rolldown_runtime.__toESM(__pixpilot_shadcn);
|
|
8
|
+
|
|
9
|
+
//#region src/components/array-dialog/edit-dialog.tsx
|
|
10
|
+
/**
|
|
11
|
+
* Dialog for editing array items
|
|
12
|
+
* Renders form fields based on the array item schema
|
|
13
|
+
* RecursionField inherits component registry from parent SchemaField context (preserved through Radix Portal)
|
|
14
|
+
*/
|
|
15
|
+
const EditDialog = (0, __formily_react.observer)(({ schema, onSave, onCancel, activeItemManager }) => {
|
|
16
|
+
const arrayField = (0, __formily_react.useField)();
|
|
17
|
+
const itemIndex = activeItemManager.activeItem;
|
|
18
|
+
const { isNew } = activeItemManager;
|
|
19
|
+
const open = itemIndex !== void 0;
|
|
20
|
+
const handleSaveClick = () => {
|
|
21
|
+
if (itemIndex === void 0) return;
|
|
22
|
+
onSave(itemIndex);
|
|
23
|
+
};
|
|
24
|
+
const handleCancelClick = () => {
|
|
25
|
+
if (itemIndex === void 0) return;
|
|
26
|
+
onCancel(itemIndex);
|
|
27
|
+
};
|
|
28
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(__pixpilot_shadcn.Dialog, {
|
|
29
|
+
open,
|
|
30
|
+
onOpenChange: (isOpen) => {
|
|
31
|
+
if (!isOpen) handleCancelClick();
|
|
32
|
+
},
|
|
33
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(__pixpilot_shadcn.DialogContent, {
|
|
34
|
+
className: "sm:max-w-[525px]",
|
|
35
|
+
children: [
|
|
36
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)(__pixpilot_shadcn.DialogHeader, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(__pixpilot_shadcn.DialogTitle, { children: isNew ? "Add New Item" : `Edit Item #${(itemIndex ?? 0) + 1}` }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(__pixpilot_shadcn.DialogDescription, { children: isNew ? "Fill in the details for the new item. Click save when you're done." : "Make changes to the item. Click save when you're done." })] }),
|
|
37
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
38
|
+
className: "grid gap-4 py-4",
|
|
39
|
+
children: itemIndex != null && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(__formily_react.RecursionField, {
|
|
40
|
+
basePath: arrayField.address.concat(itemIndex),
|
|
41
|
+
schema,
|
|
42
|
+
onlyRenderProperties: true
|
|
43
|
+
})
|
|
44
|
+
}),
|
|
45
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)(__pixpilot_shadcn.DialogFooter, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(__pixpilot_shadcn.Button, {
|
|
46
|
+
type: "button",
|
|
47
|
+
variant: "outline",
|
|
48
|
+
onClick: handleCancelClick,
|
|
49
|
+
children: "Cancel"
|
|
50
|
+
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(__pixpilot_shadcn.Button, {
|
|
51
|
+
type: "button",
|
|
52
|
+
onClick: handleSaveClick,
|
|
53
|
+
children: "Save Changes"
|
|
54
|
+
})] })
|
|
55
|
+
]
|
|
56
|
+
})
|
|
57
|
+
});
|
|
58
|
+
});
|
|
59
|
+
|
|
60
|
+
//#endregion
|
|
61
|
+
exports.EditDialog = EditDialog;
|
|
@@ -1 +1,57 @@
|
|
|
1
|
-
import{RecursionField
|
|
1
|
+
import { RecursionField, observer, useField } from "@formily/react";
|
|
2
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { Button, Dialog, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle } from "@pixpilot/shadcn";
|
|
4
|
+
|
|
5
|
+
//#region src/components/array-dialog/edit-dialog.tsx
|
|
6
|
+
/**
|
|
7
|
+
* Dialog for editing array items
|
|
8
|
+
* Renders form fields based on the array item schema
|
|
9
|
+
* RecursionField inherits component registry from parent SchemaField context (preserved through Radix Portal)
|
|
10
|
+
*/
|
|
11
|
+
const EditDialog = observer(({ schema, onSave, onCancel, activeItemManager }) => {
|
|
12
|
+
const arrayField = useField();
|
|
13
|
+
const itemIndex = activeItemManager.activeItem;
|
|
14
|
+
const { isNew } = activeItemManager;
|
|
15
|
+
const open = itemIndex !== void 0;
|
|
16
|
+
const handleSaveClick = () => {
|
|
17
|
+
if (itemIndex === void 0) return;
|
|
18
|
+
onSave(itemIndex);
|
|
19
|
+
};
|
|
20
|
+
const handleCancelClick = () => {
|
|
21
|
+
if (itemIndex === void 0) return;
|
|
22
|
+
onCancel(itemIndex);
|
|
23
|
+
};
|
|
24
|
+
return /* @__PURE__ */ jsx(Dialog, {
|
|
25
|
+
open,
|
|
26
|
+
onOpenChange: (isOpen) => {
|
|
27
|
+
if (!isOpen) handleCancelClick();
|
|
28
|
+
},
|
|
29
|
+
children: /* @__PURE__ */ jsxs(DialogContent, {
|
|
30
|
+
className: "sm:max-w-[525px]",
|
|
31
|
+
children: [
|
|
32
|
+
/* @__PURE__ */ jsxs(DialogHeader, { children: [/* @__PURE__ */ jsx(DialogTitle, { children: isNew ? "Add New Item" : `Edit Item #${(itemIndex ?? 0) + 1}` }), /* @__PURE__ */ jsx(DialogDescription, { children: isNew ? "Fill in the details for the new item. Click save when you're done." : "Make changes to the item. Click save when you're done." })] }),
|
|
33
|
+
/* @__PURE__ */ jsx("div", {
|
|
34
|
+
className: "grid gap-4 py-4",
|
|
35
|
+
children: itemIndex != null && /* @__PURE__ */ jsx(RecursionField, {
|
|
36
|
+
basePath: arrayField.address.concat(itemIndex),
|
|
37
|
+
schema,
|
|
38
|
+
onlyRenderProperties: true
|
|
39
|
+
})
|
|
40
|
+
}),
|
|
41
|
+
/* @__PURE__ */ jsxs(DialogFooter, { children: [/* @__PURE__ */ jsx(Button, {
|
|
42
|
+
type: "button",
|
|
43
|
+
variant: "outline",
|
|
44
|
+
onClick: handleCancelClick,
|
|
45
|
+
children: "Cancel"
|
|
46
|
+
}), /* @__PURE__ */ jsx(Button, {
|
|
47
|
+
type: "button",
|
|
48
|
+
onClick: handleSaveClick,
|
|
49
|
+
children: "Save Changes"
|
|
50
|
+
})] })
|
|
51
|
+
]
|
|
52
|
+
})
|
|
53
|
+
});
|
|
54
|
+
});
|
|
55
|
+
|
|
56
|
+
//#endregion
|
|
57
|
+
export { EditDialog };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const require_array_dialog = require('./array-dialog.cjs');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{ArrayDialog
|
|
1
|
+
import { ArrayDialog } from "./array-dialog.js";
|
|
@@ -1 +1,58 @@
|
|
|
1
|
-
const
|
|
1
|
+
const require_rolldown_runtime = require('../../_virtual/rolldown_runtime.cjs');
|
|
2
|
+
const require_array_base = require('../array-base/array-base.cjs');
|
|
3
|
+
const require_component_context = require('../array-base/component-context.cjs');
|
|
4
|
+
require('../array-base/index.cjs');
|
|
5
|
+
const require_index$1 = require('../array-base/constants/index.cjs');
|
|
6
|
+
const require_array_items_list = require('../array-common/array-items-list.cjs');
|
|
7
|
+
const require_use_array_editor = require('../array-common/use-array-editor.cjs');
|
|
8
|
+
require('../array-common/index.cjs');
|
|
9
|
+
const require_popover = require('./popover.cjs');
|
|
10
|
+
let __formily_react = require("@formily/react");
|
|
11
|
+
__formily_react = require_rolldown_runtime.__toESM(__formily_react);
|
|
12
|
+
let react = require("react");
|
|
13
|
+
react = require_rolldown_runtime.__toESM(react);
|
|
14
|
+
let react_jsx_runtime = require("react/jsx-runtime");
|
|
15
|
+
react_jsx_runtime = require_rolldown_runtime.__toESM(react_jsx_runtime);
|
|
16
|
+
let __pixpilot_shadcn = require("@pixpilot/shadcn");
|
|
17
|
+
__pixpilot_shadcn = require_rolldown_runtime.__toESM(__pixpilot_shadcn);
|
|
18
|
+
|
|
19
|
+
//#region src/components/array-popover/array-popover.tsx
|
|
20
|
+
const ArrayPopoverBase = (0, __formily_react.observer)((props) => {
|
|
21
|
+
const { onAdd, onRemove, onMoveDown, onMoveUp, onEdit, className, children,...rest } = props;
|
|
22
|
+
const { activeItemManager, items, handleAdd, isNewItem, handleEdit, handleSaveClick, handleCancelClick } = require_use_array_editor.useArrayEditor({
|
|
23
|
+
onAdd,
|
|
24
|
+
onEdit
|
|
25
|
+
});
|
|
26
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_array_base.ArrayBase, {
|
|
27
|
+
onAdd: handleAdd,
|
|
28
|
+
onRemove,
|
|
29
|
+
onMoveUp,
|
|
30
|
+
onMoveDown,
|
|
31
|
+
onEdit: handleEdit,
|
|
32
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
33
|
+
...rest,
|
|
34
|
+
className: (0, __pixpilot_shadcn.cn)("space-y-2", className),
|
|
35
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_array_items_list.ArrayItemsList, { isNewItem }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
36
|
+
className: "pt-2",
|
|
37
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_popover.ArrayItemsEditPopover, {
|
|
38
|
+
activeItemManager,
|
|
39
|
+
onCancel: handleCancelClick,
|
|
40
|
+
schema: items,
|
|
41
|
+
onSave: handleSaveClick,
|
|
42
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_array_base.ArrayBase.Addition, {})
|
|
43
|
+
})
|
|
44
|
+
})]
|
|
45
|
+
})
|
|
46
|
+
});
|
|
47
|
+
});
|
|
48
|
+
const ArrayPopover = ({ operations = require_index$1.DEFAULT_EDITABLE_OPERATIONS,...rest }) => {
|
|
49
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_component_context.ArrayComponentProvider, {
|
|
50
|
+
allowedOperationsComponentNames: operations,
|
|
51
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ArrayPopoverBase, { ...rest })
|
|
52
|
+
});
|
|
53
|
+
};
|
|
54
|
+
ArrayPopover.displayName = "ArrayPopover";
|
|
55
|
+
require_array_base.ArrayBase.mixin(ArrayPopover);
|
|
56
|
+
|
|
57
|
+
//#endregion
|
|
58
|
+
exports.ArrayPopover = ArrayPopover;
|
|
@@ -1 +1,53 @@
|
|
|
1
|
-
import{ArrayBase
|
|
1
|
+
import { ArrayBase } from "../array-base/array-base.js";
|
|
2
|
+
import { ArrayComponentProvider } from "../array-base/component-context.js";
|
|
3
|
+
import "../array-base/index.js";
|
|
4
|
+
import { DEFAULT_EDITABLE_OPERATIONS } from "../array-base/constants/index.js";
|
|
5
|
+
import { ArrayItemsList } from "../array-common/array-items-list.js";
|
|
6
|
+
import { useArrayEditor } from "../array-common/use-array-editor.js";
|
|
7
|
+
import "../array-common/index.js";
|
|
8
|
+
import { ArrayItemsEditPopover } from "./popover.js";
|
|
9
|
+
import { observer } from "@formily/react";
|
|
10
|
+
import React from "react";
|
|
11
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
12
|
+
import { cn } from "@pixpilot/shadcn";
|
|
13
|
+
|
|
14
|
+
//#region src/components/array-popover/array-popover.tsx
|
|
15
|
+
const ArrayPopoverBase = observer((props) => {
|
|
16
|
+
const { onAdd, onRemove, onMoveDown, onMoveUp, onEdit, className, children,...rest } = props;
|
|
17
|
+
const { activeItemManager, items, handleAdd, isNewItem, handleEdit, handleSaveClick, handleCancelClick } = useArrayEditor({
|
|
18
|
+
onAdd,
|
|
19
|
+
onEdit
|
|
20
|
+
});
|
|
21
|
+
return /* @__PURE__ */ jsx(ArrayBase, {
|
|
22
|
+
onAdd: handleAdd,
|
|
23
|
+
onRemove,
|
|
24
|
+
onMoveUp,
|
|
25
|
+
onMoveDown,
|
|
26
|
+
onEdit: handleEdit,
|
|
27
|
+
children: /* @__PURE__ */ jsxs("div", {
|
|
28
|
+
...rest,
|
|
29
|
+
className: cn("space-y-2", className),
|
|
30
|
+
children: [/* @__PURE__ */ jsx(ArrayItemsList, { isNewItem }), /* @__PURE__ */ jsx("div", {
|
|
31
|
+
className: "pt-2",
|
|
32
|
+
children: /* @__PURE__ */ jsx(ArrayItemsEditPopover, {
|
|
33
|
+
activeItemManager,
|
|
34
|
+
onCancel: handleCancelClick,
|
|
35
|
+
schema: items,
|
|
36
|
+
onSave: handleSaveClick,
|
|
37
|
+
children: /* @__PURE__ */ jsx(ArrayBase.Addition, {})
|
|
38
|
+
})
|
|
39
|
+
})]
|
|
40
|
+
})
|
|
41
|
+
});
|
|
42
|
+
});
|
|
43
|
+
const ArrayPopover = ({ operations = DEFAULT_EDITABLE_OPERATIONS,...rest }) => {
|
|
44
|
+
return /* @__PURE__ */ jsx(ArrayComponentProvider, {
|
|
45
|
+
allowedOperationsComponentNames: operations,
|
|
46
|
+
children: /* @__PURE__ */ jsx(ArrayPopoverBase, { ...rest })
|
|
47
|
+
});
|
|
48
|
+
};
|
|
49
|
+
ArrayPopover.displayName = "ArrayPopover";
|
|
50
|
+
ArrayBase.mixin(ArrayPopover);
|
|
51
|
+
|
|
52
|
+
//#endregion
|
|
53
|
+
export { ArrayPopover };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const require_array_popover = require('./array-popover.cjs');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{ArrayPopover
|
|
1
|
+
import { ArrayPopover } from "./array-popover.js";
|
|
@@ -1 +1,75 @@
|
|
|
1
|
-
const
|
|
1
|
+
const require_rolldown_runtime = require('../../_virtual/rolldown_runtime.cjs');
|
|
2
|
+
let __formily_react = require("@formily/react");
|
|
3
|
+
__formily_react = require_rolldown_runtime.__toESM(__formily_react);
|
|
4
|
+
let react_jsx_runtime = require("react/jsx-runtime");
|
|
5
|
+
react_jsx_runtime = require_rolldown_runtime.__toESM(react_jsx_runtime);
|
|
6
|
+
let __pixpilot_shadcn = require("@pixpilot/shadcn");
|
|
7
|
+
__pixpilot_shadcn = require_rolldown_runtime.__toESM(__pixpilot_shadcn);
|
|
8
|
+
|
|
9
|
+
//#region src/components/array-popover/popover.tsx
|
|
10
|
+
const ArrayItemsEditPopover = (0, __formily_react.observer)(({ schema, onSave, onCancel, children, activeItemManager }) => {
|
|
11
|
+
const arrayField = (0, __formily_react.useField)();
|
|
12
|
+
const activeIndex = activeItemManager.activeItem;
|
|
13
|
+
const isNewItem = activeItemManager.isNew;
|
|
14
|
+
const open = activeIndex !== void 0;
|
|
15
|
+
const handleOpenChange = (isOpen) => {
|
|
16
|
+
if (!isOpen) onCancel(activeIndex);
|
|
17
|
+
};
|
|
18
|
+
const handleCancelClick = () => {
|
|
19
|
+
onCancel(activeIndex);
|
|
20
|
+
};
|
|
21
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(__pixpilot_shadcn.Popover, {
|
|
22
|
+
open,
|
|
23
|
+
onOpenChange: handleOpenChange,
|
|
24
|
+
children: [children !== void 0 && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(__pixpilot_shadcn.PopoverTrigger, {
|
|
25
|
+
asChild: true,
|
|
26
|
+
children
|
|
27
|
+
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(__pixpilot_shadcn.PopoverContent, {
|
|
28
|
+
className: "w-96",
|
|
29
|
+
side: "top",
|
|
30
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
31
|
+
className: "space-y-4",
|
|
32
|
+
children: [
|
|
33
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
34
|
+
className: "space-y-2",
|
|
35
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("h4", {
|
|
36
|
+
className: "font-medium leading-none",
|
|
37
|
+
children: isNewItem ? "Add New Item" : `Edit Item`
|
|
38
|
+
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
|
|
39
|
+
className: "text-muted-foreground text-sm",
|
|
40
|
+
children: isNewItem ? "Fill in the details for the new item." : "Make changes to the item."
|
|
41
|
+
})]
|
|
42
|
+
}),
|
|
43
|
+
activeIndex != null && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
44
|
+
className: "space-y-4",
|
|
45
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(__formily_react.RecursionField, {
|
|
46
|
+
basePath: arrayField.address.concat(activeIndex),
|
|
47
|
+
schema,
|
|
48
|
+
onlyRenderProperties: true
|
|
49
|
+
})
|
|
50
|
+
}),
|
|
51
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
52
|
+
className: "flex justify-end gap-2",
|
|
53
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(__pixpilot_shadcn.Button, {
|
|
54
|
+
type: "button",
|
|
55
|
+
variant: "outline",
|
|
56
|
+
size: "sm",
|
|
57
|
+
onClick: handleCancelClick,
|
|
58
|
+
children: "Cancel"
|
|
59
|
+
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(__pixpilot_shadcn.Button, {
|
|
60
|
+
type: "button",
|
|
61
|
+
size: "sm",
|
|
62
|
+
onClick: () => {
|
|
63
|
+
onSave(activeIndex);
|
|
64
|
+
},
|
|
65
|
+
children: "Save"
|
|
66
|
+
})]
|
|
67
|
+
})
|
|
68
|
+
]
|
|
69
|
+
})
|
|
70
|
+
})]
|
|
71
|
+
});
|
|
72
|
+
});
|
|
73
|
+
|
|
74
|
+
//#endregion
|
|
75
|
+
exports.ArrayItemsEditPopover = ArrayItemsEditPopover;
|