es-grid-template 1.9.58 → 1.9.59

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,9 +1,9 @@
1
1
  import type * as React from "react";
2
2
  import dayjs from "dayjs";
3
- import type { EditType, IColumnType, TypeFilter } from "rc-master-ui";
3
+ import type { TypeFilter } from "rc-master-ui";
4
4
  import type { Key } from "react";
5
5
  import type { ColumnsTable } from "./../index";
6
- import type { AnyObject, ColumnTable, GetRowKey, IFormat } from "../type";
6
+ import type { AnyObject, ColumnTable, EditType, GetRowKey, IColumnType, IFormat } from "../type";
7
7
  export declare const newGuid: () => any;
8
8
  export declare const sumDataByField: (data: any[], field: string) => any;
9
9
  export declare const checkThousandSeparator: (thousandSeparator: string | undefined, decimalSeparator: string | undefined) => string;
@@ -1,18 +1,10 @@
1
1
  import dayjs from "dayjs";
2
- // import type {ColumnTable, GetRowKey, IFormat, Presets} from "./../ type"
3
2
  import moment from "moment/moment";
4
- // import type {SelectionSettings} from "../type"
5
- // import type {AnyObject} from "../type"
6
3
  import { v4 as uuidv4 } from 'uuid';
7
4
  import { presetPalettes } from "@ant-design/colors";
8
- // import {Table} from "rc-master-ui"
9
- // import {flatColumns2} from "./columns"
10
- // import {SELECTION_COLUMN} from "./useColumns"
11
-
12
5
  export const newGuid = () => {
13
6
  for (let i = 0; i < 20; i++) {
14
7
  // @ts-ignore
15
- // const id = crypto.randomUUID()
16
8
  return uuidv4();
17
9
  }
18
10
  };
@@ -94,10 +94,10 @@ export type IFormat = {
94
94
  yearFormat?: string;
95
95
  };
96
96
  export type RowSelectMethod = 'all' | 'none' | 'invert' | 'single' | 'multiple';
97
- export type EditType = 'text' | 'numeric' | 'asyncSelect' | 'date' | 'datetime' | 'time' | 'week' | 'month' | 'quarter' | 'year' | 'select' | 'checkbox' | 'currency' | 'image' | 'selectTable' | 'customSelect' | 'form' | 'color' | 'treeSelect' | 'file';
97
+ export type EditType = 'text' | 'numeric' | 'asyncSelect' | 'date' | 'datetime' | 'time' | 'week' | 'month' | 'quarter' | 'year' | 'select' | 'checkbox' | 'currency' | 'image' | 'selectTable' | 'customSelect' | 'form' | 'color' | 'link' | 'treeSelect' | 'file';
98
98
  export type ITextAlign = 'center' | 'left' | 'right';
99
99
  export type TypeFilter = 'Text' | 'Date' | 'Time' | 'Datetime' | 'DateRange' | 'Month' | 'Quarter' | 'Year' | 'Week' | 'Number' | 'NumberRange' | 'Dropdown' | 'DropTree' | 'Checkbox' | 'CheckboxTree' | 'CheckboxDropdown';
100
- export type IColumnType = 'number' | 'time' | 'date' | 'week' | 'month' | 'file' | 'quarter' | 'year' | 'datetime' | 'string' | 'boolean' | 'checkbox' | 'color' | null | undefined;
100
+ export type IColumnType = 'number' | 'time' | 'date' | 'week' | 'month' | 'file' | 'quarter' | 'year' | 'datetime' | 'string' | 'boolean' | 'checkbox' | 'color' | 'link' | null | undefined;
101
101
  export type FilterOperator = 'equal' | 'notequal' | 'greaterthan' | 'greaterthanorequal' | 'lessthan' | 'lessthanorequal' | 'startswith' | 'endswith' | 'contains';
102
102
  export type FixedType = 'left' | 'right' | boolean;
103
103
  export type SelectMode = 'checkbox' | 'radio' | undefined;
