@thienvu18/designable-formily-setters 2.0.1 → 2.0.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.
Files changed (89) hide show
  1. package/esm/components/DataSourceSetter/DataSettingPanel.d.ts +8 -8
  2. package/esm/components/DataSourceSetter/DataSettingPanel.js +124 -52
  3. package/esm/components/DataSourceSetter/Header.d.ts +5 -5
  4. package/esm/components/DataSourceSetter/Header.js +16 -7
  5. package/esm/components/DataSourceSetter/Title.d.ts +5 -5
  6. package/esm/components/DataSourceSetter/Title.js +57 -44
  7. package/esm/components/DataSourceSetter/TreePanel.d.ts +10 -10
  8. package/esm/components/DataSourceSetter/TreePanel.js +129 -89
  9. package/esm/components/DataSourceSetter/index.d.ts +16 -16
  10. package/esm/components/DataSourceSetter/index.js +81 -24
  11. package/esm/components/DataSourceSetter/shared.d.ts +14 -7
  12. package/esm/components/DataSourceSetter/shared.js +39 -41
  13. package/esm/components/DataSourceSetter/styles.less +4 -3
  14. package/esm/components/DataSourceSetter/types.d.ts +12 -12
  15. package/esm/components/DataSourceSetter/types.js +1 -1
  16. package/esm/components/ReactionsSetter/FieldPropertySetter.d.ts +6 -6
  17. package/esm/components/ReactionsSetter/FieldPropertySetter.js +140 -63
  18. package/esm/components/ReactionsSetter/PathSelector.d.ts +10 -9
  19. package/esm/components/ReactionsSetter/PathSelector.js +97 -100
  20. package/esm/components/ReactionsSetter/declarations.d.ts +3 -3
  21. package/esm/components/ReactionsSetter/declarations.js +31 -18
  22. package/esm/components/ReactionsSetter/helpers.d.ts +20 -10
  23. package/esm/components/ReactionsSetter/helpers.js +10 -10
  24. package/esm/components/ReactionsSetter/index.d.ts +6 -6
  25. package/esm/components/ReactionsSetter/index.js +412 -230
  26. package/esm/components/ReactionsSetter/properties.d.ts +14 -11
  27. package/esm/components/ReactionsSetter/properties.js +49 -40
  28. package/esm/components/ReactionsSetter/styles.less +2 -2
  29. package/esm/components/ReactionsSetter/types.d.ts +11 -11
  30. package/esm/components/ReactionsSetter/types.js +1 -1
  31. package/esm/components/ValidatorSetter/index.d.ts +4 -4
  32. package/esm/components/ValidatorSetter/index.js +148 -125
  33. package/esm/components/index.d.ts +3 -3
  34. package/esm/components/index.js +3 -3
  35. package/esm/index.d.ts +2 -2
  36. package/esm/index.js +2 -2
  37. package/esm/locales/en-US.d.ts +92 -92
  38. package/esm/locales/en-US.js +96 -93
  39. package/esm/locales/index.d.ts +1 -1
  40. package/esm/locales/index.js +5 -5
  41. package/esm/locales/ko-KR.d.ts +92 -92
  42. package/esm/locales/ko-KR.js +94 -93
  43. package/esm/locales/zh-CN.d.ts +92 -92
  44. package/esm/locales/zh-CN.js +94 -93
  45. package/lib/components/DataSourceSetter/DataSettingPanel.d.ts +8 -8
  46. package/lib/components/DataSourceSetter/DataSettingPanel.js +129 -55
  47. package/lib/components/DataSourceSetter/Header.d.ts +5 -5
  48. package/lib/components/DataSourceSetter/Header.js +19 -10
  49. package/lib/components/DataSourceSetter/Title.d.ts +5 -5
  50. package/lib/components/DataSourceSetter/Title.js +70 -47
  51. package/lib/components/DataSourceSetter/TreePanel.d.ts +10 -10
  52. package/lib/components/DataSourceSetter/TreePanel.js +134 -92
  53. package/lib/components/DataSourceSetter/index.d.ts +16 -16
  54. package/lib/components/DataSourceSetter/index.js +94 -30
  55. package/lib/components/DataSourceSetter/shared.d.ts +14 -7
  56. package/lib/components/DataSourceSetter/shared.js +48 -47
  57. package/lib/components/DataSourceSetter/styles.less +4 -3
  58. package/lib/components/DataSourceSetter/types.d.ts +12 -12
  59. package/lib/components/DataSourceSetter/types.js +2 -2
  60. package/lib/components/ReactionsSetter/FieldPropertySetter.d.ts +6 -6
  61. package/lib/components/ReactionsSetter/FieldPropertySetter.js +150 -67
  62. package/lib/components/ReactionsSetter/PathSelector.d.ts +10 -9
  63. package/lib/components/ReactionsSetter/PathSelector.js +101 -104
  64. package/lib/components/ReactionsSetter/declarations.d.ts +3 -3
  65. package/lib/components/ReactionsSetter/declarations.js +35 -22
  66. package/lib/components/ReactionsSetter/helpers.d.ts +20 -10
  67. package/lib/components/ReactionsSetter/helpers.js +23 -13
  68. package/lib/components/ReactionsSetter/index.d.ts +6 -6
  69. package/lib/components/ReactionsSetter/index.js +434 -234
  70. package/lib/components/ReactionsSetter/properties.d.ts +14 -11
  71. package/lib/components/ReactionsSetter/properties.js +43 -43
  72. package/lib/components/ReactionsSetter/styles.less +2 -2
  73. package/lib/components/ReactionsSetter/types.d.ts +11 -11
  74. package/lib/components/ReactionsSetter/types.js +2 -2
  75. package/lib/components/ValidatorSetter/index.d.ts +4 -4
  76. package/lib/components/ValidatorSetter/index.js +151 -128
  77. package/lib/components/index.d.ts +3 -3
  78. package/lib/components/index.js +35 -19
  79. package/lib/index.d.ts +2 -2
  80. package/lib/index.js +34 -18
  81. package/lib/locales/en-US.d.ts +92 -92
  82. package/lib/locales/en-US.js +98 -95
  83. package/lib/locales/index.d.ts +1 -1
  84. package/lib/locales/index.js +16 -10
  85. package/lib/locales/ko-KR.d.ts +92 -92
  86. package/lib/locales/ko-KR.js +96 -95
  87. package/lib/locales/zh-CN.d.ts +92 -92
  88. package/lib/locales/zh-CN.js +96 -95
  89. package/package.json +5 -5
