es-grid-template 1.7.45 → 1.7.46

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,5 +1,6 @@
1
- import * as React from 'react';
2
- import type { ContextInfo, ContextMenuItem } from './type';
1
+ import * as React from "react";
2
+ import type { ContextInfo } from "./type";
3
+ import type { ContextMenuItem } from "./type";
3
4
  export declare const findItemByKey: (array: any[], key: string, value: any) => any;
4
5
  type Props<RecordType> = {
5
6
  rowData: RecordType | null;
@@ -1,6 +1,6 @@
1
- import * as React from 'react';
1
+ import * as React from "react";
2
2
  // import type { MenuProps } from "antd";
3
- import { Dropdown, Menu } from 'antd';
3
+ import { Dropdown, Menu } from "antd";
4
4
  export const findItemByKey = (array, key, value) => {
5
5
  for (let i = 0; i < array.length; i++) {
6
6
  const item = array[i];
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import 'react-resizable/css/styles.css';
3
- import type { GridTableProps } from './type';
3
+ import type { GridTableProps } from "./type";
4
4
  import 'dayjs/locale/es';
5
5
  import 'dayjs/locale/vi';
6
6
  import './styles.scss';
@@ -1,45 +1,45 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
- import customParseFormat from 'dayjs/plugin/customParseFormat';
3
2
  import React, { createContext, Fragment, useCallback, useContext, useState } from 'react';
4
3
  import 'react-resizable/css/styles.css';
4
+ import customParseFormat from 'dayjs/plugin/customParseFormat';
5
5
  import { addRowIdArray, booleanOperator, convertFilters, convertFlatColumn, filterDataByColumns4, findItemByKey, findItemPath, flattenArray, getAllRowKey, getFormat, getTypeFilter, groupArrayByColumns, isNullOrUndefined, numberOperator, removeColumns, removeInvisibleColumns, stringOperator, translateOption, unFlattenData, updateArrayByKey, updateColumnsByGroup,
6
6
  // updateData,
7
7
  updateOrInsert } from "./hooks";
8
- import dayjs from 'dayjs';
8
+ import dayjs from "dayjs";
9
9
  import 'dayjs/locale/es';
10
10
  import 'dayjs/locale/vi';
11
- import en from 'rc-master-ui/es/date-picker/locale/en_US';
12
- import vi from 'rc-master-ui/es/date-picker/locale/vi_VN';
13
- import Grid from "./table/Grid";
14
11
  import GridEdit from "./table/GridEdit";
15
- import enDr from 'rc-master-ui/es/locales/en_US';
16
- import viDr from 'rc-master-ui/es/locales/vi_VN';
12
+ import Grid from "./table/Grid";
13
+ import en from "rc-master-ui/es/date-picker/locale/en_US";
14
+ import vi from "rc-master-ui/es/date-picker/locale/vi_VN";
15
+ import enDr from "rc-master-ui/es/locales/en_US";
16
+ import viDr from "rc-master-ui/es/locales/vi_VN";
17
17
  // import useColumns from "./hooks/useColumns";
18
18
 
19
19
  import "./styles.scss";
20
20
  // import 'rc-master-ui/es/date-range-picker/styles/index.less'
21
21
  // import 'rc-master-ui/assets/index.css'
22
22
 
23
- import { SearchOutlined } from '@ant-design/icons';
24
- import { closestCenter, DndContext, DragOverlay, PointerSensor, useSensor, useSensors } from '@dnd-kit/core';
25
- import { restrictToHorizontalAxis } from '@dnd-kit/modifiers';
26
- import { arrayMove, horizontalListSortingStrategy, SortableContext, useSortable } from '@dnd-kit/sortable';
27
- import { Button, Space } from 'antd';
28
- import { ArrowDown, ArrowUp, FilterFill, SortCancel } from 'becoxy-icons';
29
- import classNames from 'classnames';
30
- import { Select } from 'rc-master-ui';
31
- import { Tooltip } from 'react-tooltip';
32
- import Swal from 'sweetalert2';
33
- import withReactContent from 'sweetalert2-react-content';
34
23
  import { flatColumns2, renderContent, renderFilter } from "./hooks/columns";
35
- import HeaderContent from "./hooks/content/HeaderContent";
36
24
  import Group from "./table/Group";
25
+ import Swal from "sweetalert2";
26
+ import withReactContent from "sweetalert2-react-content";
27
+ import { Tooltip } from "react-tooltip";
28
+ import classNames from "classnames";
29
+ import HeaderContent from "./hooks/content/HeaderContent";
30
+ import { ArrowDown, ArrowUp, FilterFill, SortCancel } from "becoxy-icons";
31
+ import { Select } from "rc-master-ui";
32
+ import { Button, Space } from "antd";
33
+ import { SearchOutlined } from "@ant-design/icons";
34
+ import { restrictToHorizontalAxis } from "@dnd-kit/modifiers";
35
+ import { closestCenter, DndContext, DragOverlay, PointerSensor, useSensor, useSensors } from "@dnd-kit/core";
36
+ import { arrayMove, horizontalListSortingStrategy, SortableContext, useSortable } from "@dnd-kit/sortable";
37
37
  // import {CSS} from "@dnd-kit/utilities";
38
- import { faker } from '@faker-js/faker';
39
- import Modal from 'antd/es/modal/Modal';
40
- import useMergedState from "rc-util/es/hooks/useMergedState";
41
- import { Resizable } from 'react-resizable';
38
+ import { Resizable } from "react-resizable";
39
+ import { faker } from "@faker-js/faker";
42
40
  import InfiniteTable from "./table/InfiniteTable";
41
+ import useMergedState from "rc-util/es/hooks/useMergedState";
42
+ import Modal from 'antd/es/modal/Modal';
43
43
  dayjs.extend(customParseFormat);
44
44
  const MySwal = withReactContent(Swal);
45
45
  const ASCEND = 'ascend';
@@ -213,9 +213,9 @@ const InternalTable = props => {
213
213
  const handleWindowResize = () => {
214
214
  setWindowSize(getWindowSize());
215
215
  };
216
- window.addEventListener('resize', handleWindowResize);
216
+ window.addEventListener("resize", handleWindowResize);
217
217
  return () => {
218
- window.removeEventListener('resize', handleWindowResize);
218
+ window.removeEventListener("resize", handleWindowResize);
219
219
  };
220
220
  }, []);
221
221
  const [scrollHeight, setHeight] = useState(0);
@@ -401,7 +401,7 @@ const InternalTable = props => {
401
401
  // handleSearch()
402
402
  // close()
403
403
  }
404
- }, t ? t('Clear') : 'Clear')));
404
+ }, t ? t("Clear") : 'Clear')));
405
405
  },