@@ -241,6 +241,7 @@ export type ColumnTable<RecordType = AnyObject> = {
241
241
  textAlign?: ITextAlign;
242
242
  /** Template custom render cell */
243
243
  template?: ReactNode | ReactElement | ((args: ColumnTemplate<RecordType>) => ReactNode | ReactElement);
244
+ linkTemplate?: ReactNode | ReactElement | ((args: ColumnTemplate<RecordType>) => ReactNode | ReactElement);
244
245
  /** Hiển thị tooltip cell */
245
246
  showTooltip?: boolean;
246
247
  /** Nội dung tooltip của cell */
@@ -811,7 +812,7 @@ export type RangeState = {
811
812
  endColIndex: number | undefined;
812
813
  rowIds: string[];
813
814
  colIds: string[];
814
- type?: string;
815
+ type?: any;
815
816
  };
816
817
  export type Sorter = {
817
818
  columnKey: string;
@@ -1,6 +1,5 @@
1
1
  import React from "react";
2
- import type { EditType } from "rc-master-ui";
3
- import type { ColumnTable, IFormat } from "../../grid-component/type";
2
+ import type { ColumnTable, EditType, IFormat } from "../../grid-component/type";
4
3
  interface EditableCellProps<DataType> extends React.HTMLAttributes<HTMLElement> {
5
4
  t?: any;
6
5
  dataIndex: string;
@@ -189,15 +189,16 @@ export declare const fixColumnsLeft: <RecordType>(columns: ColumnTable<RecordTyp
189
189
  align?: import("./../../grid-component/type").ITextAlign;
190
190
  textAlign?: import("./../../grid-component/type").ITextAlign;
191
191
  template?: import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>> | import("react").ReactNode | ((args: import("./../../grid-component/type").ColumnTemplate<RecordType>) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>> | import("react").ReactNode);
192
+ linkTemplate?: import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>> | import("react").ReactNode | ((args: import("./../../grid-component/type").ColumnTemplate<RecordType>) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>> | import("react").ReactNode);
192
193
  showTooltip?: boolean;
193
194
  tooltipDescription?: string | ((args: {
194
195
  value: any;
195
196
  rowData: RecordType;
196
197
  }) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>> | import("react").ReactNode);
197
- onCellStyles?: Omit<CSSProperties, "width" | "minWidth" | "left" | "right" | "position" | "display"> | ((cellValue: any, cell: import("@tanstack/react-table").Cell<RecordType, unknown>) => Omit<CSSProperties, "width" | "minWidth" | "left" | "right" | "position" | "display">);
198
- onCellHeaderStyles?: Omit<CSSProperties, "width" | "minWidth" | "left" | "right" | "position" | "display"> | ((cell: import("@tanstack/react-table").Header<RecordType, unknown>) => Omit<CSSProperties, "width" | "minWidth" | "left" | "right" | "position" | "display">);
198
+ onCellStyles?: Omit<CSSProperties, "position" | "left" | "right" | "display" | "width" | "minWidth"> | ((cellValue: any, cell: import("@tanstack/react-table").Cell<RecordType, unknown>) => Omit<CSSProperties, "position" | "left" | "right" | "display" | "width" | "minWidth">);
199
+ onCellHeaderStyles?: Omit<CSSProperties, "position" | "left" | "right" | "display" | "width" | "minWidth"> | ((cell: import("@tanstack/react-table").Header<RecordType, unknown>) => Omit<CSSProperties, "position" | "left" | "right" | "display" | "width" | "minWidth">);
199
200
  onCell?: (rowData: RecordType, index: number) => import("react").TdHTMLAttributes<HTMLTableCellElement>;
200
- onCellFooterStyles?: Omit<CSSProperties, "width" | "minWidth" | "left" | "right" | "position" | "display"> | ((cellValue: any, cell: import("@tanstack/react-table").Header<RecordType, unknown>) => Omit<CSSProperties, "width" | "minWidth" | "left" | "right" | "position" | "display">);
201
+ onCellFooterStyles?: Omit<CSSProperties, "position" | "left" | "right" | "display" | "width" | "minWidth"> | ((cellValue: any, cell: import("@tanstack/react-table").Header<RecordType, unknown>) => Omit<CSSProperties, "position" | "left" | "right" | "display" | "width" | "minWidth">);
201
202
  getValue?: (row: any, rowIndex: number) => any;
202
203
  getCellProps?: (value: any, row: any, rowIndex: number) => import("./../../grid-component/type").CellProps;
203
204
  headerCellProps?: import("./../../grid-component/type").CellProps;
@@ -1,6 +1,5 @@
1
1
  import React from "react";
2
- import type { EditType } from "rc-master-ui";
3
- import type { ColumnTable, IFormat } from "../../grid-component/type";
2
+ import type { ColumnTable, EditType, IFormat } from "../../grid-component/type";
4
3
  import type { Column } from "@tanstack/react-table";
5
4
  interface EditableCellProps<DataType> extends React.HTMLAttributes<HTMLElement> {
6
5
  t?: any;
@@ -2,6 +2,8 @@ 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
4
  import { Divider, Row, Col, Button } from "rc-master-ui";
5
+ // import type { EditType } from "rc-master-ui"
6
+
5
7
  import { checkDecimalSeparator, checkThousandSeparator, checkFieldKey, convertArrayWithIndent, convertDateToDayjs, convertLabelToTitle, getDatepickerFormat, isDisable, isEmpty, isNullOrUndefined, customWeekStartEndFormat, convertDayjsToDate, parseBooleanToValue, isColor, genPresets, getFormat, removeVietnameseTones, getDateValueType } from "../hook/utils";
6
8
  import classNames from "classnames";
7
9
  import { NumericFormat } from "react-numeric-component";
@@ -483,7 +485,7 @@ const EditableCell = props => {
483
485
  const formState = getValues();
484
486
  const formNewState = {
485
487
  ...getValues(),
486
- [dataIndex]: formState[dataIndex] || undefined
488
+ [dataIndex]: !isNullOrUndefined(formState[dataIndex]) ? formState[dataIndex] : undefined
487
489
  };
488
490
  // @ts-ignore
489
491
  const prevState = record[dataIndex] ?? undefined;
@@ -629,7 +631,7 @@ const EditableCell = props => {
629
631
  const formState = getValues();
630
632
  const formNewState = {
631
633
  ...getValues(),
632
- [dataIndex]: formState[dataIndex] || undefined
634
+ [dataIndex]: !isNullOrUndefined(formState[dataIndex]) ? formState[dataIndex] : undefined
633
635
  };
634
636
  // @ts-ignore
635
637
  const prevState = record[dataIndex] ?? undefined;
@@ -773,7 +775,7 @@ const EditableCell = props => {
773
775
  const formState = getValues();
774
776
  const formNewState = {
775
777
  ...getValues(),
776
- [dataIndex]: formState[dataIndex] || undefined
778
+ [dataIndex]: !isNullOrUndefined(formState[dataIndex]) ? formState[dataIndex] : undefined
777
779
  };
778
780
  // @ts-ignore
779
781
  const prevState = record[dataIndex] ?? undefined;
@@ -6,6 +6,7 @@ import classNames from "classnames";
6
6
  import React from "react";
7
7
  import { TableContext } from "../useContext";
8
8
  import { getValueCellString, renderValueCell, toggleRowSelection } from "../hook/useColumns";
9
+ import { Dropdown } from "rc-master-ui";
9
10
  const renderCellIndex = props => {
10
11
  const {
11
12
  parrents,
@@ -213,6 +214,18 @@ const TableBodyCell = props => {
213
214
  const colFormat = typeof columnMeta?.format === 'function' ? columnMeta?.format(record) : columnMeta?.format;
214
215
  const cellFormat = getFormat(colFormat, format);
215
216
  const fomatedValue = renderValueCell(columnMeta, cellValue, record, rowIndex, colIndex, cellFormat, true);
217
+ const cellContent = columnMeta?.template ? typeof columnMeta.template === 'function' ? columnMeta.template({
218
+ field: columnMeta.field,
219
+ index: cell.row.index,
220
+ rowData: cell.row.original,
221
+ value: cell.getValue()
222
+ }) : columnMeta.template : fomatedValue;
223
+ const linkContent = columnMeta?.linkTemplate ? typeof columnMeta.linkTemplate === 'function' ? columnMeta.linkTemplate({
224
+ field: columnMeta.field,
225
+ index: cell.row.index,
226
+ rowData: cell.row.original,
227
+ value: cell.getValue()
228
+ }) : columnMeta.linkTemplate : cellContent;
216
229
  const valueCellString = getValueCellString(columnMeta, cellValue, record, rowIndex, colIndex, format);
217
230
  const tooltipContent = React.useMemo(() => {
218
231
  if (isOpenTooltip === false) {
@@ -375,7 +388,7 @@ const TableBodyCell = props => {
375
388
  "data-row-index": rowNumber,
376
389
  "data-col-key": cell.column.id,
377
390
  "data-tooltip-id": `${id}-tooltip-content`,
378
- "data-tooltip-content": tooltipContent
391
+ "data-tooltip-content": columnMeta?.type === 'link' ? '' : tooltipContent
379
392
  // data-tooltip-delay-show={500}
380
393
  ,
381
394
 
@@ -389,7 +402,8 @@ const TableBodyCell = props => {
389
402
  [`${prefix}-grid-cell-fix-left-last`]: isLastLeftPinnedColumn,
390
403
  [`${prefix}-grid-cell-fix-right-first`]: isFirstRightPinnedColumn,
391
404
  [`${prefix}-grid-cell-text-center`]: columnMeta?.textAlign === 'center',
392
- [`${prefix}-grid-cell-text-right`]: columnMeta?.textAlign === 'right' || columnMeta.type === 'number'
405
+ [`${prefix}-grid-cell-text-right`]: columnMeta?.textAlign === 'right' || columnMeta?.type === 'number',
406
+ [`${prefix}-grid-cell-link`]: columnMeta?.type === 'link'
393
407
  }),
394
408
  style: {
395
409
  ...cellStyles,
@@ -487,6 +501,30 @@ const TableBodyCell = props => {
487
501
  }
488
502
  }
489
503
  }
504
+ }, cellContent && columnMeta?.type === 'link' ? /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Dropdown, {
505
+ trigger: ['hover'],
506
+ menu: {
507
+ items: [{
508
+ key: '1',
509
+ label: ''
510
+ }]
511
+ },
512
+ dropdownRender: () => /*#__PURE__*/React.createElement("div", {
513
+ style: {
514
+ padding: '1rem',
515
+ backgroundColor: '#ffffff',
516
+ borderRadius: 6,
517
+ boxShadow: '0 6px 16px 0 rgba(0, 0, 0, 0.08),0 3px 6px -4px rgba(0, 0, 0, 0.12),0 9px 28px 8px rgba(0, 0, 0, 0.05)'
518
+ }
519
+ }, linkContent && typeof linkContent === 'string' ? /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("a", {
520
+ href: linkContent,
521
+ target: "_blank",
522
+ rel: "noreferrer"
523
+ }, linkContent)) : linkContent ? linkContent : /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("a", {
524
+ href: typeof cellContent === 'string' ? cellContent : '',
525
+ target: "_blank",
526
+ rel: "noreferrer"
527
+ }, cellContent)))
490
528
  }, /*#__PURE__*/React.createElement("div", {
491
529
  className: classNames('ui-rc_cell-content', {})
492
530
  }, cell.column.getIndex() === expandIconColumnIndex && isDataTree && /*#__PURE__*/React.createElement("div", {
@@ -535,11 +573,42 @@ const TableBodyCell = props => {
535
573
  className: "ui-rc-table-row-expand-icon ui-rc-table-row-expand-icon-collapsed"
536
574
  })) : /*#__PURE__*/React.createElement("span", {
537
575
  className: "ui-rc-table-row-expand-icon ui-rc-table-row-expand-icon-spaced"
538
- }))), columnMeta.template ? typeof columnMeta.template === 'function' ? columnMeta.template({
539
- field: columnMeta.field,
540
- index: cell.row.index,
541
- rowData: cell.row.original,
542
- value: cell.getValue()
543
- }) : columnMeta.template : fomatedValue));
576
+ }))), cellContent))) : /*#__PURE__*/React.createElement("div", {
577
+ className: classNames('ui-rc_cell-content', {})
578
+ }, cell.column.getIndex() === expandIconColumnIndex && isDataTree && /*#__PURE__*/React.createElement("div", {
579
+ className: "ui-rc-table-row-expand-trigger",
580
+ style: {
581
+ paddingLeft: `${cell.row.depth * 25}px`
582
+ }
583
+ }, /*#__PURE__*/React.createElement("div", null, cell.row.getCanExpand() ? /*#__PURE__*/React.createElement("button", {
584
+ // onClick: row.getToggleExpandedHandler(),
585
+ onClick: e => {
586
+ e.stopPropagation();
587
+ const keys = Object.keys(expanded);
588
+ // @ts-ignore
589
+ const tmp = {
590
+ ...expanded
591
+ };
592
+ if (keys.includes(cell.row.id)) {
593
+ delete tmp[cell.row.id];
594
+ setExpanded(tmp);
595
+ } else {
596
+ setExpanded(old => ({
597
+ ...old,
598
+ [cell.row.id]: true
599
+ }));
600
+ }
601
+ },
602
+ style: {
603
+ cursor: "pointer"
604
+ },
605
+ className: "ui-rc-table-row-expand"
606
+ }, cell.row.getIsExpanded() ? /*#__PURE__*/React.createElement("span", {
607
+ className: "ui-rc-table-row-expand-icon ui-rc-table-row-expand-icon-expanded"
608
+ }) : /*#__PURE__*/React.createElement("span", {
609
+ className: "ui-rc-table-row-expand-icon ui-rc-table-row-expand-icon-collapsed"
610
+ })) : /*#__PURE__*/React.createElement("span", {
611
+ className: "ui-rc-table-row-expand-icon ui-rc-table-row-expand-icon-spaced"
612
+ }))), cellContent));
544
613
  };