@@ -1,57 +1,131 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DataSettingPanel = void 0;
4
- const jsx_runtime_1 = require("react/jsx-runtime");
5
- const react_1 = require("react");
6
- const antd_1 = require("antd");
7
- const icons_1 = require("@ant-design/icons");
8
- const formily_antd_v6_1 = require("@thienvu18/formily-antd-v6");
9
- const core_1 = require("@formily/core");
10
- const reactive_react_1 = require("@formily/reactive-react");
11
- const react_2 = require("@formily/react");
12
- const designable_react_settings_form_1 = require("@thienvu18/designable-react-settings-form");
13
- const designable_react_1 = require("@thienvu18/designable-react");
14
- const Header_1 = require("./Header");
15
- const shared_1 = require("./shared");
16
- require("./styles.less");
1
+ 'use strict'
2
+ Object.defineProperty(exports, '__esModule', { value: true })
3
+ exports.DataSettingPanel = void 0
4
+ const jsx_runtime_1 = require('react/jsx-runtime')
5
+ const react_1 = require('react')
6
+ const antd_1 = require('antd')
7
+ const icons_1 = require('@ant-design/icons')
8
+ const formily_antd_v6_1 = require('@thienvu18/formily-antd-v6')
9
+ const core_1 = require('@formily/core')
10
+ const reactive_react_1 = require('@formily/reactive-react')
11
+ const react_2 = require('@formily/react')
12
+ const designable_react_settings_form_1 = require('@thienvu18/designable-react-settings-form')
13
+ const designable_react_1 = require('@thienvu18/designable-react')
14
+ const Header_1 = require('./Header')
15
+ const shared_1 = require('./shared')
16
+ require('./styles.less')
17
17
  const SchemaField = (0, react_2.createSchemaField)({
18
- components: {
19
- FormItem: formily_antd_v6_1.FormItem,
20
- Input: formily_antd_v6_1.Input,
21
- ArrayItems: formily_antd_v6_1.ArrayItems,
22
- ValueInput: designable_react_settings_form_1.ValueInput,
23
- },
24
- });
18
+ components: {
19
+ FormItem: formily_antd_v6_1.FormItem,
20
+ Input: formily_antd_v6_1.Input,
21
+ ArrayItems: formily_antd_v6_1.ArrayItems,
22
+ ValueInput: designable_react_settings_form_1.ValueInput,
23
+ },
24
+ })
25
25
  exports.DataSettingPanel = (0, reactive_react_1.observer)((props) => {
26
- const { allowExtendOption, effects } = props;
27
- const prefix = (0, designable_react_1.usePrefix)('data-source-setter');
28
- const form = (0, react_1.useMemo)(() => {
29
- let values;
30
- (0, shared_1.traverseTree)(props.treeDataSource.dataSource, (dataItem) => {
31
- if (dataItem.key === props.treeDataSource.selectedKey) {
32
- values = dataItem;
33
- }
34
- });
35
- return (0, core_1.createForm)({
36
- values,
37
- effects: effects,
38
- });
39
- }, [
40
- props.treeDataSource.selectedKey,
41
- props.treeDataSource.dataSource.length,
42
- ]);
43
- if (!props.treeDataSource.selectedKey)
44
- return ((0, jsx_runtime_1.jsxs)(react_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(Header_1.Header, { title: (0, jsx_runtime_1.jsx)(designable_react_1.TextWidget, { token: "SettingComponents.DataSourceSetter.nodeProperty" }), extra: null }), (0, jsx_runtime_1.jsx)("div", { className: `${prefix + '-layout-item-content'}`, children: (0, jsx_runtime_1.jsx)(designable_react_1.TextWidget, { token: "SettingComponents.DataSourceSetter.pleaseSelectNode" }) })] }));
45
- return ((0, jsx_runtime_1.jsxs)(react_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(Header_1.Header, { title: (0, jsx_runtime_1.jsx)(designable_react_1.TextWidget, { token: "SettingComponents.DataSourceSetter.nodeProperty" }), extra: allowExtendOption ? ((0, jsx_runtime_1.jsx)(antd_1.Button, { type: "text", onClick: () => {
46
- form.setFieldState('map', (state) => {
47
- state.value.push({});
48
- });
49
- }, icon: (0, jsx_runtime_1.jsx)(icons_1.PlusOutlined, {}), children: (0, jsx_runtime_1.jsx)(designable_react_1.TextWidget, { token: "SettingComponents.DataSourceSetter.addKeyValuePair" }) })) : null }), (0, jsx_runtime_1.jsx)("div", { className: `${prefix + '-layout-item-content'}`, children: (0, jsx_runtime_1.jsx)(formily_antd_v6_1.Form, { form: form, labelWidth: 60, wrapperWidth: 160, children: (0, jsx_runtime_1.jsx)(SchemaField, { children: (0, jsx_runtime_1.jsx)(SchemaField.Array, { name: "map", "x-component": "ArrayItems", children: (0, jsx_runtime_1.jsxs)(SchemaField.Object, { "x-decorator": "ArrayItems.Item", "x-decorator-props": { type: 'divide' }, children: [(0, jsx_runtime_1.jsx)(SchemaField.String, { title: (0, jsx_runtime_1.jsx)(designable_react_1.TextWidget, { token: "SettingComponents.DataSourceSetter.label" }), "x-decorator": "FormItem", "x-disabled": !allowExtendOption, name: "label", "x-component": "Input" }), (0, jsx_runtime_1.jsx)(SchemaField.String, { title: (0, jsx_runtime_1.jsx)(designable_react_1.TextWidget, { token: "SettingComponents.DataSourceSetter.value" }), "x-decorator": "FormItem", name: "value", "x-component": "ValueInput" }), (0, jsx_runtime_1.jsx)(SchemaField.Void, { "x-component": "ArrayItems.Remove", "x-visible": allowExtendOption, "x-component-props": {
50
- style: {
51
- margin: 5,
52
- display: 'flex',
53
- justifyContent: 'center',
54
- alignItems: 'center',
55
- },
56
- } })] }) }) }) }) })] }));
57
- });
26
+ const { allowExtendOption, effects } = props
27
+ const prefix = (0, designable_react_1.usePrefix)('data-source-setter')
28
+ const form = (0, react_1.useMemo)(() => {
29
+ let values
30
+ ;(0, shared_1.traverseTree)(props.treeDataSource.dataSource, (dataItem) => {
31
+ if (dataItem.key === props.treeDataSource.selectedKey) {
32
+ values = dataItem
33
+ }
34
+ })
35
+ return (0, core_1.createForm)({
36
+ values,
37
+ effects: effects,
38
+ })
39
+ }, [props.treeDataSource.selectedKey, props.treeDataSource.dataSource.length])
40
+ if (!props.treeDataSource.selectedKey)
41
+ return (0, jsx_runtime_1.jsxs)(react_1.Fragment, {
42
+ children: [
43
+ (0, jsx_runtime_1.jsx)(Header_1.Header, {
44
+ title: (0, jsx_runtime_1.jsx)(designable_react_1.TextWidget, {
45
+ token: 'SettingComponents.DataSourceSetter.nodeProperty',
46
+ }),
47
+ extra: null,
48
+ }),
49
+ (0, jsx_runtime_1.jsx)('div', {
50
+ className: `${prefix + '-layout-item-content'}`,
51
+ children: (0, jsx_runtime_1.jsx)(designable_react_1.TextWidget, {
52
+ token: 'SettingComponents.DataSourceSetter.pleaseSelectNode',
53
+ }),
54
+ }),
55
+ ],
56
+ })
57
+ return (0, jsx_runtime_1.jsxs)(react_1.Fragment, {
58
+ children: [
59
+ (0, jsx_runtime_1.jsx)(Header_1.Header, {
60
+ title: (0, jsx_runtime_1.jsx)(designable_react_1.TextWidget, {
61
+ token: 'SettingComponents.DataSourceSetter.nodeProperty',
62
+ }),
63
+ extra: allowExtendOption
64
+ ? (0, jsx_runtime_1.jsx)(antd_1.Button, {
65
+ type: 'text',
66
+ onClick: () => {
67
+ form.setFieldState('map', (state) => {
68
+ state.value.push({})
69
+ })
70
+ },
71
+ icon: (0, jsx_runtime_1.jsx)(icons_1.PlusOutlined, {}),
72
+ children: (0, jsx_runtime_1.jsx)(designable_react_1.TextWidget, {
73
+ token: 'SettingComponents.DataSourceSetter.addKeyValuePair',
74
+ }),
75
+ })
76
+ : null,
77
+ }),
78
+ (0, jsx_runtime_1.jsx)('div', {
79
+ className: `${prefix + '-layout-item-content'}`,
80
+ children: (0, jsx_runtime_1.jsx)(formily_antd_v6_1.Form, {
81
+ form: form,
82
+ labelWidth: 60,
83
+ wrapperWidth: 160,
84
+ children: (0, jsx_runtime_1.jsx)(SchemaField, {
85
+ children: (0, jsx_runtime_1.jsx)(SchemaField.Array, {
86
+ name: 'map',
87
+ 'x-component': 'ArrayItems',
88
+ children: (0, jsx_runtime_1.jsxs)(SchemaField.Object, {
89
+ 'x-decorator': 'ArrayItems.Item',
90
+ 'x-decorator-props': { type: 'divide' },
91
+ children: [
92
+ (0, jsx_runtime_1.jsx)(SchemaField.String, {
93
+ title: (0, jsx_runtime_1.jsx)(
94
+ designable_react_1.TextWidget,
95
+ { token: 'SettingComponents.DataSourceSetter.label' }
96
+ ),
97
+ 'x-decorator': 'FormItem',
98
+ 'x-disabled': !allowExtendOption,
99
+ name: 'label',
100
+ 'x-component': 'Input',
101
+ }),
102
+ (0, jsx_runtime_1.jsx)(SchemaField.String, {
103
+ title: (0, jsx_runtime_1.jsx)(
104
+ designable_react_1.TextWidget,
105
+ { token: 'SettingComponents.DataSourceSetter.value' }
106
+ ),
107
+ 'x-decorator': 'FormItem',
108
+ name: 'value',
109
+ 'x-component': 'ValueInput',
110
+ }),
111
+ (0, jsx_runtime_1.jsx)(SchemaField.Void, {
112
+ 'x-component': 'ArrayItems.Remove',
113
+ 'x-visible': allowExtendOption,
114
+ 'x-component-props': {
115
+ style: {
116
+ margin: 5,
117
+ display: 'flex',
118
+ justifyContent: 'center',
119
+ alignItems: 'center',
120
+ },
121
+ },
122
+ }),
123
+ ],
124
+ }),
125
+ }),
126
+ }),
127
+ }),
128
+ }),
129
+ ],
130
+ })
131
+ })
@@ -1,7 +1,7 @@
1
- import React, { ReactNode } from 'react';
2
- import './styles.less';
1
+ import React, { ReactNode } from 'react'
2
+ import './styles.less'
3
3
  export interface IHeaderProps {
4
- extra: ReactNode | null;
5
- title: ReactNode | string;
4
+ extra: ReactNode | null
5
+ title: ReactNode | string
6
6
  }
