@lemon-fe/components 0.1.9 → 0.1.10

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.
@@ -29,6 +29,7 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
29
29
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
30
30
 
31
31
  import React, { useEffect, useMemo, useState } from 'react';
32
+ import ResizeObserver from 'rc-resize-observer';
32
33
  import { Button, Checkbox, Form, Input, Popover, Space, Modal, message, Select, Empty, InputNumber } from 'antd';
33
34
  import { useDebounce, useRequest } from '@lemon-fe/hooks';
34
35
  import classNames from 'classnames';
@@ -111,7 +112,7 @@ function Filter(props) {
111
112
  onValuesChange = props.onValuesChange,
112
113
  style = props.style,
113
114
  simple = props.simple;
114
- var prefixCls = PREFIX_CLS;
115
+ var prefixCls = "".concat(PREFIX_CLS, "-filter");
115
116
  var defaultValue = useMemo(function () {
116
117
  return defaultValueProp || value;
117
118
  }, []);
@@ -166,6 +167,16 @@ function Filter(props) {
166
167
  _Form$useForm4 = _slicedToArray(_Form$useForm3, 1),
167
168
  form = _Form$useForm4[0];
168
169
 
170
+ var _useState11 = useState(0),
171
+ _useState12 = _slicedToArray(_useState11, 2),
172
+ width = _useState12[0],
173
+ setWidth = _useState12[1];
174
+
175
+ var _useState13 = useState(false),
176
+ _useState14 = _slicedToArray(_useState13, 2),
177
+ collapsed = _useState14[0],
178
+ setCollapsed = _useState14[1];
179
+
169
180
  var _useRequest = useRequest( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {
170
181
  var tabsData;
171
182
  return regeneratorRuntime.wrap(function _callee$(_context) {
@@ -384,7 +395,48 @@ function Filter(props) {
384
395
  };
385
396
  };
386
397
 
387
- return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Modal, {
398
+ var cols = useMemo(function () {
399
+ if (!width || !collapsed) {
400
+ return data;
401
+ }
402
+
403
+ var rows = [];
404
+ var currRow = [];
405
+ var value = 0;
406
+ data.forEach(function (item) {
407
+ var _compMap$get;
408
+
409
+ var itemWidth = getColStyle(item.colSpan || ((_compMap$get = compMap.get(item.type)) === null || _compMap$get === void 0 ? void 0 : _compMap$get.colSpan)).width;
410
+
411
+ if (value + itemWidth > width) {
412
+ if (currRow.length > 0) {
413
+ rows.push(currRow);
414
+ }
415
+
416
+ currRow = [item];
417
+ value = itemWidth;
418
+ } else {
419
+ currRow.push(item);
420
+ value += itemWidth;
421
+ }
422
+ });
423
+
424
+ if (currRow.length > 0) {
425
+ rows.push(currRow);
426
+ }
427
+
428
+ console.log(rows);
429
+
430
+ if (rows.length <= 2) {
431
+ return data;
432
+ }
433
+
434
+ return [rows[0], rows[rows.length - 1]].flat();
435
+ }, [data, width, collapsed]);
436
+ var content = /*#__PURE__*/React.createElement("div", {
437
+ className: classNames(prefixCls, _defineProperty({}, "".concat(prefixCls, "-simple"), simple)),
438
+ style: style
439
+ }, /*#__PURE__*/React.createElement(Modal, {
388
440
  destroyOnClose: true,
389
441
  visible: showModal,
390
442
  onCancel: toggleModal,
@@ -410,19 +462,17 @@ function Filter(props) {
410
462
  initialValues: defaultValue,
411
463
  onFinish: handleFinish,
412
464
  form: form,
413
- className: classNames("".concat(prefixCls, "-filter"), _defineProperty({}, "".concat(prefixCls, "-simple-filter"), simple)),
414
- onValuesChange: handleValuesChange,
415
- style: style
465
+ onValuesChange: handleValuesChange
416
466
  }, !simple && /*#__PURE__*/React.createElement(TabBar, {
417
467
  tabs: tabs,
418
468
  activeKey: tabs[active].title,
419
469
  onTabClick: function onTabClick(_, index) {
420
470
  return handleTabChange(index);
421
471
  },
422
- className: "".concat(prefixCls, "-filter-tab-bar")
472
+ className: "".concat(prefixCls, "-tab-bar")
423
473
  }), /*#__PURE__*/React.createElement(FormLayout, {
424
474
  direction: "row"
425
- }, data.map(function (item) {
475
+ }, cols.map(function (item) {
426
476
  var visible = activeKeys.has(item.key);
427
477
  var target = compMap.get(item.type);
428
478
 
@@ -439,14 +489,14 @@ function Filter(props) {
439
489
  label: item.hideLabel ? undefined : item.label
440
490
  }, target.render(item)));
441
491
  }), /*#__PURE__*/React.createElement("div", {
442
- style: getColStyle()
443
- }, /*#__PURE__*/React.createElement(Form.Item, {
444
- label: /*#__PURE__*/React.createElement(Button, {
445
- type: "primary",
446
- htmlType: "submit"
447
- }, "\u67E5\u8BE2")
448
- }, simple ? /*#__PURE__*/React.createElement(Space, null, /*#__PURE__*/React.createElement(Button, {
449
- className: "".concat(prefixCls, "-filter-btn"),
492
+ className: "".concat(prefixCls, "-btns")
493
+ }, /*#__PURE__*/React.createElement("div", {
494
+ className: "".concat(prefixCls, "-submit")
495
+ }, /*#__PURE__*/React.createElement(Button, {
496
+ type: "primary",
497
+ htmlType: "submit"
498
+ }, "\u67E5\u8BE2")), simple ? /*#__PURE__*/React.createElement(Button, {
499
+ className: "".concat(prefixCls, "-btn"),
450
500
  onClick: handleReset
451
501
  }, /*#__PURE__*/React.createElement("svg", {
452
502
  width: "20",
@@ -461,7 +511,7 @@ function Filter(props) {
461
511
  strokeLinejoin: "round",
462
512
  fill: "none",
463
513
  fillRule: "evenodd"
464
- })))) : /*#__PURE__*/React.createElement(Space, null, /*#__PURE__*/React.createElement(Dropdown, {
514
+ }))) : /*#__PURE__*/React.createElement(Space, null, /*#__PURE__*/React.createElement(Dropdown, {
465
515
  actions: [{
466
516
  text: '重置',
467
517
  onClick: handleReset
@@ -476,22 +526,22 @@ function Filter(props) {
476
526
  icon: /*#__PURE__*/React.createElement(Icons.More, null)
477
527
  })), /*#__PURE__*/React.createElement(Popover, {
478
528
  trigger: "click",
479
- overlayClassName: "".concat(prefixCls, "-filter-popover"),
529
+ overlayClassName: "".concat(prefixCls, "-popover"),
480
530
  destroyTooltipOnHide: true,
481
531
  content: /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Input, {
482
532
  placeholder: "\u641C\u7D22\u9009\u9879",
483
533
  allowClear: true,
484
- className: "".concat(prefixCls, "-filter-items-search"),
534
+ className: "".concat(prefixCls, "-items-search"),
485
535
  prefix: /*#__PURE__*/React.createElement(Icons.Search, null),
486
536
  onChange: function onChange(e) {
487
537
  return handleChangeKeywords(e.currentTarget.value);
488
538
  }
489
539
  }), /*#__PURE__*/React.createElement("div", {
490
- className: "".concat(prefixCls, "-filter-items")
540
+ className: "".concat(prefixCls, "-items")
491
541
  }, items.length > 0 ? items.map(function (item) {
492
542
  return /*#__PURE__*/React.createElement("div", {
493
543
  key: item.key,
494
- className: "".concat(prefixCls, "-filter-item")
544
+ className: "".concat(prefixCls, "-item")
495
545
  }, /*#__PURE__*/React.createElement(Checkbox, {
496
546
  checked: activeKeys.has(item.key),
497
547
  onChange: function onChange(e) {
@@ -503,64 +553,34 @@ function Filter(props) {
503
553
  }))),
504
554
  placement: "bottomRight"
505
555
  }, /*#__PURE__*/React.createElement(Button, {
506
- className: "".concat(prefixCls, "-filter-btn"),
556
+ className: "".concat(prefixCls, "-btn"),
507
557
  onClick: function onClick() {
508
558
  setKeywords('');
559
+ },
560
+ icon: /*#__PURE__*/React.createElement(Icons.LookUp, null)
561
+ })), /*#__PURE__*/React.createElement(Button, {
562
+ className: "".concat(prefixCls, "-btn"),
563
+ onClick: function onClick() {
564
+ return setCollapsed(function (prev) {
565
+ return !prev;
566
+ });
567
+ },
568
+ icon: /*#__PURE__*/React.createElement(Icons.CollapseUp, {
569
+ style: {
570
+ transform: collapsed ? 'rotateX(180deg)' : undefined
571
+ }
572
+ })
573
+ }))))));
574
+
575
+ if (simple) {
576
+ return content;
577
+ }
578
+
579
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(ResizeObserver, {
580
+ onResize: function onResize(size) {
581
+ return setWidth(size.width + 16);
509
582
  }
510
- }, /*#__PURE__*/React.createElement("svg", {
511
- width: "18",
512
- height: "18",
513
- viewBox: "0 0 18 18",
514
- xmlns: "http://www.w3.org/2000/svg"
515
- }, /*#__PURE__*/React.createElement("g", {
516
- transform: "translate(2 2)",
517
- fill: "none",
518
- fillRule: "evenodd"
519
- }, /*#__PURE__*/React.createElement("rect", {
520
- fillOpacity: ".65",
521
- fill: "currentColor",
522
- y: "4",
523
- width: "14",
524
- height: "1.5",
525
- rx: ".75"
526
- }), /*#__PURE__*/React.createElement("rect", {
527
- fillOpacity: ".65",
528
- fill: "currentColor",
529
- y: "8",
530
- width: "6",
531
- height: "1.5",
532
- rx: ".75"
533
- }), /*#__PURE__*/React.createElement("rect", {
534
- fillOpacity: ".65",
535
- fill: "currentColor",
536
- y: "12",
537
- width: "6",
538
- height: "1.5",
539
- rx: ".75"
540
- }), /*#__PURE__*/React.createElement("rect", {
541
- fillOpacity: ".65",
542
- fill: "currentColor",
543
- width: "14",
544
- height: "1.5",
545
- rx: ".75"
546
- }), /*#__PURE__*/React.createElement("g", {
547
- transform: "rotate(-45 15.45 -2.157)"
548
- }, /*#__PURE__*/React.createElement("circle", {
549
- strokeOpacity: ".65",
550
- stroke: "currentColor",
551
- strokeWidth: "1.5",
552
- cx: "3",
553
- cy: "3",
554
- r: "2.25"
555
- }), /*#__PURE__*/React.createElement("rect", {
556
- strokeOpacity: ".65",
557
- stroke: "currentColor",
558
- x: "2.75",
559
- y: "5.5",
560
- width: "1",
561
- height: "2",
562
- rx: ".5"
563
- }))))))))))));
583
+ }, content));
564
584
  }
565
585
 
566
586
  Filter.setComponents = setComponents;
@@ -1,28 +1,6 @@
1
1
  .@{prefixCls}-filter {
2
- &-tab {
3
- height: 100%;
4
- cursor: pointer;
5
-
6
- &-bar {
7
- margin-bottom: 16px;
8
- }
9
-
10
- &-active {
11
- position: relative;
12
- color: .primary(1) [];
13
- cursor: pointer;
14
-
15
- &::after {
16
- position: absolute;
17
- bottom: 0;
18
- left: 0;
19
- display: block;
20
- width: 100%;
21
- height: 2px;
22
- background-color: .primary(1) [];
23
- content: '';
24
- }
25
- }
2
+ &-tab-bar {
3
+ margin-bottom: 16px;
26
4
  }
27
5
 
28
6
  &-btn {
@@ -35,6 +13,19 @@
35
13
  }
36
14
  }
37
15
 
16
+ &-btns {
17
+ display: flex;
18
+ margin-bottom: 16px;
19
+ padding: 0 8px;
20
+ }
21
+
22
+ &-submit {
23
+ box-sizing: border-box;
24
+ width: 92px;
25
+ padding-right: 8px;
26
+ text-align: right;
27
+ }
28
+
38
29
  &-popover {
39
30
  .popover(220px);
40
31
 
@@ -60,6 +51,6 @@
60
51
  }
61
52
  }
62
53
 
63
- .@{prefixCls}-section-body > .@{prefixCls}-filter:not(.@{prefixCls}-simple-filter):first-child {
54
+ .@{prefixCls}-section-body > .@{prefixCls}-filter:not(.@{prefixCls}-filter-simple):first-child {
64
55
  margin-top: -16px;
65
56
  }
@@ -0,0 +1,5 @@
1
+ import { CSSProperties } from 'react';
2
+ export default function CollapseUp(props: {
3
+ className?: string;
4
+ style?: CSSProperties;
5
+ }): JSX.Element;
@@ -0,0 +1,31 @@
1
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
2
+
3
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
4
+
5
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
6
+
7
+ import React from 'react';
8
+ import Icon from '@ant-design/icons';
9
+
10
+ var Svg = function Svg(props) {
11
+ return /*#__PURE__*/React.createElement("svg", _objectSpread({
12
+ width: "18",
13
+ height: "18",
14
+ viewBox: "0 0 18 18",
15
+ xmlns: "http://www.w3.org/2000/svg"
16
+ }, props), /*#__PURE__*/React.createElement("path", {
17
+ d: "M2.47 4.22a.75.75 0 0 1 1.06 0l2.25 2.25a.75.75 0 1 1-1.06 1.065l-.97-.976v5.693a.751.751 0 0 1-1.5 0V6.559l-.97.975A.75.75 0 1 1 .22 6.47l2.25-2.25Zm14.78 1.282h-9a.751.751 0 0 1 0-1.5h9a.751.751 0 0 1 0 1.5Zm-9.75 3c0-.413.336-.75.75-.75h6a.751.751 0 0 1 0 1.5h-6a.751.751 0 0 1-.75-.75Zm0 3.75c0-.413.336-.75.75-.75h6a.751.751 0 0 1 0 1.5h-6a.751.751 0 0 1-.75-.75Z",
18
+ fillOpacity: ".65",
19
+ fill: "currentColor",
20
+ fillRule: "evenodd"
21
+ }));
22
+ };
23
+
24
+ export default function CollapseUp(props) {
25
+ return /*#__PURE__*/React.createElement(Icon, _objectSpread({
26
+ style: {
27
+ pointerEvents: 'none'
28
+ },
29
+ component: Svg
30
+ }, props));
31
+ }
@@ -0,0 +1,5 @@
1
+ import { CSSProperties } from 'react';
2
+ export default function LookUp(props: {
3
+ className?: string;
4
+ style?: CSSProperties;
5
+ }): JSX.Element;
@@ -0,0 +1,74 @@
1
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
2
+
3
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
4
+
5
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
6
+
7
+ import React from 'react';
8
+ import Icon from '@ant-design/icons';
9
+
10
+ var Svg = function Svg(props) {
11
+ return /*#__PURE__*/React.createElement("svg", _objectSpread({
12
+ width: "18",
13
+ height: "18",
14
+ viewBox: "0 0 18 18",
15
+ xmlns: "http://www.w3.org/2000/svg"
16
+ }, props), /*#__PURE__*/React.createElement("g", {
17
+ transform: "translate(2 2)",
18
+ fill: "none",
19
+ fillRule: "evenodd"
20
+ }, /*#__PURE__*/React.createElement("rect", {
21
+ fillOpacity: ".65",
22
+ fill: "currentColor",
23
+ y: "4",
24
+ width: "14",
25
+ height: "1.5",
26
+ rx: ".75"
27
+ }), /*#__PURE__*/React.createElement("rect", {
28
+ fillOpacity: ".65",
29
+ fill: "currentColor",
30
+ y: "8",
31
+ width: "6",
32
+ height: "1.5",
33
+ rx: ".75"
34
+ }), /*#__PURE__*/React.createElement("rect", {
35
+ fillOpacity: ".65",
36
+ fill: "currentColor",
37
+ y: "12",
38
+ width: "6",
39
+ height: "1.5",
40
+ rx: ".75"
41
+ }), /*#__PURE__*/React.createElement("rect", {
42
+ fillOpacity: ".65",
43
+ fill: "currentColor",
44
+ width: "14",
45
+ height: "1.5",
46
+ rx: ".75"
47
+ }), /*#__PURE__*/React.createElement("g", {
48
+ transform: "rotate(-45 15.45 -2.157)"
49
+ }, /*#__PURE__*/React.createElement("circle", {
50
+ strokeOpacity: ".65",
51
+ stroke: "currentColor",
52
+ strokeWidth: "1.5",
53
+ cx: "3",
54
+ cy: "3",
55
+ r: "2.25"
56
+ }), /*#__PURE__*/React.createElement("rect", {
57
+ strokeOpacity: ".65",
58
+ stroke: "currentColor",
59
+ x: "2.75",
60
+ y: "5.5",
61
+ width: "1",
62
+ height: "2",
63
+ rx: ".5"
64
+ }))));
65
+ };
66
+
67
+ export default function LookUp(props) {
68
+ return /*#__PURE__*/React.createElement(Icon, _objectSpread({
69
+ style: {
70
+ pointerEvents: 'none'
71
+ },
72
+ component: Svg
73
+ }, props));
74
+ }
@@ -5,6 +5,8 @@ import DarkSearch from './DarkSearch';
5
5
  import More from './More';
6
6
  import Calendar from './Calendar';
7
7
  import BigTip from './BigTip';
8
+ import LookUp from './LookUp';
9
+ import CollapseUp from './CollapseUp';
8
10
  declare const Icons: {
9
11
  Search: typeof Search;
10
12
  Down: typeof Down;
@@ -14,5 +16,7 @@ declare const Icons: {
14
16
  More: typeof More;
15
17
  Calendar: typeof Calendar;
16
18
  BigTip: typeof BigTip;
19
+ LookUp: typeof LookUp;
20
+ CollapseUp: typeof CollapseUp;
17
21
  };
18
22
  export default Icons;
package/es/Icons/index.js CHANGED
@@ -6,6 +6,8 @@ import DarkSearch from './DarkSearch';
6
6
  import More from './More';
7
7
  import Calendar from './Calendar';
8
8
  import BigTip from './BigTip';
9
+ import LookUp from './LookUp';
10
+ import CollapseUp from './CollapseUp';
9
11
  var Icons = {
10
12
  Search: Search,
11
13
  Down: Down,
@@ -14,6 +16,8 @@ var Icons = {
14
16
  DarkSearch: DarkSearch,
15
17
  More: More,
16
18
  Calendar: Calendar,
17
- BigTip: BigTip
19
+ BigTip: BigTip,
20
+ LookUp: LookUp,
21
+ CollapseUp: CollapseUp
18
22
  };
19
23
  export default Icons;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lemon-fe/components",
3
- "version": "0.1.9",
3
+ "version": "0.1.10",
4
4
  "description": "> TODO: description",
5
5
  "author": "鲁盛杰 <lusj@cnlemon.net>",
6
6
  "homepage": "",
@@ -41,5 +41,5 @@
41
41
  "react": "^17.0.2",
42
42
  "react-dom": "^17.0.2"
43
43
  },
44
- "gitHead": "f43d8d68fe859bd2d30478c18b85fafc2310595d"
44
+ "gitHead": "58dc15b111e2965a940be72535debd94635b8914"
45
45
  }