@lemon-fe/components 1.2.9 → 1.2.11-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.
@@ -1,14 +1,17 @@
1
1
  /// <reference types="react" />
2
2
  import type { ActionsProps } from '../actions';
3
+ import type { DataGridProps } from '../data-grid/typings';
3
4
  import type { FilterProps } from '../filter/typings';
4
- import type { AgGridReactProps } from '@ag-grid-community/react';
5
+ import type { SelectViewProps } from '../select-view';
6
+ declare type PropsGetter<T> = ((props: T) => T) | Partial<T>;
5
7
  interface ContextProps {
6
- /** 目前DataGrid由于是类组件,比较难处理,只支持ag-grid自带的属性 */
7
- DataGrid?: Omit<AgGridReactProps<any>, 'rowSelection' | 'pagination'>;
8
- Filter?: FilterProps<any>;
9
- Actions?: Partial<ActionsProps>;
8
+ DataGrid?: PropsGetter<DataGridProps<unknown>>;
9
+ Filter?: PropsGetter<FilterProps<unknown>>;
10
+ Actions?: PropsGetter<ActionsProps>;
11
+ SelectView?: PropsGetter<SelectViewProps<unknown, unknown>>;
10
12
  }
11
13
  export declare const ComponentConfigureContext: import("react").Context<ContextProps>;
12
14
  export declare const ComponentConfigureProvider: import("react").Provider<ContextProps>;
13
15
  export declare const ComponentConfigureConsumer: import("react").Consumer<ContextProps>;
16
+ export declare function useComponentDefaultProps<T>(key: keyof ContextProps, originalProps: T): T;
14
17
  export {};
@@ -1,4 +1,21 @@
1
- import { createContext } from 'react';
1
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
3
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
4
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
5
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
6
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
7
+ import { createContext, useContext } from 'react';
2
8
  export var ComponentConfigureContext = /*#__PURE__*/createContext({});
3
9
  export var ComponentConfigureProvider = ComponentConfigureContext.Provider;
4
- export var ComponentConfigureConsumer = ComponentConfigureContext.Consumer;
10
+ export var ComponentConfigureConsumer = ComponentConfigureContext.Consumer;
11
+ export function useComponentDefaultProps(key, originalProps) {
12
+ var defaultProps = useContext(ComponentConfigureContext);
13
+ var componentDefaultProps = defaultProps[key];
14
+ var props = originalProps;
15
+ if (typeof componentDefaultProps === 'function') {
16
+ props = componentDefaultProps(originalProps);
17
+ } else if (componentDefaultProps !== undefined) {
18
+ props = _objectSpread(_objectSpread({}, componentDefaultProps), originalProps);
19
+ }
20
+ return props;
21
+ }
@@ -35,8 +35,8 @@ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len
35
35
  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; } }
36
36
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
37
37
  import { Spin, Pagination } from 'antd';
38
- import React, { Component, createRef, forwardRef, useContext } from 'react';
39
- import { ComponentConfigureContext } from "../component-configure";
38
+ import React, { Component, createRef, forwardRef } from 'react';
39
+ import { useComponentDefaultProps } from "../component-configure";
40
40
  import { useLocaleReceiver } from "../locale-receiver";
41
41
  import { parseLocalTemplate } from "../locale/locale";
42
42
  import DateEditor from "./cell-editors/date";
@@ -184,7 +184,7 @@ var InternalDataGrid = /*#__PURE__*/function (_Component) {
184
184
  toolPanel: CustomColumnPanel,
185
185
  toolPanelParams: {
186
186
  enableSave: !!_this.props.customColumnPanelStorage,
187
- enableSummary: _this.isClientMode()
187
+ enableSummary: _this.isClientMode() || _this.props.enableCustomColumnSummary
188
188
  }
189
189
  }]
190
190
  });
@@ -1715,15 +1715,14 @@ var InternalDataGrid = /*#__PURE__*/function (_Component) {
1715
1715
  }]);
1716
1716
  return InternalDataGrid;
1717
1717
  }(Component);