545
614
  export default TableBodyCell;
@@ -8,6 +8,7 @@ import { TableContext } from "../useContext";
8
8
  import EditableCell from "./EditableCell";
9
9
  import { nonActionColumn } from "../../grid-component/hooks";
10
10
  import { getValueCellString, renderValueCell, toggleRowSelection } from "../hook/useColumns";
11
+ import { Dropdown } from "rc-master-ui";
11
12
  const renderCellIndex = props => {
12
13
  const {
13
14
  parrents,
@@ -239,13 +240,6 @@ const TableBodyCellEdit = props => {
239
240
  const [isOpenTooltip, setIsOpenTooltip] = React.useState(false);
240
241
  const rowError = dataErrors ? dataErrors.find(it => it.id === cell.row.id) : undefined;
241
242
  const message = rowError && rowError[cell.column.id]?.field === cell.column.id ? rowError[cell.column.id].message : undefined;
242
-
243
- // const tooltipContent = (isOpenTooltip === false)
244
- // ? ''
245
- // : columnMeta?.tooltipDescription
246
- // ? (typeof columnMeta.tooltipDescription === 'function' ? columnMeta.tooltipDescription({ value: cell.getValue(), rowData: record }) : columnMeta.tooltipDescription)
247
- // : cell.getValue()
248
-
249
243
  const canEdit = isEditable(cell.column.columnDef.meta, record) && isRowEditable !== false;
250
244
 
251
245
  // const allRows = table.getRowModel().rows;
@@ -1273,6 +1267,18 @@ const TableBodyCellEdit = props => {
1273
1267
  const colFormat = typeof columnMeta?.format === 'function' ? columnMeta?.format(record) : columnMeta?.format;
1274
1268
  const cellFormat = getFormat(colFormat, format);
1275
1269
  const fomatedValue = renderValueCell(columnMeta, cellValue, record, rowIndex, colIndex, cellFormat, true);
1270
+ const cellContent = columnMeta?.template ? typeof columnMeta.template === 'function' ? columnMeta.template({
1271
+ field: columnMeta.field,
1272
+ index: cell.row.index,
1273
+ rowData: cell.row.original,
1274
+ value: cell.getValue()
1275
+ }) : columnMeta.template : fomatedValue;
1276
+ const linkContent = columnMeta?.linkTemplate ? typeof columnMeta.linkTemplate === 'function' ? columnMeta.linkTemplate({
1277
+ field: columnMeta.field,
1278
+ index: cell.row.index,
1279
+ rowData: cell.row.original,
1280
+ value: cell.getValue()
1281
+ }) : columnMeta.linkTemplate : cellContent;
1276
1282
  return /*#__PURE__*/React.createElement("div", {
1277
1283
  key: cell.id,
1278
1284
  ref: el => {
@@ -1287,7 +1293,7 @@ const TableBodyCellEdit = props => {
1287
1293
  "data-row-key": cell.row.id,
1288
1294
  "data-tooltip-id": `${id}-tooltip-content`,
1289
1295
  "data-tooltip-delay-show": 500,
1290
- "data-tooltip-content": isEditing && message ? message : rowError && rowError[cell.column.id]?.field === cell.column.id ? rowError[cell.column.id].message : tooltipContent,
1296
+ "data-tooltip-content": isEditing && message ? message : rowError && rowError[cell.column.id]?.field === cell.column.id ? rowError[cell.column.id].message : columnMeta?.type === 'link' ? '' : tooltipContent,
1291
1297
  className: classNames(`${prefix}-grid-cell cell-editable editable `, {
1292
1298
  [`${prefix}-grid-cell-ellipsis`]: true,
1293
1299
  'cell-editing': isEditing,
@@ -1306,7 +1312,8 @@ const TableBodyCellEdit = props => {
1306
1312
  [`${prefix}-grid-cell-fix-left-last`]: isLastLeftPinnedColumn,
1307
1313
  [`${prefix}-grid-cell-fix-right-first`]: isFirstRightPinnedColumn,
1308
1314
  [`${prefix}-grid-cell-text-center`]: columnMeta?.textAlign === 'center',
1309
- [`${prefix}-grid-cell-text-right`]: columnMeta?.textAlign === 'right' || columnMeta.type === 'number'
1315
+ [`${prefix}-grid-cell-text-right`]: columnMeta?.textAlign === 'right' || columnMeta?.type === 'number',
1316
+ [`${prefix}-grid-cell-link`]: columnMeta?.type === 'link'
1310
1317
  }),
1311
1318
  style: {
1312
1319
  display: 'flex',
@@ -1406,8 +1413,31 @@ const TableBodyCellEdit = props => {
1406
1413
  record: record,
1407
1414
  visibleColumns: visibleColumns,
1408
1415
  handleNextCell: handleNextCell
1409
- // rowKey={rowKey}
1410
- }) : /*#__PURE__*/React.createElement("div", {
1416
+ }) : columnMeta?.type === 'link' ? /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Dropdown, {
1417
+ trigger: ['hover'],
1418
+ menu: {
1419
+ items: [{
1420
+ key: '1',
1421
+ label: ''
1422
+ }]
1423
+ },
1424
+ dropdownRender: () => /*#__PURE__*/React.createElement("div", {
1425
+ style: {
1426
+ padding: '1rem',
1427
+ backgroundColor: '#ffffff',
1428
+ borderRadius: 6,
1429
+ boxShadow: '0 6px 16px 0 rgba(0, 0, 0, 0.08),0 3px 6px -4px rgba(0, 0, 0, 0.12),0 9px 28px 8px rgba(0, 0, 0, 0.05)'
1430
+ }
1431
+ }, linkContent && typeof linkContent === 'string' ? /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("a", {
1432
+ href: linkContent,
1433
+ target: "_blank",
1434
+ rel: "noreferrer"
1435
+ }, linkContent)) : linkContent ? linkContent : /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("a", {
1436
+ href: typeof cellContent === 'string' ? cellContent : '',
1437
+ target: "_blank",
1438
+ rel: "noreferrer"
1439
+ }, cellContent)))
1440
+ }, /*#__PURE__*/React.createElement("div", {
1411
1441
  className: classNames('ui-rc_cell-content', {
1412
1442
  'select-cell': canEdit && ['select', 'selectTable', 'asyncSelect', 'treeSelect'].includes(getEditType(columnMeta, record))
1413
1443
  })
@@ -1447,17 +1477,57 @@ const TableBodyCellEdit = props => {
1447
1477
  className: "ui-rc-table-row-expand-icon ui-rc-table-row-expand-icon-collapsed"
1448
1478
  })) : /*#__PURE__*/React.createElement("span", {
1449
1479
  className: "ui-rc-table-row-expand-icon ui-rc-table-row-expand-icon-spaced"
1450
- }))), columnMeta.template ? typeof columnMeta.template === 'function' ? columnMeta.template({
1451
- field: columnMeta.field,
1452
- index: cell.row.index,
1453
- rowData: cell.row.original,
1454
- value: cell.getValue()
1455
- }) : columnMeta.template : fomatedValue, (editType === 'select' || editType === 'selectTable' || editType === 'asyncSelect' || editType === 'treeSelect') && canEdit && /*#__PURE__*/React.createElement("span", {
1480
+ }))), cellContent, (editType === 'select' || editType === 'selectTable' || editType === 'asyncSelect' || editType === 'treeSelect') && canEdit && /*#__PURE__*/React.createElement("span", {
1481
+ className: 'caret-down',
1482
+ onClick: e => {
1483
+ handleEdit(e);
1484
+ }
1485
+ })))) : /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
1486
+ className: classNames('ui-rc_cell-content', {
1487
+ 'select-cell': canEdit && ['select', 'selectTable', 'asyncSelect', 'treeSelect'].includes(getEditType(columnMeta, record))
1488
+ })
1489
+ }, cell.column.getIndex() === expandIconColumnIndex && isDataTree && /*#__PURE__*/React.createElement("div", {
1490
+ className: "ui-rc-table-row-expand-trigger",
1491
+ style: {
1492
+ paddingLeft: `${cell.row.depth * 25}px`
1493
+ }
1494
+ }, /*#__PURE__*/React.createElement("div", null, cell.row.getCanExpand() ? /*#__PURE__*/React.createElement("button", {
1495
+ // onClick: row.getToggleExpandedHandler(),
1496
+ onClick: e => {
1497
+ e.stopPropagation();
1498
+ e.preventDefault();
1499
+ setIsExpandClick(true);
1500
+ const keys = Object.keys(expanded);
1501
+ // @ts-ignore
1502
+ const tmp = {
1503
+ ...expanded
1504
+ };
1505
+ if (keys.includes(cell.row.id)) {
1506
+ delete tmp[cell.row.id];
1507
+ setExpanded(tmp);
1508
+ } else {
1509
+ setExpanded(old => ({
1510
+ ...old,
1511
+ [cell.row.id]: true
1512
+ }));
1513
+ }
1514
+ },
1515
+ style: {
1516
+ cursor: "pointer"
1517
+ },
1518
+ className: "ui-rc-table-row-expand"
1519
+ }, cell.row.getIsExpanded() ? /*#__PURE__*/React.createElement("span", {
1520
+ className: "ui-rc-table-row-expand-icon ui-rc-table-row-expand-icon-expanded"
1521
+ }) : /*#__PURE__*/React.createElement("span", {
1522
+ className: "ui-rc-table-row-expand-icon ui-rc-table-row-expand-icon-collapsed"
1523
+ })) : /*#__PURE__*/React.createElement("span", {
1524
+ className: "ui-rc-table-row-expand-icon ui-rc-table-row-expand-icon-spaced"
1525
+ }))), cellContent, (editType === 'select' || editType === 'selectTable' || editType === 'asyncSelect' || editType === 'treeSelect') && canEdit && /*#__PURE__*/React.createElement("span", {
1456
1526
  className: 'caret-down',
1457
1527
  onClick: e => {
1458
1528
  handleEdit(e);
1459
1529
  }
1460
- })), !isSelecting && !isEditing && rowRange &&
1530
+ }))), !isSelecting && !isEditing && rowRange &&
1461
1531
  // rowNumber === rangeState?.endRowIndex &&
