ls-pro-common 3.0.75 → 3.0.77

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.
@@ -30,6 +30,16 @@ PERFORMANCE OF THIS SOFTWARE.
30
30
  * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
31
31
  */
32
32
 
33
+ /**
34
+ * @license React
35
+ * react-is.production.min.js
36
+ *
37
+ * Copyright (c) Facebook, Inc. and its affiliates.
38
+ *
39
+ * This source code is licensed under the MIT license found in the
40
+ * LICENSE file in the root directory of this source tree.
41
+ */
42
+
33
43
  /** @license React v16.13.1
34
44
  * react-is.production.min.js
35
45
  *
@@ -173,7 +173,7 @@ body.theme-yellow {
173
173
  display: flex;
174
174
  flex-direction: column;
175
175
 
176
- .flex {
176
+ > .flex {
177
177
  height: 0;
178
178
  }
179
179
  }
@@ -182,7 +182,7 @@ body.theme-yellow {
182
182
  display: flex;
183
183
  flex-direction: row;
184
184
 
185
- .flex {
185
+ > .flex {
186
186
  width: 0;
187
187
  }
188
188
  }
@@ -0,0 +1,23 @@
1
+ /**
2
+ * @name 本地查询字段清空
3
+ */
4
+ interface useFilterLocalType {
5
+ /**@name 表格的actionRef */
6
+ tableRef: any;
7
+ }
8
+ interface useFilterBack {
9
+ /**@name 已存在过滤字段数量 */
10
+ filterLocal: number;
11
+ /**@name 设置已存在过滤数量 */
12
+ setFilterLocal: any;
13
+ /**@name 根据filter中的值设置filterLocal */
14
+ changeFilterFun: (val: any) => void;
15
+ }
16
+ /**
17
+ * @name 本地过滤条件清空图标
18
+ * @description 结合table中的onChange第二个参数filter使用, 可直接使用changeFilterFun(filter)
19
+ * @param props
20
+ * @returns
21
+ */
22
+ export declare const useFilterLocal: (props: useFilterLocalType) => useFilterBack;
23
+ export {};
@@ -0,0 +1,78 @@
1
+ import "antd/es/tooltip/style";
2
+ import _Tooltip from "antd/es/tooltip";
3
+ import "antd/es/badge/style";
4
+ import _Badge from "antd/es/badge";
5
+ import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
6
+ /**
7
+ * @name 本地查询字段清空
8
+ */
9
+ import { useEffect, useState } from 'react';
10
+ import { ClearOutlined } from '@ant-design/icons';
11
+ import React from 'react';
12
+ import ReactDOM from 'react-dom';
13
+ /**
14
+ * @name 本地过滤条件清空图标
15
+ * @description 结合table中的onChange第二个参数filter使用, 可直接使用changeFilterFun(filter)
16
+ * @param props
17
+ * @returns
18
+ */
19
+ export var useFilterLocal = function useFilterLocal(props) {
20
+ var tableRef = props.tableRef;
21
+ var _useState = useState(0),
22
+ _useState2 = _slicedToArray(_useState, 2),
23
+ filterLocal = _useState2[0],
24
+ setFilterLocal = _useState2[1];
25
+ var changeFilterFun = function changeFilterFun() {
26
+ var filter = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
27
+ if (Object.prototype.toString.call(filter) !== '[object Object]') return;
28
+ var str = 0;
29
+ for (var key in filter) {
30
+ if (filter[key]) {
31
+ str++;
32
+ }
33
+ }
34
+ setFilterLocal(str);
35
+ };
36
+ var ClearOutlinedDom = function ClearOutlinedDom() {
37
+ return /*#__PURE__*/React.createElement("div", {
38
+ className: "ant-pro-table-list-toolbar-setting-item"
39
+ }, /*#__PURE__*/React.createElement("span", {
40
+ key: 'clear',
41
+ onClick: function onClick() {
42
+ var _tableRef$current;
43
+ tableRef === null || tableRef === void 0 ? void 0 : (_tableRef$current = tableRef.current) === null || _tableRef$current === void 0 ? void 0 : _tableRef$current.setFilter({});
44
+ setFilterLocal(0);
45
+ }
46
+ }, /*#__PURE__*/React.createElement(_Tooltip, {
47
+ getPopupContainer: function getPopupContainer(triggerNode) {
48
+ return triggerNode.parentNode.parentNode.parentNode;
49
+ },
50
+ title: '一键清空本地筛选'
51
+ }, /*#__PURE__*/React.createElement(_Badge, {
52
+ color: "#1890ff",
53
+ size: "small",
54
+ count: filterLocal
55
+ }, /*#__PURE__*/React.createElement(ClearOutlined, null)))));
56
+ };
57
+ useEffect(function () {
58
+ if (!(tableRef === null || tableRef === void 0 ? void 0 : tableRef.current)) return;
59
+ var listDom = document.getElementsByClassName('ant-pro-table-list-toolbar-setting-items');
60
+ var filterDom = document.getElementsByClassName('self-add-clear-filter-tcm');
61
+ if (filterDom === null || filterDom === void 0 ? void 0 : filterDom.length) {
62
+ var _filterDom$0$parentNo;
63
+ (_filterDom$0$parentNo = filterDom[0].parentNode) === null || _filterDom$0$parentNo === void 0 ? void 0 : _filterDom$0$parentNo.removeChild(filterDom[0]);
64
+ }
65
+ if (listDom === null || listDom === void 0 ? void 0 : listDom.length) {
66
+ var newDiv = document.createElement('div');
67
+ newDiv.className = 'ant-space-item self-add-clear-filter-tcm';
68
+ var clearIcon = /*#__PURE__*/React.createElement(ClearOutlinedDom);
69
+ ReactDOM.render(clearIcon, newDiv);
70
+ listDom[0].appendChild(newDiv);
71
+ }
72
+ }, [filterLocal, tableRef]);
73
+ return {
74
+ setFilterLocal: setFilterLocal,
75
+ filterLocal: filterLocal,
76
+ changeFilterFun: changeFilterFun
77
+ };
78
+ };
@@ -0,0 +1,14 @@
1
+ declare type QueueType = {
2
+ /**
3
+ * 回调函数,异步方法
4
+ * @param params 传入参数
5
+ * @returns
6
+ */
7
+ callMethod: (params: any | any[]) => Promise<any>;
8
+ /**
9
+ * 每次取几个一起执行,默认为1;
10
+ */
11
+ number?: number;
12
+ };
13
+ declare function useQueue(props: QueueType): any[];
14
+ export default useQueue;
@@ -0,0 +1,60 @@
1
+ import _asyncToGenerator from "@babel/runtime/helpers/esm/asyncToGenerator";
2
+ import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
3
+ import _regeneratorRuntime from "@babel/runtime/regenerator";
4
+ // 任务队列执行方法
5
+ import { useRef, useEffect, useState } from 'react';
6
+ function useQueue(props) {
7
+ var callMethod = props.callMethod,
8
+ _props$number = props.number,
9
+ number = _props$number === void 0 ? 1 : _props$number;
10
+ var _useState = useState([]),
11
+ _useState2 = _slicedToArray(_useState, 2),
12
+ list = _useState2[0],
13
+ setList = _useState2[1]; //提供写入队列方法
14
+ var runningRef = useRef(false); //执行任务状态
15
+ useEffect(function () {
16
+ var callQueue = /*#__PURE__*/function () {
17
+ var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
18
+ var params;
19
+ return _regeneratorRuntime.wrap(function _callee$(_context) {
20
+ while (1) switch (_context.prev = _context.next) {
21
+ case 0:
22
+ console.log('当前队列数据', list);
23
+ if (!(!list.length || runningRef.current)) {
24
+ _context.next = 3;
25
+ break;
26
+ }
27
+ return _context.abrupt("return");
28
+ case 3:
29
+ runningRef.current = true;
30
+ _context.prev = 4;
31
+ params = list.slice(0, number);
32
+ _context.next = 8;
33
+ return callMethod(params);
34
+ case 8:
35
+ setList(function (l) {
36
+ runningRef.current = false;
37
+ return l.slice(params.length);
38
+ });
39
+ _context.next = 15;
40
+ break;
41
+ case 11:
42
+ _context.prev = 11;
43
+ _context.t0 = _context["catch"](4);
44
+ setList([]);
45
+ runningRef.current = false;
46
+ case 15:
47
+ case "end":
48
+ return _context.stop();
49
+ }
50
+ }, _callee, null, [[4, 11]]);
51
+ }));
52
+ return function callQueue() {
53
+ return _ref.apply(this, arguments);
54
+ };
55
+ }();
56
+ callQueue();
57
+ }, [list]);
58
+ return [list, setList];
59
+ }
60
+ export default useQueue;
package/es/index.d.ts CHANGED
@@ -24,10 +24,12 @@ import useSingle from './hooks/useSingle';
24
24
  import useDtl from './hooks/useDtl';