406
406
  filterIcon: filtered => /*#__PURE__*/React.createElement(FilterFill, {
407
407
  fontSize: 12
@@ -441,7 +441,8 @@ const InternalTable = props => {
441
441
  id: id,
442
442
  wrapSettings: wrapSettings
443
443
  })),
444
- ellipsis: editAble || column.ellipsis !== false && wrapSettings && wrapSettings.wrapMode !== 'Content' && wrapSettings.wrapMode !== 'Both',
444
+ // ellipsis: editAble || column.ellipsis !== false && wrapSettings && wrapSettings.wrapMode !== 'Content' && wrapSettings.wrapMode !== 'Both',
445
+ ellipsis: column.ellipsis !== false || wrapSettings && wrapSettings.wrapMode !== 'Content' && wrapSettings.wrapMode !== 'Both',
445
446
  // ellipsis: column.ellipsis !== false,
446
447
 
447
448
  align: column.textAlign ?? column.align,
@@ -586,7 +587,7 @@ const InternalTable = props => {
586
587
  if (currentGroupColumn?.template) {
587
588
  return renderContent(currentGroupColumn, record[record.field], record, rowIndex, colIndex, false, cellFormat);
588
589
  }
589
- return /*#__PURE__*/React.createElement("span", null, currentGroupColumn?.headerText, ":", ' ', renderContent(currentGroupColumn, record[record.field], record, rowIndex, colIndex, false, cellFormat));
590
+ return /*#__PURE__*/React.createElement("span", null, currentGroupColumn?.headerText, ": ", renderContent(currentGroupColumn, record[record.field], record, rowIndex, colIndex, false, cellFormat));
590
591
  }
591
592
  return renderContent(column, value, record, rowIndex, colIndex, false, cellFormat);
592
593
  },
