vap1 0.1.7 → 0.1.9

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 (34) hide show
  1. package/components/Box/Box.js +1 -2
  2. package/components/SearchBar/ByKeyword.js +2 -6
  3. package/components/SearchBar/_FieldType.d.ts +1 -1
  4. package/components/SearchBar/_FieldType.js +8 -2
  5. package/components/TreeSelect/BaseTreeSelect.d.ts +13 -15
  6. package/components/TreeSelect/BaseTreeSelect.js +148 -120
  7. package/components/TreeSelect/DTreeSelect.d.ts +2 -21
  8. package/components/TreeSelect/DTreeSelect.js +83 -23
  9. package/components/TreeSelect/FTreeSelect.d.ts +2 -8
  10. package/components/TreeSelect/FTreeSelect.js +18 -13
  11. package/components/TreeSelect/STreeSelect.d.ts +3 -12
  12. package/components/TreeSelect/STreeSelect.js +10 -40
  13. package/components/TreeSelect/index.d.ts +31 -69
  14. package/components/Trees/ActionTree.d.ts +2 -9
  15. package/components/Trees/BaseTree.d.ts +2 -2
  16. package/components/Trees/BaseTree.js +17 -12
  17. package/components/Trees/COTree/COSelect.js +1 -1
  18. package/components/Trees/DTree.d.ts +6 -12
  19. package/components/Trees/DTree.js +7 -9
  20. package/components/Trees/FTree.d.ts +7 -16
  21. package/components/Trees/FTree.js +3 -5
  22. package/components/Trees/STree.d.ts +2 -1
  23. package/components/Trees/STree.js +3 -5
  24. package/components/Trees/index.d.ts +20 -28
  25. package/components/UForm/_FieldType.d.ts +1 -1
  26. package/components/UForm/_FieldType.js +4 -1
  27. package/components/_setup/SearchField/SearchFieldDate.js +2 -2
  28. package/components/_setup/SearchField/SearchFieldTree.js +149 -189
  29. package/components/_setup/UForm/UFormTree.d.ts +1 -0
  30. package/components/_setup/UForm/UFormTree.js +99 -134
  31. package/index.d.ts +3 -0
  32. package/index.js +7 -1
  33. package/package.json +1 -1
  34. package/utils/TreeUtil.d.ts +2 -1
@@ -181,6 +181,6 @@ const MonthRangePicker = (props) => {
181
181
  };
182
182
  (0, _register_1.registerSearchField)('daterange', (props) => react_1.default.createElement(AntdRnage, Object.assign({}, props, { isDate: true })), { defaultSpan: 2 });
183
183
  (0, _register_1.registerSearchField)('daterange-single', (props) => react_1.default.createElement(Range, Object.assign({}, props, { showTime: false })), { defaultSpan: 2 });
184
- (0, _register_1.registerSearchField)('timerange', (props) => react_1.default.createElement(AntdRnage, Object.assign({}, props, { isDate: false })), { defaultSpan: 2 });
185
- (0, _register_1.registerSearchField)('timerange-single', (props) => react_1.default.createElement(Range, Object.assign({}, props, { showTime: true })), { defaultSpan: 2 });
184
+ (0, _register_1.registerSearchField)('datetimerange', (props) => react_1.default.createElement(AntdRnage, Object.assign({}, props, { isDate: false })), { defaultSpan: 2 });
185
+ (0, _register_1.registerSearchField)('datetimerange-single', (props) => react_1.default.createElement(Range, Object.assign({}, props, { showTime: true })), { defaultSpan: 2 });
186
186
  (0, _register_1.registerSearchField)('monthrange', (props) => react_1.default.createElement(MonthRangePicker, Object.assign({}, props)), { defaultSpan: 2 });
@@ -1,191 +1,151 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
2
28
  Object.defineProperty(exports, "__esModule", { value: true });
