@quansitech/antd-admin 1.1.28 → 1.1.30

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.
@@ -14,8 +14,10 @@ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len
14
14
  function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
15
15
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
16
16
  import { Cascader } from "antd";
17
- import React, { useEffect, useState } from "react";
17
+ import React, { useContext, useEffect, useState } from "react";
18
18
  import http from "../../lib/http";
19
+ import { FormContext } from "../FormContext";
20
+ import { TableContext } from "../TableContext";
19
21
  export default function (props) {
20
22
  var _useState = useState(),
21
23
  _useState2 = _slicedToArray(_useState, 2),
@@ -25,6 +27,8 @@ export default function (props) {
25
27
  _useState4 = _slicedToArray(_useState3, 2),
26
28
  values = _useState4[0],
27
29
  setValues = _useState4[1];
30
+ var formContext = useContext(FormContext);
31
+ var tableContext = useContext(TableContext);
28
32
  var findValue = function findValue(options, value) {
29
33
  for (var i = 0; i < options.length; i++) {
30
34
  var _option$children;
@@ -57,6 +61,21 @@ export default function (props) {
57
61
  setValues(findValue(props.fieldProps.options, value));
58
62
  }
59
63
  }
64
+ var extraData;
65
+ if (formContext.extraRenderValues) {
66
+ extraData = formContext.extraRenderValues[props.fieldProps.dataIndex];
67
+ }
68
+ if (tableContext.extraRenderValues) {
69
+ var _tableContext$extraRe;
70
+ extraData = (_tableContext$extraRe = tableContext.extraRenderValues[props.index]) === null || _tableContext$extraRe === void 0 ? void 0 : _tableContext$extraRe[props.fieldProps.dataIndex];
71
+ }
72
+ if (extraData) {
73
+ setOptions(extraData.options);
74
+ if (value) {
75
+ setValues(findValue(extraData.options, value));
76
+ }
77
+ return;
78
+ }
60
79
 
61
80
  // 远程获取数据
62
81
  if (props.fieldProps.loadDataUrl) {
@@ -1,5 +1,6 @@
1
1
  import React from "react";
2
2
  import { TableColumnActionProps } from "./types";
3
+ import { ModalOptions, RequestOptions } from "../../../../types";
3
4
  type Props = TableColumnActionProps & {
4
5
  href?: string;
5
6
  request?: RequestOptions;
@@ -1,5 +1,6 @@
1
1
  import React from "react";
2
2
  import { ColumnReadonlyProps } from "./types";
3
+ import { Condition } from "../../../types";
3
4
  declare const _default: (props: ColumnReadonlyProps & {
4
5
  actions?: {
5
6
  type: string;
@@ -8,43 +8,64 @@ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o =
8
8
  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
9
9
  function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
10
10
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
11
- import React, { useEffect, useState } from "react";
11
+ import React, { useContext, useEffect, useState } from "react";
12
12
  import http from "../../../lib/http";
13
+ import { FormContext } from "../../FormContext";
14
+ import { TableContext } from "../../TableContext";
13
15
  export default function (props) {
14
16
  var _useState = useState('-'),
15
17
  _useState2 = _slicedToArray(_useState, 2),
16
18
  text = _useState2[0],
17
19
  setText = _useState2[1];
20
+ var formContext = useContext(FormContext);
21
+ var tableContext = useContext(TableContext);
22
+ var findValue = function findValue(options, value) {
23
+ for (var i = 0; i < options.length; i++) {
24
+ var option = options[i];
25
+ if (option.value === value) {
26
+ return [option.label];
27
+ } else if (option.children) {
28
+ return [option.label].concat(_toConsumableArray(findValue(option.children, value)));
29
+ }
30
+ }
31
+ };
18
32
  useEffect(function () {
19
33
  var _props$fieldProps;
20
34
  setText(props.fieldProps.value);
21
35
  var value = props.fieldProps.value;
36
+ var extraData;
37
+ if (formContext.extraRenderValues) {
38
+ extraData = formContext.extraRenderValues[props.fieldProps.dataIndex];
39
+ }
40
+ if (tableContext.extraRenderValues) {
41
+ var _tableContext$extraRe;
42
+ var key = tableContext.getTableProps().rowKey;
43
+ var index = tableContext.dataSource.findIndex(function (item) {
44
+ return item[key] === props.record[key];
45
+ });
46
+ extraData = (_tableContext$extraRe = tableContext.extraRenderValues[index]) === null || _tableContext$extraRe === void 0 ? void 0 : _tableContext$extraRe[props.fieldProps.dataIndex];
47
+ }
48
+ if (extraData) {
49
+ setText(findValue(extraData.options, value).join(' / '));
50
+ return;
51
+ }
22
52
 
23
53
  // 远程获取数据
24
- if ((_props$fieldProps = props.fieldProps) !== null && _props$fieldProps !== void 0 && _props$fieldProps.loadDataUrl) {
25
- http({
26
- url: props.fieldProps.loadDataUrl,
27
- method: 'get',
28
- params: {
29
- value: value
30
- }
31
- }).then(function (res) {
32
- if (!value) {
33
- return;
34
- }
35
- var findValue = function findValue(options, value) {
36
- for (var i = 0; i < options.length; i++) {
37
- var option = options[i];
38
- if (option.value === value) {
39
- return [option.label];
40
- } else if (option.children) {
41
- return [option.label].concat(_toConsumableArray(findValue(option.children, value)));
42
- }
43
- }
44
- };
45
- setText(findValue(res.data, value).join(' / '));
46
- });
54
+ if (!((_props$fieldProps = props.fieldProps) !== null && _props$fieldProps !== void 0 && _props$fieldProps.loadDataUrl)) {
55
+ return;
47
56
  }
57
+ http({
58
+ url: props.fieldProps.loadDataUrl,
59
+ method: 'get',
60
+ params: {
61
+ value: value
62
+ }
63
+ }).then(function (res) {
64
+ if (!value) {
65
+ return;
66
+ }
67
+ setText(findValue(res.data, value).join(' / '));
68
+ });
48
69
  }, []);
49
70
  return /*#__PURE__*/React.createElement("div", null, text);
50
71
  }
@@ -1,5 +1,6 @@
1
1
  import { FormActionType } from "./types";
2
2
  import React from "react";
3
+ import { ModalOptions, RequestOptions } from "../../../types";
3
4
  export default function (props: FormActionType & {
4
5
  props: any;
5
6
  submit?: boolean | {
@@ -1,6 +1,6 @@
1
1
  import React from "react";
2
2
  import './New.scss';
3
- export default function ({ children, pageTitle, siteTitle, setDarkMode }: {
3
+ export default function ({ children, pageTitle, setDarkMode }: {
4
4
  children: React.ReactNode;
5
5
  pageTitle: string;
6
6
  siteTitle: string;
@@ -17,7 +17,7 @@ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e
17
17
  import { PageContainer, ProLayout, ProProvider } from "@ant-design/pro-components";
18
18
  import { Button, Dropdown, Menu, Space } from "antd";
19
19
  import { LayoutContext } from "../LayoutContext";
20
- import React, { useCallback, useContext, useEffect, useMemo, useRef, useState } from "react";
20
+ import React, { useContext, useEffect, useMemo, useRef, useState } from "react";
21
21
  import { routerNavigateTo } from "../../lib/helpers";
22
22
  import http from "../../lib/http";
23
23
  // @ts-ignore
@@ -29,7 +29,6 @@ export default function (_ref) {
29
29
  var _layoutContext$props$;
30
30
  var children = _ref.children,
31
31
  pageTitle = _ref.pageTitle,
32
- siteTitle = _ref.siteTitle,
33
32
  setDarkMode = _ref.setDarkMode;
34
33
  var contentRef = useRef(null);
35
34
  var layoutContext = useContext(LayoutContext);
@@ -108,24 +107,6 @@ export default function (_ref) {
108
107
  }
109
108
  setOpenKeys(findKeyPath(layoutContext.props.menuActiveKey, layoutContext.props.menuList || []));
110
109
  }, [layoutContext.props.menuActiveKey]);
111
- useCallback(function () {
112
- var _pageProps$layoutProp, _pageProps$layoutProp2;
113
- if ((_pageProps$layoutProp = pageProps.layoutProps) !== null && _pageProps$layoutProp !== void 0 && _pageProps$layoutProp.menuActiveKey) {
114
- assignProps({
115
- menuActiveKey: pageProps.layoutProps.menuActiveKey
116
- });
117
- }
118
- var title = layoutContext.props.title || layoutProps.title;
119
- if ((_pageProps$layoutProp2 = pageProps.layoutProps) !== null && _pageProps$layoutProp2 !== void 0 && _pageProps$layoutProp2.metaTitle) {
120
- assignProps({
121
- metaTitle: pageProps.layoutProps.metaTitle + ' | ' + title
122
- });
123
- } else {
124
- assignProps({
125
- metaTitle: title
126
- });
127
- }
128
- }, [pageProps.layoutProps]);
129
110
  useEffect(function () {
130
111
  // 设置内容高度
131
112
  function onResize() {
@@ -174,7 +155,7 @@ export default function (_ref) {
174
155
  };
175
156
  var proContext = useContext(ProProvider);
176
157
  var actionsRender = function actionsRender() {
177
- return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Space, null, /*#__PURE__*/React.createElement(Button, {
158
+ return /*#__PURE__*/React.createElement(React.Fragment, null, layoutContext.props.headerActions, /*#__PURE__*/React.createElement(Space, null, /*#__PURE__*/React.createElement(Button, {
178
159
  type: 'text',
179
160
  onClick: function onClick() {
180
161
  setDarkMode(!proContext.dark);
@@ -194,7 +175,7 @@ export default function (_ref) {
194
175
  return "".concat(pageTitle, " | ").concat(layoutProps.title, " \u540E\u53F0\u7BA1\u7406");
195
176
  },
196
177
  footerRender: function footerRender() {
197
- return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Space, null, /*#__PURE__*/React.createElement("a", {
178
+ return /*#__PURE__*/React.createElement(React.Fragment, null, layoutContext.props.footer !== undefined ? /*#__PURE__*/React.createElement(React.Fragment, null, layoutContext.props.footer) : /*#__PURE__*/React.createElement(Space, null, /*#__PURE__*/React.createElement("a", {
198
179
  href: "https://www.quansitech.com/",
199
180
  target: '_blank'
200
181
  }, "\u5168\u601D\u79D1\u6280"), /*#__PURE__*/React.createElement("a", {
@@ -203,7 +184,7 @@ export default function (_ref) {
203
184
  }, "Github")));
204
185
  },
205
186
  avatarProps: {
206
- title: 'admin',
187
+ title: layoutProps.userName,
207
188
  render: function render(p, dom) {
208
189
  var _layoutContext$props$4;
209
190
  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Dropdown, {
@@ -0,0 +1,2 @@
1
+ import { PropsWithChildren } from 'react';
2
+ export default function ({ children }: PropsWithChildren): any;
@@ -0,0 +1,18 @@
1
+ import { useContext, useEffect } from 'react';
2
+ import { LayoutContext } from "../../LayoutContext";
3
+ export default function (_ref) {
4
+ var children = _ref.children;
5
+ var layoutContext = useContext(LayoutContext);
6
+ useEffect(function () {
7
+ var footer = layoutContext.props.footer;
8
+ layoutContext.assignProps({
9
+ footer: children
10
+ });
11
+ return function () {
12
+ layoutContext.assignProps({
13
+ footer: footer
14
+ });
15
+ };
16
+ }, []);
17
+ return null;
18
+ }
@@ -0,0 +1,2 @@
1
+ import { PropsWithChildren } from 'react';
2
+ export default function ({ children }: PropsWithChildren): any;
@@ -0,0 +1,18 @@
1
+ import { useContext, useEffect } from 'react';
2
+ import { LayoutContext } from "../../LayoutContext";
3
+ export default function (_ref) {
4
+ var children = _ref.children;
5
+ var layoutContext = useContext(LayoutContext);
6
+ useEffect(function () {
7
+ var headerActions = layoutContext.props.headerActions;
8
+ layoutContext.assignProps({
9
+ headerActions: children
10
+ });
11
+ return function () {
12
+ layoutContext.assignProps({
13
+ headerActions: headerActions
14
+ });
15
+ };
16
+ }, []);
17
+ return null;
18
+ }
@@ -1,2 +1,6 @@
1
1
  import React from "react";
2
- export default function (props: any): React.JSX.Element;
2
+ type ExportLayoutProps = {
3
+ footer?: React.ReactNode;
4
+ };
5
+ export default function (props: Record<string, any> & React.PropsWithChildren<ExportLayoutProps>): React.JSX.Element;
6
+ export {};
@@ -1,5 +1,4 @@
1
1
  function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
- function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
3
2
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
4
3
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
5
4
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
@@ -30,10 +29,16 @@ function ChildApp(props) {
30
29
  global.notification = notification;
31
30
  global.message = message;
32
31
  }, []);
33
- return /*#__PURE__*/React.createElement(React.Fragment, null, props.enableNewLayout ? /*#__PURE__*/React.createElement(New, props) : /*#__PURE__*/React.createElement(Blank, props));
32
+ return /*#__PURE__*/React.createElement(React.Fragment, null, props.enableNewLayout ? /*#__PURE__*/React.createElement(New, {
33
+ pageTitle: props.pageTitle,
34
+ siteTitle: props.siteTitle,
35
+ setDarkMode: props.setDarkMode
36
+ }, props.children) : /*#__PURE__*/React.createElement(Blank, {
37
+ pageTitle: props.pageTitle
38
+ }, props.children));
34
39
  }
35
40
  export default function (props) {
36
- var _pageProps$layoutProp, _pageProps$layoutProp2, _pageProps$layoutProp3, _pageProps$layoutProp4, _pageProps$layoutProp5, _pageProps$layoutProp6, _pageProps$layoutProp7;
41
+ var _pageProps$layoutProp, _pageProps$layoutProp2, _pageProps$layoutProp3, _pageProps$layoutProp4, _pageProps$layoutProp5, _pageProps$layoutProp6, _pageProps$layoutProp7, _pageProps$layoutProp8, _pageProps$layoutProp10;
37
42
  var _useState = useState(false),
38
43
  _useState2 = _slicedToArray(_useState, 2),
39
44
  darkMode = _useState2[0],
@@ -52,7 +57,10 @@ export default function (props) {
52
57
  topMenu: (_pageProps$layoutProp4 = pageProps.layoutProps) === null || _pageProps$layoutProp4 === void 0 ? void 0 : _pageProps$layoutProp4.topMenu,
53
58
  menuList: (_pageProps$layoutProp5 = pageProps.layoutProps) === null || _pageProps$layoutProp5 === void 0 ? void 0 : _pageProps$layoutProp5.menuList,
54
59
  logo: (_pageProps$layoutProp6 = pageProps.layoutProps) === null || _pageProps$layoutProp6 === void 0 ? void 0 : _pageProps$layoutProp6.logo,
55
- userMenu: (_pageProps$layoutProp7 = pageProps.layoutProps) === null || _pageProps$layoutProp7 === void 0 ? void 0 : _pageProps$layoutProp7.userMenu
60
+ userMenu: (_pageProps$layoutProp7 = pageProps.layoutProps) === null || _pageProps$layoutProp7 === void 0 ? void 0 : _pageProps$layoutProp7.userMenu,
61
+ userName: (_pageProps$layoutProp8 = pageProps.layoutProps) === null || _pageProps$layoutProp8 === void 0 ? void 0 : _pageProps$layoutProp8.userName,
62
+ footer: props.footer,
63
+ headerActions: props.headerActions
56
64
  }),
57
65
  _useState6 = _slicedToArray(_useState5, 2),
58
66
  layoutProps = _useState6[0],
@@ -61,9 +69,9 @@ export default function (props) {
61
69
  setLayoutProps(Object.assign(layoutProps, newProps));
62
70
  };
63
71
  useEffect(function () {
64
- var _pageProps$layoutProp8;
72
+ var _pageProps$layoutProp9;
65
73
  console.log('props=>', pageProps);
66
- if ((_pageProps$layoutProp8 = pageProps.layoutProps) !== null && _pageProps$layoutProp8 !== void 0 && _pageProps$layoutProp8.enableNewLayout) {
74
+ if ((_pageProps$layoutProp9 = pageProps.layoutProps) !== null && _pageProps$layoutProp9 !== void 0 && _pageProps$layoutProp9.enableNewLayout) {
67
75
  setEnableNewLayout(true);
68
76
  }
69
77
  var listener = function listener(e) {
@@ -116,9 +124,10 @@ export default function (props) {
116
124
  }, /*#__PURE__*/React.createElement(ProConfigProvider, {
117
125
  valueTypeMap: getProValueTypeMap(),
118
126
  dark: darkMode
119
- }, /*#__PURE__*/React.createElement(AntdApp, null, /*#__PURE__*/React.createElement(ChildApp, _extends({}, props, {
127
+ }, /*#__PURE__*/React.createElement(AntdApp, null, /*#__PURE__*/React.createElement(ChildApp, {
120
128
  setDarkMode: setDarkMode,
129
+ siteTitle: (_pageProps$layoutProp10 = pageProps.layoutProps) === null || _pageProps$layoutProp10 === void 0 ? void 0 : _pageProps$layoutProp10.siteTitle,
121
130
  pageTitle: layoutProps.metaTitle,
122
131
  enableNewLayout: enableNewLayout
123
- }))))));
132
+ }, props.children)))));
124
133
  }
@@ -1,4 +1,4 @@
1
- /// <reference types="react" />
1
+ import { ReactNode } from "react";
2
2
  import { MenuDataItem } from "@ant-design/pro-components";
3
3
  declare type LayoutContextValue = {
4
4
  assignProps: (props: LayoutProps) => void;
@@ -16,11 +16,14 @@ export declare type LayoutProps = {
16
16
  }[];
17
17
  menuList?: MenuDataItem[];
18
18
  logo?: string;
19
+ userName?: string;
19
20
  userMenu?: {
20
21
  title: string;
21
22
  url: string;
22
23
  type: string;
23
24
  }[];
25
+ footer?: ReactNode;
26
+ headerActions?: ReactNode;
24
27
  };
25
28
  export declare const LayoutContext: import("react").Context<LayoutContextValue>;
26
29
  export {};
@@ -1,5 +1,6 @@
1
1
  import React from "react";
2
2
  import { TableActionProps } from "./types";
3
+ import { ModalOptions, RequestOptions } from "../../../types";
3
4
  export default function (props: TableActionProps & {
4
5
  props: Record<string, any>;
5
6
  link?: {
@@ -34,18 +34,17 @@ export default function (props) {
34
34
  var searchUrl = props.searchUrl;
35
35
  var request = /*#__PURE__*/function () {
36
36
  var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(params, sort, filter) {
37
+ var _formRef$current;
37
38
  var data, only, res;
38
39
  return _regeneratorRuntime().wrap(function _callee$(_context) {
39
40
  while (1) switch (_context.prev = _context.next) {
40
41
  case 0:
41
42
  setLoading(true);
42
- data = _objectSpread(_objectSpread(_objectSpread({}, params), filter), {}, {
43
+ data = _objectSpread(_objectSpread(_objectSpread({}, filter), (_formRef$current = formRef.current) === null || _formRef$current === void 0 ? void 0 : _formRef$current.getFieldsValue()), {}, {
43
44
  sort: sort
44
45
  });
45
46
  if (props.pagination) {
46
- data[props.pagination.paramName || 'page'] = data.current;
47
- delete data.current;
48
- delete data.pageSize;
47
+ data[props.pagination.paramName || 'page'] = params.current;
49
48
  }
50
49
  setEditableKeys([]);
51
50
  setEditableValues([]);
@@ -68,6 +67,7 @@ export default function (props) {
68
67
  if (tabsContext.inTabs) {
69
68
  props = getValueByPath(props, tabsContext.propsPath);
70
69
  }
70
+ setLastQuery(data);
71
71
  setDataSource(postData(props.dataSource));
72
72
  setExtraRenderValues(props.extraRenderValues);
73
73
  setPagination(props.pagination);
@@ -96,19 +96,20 @@ export default function (props) {
96
96
  if (res.data.extraRenderValues) {
97
97
  setExtraRenderValues(res.data.extraRenderValues);
98
98
  }
99
+ setLastQuery(data);
99
100
  return _context.abrupt("return", {
100
101
  data: res.data.dataSource || [],
101
102
  success: true
102
103
  });
103
- case 17:
104
- _context.prev = 17;
104
+ case 18:
105
+ _context.prev = 18;
105
106
  setLoading(false);
106
- return _context.finish(17);
107
- case 20:
107
+ return _context.finish(18);
108
+ case 21:
108
109
  case "end":
109
110
  return _context.stop();
110
111
  }
111
- }, _callee, null, [[10,, 17, 20]]);
112
+ }, _callee, null, [[10,, 18, 21]]);
112
113
  }));
113
114
  return function request(_x, _x2, _x3) {
114
115
  return _ref.apply(this, arguments);
@@ -151,41 +152,45 @@ export default function (props) {
151
152
  };
152
153
  var formRef = useRef();
153
154
  var actionRef = useRef();
154
- var _useState = useState(function () {
155
+ var _useState = useState({}),
156
+ _useState2 = _slicedToArray(_useState, 2),
157
+ lastQuery = _useState2[0],
158
+ setLastQuery = _useState2[1];
159
+ var _useState3 = useState(function () {
155
160
  return [];
156
161
  }),
157
- _useState2 = _slicedToArray(_useState, 2),
158
- editableKeys = _useState2[0],
159
- setEditableKeys = _useState2[1];
160
- var _useState3 = useState([]),
161
162
  _useState4 = _slicedToArray(_useState3, 2),
162
- selectedRows = _useState4[0],
163
- setSelectedRows = _useState4[1];
163
+ editableKeys = _useState4[0],
164
+ setEditableKeys = _useState4[1];
164
165
  var _useState5 = useState([]),
165
166
  _useState6 = _slicedToArray(_useState5, 2),
166
- editableValues = _useState6[0],
167
- setEditableValues = _useState6[1];
168
- var _useState7 = useState(false),
167
+ selectedRows = _useState6[0],
168
+ setSelectedRows = _useState6[1];
169
+ var _useState7 = useState([]),
169
170
  _useState8 = _slicedToArray(_useState7, 2),
170
- loading = _useState8[0],
171
- setLoading = _useState8[1];
172
- // @ts-ignore
173
- var _useState9 = useState(props.pagination),
171
+ editableValues = _useState8[0],
172
+ setEditableValues = _useState8[1];
173
+ var _useState9 = useState(false),
174
174
  _useState10 = _slicedToArray(_useState9, 2),
175
- pagination = _useState10[0],
176
- setPagination = _useState10[1];
177
- var _useState11 = useState(postData(props.dataSource)),
175
+ loading = _useState10[0],
176
+ setLoading = _useState10[1];
177
+ // @ts-ignore
178
+ var _useState11 = useState(props.pagination),
178
179
  _useState12 = _slicedToArray(_useState11, 2),
179
- dataSource = _useState12[0],
180
- setDataSource = _useState12[1];
181
- var _useState13 = useState(true),
180
+ pagination = _useState12[0],
181
+ setPagination = _useState12[1];
182
+ var _useState13 = useState(postData(props.dataSource)),
182
183
  _useState14 = _slicedToArray(_useState13, 2),
183
- sticky = _useState14[0],
184
- setSticky = _useState14[1];
185
- var _useState15 = useState(props.extraRenderValues),
184
+ dataSource = _useState14[0],
185
+ setDataSource = _useState14[1];
186
+ var _useState15 = useState(true),
186
187
  _useState16 = _slicedToArray(_useState15, 2),
187
- extraRenderValues = _useState16[0],
188
- setExtraRenderValues = _useState16[1];
188
+ sticky = _useState16[0],
189
+ setSticky = _useState16[1];
190
+ var _useState17 = useState(props.extraRenderValues),
191
+ _useState18 = _slicedToArray(_useState17, 2),
192
+ extraRenderValues = _useState18[0],
193
+ setExtraRenderValues = _useState18[1];
189
194
  var modalContext = useContext(ModalContext);
190
195
  var tabsContext = useContext(TabsContext);
191
196
  useEffect(function () {
@@ -201,10 +206,7 @@ export default function (props) {
201
206
  if (!searchUrl) {
202
207
  searchUrl = window.location.href;
203
208
  }
204
- if (props.defaultSearchValue !== undefined) {
205
- var _formRef$current;
206
- (_formRef$current = formRef.current) === null || _formRef$current === void 0 || _formRef$current.setFieldsValue(props.defaultSearchValue);
207
- }
209
+ setLastQuery(props.defaultSearchValue);
208
210
  if (!modalContext.inModal) {
209
211
  var query = qs.parse(window.location.search.replace(/^\?/, ''));
210
212
  if (query && Object.keys(query).length) {
@@ -253,20 +255,20 @@ export default function (props) {
253
255
  postData: postData,
254
256
  sticky: sticky,
255
257
  form: {
256
- onValuesChange: function onValuesChange(changedValues) {
257
- var key = Object.keys(changedValues)[0];
258
- var c = columns.find(function (c) {
259
- return c.dataIndex === key;
260
- });
261
- if (!c) {
258
+ initialValues: props.defaultSearchValue,
259
+ onValuesChange: function onValuesChange(changedValues, allValues) {
260
+ var _formRef$current3;
261
+ var submit = columns.filter(function (c) {
262
+ if (!c.searchOnChange) {
263
+ return false;
264
+ }
265
+ return lastQuery[c.dataIndex] !== allValues[c.dataIndex];
266
+ }).length;
267
+ if (!submit) {
262
268
  return;
263
269
  }
264
270
  // 是否立即搜索
265
- if (c.searchOnChange) {
266
- var _formRef$current3;
267
- // @ts-ignore
268
- (_formRef$current3 = formRef.current) === null || _formRef$current3 === void 0 || _formRef$current3.submit();
269
- }
271
+ (_formRef$current3 = formRef.current) === null || _formRef$current3 === void 0 || _formRef$current3.submit();
270
272
  }
271
273
  },
272
274
  rowSelection: props.rowSelection && {
@@ -4,7 +4,7 @@ declare const container: {
4
4
  get(name: string): any;
5
5
  check(name: string): boolean;
6
6
  list(prefix: string): Record<string, any>;
7
- schemaHandler: Record<string, (schema: any) => import("@ant-design/pro-utils").ProSchema | import("@ant-design/pro-table").ProColumnType>;
7
+ schemaHandler: Record<string, (schema: any) => import("@ant-design/pro-table").ProColumnType | import("@ant-design/pro-utils").ProSchema>;
8
8
  routerNavigateTo: typeof routerNavigateTo;
9
9
  };
10
10
  export default container;
@@ -1,5 +1,6 @@
1
1
  import { VisitOptions } from "@inertiajs/core/types/types";
2
2
  import { ModalFuncProps } from "antd";
3
+ import { Condition, ModalOptions } from "../types";
3
4
  export declare function replaceUrl(url: string, params: any): string;
4
5
  export declare function replaceParams(params: Record<string, any>, data: Record<string, any>): Record<string, any>;
5
6
  export declare function routerNavigateTo(url: string, config?: VisitOptions): void;
@@ -54,6 +54,7 @@ export var commonHandler = function commonHandler(schema) {
54
54
  }
55
55
  // 有些表单项宽度并不能撑满,这里强制设置宽度
56
56
  deepSet(schema, 'fieldProps.style.width', '100%');
57
+ deepSet(schema, 'fieldProps.dataIndex', schema.dataIndex);
57
58
  return schema;
58
59
  };
59
60
  export var schemaHandler = {
@@ -101,7 +102,6 @@ export var schemaHandler = {
101
102
  schema.formItemProps.rules.push({
102
103
  validator: uploadValidator
103
104
  });
104
- schema.fieldProps.dataIndex = schema.dataIndex;
105
105
  return _objectSpread(_objectSpread({}, schema), {}, {
106
106
  transform: uploadTransform
107
107
  });
package/dist/types.d.ts CHANGED
@@ -1,3 +1,5 @@
1
+ import {TableContextValue} from "./components/TableContext";
2
+
1
3
  type RequestOptions = {
2
4
  url: string,
3
5
  method: string,
@@ -14,7 +16,7 @@ type Condition = {
14
16
  }
15
17
 
16
18
  type ModalOptions = {
17
- tableContext: TableContext,
19
+ tableContext: TableContextValue,
18
20
  contexts?: Record<string, any>
19
21
  title?: string,
20
22
  content: {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@quansitech/antd-admin",
3
- "version": "1.1.28",
3
+ "version": "1.1.30",
4
4
  "type": "module",
5
5
  "files": [
6
6
  "dist"
package/readme.md CHANGED
@@ -10,6 +10,50 @@ npm install @quansitech/antd-admin
10
10
 
11
11
  ## 使用参考
12
12
 
13
+ ### Layout组件Props
14
+
15
+ | 属性 | 替换组件 | 说明 | 类型 | 默认值 |
16
+ |---------------|---------------|------|-----------|---------------|
17
+ | headerActions | HeaderActions | 顶部操作 | ReactNode | - |
18
+ | footer | Footer | 底部内容 | ReactNode | 全思科技 - Github |
19
+
20
+ 可在项目目录 `/resources/js/backend/app.tsx` 中修改,如:
21
+
22
+ ```tsx
23
+ createInertiaApp({
24
+ resolve: async name => {
25
+ const pages = import.meta.glob('./Pages/**/*.tsx')
26
+ const page: any = await pages[`./Pages/${name}.tsx`]()
27
+ page.default.layout = page.default.layout || ((page: ReactNode) => <Layout
28
+
29
+ headerActions={<HeaderActions/>} //顶部操作
30
+ footer={<>这是底部内容</>} // 底部内容
31
+
32
+ children={page}/>
33
+ )
34
+ return page
35
+ },
36
+ //...
37
+ })
38
+ ```
39
+
40
+ 对于单独页面修改Layout组件属性,可在页面中调用对应的 Replacement 组件,如:
41
+
42
+ ```tsx
43
+ import HeaderActions from "@quansitech/antd-admin/dist/components/Layout/Replacement/HeaderActions";
44
+
45
+ export default function () {
46
+
47
+ return <>
48
+ <HeaderActions>
49
+ 修改的内容
50
+ </HeaderActions>
51
+ 页面内容
52
+ </>
53
+ }
54
+
55
+ ```
56
+
13
57
  ### valueType列表
14
58
 
15
59
  参考 [ant-design-pro#valueType](https://procomponents.ant.design/components/schema#valuetype-%E5%88%97%E8%A1%A8)