@pisell/materials 1.0.454 → 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 (104) 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 +2 -2
  6. package/build/lowcode/preview.js +150 -142
  7. package/build/lowcode/render/default/view.css +1 -1
  8. package/build/lowcode/render/default/view.js +15 -15
  9. package/build/lowcode/view.css +1 -1
  10. package/build/lowcode/view.js +20 -20
  11. package/es/components/button/index.js +0 -2
  12. package/es/components/buttonGroupEdit/index.js +0 -2
  13. package/es/components/buttonGroupPreview/index.js +1 -4
  14. package/es/components/dataSourceComponents/dataSourceForm/BaseForm.d.ts +3 -0
  15. package/es/components/dataSourceComponents/dataSourceForm/BaseForm.js +68 -0
  16. package/es/components/dataSourceComponents/dataSourceForm/formItem.js +11 -1
  17. package/es/components/dataSourceComponents/dataSourceForm/index.js +9 -61
  18. package/es/components/dataSourceComponents/dataSourceForm/provider/hooks/useJsonPrefixPath.d.ts +2 -0
  19. package/es/components/dataSourceComponents/dataSourceForm/provider/hooks/useJsonPrefixPath.js +7 -0
  20. package/es/components/dataSourceComponents/dataSourceForm/provider/jsonWrapper/JsonWrapperContext.d.ts +3 -0
  21. package/es/components/dataSourceComponents/dataSourceForm/provider/jsonWrapper/JsonWrapperContext.js +3 -0
  22. package/es/components/dataSourceComponents/dataSourceForm/provider/jsonWrapper/JsonWrapperProvider.d.ts +7 -0
  23. package/es/components/dataSourceComponents/dataSourceForm/provider/jsonWrapper/JsonWrapperProvider.js +25 -0
  24. package/es/components/dataSourceComponents/dataSourceForm/utils.d.ts +1 -0
  25. package/es/components/dataSourceComponents/dataSourceForm/utils.js +20 -4
  26. package/es/components/dataSourceComponents/dataSourceTable/BaseTable.d.ts +4 -0
  27. package/es/components/dataSourceComponents/dataSourceTable/BaseTable.js +197 -0
  28. package/es/components/dataSourceComponents/dataSourceTable/hooks/useDesignMode.js +14 -1
  29. package/es/components/dataSourceComponents/dataSourceTable/index.js +5 -203
  30. package/es/components/dataSourceComponents/fields/index.d.ts +1 -1
  31. package/es/components/dataSourceComponents/provider/fields/DataSourceContext.d.ts +11 -1
  32. package/es/components/dataSourceComponents/provider/fields/DataSourceContext.js +6 -1
  33. package/es/components/dataSourceComponents/provider/fields/DataSourceProvider.d.ts +2 -2
  34. package/es/components/dataSourceComponents/provider/fields/DataSourceProvider.js +48 -4
  35. package/es/components/pisellQrcode/index.js +1 -3
  36. package/es/components/pisellStatistic/index.d.ts +2 -2
  37. package/es/components/pisellStatistic/index.js +3 -3
  38. package/es/components/productCard/index.js +3 -0
  39. package/es/components/productCard/utils.js +1 -0
  40. package/es/components/record-view/index.d.ts +1 -0
  41. package/es/components/record-view/index.js +37 -4
  42. package/es/components/record-view/index.less +19 -2
  43. package/es/components/tabs/index.js +0 -2
  44. package/es/index.d.ts +1 -0
  45. package/es/index.js +1 -0
  46. package/es/locales/en-US.d.ts +4 -0
  47. package/es/locales/en-US.js +6 -1
  48. package/es/locales/zh-CN.d.ts +4 -0
  49. package/es/locales/zh-CN.js +5 -1
  50. package/es/locales/zh-TW.d.ts +4 -0
  51. package/es/locales/zh-TW.js +6 -1
  52. package/lib/components/button/index.js +0 -2
  53. package/lib/components/buttonGroupEdit/index.js +246 -156
  54. package/lib/components/buttonGroupPreview/index.js +31 -15
  55. package/lib/components/dataSourceComponents/dataSourceForm/BaseForm.d.ts +3 -0
  56. package/lib/components/dataSourceComponents/dataSourceForm/BaseForm.js +98 -0
  57. package/lib/components/dataSourceComponents/dataSourceForm/formItem.js +5 -1
  58. package/lib/components/dataSourceComponents/dataSourceForm/index.js +3 -59
  59. package/lib/components/dataSourceComponents/dataSourceForm/provider/hooks/useJsonPrefixPath.d.ts +2 -0
  60. package/lib/components/dataSourceComponents/dataSourceForm/provider/hooks/useJsonPrefixPath.js +41 -0
  61. package/lib/components/dataSourceComponents/dataSourceForm/provider/jsonWrapper/JsonWrapperContext.d.ts +3 -0
  62. package/lib/components/{table/Actions/component/ExportImport/utils/index.js → dataSourceComponents/dataSourceForm/provider/jsonWrapper/JsonWrapperContext.js} +8 -12
  63. package/lib/components/dataSourceComponents/dataSourceForm/provider/jsonWrapper/JsonWrapperProvider.d.ts +7 -0
  64. package/lib/components/dataSourceComponents/dataSourceForm/provider/jsonWrapper/JsonWrapperProvider.js +48 -0
  65. package/lib/components/dataSourceComponents/dataSourceForm/utils.d.ts +1 -0
  66. package/lib/components/dataSourceComponents/dataSourceForm/utils.js +16 -2
  67. package/lib/components/dataSourceComponents/dataSourceTable/BaseTable.d.ts +4 -0
  68. package/lib/components/dataSourceComponents/dataSourceTable/BaseTable.js +181 -0
  69. package/lib/components/dataSourceComponents/dataSourceTable/hooks/useDesignMode.js +13 -1
  70. package/lib/components/dataSourceComponents/dataSourceTable/index.js +3 -154
  71. package/lib/components/dataSourceComponents/fields/index.d.ts +1 -1
  72. package/lib/components/dataSourceComponents/provider/fields/DataSourceContext.d.ts +11 -1
  73. package/lib/components/dataSourceComponents/provider/fields/DataSourceContext.js +6 -1
  74. package/lib/components/dataSourceComponents/provider/fields/DataSourceProvider.d.ts +2 -2
  75. package/lib/components/dataSourceComponents/provider/fields/DataSourceProvider.js +47 -3
  76. package/lib/components/pisellQrcode/index.js +0 -5
  77. package/lib/components/pisellStatistic/index.d.ts +2 -2
  78. package/lib/components/pisellStatistic/index.js +3 -3
  79. package/lib/components/productCard/index.js +3 -0
  80. package/lib/components/productCard/utils.js +1 -0
  81. package/lib/components/record-view/index.d.ts +1 -0
  82. package/lib/components/record-view/index.js +23 -1
  83. package/lib/components/record-view/index.less +19 -2
  84. package/lib/components/tabs/index.js +0 -2
  85. package/lib/index.d.ts +1 -0
  86. package/lib/index.js +3 -0
  87. package/lib/locales/en-US.d.ts +4 -0
  88. package/lib/locales/en-US.js +6 -1
  89. package/lib/locales/zh-CN.d.ts +4 -0
  90. package/lib/locales/zh-CN.js +5 -1
  91. package/lib/locales/zh-TW.d.ts +4 -0
  92. package/lib/locales/zh-TW.js +6 -1
  93. package/lowcode/data-source-form/constants.ts +4 -1
  94. package/lowcode/data-source-form/meta.ts +3 -1
  95. package/lowcode/data-source-form/utils.ts +47 -42
  96. package/lowcode/data-source-table/meta.ts +21 -10
  97. package/lowcode/form-item-input.text-area/meta.ts +2 -2
  98. package/lowcode/json-wrapper/meta.ts +65 -0
  99. package/lowcode/json-wrapper/snippets.ts +16 -0
  100. package/lowcode/record-view/meta.ts +8 -0
  101. package/package.json +3 -3
  102. package/es/components/table/Actions/component/ExportImport/utils/index.d.ts +0 -9
  103. package/es/components/table/Actions/component/ExportImport/utils/index.js +0 -11
  104. package/lib/components/table/Actions/component/ExportImport/utils/index.d.ts +0 -9
