es-grid-template 1.9.53 → 1.9.56

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.
Files changed (133) hide show
  1. package/es/ali-table/Grid.d.ts +1 -0
  2. package/es/ali-table/Grid.js +12 -4
  3. package/es/ali-table/InternalTable.js +39 -7
  4. package/es/ali-table/base-table/html-table-default.d.ts +20 -0
  5. package/es/ali-table/base-table/html-table-default.js +224 -0
  6. package/es/ali-table/base-table/html-table-new.d.ts +20 -0
  7. package/es/ali-table/base-table/html-table-new.js +417 -0
  8. package/es/ali-table/base-table/html-table.js +324 -182
  9. package/es/ali-table/base-table/styles.d.ts +1 -0
  10. package/es/ali-table/base-table/styles.js +5 -4
  11. package/es/ali-table/base-table/table.d.ts +4 -0
  12. package/es/ali-table/base-table/table.js +24 -5
  13. package/es/ali-table/pipeline/features/columnCustom.js +3 -3
  14. package/es/ali-table/pipeline/features/pagination.js +1 -1
  15. package/es/ali-table/utils/convertColumnsChoose.d.ts +2 -2
  16. package/es/grid-component/control/InputControl/InputControl.js +2 -3
  17. package/es/grid-component/hooks/calender.d.ts +19 -0
  18. package/es/grid-component/hooks/calender.js +32 -0
  19. package/es/grid-component/type.d.ts +15 -2
  20. package/es/group-component/ColumnsChoose.js +1 -2
  21. package/es/group-component/ColumnsGroup/ColumnsGroup.js +1 -2
  22. package/es/group-component/TableContainerEdit.js +3 -4
  23. package/es/group-component/body/EditableCell.js +7 -6
  24. package/es/group-component/body/TableBodyRow.js +15 -4
  25. package/es/group-component/components/EditForm/EditForm.js +1 -2
  26. package/es/group-component/components/InputControl/InputControl.js +1 -2
  27. package/es/group-component/components/checkbox-filter/CheckboxFilter.js +1 -2
  28. package/es/group-component/components/checkbox-filter/FilterSearch.d.ts +1 -1
  29. package/es/group-component/components/checkbox-filter/FilterSearch.js +0 -3
  30. package/es/group-component/header/TableHeadCell.js +1 -2
  31. package/es/group-component/header/TableHeadCell2.js +1 -2
  32. package/es/group-component/hook/utils.d.ts +4 -4
  33. package/es/group-component/table/Grid.js +1 -1
  34. package/es/index.d.ts +2 -2
  35. package/es/index.js +1 -1
  36. package/es/table-component/ColumnsChoose.js +1 -1
  37. package/es/table-component/ColumnsConfig.d.ts +17 -0
  38. package/es/table-component/ColumnsConfig.js +303 -0
  39. package/es/table-component/ContextMenu.js +1 -1
  40. package/es/table-component/InternalTable.js +30 -9
  41. package/es/table-component/TableContainer.js +4 -2
  42. package/es/table-component/TableContainerEdit.js +18 -5
  43. package/es/table-component/body/EditableCell.js +104 -119
  44. package/es/table-component/body/TableBodyCellEdit.js +1 -1
  45. package/es/table-component/body/TableBodyRow.js +0 -5
  46. package/es/table-component/components/EditForm/EditForm.js +1 -4
  47. package/es/table-component/components/InputControl/InputControl.js +1 -1
  48. package/es/table-component/components/checkbox-filter/CheckboxFilter.js +1 -2
  49. package/es/table-component/components/checkbox-filter/FilterSearch.d.ts +1 -1
  50. package/es/table-component/components/checkbox-filter/FilterSearch.js +4 -2
  51. package/es/table-component/header/TableHeadCell.js +1 -1
  52. package/es/table-component/header/TableHeadCell2.js +1 -1
  53. package/es/table-component/header/TableHeadRow.js +6 -6
  54. package/es/table-component/hook/utils.d.ts +3 -3
  55. package/es/table-component/hook/utils.js +28 -4
  56. package/es/table-component/style.js +2 -2
  57. package/es/table-component/table/Grid.js +2 -1
  58. package/es/table-virtuoso/ColumnsGroup/ColumnsGroup.js +1 -1
  59. package/es/table-virtuoso/header/TableHeadCell.js +1 -1
  60. package/es/table-virtuoso/hook/utils.d.ts +1 -1
  61. package/es/table-virtuoso/table/Grid.js +1 -1
  62. package/es/table-virtuoso/table/TableContainer.js +1 -1
  63. package/es/table-virtuoso/table/TableWrapper.d.ts +1 -2
  64. package/es/table-virtuoso/table/TableWrapper.js +1 -0
  65. package/lib/ali-table/Grid.d.ts +1 -0
  66. package/lib/ali-table/Grid.js +12 -4
  67. package/lib/ali-table/InternalTable.js +39 -7
  68. package/lib/ali-table/base-table/html-table-default.d.ts +20 -0
  69. package/lib/ali-table/base-table/html-table-default.js +231 -0
  70. package/lib/ali-table/base-table/html-table-new.d.ts +20 -0
  71. package/lib/ali-table/base-table/html-table-new.js +424 -0
  72. package/lib/ali-table/base-table/html-table.js +324 -182
  73. package/lib/ali-table/base-table/styles.d.ts +1 -0
  74. package/lib/ali-table/base-table/styles.js +5 -4
  75. package/lib/ali-table/base-table/table.d.ts +4 -0
  76. package/lib/ali-table/base-table/table.js +24 -5
  77. package/lib/ali-table/pipeline/features/columnCustom.js +4 -4
  78. package/lib/ali-table/pipeline/features/pagination.js +1 -1
  79. package/lib/ali-table/utils/convertColumnsChoose.d.ts +2 -2
  80. package/lib/grid-component/control/InputControl/InputControl.js +4 -6
  81. package/lib/grid-component/hooks/calender.d.ts +19 -0
  82. package/lib/grid-component/hooks/calender.js +40 -0
  83. package/lib/grid-component/type.d.ts +15 -2
  84. package/lib/group-component/ColumnsChoose.js +6 -7
  85. package/lib/group-component/ColumnsGroup/ColumnsGroup.js +3 -4
  86. package/lib/group-component/TableContainerEdit.js +4 -5
  87. package/lib/group-component/body/EditableCell.js +14 -13
  88. package/lib/group-component/body/TableBodyRow.js +15 -4
  89. package/lib/group-component/components/EditForm/EditForm.js +1 -2
  90. package/lib/group-component/components/InputControl/InputControl.js +4 -6
  91. package/lib/group-component/components/checkbox-filter/CheckboxFilter.js +1 -2
  92. package/lib/group-component/components/checkbox-filter/FilterSearch.d.ts +1 -1
  93. package/lib/group-component/components/checkbox-filter/FilterSearch.js +0 -2
  94. package/lib/group-component/header/TableHeadCell.js +3 -4
  95. package/lib/group-component/header/TableHeadCell2.js +3 -4
  96. package/lib/group-component/hook/utils.d.ts +1 -1
  97. package/lib/group-component/table/Grid.js +2 -2
  98. package/lib/index.d.ts +2 -2
  99. package/lib/index.js +2 -2
  100. package/lib/table-component/ColumnsChoose.js +5 -5
  101. package/lib/table-component/ColumnsConfig.d.ts +17 -0
  102. package/lib/table-component/ColumnsConfig.js +313 -0
  103. package/lib/table-component/ContextMenu.js +3 -3
  104. package/lib/table-component/InternalTable.js +25 -8
  105. package/lib/table-component/TableContainer.js +4 -2
  106. package/lib/table-component/TableContainerEdit.js +20 -8
  107. package/lib/table-component/body/EditableCell.js +113 -129
  108. package/lib/table-component/body/TableBodyCellEdit.js +1 -1
  109. package/lib/table-component/body/TableBodyRow.js +0 -5
  110. package/lib/table-component/components/EditForm/EditForm.js +3 -6
  111. package/lib/table-component/components/InputControl/InputControl.js +1 -2
  112. package/lib/table-component/components/checkbox-filter/CheckboxFilter.js +1 -2
  113. package/lib/table-component/components/checkbox-filter/FilterSearch.d.ts +1 -1
  114. package/lib/table-component/components/checkbox-filter/FilterSearch.js +5 -2
  115. package/lib/table-component/header/TableHeadCell.js +4 -5
  116. package/lib/table-component/header/TableHeadCell2.js +2 -3
  117. package/lib/table-component/header/TableHeadRow.js +6 -6
  118. package/lib/table-component/hook/utils.d.ts +3 -3
  119. package/lib/table-component/hook/utils.js +28 -4
  120. package/lib/table-component/style.js +2 -2
  121. package/lib/table-component/table/Grid.js +3 -2
  122. package/lib/table-virtuoso/ColumnsGroup/ColumnsGroup.js +3 -4
  123. package/lib/table-virtuoso/header/TableHeadCell.js +4 -5
  124. package/lib/table-virtuoso/hook/utils.d.ts +1 -1
  125. package/lib/table-virtuoso/table/Grid.js +2 -2
  126. package/lib/table-virtuoso/table/TableContainer.js +1 -1
  127. package/lib/table-virtuoso/table/TableWrapper.d.ts +1 -2
  128. package/lib/table-virtuoso/table/TableWrapper.js +2 -0
  129. package/package.json +2 -3
  130. /package/es/{datepicker → datePicker}/index.d.ts +0 -0
  131. /package/es/{datepicker → datePicker}/index.js +0 -0
  132. /package/lib/{datepicker → datePicker}/index.d.ts +0 -0
  133. /package/lib/{datepicker → datePicker}/index.js +0 -0
