@lemon-fe/components 1.1.3 → 1.1.5-alpha.1
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/data-grid/components/custom-panel/field-modal.js +32 -30
- package/es/data-grid/components/custom-panel/index.js +5 -3
- package/es/data-grid/index.less +1 -1
- package/es/filter/index.js +5 -6
- package/es/filter/typings.d.ts +5 -1
- package/es/select-view/index.js +10 -4
- package/es/utils.d.ts +1 -0
- package/es/utils.js +3 -0
- package/package.json +2 -2
|
@@ -13,12 +13,12 @@ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o =
|
|
|
13
13
|
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; }
|
|
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
|
+
import { Checkbox, Form, Input, Modal, Select } from 'antd';
|
|
16
17
|
import React, { useEffect, useMemo, useRef, useState } from 'react';
|
|
17
18
|
import FormLayout from "../../../form-layout";
|
|
18
19
|
import Icons from "../../../icons";
|
|
19
20
|
import TipMark from "../../../tip-mark";
|
|
20
21
|
import { isCustomField, prefix } from "../../utils";
|
|
21
|
-
import { Checkbox, Form, Input, Modal, Select } from 'antd';
|
|
22
22
|
export default function FieldModal(props) {
|
|
23
23
|
var openProp = props.open,
|
|
24
24
|
_onCancel = props.onCancel,
|
|
@@ -32,11 +32,6 @@ export default function FieldModal(props) {
|
|
|
32
32
|
_Form$useForm2 = _slicedToArray(_Form$useForm, 1),
|
|
33
33
|
form = _Form$useForm2[0];
|
|
34
34
|
var ref = useRef(null);
|
|
35
|
-
var map = useMemo(function () {
|
|
36
|
-
return Object.fromEntries(nodes.map(function (item) {
|
|
37
|
-
return [item.title || '', item.id];
|
|
38
|
-
}));
|
|
39
|
-
}, [nodes]);
|
|
40
35
|
var handleAddExp = function handleAddExp(data) {
|
|
41
36
|
var _ref$current;
|
|
42
37
|
var area = (_ref$current = ref.current) === null || _ref$current === void 0 || (_ref$current = _ref$current.resizableTextArea) === null || _ref$current === void 0 ? void 0 : _ref$current.textArea;
|
|
@@ -50,33 +45,40 @@ export default function FieldModal(props) {
|
|
|
50
45
|
expression: prev.slice(0, pos) + "${".concat(data.title, "}") + prev.slice(pos)
|
|
51
46
|
});
|
|
52
47
|
};
|
|
53
|
-
var
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
48
|
+
var _useMemo = useMemo(function () {
|
|
49
|
+
var items = [];
|
|
50
|
+
nodes.forEach(function (item) {
|
|
51
|
+
if (item.column) {
|
|
52
|
+
items.push(item);
|
|
53
|
+
} else {
|
|
54
|
+
item.leaf.forEach(function (leaf) {
|
|
55
|
+
items.push(_objectSpread(_objectSpread({}, leaf), {}, {
|
|
56
|
+
title: "".concat(item.title, "-").concat(leaf.title)
|
|
57
|
+
}));
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
});
|
|
61
|
+
var showLeaves = items.filter(function (item) {
|
|
62
|
+
if (!item.column) {
|
|
63
|
+
return false;
|
|
64
|
+
}
|
|
65
|
+
if (isCustomField(item.id)) {
|
|
66
|
+
return false;
|
|
67
|
+
}
|
|
68
|
+
return true;
|
|
69
|
+
});
|
|
70
|
+
var nodeMap = Object.fromEntries(showLeaves.map(function (item) {
|
|
71
|
+
return [item.title || '', item.id];
|
|
72
|
+
}));
|
|
73
|
+
return [showLeaves, nodeMap];
|
|
74
|
+
}, [nodes]),
|
|
75
|
+
_useMemo2 = _slicedToArray(_useMemo, 2),
|
|
76
|
+
leaves = _useMemo2[0],
|
|
77
|
+
map = _useMemo2[1];
|
|
76
78
|
var formatExpression = function formatExpression(expression) {
|
|
77
79
|
return expression.replace(/\$\{([^{}]+)\}/g, function (match, p1) {
|
|
78
80
|
if (p1) {
|
|
79
|
-
var node =
|
|
81
|
+
var node = leaves.find(function (item) {
|
|
80
82
|
return item.id === p1;
|
|
81
83
|
});
|
|
82
84
|
if (node !== undefined) {
|
|
@@ -10,6 +10,7 @@ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" !=
|
|
|
10
10
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
11
11
|
import { Button, Space, Tooltip, message } from 'antd';
|
|
12
12
|
import React, { useEffect, useMemo, useState } from 'react';
|
|
13
|
+
import { createPortal } from 'react-dom';
|
|
13
14
|
import Icons from "../../../icons";
|
|
14
15
|
import { useGridStore } from "../../hooks";
|
|
15
16
|
import { prefix } from "../../utils";
|
|
@@ -18,6 +19,7 @@ import FieldModal from "./field-modal";
|
|
|
18
19
|
import ItemWrapper from "./item";
|
|
19
20
|
import { DndContext, DragOverlay, closestCenter } from '@dnd-kit/core';
|
|
20
21
|
import { useDebounce, useRequest } from '@lemon-fe/hooks';
|
|
22
|
+
import classNames from 'classnames';
|
|
21
23
|
export default function CustomColumnPanel(params) {
|
|
22
24
|
var columnApi = params.columnApi,
|
|
23
25
|
api = params.api,
|
|
@@ -291,11 +293,11 @@ export default function CustomColumnPanel(params) {
|
|
|
291
293
|
level: 0,
|
|
292
294
|
key: node.key
|
|
293
295
|
});
|
|
294
|
-
}))), /*#__PURE__*/React.createElement(DragOverlay, {
|
|
296
|
+
}))), /*#__PURE__*/createPortal( /*#__PURE__*/React.createElement(DragOverlay, {
|
|
295
297
|
dropAnimation: null
|
|
296
298
|
}, overlay ? /*#__PURE__*/React.createElement("div", {
|
|
297
|
-
className: prefix('column-panel-drag-overlay')
|
|
298
|
-
}, overlay) : null)), /*#__PURE__*/React.createElement("div", {
|
|
299
|
+
className: classNames('ag-theme-lemon', prefix('column-panel-drag-overlay'))
|
|
300
|
+
}, overlay) : null), document.body)), /*#__PURE__*/React.createElement("div", {
|
|
299
301
|
className: prefix('column-panel-footer')
|
|
300
302
|
}, /*#__PURE__*/React.createElement(Space, null, /*#__PURE__*/React.createElement(Button, {
|
|
301
303
|
size: "small",
|
package/es/data-grid/index.less
CHANGED
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 { mergeProp, prefixClassName } from "../utils";
|
|
30
31
|
import { useDebounce, useRequest, useUpdateEffect } from '@lemon-fe/hooks';
|
|
31
|
-
import { Button, Checkbox, Form, Input, Popover, Space, Modal, message, Select, Empty } from 'antd';
|
|
32
32
|
import classNames from 'classnames';
|
|
33
33
|
import ResizeObserver from 'rc-resize-observer';
|
|
34
34
|
var components = [{
|
|
@@ -109,7 +109,8 @@ function Filter(props) {
|
|
|
109
109
|
legacyReset = props.legacyReset,
|
|
110
110
|
componentOptions = props.componentOptions,
|
|
111
111
|
_props$filterDependen = props.filterDependencies,
|
|
112
|
-
filterDependencies = _props$filterDependen === void 0 ? [] : _props$filterDependen
|
|
112
|
+
filterDependencies = _props$filterDependen === void 0 ? [] : _props$filterDependen,
|
|
113
|
+
formProp = props.form;
|
|
113
114
|
var prefix = prefixClassName('filter');
|
|
114
115
|
var emptyValue = useMemo(function () {
|
|
115
116
|
return Object.fromEntries(data.map(function (item) {
|
|
@@ -162,9 +163,7 @@ function Filter(props) {
|
|
|
162
163
|
var _Form$useForm = Form.useForm(),
|
|
163
164
|
_Form$useForm2 = _slicedToArray(_Form$useForm, 1),
|
|
164
165
|
modalForm = _Form$useForm2[0];
|
|
165
|
-
var
|
|
166
|
-
_Form$useForm4 = _slicedToArray(_Form$useForm3, 1),
|
|
167
|
-
form = _Form$useForm4[0];
|
|
166
|
+
var form = mergeProp(Form.useForm()[0], formProp);
|
|
168
167
|
var _useState11 = useState(0),
|
|
169
168
|
_useState12 = _slicedToArray(_useState11, 2),
|
|
170
169
|
width = _useState12[0],
|
package/es/filter/typings.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { CSSProperties, ReactElement, ReactNode, DependencyList } 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;
|
|
@@ -65,6 +65,10 @@ export interface FilterProps<T extends Record<string, any> = Record<string, any>
|
|
|
65
65
|
* @description 自动触发过滤的依赖
|
|
66
66
|
*/
|
|
67
67
|
filterDependencies?: DependencyList;
|
|
68
|
+
/**
|
|
69
|
+
* @description Form表单的实例,默认会由内部生成,一般情况不需要处理
|
|
70
|
+
*/
|
|
71
|
+
form?: FormInstance<T>;
|
|
68
72
|
}
|
|
69
73
|
|
|
70
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/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.5-alpha.1",
|
|
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": "e247a717369fe19915addf8721f387659a67ca00"
|
|
66
66
|
}
|