25
25
  import usePermission from './hooks/usePermission';
26
26
  import useGetState from './hooks/useGetState';
27
+ import { useFilterLocal } from './hooks/useFilterBack';
28
+ import useQueue from './hooks/useQueue';
27
29
  /** Type */
28
30
  import type { ApiResponse, TableToolbar, BaseApiType, MethodType } from './typing';
29
31
  import type { DtlLyaoutProps } from './components/DtlLayout';
30
32
  import type { DescritionCardProps } from './components/DescritionCard';
31
33
  import type { PermissionProps } from './components/Permission';
32
- export type { ApiResponse, TableToolbar, BaseApiType, MethodType, DtlLyaoutProps, DescritionCardProps, PermissionProps };
33
- export { DtlLayout, InputTable, Page404, Loading, IconSelector, ImageSelector, InputMultiLine, AreaCascader, AreaCascaderPanel, DescritionCard, Permission, GroupTip, IconBack, IconText, IconBell, IconQuestion, IconSearch, TagCheck, BaseService, request, httpDelete, httpGet, httpPost, httpPut, getDict, fetchOptions, utils, useSingle, useDtl, usePermission, useGetState };
34
+ export type { ApiResponse, TableToolbar, BaseApiType, MethodType, DtlLyaoutProps, DescritionCardProps, PermissionProps, };
35
+ export { DtlLayout, InputTable, Page404, Loading, IconSelector, ImageSelector, InputMultiLine, AreaCascader, AreaCascaderPanel, DescritionCard, Permission, GroupTip, IconBack, IconText, IconBell, IconQuestion, IconSearch, TagCheck, BaseService, request, httpDelete, httpGet, httpPost, httpPut, getDict, fetchOptions, utils, useSingle, useDtl, usePermission, useGetState, useFilterLocal, useQueue, };
package/es/index.js CHANGED
@@ -24,4 +24,6 @@ import useSingle from './hooks/useSingle';
24
24
  import useDtl from './hooks/useDtl';