3
- // registerSearchField('treeselect', (props: TableSelectFieldProps) => {
4
- // const { field, onChange, width, data } = props;
5
- // if (!_.has(field.config, 'treeData')) {
6
- // console.error('field type : dictselect must have a treeData field')
7
- // return <TEXT {...props} style={width ? { width } : {}} />
8
- // }
9
- // let param: any = {
10
- // allowClear: true,
11
- // placeholder: _.has(field.config, 'placeholder') ? field.config.placeholder : null || field.placeholder || `请选择${field.label}`,
12
- // };
13
- // if (field.allowClear === false) {
14
- // param.allowClear = false;
15
- // }
16
- // if (_.has(data, field.field)) {
17
- // param.value = data[field.field] || undefined;
18
- // }
19
- // if (_.has(props, 'width')) {
20
- // param.style = { width: props.width }
21
- // }
22
- // return <TreeSelect
23
- // treeDefaultExpandAll
24
- // {...field.config}
25
- // {...param}
26
- // dropdownStyle={{ maxHeight: 400, overflow: 'auto' }}
27
- // onChange={value => onChange(value)}
28
- // />
29
- // });
30
- // 动态树
31
- // type TreeNodeData = {
32
- // children?: TreeNodeData[];
33
- // [props: string]: any
34
- // }
35
- // export type BaseTreeOpts = {
36
- // /**
37
- // * 树取值的字段,默认为 `id`
38
- // */
39
- // keyField?: string,
40
- // /**
41
- // * 树显示名称的字段 ,默认为 `name`
42
- // */
43
- // titleField?: string,
44
- // /**
45
- // * 排序字段,默认为空,传入后,以此字段做为排序依据
46
- // */
47
- // sortField?: string;
48
- // /**
49
- // * 根节点 Code 标识
50
- // */
51
- // rootCode?: string;
52
- // /**
53
- // * 根节点API 与rootCode 二选一
54
- // */
55
- // rootApi?: string;
56
- // /**
57
- // * 是否存在子节点,如果有些属性,则根据此值不必多点一次加号
58
- // */
59
- // checkField?: string;
60
- // /**
61
- // * 展开子节点:
62
- // *
63
- // * 方式一:传一个 api 接口地址,必须返回 VData<Array<Object>> 格式
64
- // *
65
- // * 方式二:传一个方法 ,接收一个父节点参数,必须返回 Promise<TreeNodeData[]> (不要返回 children, 仅返回一级)
66
- // */
67
- // childApi?: string | ((parentId: string) => Promise<TreeNodeData[]>);
68
- // }
69
- // class DynamicTreeSelect extends React.PureComponent<TableSelectFieldProps> {
70
- // fields: BaseTreeOpts = {
71
- // keyField: 'id',
72
- // titleField: 'title',
73
- // }
74
- // state = {
75
- // treeData: [],
76
- // }
77
- // async getChildren(parentCode) {
78
- // if (typeof this.props.field.config.childApi == 'string') {
79
- // const resp = await Ajax.GET(`${this.props.field.config.childApi}${parentCode}`);
80
- // if (resp.code == '0') {
81
- // return resp.data;
82
- // }
83
- // return []
84
- // }
85
- // let children = await this.props.field.config.childApi(parentCode);
86
- // return children;
87
- // }
88
- // async componentDidMount() {
89
- // const { field } = this.props;
90
- // if (!_.has(field, 'config.childApi')) {
91
- // return;
92
- // }
93
- // const config: BaseTreeOpts = field.config;
94
- // if (config.keyField) {
95
- // this.fields.keyField = config.keyField;
96
- // }
97
- // if (config.titleField) {
98
- // this.fields.titleField = config.titleField;
99
- // }
100
- // if (config.sortField) {
101
- // this.fields.sortField = config.sortField;
102
- // }
103
- // if (config.checkField) {
104
- // this.fields.checkField = config.checkField;
105
- // }
106
- // let treeData = [];
107
- // if (config.rootCode) {
108
- // treeData = await this.getChildren(config.rootCode);
109
- // } else if (config.rootApi) {
110
- // const resp = await Ajax.GET(config.rootApi);
111
- // if (resp.code == '0') {
112
- // if (_.isArray(resp.data)) {
113
- // treeData = resp.data;
114
- // } else {
115
- // treeData = [resp.data];
116
- // }
117
- // }
118
- // }
119
- // this.setState({ treeData });
120
- // };
121
- // setChidren(treeData: any[], key: string, children: any[]) {
122
- // for (let node of treeData) {
123
- // if (node[this.fields.keyField] == key) {
124
- // node.children = children;
125
- // return true;
126
- // } else if (_.isArray(node.children) && node.children.length) {
127
- // return this.setChidren(node.children, key, children);
128
- // }
129
- // }
130
- // return false;
131
- // }
132
- // async onLoadData(node) {
133
- // const children = await this.getChildren(node.props.eventKey);
134
- // if (children.length == 0) {
135
- // return;
136
- // }
137
- // const treeData = _.concat([], this.state.treeData);
138
- // this.setChidren(treeData, node.props.eventKey, children)
139
- // this.setState({ treeData })
140
- // };
141
- // renderNode(data: any) {
142
- // let isLeaf = false;
143
- // if (_.has(data, 'children') && _.isArray(data.children)) {
144
- // if (data.children.length) {
145
- // isLeaf = false;
146
- // } else {
147
- // isLeaf = true;
148
- // }
149
- // } else if (this.fields.checkField) {
150
- // if (!data[this.fields.checkField]) {
151
- // isLeaf = true;
152
- // }
153
- // }
154
- // if (isLeaf) {
155
- // return <TreeSelect.TreeNode value={data[this.fields.keyField]} key={data[this.fields.keyField]} title={data[this.fields.titleField]} isLeaf> </TreeSelect.TreeNode>
156
- // }
157
- // if (_.isArray(data.children) && data.children.length) {
158
- // return <TreeSelect.TreeNode value={data[this.fields.keyField]} key={data[this.fields.keyField]} title={data[this.fields.titleField]}>
159
- // {data.children.map(item => this.renderNode(item))}
160
- // </TreeSelect.TreeNode>
161
- // }
162
- // return <TreeSelect.TreeNode value={data[this.fields.keyField]} key={data[this.fields.keyField]} title={data[this.fields.titleField]}> </TreeSelect.TreeNode>
163
- // }
164
- // render() {
165
- // const { field, onChange, data } = this.props;
166
- // const { treeData } = this.state;
167
- // let param: any = {
168
- // allowClear: true,
169
- // placeholder: _.has(field.config, 'placeholder') ? field.config.placeholder : null || field.placeholder || `请选择 ${field.label}`,
170
- // }
171
- // if (field.allowClear === false) {
172
- // param.allowClear = false;
173
- // }
174
- // if (_.has(data, field.field)) {
175
- // param.value = data[field.field];
176
- // }
177
- // if (_.has(this.props, 'width')) {
178
- // param.style = { width: this.props.width }
179
- // }
180
- // return <TreeSelect
181
- // {...param}
182
- // onChange={(value, label, extra) => {
183
- // onChange(value)
184
- // }}
185
- // loadData={(node) => this.onLoadData(node)}
186
- // >
187
- // {treeData.map(item => this.renderNode(item))}
188
- // </TreeSelect>
189
- // }
190
- // }
191
- // registerSearchField('dynamic-tree-select', DynamicTreeSelect);
29
+ const react_1 = __importStar(require("react"));
30
+ const lodash_1 = __importDefault(require("lodash"));
31
+ const _register_1 = require("../../SearchBar/_register");
32
+ const STreeSelect_1 = require("../../TreeSelect/STreeSelect");
33
+ const DTreeSelect_1 = require("../../TreeSelect/DTreeSelect");
34
+ const FTreeSelect_1 = require("../../TreeSelect/FTreeSelect");
35
+ const SearchFieldInput_1 = require("./SearchFieldInput");
36
+ const toArr = (value) => (0, react_1.useMemo)(() => {
37
+ if (value == undefined)
38
+ return [];
39
+ if (lodash_1.default.isArray(value))
40
+ return value;
41
+ if (lodash_1.default.isString(value))
42
+ return value.split(',');
43
+ return [];
44
+ }, [value]);
45
+ (0, _register_1.registerSearchField)('stree-select', (props) => {
46
+ const { field: { field, config, placeholder, allowClear, options }, disabled, onChange, data, width } = props;
47
+ if (!lodash_1.default.has(config, 'titleField')) {
48
+ console.error('field type : STree select must have a config with titleField');
49
+ return react_1.default.createElement(SearchFieldInput_1.TEXT, Object.assign({}, props));
50
+ }
51
+ let treeData = lodash_1.default.has(config, 'treeData') ? config.treeData : options;
52
+ let params = {
53
+ titleField: config.titleFField,
54
+ disabled: disabled,
55
+ treeData,
56
+ multiple: false,
57
+ allowClear: typeof allowClear == 'boolean' ? allowClear : true,
58
+ placeholder: lodash_1.default.has(config, 'placeholder') ? config.placeholder : placeholder,
59
+ style: { width },
60
+ };
61
+ return react_1.default.createElement(STreeSelect_1.STreeSelect, Object.assign({}, params, config, { multiple: false, value: (lodash_1.default.has(data, field) && data[field] !== null) ? data[field] : undefined, onChange: onChange }));
62
+ });
63
+ (0, _register_1.registerSearchField)('dtree-select', (props) => {
64
+ const { field: { field, config, placeholder, allowClear, options }, disabled, onChange, data, width } = props;
65
+ if (!lodash_1.default.has(config, 'titleField') || !lodash_1.default.has(config, 'childApi')) {
66
+ console.error('field type : DTree select must have a config with titleField and childApi');
67
+ return react_1.default.createElement(SearchFieldInput_1.TEXT, Object.assign({}, props));
68
+ }
69
+ let params = {
70
+ titleField: config.titleFField,
71
+ childApi: config.childApi,
72
+ disabled: disabled,
73
+ multiple: false,
74
+ allowClear: typeof allowClear == 'boolean' ? allowClear : true,
75
+ placeholder: lodash_1.default.has(config, 'placeholder') ? config.placeholder : placeholder,
76
+ style: { width },
77
+ };
78
+ return react_1.default.createElement(DTreeSelect_1.DTreeSelect, Object.assign({}, params, config, { multiple: false, value: (lodash_1.default.has(data, field) && data[field] !== null) ? data[field] : undefined, onChange: onChange }));
79
+ });
80
+ (0, _register_1.registerSearchField)('ftree-select', (props) => {
81
+ const { field: { field, config, placeholder, allowClear }, disabled, onChange, data, width } = props;
82
+ if (!lodash_1.default.has(config, 'titleField') || !lodash_1.default.has(config, 'fetchApi')) {
83
+ console.error('field type : FTree select must have a config with titleField and fetchApi');
84
+ return react_1.default.createElement(SearchFieldInput_1.TEXT, Object.assign({}, props));
85
+ }
86
+ let params = {
87
+ titleField: config.titleFField,
88
+ fetchApi: config.fetchApi,
89
+ disabled: disabled,
90
+ multiple: false,
91
+ allowClear: typeof allowClear == 'boolean' ? allowClear : true,
92
+ placeholder: lodash_1.default.has(config, 'placeholder') ? config.placeholder : placeholder,
93
+ style: { width },
94
+ };
95
+ return react_1.default.createElement(FTreeSelect_1.FTreeSelect, Object.assign({}, params, config, { multiple: false, value: (lodash_1.default.has(data, field) && data[field] !== null) ? data[field] : undefined, onChange: onChange }));
96
+ });
97
+ (0, _register_1.registerSearchField)('multi-stree-select', (props) => {
98
+ const { field: { field, config, placeholder, allowClear, options }, disabled, onChange, data, width } = props;
99
+ if (!lodash_1.default.has(config, 'titleField')) {
100
+ console.error('field type : tree-select must have a config with title field');
101
+ return react_1.default.createElement(SearchFieldInput_1.TEXT, Object.assign({}, props));
102
+ }
103
+ let treeData = lodash_1.default.has(config, 'treeData') ? config.treeData : options;
104
+ let params = {
105
+ titleField: config.titleFField,
106
+ disabled: disabled,
107
+ treeData,
108
+ multiple: true,
109
+ allowClear: typeof allowClear == 'boolean' ? allowClear : true,
110
+ placeholder: lodash_1.default.has(config, 'placeholder') ? config.placeholder : placeholder,
111
+ style: { width },
112
+ };
113
+ const value = (lodash_1.default.has(data, field) && data[field] !== null) ? data[field] : undefined;
114
+ return react_1.default.createElement(STreeSelect_1.STreeSelect, Object.assign({}, params, config, { multiple: true, value: toArr(value), onChange: (ids) => onChange(ids.join(',')) }));
115
+ });
116
+ (0, _register_1.registerSearchField)('multi-dtree-select', (props) => {
117
+ const { field: { field, config, placeholder, allowClear, options }, disabled, onChange, data, width } = props;
118
+ if (!lodash_1.default.has(config, 'titleField') || !lodash_1.default.has(config, 'childApi')) {
119
+ console.error('field type : DTree select must have a config with titleField and childApi');
120
+ return react_1.default.createElement(SearchFieldInput_1.TEXT, Object.assign({}, props));
121
+ }
122
+ let params = {
123
+ titleField: config.titleFField,
124
+ childApi: config.childApi,
125
+ disabled: disabled,
126
+ multiple: false,
127
+ allowClear: typeof allowClear == 'boolean' ? allowClear : true,
128
+ placeholder: lodash_1.default.has(config, 'placeholder') ? config.placeholder : placeholder,
129
+ style: { width },
130
+ };
131
+ const value = (lodash_1.default.has(data, field) && data[field] !== null) ? data[field] : undefined;
132
+ return react_1.default.createElement(DTreeSelect_1.DTreeSelect, Object.assign({}, params, config, { multiple: true, value: toArr(value), onChange: (ids) => onChange(ids.join(',')) }));
133
+ });
134
+ (0, _register_1.registerSearchField)('multi-ftree-select', (props) => {
135
+ const { field: { field, config, placeholder, allowClear }, disabled, onChange, data, width } = props;
136
+ if (!lodash_1.default.has(config, 'titleField') || !lodash_1.default.has(config, 'fetchApi')) {
137
+ console.error('field type : FTree select must have a config with titleField and fetchApi');
138
+ return react_1.default.createElement(SearchFieldInput_1.TEXT, Object.assign({}, props));
139
+ }
140
+ let params = {
141
+ titleField: config.titleFField,
142
+ fetchApi: config.fetchApi,
143
+ disabled: disabled,
144
+ multiple: false,
145
+ allowClear: typeof allowClear == 'boolean' ? allowClear : true,
146
+ placeholder: lodash_1.default.has(config, 'placeholder') ? config.placeholder : placeholder,
147
+ style: { width },
148
+ };
149
+ const value = (lodash_1.default.has(data, field) && data[field] !== null) ? data[field] : undefined;
150
+ return react_1.default.createElement(FTreeSelect_1.FTreeSelect, Object.assign({}, params, config, { multiple: true, value: toArr(value), onChange: (ids) => onChange(ids.join(',')) }));
151
+ });
@@ -0,0 +1 @@
1
+ export {};
@@ -1,134 +1,99 @@
1
- // import React from 'react';
2
- // import _ from 'lodash';
3
- // import { TreeSelect } from 'antd';
4
- // import { registerInputType, UFormInput } from 'vap/_common/UForm';
5
- // import { Option } from 'vap/_common/UForm/interface';
6
- // import { TreeNode } from 'antd/es/tree-select/interface';
7
- // import { MULTI_CHOOSE_SHOW } from './Select';
8
- // const optionToTree = (options: Option[]): TreeNode[] => {
9
- // return options.map((item) => {
10
- // let result: TreeNode = { value: item.value, title: item.name, disabled: item.disabled };
11
- // if (_.isArray(item.children) && item.children.length > 0) {
12
- // result.children = optionToTree(item.children)
13
- // }
14
- // return result;
15
- // })
16
- // }
17
- // const flatOptionToTree = (options: Option[], parent: string): TreeNode[] => {
18
- // return options.map(item => {
19
- // let result: TreeNode = { value: item.value, title: item.name };
20
- // if (_.isArray(item.children) && item.children.length > 0) {
21
- // result.children = optionToTree(item.children)
22
- // }
23
- // return result;
24
- // })
25
- // }
26
- // registerInputType('stree-select', class extends UFormInput {
27
- // render() {
28
- // const { value, field, disabled } = this.props;
29
- // let params: any = { disabled, value, showSearch: true, searchPlaceholder: '输入关键字过滤', treeDefaultExpandAll: true }
30
- // if (field.rule && _.find(field.rule, { required: true })) {
31
- // params.allowClear = false;
32
- // }
33
- // if (!_.has(field, 'config.treeData')) {
34
- // if (_.has(field, 'options')) {
35
- // params.treeData = optionToTree(field.options);
36
- // } else {
37
- // params.treeData = []
38
- // }
39
- // }
40
- // return <TreeSelect
41
- // dropdownStyle={{ maxHeight: 389 ,overflow:'auto'}}
42
- // {...params}
43
- // {...field.config}
44
- // placeholder={this.getSelectTip()}
45
- // multiple={false}
46
- // value={value}
47
- // treeCheckable={false}
48
- // onChange={value => this.onChange(value)}
49
- // />
50
- // }
51
- // })
52
- // registerInputType('dtree-select', class extends UFormInput {
53
- // render() {
54
- // const { value, field, disabled } = this.props;
55
- // let selectKey = [];
56
- // if (value) {
57
- // selectKey = value.split(',').map(item => item.trim())
58
- // }
59
- // let params: any = { disabled, value, showSearch: true, searchPlaceholder: '输入关键字过滤', treeDefaultExpandAll: true }
60
- // if (field.rule && _.find(field.rule, { required: true })) {
61
- // params.allowClear = false;
62
- // }
63
- // if (!_.has(field, 'config.treeData')) {
64
- // if (_.has(field, 'options')) {
65
- // params.treeData = optionToTree(field.options);
66
- // } else {
67
- // params.treeData = []
68
- // }
69
- // }
70
- // return <TreeSelect
71
- // searchPlaceholder={`输入关键字过滤`}
72
- // {...params}
73
- // {...field.config}
74
- // value={selectKey}
75
- // placeholder={this.getSelectTip()}
76
- // multiple={true}
77
- // treeCheckable
78
- // onChange={value => this.onChange((value && (value as string[]).length) ? (value as string[]).join(',') : undefined)}
79
- // />
80
- // }
81
- // }, {
82
- // show: MULTI_CHOOSE_SHOW
83
- // })
84
- // // registerInputType('flat-tree-select', class extends UFormInput {
85
- // // render() {
86
- // // const { value, field, disabled } = this.props;
87
- // // let params: any = { disabled, value, showSearch: true }
88
- // // if (field.rule && _.find(field.rule, { required: true })) {
89
- // // params.allowClear = false;
90
- // // }
91
- // // if (!_.has(field, 'config.treeData')) {
92
- // // if (_.has(field, 'options')) {
93
- // // params.treeData = flatOptionToTree(field.options);
94
- // // } else {
95
- // // params.treeData = []
96
- // // }
97
- // // }
98
- // // return <TreeSelect
99
- // // {...params}
100
- // // {...field.config}
101
- // // placeholder={this.getSelectTip()}
102
- // // multiple={false}
103
- // // treeCheckable={false}
104
- // // onChange={value => this.onChange(value)}
105
- // // />
106
- // // }
107
- // // })
108
- // // registerInputType('multi-flat-tree-select', class extends UFormInput {
109
- // // render() {
110
- // // const { value, field, disabled } = this.props;
111
- // // let selectKey = [];
112
- // // if (value) {
113
- // // selectKey = value.split(',').map(item => item.trim())
114
- // // }
115
- // // let params: any = { disabled, value: selectKey, showSearch: true }
116
- // // if (field.rule && _.find(field.rule, { required: true })) {
117
- // // params.allowClear = false;
118
- // // }
119
- // // if (!_.has(field, 'config.treeData')) {
120
- // // if (_.has(field, 'options')) {
121
- // // params.treeData = flatOptionToTree(field.options);
122
- // // } else {
123
- // // params.treeData = []
124
- // // }
125
- // // }
126
- // // return <TreeSelect
127
- // // {...params}
128
- // // placeholder={this.getSelectTip()}
129
- // // multiple={true}
130
- // // treeCheckable
131
- // // onChange={value => this.onChange((value as string[]).join(','))}
132
- // // />
133
- // // }
134
- // // })
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ const react_1 = __importStar(require("react"));
30
+ const lodash_1 = __importDefault(require("lodash"));
31
+ const _register_1 = require("../../UForm/_register");
32
+ const _input_1 = require("../../UForm/_input");
33
+ const STreeSelect_1 = require("../../TreeSelect/STreeSelect");
34
+ const DTreeSelect_1 = require("../../TreeSelect/DTreeSelect");
35
+ const FTreeSelect_1 = require("../../TreeSelect/FTreeSelect");
36
+ const toArr = (value) => (0, react_1.useMemo)(() => {
37
+ if (value == undefined)
38
+ return [];
39
+ if (lodash_1.default.isArray(value))
40
+ return value;
41
+ if (lodash_1.default.isString(value))
42
+ return value.split(',');
43
+ return [];
44
+ }, [value]);
45
+ (0, _register_1.registerFormField)('stree-select', (props) => {
46
+ const { field, disabled, value, onChange } = props;
47
+ let params = { placeholder: (0, _input_1.getPlaceholder)(field, true), disabled, allowClear: true };
48
+ if (field.required || field.rules && lodash_1.default.find(field.rules, { required: true }))
49
+ params.allowClear = false;
50
+ return react_1.default.createElement(STreeSelect_1.STreeSelect, Object.assign({}, params, field.config, { multiple: false, value: value === null ? undefined : value, onChange: onChange }));
51
+ });
52
+ (0, _register_1.registerFormField)('dtree-select', (props) => {
53
+ const { field, disabled, value, onChange } = props;
54
+ let params = { placeholder: (0, _input_1.getPlaceholder)(field, true), disabled, allowClear: true };
55
+ if (field.required || field.rules && lodash_1.default.find(field.rules, { required: true }))
56
+ params.allowClear = false;
57
+ return react_1.default.createElement(DTreeSelect_1.DTreeSelect, Object.assign({}, params, field.config, { multiple: false, value: value === null ? undefined : value, onChange: onChange }));
58
+ });
59
+ (0, _register_1.registerFormField)('ftree-select', (props) => {
60
+ const { field, disabled, value, onChange } = props;
61
+ let params = { placeholder: (0, _input_1.getPlaceholder)(field, true), disabled, allowClear: true };
62
+ if (field.required || field.rules && lodash_1.default.find(field.rules, { required: true }))
63
+ params.allowClear = false;
64
+ return react_1.default.createElement(FTreeSelect_1.FTreeSelect, Object.assign({}, params, field.config, { multiple: false, value: value === null ? undefined : value, onChange: onChange }));
65
+ });
66
+ const treeChange = (onChange, dataType) => (0, react_1.useCallback)((value) => {
67
+ if (dataType == 'array') {
68
+ onChange(value);
69
+ return;
70
+ }
71
+ onChange(value.join(','));
72
+ }, []);
73
+ (0, _register_1.registerFormField)('multi-stree-select', (props) => {
74
+ const { field, disabled, value, onChange } = props;
75
+ let params = { placeholder: (0, _input_1.getPlaceholder)(field, true), disabled, allowClear: true };
76
+ if (field.required || field.rules && lodash_1.default.find(field.rules, { required: true }))
77
+ params.allowClear = false;
78
+ const treeValue = toArr(value);
79
+ const onTreeChange = treeChange(onChange, field.dataType);
80
+ return react_1.default.createElement(STreeSelect_1.STreeSelect, Object.assign({}, params, field.config, { multiple: true, value: treeValue, onChange: onTreeChange }));
81
+ });
82
+ (0, _register_1.registerFormField)('multi-dtree-select', (props) => {
83
+ const { field, disabled, value, onChange } = props;
84
+ let params = { placeholder: (0, _input_1.getPlaceholder)(field, true), disabled, allowClear: true };
85
+ if (field.required || field.rules && lodash_1.default.find(field.rules, { required: true }))
86
+ params.allowClear = false;
87
+ const treeValue = toArr(value);
88
+ const onTreeChange = treeChange(onChange, field.dataType);
89
+ return react_1.default.createElement(DTreeSelect_1.DTreeSelect, Object.assign({}, params, field.config, { multiple: true, value: treeValue, onChange: onTreeChange }));
90
+ });
91
+ (0, _register_1.registerFormField)('multi-ftree-select', (props) => {
92
+ const { field, disabled, value, onChange } = props;
93
+ let params = { placeholder: (0, _input_1.getPlaceholder)(field, true), disabled, allowClear: true };
94
+ if (field.required || field.rules && lodash_1.default.find(field.rules, { required: true }))
95
+ params.allowClear = false;
96
+ const treeValue = toArr(value);
97
+ const onTreeChange = treeChange(onChange, field.dataType);
98
+ return react_1.default.createElement(FTreeSelect_1.FTreeSelect, Object.assign({}, params, field.config, { multiple: true, value: treeValue, onChange: onTreeChange }));
99
+ });
package/index.d.ts CHANGED
@@ -90,6 +90,9 @@ Checkbox, Switch, DatePicker, TimePicker, Upload, Rate, AutoComplete, Cascader,
90
90
  * 应用性组件
91
91
  */
92
92
  Carousel, Calendar, } from 'antd';
93
+ export { STreeSelect, type STreeSelectProps } from './components/TreeSelect/STreeSelect';
94
+ export { DTreeSelect, type DTreeSelectProps } from './components/TreeSelect/DTreeSelect';
95
+ export { FTreeSelect, type FTreeSelectProps } from './components/TreeSelect/FTreeSelect';
93
96
  export { Form } from 'antd';
94
97
  export { Table } from './components/_adapt/Table';
95
98
  export type { TableProps } from './components/_adapt/Table';