@magicbe/antd-crud 0.0.45 → 0.0.47

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.
@@ -250,6 +250,7 @@ export var DeleteAction = function (_a) {
250
250
  var _b = _a.children, children = _b === void 0 ? delete_action_default_children : _b;
251
251
  var _c = Modal.useModal(), modalInstance = _c[0], modalContextHolder = _c[1];
252
252
  var _d = useTableContext(), table_ref = _d.table_ref, filter_ref = _d.filter_ref, del = _d.del;
253
+ var showErrorModal = useCrudConfigContext().showErrorModal;
253
254
  var _e = useState(false), loading = _e[0], setLoading = _e[1];
254
255
  var onClick = function () { return __awaiter(void 0, void 0, void 0, function () {
255
256
  var keys, rows, before, handle, after, res, page_data, filter_data, error_2;
@@ -329,7 +330,7 @@ export var DeleteAction = function (_a) {
329
330
  return [3 /*break*/, 3];
330
331
  case 2:
331
332
  error_3 = _a.sent();
332
- modalInstance.error({
333
+ showErrorModal && modalInstance.error({
333
334
  title: "错误",
334
335
  content: String(error_3)
335
336
  });
@@ -25,20 +25,23 @@ import { jsx as _jsx } from "react/jsx-runtime";
25
25
  import React, { useImperativeHandle } from "react";
26
26
  import { Form as AntdForm, Empty } from "antd";
27
27
  import Field from "./Field";
28
- import { get, isObject, isString } from "lodash";
28
+ import { get, isFunction, isObject, isString } from "lodash";
29
29
  import { useTableContext } from "./Context";
30
30
  var AddForm = React.forwardRef(function (_a, ref) {
31
31
  var default_data = _a.default_data;
32
32
  var form = AntdForm.useForm()[0];
33
33
  var columns = useTableContext().columns;
34
34
  var fields = columns === null || columns === void 0 ? void 0 : columns.filter(function (_a) {
35
- var add = _a.add, edit = _a.edit;
35
+ var add = _a.add;
36
36
  return !!add;
37
37
  }).map(function (_a) {
38
38
  var add = _a.add, edit = _a.edit, field = _a.field, column = __rest(_a, ["add", "edit", "field"]);
39
39
  if (add === true) {
40
40
  return Object.assign(column, { field: field });
41
41
  }
42
+ if (isFunction(add)) {
43
+ return Object.assign(column, { field: add });
44
+ }
42
45
  if (isObject(add)) {
43
46
  return Object.assign(column, { field: add });
44
47
  }
@@ -25,7 +25,7 @@ import { jsx as _jsx } from "react/jsx-runtime";
25
25
  import React, { useImperativeHandle } from "react";
26
26
  import { Form as AntdForm, Empty } from "antd";
27
27
  import { useTableContext } from "./Context";
28
- import { get, isObject, isString } from "lodash";
28
+ import { get, isFunction, isObject, isString } from "lodash";
29
29
  import Field from "./Field";
30
30
  var EditForm = React.forwardRef(function (_a, ref) {
31
31
  var _b = _a.default_data, default_data = _b === void 0 ? {} : _b;
@@ -39,6 +39,9 @@ var EditForm = React.forwardRef(function (_a, ref) {
39
39
  if (edit === true) {
40
40
  return Object.assign(column, { field: field });
41
41
  }
42
+ if (isFunction(edit)) {
43
+ return Object.assign(column, { field: edit });
44
+ }
42
45
  if (isObject(edit)) {
43
46
  return Object.assign(column, { field: edit });
44
47
  }
@@ -40,6 +40,7 @@ var presets = {
40
40
  };
41
41
  TimePicker.RangePicker;
42
42
  var Field = function (props) {
43
+ var form = Form.useFormInstance();
43
44
  var field = props.field, dataIndex = props.dataIndex, title = props.title;
44
45
  var _a = useMemo(function () {
45
46
  var basic = { name: dataIndex, label: title, rules: [] };
@@ -65,6 +66,17 @@ var Field = function (props) {
65
66
  };
66
67
  return getNext(field);
67
68
  }, [field, dataIndex, title]), Component = _a.Component, name = _a.name, label = _a.label, _b = _a.option, option = _b === void 0 ? {} : _b, rules = _a.rules;
69
+ // 监听值变化
70
+ var value = Form.useWatch(null, form);
71
+ // 监听值变化,根据 filter 函数判断是否展示
72
+ var show = useMemo(function () {
73
+ if (!isFunction(field) && isObject(field)) {
74
+ var _a = field.filter, filter = _a === void 0 ? function () { return true; } : _a;
75
+ return filter(value, form);
76
+ }
77
+ }, [value]);
78
+ if (!show)
79
+ return _jsx(Fragment, {});
68
80
  return (_jsx(Form.Item, { name: name, label: label, rules: rules, hidden: field === "Hidden", children: _jsx(Component, __assign({}, option)) }));
69
81
  };
70
82
  export default Field;
@@ -452,6 +452,7 @@ var delete_action_default_children = (_jsxs(Button, { size: "small", type: "link
452
452
  export var DeleteAction = function (_a) {
453
453
  var _b = _a.children, children = _b === void 0 ? delete_action_default_children : _b, row = _a.row;
454
454
  var _c = useTableContext(), table_ref = _c.table_ref, filter_ref = _c.filter_ref, del = _c.del, rowKey = _c.rowKey;
455
+ var showErrorModal = useCrudConfigContext().showErrorModal;
455
456
  var _d = Modal.useModal(), modalInstance = _d[0], modalContextHolder = _d[1];
456
457
  var _e = useState(false), loading = _e[0], setLoading = _e[1];
457
458
  var _f = useMemo(function () {
@@ -529,7 +530,7 @@ export var DeleteAction = function (_a) {
529
530
  return [3 /*break*/, 3];
530
531
  case 2:
531
532
  error_5 = _a.sent();
532
- modalInstance.error({
533
+ showErrorModal && modalInstance.error({
533
534
  title: "错误",
534
535
  content: String(error_5)
535
536
  });
@@ -12,6 +12,7 @@ export interface BaseColumnField<T extends string, O = any> {
12
12
  option?: O;
13
13
  rules?: Rule[];
14
14
  order?: number;
15
+ filter?: (values: AnyObject, form: FormInstance) => boolean;
15
16
  }
16
17
  /**隐藏字段 */
17
18
  export interface ColumnHiddenField extends BaseColumnField<"Hidden"> {
@@ -84,6 +85,7 @@ export interface CustormColumnField {
84
85
  option?: any;
85
86
  rules?: Rule[];
86
87
  order?: number;
88
+ filter?: (values: AnyObject, form: FormInstance) => boolean;
87
89
  }
88
90
  export type ColumnField = ColumnHiddenField | ColumnInputField | ColumnInputPasswordField | ColumnTextAreaField | ColumnInputNumberField | ColumnSelectField | ColumnCascaderField | ColumnTreeSelectField | ColumnCheckboxField | ColumnCheckboxGroupField | ColumnDatePickerField | ColumnDatePickerYearPickerField | ColumnDatePickerMonthPickerField | ColumnDatePickerWeekPickerField | ColumnDatePickerTimePickerField | ColumnDatePickerRangePickerField | ColumnDatePickerQuarterPickerField | ColumnTimePickerField | ColumnTimePickerRangePickerField | ColumnRadioField | ColumnRadioGroupField | ColumnSwitchField | CustormColumnField;
89
91
  export type ColumnFieldKeys = ColumnHiddenField["type"] | ColumnInputField["type"] | ColumnInputPasswordField["type"] | ColumnTextAreaField["type"] | ColumnInputNumberField["type"] | ColumnSelectField["type"] | ColumnCascaderField["type"] | ColumnTreeSelectField["type"] | ColumnCheckboxField["type"] | ColumnCheckboxGroupField["type"] | ColumnDatePickerField["type"] | ColumnDatePickerYearPickerField["type"] | ColumnDatePickerMonthPickerField["type"] | ColumnDatePickerWeekPickerField["type"] | ColumnDatePickerTimePickerField["type"] | ColumnDatePickerRangePickerField["type"] | ColumnDatePickerQuarterPickerField["type"] | ColumnTimePickerField["type"] | ColumnTimePickerRangePickerField["type"] | ColumnRadioField["type"] | ColumnRadioGroupField["type"] | ColumnSwitchField["type"];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@magicbe/antd-crud",
3
- "version": "0.0.45",
3
+ "version": "0.0.47",
4
4
  "description": "antd crud table",
5
5
  "author": "wang quan",
6
6
  "private": false,