@pisell/materials 1.0.455 → 1.0.456

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 (38) hide show
  1. package/build/lowcode/assets-daily.json +11 -11
  2. package/build/lowcode/assets-dev.json +2 -2
  3. package/build/lowcode/assets-prod.json +11 -11
  4. package/build/lowcode/index.js +1 -1
  5. package/build/lowcode/meta.js +1 -1
  6. package/build/lowcode/preview.js +150 -142
  7. package/build/lowcode/render/default/view.js +15 -15
  8. package/build/lowcode/view.js +15 -15
  9. package/es/components/dataSourceComponents/dataSourceForm/BaseForm.d.ts +3 -0
  10. package/es/components/dataSourceComponents/dataSourceForm/BaseForm.js +68 -0
  11. package/es/components/dataSourceComponents/dataSourceForm/index.js +9 -61
  12. package/es/components/dataSourceComponents/dataSourceTable/BaseTable.d.ts +4 -0
  13. package/es/components/dataSourceComponents/dataSourceTable/BaseTable.js +197 -0
  14. package/es/components/dataSourceComponents/dataSourceTable/index.js +5 -204
  15. package/es/components/dataSourceComponents/fields/index.d.ts +1 -1
  16. package/es/components/dataSourceComponents/provider/fields/DataSourceContext.d.ts +11 -1
  17. package/es/components/dataSourceComponents/provider/fields/DataSourceContext.js +6 -1
  18. package/es/components/dataSourceComponents/provider/fields/DataSourceProvider.d.ts +2 -2
  19. package/es/components/dataSourceComponents/provider/fields/DataSourceProvider.js +48 -4
  20. package/lib/components/dataSourceComponents/dataSourceForm/BaseForm.d.ts +3 -0
  21. package/lib/components/dataSourceComponents/dataSourceForm/BaseForm.js +98 -0
  22. package/lib/components/dataSourceComponents/dataSourceForm/index.js +3 -59
  23. package/lib/components/dataSourceComponents/dataSourceTable/BaseTable.d.ts +4 -0
  24. package/lib/components/dataSourceComponents/dataSourceTable/BaseTable.js +181 -0
  25. package/lib/components/dataSourceComponents/dataSourceTable/index.js +3 -155
  26. package/lib/components/dataSourceComponents/fields/index.d.ts +1 -1
  27. package/lib/components/dataSourceComponents/provider/fields/DataSourceContext.d.ts +11 -1
  28. package/lib/components/dataSourceComponents/provider/fields/DataSourceContext.js +6 -1
  29. package/lib/components/dataSourceComponents/provider/fields/DataSourceProvider.d.ts +2 -2
  30. package/lib/components/dataSourceComponents/provider/fields/DataSourceProvider.js +47 -3
  31. package/lowcode/data-source-form/meta.ts +3 -1
  32. package/lowcode/data-source-form/utils.ts +39 -46
  33. package/lowcode/data-source-table/meta.ts +21 -10
  34. package/package.json +1 -1
  35. package/es/components/table/Actions/component/ExportImport/utils/index.d.ts +0 -9
  36. package/es/components/table/Actions/component/ExportImport/utils/index.js +0 -11
  37. package/lib/components/table/Actions/component/ExportImport/utils/index.d.ts +0 -9
  38. package/lib/components/table/Actions/component/ExportImport/utils/index.js +0 -31
@@ -1,4 +1,5 @@
1
1
  /// <reference types="react" />
2
+ import { Result } from 'ahooks/es/useRequest/src/types';
2
3
  import { ActionsItem } from '../../dataSourceForm/serve';
3
4
  interface Field {
4
5
  name: string;
@@ -67,9 +68,18 @@ export declare type DataSourceType = {
67
68
  baseUrl: string;
68
69
  };
69
70
  };
