@luck-design-biz/luckda 0.0.1

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 (54) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +49 -0
  3. package/README.zh-CN.md +51 -0
  4. package/es/components/Builder/index.js +133 -0
  5. package/es/components/LdAutoForm/index.js +136 -0
  6. package/es/components/LdCard/index.js +198 -0
  7. package/es/components/LdCard/model.js +34 -0
  8. package/es/components/LdCom/index.js +24 -0
  9. package/es/components/LdFormList/index.js +293 -0
  10. package/es/components/LdFormList/model.js +24 -0
  11. package/es/components/LdGrid/index.js +214 -0
  12. package/es/components/LdGrid/model.js +36 -0
  13. package/es/components/LdGridForm/index.js +172 -0
  14. package/es/components/LdGridForm/index.less +7 -0
  15. package/es/components/LdInfoPanel/index.js +114 -0
  16. package/es/components/LdPop/index.js +31 -0
  17. package/es/components/LdTree/index.js +244 -0
  18. package/es/components/LdTree/index.less +36 -0
  19. package/es/helper/FromItems.js +267 -0
  20. package/es/helper/action.js +129 -0
  21. package/es/helper/form.js +100 -0
  22. package/es/helper/ldBuilder.js +47 -0
  23. package/es/helper/ldComBuild.js +38 -0
  24. package/es/index.js +9 -0
  25. package/es/services.js +46 -0
  26. package/es/utils/form.js +214 -0
  27. package/es/utils/grid.js +194 -0
  28. package/es/utils/index.js +2 -0
  29. package/lib/components/Builder/index.js +142 -0
  30. package/lib/components/LdAutoForm/index.js +145 -0
  31. package/lib/components/LdCard/index.js +207 -0
  32. package/lib/components/LdCard/model.js +41 -0
  33. package/lib/components/LdCom/index.js +35 -0
  34. package/lib/components/LdFormList/index.js +301 -0
  35. package/lib/components/LdFormList/model.js +30 -0
  36. package/lib/components/LdGrid/index.js +223 -0
  37. package/lib/components/LdGrid/model.js +43 -0
  38. package/lib/components/LdGridForm/index.js +181 -0
  39. package/lib/components/LdGridForm/index.less +7 -0
  40. package/lib/components/LdInfoPanel/index.js +123 -0
  41. package/lib/components/LdPop/index.js +40 -0
  42. package/lib/components/LdTree/index.js +253 -0
  43. package/lib/components/LdTree/index.less +36 -0
  44. package/lib/helper/FromItems.js +287 -0
  45. package/lib/helper/action.js +138 -0
  46. package/lib/helper/form.js +111 -0
  47. package/lib/helper/ldBuilder.js +56 -0
  48. package/lib/helper/ldComBuild.js +49 -0
  49. package/lib/index.js +84 -0
  50. package/lib/services.js +54 -0
  51. package/lib/utils/form.js +225 -0
  52. package/lib/utils/grid.js +203 -0
  53. package/lib/utils/index.js +27 -0
  54. package/package.json +92 -0