1462
1532
  cell.row.id === rowRange[rowRange?.length - 1] && cell.column.getIndex() === rangeState?.endColIndex && /*#__PURE__*/React.createElement("div", {
1463
1533
  className: 'dragging-point',
@@ -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;}&.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);
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-link{text-decoration:underline;color:#336cc9;&:has(textarea){text-decoration:none;}}&.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.$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,9 +1,9 @@
1
1
  import type * as React from "react";
2
2
  import dayjs from "dayjs";
3
- import type { EditType, IColumnType, TypeFilter } from "rc-master-ui";
3
+ import type { TypeFilter } from "rc-master-ui";
4
4
  import type { Key } from "react";
5
5
  import type { ColumnsTable } from "./../index";
6
- import type { AnyObject, ColumnTable, GetRowKey, IFormat } from "../type";
6
+ import type { AnyObject, ColumnTable, EditType, GetRowKey, IColumnType, IFormat } from "../type";
7
7
  export declare const newGuid: () => any;
8
8
  export declare const sumDataByField: (data: any[], field: string) => any;
9
9
  export declare const checkThousandSeparator: (thousandSeparator: string | undefined, decimalSeparator: string | undefined) => string;
@@ -48,19 +48,9 @@ var _dayjs = _interopRequireDefault(require("dayjs"));
48
48
  var _moment = _interopRequireDefault(require("moment/moment"));
49
49
  var _uuid = require("uuid");
50
50
  var _colors = require("@ant-design/colors");
51
- // import type {ColumnTable, GetRowKey, IFormat, Presets} from "./../ type"
52
-
53
- // import type {SelectionSettings} from "../type"
54
- // import type {AnyObject} from "../type"
55
-
56
- // import {Table} from "rc-master-ui"
57
- // import {flatColumns2} from "./columns"
58
- // import {SELECTION_COLUMN} from "./useColumns"
59
-
60
51
  const newGuid = () => {
61
52
  for (let i = 0; i < 20; i++) {
62
53
  // @ts-ignore
63
- // const id = crypto.randomUUID()
64
54
  return (0, _uuid.v4)();
65
55
  }
66
56
  };
@@ -94,10 +94,10 @@ export type IFormat = {
94
94
  yearFormat?: string;
95
95
  };
96
96
  export type RowSelectMethod = 'all' | 'none' | 'invert' | 'single' | 'multiple';
97
- export type EditType = 'text' | 'numeric' | 'asyncSelect' | 'date' | 'datetime' | 'time' | 'week' | 'month' | 'quarter' | 'year' | 'select' | 'checkbox' | 'currency' | 'image' | 'selectTable' | 'customSelect' | 'form' | 'color' | 'treeSelect' | 'file';
97
+ export type EditType = 'text' | 'numeric' | 'asyncSelect' | 'date' | 'datetime' | 'time' | 'week' | 'month' | 'quarter' | 'year' | 'select' | 'checkbox' | 'currency' | 'image' | 'selectTable' | 'customSelect' | 'form' | 'color' | 'link' | 'treeSelect' | 'file';
98
98
  export type ITextAlign = 'center' | 'left' | 'right';
99
99
  export type TypeFilter = 'Text' | 'Date' | 'Time' | 'Datetime' | 'DateRange' | 'Month' | 'Quarter' | 'Year' | 'Week' | 'Number' | 'NumberRange' | 'Dropdown' | 'DropTree' | 'Checkbox' | 'CheckboxTree' | 'CheckboxDropdown';
100
- export type IColumnType = 'number' | 'time' | 'date' | 'week' | 'month' | 'file' | 'quarter' | 'year' | 'datetime' | 'string' | 'boolean' | 'checkbox' | 'color' | null | undefined;
100
+ export type IColumnType = 'number' | 'time' | 'date' | 'week' | 'month' | 'file' | 'quarter' | 'year' | 'datetime' | 'string' | 'boolean' | 'checkbox' | 'color' | 'link' | null | undefined;
101
101
  export type FilterOperator = 'equal' | 'notequal' | 'greaterthan' | 'greaterthanorequal' | 'lessthan' | 'lessthanorequal' | 'startswith' | 'endswith' | 'contains';
102
102
  export type FixedType = 'left' | 'right' | boolean;
103
103
  export type SelectMode = 'checkbox' | 'radio' | undefined;
@@ -241,6 +241,7 @@ export type ColumnTable<RecordType = AnyObject> = {
241
241
  textAlign?: ITextAlign;
242
242
  /** Template custom render cell */
243
243
  template?: ReactNode | ReactElement | ((args: ColumnTemplate<RecordType>) => ReactNode | ReactElement);
244
+ linkTemplate?: ReactNode | ReactElement | ((args: ColumnTemplate<RecordType>) => ReactNode | ReactElement);
244
245
  /** Hiển thị tooltip cell */
245
246
  showTooltip?: boolean;
246
247
  /** Nội dung tooltip của cell */
@@ -811,7 +812,7 @@ export type RangeState = {
811
812
  endColIndex: number | undefined;
812
813
  rowIds: string[];
813
814
  colIds: string[];
814
- type?: string;
815
+ type?: any;
815
816
  };
816
817
  export type Sorter = {
817
818
  columnKey: string;
@@ -1,6 +1,5 @@
1
1
  import React from "react";
2
- import type { EditType } from "rc-master-ui";
3
- import type { ColumnTable, IFormat } from "../../grid-component/type";
2
+ import type { ColumnTable, EditType, IFormat } from "../../grid-component/type";
4
3
  interface EditableCellProps<DataType> extends React.HTMLAttributes<HTMLElement> {
5
4
  t?: any;
6
5
  dataIndex: string;
@@ -189,6 +189,7 @@ export declare const fixColumnsLeft: <RecordType>(columns: ColumnTable<RecordTyp
189
189
  align?: import("./../../grid-component/type").ITextAlign;
190
190
  textAlign?: import("./../../grid-component/type").ITextAlign;
191
191
  template?: import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>> | import("react").ReactNode | ((args: import("./../../grid-component/type").ColumnTemplate<RecordType>) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>> | import("react").ReactNode);
192
+ linkTemplate?: import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>> | import("react").ReactNode | ((args: import("./../../grid-component/type").ColumnTemplate<RecordType>) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>> | import("react").ReactNode);
192
193
  showTooltip?: boolean;
193
194
  tooltipDescription?: string | ((args: {
194
195
  value: any;
@@ -1,6 +1,5 @@
1
1
  import React from "react";
2
- import type { EditType } from "rc-master-ui";
3
- import type { ColumnTable, IFormat } from "../../grid-component/type";
2
+ import type { ColumnTable, EditType, IFormat } from "../../grid-component/type";
4
3
  import type { Column } from "@tanstack/react-table";
5
4
  interface EditableCellProps<DataType> extends React.HTMLAttributes<HTMLElement> {
6
5
  t?: any;
@@ -23,6 +23,8 @@ var _locale = require("rc-master-ui/es/locale");
23
23
  var _hooks = require("../../grid-component/hooks");
24
24
  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); }
25
25
  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; }
26
+ // import type { EditType } from "rc-master-ui"
27
+
26
28
  const {
27
29
  SHOW_PARENT
28
30
  } = _rcMasterUi.TreeSelect;
@@ -490,7 +492,7 @@ const EditableCell = props => {
490
492
  const formState = getValues();
491
493
  const formNewState = {
492
494
  ...getValues(),
493
- [dataIndex]: formState[dataIndex] || undefined
495
+ [dataIndex]: !(0, _utils.isNullOrUndefined)(formState[dataIndex]) ? formState[dataIndex] : undefined
494
496
  };
495
497
  // @ts-ignore
496
498
  const prevState = record[dataIndex] ?? undefined;
@@ -636,7 +638,7 @@ const EditableCell = props => {
636
638
  const formState = getValues();
637
639
  const formNewState = {
638
640
  ...getValues(),
639
- [dataIndex]: formState[dataIndex] || undefined
641
+ [dataIndex]: !(0, _utils.isNullOrUndefined)(formState[dataIndex]) ? formState[dataIndex] : undefined
640
642
  };
641
643
  // @ts-ignore
642
644
  const prevState = record[dataIndex] ?? undefined;
@@ -780,7 +782,7 @@ const EditableCell = props => {
780
782
  const formState = getValues();
781
783
  const formNewState = {
782
784
  ...getValues(),
783
- [dataIndex]: formState[dataIndex] || undefined
785
+ [dataIndex]: !(0, _utils.isNullOrUndefined)(formState[dataIndex]) ? formState[dataIndex] : undefined
784
786
  };
785
787
  // @ts-ignore
786
788
  const prevState = record[dataIndex] ?? undefined;
@@ -13,6 +13,7 @@ var _classnames = _interopRequireDefault(require("classnames"));
13
13
  var _react = _interopRequireDefault(require("react"));
14
14
  var _useContext = require("../useContext");
15
15
  var _useColumns = require("../hook/useColumns");
16
+ var _rcMasterUi = require("rc-master-ui");
16
17
  const renderCellIndex = props => {
17
18
  const {
18
19
  parrents,
@@ -220,6 +221,18 @@ const TableBodyCell = props => {
220
221
  const colFormat = typeof columnMeta?.format === 'function' ? columnMeta?.format(record) : columnMeta?.format;
221
222
  const cellFormat = (0, _utils.getFormat)(colFormat, format);
222
223
  const fomatedValue = (0, _useColumns.renderValueCell)(columnMeta, cellValue, record, rowIndex, colIndex, cellFormat, true);
224
+ const cellContent = columnMeta?.template ? typeof columnMeta.template === 'function' ? columnMeta.template({
225
+ field: columnMeta.field,
226
+ index: cell.row.index,
227
+ rowData: cell.row.original,
228
+ value: cell.getValue()
229
+ }) : columnMeta.template : fomatedValue;
230
+ const linkContent = columnMeta?.linkTemplate ? typeof columnMeta.linkTemplate === 'function' ? columnMeta.linkTemplate({
231
+ field: columnMeta.field,
232
+ index: cell.row.index,
233
+ rowData: cell.row.original,
234
+ value: cell.getValue()
235
+ }) : columnMeta.linkTemplate : cellContent;
223
236
  const valueCellString = (0, _useColumns.getValueCellString)(columnMeta, cellValue, record, rowIndex, colIndex, format);
224
237
  const tooltipContent = _react.default.useMemo(() => {
225
238
  if (isOpenTooltip === false) {
@@ -382,7 +395,7 @@ const TableBodyCell = props => {
382
395
  "data-row-index": rowNumber,
383
396
  "data-col-key": cell.column.id,
384
397
  "data-tooltip-id": `${id}-tooltip-content`,
385
- "data-tooltip-content": tooltipContent
398
+ "data-tooltip-content": columnMeta?.type === 'link' ? '' : tooltipContent
386
399
  // data-tooltip-delay-show={500}
387
400
  ,
388
401
 
@@ -396,7 +409,8 @@ const TableBodyCell = props => {
396
409
  [`${prefix}-grid-cell-fix-left-last`]: isLastLeftPinnedColumn,
397
410
  [`${prefix}-grid-cell-fix-right-first`]: isFirstRightPinnedColumn,
398
411
  [`${prefix}-grid-cell-text-center`]: columnMeta?.textAlign === 'center',
399
- [`${prefix}-grid-cell-text-right`]: columnMeta?.textAlign === 'right' || columnMeta.type === 'number'
412
+ [`${prefix}-grid-cell-text-right`]: columnMeta?.textAlign === 'right' || columnMeta?.type === 'number',
413
+ [`${prefix}-grid-cell-link`]: columnMeta?.type === 'link'
400
414
  }),
401
415
  style: {
402
416
  ...cellStyles,
@@ -494,6 +508,30 @@ const TableBodyCell = props => {
494
508
  }
495
509
  }
496
510
  }
511
+ }, cellContent && columnMeta?.type === 'link' ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_rcMasterUi.Dropdown, {
512
+ trigger: ['hover'],
513
+ menu: {
514
+ items: [{
515
+ key: '1',
516
+ label: ''
517
+ }]
518
+ },
519
+ dropdownRender: () => /*#__PURE__*/_react.default.createElement("div", {
520
+ style: {
521
+ padding: '1rem',
522
+ backgroundColor: '#ffffff',
523
+ borderRadius: 6,
524
+ boxShadow: '0 6px 16px 0 rgba(0, 0, 0, 0.08),0 3px 6px -4px rgba(0, 0, 0, 0.12),0 9px 28px 8px rgba(0, 0, 0, 0.05)'
525
+ }
526
+ }, linkContent && typeof linkContent === 'string' ? /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("a", {
527
+ href: linkContent,
528
+ target: "_blank",
529
+ rel: "noreferrer"
530
+ }, linkContent)) : linkContent ? linkContent : /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("a", {
531
+ href: typeof cellContent === 'string' ? cellContent : '',
532
+ target: "_blank",
533
+ rel: "noreferrer"
534
+ }, cellContent)))
497
535
  }, /*#__PURE__*/_react.default.createElement("div", {
498
536
  className: (0, _classnames.default)('ui-rc_cell-content', {})
499
537
  }, cell.column.getIndex() === expandIconColumnIndex && isDataTree && /*#__PURE__*/_react.default.createElement("div", {
@@ -542,11 +580,42 @@ const TableBodyCell = props => {
542
580
  className: "ui-rc-table-row-expand-icon ui-rc-table-row-expand-icon-collapsed"
543
581
  })) : /*#__PURE__*/_react.default.createElement("span", {
544
582
  className: "ui-rc-table-row-expand-icon ui-rc-table-row-expand-icon-spaced"
545
- }))), columnMeta.template ? typeof columnMeta.template === 'function' ? columnMeta.template({
546
- field: columnMeta.field,
547
- index: cell.row.index,
548
- rowData: cell.row.original,
549
- value: cell.getValue()
550
- }) : columnMeta.template : fomatedValue));
583
+ }))), cellContent))) : /*#__PURE__*/_react.default.createElement("div", {
584
+ className: (0, _classnames.default)('ui-rc_cell-content', {})
585
+ }, cell.column.getIndex() === expandIconColumnIndex && isDataTree && /*#__PURE__*/_react.default.createElement("div", {
586
+ className: "ui-rc-table-row-expand-trigger",
587
+ style: {
588
+ paddingLeft: `${cell.row.depth * 25}px`
589
+ }
590
+ }, /*#__PURE__*/_react.default.createElement("div", null, cell.row.getCanExpand() ? /*#__PURE__*/_react.default.createElement("button", {
591
+ // onClick: row.getToggleExpandedHandler(),
592
+ onClick: e => {
593
+ e.stopPropagation();
594
+ const keys = Object.keys(expanded);
595
+ // @ts-ignore
596
+ const tmp = {
597
+ ...expanded
598
+ };
599
+ if (keys.includes(cell.row.id)) {
600
+ delete tmp[cell.row.id];
601
+ setExpanded(tmp);
602
+ } else {
603
+ setExpanded(old => ({
604
+ ...old,
605
+ [cell.row.id]: true
606
+ }));
607
+ }
608
+ },
609
+ style: {
610
+ cursor: "pointer"
611
+ },
612
+ className: "ui-rc-table-row-expand"
613
+ }, cell.row.getIsExpanded() ? /*#__PURE__*/_react.default.createElement("span", {
614
+ className: "ui-rc-table-row-expand-icon ui-rc-table-row-expand-icon-expanded"
615
+ }) : /*#__PURE__*/_react.default.createElement("span", {
616
+ className: "ui-rc-table-row-expand-icon ui-rc-table-row-expand-icon-collapsed"
617
+ })) : /*#__PURE__*/_react.default.createElement("span", {
618
+ className: "ui-rc-table-row-expand-icon ui-rc-table-row-expand-icon-spaced"
619
+ }))), cellContent));
551
620
  };