25
25
  import usePermission from './hooks/usePermission';
26
26
  import useGetState from './hooks/useGetState';
27
- export { DtlLayout, InputTable, Page404, Loading, IconSelector, ImageSelector, InputMultiLine, AreaCascader, AreaCascaderPanel, DescritionCard, Permission, GroupTip, IconBack, IconText, IconBell, IconQuestion, IconSearch, TagCheck, BaseService, request, httpDelete, httpGet, httpPost, httpPut, getDict, fetchOptions, utils, useSingle, useDtl, usePermission, useGetState };
27
+ import { useFilterLocal } from './hooks/useFilterBack';
28
+ import useQueue from './hooks/useQueue';
29
+ export { DtlLayout, InputTable, Page404, Loading, IconSelector, ImageSelector, InputMultiLine, AreaCascader, AreaCascaderPanel, DescritionCard, Permission, GroupTip, IconBack, IconText, IconBell, IconQuestion, IconSearch, TagCheck, BaseService, request, httpDelete, httpGet, httpPost, httpPut, getDict, fetchOptions, utils, useSingle, useDtl, usePermission, useGetState, useFilterLocal, useQueue };
@@ -173,7 +173,7 @@ body.theme-yellow {
173
173
  display: flex;
174
174
  flex-direction: column;
175
175
 
176
- .flex {
176
+ > .flex {
177
177
  height: 0;
178
178
  }
179
179
  }
@@ -182,7 +182,7 @@ body.theme-yellow {
182
182
  display: flex;
183
183
  flex-direction: row;
184
184
 
185
- .flex {
185
+ > .flex {
186
186
  width: 0;
187
187
  }
188
188
  }
@@ -0,0 +1,23 @@
1
+ /**
2
+ * @name 本地查询字段清空
3
+ */
4
+ interface useFilterLocalType {
5
+ /**@name 表格的actionRef */
6
+ tableRef: any;
7
+ }
8
+ interface useFilterBack {
9
+ /**@name 已存在过滤字段数量 */
10
+ filterLocal: number;
11
+ /**@name 设置已存在过滤数量 */
12
+ setFilterLocal: any;
13
+ /**@name 根据filter中的值设置filterLocal */
14
+ changeFilterFun: (val: any) => void;
15
+ }
16
+ /**
17
+ * @name 本地过滤条件清空图标
18
+ * @description 结合table中的onChange第二个参数filter使用, 可直接使用changeFilterFun(filter)
19
+ * @param props
20
+ * @returns
21
+ */
22
+ export declare const useFilterLocal: (props: useFilterLocalType) => useFilterBack;
23
+ export {};
@@ -0,0 +1,78 @@
1
+ import "antd/es/tooltip/style";
2
+ import _Tooltip from "antd/es/tooltip";
3
+ import "antd/es/badge/style";
4
+ import _Badge from "antd/es/badge";
5
+ import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
6
+ /**
7
+ * @name 本地查询字段清空
8
+ */
9
+ import { useEffect, useState } from 'react';
10
+ import { ClearOutlined } from '@ant-design/icons';
11
+ import React from 'react';
12
+ import ReactDOM from 'react-dom';
13
+ /**
14
+ * @name 本地过滤条件清空图标
15
+ * @description 结合table中的onChange第二个参数filter使用, 可直接使用changeFilterFun(filter)
16
+ * @param props
17
+ * @returns
18
+ */
19
+ export var useFilterLocal = function useFilterLocal(props) {
20
+ var tableRef = props.tableRef;
21
+ var _useState = useState(0),
22
+ _useState2 = _slicedToArray(_useState, 2),
23
+ filterLocal = _useState2[0],
24
+ setFilterLocal = _useState2[1];
25
+ var changeFilterFun = function changeFilterFun() {
26
+ var filter = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
27
+ if (Object.prototype.toString.call(filter) !== '[object Object]') return;
28
+ var str = 0;
29
+ for (var key in filter) {
30
+ if (filter[key]) {
31
+ str++;
32
+ }
33
+ }
34
+ setFilterLocal(str);
35
+ };
36
+ var ClearOutlinedDom = function ClearOutlinedDom() {
37
+ return /*#__PURE__*/React.createElement("div", {
38
+ className: "ant-pro-table-list-toolbar-setting-item"
39
+ }, /*#__PURE__*/React.createElement("span", {
40
+ key: 'clear',
41
+ onClick: function onClick() {
42
+ var _tableRef$current;
43
+ tableRef === null || tableRef === void 0 ? void 0 : (_tableRef$current = tableRef.current) === null || _tableRef$current === void 0 ? void 0 : _tableRef$current.setFilter({});
44
+ setFilterLocal(0);
45
+ }
46
+ }, /*#__PURE__*/React.createElement(_Tooltip, {
47
+ getPopupContainer: function getPopupContainer(triggerNode) {
48
+ return triggerNode.parentNode.parentNode.parentNode;
49
+ },
50
+ title: '一键清空本地筛选'
51
+ }, /*#__PURE__*/React.createElement(_Badge, {
52
+ color: "#1890ff",
53
+ size: "small",
54
+ count: filterLocal
55
+ }, /*#__PURE__*/React.createElement(ClearOutlined, null)))));
56
+ };
57
+ useEffect(function () {
58
+ if (!(tableRef === null || tableRef === void 0 ? void 0 : tableRef.current)) return;
59
+ var listDom = document.getElementsByClassName('ant-pro-table-list-toolbar-setting-items');
60
+ var filterDom = document.getElementsByClassName('self-add-clear-filter-tcm');
61
+ if (filterDom === null || filterDom === void 0 ? void 0 : filterDom.length) {
62
+ var _filterDom$0$parentNo;
63
+ (_filterDom$0$parentNo = filterDom[0].parentNode) === null || _filterDom$0$parentNo === void 0 ? void 0 : _filterDom$0$parentNo.removeChild(filterDom[0]);
64
+ }
65
+ if (listDom === null || listDom === void 0 ? void 0 : listDom.length) {
66
+ var newDiv = document.createElement('div');
67
+ newDiv.className = 'ant-space-item self-add-clear-filter-tcm';
68
+ var clearIcon = /*#__PURE__*/React.createElement(ClearOutlinedDom);
69
+ ReactDOM.render(clearIcon, newDiv);
70
+ listDom[0].appendChild(newDiv);
71
+ }
72
+ }, [filterLocal, tableRef]);
73
+ return {
74
+ setFilterLocal: setFilterLocal,
75
+ filterLocal: filterLocal,
76
+ changeFilterFun: changeFilterFun
77
+ };
78
+ };
@@ -0,0 +1,14 @@
1
+ declare type QueueType = {
2
+ /**
3
+ * 回调函数,异步方法
4
+ * @param params 传入参数
5
+ * @returns
6
+ */
7
+ callMethod: (params: any | any[]) => Promise<any>;
8
+ /**
9
+ * 每次取几个一起执行,默认为1;
10
+ */
11
+ number?: number;
12
+ };
13
+ declare function useQueue(props: QueueType): any[];
14
+ export default useQueue;
@@ -0,0 +1,60 @@
1
+ import _asyncToGenerator from "@babel/runtime/helpers/esm/asyncToGenerator";
2
+ import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
3
+ import _regeneratorRuntime from "@babel/runtime/regenerator";
4
+ // 任务队列执行方法
5
+ import { useRef, useEffect, useState } from 'react';
6
+ function useQueue(props) {
7
+ var callMethod = props.callMethod,
8
+ _props$number = props.number,
9
+ number = _props$number === void 0 ? 1 : _props$number;
10
+ var _useState = useState([]),
11
+ _useState2 = _slicedToArray(_useState, 2),
12
+ list = _useState2[0],
13
+ setList = _useState2[1]; //提供写入队列方法
14
+ var runningRef = useRef(false); //执行任务状态
15
+ useEffect(function () {
16
+ var callQueue = /*#__PURE__*/function () {
17
+ var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
18
+ var params;
19
+ return _regeneratorRuntime.wrap(function _callee$(_context) {
20
+ while (1) switch (_context.prev = _context.next) {
21
+ case 0:
22
+ console.log('当前队列数据', list);
23
+ if (!(!list.length || runningRef.current)) {
24
+ _context.next = 3;
25
+ break;
26
+ }
27
+ return _context.abrupt("return");
28
+ case 3:
29
+ runningRef.current = true;
30
+ _context.prev = 4;
31
+ params = list.slice(0, number);
32
+ _context.next = 8;
33
+ return callMethod(params);
34
+ case 8:
35
+ setList(function (l) {
36
+ runningRef.current = false;
37
+ return l.slice(params.length);
38
+ });
39
+ _context.next = 15;
40
+ break;
41
+ case 11:
42
+ _context.prev = 11;
43
+ _context.t0 = _context["catch"](4);
44
+ setList([]);
45
+ runningRef.current = false;
46
+ case 15:
47
+ case "end":
48
+ return _context.stop();
49
+ }
50
+ }, _callee, null, [[4, 11]]);
51
+ }));
52
+ return function callQueue() {
53
+ return _ref.apply(this, arguments);
54
+ };
55
+ }();
56
+ callQueue();
57
+ }, [list]);
58
+ return [list, setList];
59
+ }
60
+ export default useQueue;
package/lib/index.d.ts CHANGED
@@ -24,10 +24,12 @@ import useSingle from './hooks/useSingle';
24
24
  import useDtl from './hooks/useDtl';
