@quansitech/antd-admin 1.1.27 → 1.1.29

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,5 +1,6 @@
1
1
  import React from "react";
2
- export default function ({ children, pageTitle, siteTitle, setDarkMode }: {
2
+ import './New.scss';
3
+ export default function ({ children, pageTitle, setDarkMode }: {
3
4
  children: React.ReactNode;
4
5
  pageTitle: string;
5
6
  siteTitle: string;
@@ -24,11 +24,11 @@ import http from "../../lib/http";
24
24
 
25
25
  import { MoonOutlined, SunOutlined } from "@ant-design/icons";
26
26
  import { usePage } from "@inertiajs/react";
27
+ import "./New.scss";
27
28
  export default function (_ref) {
28
29
  var _layoutContext$props$;
29
30
  var children = _ref.children,
30
31
  pageTitle = _ref.pageTitle,
31
- siteTitle = _ref.siteTitle,
32
32
  setDarkMode = _ref.setDarkMode;
33
33
  var contentRef = useRef(null);
34
34
  var layoutContext = useContext(LayoutContext);
@@ -173,7 +173,7 @@ export default function (_ref) {
173
173
  };
174
174
  var proContext = useContext(ProProvider);
175
175
  var actionsRender = function actionsRender() {
176
- return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Space, null, /*#__PURE__*/React.createElement(Button, {
176
+ return /*#__PURE__*/React.createElement(React.Fragment, null, layoutProps.headerActions, /*#__PURE__*/React.createElement(Space, null, /*#__PURE__*/React.createElement(Button, {
177
177
  type: 'text',
178
178
  onClick: function onClick() {
179
179
  setDarkMode(!proContext.dark);
@@ -193,7 +193,7 @@ export default function (_ref) {
193
193
  return "".concat(pageTitle, " | ").concat(layoutProps.title, " \u540E\u53F0\u7BA1\u7406");
194
194
  },
195
195
  footerRender: function footerRender() {
196
- return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Space, null, /*#__PURE__*/React.createElement("a", {
196
+ return /*#__PURE__*/React.createElement(React.Fragment, null, layoutProps.footer !== undefined ? /*#__PURE__*/React.createElement(React.Fragment, null, layoutProps.footer) : /*#__PURE__*/React.createElement(Space, null, /*#__PURE__*/React.createElement("a", {
197
197
  href: "https://www.quansitech.com/",
198
198
  target: '_blank'
199
199
  }, "\u5168\u601D\u79D1\u6280"), /*#__PURE__*/React.createElement("a", {
@@ -202,7 +202,7 @@ export default function (_ref) {
202
202
  }, "Github")));
203
203
  },
204
204
  avatarProps: {
205
- title: 'admin',
205
+ title: layoutProps.userName,
206
206
  render: function render(p, dom) {
207
207
  var _layoutContext$props$4;
208
208
  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Dropdown, {
@@ -0,0 +1,3 @@
1
+ .ant-pro-global-header .ant-menu {
2
+ background: none;
3
+ }
@@ -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?: {
@@ -37,7 +37,7 @@ export default function (_ref) {
37
37
  }, c.props.badge ? /*#__PURE__*/React.createElement(Badge, {
38
38
  count: c.props.badge,
39
39
  style: {
40
- zIndex: 100
40
+ zIndex: 2
41
41
  }
42
42
  }, /*#__PURE__*/React.createElement(c.Component, c.props)) : /*#__PURE__*/React.createElement(c.Component, c.props));
43
43
  })));
@@ -27,26 +27,24 @@ import http from "../lib/http";
27
27
  import "./Table.scss";
28
28
  import { ModalContext } from "./ModalContext";
29
29
  import { commonHandler } from "../lib/schemaHandler";
30
- import { diffTree, getValueByPath } from "../lib/helpers";
31
- import { router } from "@inertiajs/react";
30
+ import { diffTree, getValueByPath, routerNavigateTo } from "../lib/helpers";
32
31
  import qs from 'qs';
33
32
  import { TabsContext } from "./TabsContext";
34
33
  export default function (props) {
35
34
  var searchUrl = props.searchUrl;
36
35
  var request = /*#__PURE__*/function () {
37
36
  var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(params, sort, filter) {
37
+ var _formRef$current;
38
38
  var data, only, res;
39
39
  return _regeneratorRuntime().wrap(function _callee$(_context) {
40
40
  while (1) switch (_context.prev = _context.next) {
41
41
  case 0:
42
42
  setLoading(true);
43
- 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()), {}, {
44
44
  sort: sort
45
45
  });
46
46
  if (props.pagination) {
47
- data[props.pagination.paramName || 'page'] = data.current;
48
- delete data.current;
49
- delete data.pageSize;
47
+ data[props.pagination.paramName || 'page'] = params.current;
50
48
  }
51
49
  setEditableKeys([]);
52
50
  setEditableValues([]);
@@ -58,7 +56,9 @@ export default function (props) {
58
56
  if (tabsContext.inTabs) {
59
57
  only.push('tabs');
60
58
  }
61
- router.get(searchUrl, data, {
59
+ routerNavigateTo(searchUrl, {
60
+ method: 'get',
61
+ data: data,
62
62
  preserveScroll: true,
63
63
  preserveState: true,
64
64
  only: only,
@@ -67,6 +67,7 @@ export default function (props) {
67
67
  if (tabsContext.inTabs) {
68
68
  props = getValueByPath(props, tabsContext.propsPath);
69
69
  }
70
+ setLastQuery(data);
70
71
  setDataSource(postData(props.dataSource));
71
72
  setExtraRenderValues(props.extraRenderValues);
72
73
  setPagination(props.pagination);
@@ -95,19 +96,20 @@ export default function (props) {
95
96
  if (res.data.extraRenderValues) {
96
97
  setExtraRenderValues(res.data.extraRenderValues);
97
98
  }
99
+ setLastQuery(data);
98
100
  return _context.abrupt("return", {
99
101
  data: res.data.dataSource || [],
100
102
  success: true
101
103
  });
102
- case 17:
103
- _context.prev = 17;
104
+ case 18:
105
+ _context.prev = 18;
104
106
  setLoading(false);
105
- return _context.finish(17);
106
- case 20:
107
+ return _context.finish(18);
108
+ case 21:
107
109
  case "end":
108
110
  return _context.stop();
109
111
  }
110
- }, _callee, null, [[10,, 17, 20]]);
112
+ }, _callee, null, [[10,, 18, 21]]);
111
113
  }));
112
114
  return function request(_x, _x2, _x3) {
113
115
  return _ref.apply(this, arguments);
@@ -150,41 +152,45 @@ export default function (props) {
150
152
  };
151
153
  var formRef = useRef();
152
154
  var actionRef = useRef();
153
- 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 () {
154
160
  return [];
155
161
  }),
156
- _useState2 = _slicedToArray(_useState, 2),
157
- editableKeys = _useState2[0],
158
- setEditableKeys = _useState2[1];
159
- var _useState3 = useState([]),
160
162
  _useState4 = _slicedToArray(_useState3, 2),
161
- selectedRows = _useState4[0],
162
- setSelectedRows = _useState4[1];
163
+ editableKeys = _useState4[0],
164
+ setEditableKeys = _useState4[1];
163
165
  var _useState5 = useState([]),
164
166
  _useState6 = _slicedToArray(_useState5, 2),
165
- editableValues = _useState6[0],
166
- setEditableValues = _useState6[1];
167
- var _useState7 = useState(false),
167
+ selectedRows = _useState6[0],
168
+ setSelectedRows = _useState6[1];
169
+ var _useState7 = useState([]),
168
170
  _useState8 = _slicedToArray(_useState7, 2),
169
- loading = _useState8[0],
170
- setLoading = _useState8[1];
171
- // @ts-ignore
172
- var _useState9 = useState(props.pagination),
171
+ editableValues = _useState8[0],
172
+ setEditableValues = _useState8[1];
173
+ var _useState9 = useState(false),
173
174
  _useState10 = _slicedToArray(_useState9, 2),
174
- pagination = _useState10[0],
175
- setPagination = _useState10[1];
176
- var _useState11 = useState(postData(props.dataSource)),
175
+ loading = _useState10[0],
176
+ setLoading = _useState10[1];
177
+ // @ts-ignore
178
+ var _useState11 = useState(props.pagination),
177
179
  _useState12 = _slicedToArray(_useState11, 2),
178
- dataSource = _useState12[0],
179
- setDataSource = _useState12[1];
180
- var _useState13 = useState(true),
180
+ pagination = _useState12[0],
181
+ setPagination = _useState12[1];
182
+ var _useState13 = useState(postData(props.dataSource)),
181
183
  _useState14 = _slicedToArray(_useState13, 2),
182
- sticky = _useState14[0],
183
- setSticky = _useState14[1];
184
- var _useState15 = useState(props.extraRenderValues),
184
+ dataSource = _useState14[0],
185
+ setDataSource = _useState14[1];
186
+ var _useState15 = useState(true),
185
187
  _useState16 = _slicedToArray(_useState15, 2),
186
- extraRenderValues = _useState16[0],
187
- 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];
188
194
  var modalContext = useContext(ModalContext);
189
195
  var tabsContext = useContext(TabsContext);
190
196
  useEffect(function () {
@@ -200,10 +206,7 @@ export default function (props) {
200
206
  if (!searchUrl) {
201
207
  searchUrl = window.location.href;
202
208
  }
203
- if (props.defaultSearchValue !== undefined) {
204
- var _formRef$current;
205
- (_formRef$current = formRef.current) === null || _formRef$current === void 0 || _formRef$current.setFieldsValue(props.defaultSearchValue);
206
- }
209
+ setLastQuery(props.defaultSearchValue);
207
210
  if (!modalContext.inModal) {
208
211
  var query = qs.parse(window.location.search.replace(/^\?/, ''));
209
212
  if (query && Object.keys(query).length) {
@@ -252,20 +255,20 @@ export default function (props) {
252
255
  postData: postData,
253
256
  sticky: sticky,
254
257
  form: {
255
- onValuesChange: function onValuesChange(changedValues) {
256
- var key = Object.keys(changedValues)[0];
257
- var c = columns.find(function (c) {
258
- return c.dataIndex === key;
259
- });
260
- 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) {
261
268
  return;
262
269
  }
263
270
  // 是否立即搜索
264
- if (c.searchOnChange) {
265
- var _formRef$current3;
266
- // @ts-ignore
267
- (_formRef$current3 = formRef.current) === null || _formRef$current3 === void 0 || _formRef$current3.submit();
268
- }
271
+ (_formRef$current3 = formRef.current) === null || _formRef$current3 === void 0 || _formRef$current3.submit();
269
272
  }
270
273
  },
271
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;
@@ -43,6 +43,10 @@ export function replaceParams(params, data) {
43
43
  return res;
44
44
  }
45
45
  export function routerNavigateTo(url, config) {
46
+ if (url.indexOf('javascript:') !== -1) {
47
+ window.location.href = url;
48
+ return;
49
+ }
46
50
  return router.visit(url, _objectSpread({}, config));
47
51
  }
48
52
  export function createScript(url) {
@@ -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.27",
3
+ "version": "1.1.29",
4
4
  "type": "module",
5
5
  "files": [
6
6
  "dist"
@@ -12,7 +12,7 @@
12
12
  },
13
13
  "dependencies": {
14
14
  "@ant-design/pro-components": "^2.7.15",
15
- "@inertiajs/react": "^1.2.0",
15
+ "@inertiajs/react": "^1.2.0 || ^2.0.0",
16
16
  "antd": "^5.20.5",
17
17
  "antd-img-crop": "^4.23.0",
18
18
  "axios": "^1.7.7",
package/readme.md CHANGED
@@ -10,6 +10,33 @@ npm install @quansitech/antd-admin
10
10
 
11
11
  ## 使用参考
12
12
 
13
+ ### Layout组件Props
14
+
15
+ | 属性 | 说明 | 类型 | 默认值 |
16
+ |---------------|------|-----------|---------------|
17
+ | headerActions | 顶部操作 | ReactNode | - |
18
+ | 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
+
13
40
  ### valueType列表
14
41
 
15
42
  参考 [ant-design-pro#valueType](https://procomponents.ant.design/components/schema#valuetype-%E5%88%97%E8%A1%A8)