@@ -1,7 +1,7 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import React, { useContext } from "react";
3
3
  import { DatePicker, TimePicker, ColorPicker, Input } from "rc-master-ui";
4
- import { Divider, Row, Col, Button } from "antd";
4
+ import { Divider, Row, Col, Button } from "rc-master-ui";
5
5
  import { checkDecimalSeparator, checkThousandSeparator, checkFieldKey, convertArrayWithIndent, convertDateToDayjs, convertLabelToTitle, getDatepickerFormat, isDisable, isEmpty, isNullOrUndefined, customWeekStartEndFormat, convertDayjsToDate, parseBooleanToValue, isColor, genPresets, getFormat, removeVietnameseTones, getDateValueType } from "../hook/utils";
6
6
  import classNames from "classnames";
7
7
  import { NumericFormat } from "react-numeric-component";
@@ -71,6 +71,7 @@ const EditableCell = props => {
71
71
  const date = !isEmpty(value) ? convertDateToDayjs(new Date(value), dateFormat) : null;
72
72
  const maxDate = convertDateToDayjs(column.maxDate, dateFormat) ?? undefined;
73
73
  const minDate = convertDateToDayjs(column.minDate, dateFormat) ?? undefined;
74
+ const formValues = getValues();
74
75
  const {
75
76
  fieldValue,
76
77
  columns: selectColumns,
@@ -196,41 +197,6 @@ const EditableCell = props => {
196
197
  maxDate: maxDate,
197
198
  minDate: minDate
198
199
  // mode="date"
199
-
200
- // onChange={(newDate, dateString) => {
201
-
202
- // const newDateValue = dateString ? moment(convertDayjsToDate(dateString as string, dateFormat)).format() : null
203
-
204
- // onChange(newDateValue)
205
-
206
- // setTimeout(() => {
207
- // // @ts-ignore
208
- // dateTimePickerRef.current?.focus()
209
- // }, 0)
210
-
211
- // }}
212
-
213
- // onBlur={() => {
214
- // const formState = getValues()
215
- // const itemState = getValues(dataIndex)
216
- // // @ts-ignore
217
- // const prevState = record[dataIndex]
218
- // const newState = itemState
219
-
220
- // if (prevState !== newState) {
221
- // handleCellChange?.({
222
- // key: key as any,
223
- // field: column.field ?? column.field as any,
224
- // record: formState,
225
- // prevState,
226
- // newState,
227
- // option: newState,
228
- // indexCol,
229
- // indexRow,
230
- // type: 'blur'
231
- // })
232
- // }
233
- // }}
234
200
  ,
235
201
 
236
202
  popupClassName: 'be-popup-container',
@@ -238,8 +204,10 @@ const EditableCell = props => {
238
204
  "data-tooltip-content": message,
239
205
  "data-tooltip-id": `${id}-tooltip-error`,
240
206
  autoFocus: column.field === startCell?.colId,
241
- defaultOpen: column.field === startCell?.colId,
242
- needConfirm: false,
207
+ defaultOpen: column.field === startCell?.colId
208
+ // needConfirm={true}
209
+ ,
210
+
243
211
  onCalendarChange: (newDate, dateString) => {
244
212
  const newDateValue = dateString ? moment(convertDayjsToDate(dateString, dateFormat)).format() : null;
245
213
  onChange(newDateValue);
@@ -499,10 +467,10 @@ const EditableCell = props => {
499
467
  align: colSelect.textAlign
500
468
  };
501
469
  });
502
- let valueSelectTable = value;
470
+ let valueSelectTable = formValues[dataIndex];
503
471
  if (fieldValue) {
504
472
  // @ts-ignore
505
- valueSelectTable = record[fieldValue] ?? value;
473
+ valueSelectTable = record[fieldValue] ?? formValues[dataIndex];
506
474
  }
507
475
  return /*#__PURE__*/React.createElement(AsyncTableSelect, {
508
476
  columns: columnsTable,
@@ -511,17 +479,19 @@ const EditableCell = props => {
511
479
  value: valueSelectTable ?? undefined,
512
480
  autoDestroy: true,
513
481
  onChange: (val, option) => {
514
- onChange(val);
482
+ onChange(val ?? '');
515
483
  const formState = getValues();
516
- // const itemState = getValues(dataIndex)
484
+ const formNewState = {
485
+ ...getValues(),
486
+ [dataIndex]: formState[dataIndex] || undefined
487
+ };
517
488
  // @ts-ignore
518
- const prevState = record[dataIndex];
519
- const newState = val;
489
+ const prevState = record[dataIndex] ?? undefined;
490
+ const newState = val ?? undefined;
520
491
  handleCellChange?.({
521
- // @ts-ignore
522
- key: record[rowKey],
492
+ key,
523
493
  field: column.field ?? column.field,
524
- record: formState,
494
+ record: formNewState,
525
495
  prevState,
526
496
  newState,
527
497
  option: option,
@@ -584,82 +554,90 @@ const EditableCell = props => {
584
554
  fieldNames: fieldNames ? fieldNames : {
585
555
  value: keySelect,
586
556
  label: inputKey ?? 'label'
587
- },
588
- onBlur: event => {
589
- if (event.inputValue && column?.editSelectSettings?.searchTextAsValue && isMulti !== true) {
590
- const val = event.inputValue;
591
- onChange(val ?? undefined);
592
- const formState = getValues();
593
- // const itemState = getValues(dataIndex)
594
- // @ts-ignore
595
- const prevState = record[dataIndex];
596
- const newState = val;
597
- handleCellChange?.({
598
- key,
599
- field: column.field ?? column.field,
600
- record: formState,
601
- prevState,
602
- newState,
603
- option: {
604
- value: val,
605
- label: val,
606
- searchTextAsValue: true
607
- },
608
- indexCol,
609
- indexRow,
610
- type: 'blur'
611
- });
612
- }
613
- },
614
- onKeyDown: event => {
615
- if (event.key === 'Enter' && event.target?.value && column?.editSelectSettings?.searchTextAsValue && isMulti !== true) {
616
- const val = event.target.value;
617
- onChange(val);
618
- const formState = getValues();
619
- // const itemState = getValues(dataIndex)
620
- // @ts-ignore
621
- const prevState = record[dataIndex];
622
- const newState = val;
623
- handleCellChange?.({
624
- key,
625
- field: column.field ?? column.field,
626
- record: formState,
627
- prevState,
628
- newState,
629
- option: {
630
- value: val,
631
- label: val,
632
- searchTextAsValue: true
633
- },
634
- indexCol,
635
- indexRow,
636
- type: 'blur'
637
- });
638
- }
639
- },
557
+ }
558
+
559
+ // onBlur={(event: any) => {
560
+
561
+ // if (event.inputValue && column?.editSelectSettings?.searchTextAsValue && isMulti !== true) {
562
+ // const val = event.inputValue
563
+ // onChange(val ?? undefined)
564
+
565
+ // const formState = getValues()
566
+ // // const itemState = getValues(dataIndex)
567
+ // // @ts-ignore
568
+ // const prevState = record[dataIndex]
569
+ // const newState = val
570
+
571
+ // handleCellChange?.({
572
+ // key,
573
+ // field: column.field ?? column.field as any,
574
+ // record: formState,
575
+ // prevState,
576
+ // newState,
577
+ // option: { value: val, label: val, searchTextAsValue: true } as any,
578
+ // indexCol,
579
+ // indexRow,
580
+ // type: 'blur'
581
+ // })
582
+ // }
583
+ // }}
584
+
585
+ // onKeyDown={(event: any) => {
586
+
587
+ // if (event.key === 'Enter' && event.target?.value && column?.editSelectSettings?.searchTextAsValue && isMulti !== true) {
588
+
589
+ // const val = event.target.value
590
+ // onChange(val)
591
+
592
+ // const formState = getValues()
593
+ // // const itemState = getValues(dataIndex)
594
+ // // @ts-ignore
595
+ // const prevState = record[dataIndex]
596
+ // const newState = val
597
+
598
+ // handleCellChange?.({
599
+ // key,
600
+ // field: column.field ?? column.field as any,
601
+ // record: formState,
602
+ // prevState,
603
+ // newState,
604
+ // option: { value: val, label: val, searchTextAsValue: true } as any,
605
+ // indexCol,
606
+ // indexRow,
607
+ // type: 'blur'
608
+ // })
609
+
610
+ // }
611
+
612
+ // }}
613
+ ,
614
+
640
615
  "data-tooltip-content": message,
641
616
  "data-tooltip-id": `${id}-tooltip-error`
642
617
  });
643
618
  case 'select':
644
- let valueSelect = value;
619
+ let valueSelect = formValues[dataIndex];
645
620
  if (fieldValue) {
646
621
  // @ts-ignore
647
- valueSelect = record[fieldValue] ?? value;
622
+ valueSelect = record[fieldValue] ?? formValues[dataIndex];
648
623
  }
649
624
  return /*#__PURE__*/React.createElement(Select, {
650
625
  options: options,
651
- value: valueSelect ?? undefined,
626
+ value: valueSelect ?? '',
652
627
  onChange: (val, option) => {
653
- onChange(val);
628
+ onChange(val ?? '');
654
629
  const formState = getValues();
655
- // const itemState = getValues(dataIndex)
630
+ const formNewState = {
631
+ ...getValues(),
632
+ [dataIndex]: formState[dataIndex] || undefined
633
+ };
656
634
  // @ts-ignore
657
- const prevState = record[dataIndex];
658
- const newState = val;
635
+ const prevState = record[dataIndex] ?? undefined;
636
+ const newState = val ?? undefined;
659
637
  handleCellChange?.({
660
638
  key,
661
639
  field: column.field ?? column.field,
662
- record: formState,
640
+ record: formNewState,
663
641
  prevState,
664
642
  newState,
665
643
  option: option,
@@ -667,8 +645,11 @@ const EditableCell = props => {
667
645
  indexRow,
668
646
  type: 'blur'
669
647
  });
670
- },
671
- autoDestroy: true,
648
+ }
649
+ // destroyOnHidden
650
+ // des
651
+ // autoDestroy={true}
652
+ ,
672
653
  showSearch: true,
673
654
  mode: isMulti || selectMode === 'checkbox' ? 'multiple' : undefined,
674
655
  valueSelectAble: true,
@@ -778,26 +759,29 @@ const EditableCell = props => {
778
759
  "data-tooltip-id": `${id}-tooltip-error`
779
760
  });
780
761
  case 'asyncSelect':
781
- let valueAsyncSelect = value;
762
+ let valueAsyncSelect = formValues[dataIndex];
782
763
  if (fieldValue) {
783
764
  // @ts-ignore
784
- valueAsyncSelect = record[fieldValue] ?? value;
765
+ valueAsyncSelect = record[fieldValue] ?? formValues[dataIndex];
785
766
  }
786
767
  return /*#__PURE__*/React.createElement(AsyncSelect, {
787
768
  options: options,
788
769
  defaultOptions: options,
789
770
  value: valueAsyncSelect ?? undefined,
790
771
  onChange: (val, option) => {
791
- onChange(val);
772
+ onChange(val ?? '');
792
773
  const formState = getValues();
793
- // const itemState = getValues(dataIndex)
774
+ const formNewState = {
775
+ ...getValues(),
776
+ [dataIndex]: formState[dataIndex] || undefined
777
+ };
794
778
  // @ts-ignore
795
- const prevState = record[dataIndex];
796
- const newState = val;
779
+ const prevState = record[dataIndex] ?? undefined;
780
+ const newState = val ?? undefined;
797
781
  handleCellChange?.({
798
782
  key,
799
783
  field: column.field ?? column.field,
800
- record: formState,
784
+ record: formNewState,
801
785
  prevState,
802
786
  newState,
803
787
  option: option,
@@ -805,8 +789,9 @@ const EditableCell = props => {
805
789
  indexRow,
806
790
  type: 'blur'
807
791
  });
808
- },
809
- autoDestroy: true,
792
+ }
793
+ // autoDestroy={true}
794
+ ,
810
795
  showSearch: true,
811
796
  defaultOpen: column.field === startCell?.colId,
812
797
  autoFocus: column.field === startCell?.colId,
@@ -1311,7 +1311,7 @@ const TableBodyCellEdit = props => {
1311
1311
  // rowKey={rowKey}
1312
1312
  }) : /*#__PURE__*/React.createElement("div", {
1313
1313
  className: classNames('ui-rc_cell-content', {
1314
- 'select-cell': canEdit && ['select', 'selectTable', 'asyncSelect'].includes(getEditType(columnMeta, record))
1314
+ 'select-cell': canEdit && ['select', 'selectTable', 'asyncSelect', 'treeSelect'].includes(getEditType(columnMeta, record))
1315
1315
  })
1316
1316
  }, cell.column.getIndex() === expandIconColumnIndex && isDataTree && /*#__PURE__*/React.createElement("div", {
1317
1317
  className: "ui-rc-table-row-expand-trigger",
@@ -59,17 +59,12 @@ const TableBodyRow = ({
59
59
  [`${prefix}-grid-row-even`]: striped && virtualRow.index % 2 === 0
60
60
  }),
61
61
  style: {
62
- // display: 'flex',
63
62
  display: 'grid',
64
- // position: 'absolute',
65
63
  transform: `translateY(${virtualRow.start}px)`,
66
64
  //this should always be a `style` as it changes on scroll
67
- // height: isEditing ? '36px' : undefined,
68
65
  gridTemplateColumns: `${templateColumns.map(n => `${n}fr`).join(" ")}`,
69
66
  height: isEditing ? virtualRow.size : undefined,
70
67
  minHeight: isEditing ? undefined : virtualRow.size,
71
- // backgroundColor: Array.isArray(row.originalSubRows) ? '#f5f5f5' : undefined,
72
- // fontWeight: Array.isArray(row.originalSubRows) ? '500' : undefined,
73
68
  ...rowStyles
74
69
  },
75
70
  onDoubleClick: e => {
@@ -4,10 +4,7 @@ import { useForm } from "react-hook-form";
4
4
  import { yupResolver } from "@hookform/resolvers/yup";
5
5
  import { Col, Row } from "rc-master-ui/es/grid";
6
6
  import { isNullOrUndefined, isObjEmpty } from "../../hook/utils";
7
- import { Input } from "rc-master-ui";
8
- import { Dropdown } from "antd";
9
- import Divider from "rc-master-ui/es/divider";
10
- import Button from "rc-master-ui/es/button";
7
+ import { Input, Dropdown, Divider, Button } from "rc-master-ui";
11
8
  import InputControl from "../InputControl/InputControl";
12
9
  export const SelectStyle = styled.div.withConfig({
13
10
  displayName: "SelectStyle",
@@ -1,7 +1,7 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import { Controller } from "react-hook-form";
3
3
  import { Input } from "rc-master-ui";
4
- import { Typography } from "antd";
4
+ import { Typography } from "rc-master-ui";
5
5
  import classnames from "classnames";
6
6
  import React, { Fragment } from "react";
7
7
  import { Col, Row } from "rc-master-ui/es/grid";
@@ -1,7 +1,6 @@
1
1
  import * as React from "react";
2
2
  import classNames from "classnames";
3
- import { Checkbox, Menu, Radio, Empty } from "rc-master-ui";
4
- import { Tree } from "antd";
3
+ import { Checkbox, Menu, Radio, Empty, Tree } from "rc-master-ui";
5
4
  import { flattenKeys } from "rc-master-ui/es/table/hooks/useFilter";
6
5
  import FilterSearch from "./FilterSearch";
7
6
  function searchValueMatched(searchValue, text) {
@@ -1,6 +1,6 @@
1
1
  import * as React from 'react';
2
- import type { FilterSearchType, TableLocale } from "antd/es/table/interface";
3
2
  import type { AnyObject } from '../../../grid-component/type';
3
+ import type { FilterSearchType, TableLocale } from 'rc-master-ui/es/table/interface';
4
4
  interface FilterSearchProps<RecordType = AnyObject> {
5
5
  value: string;
6
6
  onChange: (e: React.ChangeEvent<HTMLInputElement>) => void;
@@ -1,7 +1,9 @@
1
1
  import * as React from 'react';
2
2
  import SearchOutlined from '@ant-design/icons/SearchOutlined';
3
3
  import { Input } from 'rc-master-ui';
4
+ // import type {FilterSearchType, TableLocale} from "antd/es/table/interface"
4
5
 
6
+ // import type { TableLocale } from 'rc-master-ui/es/locales';
5
7
  // import type {AnyObject} from "./../grid-component/type"
6
8
 
7
9
  const FilterSearch = props => {
@@ -9,8 +11,8 @@ const FilterSearch = props => {
9
11
  value,
10
12
  filterSearch,
11
13
  tablePrefixCls,
12
- locale,
13
- onChange
14
+ onChange,
15
+ locale
14
16
  } = props;
15
17
  if (!filterSearch) {
16
18
  return null;
@@ -1,5 +1,5 @@
1
1
  import React, { useContext } from 'react';
2
- import { Button, Space } from 'antd';
2
+ import { Button, Space } from 'rc-master-ui';
3
3
  import { ArrowDown, ArrowUp, FilterFill, SortCancel } from 'becoxy-icons';
4
4
  import classNames from 'classnames';
5
5
  import { Checkbox, Dropdown, Select } from 'rc-master-ui';
@@ -1,5 +1,5 @@
1
1
  import React, { useContext } from 'react';
2
- import { Space } from 'antd';
2
+ import { Space } from 'rc-master-ui';
3
3
  import Button from 'rc-master-ui/es/button';
4
4
  import { ArrowDown, ArrowUp, FilterFill, SortCancel } from 'becoxy-icons';
5
5
  import classNames from 'classnames';
@@ -1,4 +1,5 @@
1
- import { horizontalListSortingStrategy, SortableContext } from '@dnd-kit/sortable';
1
+ // import { horizontalListSortingStrategy, SortableContext } from '@dnd-kit/sortable'
2
+
2
3
  import React from 'react';
3
4
  import { TableContext } from "../useContext";
4
5
  import TableHeadCell from "./TableHeadCell";
@@ -11,7 +12,9 @@ const TableHeadRow = ({
11
12
  prefix,
12
13
  onRowHeaderStyles
13
14
  } = React.useContext(TableContext);
14
- const columnOrder = table.getState().columnOrder;
15
+
16
+ // const columnOrder = table.getState().columnOrder
17
+
15
18
  const rowStyles = typeof onRowHeaderStyles === 'function' ? onRowHeaderStyles() : onRowHeaderStyles;
16
19
  return /*#__PURE__*/React.createElement("div", {
17
20
  key: headerGroup.id
@@ -26,9 +29,6 @@ const TableHeadRow = ({
26
29
  ...rowStyles,
27
30
  width: '100%'
28
31
  }
29
- }, /*#__PURE__*/React.createElement(SortableContext, {
30
- items: columnOrder,
31
- strategy: horizontalListSortingStrategy
32
32
  }, headerGroup.headers.map(header => {
33
33
  const columnRelativeDepth = header.depth - header.column.depth;
34
34
  if (columnRelativeDepth > 1) {
@@ -47,6 +47,6 @@ const TableHeadRow = ({
47
47
  colSpan: header.colSpan,
48
48
  rowSpan: rowSpan
49
49
  });
50
- })));
50
+ }));
51
51
  };
52
52
  export default TableHeadRow;
@@ -1,13 +1,13 @@
1
1
  import type { Row, Table } from "@tanstack/react-table";
2
2
  import type { Column } from "@tanstack/react-table";
3
3
  import type { VirtualItem } from "@tanstack/react-virtual";
4
- import type { AnyObject, ColumnsTable, ColumnTable, EditType, FilterItem, FilterOperator, IColumnType, IFormat, RangeState, Sorter, TypeFilter } from "./../../grid-component/type";
4
+ import type { AnyObject, ColumnsTable, ColumnTable, EditType, FilterItem, FilterOperator, IColumnType, IFormat, RangeState, RowDnd, Sorter, TypeFilter } from "./../../grid-component/type";
5
5
  import type { Key } from "react";
6
6
  import type { CSSProperties } from "react";
7
7
  import dayjs from "dayjs";
8
8
  import type { IPositionCell } from "../useContext";
9
9
  import type { ColumnDef } from "@tanstack/react-table";
10
- import type { TreeDataNode } from "antd";
10
+ import type { TreeDataNode } from "rc-master-ui";
11
11
  import type { FilterState } from "../../ali-table/interfaces";
12
12
  export declare const newGuid: () => any;
13
13
  export declare const convertDayjsToDate: (dateString: string, format?: string) => Date;
@@ -136,7 +136,7 @@ export declare const getVisibleColumnKeys: (columns: any[]) => string[];
136
136
  export declare const getVisibleColumnKeys1: (columns: any[]) => string[];
137
137
  export declare function getVisibleFields(columns: ColumnTable[]): string[];
138
138
  export declare function isObjEqual(obj1: any, obj2: any): boolean;
139
- export declare const sortByType: <T>(arr: ColumnTable<T>[]) => ColumnTable<T>[];
139
+ export declare const sortByType: <T>(arr: ColumnTable<T>[], rowDnd?: RowDnd) => ColumnTable<T>[];
140
140
  export declare function convertColumnsToTreeData<T>(columns: ColumnDef<T, any>[], groupColumns?: string[]): TreeDataNode[];
141
141
  export declare const updateColumns1: (columns: ColumnTable[], includes: string[]) => ColumnTable[];
142
142
  export declare const convertToObj: (arr: any) => {
@@ -2243,9 +2243,21 @@ export function isObjEqual(obj1, obj2) {
2243
2243
  }
2244
2244
 
2245
2245
  // Sorting function
2246
- export const sortByType = arr => {
2247
- if (arr) {
2248
- return arr.sort((a, b) => {
2246
+ export const sortByType = (arr, rowDnd) => {
2247
+ const colDnd = {
2248
+ field: 'drag-handle',
2249
+ width: 50,
2250
+ fixed: 'left',
2251
+ headerText: '',
2252
+ allowFiltering: false,
2253
+ allowResizing: false,
2254
+ allowSortering: false
2255
+ };
2256
+ const cols = rowDnd?.enabled ? [{
2257
+ ...colDnd
2258
+ }, ...arr] : [...arr];
2259
+ if (cols) {
2260
+ return cols.sort((a, b) => {
2249
2261
  if ((a.fixed ?? a.fixedType) === 'left' && (b.fixed ?? b.fixedType) !== 'left') {
2250
2262
  return -1;
2251
2263
  } else if ((a.fixed ?? a.fixedType) !== 'left' && (b.fixed ?? b.fixedType) === 'left') {
@@ -2397,7 +2409,19 @@ export function updateColumnWidthsRecursive(columns, sizing) {
2397
2409
  return updated;
2398
2410
  });
2399
2411
  }
2400
- export function updateWidthsByOther(source, target) {
2412
+ export function updateWidthsByOther(source, target
2413
+ // rowDnd?: RowDnd
2414
+ ) {
2415
+ // const columnDnd = {
2416
+ // field: 'drag-handle',
2417
+ // headerText: '',
2418
+ // fixed: 'left',
2419
+ // width: 50
2420
+ // }
2421
+
2422
+ // const tg = rowDnd?.enabled ? [{...columnDnd}, ...target] : [...target]
2423
+ // const sour = rowDnd?.enabled ? [{...columnDnd}, ...source] : [...source]
2424
+
2401
2425
  const targetMap = new Map();
2402
2426
 
2403
2427
  // tạo map {field -> width} từ target
@@ -1,6 +1,6 @@
1
1
  import styled from 'styled-components';
2
2
  // const prefix = "ui-rc";
3
- // const antdPrefix = "ant";
3
+ // const rcUiPrefix = "ant";
4
4
  const fontFamily = 'Montserrat, Helvetica, Arial, serif ';
5
5
  // const borderRadius = "6px";
6
6
 
@@ -48,4 +48,4 @@ const colorDark = '#e6e4f3e6 ';
48
48
  export const GridStyle = styled.div.withConfig({
49
49
  displayName: "GridStyle",
50
50
  componentId: "es-grid-template__sc-hdqm5k-0"
51
- })(["&.", "-grid{color:", ";font-size:", ";background-color:", ";font-family:", ";&.", "-grid-editable{.", "-grid-container{.", "-grid-tbody{.", "-grid-row{background-color:", ";color:", ";&.", "-grid-row-parent{background-color:#ffffff;font-weight:500;}}}}}table{table-layout:fixed;border-collapse:separate;border-spacing:0;}.", "-grid-container{border:1px solid ", ";border-right:0;&::after{position:absolute;top:0px;right:0;z-index:1;height:100%;border-right:1px solid ", ";content:'';pointer-events:none;}.", "-grid-cell{padding:5px 8px;&.", "-grid-cell-text-center{text-align:center;justify-content:center;}&.", "-grid-cell-text-right{justify-content:flex-end;text-align:right;}&.", "-grid-cell-ellipsis{.ui-rc_cell-content{width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;word-break:keep-all;&.select-cell{padding-right:18px;position:relative;}.caret-down{float:right;position:absolute;right:0;&::before{content:'';display:inline-block;margin-left:4px;vertical-align:middle;width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid #6f7777;}}}}&.", "-grid-cell-wrap{white-space:normal;text-overflow:ellipsis;word-break:break-word;}.", "-grid-header-text-wrap{white-space:normal;overflow:hidden;text-overflow:ellipsis;word-break:break-word;}}.", "-grid-thead{background-color:", ";font-weight:", ";.", "-grid-cell{font-weight:inherit;color:", ";background-color:inherit;border-inline-end:1px solid ", ";border-bottom:1px solid ", ";&.ui-rc-grid-cell-ellipsis{.ui-rc-table-column-title,.", "-grid-cell-ellipsis{width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;word-break:keep-all;}}&.ui-rc-grid-cell-wrap{.ui-rc-table-column-title,.", "-grid-cell-text-wrap{white-space:normal;word-break:break-word;overflow:hidden;}}&:hover{.ui-rc-header-trigger{.ui-rc-table-column-sorter-cancel{opacity:1;}}}.", "-grid-filter-column{display:flex;justify-content:space-between;width:100%;align-items:center;position:relative;z-index:3;}.ui-rc-header-trigger{padding-left:6px;display:flex;align-items:center;.ui-rc-table-column-sorter-cancel{opacity:0;}}.resizer{cursor:col-resize;height:100%;position:absolute;right:0;top:0;z-index:3;touch-action:none;user-select:none;width:5px;}.resizer.isResizing{opacity:1;}}}.", "-grid-tbody{.", "-grid-row{font-weight:", ";background-color:", ";color:", ";&.", "-grid-row-odd{background-color:#f9f8fd;}&.", "-grid-row-even{}&.", "-grid-row-parent{background-color:#f5f5f5;font-weight:500;}}}.", "-grid-tfoot{.", "-grid-footer-row{border-bottom-width:1px;border-bottom-color:", ";border-bottom-style:solid;border-top-width:1px;border-top-color:", ";border-top-style:solid;background-color:#fafafa;}.", "-grid-cell{background-color:inherit;border-inline-end:1px solid ", ";}}}&.", "-grid-dark{background-color:", ";color:", ";.", "-grid-container{border-color:", ";&::after{border-right-color:", ";}}}.ui-rc-toolbar-bottom{border-right:1px solid #e0e0e0;border-left:1px solid #e0e0e0;.be-toolbar-item{.ui-rc-btn{font-size:12px;line-height:1.5}.toolbar-dropdown-button{font-size:12px;.ui-rc-btn.ui-rc-btn-default.ui-rc-btn-variant-outlined.ui-rc-btn-compact-item.ui-rc-btn-compact-first-item{border-color:#28c76f;}.ui-rc-btn.ui-rc-btn-default.ui-rc-btn-variant-outlined.ui-rc-btn-compact-item.ui-rc-btn-compact-last-item{border-color:#28c76f;.ui-rc-btn-icon{color:#28c76f;}}}}}.ui-rc-toolbar-bottom_border-bottom{border-bottom:1px solid #e0e0e0;}.ui-rc-toolbar-bottom{position:relative;padding:.15rem 0.5rem;background-color:#ffffff;.toolbar-button{border-radius:3px;}.ui-rc-btn{border-radius:3px;height:28px;&.ui-rc-btn-compact-item.ui-rc-btn-compact-last-item{border-start-start-radius:0;border-end-start-radius:0;}&.ui-rc-btn-compact-item.ui-rc-btn-compact-first-item{border-start-end-radius:0;border-end-end-radius:0;}}}}"], props => props.$prefix, color, fontSize, BgColor, fontFamily, props => props.$prefix, props => props.$prefix, props => props.$prefix, props => props.$prefix, props => `${props.$theme.backgroundColor ? props.$theme.backgroundColor : BgColor}`, props => `${props.$theme.color ? props.$theme.color : color}`, props => props.$prefix, props => props.$prefix, tableBorderColor, tableBorderColor, props => props.$prefix, props => props.$prefix, props => props.$prefix, props => props.$prefix, props => props.$prefix, props => props.$prefix, props => props.$prefix, props => `${props.$theme.backgroundColor ? props.$theme.backgroundColor : BgColor}`, fwHeader, props => props.$prefix, props => `${props.$theme.color ? props.$theme.color : color}`, tableBorderColor, tableBorderColor, props => props.$prefix, props => props.$prefix, props => props.$prefix, props => props.$prefix, props => props.$prefix, fwBody, props => `${props.$theme.backgroundColor ? props.$theme.backgroundColor : BgColor}`, props => `${props.$theme.color ? props.$theme.color : color}`, props => props.$prefix, props => props.$prefix, props => props.$prefix, props => props.$prefix, props => props.$prefix, tableBorderColor, tableBorderColor, props => props.$prefix, tableBorderColor, props => props.$prefix, BgColorDark, colorDark, props => props.$prefix, tableBorderColorDark, tableBorderColorDark);
51
+ })(["&.", "-grid{color:", ";font-size:", ";background-color:", ";font-family:", ";&.", "-grid-editable{.", "-grid-container{.", "-grid-tbody{.", "-grid-row{background-color:", ";color:", ";&.", "-grid-row-parent{background-color:#ffffff;font-weight:500;}}}}}table{table-layout:fixed;border-collapse:separate;border-spacing:0;}.", "-grid-container{border:1px solid ", ";border-right:0;&::after{position:absolute;top:0px;right:0;z-index:1;height:100%;border-right:1px solid ", ";content:'';pointer-events:none;}.", "-grid-cell{padding:5px 8px;&.", "-grid-cell-text-center{text-align:center;justify-content:center;}&.", "-grid-cell-text-right{justify-content:flex-end;text-align:right;}&.editable{.ui-rc_cell-content{height:100%}}&.", "-grid-cell-ellipsis{.ui-rc_cell-content{width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;word-break:keep-all;&.select-cell{padding-right:18px;position:relative;}.caret-down{float:right;position:absolute;right:0;&::before{content:'';display:inline-block;margin-left:4px;vertical-align:middle;width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid #6f7777;}}}}&.", "-grid-cell-wrap{white-space:normal;text-overflow:ellipsis;word-break:break-word;}.", "-grid-header-text-wrap{white-space:normal;overflow:hidden;text-overflow:ellipsis;word-break:break-word;}}.", "-grid-thead{background-color:", ";font-weight:", ";.", "-grid-cell{font-weight:inherit;color:", ";background-color:inherit;border-inline-end:1px solid ", ";border-bottom:1px solid ", ";&.ui-rc-grid-cell-ellipsis{.ui-rc-table-column-title,.", "-grid-cell-ellipsis{width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;word-break:keep-all;}}&.ui-rc-grid-cell-wrap{.ui-rc-table-column-title,.", "-grid-cell-text-wrap{white-space:normal;word-break:break-word;overflow:hidden;}}&:hover{.ui-rc-header-trigger{.ui-rc-table-column-sorter-cancel{opacity:1;}}}.", "-grid-filter-column{display:flex;justify-content:space-between;width:100%;align-items:center;position:relative;z-index:3;}.ui-rc-header-trigger{padding-left:6px;display:flex;align-items:center;.ui-rc-table-column-sorter-cancel{opacity:0;}}.resizer{cursor:col-resize;height:100%;position:absolute;right:0;top:0;z-index:3;touch-action:none;user-select:none;width:5px;}.resizer.isResizing{opacity:1;}}}.", "-grid-tbody{.", "-grid-row{font-weight:", ";background-color:", ";color:", ";&.", "-grid-row-odd{background-color:#f9f8fd;}&.", "-grid-row-even{}&.", "-grid-row-parent{background-color:#f5f5f5;font-weight:500;}}}.", "-grid-tfoot{.", "-grid-footer-row{border-bottom-width:1px;border-bottom-color:", ";border-bottom-style:solid;border-top-width:1px;border-top-color:", ";border-top-style:solid;background-color:#fafafa;}.", "-grid-cell{background-color:inherit;border-inline-end:1px solid ", ";}}}&.", "-grid-dark{background-color:", ";color:", ";.", "-grid-container{border-color:", ";&::after{border-right-color:", ";}}}.ui-rc-toolbar-bottom{border-right:1px solid #e0e0e0;border-left:1px solid #e0e0e0;.be-toolbar-item{.ui-rc-btn{font-size:12px;line-height:1.5}.toolbar-dropdown-button{font-size:12px;.ui-rc-btn.ui-rc-btn-default.ui-rc-btn-variant-outlined.ui-rc-btn-compact-item.ui-rc-btn-compact-first-item{border-color:#28c76f;}.ui-rc-btn.ui-rc-btn-default.ui-rc-btn-variant-outlined.ui-rc-btn-compact-item.ui-rc-btn-compact-last-item{border-color:#28c76f;.ui-rc-btn-icon{color:#28c76f;}}}}}.ui-rc-toolbar-bottom_border-bottom{border-bottom:1px solid #e0e0e0;}.ui-rc-toolbar-bottom{position:relative;padding:.15rem 0.5rem;background-color:#ffffff;.toolbar-button{border-radius:3px;}.ui-rc-btn{border-radius:3px;height:28px;&.ui-rc-btn-compact-item.ui-rc-btn-compact-last-item{border-start-start-radius:0;border-end-start-radius:0;}&.ui-rc-btn-compact-item.ui-rc-btn-compact-first-item{border-start-end-radius:0;border-end-end-radius:0;}}}}"], props => props.$prefix, color, fontSize, BgColor, fontFamily, props => props.$prefix, props => props.$prefix, props => props.$prefix, props => props.$prefix, props => `${props.$theme.backgroundColor ? props.$theme.backgroundColor : BgColor}`, props => `${props.$theme.color ? props.$theme.color : color}`, props => props.$prefix, props => props.$prefix, tableBorderColor, tableBorderColor, props => props.$prefix, props => props.$prefix, props => props.$prefix, props => props.$prefix, props => props.$prefix, props => props.$prefix, props => props.$prefix, props => `${props.$theme.backgroundColor ? props.$theme.backgroundColor : BgColor}`, fwHeader, props => props.$prefix, props => `${props.$theme.color ? props.$theme.color : color}`, tableBorderColor, tableBorderColor, props => props.$prefix, props => props.$prefix, props => props.$prefix, props => props.$prefix, props => props.$prefix, fwBody, props => `${props.$theme.backgroundColor ? props.$theme.backgroundColor : BgColor}`, props => `${props.$theme.color ? props.$theme.color : color}`, props => props.$prefix, props => props.$prefix, props => props.$prefix, props => props.$prefix, props => props.$prefix, tableBorderColor, tableBorderColor, props => props.$prefix, tableBorderColor, props => props.$prefix, BgColorDark, colorDark, props => props.$prefix, tableBorderColorDark, tableBorderColorDark);
@@ -1,5 +1,5 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
- import { Modal } from 'antd';
2
+ import { Modal } from 'rc-master-ui';
3
3
  import { faker } from '@faker-js/faker';
4
4
  import { getCoreRowModel, getExpandedRowModel,
5
5
  // getFilteredRowModel,
@@ -277,6 +277,7 @@ const Grid = props => {
277
277
  active,
278
278
  over
279
279
  } = event;
280
+ // column dnd
280
281
  if (active && over && active.id !== over.id) {
281
282
  setColumnOrder(cols => {
282
283
  const oldIndex = cols.indexOf(active.id);
@@ -6,7 +6,7 @@ import React, { useRef, useState } from "react";
6
6
  // // useOnClickOutside
7
7
  // } from "../../hooks"
8
8
 
9
- import { Button, Popover } from "antd";
9
+ import { Button, Popover } from "rc-master-ui";
10
10
  // import {SettingOutlined} from "@ant-design/icons";
11
11
  import { Select } from "rc-master-ui";
12
12
  import styled from "styled-components";
@@ -1,5 +1,5 @@
1
1
  import React, { useContext } from 'react';
2
- import { Button, Space } from 'antd';
2
+ import { Button, Space } from 'rc-master-ui';
3
3
  import { ArrowDown, ArrowUp, FilterFill, SortCancel } from 'becoxy-icons';
4
4
  import classNames from 'classnames';
5
5
  import { Checkbox, Dropdown, Select } from 'rc-master-ui';
@@ -6,7 +6,7 @@ import type { Key } from "react";
6
6
  import type { CSSProperties } from "react";
7
7
  import dayjs from "dayjs";
8
8
  import type { ColumnDef } from "@tanstack/react-table";
9
- import type { TreeDataNode } from "antd";
9
+ import type { TreeDataNode } from "rc-master-ui";
10
10
  import type { IPositionCell } from "../../table-component/useContext";
11
11
  export declare const newGuid: () => any;
12
12
  export declare const convertDayjsToDate: (dateString: string, format?: string) => Date;
@@ -1,5 +1,5 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
- import { Modal } from 'antd';
2
+ import { Modal } from 'rc-master-ui';
3
3
  import { faker } from '@faker-js/faker';
4
4
  import { DndContext, KeyboardSensor, MouseSensor, TouchSensor, closestCenter, useSensor, useSensors } from '@dnd-kit/core';
5
5
  import { restrictToHorizontalAxis } from '@dnd-kit/modifiers';
@@ -113,7 +113,7 @@ const TableContainer = props => {
113
113
  if (!toolbarItems) {
114
114
  return undefined;
115
115
  }
116
- return toolbarItems.filter(it => it.position !== 'Bottom' && it.fixedRight !== false);
116
+ return toolbarItems.filter(it => it.position !== 'Bottom' && it.visible !== false && it.fixedRight !== true);
117
117
  }, [toolbarItems]);
118
118
  const toolbarItemTopRight = React.useMemo(() => {
119
119
  if (!toolbarItems) {