25
25
  import usePermission from './hooks/usePermission';
26
26
  import useGetState from './hooks/useGetState';
27
+ import { useFilterLocal } from './hooks/useFilterBack';
28
+ import useQueue from './hooks/useQueue';
27
29
  /** Type */
28
30
  import type { ApiResponse, TableToolbar, BaseApiType, MethodType } from './typing';
29
31
  import type { DtlLyaoutProps } from './components/DtlLayout';
30
32
  import type { DescritionCardProps } from './components/DescritionCard';
31
33
  import type { PermissionProps } from './components/Permission';
32
- export type { ApiResponse, TableToolbar, BaseApiType, MethodType, DtlLyaoutProps, DescritionCardProps, PermissionProps };
33
- export { DtlLayout, InputTable, Page404, Loading, IconSelector, ImageSelector, InputMultiLine, AreaCascader, AreaCascaderPanel, DescritionCard, Permission, GroupTip, IconBack, IconText, IconBell, IconQuestion, IconSearch, TagCheck, BaseService, request, httpDelete, httpGet, httpPost, httpPut, getDict, fetchOptions, utils, useSingle, useDtl, usePermission, useGetState };
34
+ export type { ApiResponse, TableToolbar, BaseApiType, MethodType, DtlLyaoutProps, DescritionCardProps, PermissionProps, };
35
+ export { DtlLayout, InputTable, Page404, Loading, IconSelector, ImageSelector, InputMultiLine, AreaCascader, AreaCascaderPanel, DescritionCard, Permission, GroupTip, IconBack, IconText, IconBell, IconQuestion, IconSearch, TagCheck, BaseService, request, httpDelete, httpGet, httpPost, httpPut, getDict, fetchOptions, utils, useSingle, useDtl, usePermission, useGetState, useFilterLocal, useQueue, };
package/lib/index.js CHANGED
@@ -24,4 +24,6 @@ import useSingle from './hooks/useSingle';
24
24
  import useDtl from './hooks/useDtl';