1718
- var DataGrid = /*#__PURE__*/forwardRef(function (props, ref) {
1719
- var _useContext = useContext(ComponentConfigureContext),
1720
- extraProps = _useContext.DataGrid;
1718
+ var DataGrid = /*#__PURE__*/forwardRef(function (originalProps, ref) {
1721
1719
  var _useLocaleReceiver3 = useLocaleReceiver('DataGrid'),
1722
1720
  _useLocaleReceiver4 = _slicedToArray(_useLocaleReceiver3, 1),
1723
1721
  dataGridLocale = _useLocaleReceiver4[0];
1722
+ var props = useComponentDefaultProps('DataGrid', originalProps);
1724
1723
  return /*#__PURE__*/React.createElement(InternalDataGrid, _extends({
1725
1724
  ref: ref
1726
- }, extraProps, props, {
1725
+ }, props, {
1727
1726
  locale: dataGridLocale
1728
1727
  }));
1729
1728
  });
@@ -223,4 +223,8 @@ export interface DataGridProps<TData> extends Omit<AgGridReactProps<TData>, 'row
223
223
  set: (data: CustomColumnData) => Promise<void> | void;
224
224
  get: () => Promise<CustomColumnData | null | undefined> | CustomColumnData | null | undefined;
225
225
  };
226
+ /**
227
+ * @descriptioin 列定制启用汇总
228
+ */
229
+ enableCustomColumnSummary?: boolean;
226
230
  }
@@ -1,15 +1,15 @@
1
1
  /// <reference types="react" />
2
2
  import type { ComponentOption, FilterProps } from './typings';
3
- declare function FilterWrapper<T extends Record<string, any> = Record<string, any>>(props: FilterProps<T>): JSX.Element;
4
- declare namespace FilterWrapper {
3
+ declare function Filter<T extends Record<string, any> = Record<string, any>>(originalProps: FilterProps<T>): JSX.Element;
4
+ declare namespace Filter {
5
5
  var setComponents: (items: ComponentOption[]) => void;
6
6
  var setStorage: <T extends {
7
7
  title: string;
8
8
  value: Record<string | number, any>;
9
9
  }>(getData: (storageKey: string) => T[] | Promise<T[]>, setData: (storageKey: string, data: T[], action: {
10
- type: "set" | "delete";
10
+ type: "delete" | "set";
11
11
  target: T;
12
12
  }) => void | Promise<void>) => void;
13
- var defaultProps: Partial<FilterProps<Record<string, any>>>;
13
+ var defaultProps: Partial<FilterProps<unknown>>;
14
14
  }
15
- export default FilterWrapper;
15
+ export default Filter;
@@ -19,8 +19,8 @@ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" !=
19
19
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
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
21
  import { Button, Checkbox, Form, Input, Popover, Space } from 'antd';
22
- import React, { useEffect, useMemo, useState, useContext } from 'react';
23
- import { ComponentConfigureContext } from "../component-configure";
22
+ import React, { useEffect, useMemo, useState } from 'react';
23
+ import { useComponentDefaultProps } from "../component-configure";
24
24
  import Dropdown from "../dropdown";
25
25
  import DurationPicker from "../duration-picker";
26
26
  import Empty from "../empty";
@@ -93,7 +93,8 @@ function setStorage(getData, setData) {
93
93
  setStorageData = setData;
94
94
  }
95
95
  var defaultData = [];
96
- function Filter(props) {
96
+ function Filter(originalProps) {
97
+ var props = useComponentDefaultProps('Filter', originalProps);
97
98
  var _props$data = props.data,
98
99
  data = _props$data === void 0 ? defaultData : _props$data,
99
100
  defaultValueProp = props.defaultValue,
@@ -631,11 +632,7 @@ function Filter(props) {
631
632
  mask: "url(#filter-down-mask)"
632
633
  }))))))))));
633
634
  }