70
- export interface DataSourceContextType {
71
+ export declare type DataSourceContextProps = {
71
72
  dataSource: DataSourceType;
72
73
  children?: React.ReactNode;
74
+ currentValue?: string;
75
+ };
76
+ export interface DataSourceContextType {
77
+ dataSource: DataSourceType;
78
+ list: Result<any, any>;
79
+ destroy: Result<any, any>;
80
+ get: Result<any, any>;
81
+ update: Result<any, any>;
82
+ create: Result<any, any>;
73
83
  }
74
84
  export declare const DataSourceContext: import("react").Context<DataSourceContextType>;
75
85
  export default DataSourceContext;
@@ -1,6 +1,11 @@
1
1
  import { createContext } from 'react';
2
2
  var initialContext = {
3
- dataSource: {}
3
+ dataSource: {},
4
+ list: {},
5
+ destroy: {},
6
+ get: {},
7
+ update: {},
8
+ create: {}
4
9
  };
5
10
  export var DataSourceContext = /*#__PURE__*/createContext(initialContext);
6
11
  export default DataSourceContext;
@@ -1,8 +1,8 @@
1
1
  import React from 'react';
2
- import { DataSourceContextType } from './DataSourceContext';
2
+ import { DataSourceContextProps } from './DataSourceContext';
3
3
  /**
4
4
  * @title: DataSource Provider
5
5
  * @description: 提供页面配置的数据源
6
6
  */
7
- declare const DataSourceProvider: React.FC<DataSourceContextType>;
7
+ declare const DataSourceProvider: React.FC<DataSourceContextProps>;
8
8
  export default DataSourceProvider;
@@ -1,18 +1,62 @@
1
1
  import React, { useMemo } from 'react';
2
+ import { useRequest } from 'ahooks';
3
+ import { isString } from '@pisell/utils';
2
4
  import DataSourceContext from "./DataSourceContext";
3
-
5
+ import useActions from "../../hooks/useActions";
6
+ import useVariables from "../../hooks/useVariables";
7
+ import useDataSource from "../../hooks/useDataSource";
4
8
  /**
5
9
  * @title: DataSource Provider
6
10
  * @description: 提供页面配置的数据源
7
11
  */
8
12
  var DataSourceProvider = function DataSourceProvider(props) {
9
13
  var children = props.children,
10
- dataSource = props.dataSource;
14
+ propsDataSource = props.dataSource,
15
+ currentValue = props.currentValue;
16
+ var _useVariables = useVariables(),
17
+ parseVariable = _useVariables.parseVariable;
18
+ var _useDataSource = useDataSource(),
19
+ ctxDataSource = _useDataSource.dataSource;
20
+ var dataSource = isString(propsDataSource) ? parseVariable === null || parseVariable === void 0 ? void 0 : parseVariable(propsDataSource, {
21
+ global: {
22
+ currentDataSource: ctxDataSource
23
+ }
24
+ }) : propsDataSource;
25
+ console.log(dataSource, 'dataSource');
26
+ var _useActions = useActions({
27
+ dataSource: dataSource,
28
+ currentValue: currentValue
29
+ }),
30
+ list = _useActions.list,
31
+ get = _useActions.get,
32
+ update = _useActions.update,
33
+ create = _useActions.create,
34
+ destroy = _useActions.destroy;
35
+ var listResult = useRequest(list, {
36
+ manual: true
37
+ });
38
+ var destroyResult = useRequest(destroy, {
39
+ manual: true
40
+ });
41
+ var getResult = useRequest(get, {
42
+ manual: true
43
+ });
44
+ var updateResult = useRequest(update, {
45
+ manual: true
46
+ });
47
+ var createResult = useRequest(create, {
48
+ manual: true
49
+ });
11
50
  var value = useMemo(function () {
12
51
  return {
13
- dataSource: dataSource
52
+ dataSource: dataSource,
53
+ list: listResult,
54
+ destroy: destroyResult,
55
+ get: getResult,
56
+ update: updateResult,
57
+ create: createResult
14
58
  };
15
- }, [dataSource]);
59
+ }, [dataSource, listResult, destroyResult, getResult, updateResult, createResult]);
16
60
  return /*#__PURE__*/React.createElement(DataSourceContext.Provider, {
17
61
  value: value
18
62
  }, children);
