es-grid-template 1.9.61 → 1.9.63
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.
- package/es/ali-table/Grid.js +1 -1
- package/es/ali-table/InternalTable.d.ts +2 -1
- package/es/ali-table/InternalTable.js +24 -43
- package/es/ali-table/base-table/styles.js +1 -1
- package/es/ali-table/base-table/table.d.ts +2 -2
- package/es/ali-table/base-table/utils.d.ts +2 -0
- package/es/ali-table/base-table/utils.js +12 -1
- package/es/ali-table/interfaces.d.ts +4 -0
- package/es/ali-table/internals.d.ts +2 -1
- package/es/ali-table/pipeline/features/columnCustom.d.ts +2 -0
- package/es/ali-table/pipeline/features/columnCustom.js +310 -24
- package/es/ali-table/utils/utility.d.ts +1 -0
- package/es/ali-table/utils/utility.js +43 -1
- package/es/grid-component/type.d.ts +2 -1
- package/es/group-component/hook/utils.d.ts +3 -3
- package/es/table-component/components/async-select/index.js +1 -1
- package/es/table-component/hook/utils.d.ts +1 -3
- package/lib/ali-table/Grid.js +1 -1
- package/lib/ali-table/InternalTable.d.ts +2 -1
- package/lib/ali-table/InternalTable.js +24 -43
- package/lib/ali-table/base-table/styles.js +1 -1
- package/lib/ali-table/base-table/table.d.ts +2 -2
- package/lib/ali-table/base-table/utils.d.ts +2 -0
- package/lib/ali-table/base-table/utils.js +13 -0
- package/lib/ali-table/interfaces.d.ts +4 -0
- package/lib/ali-table/internals.d.ts +2 -1
- package/lib/ali-table/pipeline/features/columnCustom.d.ts +2 -0
- package/lib/ali-table/pipeline/features/columnCustom.js +310 -24
- package/lib/ali-table/utils/utility.d.ts +1 -0
- package/lib/ali-table/utils/utility.js +45 -1
- package/lib/grid-component/type.d.ts +2 -1
- package/lib/table-component/components/async-select/index.js +1 -1
- package/lib/table-component/hook/utils.d.ts +1 -3
- package/package.json +1 -1
package/es/ali-table/Grid.js
CHANGED
|
@@ -368,7 +368,7 @@ const Grid = /*#__PURE__*/React.forwardRef((props, ref) => {
|
|
|
368
368
|
theme: theme,
|
|
369
369
|
dataRowIds: dataRowIds,
|
|
370
370
|
footerDataSource: footerDataSource
|
|
371
|
-
})), (bottom || pagination && !infiniteScroll) && /*#__PURE__*/React.createElement("div", {
|
|
371
|
+
})), (bottom || toolbarItemsBottom && toolbarItemsBottom.length > 0 || pagination && !infiniteScroll) && /*#__PURE__*/React.createElement("div", {
|
|
372
372
|
className: classNames(`${prefix}-grid-bottom`, {})
|
|
373
373
|
}, bottom, toolbarItemsBottom && toolbarItemsBottom.length > 0 && /*#__PURE__*/React.createElement("div", {
|
|
374
374
|
className: classNames('ui-rc-toolbar-bottom', {
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import './base-table/styles.scss';
|
|
3
3
|
import type { TableProps } from "../grid-component/type";
|
|
4
|
-
|
|
4
|
+
import type { BaseRecord } from "./interfaces";
|
|
5
|
+
declare const InternalTable: <RecordType extends BaseRecord>(props: TableProps<RecordType>) => JSX.Element;
|
|
5
6
|
export default InternalTable;
|
|
@@ -68,6 +68,7 @@ const InternalTable = props => {
|
|
|
68
68
|
toolbarItems,
|
|
69
69
|
defaultValue,
|
|
70
70
|
commandSettings,
|
|
71
|
+
headerData,
|
|
71
72
|
...rest
|
|
72
73
|
} = props;
|
|
73
74
|
const tableRef = useRef(null);
|
|
@@ -314,51 +315,29 @@ const InternalTable = props => {
|
|
|
314
315
|
type: changeType,
|
|
315
316
|
newState,
|
|
316
317
|
prevState,
|
|
317
|
-
|
|
318
|
-
field,
|
|
319
|
-
indexCol,
|
|
320
|
-
indexRow,
|
|
321
|
-
key
|
|
318
|
+
field
|
|
322
319
|
} = args;
|
|
323
320
|
if (changeType === 'blur') {
|
|
324
|
-
const handleChangeCallback = callbackData => {
|
|
325
|
-
|
|
326
|
-
Object.entries(callbackRecord).forEach(([name, value]) => {
|
|
327
|
-
setValue(name, value);
|
|
328
|
-
});
|
|
329
|
-
onSubmit(callbackRecord);
|
|
330
|
-
};
|
|
331
|
-
if (onHeaderCellChange) {
|
|
332
|
-
if (onHeaderCellChange.length > 1) {
|
|
333
|
-
onHeaderCellChange({
|
|
334
|
-
field,
|
|
335
|
-
indexCol,
|
|
336
|
-
type: 'onChange',
|
|
337
|
-
value: newState,
|
|
338
|
-
option,
|
|
339
|
-
indexRow,
|
|
340
|
-
rowData: record,
|
|
341
|
-
rowId: key,
|
|
342
|
-
// rowsData: [...dataSource],
|
|
343
|
-
rowsData: [...convertData],
|
|
344
|
-
sumValue: []
|
|
345
|
-
}, handleChangeCallback);
|
|
346
|
-
} else {
|
|
347
|
-
onHeaderCellChange({
|
|
348
|
-
field,
|
|
349
|
-
indexCol,
|
|
350
|
-
type: 'onChange',
|
|
351
|
-
option,
|
|
352
|
-
value: newState,
|
|
353
|
-
indexRow,
|
|
354
|
-
rowData: record,
|
|
355
|
-
rowId: key,
|
|
356
|
-
rowsData: [...convertData],
|
|
357
|
-
sumValue: []
|
|
358
|
-
}, handleChangeCallback);
|
|
321
|
+
// const handleChangeCallback = (callbackData: RecordType[]) => {
|
|
322
|
+
// const callbackRecord = callbackData
|
|
359
323
|
|
|
360
|
-
|
|
361
|
-
|
|
324
|
+
// Object.entries(callbackRecord).forEach(
|
|
325
|
+
// ([name, value]: any) => {
|
|
326
|
+
// setValue(name, value)
|
|
327
|
+
|
|
328
|
+
// }
|
|
329
|
+
// )
|
|
330
|
+
|
|
331
|
+
// onSubmit(callbackRecord)
|
|
332
|
+
|
|
333
|
+
// }
|
|
334
|
+
|
|
335
|
+
if (onHeaderCellChange) {
|
|
336
|
+
const newObj = {
|
|
337
|
+
...headerData,
|
|
338
|
+
[field]: newState
|
|
339
|
+
};
|
|
340
|
+
onHeaderCellChange(newObj);
|
|
362
341
|
}
|
|
363
342
|
}
|
|
364
343
|
if (prevState && newState && prevState !== newState && changeType === 'enter') {
|
|
@@ -464,8 +443,10 @@ const InternalTable = props => {
|
|
|
464
443
|
handleSubmit,
|
|
465
444
|
onSubmit,
|
|
466
445
|
triggerPaste,
|
|
446
|
+
headerEditAble,
|
|
467
447
|
handleCellChange,
|
|
468
|
-
handleHeaderCellChange
|
|
448
|
+
handleHeaderCellChange,
|
|
449
|
+
headerData
|
|
469
450
|
})).use(features.paginationFeature({
|
|
470
451
|
pagination
|
|
471
452
|
}));
|
|
@@ -60,7 +60,7 @@ const outerBorderStyleMixin = css(["border-top:var(--cell-border-horizontal);bor
|
|
|
60
60
|
export const StyleTableContainer = styled.div.withConfig({
|
|
61
61
|
displayName: "StyleTableContainer",
|
|
62
62
|
componentId: "es-grid-template__sc-ipj1ht-0"
|
|
63
|
-
})(["--row-height:34px;--color:#333;--bgcolor:white;--body-hover-bgcolor:#f5f5f5;--body-hover-color:#333;--hover-bgcolor:var(--body-hover-bgcolor,#f5f5f5);--hover-color:var(--body-hover-color);--highlight-bgcolor:#eee;--header-row-height:34px;--header-color:#000000de;--header-bgcolor:#ffffff;--header-hover-bgcolor:#ddd;--header-highlight-bgcolor:#e4e8ed;--cell-padding:7px 8px;--font-size:13px;--line-height:1.28571;--lock-shadow:rgba(152,152,152,0.5) 0 0 6px 2px;--border-color:#dfe3e8;--border-color-select:#eb4619;--cell-border:1px solid var(--border-color);--cell-border-select:1px solid var(--border-color-select);--cell-border-horizontal:var(--cell-border);--cell-border-vertical:var(--cell-border);--header-cell-border:1px solid var(--border-color);--header-cell-border-horizontal:var(--header-cell-border);--header-cell-border-vertical:var(--header-cell-border);--footer-bgcolor:#fafafa;&.", "{--bgcolor:#343e59;--footer-bgcolor:#2e3342;--header-bgcolor:#343e59;--hover-bgcolor:#232b43;--header-hover-bgcolor:#606164;--highlight-bgcolor:#eff2f5;--header-highlight-bgcolor:#191a1b;--hover-color:#dadde1;--color:#dadde1;--header-color:#dadde1;--lock-shadow:rgb(37 37 37 / 0.5) 0 0 6px 2px;--border-color:#4f5266;background-color:var(--bgcolor);}&.use-outer-border{", ";}&.", "{.", "{border-left:0;border-right:0;td,th{border-right:0;}td.first,th.first{border-left:0;}td.last,th.last{}thead tr.first th,tbody tr.first td{}tr{td{&.lock-left,&.lock-right{border-bottom-width:0;box-shadow:0 -1px 0 0 var(--border-color),0 0px 0 0 var(--border-color),0px 0 0 0 var(--border-color);}}}&.has-footer tfoot tr.last td{}&.has-footer tbody tr.last td{}&.has-footer tfoot tr td{}&:not(.has-footer) tbody tr.last td{}&:has(.", ") thead tr.first th{}}}&.", "{&.use-outer-border{border-bottom:var(--header-cell-border);}.", "{border-top:0;td,th{border-bottom:0;border-top:0;}td.lock-left{box-shadow:none;}td.first,th.first{}td.last,th.last{}thead tr.first th,tbody tr.first td{}&.has-footer tfoot tr td{border-bottom:0;border-top:0;}&.has-footer tbody tr.last td{}&.has-footer tfoot tr td{}&:not(.has-footer) tbody tr.last td{}&:has(.", ") thead tr.first th{}}}&.", "{.", "{border:0;td,th{border-right:0;border-bottom:0;}td.lock-left{box-shadow:none;}td,th{border:0;}td.last,th.last{}thead tr.first th,tbody tr.first td{}&.has-footer tfoot tr td{border-bottom:0;border-top:0;}&.has-footer tbody tr.last td{}&.has-footer tfoot tr td{}&:not(.has-footer) tbody tr.last td{}&:has(.", ") thead tr.first th{border-top:0;border:0;}}}.", "{padding:8px;}&.ui-rc-grid .ui-rc-pagination{background-color:var(--bgcolor);color:var(--color);padding:10px;background-color:var(--bgcolor);.ui-rc-pagination-prev{.anticon.anticon-left{color:var(--color);}}.ui-rc-pagination-disabled{.anticon.anticon-left{color:#7d7a7a;}}.ui-rc-pagination-next{.anticon.anticon-right{color:var(--color);}&.ui-rc-pagination-disabled{.anticon.anticon-right{color:#7d7a7a;}}}}&.auto-height{.ui-rc-grid-bottom{border-top:0;}}.ui-rc-grid-bottom{border-top:var(--cell-border-horizontal);}&.", "{&.ui-rc-grid{.ui-rc-toolbar-bottom{background-color:var(--footer-bgcolor);color:#ffffff;}}.ui-rc-grid-top-toolbar{border-color:var(--border-color);color:#ffffff;}.ui-rc-toolbar{.ui-rc-toolbar-selection-item{background-color:var(--footer-bgcolor);color:#ffffff;}}}"], Classes.tableThemeDark, outerBorderStyleMixin, Classes.gridHorizontal, Classes.tableWrapper, Classes.tableTop, Classes.gridVertical, Classes.tableWrapper, Classes.tableTop, Classes.gridNone, Classes.tableWrapper, Classes.tableTop, Classes.tableTop, Classes.tableThemeDark);
|
|
63
|
+
})(["--row-height:34px;--color:#333;--bgcolor:white;--body-hover-bgcolor:#f5f5f5;--body-hover-color:#333;--hover-bgcolor:var(--body-hover-bgcolor,#f5f5f5);--hover-color:var(--body-hover-color);--highlight-bgcolor:#eee;--header-row-height:34px;--header-color:#000000de;--header-bgcolor:#ffffff;--header-hover-bgcolor:#ddd;--header-highlight-bgcolor:#e4e8ed;--cell-padding:7px 8px;--font-size:13px;--line-height:1.28571;--lock-shadow:rgba(152,152,152,0.5) 0 0 6px 2px;--border-color:#dfe3e8;--border-color-select:#eb4619;--cell-border:1px solid var(--border-color);--cell-border-select:1px solid var(--border-color-select);--cell-border-horizontal:var(--cell-border);--cell-border-vertical:var(--cell-border);--header-cell-border:1px solid var(--border-color);--header-cell-border-horizontal:var(--header-cell-border);--header-cell-border-vertical:var(--header-cell-border);--footer-bgcolor:#fafafa;&.", "{--bgcolor:#343e59;--footer-bgcolor:#2e3342;--header-bgcolor:#343e59;--hover-bgcolor:#232b43;--header-hover-bgcolor:#606164;--highlight-bgcolor:#eff2f5;--header-highlight-bgcolor:#191a1b;--hover-color:#dadde1;--color:#dadde1;--header-color:#dadde1;--lock-shadow:rgb(37 37 37 / 0.5) 0 0 6px 2px;--border-color:#4f5266;background-color:var(--bgcolor);}&.use-outer-border{", ";}&.", "{.", "{border-left:0;border-right:0;td,th{border-right:0;}td.first,th.first{border-left:0;}td.last,th.last{}thead tr.first th,tbody tr.first td{}tr{td{&.lock-left,&.lock-right{border-bottom-width:0;box-shadow:0 -1px 0 0 var(--border-color),0 0px 0 0 var(--border-color),0px 0 0 0 var(--border-color);}}}&.has-footer tfoot tr.last td{}&.has-footer tbody tr.last td{}&.has-footer tfoot tr td{}&:not(.has-footer) tbody tr.last td{}&:has(.", ") thead tr.first th{}}}&.", "{&.use-outer-border{border-bottom:var(--header-cell-border);}.", "{border-top:0;td,th{border-bottom:0;border-top:0;}td.lock-left{box-shadow:none;}td.first,th.first{}td.last,th.last{}thead tr.first th,tbody tr.first td{}&.has-footer tfoot tr td{border-bottom:0;border-top:0;}&.has-footer tbody tr.last td{}&.has-footer tfoot tr td{}&:not(.has-footer) tbody tr.last td{}&:has(.", ") thead tr.first th{}}}&.", "{.", "{border:0;td,th{border-right:0;border-bottom:0;}td.lock-left{box-shadow:none;}td,th{border:0;}td.last,th.last{}thead tr.first th,tbody tr.first td{}&.has-footer tfoot tr td{border-bottom:0;border-top:0;}&.has-footer tbody tr.last td{}&.has-footer tfoot tr td{}&:not(.has-footer) tbody tr.last td{}&:has(.", ") thead tr.first th{border-top:0;border:0;}}}.", "{padding:8px;}&.ui-rc-grid .ui-rc-pagination{background-color:var(--bgcolor);color:var(--color);padding:10px;background-color:var(--bgcolor);.ui-rc-pagination-prev{.anticon.anticon-left{color:var(--color);}}.ui-rc-pagination-disabled{.anticon.anticon-left{color:#7d7a7a;}}.ui-rc-pagination-next{.anticon.anticon-right{color:var(--color);}&.ui-rc-pagination-disabled{.anticon.anticon-right{color:#7d7a7a;}}}}&.auto-height{.ui-rc-grid-bottom{border-top:0;}}.ui-rc-grid-bottom{border-top:var(--cell-border-horizontal);}.ui-rc-toolbar-bottom{.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{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;}}}&.", "{&.ui-rc-grid{.ui-rc-toolbar-bottom{background-color:var(--footer-bgcolor);color:#ffffff;}}.ui-rc-grid-top-toolbar{border-color:var(--border-color);color:#ffffff;}.ui-rc-toolbar{.ui-rc-toolbar-selection-item{background-color:var(--footer-bgcolor);color:#ffffff;}}}"], Classes.tableThemeDark, outerBorderStyleMixin, Classes.gridHorizontal, Classes.tableWrapper, Classes.tableTop, Classes.gridVertical, Classes.tableWrapper, Classes.tableTop, Classes.gridNone, Classes.tableWrapper, Classes.tableTop, Classes.tableTop, Classes.tableThemeDark);
|
|
64
64
|
export const StyledArtTableWrapper = styled.div.withConfig({
|
|
65
65
|
displayName: "StyledArtTableWrapper",
|
|
66
66
|
componentId: "es-grid-template__sc-ipj1ht-1"
|
|
@@ -6,8 +6,8 @@ import { TableDOMHelper } from './helpers/TableDOMUtils';
|
|
|
6
6
|
import type { ResolvedUseVirtual, VerticalRenderRange, VirtualEnum } from './interfaces';
|
|
7
7
|
import type { LoadingContentWrapperProps } from './loading';
|
|
8
8
|
import type { BaseTableCSSVariables } from './styles';
|
|
9
|
-
import type { CommandClick, ExpandedRowRender, IFormat, IFTheme, RenderExpandIcon, RowClassName } from '../../grid-component/type';
|
|
10
|
-
export type PrimaryKey =
|
|
9
|
+
import type { AnyObject, CommandClick, ExpandedRowRender, IFormat, IFTheme, RenderExpandIcon, RowClassName } from '../../grid-component/type';
|
|
10
|
+
export type PrimaryKey<RecordType = AnyObject> = keyof RecordType | ((row: RecordType) => keyof RecordType);
|
|
11
11
|
export type ColumnResizeMode = 'onChange' | 'onEnd';
|
|
12
12
|
export type ExpandableConfig<RecordType> = {
|
|
13
13
|
expandedRowKeys?: readonly Key[];
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Subscription } from 'rxjs';
|
|
2
|
+
import { ColumnTable } from '../../grid-component';
|
|
2
3
|
/** styled-components 类库的版本,ali-react-table 同时支持 v3 和 v5 */
|
|
3
4
|
export declare const STYLED_VERSION: string;
|
|
4
5
|
export declare const STYLED_REF_PROP: string;
|
|
@@ -19,3 +20,4 @@ export declare function syncScrollLeft(elements: HTMLElement[], callback: (scrol
|
|
|
19
20
|
*/
|
|
20
21
|
export declare function shallowEqual<T>(objA: T, objB: T): boolean;
|
|
21
22
|
export declare function getParentElement(element: any, selector: any): any;
|
|
23
|
+
export declare function getColumnsAtLevel(columns: ColumnTable[], level: number): ColumnTable[];
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { asyncScheduler, BehaviorSubject, defer, fromEvent, Subscription } from 'rxjs';
|
|
2
2
|
import { map, throttleTime } from 'rxjs/operators';
|
|
3
3
|
import * as styledComponents from 'styled-components';
|
|
4
|
-
|
|
5
4
|
/** styled-components 类库的版本,ali-react-table 同时支持 v3 和 v5 */
|
|
6
5
|
export const STYLED_VERSION = styledComponents.createGlobalStyle != null ? 'v5' : 'v3';
|
|
7
6
|
export const STYLED_REF_PROP = STYLED_VERSION === 'v3' ? 'innerRef' : 'ref';
|
|
@@ -151,4 +150,16 @@ export function getParentElement(element, selector) {
|
|
|
151
150
|
}
|
|
152
151
|
}
|
|
153
152
|
return getParent(element, selector);
|
|
153
|
+
}
|
|
154
|
+
export function getColumnsAtLevel(columns, level) {
|
|
155
|
+
if (level === 0) {
|
|
156
|
+
return columns;
|
|
157
|
+
}
|
|
158
|
+
const result = [];
|
|
159
|
+
for (const column of columns) {
|
|
160
|
+
if (column.children?.length) {
|
|
161
|
+
result.push(...getColumnsAtLevel(column.children, level - 1));
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
return result;
|
|
154
165
|
}
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
import type { ReactElement, ReactNode } from 'react';
|
|
2
2
|
import type React from 'react';
|
|
3
3
|
import type { ColumnTemplate, CommandItem, EditType, FilterOperator, IColumnType, IFormat, ITextAlign, TypeFilter } from '../grid-component/type';
|
|
4
|
+
import type { PrimaryKey } from './base-table/table';
|
|
4
5
|
export type CellProps = React.TdHTMLAttributes<HTMLTableCellElement>;
|
|
6
|
+
export type BaseRecord = {
|
|
7
|
+
rowId: PrimaryKey;
|
|
8
|
+
};
|
|
5
9
|
export type FilterState = {
|
|
6
10
|
field: any;
|
|
7
11
|
key: any;
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
+
import type { PrimaryKey } from './base-table/table';
|
|
2
3
|
import type { ArtColumn } from './interfaces';
|
|
3
4
|
declare function safeRenderHeader(column: ArtColumn): import("react").ReactNode;
|
|
4
5
|
declare function safeRenderHeaderContent(column: ArtColumn, t?: any): any;
|
|
5
6
|
declare function safeGetValue(column: ArtColumn, record: any, rowIndex: number): any;
|
|
6
|
-
declare function safeGetRowKey(primaryKey:
|
|
7
|
+
declare function safeGetRowKey(primaryKey: PrimaryKey, record: any, rowIndex: number): string;
|
|
7
8
|
declare function safeGetCellProps(column: ArtColumn, record: any, rowIndex: number): import("./interfaces").CellProps;
|
|
8
9
|
declare function safeRender(column: ArtColumn, record: any, rowIndex: number): any;
|
|
9
10
|
export declare const internals: {
|
|
@@ -71,6 +71,8 @@ export interface ColumnFeatureOptions {
|
|
|
71
71
|
handleCellChange: any;
|
|
72
72
|
handleHeaderCellChange?: any;
|
|
73
73
|
dataErrors?: any[];
|
|
74
|
+
headerData?: any;
|
|
75
|
+
headerEditAble?: boolean;
|
|
74
76
|
}
|
|
75
77
|
export declare function columnCustom(opts: ColumnFeatureOptions): (pipeline: TablePipeline) => TablePipeline;
|
|
76
78
|
export {};
|