@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.
@@ -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 leaves = useMemo(function () {
54
- var items = [];
55
- nodes.forEach(function (item) {
56
- if (item.column) {
57
- items.push(item);
58
- } else {
59
- item.leaf.forEach(function (leaf) {
60
- items.push(_objectSpread(_objectSpread({}, leaf), {}, {
61
- title: "".concat(item.title, "-").concat(leaf.title)
62
- }));
63
- });
64
- }
65
- });
66
- return items.filter(function (item) {
67
- if (!item.column) {
68
- return false;
69
- }
70
- if (isCustomField(item.id)) {
71
- return false;
72
- }
73
- return true;
74
- });
75
- }, [nodes]);
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 = nodes.find(function (item) {
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",
@@ -486,7 +486,7 @@
486
486
 
487
487
  &-cell-detail {
488
488
  height: 100%;
489
- padding: 10px;
489
+ padding: 10px 26px 10px 10px;
490
490
 
491
491
  &-auto-height {
492
492
  height: auto;
@@ -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 _Form$useForm3 = Form.useForm(),
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],
@@ -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 {
@@ -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
- return handleChangeParams(_objectSpread(_objectSpread({}, cParams), val));
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
@@ -17,4 +17,7 @@ export function prefixClassName(prefix) {
17
17
  return function (val) {
18
18
  return "".concat(PREFIX_CLS, "-").concat(prefix) + (val ? "-".concat(val) : '');
19
19
  };
20
+ }
21
+ export function mergeProp(internal, prop) {
22
+ return prop || internal;
20
23
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lemon-fe/components",
3
- "version": "1.1.3",
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": "1d20795e81a4ee2bef8b7dd7e81ef53dcbfe2bed"
65
+ "gitHead": "e247a717369fe19915addf8721f387659a67ca00"
66
66
  }