@@ -0,0 +1,3 @@
1
+ import './index.less';
2
+ declare const _default: any;
3
+ export default _default;
@@ -0,0 +1,98 @@
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all)
9
+ __defProp(target, name, { get: all[name], enumerable: true });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from))
14
+ if (!__hasOwnProp.call(to, key) && key !== except)
15
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
+ }
17
+ return to;
18
+ };
19
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
20
+ // If the importer is in node compatibility mode or this is not an ESM
21
+ // file that has been converted to a CommonJS file using a Babel-
22
+ // compatible transform (i.e. "__esModule" has not been set), then set
23
+ // "default" to the CommonJS "module.exports" for node compatibility.
24
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
25
+ mod
26
+ ));
27
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
28
+
29
+ // src/components/dataSourceComponents/dataSourceForm/BaseForm.tsx
30
+ var BaseForm_exports = {};
31
+ __export(BaseForm_exports, {
32
+ default: () => BaseForm_default
33
+ });
34
+ module.exports = __toCommonJS(BaseForm_exports);
35
+ var import_react = __toESM(require("react"));
36
+ var import_classnames = __toESM(require("classnames"));
37
+ var import_useDataSource = __toESM(require("../hooks/useDataSource"));
38
+ var import_form = __toESM(require("../../form"));
39
+ var import_FormSettingProvider = __toESM(require("./provider/formSetting/FormSettingProvider"));
40
+ var import_useSetRequest = __toESM(require("../../../hooks/useSetRequest"));
41
+ var import_index = require("./index.less");
42
+ var BaseForm = (0, import_react.forwardRef)(
43
+ (props, ref) => {
44
+ const {
45
+ title,
46
+ description,
47
+ dataSource,
48
+ showTitle,
49
+ showDescription,
50
+ groupInfoPosition,
51
+ variables,
52
+ mode,
53
+ children,
54
+ currentValue,
55
+ className,
56
+ ...others
57
+ } = props;
58
+ (0, import_useSetRequest.default)();
59
+ const formRef = (0, import_react.useRef)(null);
60
+ const { get } = (0, import_useDataSource.default)();
61
+ (0, import_react.useEffect)(() => {
62
+ var _a;
63
+ (_a = formRef.current) == null ? void 0 : _a.resetFields();
64
+ }, [dataSource]);
65
+ (0, import_react.useEffect)(() => {
66
+ document.body.id = "body";
67
+ }, []);
68
+ (0, import_react.useImperativeHandle)(ref, () => formRef.current);
69
+ (0, import_react.useEffect)(() => {
70
+ if (["edit", "view"].includes(mode || "") && dataSource) {
71
+ get == null ? void 0 : get.runAsync().then((res) => {
72
+ var _a;
73
+ (_a = formRef.current) == null ? void 0 : _a.setFieldsValue(res);
74
+ });
75
+ }
76
+ }, [mode, dataSource]);
77
+ return /* @__PURE__ */ import_react.default.createElement(
78
+ import_FormSettingProvider.default,
79
+ {
80
+ mode,
81
+ groupInfoPosition,
82
+ currentValue
83
+ },
84
+ /* @__PURE__ */ import_react.default.createElement(
85
+ import_form.default,
86
+ {
87
+ ...others,
88
+ className: (0, import_classnames.default)("pisell-lowcode-data-source-form", className),
89
+ ref: formRef,
90
+ preserve: true
91
+ },
92
+ (title || description) && /* @__PURE__ */ import_react.default.createElement("div", { className: "pisell-lowcode-data-source-form-header" }, showTitle && /* @__PURE__ */ import_react.default.createElement("div", { className: "pisell-lowcode-data-source-form-title" }, title), showDescription && /* @__PURE__ */ import_react.default.createElement("div", { className: "pisell-lowcode-data-source-form-description" }, description)),
93
+ children
94
+ )
95
+ );
96
+ }
97
+ );
98
+ var BaseForm_default = BaseForm;
@@ -33,70 +33,14 @@ __export(dataSourceForm_exports, {
33
33
  });
