ods-component-lib 1.18.243 → 1.18.244
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/dist/components/devextreme/OdsMergeCellDataGrid/OdsMergeCellDataGrid.Types.d.ts +2 -1
- package/dist/components/devextreme/OdsMergeCellDataGrid/OdsMergeCellDataGrid.d.ts +2 -1
- package/dist/components/devextreme/OdsTimelineTable/OdsTimelineTable.Types.d.ts +1 -7
- package/dist/index.css +16 -0
- package/dist/index.js +122 -7
- package/dist/index.js.map +1 -1
- package/dist/index.modern.js +123 -8
- package/dist/index.modern.js.map +1 -1
- package/dist/stories/OdsMergeCellDataGrid/OdsMergeCellDataGrid.stories.d.ts +1 -1
- package/dist/stories/OdsMergeCellDataGrid/Samples/MergeCells/MergeCells.Constants.d.ts +4 -0
- package/dist/utils/customTypes.d.ts +6 -0
- package/package.json +1 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import { ButtonType } from "antd/es/button/buttonHelpers";
|
|
3
3
|
import { IButtonProps, IDataGridOptions, IEditingProps, ISelectionProps, ISummaryProps } from "devextreme-react/data-grid";
|
|
4
|
-
import { ITooltipType } from "../../../utils/customTypes";
|
|
4
|
+
import { ISortedColumn, ITooltipType } from "../../../utils/customTypes";
|
|
5
5
|
import { IColumnOptions, IMasterDetailDatas, IMasterDetailFeatures } from "../OdsMasterDetailDataGrid/types";
|
|
6
6
|
export declare type SummaryTypes = "avg" | "count" | "custom" | "max" | "min" | "sum";
|
|
7
7
|
interface IExportProps {
|
|
@@ -47,6 +47,7 @@ export interface IOdsDataGridProps extends IDataGridOptions {
|
|
|
47
47
|
masterDetailFeatures?: IMasterDetailFeatures;
|
|
48
48
|
DetailGridComponent?: React.FC<any>;
|
|
49
49
|
mergeDataFields: string[];
|
|
50
|
+
onSortingChanged?(sortedColumns: ISortedColumn[], headerCellProps?: any): void;
|
|
50
51
|
}
|
|
51
52
|
export interface ISummaryRowOptions {
|
|
52
53
|
summaryLoadedDataLabel?: string;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
+
import "./OdsMergeCellDataGrid.css";
|
|
2
3
|
import { IOdsDataGridProps } from "./OdsMergeCellDataGrid.Types";
|
|
3
|
-
declare const OdsMergeCellDataGrid:
|
|
4
|
+
declare const OdsMergeCellDataGrid: React.ForwardRefExoticComponent<IOdsDataGridProps & React.RefAttributes<unknown>>;
|
|
4
5
|
export default OdsMergeCellDataGrid;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import { IColumnProps, IGanttOptions, IItemProps } from "devextreme-react/gantt";
|
|
3
|
-
import { ExportDocumentType, ITooltipType, SortingProcessType
|
|
3
|
+
import { ExportDocumentType, ISortedColumn, ITooltipType, SortingProcessType } from "../../../utils/customTypes";
|
|
4
4
|
import { IButtonProps } from "devextreme-react/data-grid";
|
|
5
5
|
import { ButtonType } from "antd/es/button/buttonHelpers";
|
|
6
6
|
export declare type SortingMode = "single" | "multiple" | "none";
|
|
@@ -111,12 +111,6 @@ export interface IOdsTimelineTableStatusColumnProps extends IOdsTimelineTableCol
|
|
|
111
111
|
export interface IOdsTimelineCheckboxColumnProps extends IOdsTimelineTableColumnProps {
|
|
112
112
|
onCheckboxColumnChange(e: ICheckboxColumnChange): void;
|
|
113
113
|
}
|
|
114
|
-
export interface ISortedColumn {
|
|
115
|
-
sortingFieldName: string;
|
|
116
|
-
sortType: SortingType;
|
|
117
|
-
sortIndex: number;
|
|
118
|
-
sortingText: string;
|
|
119
|
-
}
|
|
120
114
|
export interface IOdsTimelineTableToolbarSettings {
|
|
121
115
|
visible?: boolean;
|
|
122
116
|
location?: "before" | "after";
|
package/dist/index.css
CHANGED
|
@@ -223,6 +223,22 @@ tr._2CvVM._3Xrp3._19iuB._3udtX {
|
|
|
223
223
|
pointer-events: none;
|
|
224
224
|
background-color: #f0f0f0;
|
|
225
225
|
}
|
|
226
|
+
._1Y6Xh:has(._1XPxo) {
|
|
227
|
+
width: 100%;
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
._1XPxo {
|
|
231
|
+
cursor: pointer;
|
|
232
|
+
width: 100%;
|
|
233
|
+
display: flex;
|
|
234
|
+
align-items: center;
|
|
235
|
+
}
|
|
236
|
+
|
|
237
|
+
._17w-X {
|
|
238
|
+
flex: 1;
|
|
239
|
+
align-content: center;
|
|
240
|
+
}
|
|
241
|
+
|
|
226
242
|
._3lbve {
|
|
227
243
|
writing-mode: vertical-lr;
|
|
228
244
|
}
|
package/dist/index.js
CHANGED
|
@@ -38049,7 +38049,7 @@ OdsMergeCellDataGridHelper.getInstance = function () {
|
|
|
38049
38049
|
};
|
|
38050
38050
|
|
|
38051
38051
|
var useToken$2 = antd.theme.useToken;
|
|
38052
|
-
var OdsMergeCellDataGrid = function
|
|
38052
|
+
var OdsMergeCellDataGrid = React.forwardRef(function (props, ref) {
|
|
38053
38053
|
var _props$columnResizing, _props$className, _props$selection, _props$selectOptions, _props$selectOptions$, _props$selectOptions2, _props$selectOptions$2, _props$selectOptions3;
|
|
38054
38054
|
var refGrid = props.refGrid,
|
|
38055
38055
|
keyExpr = props.keyExpr,
|
|
@@ -38069,6 +38069,12 @@ var OdsMergeCellDataGrid = function OdsMergeCellDataGrid(props) {
|
|
|
38069
38069
|
var _useState4 = React.useState([]),
|
|
38070
38070
|
mergedCellInfo = _useState4[0],
|
|
38071
38071
|
setMergedCellInfo = _useState4[1];
|
|
38072
|
+
var _useState5 = React.useState({
|
|
38073
|
+
sortedColumns: [],
|
|
38074
|
+
columnHeaderProps: null
|
|
38075
|
+
}),
|
|
38076
|
+
sortingChangeEventProps = _useState5[0],
|
|
38077
|
+
setSortingChangeEventProps = _useState5[1];
|
|
38072
38078
|
var _useStyles = useStyles$a(),
|
|
38073
38079
|
gridStyle = _useStyles.styles;
|
|
38074
38080
|
React.useEffect(function () {
|
|
@@ -38114,6 +38120,11 @@ var OdsMergeCellDataGrid = function OdsMergeCellDataGrid(props) {
|
|
|
38114
38120
|
refGrid.current.instance.updateDimensions();
|
|
38115
38121
|
}
|
|
38116
38122
|
}, []);
|
|
38123
|
+
React.useEffect(function () {
|
|
38124
|
+
if (sortingChangeEventProps.columnHeaderProps !== null) {
|
|
38125
|
+
props.onSortingChanged && props.onSortingChanged(sortingChangeEventProps.sortedColumns, sortingChangeEventProps.columnHeaderProps);
|
|
38126
|
+
}
|
|
38127
|
+
}, [sortingChangeEventProps]);
|
|
38117
38128
|
var actionButtons = React.useMemo(function () {
|
|
38118
38129
|
if (props.actionButtonGroup) {
|
|
38119
38130
|
if (props.actionButtonGroup.length > 3 && !props.edit) {
|
|
@@ -38375,6 +38386,112 @@ var OdsMergeCellDataGrid = function OdsMergeCellDataGrid(props) {
|
|
|
38375
38386
|
var checkIsPropArray = function checkIsPropArray(prop) {
|
|
38376
38387
|
return prop && Array.isArray(prop);
|
|
38377
38388
|
};
|
|
38389
|
+
var customClearSorting = function customClearSorting() {
|
|
38390
|
+
setSortingChangeEventProps(function (prev) {
|
|
38391
|
+
return _extends({}, prev, {
|
|
38392
|
+
sortedColumns: []
|
|
38393
|
+
});
|
|
38394
|
+
});
|
|
38395
|
+
props.onSortingChanged && props.onSortingChanged([], undefined);
|
|
38396
|
+
};
|
|
38397
|
+
var getSortedColumns = function getSortedColumns() {
|
|
38398
|
+
return sortingChangeEventProps.sortedColumns;
|
|
38399
|
+
};
|
|
38400
|
+
var customHeaderCellComponent = function customHeaderCellComponent(props) {
|
|
38401
|
+
if (props.data.column.allowSorting) {
|
|
38402
|
+
return React__default.createElement("div", {
|
|
38403
|
+
className: "sortingHeaderCell",
|
|
38404
|
+
onClick: function onClick(e) {
|
|
38405
|
+
if (Boolean(props.data.column.allowSorting)) {
|
|
38406
|
+
if (e.shiftKey === true && e.ctrlKey === false) {
|
|
38407
|
+
onSorting(props.data, 2);
|
|
38408
|
+
} else if (e.shiftKey === false && e.ctrlKey === false) {
|
|
38409
|
+
onSorting(props.data, 1);
|
|
38410
|
+
} else if (e.shiftKey === false && e.ctrlKey === true) {
|
|
38411
|
+
onRemoveSorting(props.data);
|
|
38412
|
+
}
|
|
38413
|
+
}
|
|
38414
|
+
}
|
|
38415
|
+
}, React__default.createElement("span", {
|
|
38416
|
+
className: "headerCaption"
|
|
38417
|
+
}, props.data.column.caption), getSortIcon(props.data.column));
|
|
38418
|
+
}
|
|
38419
|
+
return React__default.createElement("div", null, props.data.column.caption);
|
|
38420
|
+
};
|
|
38421
|
+
var getSortIcon = function getSortIcon(column) {
|
|
38422
|
+
var sortingFieldName = getSortingFieldName(column);
|
|
38423
|
+
var sortedColumn = sortingChangeEventProps.sortedColumns.find(function (item) {
|
|
38424
|
+
return item.sortingFieldName == sortingFieldName;
|
|
38425
|
+
});
|
|
38426
|
+
if (sortedColumn) {
|
|
38427
|
+
return sortedColumn.sortType === "ASC" ? React__default.createElement(outline.UpArrow2Icon, null) : React__default.createElement(outline.DownArrow2Icon, null);
|
|
38428
|
+
}
|
|
38429
|
+
return undefined;
|
|
38430
|
+
};
|
|
38431
|
+
var getSortingFieldName = function getSortingFieldName(column) {
|
|
38432
|
+
var _column$sortingFieldN;
|
|
38433
|
+
return (_column$sortingFieldN = column.sortingFieldName) != null ? _column$sortingFieldN : column.dataField;
|
|
38434
|
+
};
|
|
38435
|
+
var onSorting = function onSorting(headerCellProps, sortingMode) {
|
|
38436
|
+
var sortingFieldName = getSortingFieldName(headerCellProps.column);
|
|
38437
|
+
var sortedColumn = sortingChangeEventProps.sortedColumns.find(function (item) {
|
|
38438
|
+
return item.sortingFieldName == sortingFieldName;
|
|
38439
|
+
});
|
|
38440
|
+
var prevSortIndex = sortedColumn === null || sortedColumn === void 0 ? void 0 : sortedColumn.sortIndex;
|
|
38441
|
+
var newSortedColumn = {
|
|
38442
|
+
sortingFieldName: sortingFieldName,
|
|
38443
|
+
sortType: "ASC",
|
|
38444
|
+
sortIndex: sortingMode == 2 ? sortedColumn === undefined ? sortingChangeEventProps.sortedColumns.length : sortingChangeEventProps.sortedColumns.length - 1 : 0,
|
|
38445
|
+
sortingText: sortingFieldName + " ASC"
|
|
38446
|
+
};
|
|
38447
|
+
if (sortedColumn) {
|
|
38448
|
+
newSortedColumn.sortType = sortedColumn.sortType == "ASC" ? "DESC" : "ASC";
|
|
38449
|
+
newSortedColumn.sortingText = sortingFieldName + " " + newSortedColumn.sortType;
|
|
38450
|
+
}
|
|
38451
|
+
var newSortedColumns = sortingMode == 2 ? [].concat(sortingChangeEventProps.sortedColumns.filter(function (item) {
|
|
38452
|
+
return item.sortingFieldName != sortingFieldName;
|
|
38453
|
+
}), [newSortedColumn]) : [newSortedColumn];
|
|
38454
|
+
if (sortingMode == 2 && sortedColumn !== undefined) {
|
|
38455
|
+
newSortedColumns = newSortedColumns.map(function (item) {
|
|
38456
|
+
if (item.sortingFieldName != sortingFieldName && item.sortIndex > prevSortIndex) {
|
|
38457
|
+
item.sortIndex = item.sortIndex - 1;
|
|
38458
|
+
}
|
|
38459
|
+
return item;
|
|
38460
|
+
});
|
|
38461
|
+
}
|
|
38462
|
+
setSortingChangeEventProps({
|
|
38463
|
+
sortedColumns: newSortedColumns,
|
|
38464
|
+
columnHeaderProps: headerCellProps
|
|
38465
|
+
});
|
|
38466
|
+
};
|
|
38467
|
+
var onRemoveSorting = function onRemoveSorting(headerCellProps) {
|
|
38468
|
+
var sortingFieldName = getSortingFieldName(headerCellProps.column);
|
|
38469
|
+
var sortedColumn = sortingChangeEventProps.sortedColumns.find(function (item) {
|
|
38470
|
+
return item.sortingFieldName == sortingFieldName;
|
|
38471
|
+
});
|
|
38472
|
+
if (sortedColumn === undefined) {
|
|
38473
|
+
return;
|
|
38474
|
+
}
|
|
38475
|
+
var prevSortIndex = sortedColumn.sortIndex;
|
|
38476
|
+
var newSortedColumns = sortingChangeEventProps.sortedColumns.filter(function (item) {
|
|
38477
|
+
return item.sortingFieldName != sortingFieldName;
|
|
38478
|
+
}).map(function (item) {
|
|
38479
|
+
if (item.sortIndex > prevSortIndex) {
|
|
38480
|
+
item.sortIndex = item.sortIndex - 1;
|
|
38481
|
+
}
|
|
38482
|
+
return item;
|
|
38483
|
+
});
|
|
38484
|
+
setSortingChangeEventProps({
|
|
38485
|
+
sortedColumns: newSortedColumns,
|
|
38486
|
+
columnHeaderProps: headerCellProps
|
|
38487
|
+
});
|
|
38488
|
+
};
|
|
38489
|
+
React.useImperativeHandle(ref, function () {
|
|
38490
|
+
return {
|
|
38491
|
+
getSortedColumns: getSortedColumns,
|
|
38492
|
+
customClearSorting: customClearSorting
|
|
38493
|
+
};
|
|
38494
|
+
});
|
|
38378
38495
|
return React__default.createElement(React__default.Fragment, null, React__default.createElement(DataGrid__default, Object.assign({
|
|
38379
38496
|
keyExpr: keyExpr,
|
|
38380
38497
|
dataSource: data,
|
|
@@ -38386,9 +38503,6 @@ var OdsMergeCellDataGrid = function OdsMergeCellDataGrid(props) {
|
|
|
38386
38503
|
columnResizingMode: (_props$columnResizing = props.columnResizingMode) != null ? _props$columnResizing : "widget",
|
|
38387
38504
|
showRowLines: true,
|
|
38388
38505
|
allowColumnReordering: true,
|
|
38389
|
-
remoteOperations: {
|
|
38390
|
-
sorting: true
|
|
38391
|
-
},
|
|
38392
38506
|
paging: {
|
|
38393
38507
|
enabled: false
|
|
38394
38508
|
},
|
|
@@ -38427,7 +38541,8 @@ var OdsMergeCellDataGrid = function OdsMergeCellDataGrid(props) {
|
|
|
38427
38541
|
}, col, {
|
|
38428
38542
|
minWidth: 50,
|
|
38429
38543
|
width: props.isColumnWidthFixed === true ? 160 : undefined,
|
|
38430
|
-
cssClass: col.cssClass
|
|
38544
|
+
cssClass: col.cssClass,
|
|
38545
|
+
headerCellComponent: customHeaderCellComponent
|
|
38431
38546
|
}), col.lookUp && React__default.createElement(devextremeReact.Lookup, Object.assign({}, col.lookUp)), (col.dataField === "IsActive" || col.dataField === "isActive") && React__default.createElement(DataGrid.HeaderFilter, {
|
|
38432
38547
|
dataSource: [{
|
|
38433
38548
|
text: "Active",
|
|
@@ -38475,7 +38590,7 @@ var OdsMergeCellDataGrid = function OdsMergeCellDataGrid(props) {
|
|
|
38475
38590
|
}), React__default.createElement(DataGrid.HeaderFilter, {
|
|
38476
38591
|
visible: true
|
|
38477
38592
|
}), React__default.createElement(DataGrid.Sorting, {
|
|
38478
|
-
mode: "
|
|
38593
|
+
mode: "none"
|
|
38479
38594
|
}), !props.closeGridHeader && React__default.createElement(DataGrid.Export, {
|
|
38480
38595
|
enabled: true,
|
|
38481
38596
|
allowExportSelectedData: true,
|
|
@@ -38513,7 +38628,7 @@ var OdsMergeCellDataGrid = function OdsMergeCellDataGrid(props) {
|
|
|
38513
38628
|
customLoad: customLoad,
|
|
38514
38629
|
customSave: customSave
|
|
38515
38630
|
})));
|
|
38516
|
-
};
|
|
38631
|
+
});
|
|
38517
38632
|
|
|
38518
38633
|
var lodash = createCommonjsModule(function (module, exports) {
|
|
38519
38634
|
(function() {
|