ods-component-lib 1.18.144 → 1.18.146
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/OdsInlineEditDataGrid/handlers/OnContentReadyHandler.d.ts
CHANGED
|
@@ -11,8 +11,7 @@ import { IColumnOptions } from "../types";
|
|
|
11
11
|
* @param {Function} setUpdateTrigger - Function to set the update trigger.
|
|
12
12
|
* @param {Function} setCurrentPage - Function to set the current page.
|
|
13
13
|
* @param {Function} setCurrentPageSize - Function to set the current page size.
|
|
14
|
-
* @param {Function} setHeaderFilterData - Function to set the header filter data.
|
|
15
14
|
* @param {Function} [callback] - Optional callback function.
|
|
16
15
|
* @returns {(e: ContentReadyEvent<any, any>) => void} handleContentReady - Handler for content ready event.
|
|
17
16
|
*/
|
|
18
|
-
export declare const useOnContentReadyHandler: (columns: IColumnOptions[], lastPageIndexRef: MutableRefObject<number>, filterApplied: boolean, totalFilteredCount: MutableRefObject<number>, totalUnfilteredCount: MutableRefObject<number>, setUpdateTrigger: Function, setCurrentPage: Function, setCurrentPageSize: Function,
|
|
17
|
+
export declare const useOnContentReadyHandler: (columns: IColumnOptions[], lastPageIndexRef: MutableRefObject<number>, filterApplied: boolean, totalFilteredCount: MutableRefObject<number>, totalUnfilteredCount: MutableRefObject<number>, setUpdateTrigger: Function, setCurrentPage: Function, setCurrentPageSize: Function, callback: Function) => (e: ContentReadyEvent<any, any>) => void;
|
package/dist/index.js
CHANGED
|
@@ -33748,8 +33748,8 @@ var OdsBasicDataGrid = function OdsBasicDataGrid(props) {
|
|
|
33748
33748
|
};
|
|
33749
33749
|
var actionButtons = React.useMemo(function () {
|
|
33750
33750
|
if (props.actionButtonGroup) {
|
|
33751
|
-
if (props.actionButtonGroup.length
|
|
33752
|
-
return props.actionButtonGroup.slice(0,
|
|
33751
|
+
if (props.actionButtonGroup.length > 3 && !props.edit) {
|
|
33752
|
+
return props.actionButtonGroup.slice(0, 2);
|
|
33753
33753
|
} else {
|
|
33754
33754
|
return props.actionButtonGroup;
|
|
33755
33755
|
}
|
|
@@ -33830,7 +33830,7 @@ var OdsBasicDataGrid = function OdsBasicDataGrid(props) {
|
|
|
33830
33830
|
return result;
|
|
33831
33831
|
}, [data, filteredRowCount, constants.loadedPageCount, props.pageSize, constants.totalRecordCount, filterApplied.current]);
|
|
33832
33832
|
function actionCellRender(cellData, props) {
|
|
33833
|
-
var kebabMenuButtons = props.actionButtonGroup && props.actionButtonGroup.length
|
|
33833
|
+
var kebabMenuButtons = props.actionButtonGroup && props.actionButtonGroup.length > 3 && !props.edit ? props.actionButtonGroup.slice(2).map(function (button) {
|
|
33834
33834
|
return {
|
|
33835
33835
|
icon: button.icon,
|
|
33836
33836
|
onClick: function onClick(event) {
|
|
@@ -35154,8 +35154,8 @@ var OdsServerSideDatagrid = function OdsServerSideDatagrid(props) {
|
|
|
35154
35154
|
}, []);
|
|
35155
35155
|
var actionButtons = React.useMemo(function () {
|
|
35156
35156
|
if (props.actionButtonGroup) {
|
|
35157
|
-
if (props.actionButtonGroup.length
|
|
35158
|
-
return props.actionButtonGroup.slice(0,
|
|
35157
|
+
if (props.actionButtonGroup.length > 3 && !props.edit) {
|
|
35158
|
+
return props.actionButtonGroup.slice(0, 2);
|
|
35159
35159
|
} else {
|
|
35160
35160
|
return props.actionButtonGroup;
|
|
35161
35161
|
}
|
|
@@ -35179,7 +35179,7 @@ var OdsServerSideDatagrid = function OdsServerSideDatagrid(props) {
|
|
|
35179
35179
|
}
|
|
35180
35180
|
}, []);
|
|
35181
35181
|
function actionCellRender(cellData, props) {
|
|
35182
|
-
var kebabMenuButtons = props.actionButtonGroup && props.actionButtonGroup.length
|
|
35182
|
+
var kebabMenuButtons = props.actionButtonGroup && props.actionButtonGroup.length > 3 && !props.edit ? props.actionButtonGroup.slice(2).map(function (button) {
|
|
35183
35183
|
return {
|
|
35184
35184
|
icon: button.icon,
|
|
35185
35185
|
onClick: function onClick(event) {
|
|
@@ -35511,7 +35511,7 @@ var useOnActionCellRenderHandler = function useOnActionCellRenderHandler(visible
|
|
|
35511
35511
|
return onActionCellRender;
|
|
35512
35512
|
};
|
|
35513
35513
|
|
|
35514
|
-
var useOnContentReadyHandler = function useOnContentReadyHandler(columns, lastPageIndexRef, filterApplied, totalFilteredCount, totalUnfilteredCount, setUpdateTrigger, setCurrentPage, setCurrentPageSize,
|
|
35514
|
+
var useOnContentReadyHandler = function useOnContentReadyHandler(columns, lastPageIndexRef, filterApplied, totalFilteredCount, totalUnfilteredCount, setUpdateTrigger, setCurrentPage, setCurrentPageSize, callback) {
|
|
35515
35515
|
var onContentReady = React.useCallback(function (e) {
|
|
35516
35516
|
var _dataGridInstance$get;
|
|
35517
35517
|
var dataGridInstance = e.component;
|
|
@@ -35519,32 +35519,6 @@ var useOnContentReadyHandler = function useOnContentReadyHandler(columns, lastPa
|
|
|
35519
35519
|
var currentTotalCount = dataGridInstance.totalCount();
|
|
35520
35520
|
var newData = dataGridInstance === null || dataGridInstance === void 0 ? void 0 : (_dataGridInstance$get = dataGridInstance.getDataSource()) === null || _dataGridInstance$get === void 0 ? void 0 : _dataGridInstance$get.items();
|
|
35521
35521
|
if (lastPageIndexRef.current !== currentPageIndex && newData && newData.length > 0) {
|
|
35522
|
-
setHeaderFilterData(function (prevData) {
|
|
35523
|
-
var uniqueValuesByColumn = {};
|
|
35524
|
-
columns.forEach(function (col) {
|
|
35525
|
-
uniqueValuesByColumn[col.dataField] = new Set(prevData.map(function (item) {
|
|
35526
|
-
return item[col.dataField];
|
|
35527
|
-
}).filter(function (val) {
|
|
35528
|
-
return val !== null && val !== "";
|
|
35529
|
-
}));
|
|
35530
|
-
});
|
|
35531
|
-
var newItems = [];
|
|
35532
|
-
newData.forEach(function (item) {
|
|
35533
|
-
var addItem = {};
|
|
35534
|
-
columns.forEach(function (col) {
|
|
35535
|
-
var _item$col$dataField;
|
|
35536
|
-
var colValue = (_item$col$dataField = item[col.dataField]) === null || _item$col$dataField === void 0 ? void 0 : _item$col$dataField.toString();
|
|
35537
|
-
if (colValue && !uniqueValuesByColumn[col.dataField].has(colValue)) {
|
|
35538
|
-
uniqueValuesByColumn[col.dataField].add(colValue);
|
|
35539
|
-
addItem[col.dataField] = colValue;
|
|
35540
|
-
}
|
|
35541
|
-
});
|
|
35542
|
-
if (Object.keys(addItem).length > 0) {
|
|
35543
|
-
newItems.push(addItem);
|
|
35544
|
-
}
|
|
35545
|
-
});
|
|
35546
|
-
return [].concat(prevData, newItems);
|
|
35547
|
-
});
|
|
35548
35522
|
setCurrentPage(currentPageIndex);
|
|
35549
35523
|
setCurrentPageSize(dataGridInstance.pageSize());
|
|
35550
35524
|
if (filterApplied) {
|
|
@@ -35696,7 +35670,7 @@ var PageTitleAndToolbar = function PageTitleAndToolbar(_ref) {
|
|
|
35696
35670
|
};
|
|
35697
35671
|
var MemoizedPageTitleAndToolbar = React__default.memo(PageTitleAndToolbar);
|
|
35698
35672
|
|
|
35699
|
-
var _excluded$5 = ["dataGridRef", "actionColumnEnable", "actionButtonGroup", "gridColumns", "columnResizingMode", "customSummary", "dataSource", "editProps", "exportProps", "isFilterPanel", "isFilterRow", "pageTitle", "pagerProps", "pageSize", "scrollingProps", "sortingProps", "toolbarButtonGroup", "totalRecordCount", "width", "height", "className", "onCellClick", "onContentReady", "onEditorPrepared", "onOptionChanged", "onExporting"];
|
|
35673
|
+
var _excluded$5 = ["dataGridRef", "actionColumnEnable", "actionButtonGroup", "gridColumns", "columnResizingMode", "customSummary", "dataSource", "editProps", "exportProps", "headerFilter", "isFilterPanel", "isFilterRow", "pageTitle", "pagerProps", "pageSize", "scrollingProps", "sortingProps", "toolbarButtonGroup", "totalRecordCount", "width", "height", "className", "onCellClick", "onContentReady", "onEditorPrepared", "onOptionChanged", "onExporting"];
|
|
35700
35674
|
var DefaultDataGridOptions = {
|
|
35701
35675
|
allowColumnReordering: true,
|
|
35702
35676
|
allowColumnResizing: true,
|
|
@@ -35720,6 +35694,7 @@ var OdsInlineEditDataGrid = function OdsInlineEditDataGrid(props) {
|
|
|
35720
35694
|
dataSourceFromProps = props.dataSource,
|
|
35721
35695
|
editPropsFromProps = props.editProps,
|
|
35722
35696
|
exportPropsFromProps = props.exportProps,
|
|
35697
|
+
headerFilterFromProps = props.headerFilter,
|
|
35723
35698
|
isFilterPanelFromProps = props.isFilterPanel,
|
|
35724
35699
|
isFilterRowFromProps = props.isFilterRow,
|
|
35725
35700
|
pageTitleFromProps = props.pageTitle,
|
|
@@ -35744,22 +35719,16 @@ var OdsInlineEditDataGrid = function OdsInlineEditDataGrid(props) {
|
|
|
35744
35719
|
var _useState2 = React.useState(pageSizeFromProps != null ? pageSizeFromProps : 50),
|
|
35745
35720
|
currentPageSize = _useState2[0],
|
|
35746
35721
|
setCurrentPageSize = _useState2[1];
|
|
35747
|
-
var _useState3 = React.useState(
|
|
35748
|
-
|
|
35749
|
-
|
|
35722
|
+
var _useState3 = React.useState(false),
|
|
35723
|
+
filterApplied = _useState3[0],
|
|
35724
|
+
setFilterApplied = _useState3[1];
|
|
35750
35725
|
var _useState4 = React.useState(false),
|
|
35751
|
-
|
|
35752
|
-
|
|
35753
|
-
var _useState5 = React.useState([]),
|
|
35754
|
-
headerFilterData = _useState5[0],
|
|
35755
|
-
setHeaderFilterData = _useState5[1];
|
|
35756
|
-
var _useState6 = React.useState(false),
|
|
35757
|
-
updateTrigger = _useState6[0],
|
|
35758
|
-
setUpdateTrigger = _useState6[1];
|
|
35726
|
+
updateTrigger = _useState4[0],
|
|
35727
|
+
setUpdateTrigger = _useState4[1];
|
|
35759
35728
|
var lastPageIndexRef = React.useRef(null);
|
|
35760
35729
|
var totalUnfilteredCount = React.useRef(0);
|
|
35761
35730
|
var totalFilteredCount = React.useRef(0);
|
|
35762
|
-
var handleContentReady = useOnContentReadyHandler(gridColumnsFromProps, lastPageIndexRef, filterApplied, totalFilteredCount, totalUnfilteredCount, setUpdateTrigger, setCurrentPage, setCurrentPageSize,
|
|
35731
|
+
var handleContentReady = useOnContentReadyHandler(gridColumnsFromProps, lastPageIndexRef, filterApplied, totalFilteredCount, totalUnfilteredCount, setUpdateTrigger, setCurrentPage, setCurrentPageSize, onContentReadyFromProps);
|
|
35763
35732
|
var _useOnSummaryHandler = useOnSummaryHandler({
|
|
35764
35733
|
customSummary: customSummaryFromProps,
|
|
35765
35734
|
totalRecordCount: totalRecordCountFromProps,
|
|
@@ -35772,45 +35741,6 @@ var OdsInlineEditDataGrid = function OdsInlineEditDataGrid(props) {
|
|
|
35772
35741
|
renderTotal = _useOnSummaryHandler.renderTotal;
|
|
35773
35742
|
var handleOptionChanged = useOnOptionChangedHandler(dataGridRefFromProps, totalFilteredCount, sortingPropsFromProps, setFilterApplied, setUpdateTrigger, onOptionChangedFromProps);
|
|
35774
35743
|
React.useEffect(function () {}, [updateTrigger]);
|
|
35775
|
-
React.useEffect(function () {
|
|
35776
|
-
var loadFilterData = function loadFilterData() {
|
|
35777
|
-
try {
|
|
35778
|
-
var newFilterOptions = {};
|
|
35779
|
-
var _loop = function _loop() {
|
|
35780
|
-
var col = _step.value;
|
|
35781
|
-
try {
|
|
35782
|
-
if (headerFilterData.length > 0) {
|
|
35783
|
-
var newData = headerFilterData.filter(function (item) {
|
|
35784
|
-
return item[col.dataField] != null && item[col.dataField] !== "";
|
|
35785
|
-
}).map(function (item) {
|
|
35786
|
-
return item[col.dataField].toString();
|
|
35787
|
-
});
|
|
35788
|
-
var values = newData.map(function (group) {
|
|
35789
|
-
return {
|
|
35790
|
-
text: group,
|
|
35791
|
-
value: group
|
|
35792
|
-
};
|
|
35793
|
-
});
|
|
35794
|
-
newFilterOptions[col.dataField] = values;
|
|
35795
|
-
}
|
|
35796
|
-
} catch (error) {
|
|
35797
|
-
console.error("Error loading data for header filter:", error);
|
|
35798
|
-
}
|
|
35799
|
-
};
|
|
35800
|
-
for (var _iterator = _createForOfIteratorHelperLoose(gridColumnsFromProps), _step; !(_step = _iterator()).done;) {
|
|
35801
|
-
_loop();
|
|
35802
|
-
}
|
|
35803
|
-
setFilterOptions(newFilterOptions);
|
|
35804
|
-
return Promise.resolve();
|
|
35805
|
-
} catch (e) {
|
|
35806
|
-
return Promise.reject(e);
|
|
35807
|
-
}
|
|
35808
|
-
};
|
|
35809
|
-
loadFilterData();
|
|
35810
|
-
}, [headerFilterData, gridColumnsFromProps]);
|
|
35811
|
-
React.useEffect(function () {
|
|
35812
|
-
setHeaderFilterData([]);
|
|
35813
|
-
}, []);
|
|
35814
35744
|
var handleEditorPrepared = useOnEditorPreparedHandler(onEditorPreparedFromProps);
|
|
35815
35745
|
var handleExporting = useOnExportingHandler(exportPropsFromProps, renderTotal, onExportingFromProps);
|
|
35816
35746
|
var handleCellClick = React.useCallback(function (e) {
|
|
@@ -35821,7 +35751,7 @@ var OdsInlineEditDataGrid = function OdsInlineEditDataGrid(props) {
|
|
|
35821
35751
|
onCellClickFromProps(e);
|
|
35822
35752
|
}
|
|
35823
35753
|
}, []);
|
|
35824
|
-
var
|
|
35754
|
+
var VisibleActionButtons = React.useMemo(function () {
|
|
35825
35755
|
if (actionButtonGroupFromProps) {
|
|
35826
35756
|
if (actionButtonGroupFromProps.length >= 2 && !editPropsFromProps) {
|
|
35827
35757
|
return actionButtonGroupFromProps.slice(0, 2);
|
|
@@ -35830,29 +35760,26 @@ var OdsInlineEditDataGrid = function OdsInlineEditDataGrid(props) {
|
|
|
35830
35760
|
}
|
|
35831
35761
|
return [];
|
|
35832
35762
|
}, []);
|
|
35833
|
-
var ActionCellRenderPartial = useOnActionCellRenderHandler(
|
|
35763
|
+
var ActionCellRenderPartial = useOnActionCellRenderHandler(VisibleActionButtons, actionButtonGroupFromProps, editPropsFromProps);
|
|
35834
35764
|
var DataGridOptionsFromProps = React.useMemo(function () {
|
|
35835
35765
|
return _extends({}, AllGridOptions, DefaultDataGridOptions, {
|
|
35836
35766
|
columnResizingMode: columnResizingModeFromProps != null ? columnResizingModeFromProps : "nextColumn"
|
|
35837
35767
|
});
|
|
35838
35768
|
}, []);
|
|
35839
|
-
var
|
|
35769
|
+
var DataGridHeight = React.useMemo(function () {
|
|
35840
35770
|
return heightFromProps != null ? heightFromProps : window.innerHeight > 164 ? window.innerHeight - 164 : window.innerHeight;
|
|
35841
35771
|
}, []);
|
|
35842
|
-
var
|
|
35772
|
+
var RederedGridColumns = React.useMemo(function () {
|
|
35843
35773
|
return gridColumnsFromProps.map(function (col) {
|
|
35844
|
-
var _col$
|
|
35774
|
+
var _col$multiLevelColumn;
|
|
35845
35775
|
return React__default.createElement(DataGrid.Column, Object.assign({
|
|
35846
35776
|
key: col.dataField
|
|
35847
35777
|
}, col, {
|
|
35848
35778
|
minWidth: 10
|
|
35849
|
-
}), col.lookup && React__default.createElement(DataGrid.Lookup, Object.assign({}, col.lookup)),
|
|
35850
|
-
|
|
35851
|
-
|
|
35852
|
-
}),
|
|
35853
|
-
allowSearch: true,
|
|
35854
|
-
dataSource: [].concat(filterOptions[col.dataField] || [])
|
|
35855
|
-
}), (_col$multiLevelColumn = col.multiLevelColumns) === null || _col$multiLevelColumn === void 0 ? void 0 : _col$multiLevelColumn.map(function (multiLevelColItem) {
|
|
35779
|
+
}), col.lookup && React__default.createElement(DataGrid.Lookup, Object.assign({}, col.lookup)), col.headerFilter && React__default.createElement(DataGrid.HeaderFilter, Object.assign({}, col.headerFilter, {
|
|
35780
|
+
visible: true,
|
|
35781
|
+
allowSearch: true
|
|
35782
|
+
})), (_col$multiLevelColumn = col.multiLevelColumns) === null || _col$multiLevelColumn === void 0 ? void 0 : _col$multiLevelColumn.map(function (multiLevelColItem) {
|
|
35856
35783
|
return React__default.createElement(DataGrid.Column, {
|
|
35857
35784
|
key: multiLevelColItem.dataField,
|
|
35858
35785
|
dataField: multiLevelColItem.dataField,
|
|
@@ -35862,6 +35789,11 @@ var OdsInlineEditDataGrid = function OdsInlineEditDataGrid(props) {
|
|
|
35862
35789
|
}));
|
|
35863
35790
|
});
|
|
35864
35791
|
}, [gridColumnsFromProps]);
|
|
35792
|
+
var isHeaderFilterEnabledInAnyColumn = React.useMemo(function () {
|
|
35793
|
+
return gridColumnsFromProps.some(function (col) {
|
|
35794
|
+
return col.headerFilter;
|
|
35795
|
+
});
|
|
35796
|
+
}, [gridColumnsFromProps]);
|
|
35865
35797
|
return React__default.createElement("div", null, pageTitleFromProps && React__default.createElement(MemoizedPageTitleAndToolbar, {
|
|
35866
35798
|
pageTitle: pageTitleFromProps,
|
|
35867
35799
|
toolbarButtonGroup: toolbarButtonGroupFromProps
|
|
@@ -35869,7 +35801,7 @@ var OdsInlineEditDataGrid = function OdsInlineEditDataGrid(props) {
|
|
|
35869
35801
|
ref: dataGridRefFromProps,
|
|
35870
35802
|
dataSource: dataSourceFromProps,
|
|
35871
35803
|
width: "100%",
|
|
35872
|
-
height:
|
|
35804
|
+
height: DataGridHeight,
|
|
35873
35805
|
className: gridStyle.grid
|
|
35874
35806
|
}, DataGridOptionsFromProps, {
|
|
35875
35807
|
onCellClick: handleCellClick,
|
|
@@ -35877,7 +35809,7 @@ var OdsInlineEditDataGrid = function OdsInlineEditDataGrid(props) {
|
|
|
35877
35809
|
onEditorPrepared: handleEditorPrepared,
|
|
35878
35810
|
onExporting: handleExporting,
|
|
35879
35811
|
onOptionChanged: handleOptionChanged
|
|
35880
|
-
}),
|
|
35812
|
+
}), RederedGridColumns, React__default.createElement(DataGrid.ColumnChooser, {
|
|
35881
35813
|
enabled: true,
|
|
35882
35814
|
mode: "select"
|
|
35883
35815
|
}, !props.columnChooserPositionDisabled && React__default.createElement(DataGrid.Position, {
|
|
@@ -35897,9 +35829,9 @@ var OdsInlineEditDataGrid = function OdsInlineEditDataGrid(props) {
|
|
|
35897
35829
|
useIcons: true
|
|
35898
35830
|
})), (exportPropsFromProps === null || exportPropsFromProps === void 0 ? void 0 : exportPropsFromProps.enabled) && React__default.createElement(DataGrid.Export, Object.assign({}, exportPropsFromProps)), isFilterPanelFromProps && React__default.createElement(DataGrid.FilterPanel, {
|
|
35899
35831
|
visible: isFilterPanelFromProps
|
|
35900
|
-
}), React__default.createElement(DataGrid.HeaderFilter, {
|
|
35832
|
+
}), ((headerFilterFromProps === null || headerFilterFromProps === void 0 ? void 0 : headerFilterFromProps.visible) || isHeaderFilterEnabledInAnyColumn) && React__default.createElement(DataGrid.HeaderFilter, Object.assign({}, headerFilterFromProps, {
|
|
35901
35833
|
visible: true
|
|
35902
|
-
}), isFilterRowFromProps && React__default.createElement(DataGrid.FilterRow, {
|
|
35834
|
+
})), isFilterRowFromProps && React__default.createElement(DataGrid.FilterRow, {
|
|
35903
35835
|
visible: isFilterRowFromProps
|
|
35904
35836
|
}), actionColumnEnableFromProps && actionButtonGroupFromProps && React__default.createElement(DataGrid.Column, {
|
|
35905
35837
|
dataField: "Actions",
|