34
34
  module.exports = __toCommonJS(dataSourceForm_exports);
35
35
  var import_react = __toESM(require("react"));
36
- var import_classnames = __toESM(require("classnames"));
37
36
  var import_DataSourceProvider = __toESM(require("../provider/fields/DataSourceProvider"));
38
37
  var import_form = __toESM(require("../../form"));
39
- var import_FormSettingProvider = __toESM(require("./provider/formSetting/FormSettingProvider"));
40
- var import_useActions = __toESM(require("../hooks/useActions"));
41
- var import_useSetRequest = __toESM(require("../../../hooks/useSetRequest"));
38
+ var import_BaseForm = __toESM(require("./BaseForm"));
42
39
  var import_index = require("./index.less");
43
40
  var DataSourceForm = (0, import_react.forwardRef)(
44
41
  (props, ref) => {
45
- const {
46
- title,
47
- description,
48
- dataSource,
49
- showTitle,
50
- showDescription,
51
- groupInfoPosition,
52
- variables,
53
- mode,
54
- children,
55
- currentValue,
56
- className,
57
- ...others
58
- } = props;
59
- (0, import_useSetRequest.default)();
60
- const formRef = (0, import_react.useRef)(null);
61
- const { get } = (0, import_useActions.default)({
62
- currentValue,
63
- dataSource
64
- });
65
- (0, import_react.useEffect)(() => {
66
- var _a;
67
- (_a = formRef.current) == null ? void 0 : _a.resetFields();
68
- }, [dataSource]);
69
- (0, import_react.useEffect)(() => {
70
- document.body.id = "body";
71
- }, []);
72
- (0, import_react.useImperativeHandle)(ref, () => formRef.current);
73
- (0, import_react.useEffect)(() => {
74
- if (["edit", "view"].includes(mode || "") && dataSource) {
75
- get().then((res) => {
76
- var _a;
77
- (_a = formRef.current) == null ? void 0 : _a.setFieldsValue(res);
78
- });
79
- }
80
- }, [get, mode, dataSource]);
81
- return /* @__PURE__ */ import_react.default.createElement(
82
- import_FormSettingProvider.default,
83
- {
84
- mode,
85
- groupInfoPosition,
86
- currentValue
87
- },
88
- /* @__PURE__ */ import_react.default.createElement(import_DataSourceProvider.default, { dataSource }, /* @__PURE__ */ import_react.default.createElement(
89
- import_form.default,
90
- {
91
- ...others,
92
- className: (0, import_classnames.default)("pisell-lowcode-data-source-form", className),
93
- ref: formRef,
94
- preserve: true
95
- },
96
- (title || description) && /* @__PURE__ */ import_react.default.createElement("div", { className: "pisell-lowcode-data-source-form-header" }, showTitle && /* @__PURE__ */ import_react.default.createElement("div", { className: "pisell-lowcode-data-source-form-title" }, title), showDescription && /* @__PURE__ */ import_react.default.createElement("div", { className: "pisell-lowcode-data-source-form-description" }, description)),
97
- children
98
- ))
99
- );
42
+ const { dataSource, currentValue } = props;
43
+ return /* @__PURE__ */ import_react.default.createElement(import_DataSourceProvider.default, { dataSource, currentValue }, /* @__PURE__ */ import_react.default.createElement(import_BaseForm.default, { ...props, ref }));
100
44
  }
101
45
  );
