ods-component-lib 1.18.145 → 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.
Files changed (34) hide show
  1. package/dist/components/antd/form/OdsBasicForm.d.ts +18 -0
  2. package/dist/components/antd/icon/OdsIcon.d.ts +10 -0
  3. package/dist/components/antd/modal/OdsAdvanceModal.d.ts +7 -0
  4. package/dist/components/antd/select/OdsCustomMultiSelect.d.ts +7 -0
  5. package/dist/components/antd/select/OdsMultiSelect.d.ts +9 -0
  6. package/dist/components/custom/OdsLogin.d.ts +8 -0
  7. package/dist/components/devextreme/DxDataPopupForm.d.ts +3 -0
  8. package/dist/components/devextreme/DynamicIcon.d.ts +5 -0
  9. package/dist/components/devextreme/OdsDataGridNew.d.ts +56 -0
  10. package/dist/components/devextreme/OdsInlineEditDataGrid/handlers/ContentHandlers.d.ts +14 -0
  11. package/dist/components/devextreme/OdsInlineEditDataGrid/handlers/EditorPreparedHandlers.d.ts +7 -0
  12. package/dist/components/devextreme/OdsInlineEditDataGrid/handlers/OnContentReadyHandler.d.ts +1 -2
  13. package/dist/components/devextreme/OdsInlineEditDataGrid/handlers/OnExportingHandlers.d.ts +19 -0
  14. package/dist/components/devextreme/OdsInlineEditDataGrid/handlers/OptionHandlers.d.ts +7 -0
  15. package/dist/components/devextreme/OdsInlineEditDataGrid/handlers/SummaryHandlers.d.ts +21 -0
  16. package/dist/components/devextreme/OdsInlineEditDataGrid/partials/ActionCellRender.d.ts +15 -0
  17. package/dist/components/devextreme/OdsInlineEditDataGrid/partials/EditingPartial.d.ts +9 -0
  18. package/dist/components/devextreme/OdsInlineEditDataGrid/partials/PageTitle.d.ts +8 -0
  19. package/dist/components/devextreme/OdsInlineEditDataGrid/utils.d.ts +19 -0
  20. package/dist/components/devextreme/OdsProfDataGrid.d.ts +3 -0
  21. package/dist/components/devextreme/treeview/DxTreeView.d.ts +3 -0
  22. package/dist/index.js +27 -95
  23. package/dist/index.js.map +1 -1
  24. package/dist/index.modern.js +27 -95
  25. package/dist/index.modern.js.map +1 -1
  26. package/dist/stories/OdsAdvanceModal/OdsAdvanceModal.stories.d.ts +42 -0
  27. package/dist/stories/OdsAdvanceModal/Samples/BasicOdsAdvanceModal.sample.d.ts +8 -0
  28. package/dist/stories/OdsCustomMultiSelect/OdsCustomMultiSelect.stories.d.ts +9 -0
  29. package/dist/stories/OdsCustomMultiSelect/Samples/Basic.Sample.d.ts +1 -0
  30. package/dist/stories/OdsCustomMultiSelect/Samples/ModeMultiple.Sample.d.ts +1 -0
  31. package/dist/stories/OdsLink/OdsLink.stories.d.ts +59 -0
  32. package/dist/stories/OdsTimePicker/Samples/TimeRangePicker.d.ts +2 -0
  33. package/package.json +1 -1
  34. /package/dist/components/antd/datepicker/{OdsDateRangepicker.d.ts → OdsDateRangePicker.d.ts} +0 -0