@@ -37,9 +37,12 @@ var import_utils = require("@pisell/utils");
37
37
  var import_useDataSource = __toESM(require("../hooks/useDataSource"));
38
38
  var import_useFormSetting = __toESM(require("./provider/hooks/useFormSetting"));
39
39
  var import_form = __toESM(require("../../form"));
40
+ var import_useJsonPrefixPath = __toESM(require("./provider/hooks/useJsonPrefixPath"));
41
+ var import_utils2 = require("./utils");
40
42
  var FormItem = (props) => {
41
43
  var _a;
42
44
  const { children, name, label: propsLabel, mode: propsMode, ...other } = props;
45
+ const prefixPath = (0, import_useJsonPrefixPath.default)();
43
46
  const { dataSource } = (0, import_useDataSource.default)();
44
47
  const fields = dataSource == null ? void 0 : dataSource.fields;
45
48
  const { mode: globalMode } = (0, import_useFormSetting.default)();
@@ -54,6 +57,7 @@ var FormItem = (props) => {
54
57
  }
55
58
  return children;
56
59
  }, [children, effectiveMode]);
57
- return /* @__PURE__ */ import_react.default.createElement(import_form.default.Item, { name, label, ...other }, renderChildren);
60
+ const concatName = name !== void 0 ? [...prefixPath, ...(0, import_utils2.toArr)(name)] : void 0;
61
+ return /* @__PURE__ */ import_react.default.createElement(import_form.default.Item, { name: concatName, label, ...other }, renderChildren);
58
62
  };