@@ -0,0 +1,293 @@
1
+ import _extends from "@babel/runtime/helpers/esm/extends";
2
+ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
3
+ import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
4
+ import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
5
+ import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
6
+ var _excluded = ["namespace", "formState", "formMode", "loading", "wrapperRef", "readOnly", "mainFormLdId", "renderFormList", "renderAffixLeft", "renderAffixRight", "beforeSubmit", "showSaveBtn", "saveBtnTitle", "affixLayout", "onValueChange", "afterSubmit", "renderFormExtra"],
7
+ _excluded2 = ["id", "header", "title", "readOnly", "extraConfig"],
8
+ _excluded3 = ["ldId", "initData"];
9
+ import React, { useContext, useRef, forwardRef, Fragment, useImperativeHandle, useState } from 'react';
10
+ import { connect, getDvaApp } from 'umi';
11
+ import PropTypes from 'prop-types';
12
+ import { useCreation, useMemoizedFn } from 'ahooks';
13
+ import { BasicDivider } from 'luck-design';
14
+ import { formatMessage, ChildrenUtil } from '@luck-design-biz/base/utils';
15
+ import { FormList, FormListAffix, FormBtn } from '@luck-design-biz/base/FormList';
16
+ import buildLdAutoForm from '../LdAutoForm';
17
+ import buildLdGridForm from '../LdGridForm';
18
+ import { Collapse } from '@luck-design-biz/base';
19
+ import { LuckDaContext } from '../Builder';
20
+ import { LuckDaPopContext } from '../LdPop';
21
+ import createModel from './model';
22
+ import { onBatchSubmitAction } from '../../helper/action';
23
+
24
+ // 组件
25
+ var LdFormList = function LdFormList(_ref) {
26
+ var _formList$find;
27
+ var namespace = _ref.namespace,
28
+ formState = _ref.formState,
29
+ formMode = _ref.formMode,
30
+ loading = _ref.loading,
31
+ wrapperRef = _ref.wrapperRef,
32
+ readOnly = _ref.readOnly,
33
+ mainFormLdId = _ref.mainFormLdId,
34
+ renderFormList = _ref.renderFormList,
35
+ renderAffixLeft = _ref.renderAffixLeft,
36
+ renderAffixRight = _ref.renderAffixRight,
37
+ beforeSubmit = _ref.beforeSubmit,
38
+ showSaveBtn = _ref.showSaveBtn,
39
+ saveBtnTitle = _ref.saveBtnTitle,
40
+ affixLayout = _ref.affixLayout,
41
+ _ref$onValueChange = _ref.onValueChange,
42
+ onValueChange = _ref$onValueChange === void 0 ? function () {} : _ref$onValueChange,
43
+ afterSubmit = _ref.afterSubmit,
44
+ _ref$renderFormExtra = _ref.renderFormExtra,
45
+ renderFormExtra = _ref$renderFormExtra === void 0 ? function () {
46
+ return /*#__PURE__*/React.createElement(React.Fragment, null);
47
+ } : _ref$renderFormExtra,
48
+ props = _objectWithoutProperties(_ref, _excluded);
49
+ var _useState = useState(false),
50
+ _useState2 = _slicedToArray(_useState, 2),
51
+ submitLoading = _useState2[0],
52
+ setSubmitLoading = _useState2[1];
53
+ var _ref2 = useContext(LuckDaPopContext) || {},
54
+ defaultLayout = _ref2.affixLayout;
55
+ var _ref3 = useContext(LuckDaContext) || {},
56
+ readFieldProps = _ref3.readFieldProps,
57
+ dataSets = _ref3.dataSets,
58
+ doAction = _ref3.doAction;
59
+ var formListRef = useRef(null);
60
+ useImperativeHandle(wrapperRef, function () {
61
+ return _objectSpread(_objectSpread({}, formListRef.current), {}, {
62
+ onLdQuery: function onLdQuery() {
63
+ var _params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
64
+ if (props.formMode !== 'add') {
65
+ var _getDvaApp;
66
+ (_getDvaApp = getDvaApp()) === null || _getDvaApp === void 0 ? void 0 : _getDvaApp._store.dispatch({
67
+ type: "".concat(namespace, "/setTicketData"),
68
+ payload: {
69
+ ticketData: _objectSpread(_objectSpread({}, props.ticketData), _params)
70
+ }
71
+ });
72
+ formListRef.current.doQuery();
73
+ }
74
+ }
75
+ });
76
+ });
77
+ var handleValueChange = useMemoizedFn(function (change) {
78
+ var _ref4 = formListRef.current || {},
79
+ formRefs = _ref4.formRefs;
80
+ var data = formRefs && Object.keys(formRefs).map(function (key) {
81
+ var _formRefs$key$current;
82
+ var getValue = formRefs[key].getData || ((_formRefs$key$current = formRefs[key].current) === null || _formRefs$key$current === void 0 ? void 0 : _formRefs$key$current.getFieldsValue);
83
+ return _defineProperty({}, key, getValue());
84
+ });
85
+ onValueChange(change, data);
86
+ });
87
+ var renderExtra = useMemoizedFn(function (formId, extraConfig) {
88
+ return /*#__PURE__*/React.createElement(React.Fragment, null, window['g_sessionStore'].get(window.appConfig['matchPresetAdmin']) === '1' && RUNTIME === 'dev' && /*#__PURE__*/React.createElement("a", {
89
+ onClick: function onClick() {
90
+ return readFieldProps(formId);
91
+ }
92
+ }, formatMessage({
93
+ id: 'app.luckda.button.readConfig',
94
+ label: '查看配置'
95
+ })), /*#__PURE__*/React.createElement(FormBtn, _extends({
96
+ formId: formId
97
+ }, extraConfig)));
98
+ });
99
+ var handleBatchSubmit = function handleBatchSubmit(values, action) {
100
+ setSubmitLoading(true);
101
+ onBatchSubmitAction({
102
+ values: values,
103
+ formList: formList,
104
+ dataSets: dataSets,
105
+ beforeSubmit: beforeSubmit,
106
+ doAction: doAction,
107
+ action: action,
108
+ formData: props.formData
109
+ }, function (success, indocno) {
110
+ setSubmitLoading(false);
111
+ if (success) {
112
+ if (afterSubmit) {
113
+ afterSubmit();
114
+ } else {
115
+ var _formListRef$current;
116
+ formListRef.current.onQuery(null, _defineProperty({}, mainFormLdId, {
117
+ indocno: indocno
118
+ }), function () {
119
+ return formListRef.current.setFormMode('edit');
120
+ });
121
+ props.parentModelName && ((_formListRef$current = formListRef.current) === null || _formListRef$current === void 0 ? void 0 : _formListRef$current.doParentsQuery());
122
+ }
123
+ }
124
+ });
125
+ };
126
+ var formConfig = _objectSpread(_objectSpread({
127
+ formState: formState,
128
+ formMode: formMode,
129
+ loading: loading || submitLoading
130
+ }, props), {}, {
131
+ namespace: namespace,
132
+ readOnly: readOnly,
133
+ mainFormLdId: mainFormLdId,
134
+ onValueChange: handleValueChange,
135
+ renderExtra: renderExtra
136
+ });
137
+ var formList = renderFormList(formConfig);
138
+ var mainDataSetKey = (_formList$find = formList.find(function (i) {
139
+ return i.id === mainFormLdId;
140
+ })) === null || _formList$find === void 0 ? void 0 : _formList$find.dataSetKey;
141
+ return /*#__PURE__*/React.createElement(FormList, _extends({
142
+ editFlow: true,
143
+ formState: formState,
144
+ formMode: formMode,
145
+ loading: loading || submitLoading
146
+ }, props, {
147
+ modelName: namespace,
148
+ ref: formListRef,
149
+ onAdd: function onAdd(values) {
150
+ return handleBatchSubmit(values, 'add');
151
+ },
152
+ onBatchUpdate: function onBatchUpdate(values) {
153
+ return handleBatchSubmit(values, 'update');
154
+ }
155
+ }), /*#__PURE__*/React.createElement(FormListAffix, {
156
+ showSaveBtn: !readOnly && showSaveBtn,
157
+ renderLeft: renderAffixLeft,
158
+ renderRight: renderAffixRight,
159
+ title: saveBtnTitle,
160
+ layout: affixLayout || defaultLayout
161
+ }), formList.map(function (formProps) {
162
+ var _ref6 = formProps || {},
163
+ ldId = _ref6.id,
164
+ _ref6$header = _ref6.header,
165
+ header = _ref6$header === void 0 ? 'collapse' : _ref6$header,
166
+ title = _ref6.title,
167
+ _readOnly = _ref6.readOnly,
168
+ _ref6$extraConfig = _ref6.extraConfig,
169
+ extraConfig = _ref6$extraConfig === void 0 ? {} : _ref6$extraConfig,
170
+ _props = _objectWithoutProperties(_ref6, _excluded2);
171
+ var _props$type = _props.type,
172
+ type = _props$type === void 0 ? 'auto' : _props$type;
173
+ var renderForm = type === 'auto' ? buildLdAutoForm : buildLdGridForm;
174
+ if (header === 'collapse') return /*#__PURE__*/React.createElement(Collapse, {
175
+ title: title || ldId,
176
+ extra: renderExtra(ldId, extraConfig),
177
+ id: ldId,
178
+ key: ldId,
179
+ mode: ldId !== mainFormLdId && 'tab'
180
+ }, renderForm(_objectSpread(_objectSpread({}, _props), {}, {
181
+ ldId: ldId,
182
+ mainFormLdId: mainFormLdId,
183
+ mainDataSetKey: mainDataSetKey,
184
+ readOnly: readOnly || _readOnly,
185
+ onValueChange: handleValueChange,
186
+ ticketData: props.ticketData
187
+ })));
188
+ return /*#__PURE__*/React.createElement(Fragment, {
189
+ key: ldId
190
+ }, header === 'divider' && /*#__PURE__*/React.createElement(BasicDivider, {
191
+ title: title || ldId,
192
+ id: ldId
193
+ }), /*#__PURE__*/React.createElement("div", {
194
+ style: {
195
+ textAlign: 'right'
196
+ }
197
+ }, renderExtra(ldId, extraConfig)), renderForm(_objectSpread(_objectSpread({}, _props), {}, {
198
+ ldId: ldId,
199
+ mainFormLdId: mainFormLdId,
200
+ mainDataSetKey: mainDataSetKey,
201
+ readOnly: readOnly || _readOnly,
202
+ onValueChange: handleValueChange,
203
+ ticketData: props.ticketData
204
+ })));
205
+ }), ChildrenUtil.deepMap(renderFormExtra(formConfig), function (child) {
206
+ var _child$type;
207
+ return /*#__PURE__*/React.cloneElement(child, ((_child$type = child.type) === null || _child$type === void 0 ? void 0 : _child$type.displayName) === 'Collapse' ? {
208
+ mode: child.props.mode || 'tab'
209
+ } : {});
210
+ }));
211
+ };
212
+
213
+ // 构建带有model的组件
214
+ var builder = function builder(WrappedComponent, namespace, initData) {
215
+ var _getDvaApp2;
216
+ (_getDvaApp2 = getDvaApp()) === null || _getDvaApp2 === void 0 ? void 0 : _getDvaApp2._store.dispatch({
217
+ type: "".concat(namespace, "/setFormInit"),
218
+ payload: _objectSpread({
219
+ formMode: 'add'
220
+ }, initData)
221
+ });
222
+ return connect(function (_ref7) {
223
+ var modelName = _ref7[namespace],
224
+ loading = _ref7.loading;
225
+ return {
226
+ formData: modelName.formData,
227
+ formOperates: modelName.formOperates,
228
+ formState: modelName.formState,
229
+ formMode: modelName.formMode,
230
+ ticketData: modelName.ticketData,
231
+ loading: loading.models[namespace]
232
+ };
233
+ })(WrappedComponent);
234
+ };
235
+ var Index = function Index(_ref8) {
236
+ var namespace = _ref8.ldId,
237
+ initData = _ref8.initData,
238
+ props = _objectWithoutProperties(_ref8, _excluded3);
239
+ var Component = useCreation(function () {
240
+ var _getDvaApp3, _getDvaApp4;
241
+ (_getDvaApp3 = getDvaApp()) === null || _getDvaApp3 === void 0 ? void 0 : _getDvaApp3.unmodel(namespace);
242
+ if (!((_getDvaApp4 = getDvaApp()) === null || _getDvaApp4 === void 0 ? void 0 : _getDvaApp4._store.getState()[namespace])) {
243
+ var _getDvaApp5;
244
+ (_getDvaApp5 = getDvaApp()) === null || _getDvaApp5 === void 0 ? void 0 : _getDvaApp5.model(createModel(namespace));
245
+ }
246
+ return builder(LdFormList, namespace, initData);
247
+ }, [namespace]);
248
+ return /*#__PURE__*/React.createElement(Component, _extends({
249
+ namespace: namespace
250
+ }, props));
251
+ };
252
+ Index.propTypes = {
253
+ ldId: PropTypes.string.isRequired,
254
+ // 唯一key
255
+ initData: PropTypes.object,
256
+ // 初始化数据
257
+ readOnly: PropTypes.bool,
258
+ // 是否只读
259
+ mainFormLdId: PropTypes.string,
260
+ // 主数据集Key
261
+ renderFormList: PropTypes.func,
262
+ renderAffixLeft: PropTypes.func,
263
+ // 左侧渲染
264
+ renderAffixRight: PropTypes.func,
265
+ // 右侧渲染
266
+ beforeSubmit: PropTypes.func,
267
+ // 点击提交前的事件
268
+ showSaveBtn: PropTypes.bool,
269
+ // 是否展示保存按钮
270
+ saveBtnTitle: PropTypes.element,
271
+ // 自定义保存按钮上的内容
272
+ affixLayout: PropTypes.oneOf(['top', 'bottom']),
273
+ onValueChange: PropTypes.func // 参数变化的事件
274
+ };
275
+
276
+ Index.defaultProps = {
277
+ initData: {},
278
+ readOnly: false,
279
+ renderFormList: function renderFormList() {
280
+ return [];
281
+ },
282
+ showSaveBtn: true,
283
+ beforeSubmit: function beforeSubmit(values) {
284
+ return new Promise(function (resolve) {
285
+ return resolve(values);
286
+ });
287
+ }
288
+ };
289
+ export default /*#__PURE__*/forwardRef(function (props, ref) {
290
+ return /*#__PURE__*/React.createElement(Index, _extends({
291
+ wrapperRef: ref
292
+ }, props));
293
+ });
@@ -0,0 +1,24 @@
1
+ import { createFormModel } from '@luck-design-biz/base/utils/modelHelper';
2
+ export default function (namespace) {
3
+ return createFormModel({
4
+ namespace: namespace,
5
+ state: {
6
+ ticketData: null
7
+ },
8
+ effects: {},
9
+ reducers: {
10
+ setFormInit: function setFormInit(state, _ref) {
11
+ var payload = _ref.payload;
12
+ var formMode = payload.formMode,
13
+ ticketData = payload.ticketData;
14
+ state.formMode = formMode;
15
+ state.ticketData = ticketData;
16
+ },
17
+ setTicketData: function setTicketData(state, _ref2) {
18
+ var payload = _ref2.payload;
19
+ var ticketData = payload.ticketData;
20
+ state.ticketData = ticketData;
21
+ }
22
+ }
23
+ });
24
+ }
@@ -0,0 +1,214 @@
1
+ import _extends from "@babel/runtime/helpers/esm/extends";
2
+ import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
3
+ import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
4
+ import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
5
+ var _excluded = ["columns", "resources", "actions", "doAction", "afterInit", "namespace", "wrapperRef", "list", "detail", "params", "filters", "loading", "unclosableSet", "onQuery", "doQuery", "pageno", "pagesize", "totalCount", "columnsRewrite", "batchOperations", "formatDataSource", "resultSet", "actionsColumn", "readFilter", "isFlow", "isTreeGrid"],
6
+ _excluded2 = ["ldId", "moduleCode", "suppressInit", "unclosableSet", "pageSize", "service"];
7
+ import React, { forwardRef, useImperativeHandle, useRef, useEffect } from 'react';
8
+ import { getDvaApp } from 'umi';
9
+ import { transform, includes } from 'lodash';
10
+ import { useCreation } from 'ahooks';
11
+ import PropTypes from 'prop-types';
12
+ import { build } from '@luck-design-biz/base/Component';
13
+ import { GridList } from '@luck-design-biz/base/List';
14
+ import ldBuilder from '../../helper/ldBuilder';
15
+ import { getGridColumn } from '../../utils';
16
+ import createModel from './model';
17
+ var LdGrid = function LdGrid(_ref) {
18
+ var columns = _ref.columns,
19
+ resources = _ref.resources,
20
+ actions = _ref.actions,
21
+ doAction = _ref.doAction,
22
+ afterInit = _ref.afterInit,
23
+ namespace = _ref.namespace,
24
+ wrapperRef = _ref.wrapperRef,
25
+ list = _ref.list,
26
+ detail = _ref.detail,
27
+ params = _ref.params,
28
+ filters = _ref.filters,
29
+ loading = _ref.loading,
30
+ unclosableSet = _ref.unclosableSet,
31
+ onQuery = _ref.onQuery,
32
+ doQuery = _ref.doQuery,
33
+ current = _ref.pageno,
34
+ pageSize = _ref.pagesize,
35
+ total = _ref.totalCount,
36
+ columnsRewrite = _ref.columnsRewrite,
37
+ batchOperations = _ref.batchOperations,
38
+ formatDataSource = _ref.formatDataSource,
39
+ resultSet = _ref.resultSet,
40
+ actionsColumn = _ref.actionsColumn,
41
+ readFilter = _ref.readFilter,
42
+ isFlow = _ref.isFlow,
43
+ isTreeGrid = _ref.isTreeGrid,
44
+ props = _objectWithoutProperties(_ref, _excluded);
45
+ var gridRef = useRef(null);
46
+ var treeConfig = useCreation(function () {
47
+ if (isTreeGrid) {
48
+ return {
49
+ treeData: true,
50
+ isFlow: true,
51
+ renderIndex: false,
52
+ getDataPath: function getDataPath(data) {
53
+ var _data$sidcc;
54
+ return (_data$sidcc = data.sidcc) === null || _data$sidcc === void 0 ? void 0 : _data$sidcc.substring(1, data.sidcc.length - 1).split('/');
55
+ }
56
+ };
57
+ }
58
+ return {};
59
+ }, [isTreeGrid]);
60
+ useEffect(function () {
61
+ readFilter && readFilter(params, filters);
62
+ }, [params, filters]);
63
+ useImperativeHandle(wrapperRef, function () {
64
+ return _objectSpread(_objectSpread({}, gridRef.current), {}, {
65
+ onLdQuery: function onLdQuery() {
66
+ var _params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
67
+ doQuery({
68
+ params: _params,
69
+ callback: afterInit
70
+ });
71
+ }
72
+ });
73
+ });
74
+ var _batchOperations = useCreation(function () {
75
+ return batchOperations.map(function (i) {
76
+ return _objectSpread(_objectSpread({}, i), {}, {
77
+ wanted: i.wanted || 'virtual'
78
+ });
79
+ });
80
+ }, [batchOperations]);
81
+ var _columns = useCreation(function () {
82
+ return transform(columns, function (result, col) {
83
+ if (col.isShowInGrid) {
84
+ var customColumn = columnsRewrite.find(function (column) {
85
+ return column.field === col.field;
86
+ }) || {};
87
+ result.push(getGridColumn(col, customColumn));
88
+ }
89
+ }, []);
90
+ }, [columns, columnsRewrite]);
91
+ var _actionsColumn = useCreation(function () {
92
+ return actionsColumn ? _objectSpread(_objectSpread({}, actionsColumn), {}, {
93
+ getActions: function getActions(data, index, params) {
94
+ var gridActions = actionsColumn.getActions && actionsColumn.getActions(data, index, params) || [];
95
+ return transform(gridActions, function (result, value) {
96
+ if (!value.resource || includes(data['__infuse_serial__'] || resources, value.resource)) {
97
+ result.push(_objectSpread(_objectSpread({}, value), {}, {
98
+ wanted: value.resource || 'virtual'
99
+ }));
100
+ }
101
+ }, []);
102
+ }
103
+ }) : null;
104
+ }, [actionsColumn, resources]);
105
+ var _resultSet = _objectSpread(_objectSpread({
106
+ set: {
107
+ params: params,
108
+ filters: filters
109
+ }
110
+ }, resultSet), {}, {
111
+ unclosableSet: unclosableSet,
112
+ onQuery: onQuery
113
+ });
114
+ return /*#__PURE__*/React.createElement(GridList, _extends({
115
+ columns: _columns
116
+ // 资源串、行为配置
117
+ ,
118
+ actionsColumn: _actionsColumn,
119
+ batchOperations: _batchOperations,
120
+ loading: loading,
121
+ pagination: isFlow ? false : {
122
+ total: total,
123
+ current: current,
124
+ pageSize: pageSize
125
+ }
126
+ }, treeConfig, props, {
127
+ modelName: namespace,
128
+ dataSource: formatDataSource(list, detail),
129
+ resultSet: _resultSet,
130
+ operates: [].concat(_toConsumableArray(resources), ['virtual']),
131
+ ref: gridRef
132
+ }));
133
+ };
134
+ var ForwardLdGrid = /*#__PURE__*/forwardRef(function (props, ref) {
135
+ return /*#__PURE__*/React.createElement(LdGrid, _extends({
136
+ wrapperRef: ref
137
+ }, props));
138
+ });
139
+ var LdIndex = function LdIndex(_ref2) {
140
+ var namespace = _ref2.ldId,
141
+ moduleCode = _ref2.moduleCode,
142
+ suppressInit = _ref2.suppressInit,
143
+ unclosableSet = _ref2.unclosableSet,
144
+ pageSize = _ref2.pageSize,
145
+ service = _ref2.service,
146
+ props = _objectWithoutProperties(_ref2, _excluded2);
147
+ var isTreeGrid = includes(props.isTree, props.dataSetKey);
148
+ var Component = useCreation(function () {
149
+ var _getDvaApp, _getDvaApp2;
150
+ (_getDvaApp = getDvaApp()) === null || _getDvaApp === void 0 ? void 0 : _getDvaApp.unmodel(namespace);
151
+ if (!((_getDvaApp2 = getDvaApp()) === null || _getDvaApp2 === void 0 ? void 0 : _getDvaApp2._store.getState()[namespace])) {
152
+ var _getDvaApp3;
153
+ (_getDvaApp3 = getDvaApp()) === null || _getDvaApp3 === void 0 ? void 0 : _getDvaApp3.model(createModel(namespace, {
154
+ isFlow: isTreeGrid || !!props.isFlow,
155
+ dataSetKey: props.dataSetKey,
156
+ moduleCode: moduleCode,
157
+ unclosableSet: unclosableSet,
158
+ pageSize: pageSize,
159
+ isTreeGrid: isTreeGrid,
160
+ service: service
161
+ }));
162
+ }
163
+ return build(ForwardLdGrid, namespace, {
164
+ suppressInit: suppressInit,
165
+ afterInit: props.afterInit
166
+ });
167
+ }, [namespace]);
168
+ return /*#__PURE__*/React.createElement(Component, _extends({
169
+ isTreeGrid: isTreeGrid,
170
+ namespace: namespace
171
+ }, props));
172
+ };
173
+ var Index = ldBuilder(LdIndex);
174
+ Index.propTypes = {
175
+ ldId: PropTypes.string.isRequired,
176
+ // 唯一key
177
+ dataSetKey: PropTypes.string.isRequired,
178
+ // 数据集key
179
+ readOnly: PropTypes.bool,
180
+ // 是否只读
181
+ columnsRewrite: PropTypes.arrayOf(
182
+ //
183
+ PropTypes.shape({
184
+ field: PropTypes.string.isRequired
185
+ })),
186
+ batchOperations: PropTypes.array,
187
+ // 批量操作元素
188
+ formatDataSource: PropTypes.func,
189
+ // 格式化数据源
190
+ resultSet: PropTypes.object,
191
+ actionsColumn: PropTypes.object,
192
+ // 行操作
193
+ suppressInit: PropTypes.bool,
194
+ // 抑制初始化
195
+ afterInit: PropTypes.func // 初始化后
196
+ };
197
+
198
+ Index.defaultProps = {
199
+ columnsRewrite: [],
200
+ batchOperations: [],
201
+ formatDataSource: function formatDataSource(_list, _detail) {
202
+ return _list.map(function (indocno) {
203
+ return _detail[indocno];
204
+ });
205
+ },
206
+ resultSet: {},
207
+ suppressInit: false,
208
+ isFlow: false
209
+ };
210
+ export default /*#__PURE__*/forwardRef(function (props, ref) {
211
+ return /*#__PURE__*/React.createElement(Index, _extends({
212
+ wrapperRef: ref
213
+ }, props));
214
+ });
@@ -0,0 +1,36 @@
1
+ import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
2
+ import { createMainModel } from '@luck-design-biz/base/utils/modelHelper';
3
+ import { readBehaviorCall } from '../../services';
4
+ export default function (namespace) {
5
+ var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
6
+ _ref$isFlow = _ref.isFlow,
7
+ isFlow = _ref$isFlow === void 0 ? false : _ref$isFlow,
8
+ dataSetKey = _ref.dataSetKey,
9
+ moduleCode = _ref.moduleCode,
10
+ _ref$unclosableSet = _ref.unclosableSet,
11
+ unclosableSet = _ref$unclosableSet === void 0 ? [] : _ref$unclosableSet,
12
+ pageSize = _ref.pageSize,
13
+ _ref$isTreeGrid = _ref.isTreeGrid,
14
+ isTreeGrid = _ref$isTreeGrid === void 0 ? false : _ref$isTreeGrid,
15
+ service = _ref.service;
16
+ return createMainModel({
17
+ namespace: namespace,
18
+ isFlow: isFlow,
19
+ unclosableSet: unclosableSet,
20
+ pageSize: pageSize,
21
+ readAll: function readAll() {
22
+ var get = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
23
+ var post = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
24
+ return (service || readBehaviorCall)(_objectSpread(_objectSpread({}, get), {}, {
25
+ moduleCode: moduleCode,
26
+ datasetCode: dataSetKey,
27
+ behaviorKey: isTreeGrid ? 'readTree' : 'readGrid'
28
+ }), {
29
+ _AutoFilter: post
30
+ });
31
+ },
32
+ state: {},
33
+ effects: {},
34
+ reducers: {}
35
+ });
36
+ }