552
621
  var _default = exports.default = TableBodyCell;
@@ -15,6 +15,7 @@ var _useContext = require("../useContext");
15
15
  var _EditableCell = _interopRequireDefault(require("./EditableCell"));
16
16
  var _hooks = require("../../grid-component/hooks");
17
17
  var _useColumns = require("../hook/useColumns");
18
+ var _rcMasterUi = require("rc-master-ui");
18
19
  const renderCellIndex = props => {
19
20
  const {
20
21
  parrents,
@@ -246,13 +247,6 @@ const TableBodyCellEdit = props => {
246
247
  const [isOpenTooltip, setIsOpenTooltip] = _react.default.useState(false);
247
248
  const rowError = dataErrors ? dataErrors.find(it => it.id === cell.row.id) : undefined;
248
249
  const message = rowError && rowError[cell.column.id]?.field === cell.column.id ? rowError[cell.column.id].message : undefined;
249
-
250
- // const tooltipContent = (isOpenTooltip === false)
251
- // ? ''
252
- // : columnMeta?.tooltipDescription
253
- // ? (typeof columnMeta.tooltipDescription === 'function' ? columnMeta.tooltipDescription({ value: cell.getValue(), rowData: record }) : columnMeta.tooltipDescription)
254
- // : cell.getValue()
255
-
256
250
  const canEdit = (0, _utils.isEditable)(cell.column.columnDef.meta, record) && isRowEditable !== false;
257
251
 
258
252
  // const allRows = table.getRowModel().rows;
@@ -1280,6 +1274,18 @@ const TableBodyCellEdit = props => {
1280
1274
  const colFormat = typeof columnMeta?.format === 'function' ? columnMeta?.format(record) : columnMeta?.format;
1281
1275
  const cellFormat = (0, _utils.getFormat)(colFormat, format);
1282
1276
  const fomatedValue = (0, _useColumns.renderValueCell)(columnMeta, cellValue, record, rowIndex, colIndex, cellFormat, true);
1277
+ const cellContent = columnMeta?.template ? typeof columnMeta.template === 'function' ? columnMeta.template({
1278
+ field: columnMeta.field,
1279
+ index: cell.row.index,
1280
+ rowData: cell.row.original,
1281
+ value: cell.getValue()
1282
+ }) : columnMeta.template : fomatedValue;
1283
+ const linkContent = columnMeta?.linkTemplate ? typeof columnMeta.linkTemplate === 'function' ? columnMeta.linkTemplate({
1284
+ field: columnMeta.field,
1285
+ index: cell.row.index,
1286
+ rowData: cell.row.original,
1287
+ value: cell.getValue()
1288
+ }) : columnMeta.linkTemplate : cellContent;
1283
1289
  return /*#__PURE__*/_react.default.createElement("div", {
1284
1290
  key: cell.id,
1285
1291
  ref: el => {
@@ -1294,7 +1300,7 @@ const TableBodyCellEdit = props => {
1294
1300
  "data-row-key": cell.row.id,
1295
1301
  "data-tooltip-id": `${id}-tooltip-content`,
1296
1302
  "data-tooltip-delay-show": 500,
1297
- "data-tooltip-content": isEditing && message ? message : rowError && rowError[cell.column.id]?.field === cell.column.id ? rowError[cell.column.id].message : tooltipContent,
1303
+ "data-tooltip-content": isEditing && message ? message : rowError && rowError[cell.column.id]?.field === cell.column.id ? rowError[cell.column.id].message : columnMeta?.type === 'link' ? '' : tooltipContent,
1298
1304
  className: (0, _classnames.default)(`${prefix}-grid-cell cell-editable editable `, {
1299
1305
  [`${prefix}-grid-cell-ellipsis`]: true,
1300
1306
  'cell-editing': isEditing,
@@ -1313,7 +1319,8 @@ const TableBodyCellEdit = props => {
1313
1319
  [`${prefix}-grid-cell-fix-left-last`]: isLastLeftPinnedColumn,
1314
1320
  [`${prefix}-grid-cell-fix-right-first`]: isFirstRightPinnedColumn,
1315
1321
  [`${prefix}-grid-cell-text-center`]: columnMeta?.textAlign === 'center',
1316
- [`${prefix}-grid-cell-text-right`]: columnMeta?.textAlign === 'right' || columnMeta.type === 'number'
1322
+ [`${prefix}-grid-cell-text-right`]: columnMeta?.textAlign === 'right' || columnMeta?.type === 'number',
1323
+ [`${prefix}-grid-cell-link`]: columnMeta?.type === 'link'
1317
1324
  }),
1318
1325
  style: {
1319
1326
  display: 'flex',
@@ -1413,8 +1420,31 @@ const TableBodyCellEdit = props => {
1413
1420
  record: record,
1414
1421
  visibleColumns: visibleColumns,
1415
1422
  handleNextCell: handleNextCell
1416
- // rowKey={rowKey}
1417
- }) : /*#__PURE__*/_react.default.createElement("div", {
1423
+ }) : columnMeta?.type === 'link' ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_rcMasterUi.Dropdown, {
1424
+ trigger: ['hover'],
1425
+ menu: {
1426
+ items: [{
1427
+ key: '1',
1428
+ label: ''
1429
+ }]
1430
+ },
1431
+ dropdownRender: () => /*#__PURE__*/_react.default.createElement("div", {
1432
+ style: {
1433
+ padding: '1rem',
1434
+ backgroundColor: '#ffffff',
1435
+ borderRadius: 6,
1436
+ boxShadow: '0 6px 16px 0 rgba(0, 0, 0, 0.08),0 3px 6px -4px rgba(0, 0, 0, 0.12),0 9px 28px 8px rgba(0, 0, 0, 0.05)'
1437
+ }
1438
+ }, linkContent && typeof linkContent === 'string' ? /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("a", {
1439
+ href: linkContent,
1440
+ target: "_blank",
1441
+ rel: "noreferrer"
1442
+ }, linkContent)) : linkContent ? linkContent : /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("a", {
1443
+ href: typeof cellContent === 'string' ? cellContent : '',
1444
+ target: "_blank",
1445
+ rel: "noreferrer"
1446
+ }, cellContent)))
1447
+ }, /*#__PURE__*/_react.default.createElement("div", {
1418
1448
  className: (0, _classnames.default)('ui-rc_cell-content', {
1419
1449
  'select-cell': canEdit && ['select', 'selectTable', 'asyncSelect', 'treeSelect'].includes((0, _utils.getEditType)(columnMeta, record))
1420
1450
  })
@@ -1454,17 +1484,57 @@ const TableBodyCellEdit = props => {
1454
1484
  className: "ui-rc-table-row-expand-icon ui-rc-table-row-expand-icon-collapsed"
1455
1485
  })) : /*#__PURE__*/_react.default.createElement("span", {
1456
1486
  className: "ui-rc-table-row-expand-icon ui-rc-table-row-expand-icon-spaced"
1457
- }))), columnMeta.template ? typeof columnMeta.template === 'function' ? columnMeta.template({
1458
- field: columnMeta.field,
1459
- index: cell.row.index,
1460
- rowData: cell.row.original,
1461
- value: cell.getValue()
1462
- }) : columnMeta.template : fomatedValue, (editType === 'select' || editType === 'selectTable' || editType === 'asyncSelect' || editType === 'treeSelect') && canEdit && /*#__PURE__*/_react.default.createElement("span", {
1487
+ }))), cellContent, (editType === 'select' || editType === 'selectTable' || editType === 'asyncSelect' || editType === 'treeSelect') && canEdit && /*#__PURE__*/_react.default.createElement("span", {
1488
+ className: 'caret-down',
1489
+ onClick: e => {
1490
+ handleEdit(e);
1491
+ }
1492
+ })))) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
1493
+ className: (0, _classnames.default)('ui-rc_cell-content', {
1494
+ 'select-cell': canEdit && ['select', 'selectTable', 'asyncSelect', 'treeSelect'].includes((0, _utils.getEditType)(columnMeta, record))
1495
+ })
1496
+ }, cell.column.getIndex() === expandIconColumnIndex && isDataTree && /*#__PURE__*/_react.default.createElement("div", {
1497
+ className: "ui-rc-table-row-expand-trigger",
1498
+ style: {
1499
+ paddingLeft: `${cell.row.depth * 25}px`
1500
+ }
1501
+ }, /*#__PURE__*/_react.default.createElement("div", null, cell.row.getCanExpand() ? /*#__PURE__*/_react.default.createElement("button", {
1502
+ // onClick: row.getToggleExpandedHandler(),
1503
+ onClick: e => {
1504
+ e.stopPropagation();
1505
+ e.preventDefault();
1506
+ setIsExpandClick(true);
1507
+ const keys = Object.keys(expanded);
1508
+ // @ts-ignore
1509
+ const tmp = {
1510
+ ...expanded
1511
+ };
1512
+ if (keys.includes(cell.row.id)) {
1513
+ delete tmp[cell.row.id];
1514
+ setExpanded(tmp);
1515
+ } else {
1516
+ setExpanded(old => ({
1517
+ ...old,
1518
+ [cell.row.id]: true
1519
+ }));
1520
+ }
1521
+ },
1522
+ style: {
1523
+ cursor: "pointer"
1524
+ },
1525
+ className: "ui-rc-table-row-expand"
1526
+ }, cell.row.getIsExpanded() ? /*#__PURE__*/_react.default.createElement("span", {
1527
+ className: "ui-rc-table-row-expand-icon ui-rc-table-row-expand-icon-expanded"
1528
+ }) : /*#__PURE__*/_react.default.createElement("span", {
1529
+ className: "ui-rc-table-row-expand-icon ui-rc-table-row-expand-icon-collapsed"
1530
+ })) : /*#__PURE__*/_react.default.createElement("span", {
1531
+ className: "ui-rc-table-row-expand-icon ui-rc-table-row-expand-icon-spaced"
1532
+ }))), cellContent, (editType === 'select' || editType === 'selectTable' || editType === 'asyncSelect' || editType === 'treeSelect') && canEdit && /*#__PURE__*/_react.default.createElement("span", {
1463
1533
  className: 'caret-down',
1464
1534
  onClick: e => {
1465
1535
  handleEdit(e);
1466
1536
  }
1467
- })), !isSelecting && !isEditing && rowRange &&
1537
+ }))), !isSelecting && !isEditing && rowRange &&
1468
1538
  // rowNumber === rangeState?.endRowIndex &&
1469
1539
  cell.row.id === rowRange[rowRange?.length - 1] && cell.column.getIndex() === rangeState?.endColIndex && /*#__PURE__*/_react.default.createElement("div", {
1470
1540
  className: 'dragging-point',
@@ -55,4 +55,4 @@ const colorDark = '#e6e4f3e6 ';
55
55
  const GridStyle = exports.GridStyle = _styledComponents.default.div.withConfig({
56
56
  displayName: "GridStyle",
57
57
  componentId: "es-grid-template__sc-hdqm5k-0"
58
- })(["&.", "-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);
58
+ })(["&.", "-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-link{text-decoration:underline;color:#336cc9;&:has(textarea){text-decoration:none;}}&.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.$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);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "es-grid-template",
3
- "version": "1.9.58",
3
+ "version": "1.9.59",
4
4
  "description": "es-grid-template",
5
5
  "keywords": [
6
6
  "react",