7
- export declare const Header: React.FC<IHeaderProps>;
7
+ export declare const Header: React.FC<IHeaderProps>
@@ -1,11 +1,20 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Header = void 0;
4
- const jsx_runtime_1 = require("react/jsx-runtime");
5
- const reactive_react_1 = require("@formily/reactive-react");
6
- const designable_react_1 = require("@thienvu18/designable-react");
7
- require("./styles.less");
1
+ 'use strict'
2
+ Object.defineProperty(exports, '__esModule', { value: true })
3
+ exports.Header = void 0
4
+ const jsx_runtime_1 = require('react/jsx-runtime')
5
+ const reactive_react_1 = require('@formily/reactive-react')
6
+ const designable_react_1 = require('@thienvu18/designable-react')
7
+ require('./styles.less')
8
8
  exports.Header = (0, reactive_react_1.observer)(({ extra, title }) => {
9
- const prefix = (0, designable_react_1.usePrefix)('data-source-setter');
10
- return ((0, jsx_runtime_1.jsxs)("div", { className: `${prefix + '-layout-item-header'}`, children: [(0, jsx_runtime_1.jsx)("div", { className: `${prefix + '-layout-item-title'}`, children: title }), extra] }));
11
- });
9
+ const prefix = (0, designable_react_1.usePrefix)('data-source-setter')
10
+ return (0, jsx_runtime_1.jsxs)('div', {
11
+ className: `${prefix + '-layout-item-header'}`,
12
+ children: [
13
+ (0, jsx_runtime_1.jsx)('div', {
14
+ className: `${prefix + '-layout-item-title'}`,
15
+ children: title,
16
+ }),
17
+ extra,
18
+ ],
19
+ })
20
+ })
@@ -1,7 +1,7 @@
1
- import React from 'react';
2
- import { INodeItem, ITreeDataSource } from './types';
3
- import './styles.less';
1
+ import React from 'react'
2
+ import './styles.less'
3
+ import { INodeItem, ITreeDataSource } from './types'
4
4
  export interface ITitleProps extends INodeItem {
5
- treeDataSource: ITreeDataSource;
5
+ treeDataSource: ITreeDataSource
6
6
  }