102
46
  DataSourceForm.List = import_form.default.List;
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import { DataSourceTableProps } from './type';
3
+ declare const BaseTable: (props: DataSourceTableProps) => React.JSX.Element;
4
+ export default BaseTable;
@@ -0,0 +1,181 @@
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all)
9
+ __defProp(target, name, { get: all[name], enumerable: true });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from))
14
+ if (!__hasOwnProp.call(to, key) && key !== except)
15
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
+ }
17
+ return to;
18
+ };
19
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
20
+ // If the importer is in node compatibility mode or this is not an ESM
21
+ // file that has been converted to a CommonJS file using a Babel-
22
+ // compatible transform (i.e. "__esModule" has not been set), then set
23
+ // "default" to the CommonJS "module.exports" for node compatibility.
24
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
25
+ mod
26
+ ));
27
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
28
+
29
+ // src/components/dataSourceComponents/dataSourceTable/BaseTable.tsx
30
+ var BaseTable_exports = {};
31
+ __export(BaseTable_exports, {
32
+ default: () => BaseTable_default
33
+ });
34
+ module.exports = __toCommonJS(BaseTable_exports);
35
+ var import_react = __toESM(require("react"));
36
+ var import_antd = require("antd");
37
+ var import_table = __toESM(require("../../table"));
38
+ var import_useVariables = __toESM(require("../hooks/useVariables"));
39
+ var import_useColumns = __toESM(require("./hooks/useColumns"));
40
+ var import_usePagination = __toESM(require("./hooks/usePagination"));
41
+ var import_ActionsProvider = __toESM(require("../provider/actions/ActionsProvider"));
42
+ var import_useDrawerState = __toESM(require("./hooks/useDrawerState"));
43
+ var import_useDesignMode = __toESM(require("./hooks/useDesignMode"));
44
+ var import_useTableQuery = __toESM(require("./hooks/useTableQuery"));
45
+ var import_useSetRequest = __toESM(require("../../../hooks/useSetRequest"));
46
+ var import_locales = require("../../../locales");
47
+ var import_useDataSource = __toESM(require("../hooks/useDataSource"));
48
+ var import_TableSettingProvider = __toESM(require("./provider/tableSetting/TableSettingProvider"));
49
+ var DRAWER_TITLES = {
50
+ detail: (0, import_locales.getText)("pisell-data-source-table-detail"),
51
+ edit: (0, import_locales.getText)("pisell-data-source-table-edit"),
52
+ add: (0, import_locales.getText)("pisell-data-source-table-add")
53
+ };
54
+ var BaseTable = (props) => {
55
+ const {
56
+ columns: propsColumns,
57
+ dataSource,
58
+ detailContent,
59
+ editContent,
60
+ showDetailButton,
61
+ showEditButton,
62
+ showDeleteButton,
63
+ showAddButton,
64
+ addContent,
65
+ __designMode,
66
+ ...others
67
+ } = props;
68
+ (0, import_useSetRequest.default)();
69
+ const { registerVariable } = (0, import_useVariables.default)();
70
+ const { list, destroy } = (0, import_useDataSource.default)();
71
+ const { data } = list;
72
+ const {
73
+ drawerVisible,
74
+ setDrawerVisible,
75
+ drawerType,
76
+ openDrawer,
77
+ closeDrawer
78
+ } = (0, import_useDrawerState.default)();
79
+ const { queryPageConfig, handleValuesChange, refreshData } = (0, import_useTableQuery.default)();
80
+ (0, import_useDesignMode.default)(props, { registerVariable, openDrawer, closeDrawer, data: data == null ? void 0 : data.data });
81
+ (0, import_react.useEffect)(() => {
82
+ if (dataSource) {
83
+ list == null ? void 0 : list.run(queryPageConfig);
84
+ } else {
85
+ list == null ? void 0 : list.mutate([]);
86
+ }
87
+ }, [dataSource, list == null ? void 0 : list.run, queryPageConfig]);
88
+ const handleOpenDrawer = (record, type) => {
89
+ openDrawer(type);
90
+ registerVariable == null ? void 0 : registerVariable({
91
+ currentRecord: record
92
+ });
93
+ };
94
+ const handleCloseDrawer = () => {
95
+ closeDrawer();
96
+ registerVariable == null ? void 0 : registerVariable({
97
+ currentRecord: null
98
+ });
99
+ };
100
+ const handleDelete = async (record) => {
101
+ registerVariable == null ? void 0 : registerVariable({
102
+ currentRecord: record
103
+ });
104
+ setTimeout(async () => {
105
+ await (destroy == null ? void 0 : destroy.run(record.id));
106
+ refreshData();
107
+ });
108
+ };
109
+ const actionsColumns = (0, import_react.useMemo)(() => {
110
+ return [
111
+ {
112
+ title: "操作",
113
+ key: "actions",
114
+ showDetailButton,
115
+ showEditButton,
116
+ showDeleteButton,
117
+ render: (_, record) => {
118
+ return /* @__PURE__ */ import_react.default.createElement(import_antd.Space, null, showDetailButton && /* @__PURE__ */ import_react.default.createElement(
119
+ import_antd.Button,
120
+ {
121
+ onClick: () => handleOpenDrawer(record, "detail"),
122
+ type: "link"
123
+ },
124
+ (0, import_locales.getText)("pisell-data-source-table-detail")
125
+ ), showEditButton && /* @__PURE__ */ import_react.default.createElement(
126
+ import_antd.Button,
127
+ {
128
+ onClick: () => handleOpenDrawer(record, "edit"),
129
+ type: "link"
130
+ },
131
+ (0, import_locales.getText)("pisell-data-source-table-edit")
132
+ ), showDeleteButton && /* @__PURE__ */ import_react.default.createElement(import_antd.Button, { onClick: () => handleDelete(record), type: "link", danger: true }, (0, import_locales.getText)("pisell-data-source-table-delete")));
133
+ }
134
+ }
135
+ ];
136
+ }, [showDetailButton, showEditButton, showDeleteButton]);
137
+ const columns = (0, import_useColumns.default)({
138
+ columns: propsColumns,
139
+ fields: dataSource == null ? void 0 : dataSource.fields,
140
+ // 操作列
141
+ actionsColumns
142
+ });
143
+ const pagination = (0, import_usePagination.default)({ data: data == null ? void 0 : data.data });
144
+ const getDrawerContent = (type) => {
145
+ const contentMap = {
146
+ detail: detailContent,
147
+ edit: editContent,
148
+ add: addContent
149
+ };
150
+ return contentMap[type];
151
+ };
152
+ return /* @__PURE__ */ import_react.default.createElement(import_TableSettingProvider.default, null, showAddButton && /* @__PURE__ */ import_react.default.createElement("div", { style: { marginBottom: 16 } }, /* @__PURE__ */ import_react.default.createElement(import_antd.Button, { type: "primary", onClick: () => handleOpenDrawer(null, "add") }, (0, import_locales.getText)("pisell-data-source-table-add"))), /* @__PURE__ */ import_react.default.createElement(
153
+ import_table.default,
154
+ {
155
+ ...others,
156
+ columns,
157
+ dataSource: (data == null ? void 0 : data.data) || [],
158
+ loading: list == null ? void 0 : list.loading,
159
+ onValuesChange: handleValuesChange,
160
+ pagination
161
+ }
162
+ ), /* @__PURE__ */ import_react.default.createElement(
163
+ import_ActionsProvider.default,
164
+ {
165
+ visible: drawerVisible,
166
+ setVisible: setDrawerVisible,
167
+ refreshTableData: refreshData
168
+ },
169
+ /* @__PURE__ */ import_react.default.createElement(
170
+ import_antd.Drawer,
171
+ {
172
+ title: DRAWER_TITLES[drawerType],
173
+ open: drawerVisible,
174
+ onClose: handleCloseDrawer,
175
+ destroyOnClose: true
176
+ },
177
+ getDrawerContent(drawerType)
178
+ )
179
+ ));
180
+ };
181
+ var BaseTable_default = BaseTable;
@@ -33,162 +33,10 @@ __export(dataSourceTable_exports, {
33
33
  });