@@ -658,7 +659,7 @@ const InternalTable = props => {
658
659
  if (tableRef.current && type === 'columnChoose') {
659
660
  tableRef.current.scrollTo({
660
661
  left: 0.1,
661
- behavior: 'smooth'
662
+ behavior: "smooth"
662
663
  });
663
664
  }
664
665
  onChooseColumns?.({
@@ -699,11 +700,17 @@ const InternalTable = props => {
699
700
  setColumns(updateColumnsByGroup(mergedColumns, groupedColumns));
700
701
  if (groupSetting) {
701
702
  if (groupSetting.client === false) {
703
+
702
704
  // setIsTree(true)
705
+
703
706
  // setGroupOpen([])
707
+
704
708
  // const dt = ungroupArray(dataSource)
709
+
705
710
  // const rs = groupArrayByColumns2(dt, [...value])
711
+
706
712
  // setResource([...rs])
713
+
707
714
  // if (groupSetting.onGroup) {
708
715
  // groupSetting.onGroup({
709
716
  // columnGrouped: value,
@@ -952,6 +959,7 @@ const InternalTable = props => {
952
959
  } : {
953
960
  y: scrollHeight - (summary ? 1 : 1)
954
961
  } // scroll height auto, không quá 600
962
+
955
963
  // height={isFullScreen ? windowSize.innerHeight - 100 : propsHeight}
956
964
  ,
957
965
  height: propsHeight,
@@ -1001,10 +1009,10 @@ const InternalTable = props => {
1001
1009
  style: {
1002
1010
  maxWidth: '100%',
1003
1011
  height: '100%'
1004
- }
1005
- // onClose={() => setIsFullScreen(false)}
1006
- ,
1012
+ },
1013
+ onClose: () => setIsFullScreen(false),
1007
1014
  onCancel: () => setIsFullScreen(false)
1015
+
1008
1016
  // destroyOnClose
1009
1017
  ,
1010
1018
  styles: {
@@ -1066,6 +1074,7 @@ const InternalTable = props => {
1066
1074
  y: scrollHeight1 - (summary ? 1 : 1)
1067
1075
  } // scroll height auto, không quá 600
1068
1076
  ,
1077
+
1069
1078
  height: windowSize.innerHeight - 35,
1070
1079
  scrollHeight: scrollHeight1,
1071
1080
  components: {
@@ -1,5 +1,4 @@
1
- import type { ReactElement, ReactNode } from "react";
2
- import React from "react";
1
+ import React, { ReactElement, ReactNode } from "react";
3
2
  type Props = {
4
3
  t?: any;
5
4
  content?: any;
@@ -15,5 +15,7 @@ interface UseColumnsConfig<RecordType> {
15
15
  rowKey?: any;
16
16
  onMouseHover?: any;
17
17
  }
18
- declare const useColumns: <RecordType extends AnyObject = AnyObject>(config: UseColumnsConfig<RecordType>) => readonly [any];
18
+ declare const useColumns: <RecordType extends AnyObject = AnyObject>(config: UseColumnsConfig<RecordType>) => readonly [
19
+ any
20
+ ];
19
21
  export default useColumns;
@@ -205,6 +205,7 @@ export interface TableProps<RecordType = AnyObject> extends Omit<RcTableProps<Re
205
205
  dataSource: RecordType[];
206
206
  columns: ColumnsTable<RecordType>;
207
207
  height?: number;
208
+ minHeight?: number;
208
209
  format?: IFormat;
209
210
  t?: any;
210
211
  lang?: string;
@@ -1,5 +1,6 @@
1
- import * as React from 'react';
2
- import type { ContextInfo, ContextMenuItem } from './type';
1
+ import * as React from "react";
2
+ import type { ContextInfo } from "./type";
3
+ import type { ContextMenuItem } from "./type";
3
4
  export declare const findItemByKey: (array: any[], key: string, value: any) => any;
4
5
  type Props<RecordType> = {
5
6
  rowData: RecordType | null;
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import 'react-resizable/css/styles.css';
3
- import type { GridTableProps } from './type';
3
+ import type { GridTableProps } from "./type";
4
4
  import 'dayjs/locale/es';
5
5
  import 'dayjs/locale/vi';
6
6
  import './styles.scss';
@@ -6,39 +6,39 @@ Object.defineProperty(exports, "__esModule", {
6
6
  });
7
7
  exports.default = exports.SELECTION_COLUMN = void 0;
8
8
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
- var _customParseFormat = _interopRequireDefault(require("dayjs/plugin/customParseFormat"));
10
9
  var _react = _interopRequireWildcard(require("react"));
11
10
  require("react-resizable/css/styles.css");
11
+ var _customParseFormat = _interopRequireDefault(require("dayjs/plugin/customParseFormat"));
12
12
  var _hooks = require("./hooks");
13
13
  var _dayjs = _interopRequireDefault(require("dayjs"));
14
14
  require("dayjs/locale/es");
15
15
  require("dayjs/locale/vi");
16
+ var _GridEdit = _interopRequireDefault(require("./table/GridEdit"));
17
+ var _Grid = _interopRequireDefault(require("./table/Grid"));
16
18
  var _en_US = _interopRequireDefault(require("rc-master-ui/es/date-picker/locale/en_US"));
17
19
  var _vi_VN = _interopRequireDefault(require("rc-master-ui/es/date-picker/locale/vi_VN"));
18
- var _Grid = _interopRequireDefault(require("./table/Grid"));
19
- var _GridEdit = _interopRequireDefault(require("./table/GridEdit"));
20
20
  var _en_US2 = _interopRequireDefault(require("rc-master-ui/es/locales/en_US"));
21
21
  var _vi_VN2 = _interopRequireDefault(require("rc-master-ui/es/locales/vi_VN"));
22
22
  require("./styles.scss");
23
- var _icons = require("@ant-design/icons");
24
- var _core = require("@dnd-kit/core");
25
- var _modifiers = require("@dnd-kit/modifiers");
26
- var _sortable = require("@dnd-kit/sortable");
27
- var _antd = require("antd");
28
- var _becoxyIcons = require("becoxy-icons");
29
- var _classnames = _interopRequireDefault(require("classnames"));
30
- var _rcMasterUi = require("rc-master-ui");
31
- var _reactTooltip = require("react-tooltip");
23
+ var _columns = require("./hooks/columns");
24
+ var _Group = _interopRequireDefault(require("./table/Group"));
32
25
  var _sweetalert = _interopRequireDefault(require("sweetalert2"));
33
26
  var _sweetalert2ReactContent = _interopRequireDefault(require("sweetalert2-react-content"));
34
- var _columns = require("./hooks/columns");
27
+ var _reactTooltip = require("react-tooltip");
28
+ var _classnames = _interopRequireDefault(require("classnames"));
35
29
  var _HeaderContent = _interopRequireDefault(require("./hooks/content/HeaderContent"));
36
- var _Group = _interopRequireDefault(require("./table/Group"));
37
- var _faker = require("@faker-js/faker");
38
- var _Modal = _interopRequireDefault(require("antd/es/modal/Modal"));
39
- var _useMergedState = _interopRequireDefault(require("rc-util/lib/hooks/useMergedState"));
30
+ var _becoxyIcons = require("becoxy-icons");
31
+ var _rcMasterUi = require("rc-master-ui");
32
+ var _antd = require("antd");
33
+ var _icons = require("@ant-design/icons");
34
+ var _modifiers = require("@dnd-kit/modifiers");
35
+ var _core = require("@dnd-kit/core");
36
+ var _sortable = require("@dnd-kit/sortable");
40
37
  var _reactResizable = require("react-resizable");
38
+ var _faker = require("@faker-js/faker");
41
39
  var _InfiniteTable = _interopRequireDefault(require("./table/InfiniteTable"));
40
+ var _useMergedState = _interopRequireDefault(require("rc-util/lib/hooks/useMergedState"));
41
+ var _Modal = _interopRequireDefault(require("antd/es/modal/Modal"));
42
42
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
43
43
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
44
44
  // import useColumns from "./hooks/useColumns";
@@ -221,9 +221,9 @@ const InternalTable = props => {
221
221
  const handleWindowResize = () => {
222
222
  setWindowSize(getWindowSize());
223
223
  };
224
- window.addEventListener('resize', handleWindowResize);
224
+ window.addEventListener("resize", handleWindowResize);
225
225
  return () => {
226
- window.removeEventListener('resize', handleWindowResize);
226
+ window.removeEventListener("resize", handleWindowResize);
227
227
  };
228
228
  }, []);
229
229
  const [scrollHeight, setHeight] = (0, _react.useState)(0);
@@ -409,7 +409,7 @@ const InternalTable = props => {
409
409
  // handleSearch()
410
410
  // close()
411
411
  }
412
- }, t ? t('Clear') : 'Clear')));
412
+ }, t ? t("Clear") : 'Clear')));
413
413
  },