59
63
  var formItem_default = FormItem;
@@ -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,2 @@
1
+ declare const useJsonPrefixPath: () => (string | number)[];
2
+ export default useJsonPrefixPath;
@@ -0,0 +1,41 @@
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/provider/hooks/useJsonPrefixPath.ts
30
+ var useJsonPrefixPath_exports = {};
31
+ __export(useJsonPrefixPath_exports, {
32
+ default: () => useJsonPrefixPath_default
33
+ });
34
+ module.exports = __toCommonJS(useJsonPrefixPath_exports);
35
+ var import_react = require("react");
36
+ var import_JsonWrapperContext = __toESM(require("../jsonWrapper/JsonWrapperContext"));
37
+ var useJsonPrefixPath = () => {
38
+ const prefixPath = (0, import_react.useContext)(import_JsonWrapperContext.default);
39
+ return prefixPath;
40
+ };
41
+ var useJsonPrefixPath_default = useJsonPrefixPath;
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ declare const JsonWrapperContext: import("react").Context<(string | number)[]>;
3
+ export default JsonWrapperContext;
@@ -16,16 +16,12 @@ var __copyProps = (to, from, except, desc) => {
16
16
  };
17
17
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
18
 
19
- // src/components/table/Actions/component/ExportImport/utils/index.ts
20
- var utils_exports = {};
21
- __export(utils_exports, {
22
- formatApiUrl: () => formatApiUrl
23
- });
24
- module.exports = __toCommonJS(utils_exports);
25
- var formatApiUrl = (url) => {
26
- return url || "/shop/form/data";
27
- };
28
- // Annotate the CommonJS export names for ESM import in node:
29
- 0 && (module.exports = {
30
- formatApiUrl
19
+ // src/components/dataSourceComponents/dataSourceForm/provider/jsonWrapper/JsonWrapperContext.ts
20
+ var JsonWrapperContext_exports = {};
21
+ __export(JsonWrapperContext_exports, {
22
+ default: () => JsonWrapperContext_default
31
23
  });
24
+ module.exports = __toCommonJS(JsonWrapperContext_exports);
25
+ var import_react = require("react");
26
+ var JsonWrapperContext = (0, import_react.createContext)([]);
27
+ var JsonWrapperContext_default = JsonWrapperContext;
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ export interface JsonWrapperProps {
3
+ prefix: string | number | (string | number)[];
4
+ name?: string;
5
+ }
6
+ declare const JsonWrapperProvider: React.FC<React.PropsWithChildren<JsonWrapperProps>>;
7
+ export default JsonWrapperProvider;
@@ -0,0 +1,48 @@
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/provider/jsonWrapper/JsonWrapperProvider.tsx
30
+ var JsonWrapperProvider_exports = {};
31
+ __export(JsonWrapperProvider_exports, {
32
+ default: () => JsonWrapperProvider_default
33
+ });
34
+ module.exports = __toCommonJS(JsonWrapperProvider_exports);
35
+ var import_react = __toESM(require("react"));
36
+ var import_formItem = __toESM(require("../../formItem"));
37
+ var import_utils = require("../../utils");
38
+ var import_JsonWrapperContext = __toESM(require("./JsonWrapperContext"));
39
+ var JsonWrapperProvider = (props) => {
40
+ const { children, prefix, label } = props;
41
+ const prefixPath = (0, import_react.useContext)(import_JsonWrapperContext.default);
42
+ const concatPath = (0, import_react.useMemo)(
43
+ () => [...prefixPath, ...(0, import_utils.toArr)(prefix)],
44
+ [prefixPath, prefix]
45
+ );
46
+ return /* @__PURE__ */ import_react.default.createElement(import_JsonWrapperContext.default.Provider, { value: concatPath }, /* @__PURE__ */ import_react.default.createElement(import_formItem.default, { label }, children));
47
+ };
48
+ var JsonWrapperProvider_default = JsonWrapperProvider;
@@ -34,3 +34,4 @@ export declare const formItemNameReverse: (name: string) => string;
34
34
  export declare const withFormItem: <P extends object>(WrappedComponent: React.ComponentType<P>) => React.FC<P & WithFormItemProps>;
35
35
  export declare const getNestedValue: (obj: Record<string, any>, path: string) => Record<string, any>;
36
36
  export declare const renderValueWithMap: (value: any, valueMap?: Record<string, string>) => React.JSX.Element | null;
37
+ export declare function toArr(str: string | number | (string | number)[]): (string | number)[];
@@ -33,6 +33,7 @@ __export(utils_exports, {
33
33
  formItemNameReverse: () => formItemNameReverse,
34
34
  getNestedValue: () => getNestedValue,
35
35
  renderValueWithMap: () => renderValueWithMap,
36
+ toArr: () => toArr,
36
37
  withFormItem: () => withFormItem,
37
38
  withMode: () => withMode
38
39
  });
@@ -43,6 +44,7 @@ var import_antd = require("antd");
43
44
  var import_form = __toESM(require("../../form"));
44
45
  var import_useDataSource = __toESM(require("../hooks/useDataSource"));
45
46
  var import_useFormSetting = __toESM(require("./provider/hooks/useFormSetting"));
47
+ var import_useJsonPrefixPath = __toESM(require("./provider/hooks/useJsonPrefixPath"));
46
48
  var withMode = (FieldComponent, ReadPrettyComponent, transformProps) => {
47
49
  return ({ renderMode = "edit", value, onChange, ...props }) => {
48
50
  const transformedProps = (transformProps == null ? void 0 : transformProps(
@@ -91,11 +93,15 @@ var withFormItem = (WrappedComponent) => {
91
93
  typeobj,
92
94
  maxobj,
93
95
  minobj,
96
+ normalize,
97
+ getValueProps,
98
+ validator,
94
99
  style,
95
100
  __designMode,
96
101
  ...otherProps
97
102
  }) => {
98
103
  var _a;
104
+ const prefixPath = (0, import_useJsonPrefixPath.default)();
99
105
  const { dataSource } = (0, import_useDataSource.default)();
100
106
  const { fields } = dataSource || {};
101
107
  const { mode: globalMode } = (0, import_useFormSetting.default)();
@@ -108,6 +114,7 @@ var withFormItem = (WrappedComponent) => {
108
114
  const isDesignMode = __designMode === "design";
109
115
  const isHidden = effectiveMode === "hidden";
110
116
  const name = (0, import_utils.isString)(propsName) && propsName.includes(".") ? [propsName] : propsName;
117
+ const concatName = name !== void 0 ? [...prefixPath, ...toArr(name)] : void 0;
111
118
  const rules = [];
112
119
  if (requiredobj && requiredobj.required) {
113
120
  rules.push(requiredobj);
@@ -136,13 +143,16 @@ var withFormItem = (WrappedComponent) => {
136
143
  ...style,
137
144
  opacity: isDesignMode && isHidden ? "0.3" : 1
138
145
  },
139
- name,
146
+ name: concatName,
140
147
  label,
141
148
  tooltip,
142
149
  noStyle,
143
150
  extra,
144
151
  hidden: isHidden && !isDesignMode,
145
- rules
152
+ rules,
153
+ normalize,
154
+ getValueProps,
155
+ validator
146
156
  },
147
157
  renderComponent
148
158
  );
@@ -166,12 +176,16 @@ var renderValueWithMap = (value, valueMap) => {
166
176
  }
167
177
  return null;
168
178
  };
179
+ function toArr(str) {
180
+ return Array.isArray(str) ? str : [str];
181
+ }
169
182
  // Annotate the CommonJS export names for ESM import in node:
170
183
  0 && (module.exports = {
171
184
  formItemNameReplace,
172
185
  formItemNameReverse,
173
186
  getNestedValue,
174
187
  renderValueWithMap,
188
+ toArr,
175
189
  withFormItem,
176
190
  withMode
177
191
  });
@@ -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;
@@ -24,7 +24,7 @@ __export(useDesignMode_exports, {
24
24
  module.exports = __toCommonJS(useDesignMode_exports);
25
25
  var import_react = require("react");
26
26
  var useDesignMode = (props, { registerVariable, openDrawer, closeDrawer, data }) => {
27
- const { __designMode, showDetailButton, showEditButton } = props;
27
+ const { __designMode, showDetailButton, showEditButton, showAddButton } = props;
28
28
  (0, import_react.useEffect)(() => {
29
29
  var _a;
30
30
  if (__designMode === "design") {
@@ -51,5 +51,17 @@ var useDesignMode = (props, { registerVariable, openDrawer, closeDrawer, data })
51
51
  }
52
52
  }
53
53
  }, [showEditButton, __designMode]);
54
+ (0, import_react.useEffect)(() => {
55
+ if (__designMode === "design") {
56
+ if (showAddButton) {
57
+ openDrawer("add");
58
+ registerVariable == null ? void 0 : registerVariable({
59
+ currentRecord: null
60
+ });
61
+ } else {
62
+ closeDrawer();
63
+ }
64
+ }
65
+ }, [showAddButton, __designMode]);
54
66
  };
55
67
  var useDesignMode_default = useDesignMode;