@@ -0,0 +1,18 @@
1
+ import React from 'react';
2
+ import { FormProps, ButtonProps } from 'antd';
3
+ export interface IFormItemRuleProps {
4
+ required?: boolean;
5
+ message?: string;
6
+ }
7
+ export interface IFormItemProps {
8
+ label?: string;
9
+ name?: string;
10
+ formItemType: string;
11
+ rules?: IFormItemRuleProps[];
12
+ }
13
+ export interface IFormProps extends FormProps {
14
+ formItems: IFormItemProps[];
15
+ formButtons: ButtonProps[];
16
+ }
17
+ declare function OdsBasicForm(props: IFormProps): React.JSX.Element;
18
+ export default OdsBasicForm;
@@ -0,0 +1,10 @@
1
+ import { IconBaseProps } from "@ant-design/icons/lib/components/Icon";
2
+ import React from "react";
3
+ export interface IconProps extends IconBaseProps {
4
+ type: string;
5
+ twoToneColor?: string;
6
+ iconComponent?: string;
7
+ iconSVCName?: string;
8
+ }
9
+ declare function OdsIcon(props: IconProps): React.JSX.Element;
10
+ export default OdsIcon;
@@ -0,0 +1,7 @@
1
+ import { ModalProps } from "antd";
2
+ import React from "react";
3
+ export interface ICustomModalProps extends ModalProps {
4
+ content: React.ReactNode;
5
+ }
6
+ declare const OdsAdvanceModal: React.FC<ICustomModalProps>;
7
+ export default OdsAdvanceModal;
@@ -0,0 +1,7 @@
1
+ import React from "react";
2
+ import { SelectProps } from "antd";
3
+ export interface ISelectProps extends SelectProps {
4
+ buttonLabel: string;
5
+ }
6
+ declare function OdsCustomMultiSelect(props: ISelectProps): React.JSX.Element;
7
+ export default OdsCustomMultiSelect;
@@ -0,0 +1,9 @@
1
+ import React from "react";
2
+ import { SelectProps } from "antd";
3
+ import { IOdsSelectOption } from "./OdsSelect.styled";
4
+ export interface OdsMultiSelectProps extends SelectProps {
5
+ selectAllText?: string | undefined;
6
+ dataSource: IOdsSelectOption[];
7
+ }
8
+ declare const OdsMultiSelect: (props: OdsMultiSelectProps) => React.JSX.Element;
9
+ export default OdsMultiSelect;
@@ -0,0 +1,8 @@
1
+ import { FormProps } from "antd";
2
+ import React from "react";
3
+ export interface IFormProps extends FormProps {
4
+ items: any[];
5
+ loading: boolean;
6
+ }
7
+ declare function OdsLogin(props: IFormProps): React.JSX.Element;
8
+ export default OdsLogin;
@@ -0,0 +1,3 @@
1
+ import React from "react";
2
+ declare const _default: React.MemoExoticComponent<(props: any) => React.JSX.Element>;
3
+ export default _default;
@@ -0,0 +1,5 @@
1
+ import React from 'react';
2
+ declare const DynamicIcon: ({ iconName }: {
3
+ iconName: any;
4
+ }) => React.JSX.Element;
5
+ export default DynamicIcon;
@@ -0,0 +1,56 @@
1
+ import React from "react";
2
+ import { IDataGridOptions, IEditingProps, ISelectionProps, IButtonProps } from 'devextreme-react/data-grid';
3
+ import { ButtonType } from "antd/es/button/buttonHelpers";
4
+ interface IButtonGroup extends IButtonProps {
5
+ type?: ButtonType;
6
+ label?: string;
7
+ onclick?: React.MouseEventHandler<HTMLElement>;
8
+ actionPermission?: boolean;
9
+ }
10
+ interface IEditingoptions extends IEditingProps {
11
+ formItems?: any[];
12
+ title?: string;
13
+ }
14
+ interface ISelectOptions extends ISelectionProps {
15
+ selectEnable: boolean;
16
+ }
17
+ interface IOdsDataGridProps extends IDataGridOptions {
18
+ actionButtonGroup?: IButtonGroup[];
19
+ toolbarButtonGroup?: IButtonGroup[];
20
+ exportFileName?: string;
21
+ summaryTotalColumnName?: string;
22
+ storeState?: boolean;
23
+ summaryTotalDataCount?: number;
24
+ summaryTotalDataDisplayLabel?: string;
25
+ summaryTotalPagesize?: number;
26
+ editHintLabel?: string;
27
+ editButtonClick?: any;
28
+ deleteButtonClick?: any;
29
+ pageTitle?: string;
30
+ pageSize?: number;
31
+ pagingEnable?: boolean;
32
+ searchEnable?: boolean;
33
+ filterEnable?: boolean;
34
+ headerFilterEnable?: boolean;
35
+ columnChooserPositionDisabled?: boolean;
36
+ editEnable?: boolean;
37
+ popupTitle?: string;
38
+ scroll?: any;
39
+ exportEnable?: boolean;
40
+ customPopup?: boolean;
41
+ onExportingCustom?: any;
42
+ filterEnabledShow?: boolean;
43
+ scrolUseNative?: boolean;
44
+ formItems?: any[];
45
+ hintForDeleteButton?: string;
46
+ hintForEditButton?: string;
47
+ exportFormats?: string[];
48
+ actionPermission?: boolean;
49
+ columns: any[];
50
+ actionColumnEnable?: boolean;
51
+ edit?: IEditingoptions;
52
+ selectOptions?: ISelectOptions;
53
+ actionColumnCaption?: string;
54
+ }
55
+ declare function OdsDataGridNew(props: IOdsDataGridProps): React.JSX.Element;
56
+ export default OdsDataGridNew;
@@ -0,0 +1,14 @@
1
+ import { ContentReadyEvent } from "devextreme/ui/data_grid";
2
+ import { IColumnConfig } from "../types";
3
+ /**
4
+ * Custom hook to handle content ready events for the data grid.
5
+ * @param {React.MutableRefObject<any>} lastPageIndexRef - Reference to the last page index.
6
+ * @param {boolean} contentReady - Boolean indicating if the content is ready.
7
+ * @param {Function} setRowCount - Function to set the row count state
8
+ * @param {Function} setContentReady - Function to set the content ready state.
9
+ * @param {Function} setCurrentPage - Function to set the current page state.
10
+ * @param {Function} setCurrentPageSize - Function to set the current page size state.
11
+ * @param {Function} [callback] - Optional callback function.
12
+ * @returns {(e: ContentReadyEvent<any, any>) => void} handleContentReady - Handler for content ready event.
13
+ */
14
+ export declare const useContentHandlers: (lastPageIndexRef: React.MutableRefObject<any>, contentReady: boolean, columns: IColumnConfig[], setRowCount: Function, setContentReady: Function, setCurrentPage: Function, setCurrentPageSize: Function, setHeaderFilterData: Function, callback?: Function) => (e: ContentReadyEvent<any, any>) => void;
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Custom hook that returns a callback function to handle the "editorPrepared" event of a DevExtreme component.
3
+ * This callback function is responsible for customizing the editor's behavior based on specific conditions.
4
+ *
5
+ * @returns {Function} The callback function to handle the "editorPrepared" event.
6
+ */
7
+ export declare const useEditorPreparedHandlers: () => (e: any) => void;
@@ -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, setHeaderFilterData: Function, callback: Function) => (e: ContentReadyEvent<any, any>) => void;
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;
@@ -0,0 +1,19 @@
1
+ interface IOnExportingProps {
2
+ gridComponent: any;
3
+ baseFileName?: string;
4
+ selectedText?: string;
5
+ getSummary: () => string;
6
+ selectedRowsOnly: boolean;
7
+ }
8
+ /**
9
+ * Handles the exporting of data from the grid component.
10
+ *
11
+ * @param {IOnExportingProps} params - The parameters for exporting the data.
12
+ * @param {React.RefObject<Grid>} params.gridComponent - The reference to the grid component.
13
+ * @param {string} params.baseFileName - The base file name for the exported file.
14
+ * @param {string} params.selectedText - The text to be displayed for selected rows.
15
+ * @param {Function} params.getSummary - The function to get the summary of the exported data.
16
+ * @param {boolean} params.selectedRowsOnly - Indicates whether to export only selected rows.
17
+ */
18
+ export declare const onExporting: ({ gridComponent, baseFileName, selectedText, getSummary, selectedRowsOnly, }: IOnExportingProps) => void;
19
+ export {};
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Custom hook to handle option change events for the data grid.
3
+ * @param {Object} dataGridRef - The dataGridRef property passed to the hook.
4
+ * @param {Function} setFilterApplied - Function to set the filter applied state.
5
+ * @returns {Function} - Handler function for option changed event.
6
+ */
7
+ export declare const useOptionHandlers: (dataGridRef: any, setFilterApplied: any) => (e: any) => void;
@@ -0,0 +1,21 @@
1
+ import type { ISummaryRowOptions } from "../types";
2
+ interface IUseSummaryHandlersProps {
3
+ customSummary?: ISummaryRowOptions;
4
+ totalRecordCount: number;
5
+ currentPageSize: number;
6
+ currentPage: number;
7
+ filterApplied: boolean;
8
+ rowCount: number;
9
+ filteredRowCount: number;
10
+ isServerSide?: boolean;
11
+ }
12
+ /**
13
+ * Custom hook that provides summary handlers for a data grid.
14
+ *
15
+ * @param {IUseSummaryHandlersProps} props - The props object containing necessary parameters.
16
+ * @returns {Object} - An object containing the renderTotal function.
17
+ */
18
+ export declare const useSummaryHandlers: ({ customSummary, totalRecordCount, currentPageSize, currentPage, filterApplied, rowCount, filteredRowCount, }: IUseSummaryHandlersProps) => {
19
+ renderTotal: () => string | null;
20
+ };
21
+ export {};
@@ -0,0 +1,15 @@
1
+ import { FC } from "react";
2
+ import { IVirtualDataGridProps } from "../types";
3
+ interface ActionCellRenderProps {
4
+ cellData: any;
5
+ actionButtons: IVirtualDataGridProps["actionButtonGroup"];
6
+ edit?: IVirtualDataGridProps["edit"];
7
+ actionButtonGroup?: IVirtualDataGridProps["actionButtonGroup"];
8
+ }
9
+ /**
10
+ * Renders the action buttons for a cell in the OdsInlineEditDataGrid component.
11
+ * @param {ActionCellRenderProps} props - The props for the ActionCellRender component.
12
+ * @returns {ReactNode} - The rendered action buttons.
13
+ */
14
+ declare const ActionCellRender: FC<ActionCellRenderProps>;
15
+ export default ActionCellRender;
@@ -0,0 +1,9 @@
1
+ import React from "react";
2
+ import { IEditingOptions } from "../types";
3
+ /**
4
+ * Component that handles editing functionalities within the data grid.
5
+ * @param {IEditingOptions} props - The properties passed to the component.
6
+ * @returns {JSX.Element} - The JSX element representing the editing handlers.
7
+ */
8
+ declare const EditingPartial: React.FC<IEditingOptions>;
9
+ export default EditingPartial;
@@ -0,0 +1,8 @@
1
+ import React from "react";
2
+ import { IToolbarButton } from "../types";
3
+ interface PageTitleAndToolbarProps {
4
+ pageTitle?: string;
5
+ toolbarButtonGroup?: IToolbarButton[];
6
+ }
7
+ declare const MemoizedPageTitleAndToolbar: React.NamedExoticComponent<PageTitleAndToolbarProps>;
8
+ export default MemoizedPageTitleAndToolbar;
@@ -0,0 +1,19 @@
1
+ interface IConcatFilteredLabelProps {
2
+ result: string;
3
+ totalLoaded: number;
4
+ filteredRowCount: number;
5
+ filterApplied: boolean;
6
+ summaryFilteredDataLabel: string;
7
+ }
8
+ /**
9
+ * Concatenates the filtered label with the result string.
10
+ *
11
+ * @param {IConcatFilteredLabelProps} props - The object containing the necessary properties.
12
+ * @returns {string} - The concatenated result string.
13
+ */
14
+ export declare const concatFilteredLabel: ({ result, totalLoaded, filteredRowCount, filterApplied, summaryFilteredDataLabel, }: IConcatFilteredLabelProps) => string;
15
+ export {};
16
+ /**
17
+ * This file contains utility functions related to the OdsInlineEditDataGrid component.
18
+ * These utility functions are used for handling filtering and data manipulation.
19
+ */
@@ -0,0 +1,3 @@
1
+ import React from "react";
2
+ declare function OdsProfDataGrid(props: any): React.JSX.Element;
3
+ export default OdsProfDataGrid;
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ declare const DxTreeView: (props: any) => React.JSX.Element;
3
+ export default DxTreeView;
package/dist/index.js CHANGED
@@ -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, setHeaderFilterData, callback) {
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
- filterOptions = _useState3[0],
35749
- setFilterOptions = _useState3[1];
35722
+ var _useState3 = React.useState(false),
35723
+ filterApplied = _useState3[0],
35724
+ setFilterApplied = _useState3[1];
35750
35725
  var _useState4 = React.useState(false),
35751
- filterApplied = _useState4[0],
35752
- setFilterApplied = _useState4[1];
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, setHeaderFilterData, onContentReadyFromProps);
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 visibleActionButtons = React.useMemo(function () {
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(visibleActionButtons, actionButtonGroupFromProps, editPropsFromProps);
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 MemoizedDataGridHeight = React.useMemo(function () {
35769
+ var DataGridHeight = React.useMemo(function () {
35840
35770
  return heightFromProps != null ? heightFromProps : window.innerHeight > 164 ? window.innerHeight - 164 : window.innerHeight;
35841
35771
  }, []);
35842
- var rederedGridColumns = React.useMemo(function () {
35772
+ var RederedGridColumns = React.useMemo(function () {
35843
35773
  return gridColumnsFromProps.map(function (col) {
35844
- var _col$headerFilter, _col$multiLevelColumn;
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)), ((_col$headerFilter = col.headerFilter) === null || _col$headerFilter === void 0 ? void 0 : _col$headerFilter.dataSource) && React__default.createElement(DataGrid.HeaderFilter, {
35850
- dataSource: col.headerFilter.dataSource,
35851
- visible: true
35852
- }), col.headerFilter && !col.headerFilter.dataSource && React__default.createElement(DataGrid.HeaderFilter, {
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: MemoizedDataGridHeight,
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
- }), rederedGridColumns, React__default.createElement(DataGrid.ColumnChooser, {
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",