414
414
  filterIcon: filtered => /*#__PURE__*/_react.default.createElement(_becoxyIcons.FilterFill, {
415
415
  fontSize: 12
@@ -449,7 +449,8 @@ const InternalTable = props => {
449
449
  id: id,
450
450
  wrapSettings: wrapSettings
451
451
  })),
452
- ellipsis: editAble || column.ellipsis !== false && wrapSettings && wrapSettings.wrapMode !== 'Content' && wrapSettings.wrapMode !== 'Both',
452
+ // ellipsis: editAble || column.ellipsis !== false && wrapSettings && wrapSettings.wrapMode !== 'Content' && wrapSettings.wrapMode !== 'Both',
453
+ ellipsis: column.ellipsis !== false || wrapSettings && wrapSettings.wrapMode !== 'Content' && wrapSettings.wrapMode !== 'Both',
453
454
  // ellipsis: column.ellipsis !== false,
454
455
 
455
456
  align: column.textAlign ?? column.align,
@@ -594,7 +595,7 @@ const InternalTable = props => {
594
595
  if (currentGroupColumn?.template) {
595
596
  return (0, _columns.renderContent)(currentGroupColumn, record[record.field], record, rowIndex, colIndex, false, cellFormat);
596
597
  }
597
- return /*#__PURE__*/_react.default.createElement("span", null, currentGroupColumn?.headerText, ":", ' ', (0, _columns.renderContent)(currentGroupColumn, record[record.field], record, rowIndex, colIndex, false, cellFormat));
598
+ return /*#__PURE__*/_react.default.createElement("span", null, currentGroupColumn?.headerText, ": ", (0, _columns.renderContent)(currentGroupColumn, record[record.field], record, rowIndex, colIndex, false, cellFormat));
598
599
  }