634
- function FilterWrapper(props) {
635
- var contextProps = useContext(ComponentConfigureContext).Filter;
636
- return /*#__PURE__*/React.createElement(Filter, _extends({}, contextProps, props));
637
- }
638
- FilterWrapper.setComponents = setComponents;
639
- FilterWrapper.setStorage = setStorage;
640
- FilterWrapper.defaultProps = {};
641
- export default FilterWrapper;
635
+ Filter.setComponents = setComponents;
636
+ Filter.setStorage = setStorage;
637
+ Filter.defaultProps = {};
638
+ export default Filter;
@@ -24,7 +24,7 @@ export interface FilterItemType<T = any> {
24
24
 
25
25
  export type ActionType = 'submit' | 'reset';
26
26
 
27
- export interface FilterProps<T extends Record<string, any> = Record<string, any>> {
27
+ export interface FilterProps<T> {
28
28
  data?: FilterItemType<T>[];
29
29
  defaultValue?: T;
30
30
  value?: T;
@@ -2,7 +2,7 @@ import type { CSSProperties, ReactElement } from 'react';
2
2
  import type { ColType, CustomColumnData, DataGridProps, PaginationType, SortType } from '../data-grid/typings';
3
3
  import type { FilterProps } from '../filter/typings';
4
4
  import type { SideBarDef } from '@ag-grid-community/core';
5
- interface Props<RecordType, ParamsType extends Record<string, any>> extends Pick<DataGridProps<RecordType>, 'defaultColDef' | 'rowHeight' | 'cellDisplayFlex' | 'isRowSelectable'> {
5
+ export interface SelectViewProps<RecordType, ParamsType> extends Pick<DataGridProps<RecordType>, 'defaultColDef' | 'rowHeight' | 'cellDisplayFlex' | 'isRowSelectable'> {
6
6
  value?: RecordType[];
7
7
  onChange?: (value: RecordType[], rowDoubleClicked?: boolean) => void;
8
8
  /**
@@ -73,5 +73,4 @@ interface Props<RecordType, ParamsType extends Record<string, any>> extends Pick
73
73
  get: () => Promise<CustomColumnData | null | undefined> | CustomColumnData | null | undefined;
74
74
  };
75
75
  }
76
- export default function SelectView<RecordType extends Record<string | number, any>, ParamsType extends Record<string, any>>(props: Props<RecordType, ParamsType>): JSX.Element;
77
- export {};
76
+ export default function SelectView<RecordType extends Record<string | number, any>, ParamsType extends Record<string, any>>(originalProps: SelectViewProps<RecordType, ParamsType>): JSX.Element;
@@ -18,6 +18,7 @@ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
18
18
  import { Form, Spin, Tabs } from 'antd';
19
19
  import React, { useEffect, useMemo, useRef, useState } from 'react';
20
20
  import { Resizable } from 'react-resizable';
21
+ import { useComponentDefaultProps } from "../component-configure";
21
22
  import DataGrid from "../data-grid";
22
23
  import Filter from "../filter";
23
24
  import { useLocaleReceiver } from "../locale-receiver";
@@ -25,10 +26,11 @@ import { parseLocalTemplate } from "../locale/locale";
25
26
  import { mergeProp, prefixClassName } from "../utils";
26
27
  import classNames from 'classnames';
27
28
  import { get } from 'lodash';
28
- export default function SelectView(props) {
29
+ export default function SelectView(originalProps) {
29
30
  var emptyValue = useMemo(function () {
30
31
  return [];
31
32
  }, []);
33
+ var props = useComponentDefaultProps('SelectView', originalProps);
32
34
  var value = props.value,
33
35
  onChange = props.onChange,
34
36
  _props$pagination = props.pagination,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lemon-fe/components",
3
- "version": "1.2.9",
3
+ "version": "1.2.11-alpha.1",
4
4
  "description": "> TODO: description",
5
5
  "homepage": "",
6
6
  "license": "ISC",
@@ -67,5 +67,5 @@
67
67
  "publishConfig": {
68
68
  "registry": "https://registry.npmjs.org"
69
69
  },
70
- "gitHead": "0fa7b3cadda71468fdc8179c8ee1c92822fd0c7d"
70
+ "gitHead": "892c465f5858b1bc5b5d789ff154ea69d5d5a075"
71
71
  }