7
- export declare const Title: React.FC<ITitleProps>;
7
+ export declare const Title: React.FC<ITitleProps>
@@ -1,49 +1,72 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Title = void 0;
4
- const jsx_runtime_1 = require("react/jsx-runtime");
5
- const shared_1 = require("@formily/shared");
6
- const reactive_react_1 = require("@formily/reactive-react");
7
- const designable_react_1 = require("@thienvu18/designable-react");
8
- const shared_2 = require("./shared");
9
- require("./styles.less");
1
+ 'use strict'
2
+ Object.defineProperty(exports, '__esModule', { value: true })
3
+ exports.Title = void 0
4
+ const jsx_runtime_1 = require('react/jsx-runtime')
5
+ const shared_1 = require('@formily/shared')
6
+ const reactive_react_1 = require('@formily/reactive-react')
7
+ const designable_react_1 = require('@thienvu18/designable-react')
8
+ const shared_2 = require('./shared')
9
+ require('./styles.less')
10
10
  exports.Title = (0, reactive_react_1.observer)((props) => {
11
- const prefix = (0, designable_react_1.usePrefix)('data-source-setter-node-title');
12
- const getTitleValue = (dataSource) => {
13
- const optionalKeys = ['label', 'title', 'header'];
14
- let nodeTitle;
15
- optionalKeys.some((key) => {
16
- const title = (0, shared_1.toArr)(dataSource).find((item) => item.label === key)?.value;
17
- if (title !== undefined) {
18
- nodeTitle = title;
19
- return true;
20
- }
21
- return false;
22
- });
23
- if (nodeTitle === undefined) {
24
- (0, shared_1.toArr)(dataSource || []).some((item) => {
25
- if (item.value && typeof item.value === 'string') {
26
- nodeTitle = item.value;
27
- return true;
28
- }
29
- return false;
30
- });
11
+ const prefix = (0, designable_react_1.usePrefix)(
12
+ 'data-source-setter-node-title'
13
+ )
14
+ const getTitleValue = (dataSource) => {
15
+ const optionalKeys = ['label', 'title', 'header']
16
+ let nodeTitle
17
+ optionalKeys.some((key) => {
18
+ const title = (0, shared_1.toArr)(dataSource).find(
19
+ (item) => item.label === key
20
+ )?.value
21
+ if (title !== undefined) {
22
+ nodeTitle = title
23
+ return true
24
+ }
25
+ return false
26
+ })
27
+ if (nodeTitle === undefined) {
28
+ ;(0, shared_1.toArr)(dataSource || []).some((item) => {
29
+ if (item.value && typeof item.value === 'string') {
30
+ nodeTitle = item.value
31
+ return true
31
32
  }
32
- return nodeTitle;
33
- };
34
- const renderTitle = (dataSource) => {
35
- const nodeTitle = getTitleValue(dataSource);
36
- if (nodeTitle === undefined)
37
- return ((0, jsx_runtime_1.jsx)(designable_react_1.TextWidget, { token: "SettingComponents.DataSourceSetter.defaultTitle" }));
38
- else
39
- return nodeTitle + '';
40
- };
41
- return ((0, jsx_runtime_1.jsxs)("div", { className: prefix, children: [(0, jsx_runtime_1.jsx)("span", { style: { marginRight: '5px' }, children: renderTitle(props?.map || []) }), (0, jsx_runtime_1.jsx)(designable_react_1.IconWidget, { className: prefix + '-icon', infer: "Remove", onClick: () => {
42
- const newDataSource = (0, shared_1.clone)(props?.treeDataSource?.dataSource);
43
- (0, shared_2.traverseTree)(newDataSource || [], (dataItem, i, data) => {
44
- if (data[i].key === props.duplicateKey)
45
- (0, shared_1.toArr)(data).splice(i, 1);
46
- });
47
- props.treeDataSource.dataSource = newDataSource;
48
- } })] }));
49
- });
33
+ return false
34
+ })
35
+ }
36
+ return nodeTitle
37
+ }
38
+ const renderTitle = (dataSource) => {
39
+ const nodeTitle = getTitleValue(dataSource)
40
+ if (nodeTitle === undefined)
41
+ return (0, jsx_runtime_1.jsx)(designable_react_1.TextWidget, {
42
+ token: 'SettingComponents.DataSourceSetter.defaultTitle',
43
+ })
44
+ else return nodeTitle + ''
45
+ }
46
+ return (0, jsx_runtime_1.jsxs)('div', {
47
+ className: prefix,
48
+ children: [
49
+ (0, jsx_runtime_1.jsx)('span', {
50
+ style: { marginRight: '5px' },
51
+ children: renderTitle(props?.map || []),
52
+ }),
53
+ (0, jsx_runtime_1.jsx)(designable_react_1.IconWidget, {
54
+ className: prefix + '-icon',
55
+ infer: 'Remove',
56
+ onClick: () => {
57
+ const newDataSource = (0, shared_1.clone)(
58
+ props?.treeDataSource?.dataSource
59
+ )
60
+ ;(0, shared_2.traverseTree)(
61
+ newDataSource || [],
62
+ (dataItem, i, data) => {
63
+ if (data[i].key === props.duplicateKey)
64
+ (0, shared_1.toArr)(data).splice(i, 1)
65
+ }
66
+ )
67
+ props.treeDataSource.dataSource = newDataSource
68
+ },
69
+ }),
70
+ ],
71
+ })
72
+ })
@@ -1,12 +1,12 @@
1
- import React from 'react';
2
- import { ITreeDataSource } from './types';
3
- import './styles.less';
1
+ import React from 'react'
2
+ import './styles.less'
3
+ import { ITreeDataSource } from './types'
4
4
  export interface ITreePanelProps {
5
- treeDataSource: ITreeDataSource;
6
- allowTree: boolean;
7
- defaultOptionValue: {
8
- label: string;
9
- value: any;
10
- }[];
5
+ treeDataSource: ITreeDataSource
6
+ allowTree: boolean
7
+ defaultOptionValue: {
8
+ label: string
9
+ value: any
10
+ }[]
11
11
  }