34
34
  module.exports = __toCommonJS(dataSourceTable_exports);
35
35
  var import_react = __toESM(require("react"));
36
- var import_ahooks = require("ahooks");
37
- var import_antd = require("antd");
38
- var import_table = __toESM(require("../../table"));
39
- var import_TableSettingProvider = __toESM(require("./provider/tableSetting/TableSettingProvider"));
36
+ var import_BaseTable = __toESM(require("./BaseTable"));
40
37
  var import_DataSourceProvider = __toESM(require("../provider/fields/DataSourceProvider"));
41
- var import_useVariables = __toESM(require("../hooks/useVariables"));
42
- var import_useColumns = __toESM(require("./hooks/useColumns"));
43
- var import_usePagination = __toESM(require("./hooks/usePagination"));
44
- var import_useActions = __toESM(require("../hooks/useActions"));
45
- var import_ActionsProvider = __toESM(require("../provider/actions/ActionsProvider"));
46
- var import_useDrawerState = __toESM(require("./hooks/useDrawerState"));
47
- var import_useDesignMode = __toESM(require("./hooks/useDesignMode"));
48
- var import_useTableQuery = __toESM(require("./hooks/useTableQuery"));
49
- var import_useSetRequest = __toESM(require("../../../hooks/useSetRequest"));
50
- var import_locales = require("../../../locales");
51
- var DRAWER_TITLES = {
52
- detail: (0, import_locales.getText)("pisell-data-source-table-detail"),
53
- edit: (0, import_locales.getText)("pisell-data-source-table-edit"),
54
- add: (0, import_locales.getText)("pisell-data-source-table-add")
55
- };
56
38
  var DataSourceTable = (props) => {
57
- const {
58
- columns: propsColumns,
59
- dataSource,
60
- detailContent,
61
- editContent,
62
- showDetailButton,
63
- showEditButton,
64
- showDeleteButton,
65
- showAddButton,
66
- addContent,
67
- __designMode,
68
- ...others
69
- } = props;
70
- (0, import_useSetRequest.default)();
71
- const { registerVariable } = (0, import_useVariables.default)();
72
- const {
73
- drawerVisible,
74
- setDrawerVisible,
75
- drawerType,
76
- openDrawer,
77
- closeDrawer
78
- } = (0, import_useDrawerState.default)();
79
- const { queryPageConfig, handleValuesChange, refreshData } = (0, import_useTableQuery.default)();
80
- const { list, destroy } = (0, import_useActions.default)({
81
- dataSource
82
- });
83
- const { data, loading, run, mutate } = (0, import_ahooks.useRequest)(list, {
84
- manual: true
85
- });
86
- (0, import_useDesignMode.default)(props, { registerVariable, openDrawer, closeDrawer, data });
87
- (0, import_react.useEffect)(() => {
88
- if (dataSource) {
89
- run(queryPageConfig);
90
- } else {
91
- mutate([]);
92
- }
93
- }, [dataSource, run, queryPageConfig]);
94
- const handleOpenDrawer = (record, type) => {
95
- openDrawer(type);
96
- registerVariable == null ? void 0 : registerVariable({
97
- currentRecord: record
98
- });
99
- };
100
- const handleCloseDrawer = () => {
101
- closeDrawer();
102
- registerVariable == null ? void 0 : registerVariable({
103
- currentRecord: null
104
- });
105
- };
106
- const handleDelete = async (record) => {
107
- registerVariable == null ? void 0 : registerVariable({
108
- currentRecord: record
109
- });
110
- setTimeout(async () => {
111
- await destroy(record.id);
112
- refreshData();
113
- });
114
- };
115
- const actionsColumns = (0, import_react.useMemo)(() => {
116
- return [
117
- {
118
- title: "操作",
119
- key: "actions",
120
- showDetailButton,
121
- showEditButton,
122
- showDeleteButton,
123
- render: (_, record) => {
124
- return /* @__PURE__ */ import_react.default.createElement(import_antd.Space, null, showDetailButton && /* @__PURE__ */ import_react.default.createElement(
125
- import_antd.Button,
126
- {
127
- onClick: () => handleOpenDrawer(record, "detail"),
128
- type: "link"
129
- },
130
- (0, import_locales.getText)("pisell-data-source-table-detail")
131
- ), showEditButton && /* @__PURE__ */ import_react.default.createElement(
132
- import_antd.Button,
133
- {
134
- onClick: () => handleOpenDrawer(record, "edit"),
135
- type: "link"
136
- },
137
- (0, import_locales.getText)("pisell-data-source-table-edit")
138
- ), showDeleteButton && /* @__PURE__ */ import_react.default.createElement(import_antd.Button, { onClick: () => handleDelete(record), type: "link", danger: true }, (0, import_locales.getText)("pisell-data-source-table-delete")));
139
- }
140
- }
141
- ];
142
- }, [showDetailButton, showEditButton, showDeleteButton]);
143
- const columns = (0, import_useColumns.default)({
144
- columns: propsColumns,
145
- fields: dataSource == null ? void 0 : dataSource.fields,
146
- // 操作列
147
- actionsColumns
148
- });
149
- const pagination = (0, import_usePagination.default)({ data });
150
- const getDrawerContent = (type) => {
151
- const contentMap = {
152
- detail: detailContent,
153
- edit: editContent,
154
- add: addContent
155
- };
156
- return contentMap[type];
157
- };
158
- return /* @__PURE__ */ import_react.default.createElement(import_TableSettingProvider.default, null, /* @__PURE__ */ import_react.default.createElement(import_DataSourceProvider.default, { dataSource }, showAddButton && /* @__PURE__ */ import_react.default.createElement("div", { style: { marginBottom: 16 } }, /* @__PURE__ */ import_react.default.createElement(
159
- import_antd.Button,
160
- {
161
- type: "primary",
162
- onClick: () => handleOpenDrawer(null, "add")
163
- },
164
- (0, import_locales.getText)("pisell-data-source-table-add")
165
- )), /* @__PURE__ */ import_react.default.createElement(
166
- import_table.default,
167
- {
168
- ...others,
169
- columns,
170
- dataSource: (data == null ? void 0 : data.data) || [],
171
- loading,
172
- onValuesChange: handleValuesChange,
173
- pagination
174
- }
175
- ), /* @__PURE__ */ import_react.default.createElement(
176
- import_ActionsProvider.default,
177
- {
178
- visible: drawerVisible,
179
- setVisible: setDrawerVisible,
180
- refreshTableData: refreshData
181
- },
182
- /* @__PURE__ */ import_react.default.createElement(
183
- import_antd.Drawer,
184
- {
185
- title: DRAWER_TITLES[drawerType],
186
- open: drawerVisible,
187
- onClose: handleCloseDrawer,
188
- destroyOnClose: true
189
- },
190
- getDrawerContent(drawerType)
191
- )
192
- )));
39
+ const { dataSource } = props;
40
+ return /* @__PURE__ */ import_react.default.createElement(import_DataSourceProvider.default, { dataSource }, /* @__PURE__ */ import_react.default.createElement(import_BaseTable.default, { ...props }));
193
41
  };
194
42
  var dataSourceTable_default = DataSourceTable;
@@ -1,5 +1,5 @@
1
1
  /// <reference types="react" />
2
- declare const getFieldComponent: (fieldComponent: string) => import("react").FC<import("./Checkbox/type").CheckboxGroupProps & import("../dataSourceForm/utils").WithModeProps> | import("react").FC<any> | (import("react").FC<{}> & {
2
+ declare const getFieldComponent: (fieldComponent: string) => import("react").FC<any> | import("react").FC<import("./Checkbox/type").CheckboxGroupProps & import("../dataSourceForm/utils").WithModeProps> | (import("react").FC<{}> & {
3
3
  Group: import("react").FC<import("./Checkbox/type").CheckboxGroupProps & import("../dataSourceForm/utils").WithModeProps>;
4
4
  } & {
5
5
  Group: import("react").FC<import("./Checkbox/type").CheckboxGroupProps & import("../dataSourceForm/utils").WithModeProps>;