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