599
600
  return (0, _columns.renderContent)(column, value, record, rowIndex, colIndex, false, cellFormat);
600
601
  },
@@ -666,7 +667,7 @@ const InternalTable = props => {
666
667
  if (tableRef.current && type === 'columnChoose') {
667
668
  tableRef.current.scrollTo({
668
669
  left: 0.1,
669
- behavior: 'smooth'
670
+ behavior: "smooth"
670
671
  });
671
672
  }
672
673
  onChooseColumns?.({
@@ -707,11 +708,17 @@ const InternalTable = props => {
707
708
  setColumns((0, _hooks.updateColumnsByGroup)(mergedColumns, groupedColumns));
708
709
  if (groupSetting) {
709
710
  if (groupSetting.client === false) {
711
+
710
712
  // setIsTree(true)
713
+
711
714
  // setGroupOpen([])
715
+
712
716
  // const dt = ungroupArray(dataSource)
717
+
713
718
  // const rs = groupArrayByColumns2(dt, [...value])
719
+
714
720
  // setResource([...rs])
721
+
715
722
  // if (groupSetting.onGroup) {
716
723
  // groupSetting.onGroup({
717
724
  // columnGrouped: value,
@@ -960,6 +967,7 @@ const InternalTable = props => {
960
967
  } : {
961
968
  y: scrollHeight - (summary ? 1 : 1)
962
969
  } // scroll height auto, không quá 600
970
+
963
971
  // height={isFullScreen ? windowSize.innerHeight - 100 : propsHeight}
964
972
  ,
965
973
  height: propsHeight,
@@ -1009,10 +1017,10 @@ const InternalTable = props => {
1009
1017
  style: {
1010
1018
  maxWidth: '100%',
1011
1019
  height: '100%'
1012
- }
1013
- // onClose={() => setIsFullScreen(false)}
1014
- ,
1020
+ },
1021
+ onClose: () => setIsFullScreen(false),
1015
1022
  onCancel: () => setIsFullScreen(false)
1023
+
1016
1024
  // destroyOnClose
1017
1025
  ,
1018
1026
  styles: {
@@ -1074,6 +1082,7 @@ const InternalTable = props => {
1074
1082
  y: scrollHeight1 - (summary ? 1 : 1)
1075
1083
  } // scroll height auto, không quá 600
1076
1084
  ,
1085
+
1077
1086
  height: windowSize.innerHeight - 35,
1078
1087
  scrollHeight: scrollHeight1,
1079
1088
  components: {
@@ -1,5 +1,4 @@
1
- import type { ReactElement, ReactNode } from "react";
2
- import React from "react";
1
+ import React, { ReactElement, ReactNode } from "react";
3
2
  type Props = {
4
3
  t?: any;
5
4
  content?: any;
@@ -205,6 +205,7 @@ export interface TableProps<RecordType = AnyObject> extends Omit<RcTableProps<Re
205
205
  dataSource: RecordType[];
206
206
  columns: ColumnsTable<RecordType>;
207
207
  height?: number;
208
+ minHeight?: number;
208
209
  format?: IFormat;
209
210
  t?: any;
210
211
  lang?: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "es-grid-template",
3
- "version": "1.7.45",
3
+ "version": "1.7.46",
4
4
  "description": "es-grid-template",
5
5
  "keywords": [
6
6
  "react",