12
- export declare const TreePanel: React.FC<ITreePanelProps>;
12
+ export declare const TreePanel: React.FC<ITreePanelProps>
@@ -1,97 +1,139 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TreePanel = void 0;
4
- const jsx_runtime_1 = require("react/jsx-runtime");
5
- const react_1 = require("react");
6
- const antd_1 = require("antd");
7
- const shared_1 = require("@formily/shared");
8
- const reactive_react_1 = require("@formily/reactive-react");
9
- const designable_react_1 = require("@thienvu18/designable-react");
10
- const Title_1 = require("./Title");
11
- const Header_1 = require("./Header");
12
- const shared_2 = require("./shared");
13
- require("./styles.less");
14
- const designable_core_1 = require("@thienvu18/designable-core");
1
+ 'use strict'
2
+ Object.defineProperty(exports, '__esModule', { value: true })
3
+ exports.TreePanel = void 0
4
+ const jsx_runtime_1 = require('react/jsx-runtime')
5
+ const react_1 = require('react')
6
+ const antd_1 = require('antd')
7
+ const shared_1 = require('@formily/shared')
8
+ const reactive_react_1 = require('@formily/reactive-react')
9
+ const designable_react_1 = require('@thienvu18/designable-react')
10
+ const Title_1 = require('./Title')
11
+ const Header_1 = require('./Header')
12
+ const shared_2 = require('./shared')
13
+ require('./styles.less')
14
+ const designable_core_1 = require('@thienvu18/designable-core')
15
15
  const limitTreeDrag = ({ dropPosition }) => {
16
- if (dropPosition === 0) {
17
- return false;
18
- }
19
- return true;
20
- };
16
+ if (dropPosition === 0) {
17
+ return false
18
+ }
19
+ return true
20
+ }
21
21
  exports.TreePanel = (0, reactive_react_1.observer)((props) => {
22
- const prefix = (0, designable_react_1.usePrefix)('data-source-setter');
23
- const dropHandler = (info) => {
24
- const dropKey = info.node?.key;
25
- const dragKey = info.dragNode?.key;
26
- const dropPos = info.node.pos.split('-');
27
- const dropPosition = info.dropPosition - Number(dropPos[dropPos.length - 1]);
28
- const data = [...props.treeDataSource.dataSource];
29
- // Find dragObject
30
- let dragObj;
31
- (0, shared_2.traverseTree)(data, (item, index, arr) => {
32
- if (arr[index].key === dragKey) {
33
- arr.splice(index, 1);
34
- dragObj = item;
35
- }
36
- });
37
- if (!info.dropToGap) {
38
- (0, shared_2.traverseTree)(data, (item) => {
39
- if (item.key === dropKey) {
40
- item.children = item.children || [];
41
- item.children.unshift(dragObj);
42
- }
43
- });
22
+ const prefix = (0, designable_react_1.usePrefix)('data-source-setter')
23
+ const dropHandler = (info) => {
24
+ const dropKey = info.node?.key
25
+ const dragKey = info.dragNode?.key
26
+ const dropPos = info.node.pos.split('-')
27
+ const dropPosition = info.dropPosition - Number(dropPos[dropPos.length - 1])
28
+ const data = [...props.treeDataSource.dataSource]
29
+ // Find dragObject
30
+ let dragObj
31
+ ;(0, shared_2.traverseTree)(data, (item, index, arr) => {
32
+ if (arr[index].key === dragKey) {
33
+ arr.splice(index, 1)
34
+ dragObj = item
35
+ }
36
+ })
37
+ if (!info.dropToGap) {
38
+ ;(0, shared_2.traverseTree)(data, (item) => {
39
+ if (item.key === dropKey) {
40
+ item.children = item.children || []
41
+ item.children.unshift(dragObj)
44
42
  }
45
- else if ((info.node.children || []).length > 0 &&
46
- info.node.expanded &&
47
- dropPosition === 1) {
48
- (0, shared_2.traverseTree)(data, (item) => {
49
- if (item.key === dropKey) {
50
- item.children = item.children || [];
51
- item.children.unshift(dragObj);
52
- }
53
- });
43
+ })
44
+ } else if (
45
+ (info.node.children || []).length > 0 &&
46
+ info.node.expanded &&
47
+ dropPosition === 1
48
+ ) {
49
+ ;(0, shared_2.traverseTree)(data, (item) => {
50
+ if (item.key === dropKey) {
51
+ item.children = item.children || []
52
+ item.children.unshift(dragObj)
54
53
  }
55
- else {
56
- let ar;
57
- let i;
58
- (0, shared_2.traverseTree)(data, (item, index, arr) => {
59
- if (item.key === dropKey) {
60
- ar = arr;
61
- i = index;
62
- }
63
- });
64
- if (dropPosition === -1) {
65
- ar.splice(i, 0, dragObj);
66
- }
67
- else {
68
- ar.splice(i + 1, 0, dragObj);
69
- }
54
+ })
55
+ } else {
56
+ let ar
57
+ let i
58
+ ;(0, shared_2.traverseTree)(data, (item, index, arr) => {
59
+ if (item.key === dropKey) {
60
+ ar = arr
61
+ i = index
70
62
  }
71
- props.treeDataSource.dataSource = data;
72
- };
73
- return ((0, jsx_runtime_1.jsxs)(react_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(Header_1.Header, { title: (0, jsx_runtime_1.jsx)(designable_react_1.TextWidget, { token: "SettingComponents.DataSourceSetter.dataSourceTree" }), extra: (0, jsx_runtime_1.jsx)(antd_1.Button, { type: "text", onClick: () => {
74
- const uuid = (0, shared_1.uid)();
75
- const dataSource = props.treeDataSource.dataSource;
76
- const initialKeyValuePairs = props.defaultOptionValue?.map((item) => ({ ...item })) || [
77
- {
78
- label: 'label',
79
- value: `${designable_core_1.GlobalRegistry.getDesignerMessage(`SettingComponents.DataSourceSetter.item`)} ${dataSource.length + 1}`,
80
- },
81
- { label: 'value', value: uuid },
82
- ];
83
- props.treeDataSource.dataSource = dataSource.concat({
84
- key: uuid,
85
- duplicateKey: uuid,
86
- map: initialKeyValuePairs,
87
- children: [],
88
- });
89
- }, icon: (0, jsx_runtime_1.jsx)(designable_react_1.IconWidget, { infer: "Add" }), children: (0, jsx_runtime_1.jsx)(designable_react_1.TextWidget, { token: "SettingComponents.DataSourceSetter.addNode" }) }) }), (0, jsx_runtime_1.jsx)("div", { className: `${prefix + '-layout-item-content'}`, children: (0, jsx_runtime_1.jsx)(antd_1.Tree, { blockNode: true, draggable: true, allowDrop: props.allowTree ? () => true : limitTreeDrag, defaultExpandAll: true, defaultExpandParent: true, autoExpandParent: true, showLine: { showLeafIcon: false }, treeData: props.treeDataSource.dataSource, onDragEnter: () => { }, onDrop: dropHandler, titleRender: (titleProps) => {
90
- const { key, ...rest } = titleProps;
91
- return ((0, jsx_runtime_1.jsx)(Title_1.Title, { ...rest, treeDataSource: props.treeDataSource }, key));
92
- }, onSelect: (selectedKeys) => {
93
- if (selectedKeys[0]) {
94
- props.treeDataSource.selectedKey = selectedKeys[0].toString();
95
- }
96
- } }) })] }));
97
- });
63
+ })
64
+ if (dropPosition === -1) {
65
+ ar.splice(i, 0, dragObj)
66
+ } else {
67
+ ar.splice(i + 1, 0, dragObj)
68
+ }
69
+ }
70
+ props.treeDataSource.dataSource = data
71
+ }
72
+ return (0, jsx_runtime_1.jsxs)(react_1.Fragment, {
73
+ children: [
74
+ (0, jsx_runtime_1.jsx)(Header_1.Header, {
75
+ title: (0, jsx_runtime_1.jsx)(designable_react_1.TextWidget, {
76
+ token: 'SettingComponents.DataSourceSetter.dataSourceTree',
77
+ }),
78
+ extra: (0, jsx_runtime_1.jsx)(antd_1.Button, {
79
+ type: 'text',
80
+ onClick: () => {
81
+ const uuid = (0, shared_1.uid)()
82
+ const dataSource = props.treeDataSource.dataSource
83
+ const initialKeyValuePairs = props.defaultOptionValue?.map(
84
+ (item) => ({ ...item })
85
+ ) || [
86
+ {
87
+ label: 'label',
88
+ value: `${designable_core_1.GlobalRegistry.getDesignerMessage(
89
+ `SettingComponents.DataSourceSetter.item`
90
+ )} ${dataSource.length + 1}`,
91
+ },
92
+ { label: 'value', value: uuid },
93
+ ]
94
+ props.treeDataSource.dataSource = dataSource.concat({
95
+ key: uuid,
96
+ duplicateKey: uuid,
97
+ map: initialKeyValuePairs,
98
+ children: [],
99
+ })
100
+ },
101
+ icon: (0, jsx_runtime_1.jsx)(designable_react_1.IconWidget, {
102
+ infer: 'Add',
103
+ }),
104
+ children: (0, jsx_runtime_1.jsx)(designable_react_1.TextWidget, {
105
+ token: 'SettingComponents.DataSourceSetter.addNode',
106
+ }),
107
+ }),
108
+ }),
109
+ (0, jsx_runtime_1.jsx)('div', {
110
+ className: `${prefix + '-layout-item-content'}`,
111
+ children: (0, jsx_runtime_1.jsx)(antd_1.Tree, {
112
+ blockNode: true,
113
+ draggable: true,
114
+ allowDrop: props.allowTree ? () => true : limitTreeDrag,
115
+ defaultExpandAll: true,
116
+ defaultExpandParent: true,
117
+ autoExpandParent: true,
118
+ showLine: { showLeafIcon: false },
119
+ treeData: props.treeDataSource.dataSource,
120
+ onDragEnter: () => {},
121
+ onDrop: dropHandler,
122
+ titleRender: (titleProps) => {
123
+ const { key, ...rest } = titleProps
124
+ return (0, jsx_runtime_1.jsx)(
125
+ Title_1.Title,
126
+ { ...rest, treeDataSource: props.treeDataSource },
127
+ key
128
+ )
129
+ },
130
+ onSelect: (selectedKeys) => {
131
+ if (selectedKeys[0]) {
132
+ props.treeDataSource.selectedKey = selectedKeys[0].toString()
133
+ }
134
+ },
135
+ }),
136
+ }),
137
+ ],
138
+ })
139
+ })