25
25
  import usePermission from './hooks/usePermission';
26
26
  import useGetState from './hooks/useGetState';
27
- export { DtlLayout, InputTable, Page404, Loading, IconSelector, ImageSelector, InputMultiLine, AreaCascader, AreaCascaderPanel, DescritionCard, Permission, GroupTip, IconBack, IconText, IconBell, IconQuestion, IconSearch, TagCheck, BaseService, request, httpDelete, httpGet, httpPost, httpPut, getDict, fetchOptions, utils, useSingle, useDtl, usePermission, useGetState };
27
+ import { useFilterLocal } from './hooks/useFilterBack';
28
+ import useQueue from './hooks/useQueue';
29
+ export { DtlLayout, InputTable, Page404, Loading, IconSelector, ImageSelector, InputMultiLine, AreaCascader, AreaCascaderPanel, DescritionCard, Permission, GroupTip, IconBack, IconText, IconBell, IconQuestion, IconSearch, TagCheck, BaseService, request, httpDelete, httpGet, httpPost, httpPut, getDict, fetchOptions, utils, useSingle, useDtl, usePermission, useGetState, useFilterLocal, useQueue };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ls-pro-common",
3
- "version": "3.0.75",
3
+ "version": "3.0.77",
4
4
  "description": "ls-pro-common",
5
5
  "license": "MIT",
6
6
  "sideEffects": [