@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
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2020 UmiJS
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,49 @@
1
+ ---
2
+ luck业务组件库
3
+ ---### 安装依赖
4
+
5
+ ```bash
6
+ npm install
7
+ ```
8
+
9
+ ### 编译
10
+
11
+ ```bash
12
+ npm run build
13
+ ```
14
+
15
+ ### 本地调试
16
+
17
+ #### 业务组件库必须要在业务项目中调试运行,业务组件库提供以下方法进行本地调试:
18
+
19
+ 首先需要全局安装 yalc
20
+
21
+ ```bash
22
+ npm install yalc -g
23
+ ```
24
+
25
+ 安装成功后执行以下操作编译并发布全局(本地)
26
+
27
+ ```bash
28
+ npm run async
29
+ ```
30
+
31
+ 进入需要相关业务项目中,将发布全局的组件库 link 进去
32
+
33
+ ```bash
34
+ yalc link luck-biz-components
35
+ ```
36
+
37
+ ### 发布 npm
38
+
39
+ 首先更新 package.json 中的版本号,然后登录进入 npm 账号
40
+
41
+ ```bash
42
+ npm login
43
+ ```
44
+
45
+ 最后执行发布命令
46
+
47
+ ```bash
48
+ npm publish
49
+ ```
@@ -0,0 +1,51 @@
1
+ # 🌟 Dumi Template
2
+
3
+ 为组件开发场景而生的文档模板
4
+
5
+ [English](./README.md) | 简体中文
6
+
7
+ ## 🚀 如何使用?
8
+
9
+ ![](https://gw.alipayobjects.com/zos/bmw-prod/91791904-cdde-4408-959d-72fd0c9049b1/kj80x6lv_w1918_h352.png)
10
+
11
+ ## ✨ 在线预览
12
+
13
+ https://umijs.github.io/luck-biz-components/
14
+
15
+ ## 📒 目录介绍
16
+
17
+ ```
18
+ ├── docs 文档存放路径
19
+ │ ├── index.md 首页展示
20
+ │ └── **.** 网站目录文档
21
+ ├── src 组件主目录
22
+ │ ├── index.ts 组件注册
23
+ │ └── Foo 组件开发
24
+ ├── .eslintrc.js eslint 配置
25
+ ├── .fatherrc.ts father 配置
26
+ ├── .umirc.ts dumi 配置
27
+ └── tsconfig.json typescript 配置
28
+ ```
29
+
30
+ 其余文件可自行查阅了解。
31
+
32
+ ## 🤖 命令介绍
33
+
34
+ | 名称 | 描述 | 备注 |
35
+ | ----------------------- | -------------- | -------------------------------------------------------------------- |
36
+ | `npm run start` | 项目启动 | 使用 [dumi](https://github.com/umijs/dumi),组件开发和文档开发在一起 |
37
+ | `npm run test` | 组件测试 | - |
38
+ | `npm run test:coverage` | 代码覆盖率查看 | - |
39
+ | `npm run prettier` | 代码美化 | - |
40
+ | `npm run build` | 组件打包 | 使用 [father](https://github.com/umijs/father) 工具 |
41
+ | `npm run release` | 组件打包发布 | - |
42
+ | `npm run docs:build` | 文档打包 | - |
43
+ | `npm run docs:deploy` | 文档发布 | 这里默认是使用了 GitHub Pages |
44
+ | `npm run deploy` | 文档打包发布 | - |
45
+
46
+ ## 交流群
47
+
48
+ <div>
49
+ <img data-type="dingtalk" src="https://gw.alipayobjects.com/zos/bmw-prod/ce3439e7-3bf9-4031-b823-6473439ec9e6/kxkiis4c_w1004_h1346.jpeg" width="300" />
50
+ <img data-type="wechat" src="https://gw.alipayobjects.com/zos/bmw-prod/c18bc2a5-719a-48ca-b225-c79ef88bfb43/k7m10ymd_w1004_h1346.jpeg" width="300" />
51
+ </div>
@@ -0,0 +1,133 @@
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 React, { createContext, useState, useRef } from 'react';
6
+ import { useRequest, useSetState, useMemoizedFn } from 'ahooks';
7
+ import { BasicForm, BasicFormItem } from 'luck-design';
8
+ import LdPop from '../LdPop';
9
+ import { readModlue } from '../../services';
10
+ import { doAction as doActionUtils } from '../../helper/action';
11
+ import { formatMessage } from '@luck-design-biz/base/utils';
12
+ var LuckDaContext = /*#__PURE__*/createContext();
13
+ var builder = function builder(WrappedComponent, moduleCode) {
14
+ var Component = function Component(props) {
15
+ if (!moduleCode) return formatMessage({
16
+ id: 'luckda.paramMiss.moduleCode',
17
+ label: '缺少模块Key'
18
+ });
19
+ var _useState = useState(null),
20
+ _useState2 = _slicedToArray(_useState, 2),
21
+ moduleData = _useState2[0],
22
+ setModuleData = _useState2[1];
23
+ var _useSetState = useSetState({}),
24
+ _useSetState2 = _slicedToArray(_useSetState, 2),
25
+ pops = _useSetState2[0],
26
+ setPops = _useSetState2[1];
27
+ var fieldProps = useRef({});
28
+ var _useRequest = useRequest(readModlue, {
29
+ defaultParams: [{
30
+ moduleCode: moduleCode
31
+ }],
32
+ onSuccess: function onSuccess(res) {
33
+ var code = res.code,
34
+ data = res.data;
35
+ if (code === 1) {
36
+ setModuleData({
37
+ actions: data.actions || {},
38
+ dataSets: data.dataSets || {},
39
+ isTree: data.isTree || [],
40
+ resources: data.resources || []
41
+ });
42
+ }
43
+ }
44
+ }),
45
+ loading = _useRequest.loading;
46
+ var openPop = useMemoizedFn(function (ldId, params) {
47
+ setPops(function (prev) {
48
+ return _objectSpread(_objectSpread({}, prev), {}, _defineProperty({}, ldId, _objectSpread(_objectSpread({}, prev[ldId]), params)));
49
+ });
50
+ });
51
+ var closePop = useMemoizedFn(function (ldId) {
52
+ setPops(function (prev) {
53
+ return _objectSpread(_objectSpread({}, prev), {}, _defineProperty({}, ldId, {
54
+ visible: false,
55
+ component: null
56
+ }));
57
+ });
58
+ setTimeout(function () {
59
+ setPops(function (prev) {
60
+ delete prev[ldId];
61
+ return prev;
62
+ });
63
+ }, 500);
64
+ });
65
+ var doAction = useMemoizedFn(function (_action, _data, _params) {
66
+ doActionUtils(_action, _data, _params, {
67
+ actions: moduleData.actions,
68
+ moduleCode: moduleCode
69
+ });
70
+ });
71
+ var readFieldProps = function readFieldProps(ldId) {
72
+ openPop('luckdaConfigFields', {
73
+ title: '配置信息',
74
+ mode: 'drawer',
75
+ component: /*#__PURE__*/React.createElement(BasicForm, {
76
+ dataSource: {
77
+ data: fieldProps.current[ldId]
78
+ },
79
+ readOnly: true
80
+ }, /*#__PURE__*/React.createElement(BasicFormItem, {
81
+ type: 'jsonEditor',
82
+ name: 'data',
83
+ hideLabel: true,
84
+ config: {
85
+ displayDataTypes: false,
86
+ enableClipboard: true
87
+ }
88
+ }))
89
+ });
90
+ };
91
+ var setFieldProps = function setFieldProps() {
92
+ var _props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
93
+ fieldProps.current = _objectSpread(_objectSpread({}, fieldProps.current), _props);
94
+ };
95
+ if (loading) return 'loading...';
96
+ if (!moduleData) return formatMessage({
97
+ id: 'luckda.module.loadFailed',
98
+ label: '模块信息加载失败'
99
+ });
100
+ if (moduleData.length === 0) return formatMessage({
101
+ id: 'luckda.module.missDataSet',
102
+ label: '模块缺少数据集'
103
+ });
104
+ return /*#__PURE__*/React.createElement(LuckDaContext.Provider, {
105
+ value: _objectSpread(_objectSpread({}, moduleData), {}, {
106
+ doAction: doAction,
107
+ openPop: openPop,
108
+ closePop: closePop,
109
+ readFieldProps: readFieldProps,
110
+ setFieldProps: setFieldProps,
111
+ moduleCode: moduleCode
112
+ })
113
+ }, /*#__PURE__*/React.createElement(WrappedComponent, _extends({}, moduleData || {}, {
114
+ doAction: doAction,
115
+ openPop: openPop,
116
+ closePop: closePop
117
+ }, props)), Object.keys(pops).map(function (ldId) {
118
+ return /*#__PURE__*/React.createElement(LdPop, {
119
+ ldId: ldId,
120
+ key: ldId,
121
+ params: _objectSpread({
122
+ visible: true,
123
+ onClose: function onClose() {
124
+ return closePop(ldId);
125
+ }
126
+ }, pops[ldId])
127
+ });
128
+ }));
129
+ };
130
+ return Component;
131
+ };
132
+ export default builder;
133
+ export { LuckDaContext };
@@ -0,0 +1,136 @@
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 = ["columns", "resources", "actions", "doAction", "ldId", "dataSetKey", "filedsRewrite", "mainFormLdId", "mainDataSetKey", "onValueChange", "onQuery", "onAdd", "onUpdate", "moduleCode", "defaultDataSourceFormat", "ticketData"];
7
+ import React, { useContext, useRef, useState } from 'react';
8
+ import { useCreation, useMemoizedFn } from 'ahooks';
9
+ import { keys, transform } from "lodash";
10
+ import { AutoForm } from '@luck-design-biz/base/FormList';
11
+ import ldBuilder from '../../helper/ldBuilder';
12
+ import { getFormItem, formItemDataFormat, dataFormat } from '../../utils';
13
+ import { LuckDaContext } from '../Builder';
14
+ import { readBehaviorCall } from '../../services';
15
+ var buildLdAutoForm = function buildLdAutoForm(_ref) {
16
+ var _ref$columns = _ref.columns,
17
+ columns = _ref$columns === void 0 ? [] : _ref$columns,
18
+ _ref$resources = _ref.resources,
19
+ resources = _ref$resources === void 0 ? [] : _ref$resources,
20
+ _ref$actions = _ref.actions,
21
+ actions = _ref$actions === void 0 ? {} : _ref$actions,
22
+ _ref$doAction = _ref.doAction,
23
+ doAction = _ref$doAction === void 0 ? function () {} : _ref$doAction,
24
+ ldId = _ref.ldId,
25
+ dataSetKey = _ref.dataSetKey,
26
+ _ref$filedsRewrite = _ref.filedsRewrite,
27
+ filedsRewrite = _ref$filedsRewrite === void 0 ? [] : _ref$filedsRewrite,
28
+ mainFormLdId = _ref.mainFormLdId,
29
+ mainDataSetKey = _ref.mainDataSetKey,
30
+ _ref$onValueChange = _ref.onValueChange,
31
+ onValueChange = _ref$onValueChange === void 0 ? function () {} : _ref$onValueChange,
32
+ _ref$onQuery = _ref.onQuery,
33
+ onQuery = _ref$onQuery === void 0 ? {} : _ref$onQuery,
34
+ _ref$onAdd = _ref.onAdd,
35
+ onAdd = _ref$onAdd === void 0 ? {} : _ref$onAdd,
36
+ _ref$onUpdate = _ref.onUpdate,
37
+ onUpdate = _ref$onUpdate === void 0 ? {} : _ref$onUpdate,
38
+ moduleCode = _ref.moduleCode,
39
+ _ref$defaultDataSourc = _ref.defaultDataSourceFormat,
40
+ defaultDataSourceFormat = _ref$defaultDataSourc === void 0 ? function () {
41
+ return {};
42
+ } : _ref$defaultDataSourc,
43
+ _ref$ticketData = _ref.ticketData,
44
+ ticketData = _ref$ticketData === void 0 ? {} : _ref$ticketData,
45
+ props = _objectWithoutProperties(_ref, _excluded);
46
+ var _ref2 = useContext(LuckDaContext) || {},
47
+ setFieldProps = _ref2.setFieldProps;
48
+ var defaultValues = useRef();
49
+ var _useState = useState(null),
50
+ _useState2 = _slicedToArray(_useState, 2),
51
+ selfResources = _useState2[0],
52
+ setSelfResources = _useState2[1];
53
+ var isMain = ldId === mainFormLdId;
54
+ var basicItems = useCreation(function () {
55
+ var _defaultValues = {};
56
+ var _nodes = transform(columns, function (result, col) {
57
+ if (col.isShowInForm) {
58
+ var _objectSpread2;
59
+ var customFiled = filedsRewrite.find(function (field) {
60
+ return field.name === col.field;
61
+ }) || {};
62
+ _defaultValues = _objectSpread(_objectSpread({}, _defaultValues), {}, (_objectSpread2 = {}, _defineProperty(_objectSpread2, col.field, col['optDefaultValue']), _defineProperty(_objectSpread2, "".concat(col.field, "_virtual"), col['optDefaultValueCvt']), _objectSpread2));
63
+ result.push(getFormItem(col, _objectSpread(_objectSpread({}, customFiled), {}, {
64
+ handleValueChange: function handleValueChange(value) {
65
+ return onValueChange(_defineProperty({}, ldId, _defineProperty({}, col.field, value)));
66
+ }
67
+ })));
68
+ }
69
+ }, []);
70
+ defaultValues.current = _defaultValues;
71
+ setFieldProps(_defineProperty({}, ldId, _nodes.map(function (i) {
72
+ return _objectSpread({
73
+ component: i.type.comName || i.type.displayName
74
+ }, i.props);
75
+ })));
76
+ return _nodes;
77
+ }, [columns, filedsRewrite, isMain]);
78
+ var formConfig = {
79
+ formId: ldId,
80
+ isMain: isMain,
81
+ defaultDataSource: _objectSpread(_objectSpread({}, formItemDataFormat(columns, defaultValues.current)), defaultDataSourceFormat(defaultValues.current))
82
+ };
83
+ var onOperate = useMemoizedFn(function () {
84
+ var _onOperate = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
85
+ var behaviorKey = arguments.length > 1 ? arguments[1] : undefined;
86
+ return _objectSpread(_objectSpread({
87
+ api: function api(get, post, formData) {
88
+ var _formData$mainFormLdI;
89
+ post[dataSetKey][isMain ? 'indocno' : 'relationId'] = ((_formData$mainFormLdI = formData[mainFormLdId]) === null || _formData$mainFormLdI === void 0 ? void 0 : _formData$mainFormLdI.indocno) || ticketData.indocno;
90
+ return readBehaviorCall(get, post, formData);
91
+ },
92
+ get: function get() {
93
+ return {
94
+ moduleCode: moduleCode,
95
+ datasetCode: dataSetKey,
96
+ behaviorKey: behaviorKey
97
+ };
98
+ }
99
+ }, _onOperate), {}, {
100
+ post: function post(_ref3) {
101
+ var values = _ref3.values,
102
+ submitData = _ref3.submitData;
103
+ var _submitData = dataFormat(columns, submitData);
104
+ if (_onOperate === null || _onOperate === void 0 ? void 0 : _onOperate.post) return _onOperate.post({
105
+ values: values,
106
+ submitData: _submitData
107
+ }); // 以预设为主
108
+ return _defineProperty({}, dataSetKey, _submitData);
109
+ }
110
+ });
111
+ });
112
+ return /*#__PURE__*/React.createElement(AutoForm, _extends({}, props, {
113
+ onQuery: _objectSpread(_objectSpread({
114
+ api: readBehaviorCall,
115
+ get: function get(formData) {
116
+ var _formData$mainFormLdI2, _params2;
117
+ var _params = (_params2 = {}, _defineProperty(_params2, isMain ? 'indocno' : 'relationId', ((_formData$mainFormLdI2 = formData[mainFormLdId]) === null || _formData$mainFormLdI2 === void 0 ? void 0 : _formData$mainFormLdI2.indocno) || ticketData.indocno), _defineProperty(_params2, "moduleCode", moduleCode), _defineProperty(_params2, "datasetCode", dataSetKey), _defineProperty(_params2, "behaviorKey", 'readForm'), _params2);
118
+ if (!isMain) _params.relationDs = mainDataSetKey;
119
+ return _params;
120
+ }
121
+ }, onQuery), {}, {
122
+ format: function format(data) {
123
+ if (data['__infuse_serial__']) {
124
+ setSelfResources(data['__infuse_serial__']);
125
+ }
126
+ var formItemData = _objectSpread({}, formItemDataFormat(columns, data));
127
+ if (onQuery === null || onQuery === void 0 ? void 0 : onQuery.format) return onQuery.format(data, formItemData); // 以预设为主
128
+ return formItemData;
129
+ }
130
+ }),
131
+ onAdd: onOperate(onAdd, 'add'),
132
+ onUpdate: onOperate(onUpdate, 'update'),
133
+ operates: selfResources || resources
134
+ }, formConfig), basicItems);
135
+ };
136
+ export default ldBuilder(buildLdAutoForm);
@@ -0,0 +1,198 @@
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", "loading", "wrapperRef", "hasMore", "list", "detail", "params", "doQuery", "onQuery", "readFilter", "unclosableSet", "formatDataSource", "resultSet", "cardConfig", "cardActions", "onOperationsClick", "readOnly", "batchOperations"],
6
+ _excluded2 = ["ldId", "moduleCode", "suppressInit", "unclosableSet", "pageSize", "service"];
7
+ import React, { forwardRef, useImperativeHandle, useRef, useEffect } from 'react';
8
+ import { getDvaApp } from 'umi';
9
+ import PropTypes from 'prop-types';
10
+ import { Icon, Tooltip } from 'antd';
11
+ import { ResultSet, PermissionUtil } from 'luck-design';
12
+ import { includes } from 'lodash';
13
+ import { useCreation, useMemoizedFn } from 'ahooks';
14
+ import createModel from './model';
15
+ import ldBuilder from '../../helper/ldBuilder';
16
+ import { CardList, Card } from '@luck-design-biz/base/List';
17
+ import { formatMessage } from '@luck-design-biz/base/utils';
18
+ import { build } from '@luck-design-biz/base/Component';
19
+ var LdCard = function LdCard(_ref) {
20
+ var columns = _ref.columns,
21
+ resources = _ref.resources,
22
+ actions = _ref.actions,
23
+ doAction = _ref.doAction,
24
+ afterInit = _ref.afterInit,
25
+ namespace = _ref.namespace,
26
+ loading = _ref.loading,
27
+ wrapperRef = _ref.wrapperRef,
28
+ hasMore = _ref.hasMore,
29
+ list = _ref.list,
30
+ detail = _ref.detail,
31
+ params = _ref.params,
32
+ doQuery = _ref.doQuery,
33
+ onQuery = _ref.onQuery,
34
+ readFilter = _ref.readFilter,
35
+ unclosableSet = _ref.unclosableSet,
36
+ formatDataSource = _ref.formatDataSource,
37
+ resultSet = _ref.resultSet,
38
+ cardConfig = _ref.cardConfig,
39
+ cardActions = _ref.cardActions,
40
+ onOperationsClick = _ref.onOperationsClick,
41
+ readOnly = _ref.readOnly,
42
+ batchOperations = _ref.batchOperations,
43
+ props = _objectWithoutProperties(_ref, _excluded);
44
+ var cardRef = useRef(null);
45
+ useEffect(function () {
46
+ readFilter && readFilter(params);
47
+ }, [params]);
48
+ useImperativeHandle(wrapperRef, function () {
49
+ return _objectSpread(_objectSpread({}, cardRef.current), {}, {
50
+ onLdQuery: function onLdQuery() {
51
+ var _params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
52
+ doQuery({
53
+ params: _params,
54
+ callback: afterInit
55
+ });
56
+ }
57
+ });
58
+ });
59
+ var _batchOperations = useCreation(function () {
60
+ return batchOperations.map(function (i) {
61
+ return _objectSpread(_objectSpread({}, i), {}, {
62
+ wanted: i.wanted || 'virtual'
63
+ });
64
+ });
65
+ }, [batchOperations]);
66
+ var renderCard = useMemoizedFn(function (item) {
67
+ return /*#__PURE__*/React.createElement(Card, _extends({}, cardConfig, {
68
+ dataSource: item,
69
+ operates: readOnly ? [] : item['__infuse_serial__'] || resources,
70
+ onCardClick: function onCardClick(_item, e) {
71
+ return onOperationsClick && onOperationsClick('read', _item, e);
72
+ },
73
+ onCardDelete: function onCardDelete(_item, e) {
74
+ return onOperationsClick && onOperationsClick('delete', _item, e);
75
+ },
76
+ actions: PermissionUtil(cardActions.map(function (i) {
77
+ return i.render ? /*#__PURE__*/React.createElement("div", {
78
+ key: i.key,
79
+ wanted: i.resource || 'virtual',
80
+ style: {
81
+ fontSize: '18px'
82
+ }
83
+ }, i.render()) : /*#__PURE__*/React.createElement(Tooltip, {
84
+ key: i.key,
85
+ wanted: i.resource || 'virtual',
86
+ placement: "top",
87
+ title: i.title
88
+ }, /*#__PURE__*/React.createElement("div", {
89
+ style: {
90
+ fontSize: '18px'
91
+ },
92
+ onClick: function onClick(e) {
93
+ e.stopPropagation();
94
+ i.onClick ? i.onClick(item, e) : onOperationsClick(i.key, item, e);
95
+ }
96
+ }, /*#__PURE__*/React.createElement(Icon, {
97
+ type: i.icon
98
+ })));
99
+ }), readOnly ? [] : [].concat(_toConsumableArray(item['__infuse_serial__'] || resources), ['virtual']))
100
+ }));
101
+ });
102
+ return /*#__PURE__*/React.createElement(React.Fragment, null, Object.keys(params).length > 0 && /*#__PURE__*/React.createElement(ResultSet, _extends({
103
+ set: params,
104
+ onQuery: onQuery
105
+ }, resultSet, {
106
+ unclosableSet: unclosableSet
107
+ })), /*#__PURE__*/React.createElement(CardList, _extends({
108
+ col: 4,
109
+ loading: loading,
110
+ renderCard: renderCard
111
+ }, props, {
112
+ operates: [].concat(_toConsumableArray(resources), ['virtual']),
113
+ modelName: namespace,
114
+ dataSource: formatDataSource(list, detail),
115
+ hasMore: !!hasMore,
116
+ batchOperations: _batchOperations,
117
+ ref: cardRef
118
+ })));
119
+ };
120
+ var ForwardLdCard = /*#__PURE__*/forwardRef(function (props, ref) {
121
+ return /*#__PURE__*/React.createElement(LdCard, _extends({
122
+ wrapperRef: ref
123
+ }, props));
124
+ });
125
+ var LdIndex = function LdIndex(_ref2) {
126
+ var namespace = _ref2.ldId,
127
+ moduleCode = _ref2.moduleCode,
128
+ suppressInit = _ref2.suppressInit,
129
+ unclosableSet = _ref2.unclosableSet,
130
+ pageSize = _ref2.pageSize,
131
+ service = _ref2.service,
132
+ props = _objectWithoutProperties(_ref2, _excluded2);
133
+ if (includes(props.isTree, props.dataSetKey)) return formatMessage({
134
+ id: 'luckda.ldCard.notTres',
135
+ label: '此数据集为树形数据集,请选择非树形数据集'
136
+ });
137
+ var Component = useCreation(function () {
138
+ var _getDvaApp, _getDvaApp2;
139
+ (_getDvaApp = getDvaApp()) === null || _getDvaApp === void 0 ? void 0 : _getDvaApp.unmodel(namespace);
140
+ if (!((_getDvaApp2 = getDvaApp()) === null || _getDvaApp2 === void 0 ? void 0 : _getDvaApp2._store.getState()[namespace])) {
141
+ var _getDvaApp3;
142
+ (_getDvaApp3 = getDvaApp()) === null || _getDvaApp3 === void 0 ? void 0 : _getDvaApp3.model(createModel(namespace, {
143
+ isFlow: !!props.isFlow,
144
+ dataSetKey: props.dataSetKey,
145
+ moduleCode: moduleCode,
146
+ unclosableSet: unclosableSet,
147
+ pageSize: pageSize,
148
+ service: service
149
+ }));
150
+ }
151
+ return build(ForwardLdCard, namespace, {
152
+ suppressInit: suppressInit,
153
+ afterInit: props.afterInit
154
+ });
155
+ }, [namespace]);
156
+ return /*#__PURE__*/React.createElement(Component, _extends({
157
+ namespace: namespace
158
+ }, props));
159
+ };
160
+ var Index = ldBuilder(LdIndex);
161
+ Index.propTypes = {
162
+ ldId: PropTypes.string.isRequired,
163
+ // 唯一key
164
+ dataSetKey: PropTypes.string.isRequired,
165
+ // 数据集key
166
+ readOnly: PropTypes.bool,
167
+ // 是否只读
168
+ formatDataSource: PropTypes.func,
169
+ // 格式化数据源
170
+ resultSet: PropTypes.object,
171
+ suppressInit: PropTypes.bool,
172
+ // 抑制初始化
173
+ afterInit: PropTypes.func,
174
+ // 初始化后
175
+ cardConfig: PropTypes.object,
176
+ // 卡片配置项
177
+ onOperationsClick: PropTypes.func,
178
+ // 操作
179
+ cardActions: PropTypes.array // 卡片行为
180
+ };
181
+
182
+ Index.defaultProps = {
183
+ resultSet: {},
184
+ suppressInit: false,
185
+ isFlow: false,
186
+ cardConfig: {},
187
+ formatDataSource: function formatDataSource(_list, _detail) {
188
+ return _list.map(function (indocno) {
189
+ return _detail[indocno];
190
+ });
191
+ },
192
+ cardActions: []
193
+ };
194
+ export default /*#__PURE__*/forwardRef(function (props, ref) {
195
+ return /*#__PURE__*/React.createElement(Index, _extends({
196
+ wrapperRef: ref
197
+ }, props));
198
+ });
@@ -0,0 +1,34 @@
1
+ import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
2
+ import { createListModel } 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
+ service = _ref.service;
14
+ return createListModel({
15
+ namespace: namespace,
16
+ isFlow: isFlow,
17
+ unclosableSet: unclosableSet,
18
+ pageSize: pageSize,
19
+ readAll: function readAll() {
20
+ var get = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
21
+ var post = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
22
+ return (service || readBehaviorCall)(_objectSpread(_objectSpread({}, get), {}, {
23
+ moduleCode: moduleCode,
24
+ datasetCode: dataSetKey,
25
+ behaviorKey: 'readGrid'
26
+ }), {
27
+ _AutoFilter: post
28
+ });
29
+ },
30
+ state: {},
31
+ effects: {},
32
+ reducers: {}
33
+ });
34
+ }
@@ -0,0 +1,24 @@
1
+ import _extends from "@babel/runtime/helpers/esm/extends";
2
+ import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
3
+ var _excluded = ["options"];
4
+ import React from 'react';
5
+ import { Button, Tabs } from 'antd';
6
+ import { Collapse, ButtonRadio, IconFont } from '@luck-design-biz/base';
7
+ import { ldComBuilder, filterOptions, deepFilterCom } from '../../helper/ldComBuild';
8
+ export var LdButton = ldComBuilder(Button);
9
+ export var LdCollapse = ldComBuilder(Collapse);
10
+ export var LdButtonRadio = function LdButtonRadio(_ref) {
11
+ var _ref$options = _ref.options,
12
+ options = _ref$options === void 0 ? [] : _ref$options,
13
+ props = _objectWithoutProperties(_ref, _excluded);
14
+ return /*#__PURE__*/React.createElement(ButtonRadio, _extends({}, props, {
15
+ options: filterOptions(options)
16
+ }));
17
+ };
18
+ export var LdIconFont = ldComBuilder(IconFont);
19
+ var LdTabs = deepFilterCom(Tabs, function (child) {
20
+ var _child$type;
21
+ return (child === null || child === void 0 ? void 0 : (_child$type = child.type) === null || _child$type === void 0 ? void 0 : _child$type.displayName) === 'TabPane';
22
+ });
23
+ LdTabs.TabPane = Tabs.TabPane;
24
+ export { LdTabs };