@lemon-fe/components 1.1.3-alpha.1 → 1.1.4
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.
- package/es/filter/index.js +11 -7
- package/es/filter/typings.d.ts +9 -1
- package/es/select-view/index.js +10 -4
- package/es/styles/overrides.less +1 -0
- package/es/utils.d.ts +1 -0
- package/es/utils.js +3 -0
- package/package.json +2 -2
package/es/filter/index.js
CHANGED
|
@@ -18,6 +18,7 @@ function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symb
|
|
|
18
18
|
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
|
|
19
19
|
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; }
|
|
20
20
|
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); }
|
|
21
|
+
import { Button, Checkbox, Form, Input, Popover, Space, Modal, message, Select, Empty } from 'antd';
|
|
21
22
|
import React, { useEffect, useMemo, useState, useContext } from 'react';
|
|
22
23
|
import { ComponentConfigureContext } from "../component-configure";
|
|
23
24
|
import Dropdown from "../dropdown";
|
|
@@ -26,9 +27,8 @@ import FormLayout from "../form-layout";
|
|
|
26
27
|
import Icons from "../icons";
|
|
27
28
|
import InputNumber from "../input-number";
|
|
28
29
|
import TabBar from "../tab-bar";
|
|
29
|
-
import { prefixClassName } from "../utils";
|
|
30
|
-
import { useDebounce, useRequest } from '@lemon-fe/hooks';
|
|
31
|
-
import { Button, Checkbox, Form, Input, Popover, Space, Modal, message, Select, Empty } from 'antd';
|
|
30
|
+
import { mergeProp, prefixClassName } from "../utils";
|
|
31
|
+
import { useDebounce, useRequest, useUpdateEffect } from '@lemon-fe/hooks';
|
|
32
32
|
import classNames from 'classnames';
|
|
33
33
|
import ResizeObserver from 'rc-resize-observer';
|
|
34
34
|
var components = [{
|
|
@@ -107,7 +107,10 @@ function Filter(props) {
|
|
|
107
107
|
_props$preserveFields = props.preserveFields,
|
|
108
108
|
preserveFields = _props$preserveFields === void 0 ? true : _props$preserveFields,
|
|
109
109
|
legacyReset = props.legacyReset,
|
|
110
|
-
componentOptions = props.componentOptions
|
|
110
|
+
componentOptions = props.componentOptions,
|
|
111
|
+
_props$filterDependen = props.filterDependencies,
|
|
112
|
+
filterDependencies = _props$filterDependen === void 0 ? [] : _props$filterDependen,
|
|
113
|
+
formProp = props.form;
|
|
111
114
|
var prefix = prefixClassName('filter');
|
|
112
115
|
var emptyValue = useMemo(function () {
|
|
113
116
|
return Object.fromEntries(data.map(function (item) {
|
|
@@ -160,9 +163,7 @@ function Filter(props) {
|
|
|
160
163
|
var _Form$useForm = Form.useForm(),
|
|
161
164
|
_Form$useForm2 = _slicedToArray(_Form$useForm, 1),
|
|
162
165
|
modalForm = _Form$useForm2[0];
|
|
163
|
-
var
|
|
164
|
-
_Form$useForm4 = _slicedToArray(_Form$useForm3, 1),
|
|
165
|
-
form = _Form$useForm4[0];
|
|
166
|
+
var form = mergeProp(Form.useForm()[0], formProp);
|
|
166
167
|
var _useState11 = useState(0),
|
|
167
168
|
_useState12 = _slicedToArray(_useState11, 2),
|
|
168
169
|
width = _useState12[0],
|
|
@@ -191,6 +192,9 @@ function Filter(props) {
|
|
|
191
192
|
form.setFieldsValue(value);
|
|
192
193
|
}
|
|
193
194
|
}, [value]);
|
|
195
|
+
useUpdateEffect(function () {
|
|
196
|
+
form.submit();
|
|
197
|
+
}, filterDependencies);
|
|
194
198
|
var handleChangeKeywords = useDebounce(setKeywords, 300);
|
|
195
199
|
var toggleModal = function toggleModal() {
|
|
196
200
|
setShowModal(function (prev) {
|
package/es/filter/typings.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { CSSProperties, ReactElement, ReactNode } from 'react';
|
|
2
1
|
import type { FormInstance } from 'antd';
|
|
2
|
+
import type { CSSProperties, ReactElement, ReactNode, DependencyList } from 'react';
|
|
3
3
|
|
|
4
4
|
export interface FilterItemType<T = any> {
|
|
5
5
|
key: string;
|
|
@@ -61,6 +61,14 @@ export interface FilterProps<T extends Record<string, any> = Record<string, any>
|
|
|
61
61
|
*/
|
|
62
62
|
legacyReset?: true;
|
|
63
63
|
componentOptions?: ComponentOption[];
|
|
64
|
+
/**
|
|
65
|
+
* @description 自动触发过滤的依赖
|
|
66
|
+
*/
|
|
67
|
+
filterDependencies?: DependencyList;
|
|
68
|
+
/**
|
|
69
|
+
* @description Form表单的实例,默认会由内部生成,一般情况不需要处理
|
|
70
|
+
*/
|
|
71
|
+
form?: FormInstance<T>;
|
|
64
72
|
}
|
|
65
73
|
|
|
66
74
|
export interface ComponentOption {
|
package/es/select-view/index.js
CHANGED
|
@@ -15,11 +15,11 @@ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o =
|
|
|
15
15
|
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; }
|
|
16
16
|
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; } }
|
|
17
17
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
18
|
-
import { Spin, Tabs } from 'antd';
|
|
18
|
+
import { Form, Spin, Tabs } from 'antd';
|
|
19
19
|
import React, { useEffect, useMemo, useRef, useState } from 'react';
|
|
20
20
|
import DataGrid from "../data-grid";
|
|
21
21
|
import Filter from "../filter";
|
|
22
|
-
import { prefixClassName } from "../utils";
|
|
22
|
+
import { mergeProp, prefixClassName } from "../utils";
|
|
23
23
|
import { get } from 'lodash';
|
|
24
24
|
export default function SelectView(props) {
|
|
25
25
|
var emptyValue = useMemo(function () {
|
|
@@ -70,6 +70,7 @@ export default function SelectView(props) {
|
|
|
70
70
|
_useState10 = _slicedToArray(_useState9, 2),
|
|
71
71
|
loading = _useState10[0],
|
|
72
72
|
setLoading = _useState10[1];
|
|
73
|
+
var filterForm = mergeProp(Form.useForm()[0], filter === null || filter === void 0 ? void 0 : filter.form);
|
|
73
74
|
var cParams = (filter === null || filter === void 0 ? void 0 : filter.value) || params;
|
|
74
75
|
var getRowKey = function getRowKey(item) {
|
|
75
76
|
var _get;
|
|
@@ -145,7 +146,8 @@ export default function SelectView(props) {
|
|
|
145
146
|
if (filter.data) {
|
|
146
147
|
headerNode = /*#__PURE__*/React.createElement(Filter, _extends({
|
|
147
148
|
simple: true,
|
|
148
|
-
autoPlaceholder: true
|
|
149
|
+
autoPlaceholder: true,
|
|
150
|
+
form: filterForm
|
|
149
151
|
}, filter, {
|
|
150
152
|
value: cParams,
|
|
151
153
|
onChange: function onChange(val) {
|
|
@@ -155,9 +157,12 @@ export default function SelectView(props) {
|
|
|
155
157
|
}
|
|
156
158
|
if (filter.sider) {
|
|
157
159
|
siderNode = filter.sider({
|
|
160
|
+
/**
|
|
161
|
+
* 原则上这里使用cParams也会有问题,不排除Filter中的条件可能会影响Sider的渲染,但此种情况先忽略,尽可能避免这个情况
|
|
162
|
+
*/
|
|
158
163
|
value: cParams,
|
|
159
164
|
onChange: function onChange(val) {
|
|
160
|
-
|
|
165
|
+
handleChangeParams(_objectSpread(_objectSpread(_objectSpread({}, cParams), filterForm.getFieldsValue()), val));
|
|
161
166
|
}
|
|
162
167
|
});
|
|
163
168
|
}
|
|
@@ -176,6 +181,7 @@ export default function SelectView(props) {
|
|
|
176
181
|
return result;
|
|
177
182
|
}, [selectedColumns, readOnly]);
|
|
178
183
|
var content;
|
|
184
|
+
console.log(cParams);
|
|
179
185
|
var renderList = function renderList() {
|
|
180
186
|
return /*#__PURE__*/React.createElement("div", {
|
|
181
187
|
className: prefix('layout')
|
package/es/styles/overrides.less
CHANGED
package/es/utils.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
import type { ReactNode } from 'react';
|
|
2
2
|
export declare function mapChildren<T>(children: ReactNode, cb: (node: ReactNode, index: number) => T): T[];
|
|
3
3
|
export declare function prefixClassName(prefix: string): (val?: string) => string;
|
|
4
|
+
export declare function mergeProp<T>(internal: T, prop: T | undefined): T;
|
package/es/utils.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lemon-fe/components",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.4",
|
|
4
4
|
"description": "> TODO: description",
|
|
5
5
|
"homepage": "",
|
|
6
6
|
"license": "ISC",
|
|
@@ -62,5 +62,5 @@
|
|
|
62
62
|
"publishConfig": {
|
|
63
63
|
"registry": "https://registry.npmjs.org"
|
|
64
64
|
},
|
|
65
|
-
"gitHead": "
|
|
65
|
+
"gitHead": "03ab34dbecd7dc7d99e2006900d33e725681305f"
|
|
66
66
|
}
|