ods-component-lib 1.18.118 → 1.18.123

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 (26) 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/OdsProfDataGrid.d.ts +3 -0
  11. package/dist/components/devextreme/OdsServerSideDatagrid/OdsServerSideDatagrid.Types.d.ts +1 -0
  12. package/dist/components/devextreme/treeview/DxTreeView.d.ts +3 -0
  13. package/dist/index.js +191 -72
  14. package/dist/index.js.map +1 -1
  15. package/dist/index.modern.js +191 -72
  16. package/dist/index.modern.js.map +1 -1
  17. package/dist/stories/OdsAdvanceModal/OdsAdvanceModal.stories.d.ts +42 -0
  18. package/dist/stories/OdsAdvanceModal/Samples/BasicOdsAdvanceModal.sample.d.ts +8 -0
  19. package/dist/stories/OdsCustomMultiSelect/OdsCustomMultiSelect.stories.d.ts +9 -0
  20. package/dist/stories/OdsCustomMultiSelect/Samples/Basic.Sample.d.ts +1 -0
  21. package/dist/stories/OdsCustomMultiSelect/Samples/ModeMultiple.Sample.d.ts +1 -0
  22. package/dist/stories/OdsLink/OdsLink.stories.d.ts +59 -0
  23. package/dist/stories/OdsTimePicker/Samples/TimeRangePicker.d.ts +2 -0
  24. package/dist/utils/ExportDataGridtoExcel.d.ts +9 -0
  25. package/package.json +1 -1
  26. /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,3 @@
1
+ import React from "react";
2
+ declare function OdsProfDataGrid(props: any): React.JSX.Element;
3
+ export default OdsProfDataGrid;
@@ -21,6 +21,7 @@ interface IExportProps {
21
21
  enabled: boolean;
22
22
  allowExportSelectedData?: boolean;
23
23
  fileName?: string;
24
+ selectedText?: string;
24
25
  }
25
26
  interface IToolbarButton {
26
27
  type: string;
@@ -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
@@ -25,7 +25,7 @@ var outline = require('ods-icon/react/24/outline');
25
25
  var devextremeReact = require('devextreme-react');
26
26
  var antdStyle = require('antd-style');
27
27
  require('devextreme/dist/css/dx.light.css');
28
- var saveAs = _interopDefault(require('file-saver'));
28
+ var FileSaver = require('file-saver');
29
29
 
30
30
  function _extends() {
31
31
  _extends = Object.assign ? Object.assign.bind() : function (target) {
@@ -60,6 +60,37 @@ function _taggedTemplateLiteralLoose(strings, raw) {
60
60
  strings.raw = raw;
61
61
  return strings;
62
62
  }
63
+ function _unsupportedIterableToArray(o, minLen) {
64
+ if (!o) return;
65
+ if (typeof o === "string") return _arrayLikeToArray(o, minLen);
66
+ var n = Object.prototype.toString.call(o).slice(8, -1);
67
+ if (n === "Object" && o.constructor) n = o.constructor.name;
68
+ if (n === "Map" || n === "Set") return Array.from(o);
69
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
70
+ }
71
+ function _arrayLikeToArray(arr, len) {
72
+ if (len == null || len > arr.length) len = arr.length;
73
+ for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
74
+ return arr2;
75
+ }
76
+ function _createForOfIteratorHelperLoose(o, allowArrayLike) {
77
+ var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
78
+ if (it) return (it = it.call(o)).next.bind(it);
79
+ if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") {
80
+ if (it) o = it;
81
+ var i = 0;
82
+ return function () {
83
+ if (i >= o.length) return {
84
+ done: true
85
+ };
86
+ return {
87
+ done: false,
88
+ value: o[i++]
89
+ };
90
+ };
91
+ }
92
+ throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
93
+ }
63
94
 
64
95
  var _templateObject;
65
96
  var StyledAlert = styled__default(antd.Alert)(_templateObject || (_templateObject = _taggedTemplateLiteralLoose(["\n //\n"])));
@@ -34234,7 +34265,7 @@ var OdsBasicDataGrid = function OdsBasicDataGrid(props) {
34234
34265
  localStorage.setItem(props.exportFileName + "Storage", JSON.stringify(state));
34235
34266
  }, [props.filterEnabledShow]);
34236
34267
  var onEditorPrepared = React.useCallback(function (info) {
34237
- if (info.parentType === "filterRow" && info.editorName === "dxSelectBox" && info.dataField === "IsActive") {
34268
+ if (info.parentType === "filterRow" && info.editorName === "dxSelectBox" && (info.dataField === "IsActive" || info.dataField === "isActive")) {
34238
34269
  if (info.dataSource != null && info.dataSource.length > 0) {
34239
34270
  info.showAllText = info.dataSource.find(function (i) {
34240
34271
  return i.value === null;
@@ -34635,7 +34666,7 @@ var OdsBasicDataGrid = function OdsBasicDataGrid(props) {
34635
34666
  }, col, {
34636
34667
  minWidth: 50,
34637
34668
  cssClass: col.cssClass + " " + (hasFastUpdate ? "grid-cell-disable-text-selection" : "")
34638
- }), col.lookUp && React__default.createElement(devextremeReact.Lookup, Object.assign({}, col.lookUp)), col.dataField === "IsActive" && React__default.createElement(DataGrid.HeaderFilter, {
34669
+ }), col.lookUp && React__default.createElement(devextremeReact.Lookup, Object.assign({}, col.lookUp)), (col.dataField === "IsActive" || col.dataField === "isActive") && React__default.createElement(DataGrid.HeaderFilter, {
34639
34670
  dataSource: [{
34640
34671
  text: "Active",
34641
34672
  value: true
@@ -35070,71 +35101,6 @@ var useStyles$1 = antdStyle.createStyles(function (_ref) {
35070
35101
  };
35071
35102
  });
35072
35103
 
35073
- var onExporting = function onExporting(e, baseFileName, getSummary) {
35074
- if (baseFileName === void 0) {
35075
- baseFileName = 'DataGrid';
35076
- }
35077
- var workbook = new exceljs.Workbook();
35078
- var worksheet = workbook.addWorksheet('Main sheet');
35079
- var rowCount = 0;
35080
- var lastProcessedRowData = null;
35081
- var now = new Date();
35082
- var datePart = ('0' + now.getDate()).slice(-2) + "." + ('0' + (now.getMonth() + 1)).slice(-2) + "." + now.getFullYear();
35083
- var timePart = ('0' + now.getHours()).slice(-2) + ":" + ('0' + now.getMinutes()).slice(-2);
35084
- var fullFileName = baseFileName + "-" + datePart + " / " + timePart + ".xlsx";
35085
- excel_exporter.exportDataGrid({
35086
- component: e.component,
35087
- worksheet: worksheet,
35088
- selectedRowsOnly: e.selectedRowsOnly,
35089
- customizeCell: function customizeCell(_ref) {
35090
- var gridCell = _ref.gridCell,
35091
- excelCell = _ref.excelCell;
35092
- if (gridCell.rowType === 'data' && lastProcessedRowData !== gridCell.data) {
35093
- rowCount++;
35094
- lastProcessedRowData = gridCell.data;
35095
- }
35096
- if (gridCell.column.dataType === "datetime" && gridCell.value) {
35097
- var date = moment(gridCell.value);
35098
- var offsetMinutes = date.utcOffset();
35099
- var sign = offsetMinutes >= 0 ? "+" : "-";
35100
- var hours = Math.floor(Math.abs(offsetMinutes) / 60);
35101
- var minutes = Math.abs(offsetMinutes) % 60;
35102
- var formattedOffset = "UTC" + sign + hours.toString().padStart(2, "0") + ":" + minutes.toString().padStart(2, "0");
35103
- var formattedDate = date.format("DD.MM.YYYY HH:mm") + " " + formattedOffset;
35104
- excelCell.value = formattedDate;
35105
- } else {
35106
- excelCell.font = {
35107
- name: 'Arial',
35108
- size: 12
35109
- };
35110
- excelCell.alignment = {
35111
- horizontal: 'left'
35112
- };
35113
- }
35114
- }
35115
- }).then(function () {
35116
- var summaryResult = getSummary();
35117
- var summaryText = e.selectedRowsOnly ? summaryResult + " - " + rowCount + " Selected" : summaryResult;
35118
- if (summaryText) {
35119
- var lastRow = worksheet.addRow([summaryText]);
35120
- lastRow.font = {
35121
- name: 'Arial',
35122
- size: 10,
35123
- bold: true
35124
- };
35125
- lastRow.alignment = {
35126
- horizontal: 'left'
35127
- };
35128
- }
35129
- workbook.xlsx.writeBuffer().then(function (buffer) {
35130
- saveAs(new Blob([buffer], {
35131
- type: 'application/octet-stream'
35132
- }), fullFileName);
35133
- });
35134
- });
35135
- e.cancel = true;
35136
- };
35137
-
35138
35104
  var iconComponents = {
35139
35105
  edit: outline.EditIcon,
35140
35106
  "delete": outline.Trash1Icon,
@@ -35156,6 +35122,67 @@ var DynamicIcon = function DynamicIcon(_ref) {
35156
35122
  return React__default.createElement(IconComponent, null);
35157
35123
  };
35158
35124
 
35125
+ var ExportDataGridToExcel = function ExportDataGridToExcel(_ref) {
35126
+ var gridComponent = _ref.gridComponent,
35127
+ baseFileName = _ref.baseFileName,
35128
+ selectedText = _ref.selectedText,
35129
+ getSummary = _ref.getSummary,
35130
+ selectedRowsOnly = _ref.selectedRowsOnly;
35131
+ var workbook = new exceljs.Workbook();
35132
+ var worksheet = workbook.addWorksheet('Main Sheet');
35133
+ var lastProcessedRowData = null;
35134
+ var rowCount = 0;
35135
+ excel_exporter.exportDataGrid({
35136
+ component: gridComponent,
35137
+ worksheet: worksheet,
35138
+ selectedRowsOnly: selectedRowsOnly,
35139
+ customizeCell: function customizeCell(options) {
35140
+ var gridCell = options.gridCell,
35141
+ excelCell = options.excelCell;
35142
+ if (gridCell && excelCell) {
35143
+ if (gridCell.rowType === 'data' && lastProcessedRowData !== gridCell.data) {
35144
+ rowCount++;
35145
+ lastProcessedRowData = gridCell.data;
35146
+ }
35147
+ if (gridCell.column.dataType === "datetime" && gridCell.value) {
35148
+ var date = moment(gridCell.value);
35149
+ var formattedDate = date.format("DD.MM.YYYY HH:mm [UTC]Z");
35150
+ excelCell.value = formattedDate;
35151
+ } else {
35152
+ excelCell.font = {
35153
+ name: 'Arial',
35154
+ size: 12
35155
+ };
35156
+ excelCell.alignment = {
35157
+ horizontal: 'left'
35158
+ };
35159
+ }
35160
+ }
35161
+ }
35162
+ }).then(function () {
35163
+ var summaryResult = getSummary();
35164
+ var summaryText = selectedRowsOnly ? summaryResult + " - " + rowCount + " " + selectedText : summaryResult;
35165
+ var lastRow = worksheet.addRow([summaryText]);
35166
+ lastRow.font = {
35167
+ name: 'Arial',
35168
+ size: 10,
35169
+ bold: true
35170
+ };
35171
+ lastRow.alignment = {
35172
+ horizontal: 'left'
35173
+ };
35174
+ workbook.xlsx.writeBuffer().then(function (buffer) {
35175
+ var now = new Date();
35176
+ var datePart = ('0' + now.getDate()).slice(-2) + "-" + ('0' + (now.getMonth() + 1)).slice(-2) + "-" + now.getFullYear();
35177
+ var timePart = ('0' + now.getHours()).slice(-2) + ":" + ('0' + now.getMinutes()).slice(-2);
35178
+ var fullFileName = baseFileName + "-" + datePart + "-" + timePart + ".xlsx";
35179
+ FileSaver.saveAs(new Blob([buffer], {
35180
+ type: 'application/octet-stream'
35181
+ }), fullFileName);
35182
+ });
35183
+ });
35184
+ };
35185
+
35159
35186
  var OdsServerSideDatagrid = function OdsServerSideDatagrid(props) {
35160
35187
  var _props$columnResizing, _props$pagerProps$vis, _props$pagerProps, _props$pagerProps$sho, _props$pagerProps2, _props$pagerProps$sho2, _props$pagerProps3, _props$pagerProps$dis, _props$pagerProps4, _props$pagerProps$inf, _props$pagerProps5, _props$exportProps;
35161
35188
  var rowCount = React.useRef(0);
@@ -35172,8 +35199,13 @@ var OdsServerSideDatagrid = function OdsServerSideDatagrid(props) {
35172
35199
  filterApplied = _useState4[0],
35173
35200
  setFilterApplied = _useState4[1];
35174
35201
  var filteredRowCount = React.useRef(0);
35175
- var filterOptions = React.useRef({});
35176
35202
  var lastPageIndexRef = React.useRef(null);
35203
+ var _useState5 = React.useState({}),
35204
+ filterOptions = _useState5[0],
35205
+ setFilterOptions = _useState5[1];
35206
+ var _useState6 = React.useState([]),
35207
+ headerFilterData = _useState6[0],
35208
+ setHeaderFilterData = _useState6[1];
35177
35209
  var _useStyles = useStyles$1(),
35178
35210
  gridStyle = _useStyles.styles;
35179
35211
  var renderTotal = React.useCallback(function () {
@@ -35190,6 +35222,45 @@ var OdsServerSideDatagrid = function OdsServerSideDatagrid(props) {
35190
35222
  result += " - " + ((_props$customSummary4 = props.customSummary) === null || _props$customSummary4 === void 0 ? void 0 : _props$customSummary4.summaryTotalPageCountLabel) + " " + loadedPage + " / " + totalPageCount;
35191
35223
  return result;
35192
35224
  }, [props.totalRecordCount, currentPageSize, props.customSummary, currentPage, filteredRowCount.current, filterApplied]);
35225
+ React.useEffect(function () {
35226
+ var loadFilterData = function loadFilterData() {
35227
+ try {
35228
+ var newFilterOptions = {};
35229
+ var _loop = function _loop() {
35230
+ var col = _step.value;
35231
+ try {
35232
+ if (headerFilterData.length > 0) {
35233
+ var newData = headerFilterData.filter(function (item) {
35234
+ return item[col.dataField] != null && item[col.dataField] !== "";
35235
+ }).map(function (item) {
35236
+ return item[col.dataField].toString();
35237
+ });
35238
+ var values = newData.map(function (group) {
35239
+ return {
35240
+ text: group,
35241
+ value: group
35242
+ };
35243
+ });
35244
+ newFilterOptions[col.dataField] = values;
35245
+ }
35246
+ } catch (error) {
35247
+ console.error('Error loading data for header filter:', error);
35248
+ }
35249
+ };
35250
+ for (var _iterator = _createForOfIteratorHelperLoose(props.columns), _step; !(_step = _iterator()).done;) {
35251
+ _loop();
35252
+ }
35253
+ setFilterOptions(newFilterOptions);
35254
+ return Promise.resolve();
35255
+ } catch (e) {
35256
+ return Promise.reject(e);
35257
+ }
35258
+ };
35259
+ loadFilterData();
35260
+ }, [headerFilterData]);
35261
+ React.useEffect(function () {
35262
+ setHeaderFilterData([]);
35263
+ }, []);
35193
35264
  var handleContentReady = React.useCallback(function (e) {
35194
35265
  var _dataGridInstance$get;
35195
35266
  var dataGridInstance = e.component;
@@ -35198,6 +35269,32 @@ var OdsServerSideDatagrid = function OdsServerSideDatagrid(props) {
35198
35269
  var currentPageSizeValue = dataGridInstance.pageSize();
35199
35270
  var newData = dataGridInstance === null || dataGridInstance === void 0 ? void 0 : (_dataGridInstance$get = dataGridInstance.getDataSource()) === null || _dataGridInstance$get === void 0 ? void 0 : _dataGridInstance$get.items();
35200
35271
  if (lastPageIndexRef.current !== currentPageIndex && newData && newData.length > 0) {
35272
+ setHeaderFilterData(function (prevData) {
35273
+ var uniqueValuesByColumn = {};
35274
+ props.columns.forEach(function (col) {
35275
+ uniqueValuesByColumn[col.dataField] = new Set(prevData.map(function (item) {
35276
+ return item[col.dataField];
35277
+ }).filter(function (val) {
35278
+ return val !== null && val !== "";
35279
+ }));
35280
+ });
35281
+ var newItems = [];
35282
+ newData.forEach(function (item) {
35283
+ var addItem = {};
35284
+ props.columns.forEach(function (col) {
35285
+ var _item$col$dataField;
35286
+ var colValue = (_item$col$dataField = item[col.dataField]) === null || _item$col$dataField === void 0 ? void 0 : _item$col$dataField.toString();
35287
+ if (colValue && !uniqueValuesByColumn[col.dataField].has(colValue)) {
35288
+ uniqueValuesByColumn[col.dataField].add(colValue);
35289
+ addItem[col.dataField] = colValue;
35290
+ }
35291
+ });
35292
+ if (Object.keys(addItem).length > 0) {
35293
+ newItems.push(addItem);
35294
+ }
35295
+ });
35296
+ return [].concat(prevData, newItems);
35297
+ });
35201
35298
  lastPageIndexRef.current = currentPageIndex;
35202
35299
  if (!contentReady) setContentReady(true);
35203
35300
  }
@@ -35228,6 +35325,21 @@ var OdsServerSideDatagrid = function OdsServerSideDatagrid(props) {
35228
35325
  return [];
35229
35326
  }
35230
35327
  }, [props.actionButtonGroup]);
35328
+ var onEditorPrepared = React.useCallback(function (info) {
35329
+ if (info.parentType === "filterRow" && info.editorName === "dxSelectBox" && info.dataField === "IsActive") {
35330
+ if (info.dataSource != null && info.dataSource.length > 0) {
35331
+ info.showAllText = info.dataSource.find(function (i) {
35332
+ return i.value === null;
35333
+ }).label;
35334
+ info.trueText = info.dataSource.find(function (i) {
35335
+ return i.value === true;
35336
+ }).label;
35337
+ info.falseText = info.dataSource.find(function (i) {
35338
+ return i.value === false;
35339
+ }).label;
35340
+ }
35341
+ }
35342
+ }, []);
35231
35343
  function actionCellRender(cellData, props) {
35232
35344
  var kebabMenuButtons = props.actionButtonGroup && props.actionButtonGroup.length >= 2 && !props.edit ? props.actionButtonGroup.slice(2).map(function (button) {
35233
35345
  return {
@@ -35354,6 +35466,7 @@ var OdsServerSideDatagrid = function OdsServerSideDatagrid(props) {
35354
35466
  enabled: true
35355
35467
  },
35356
35468
  focusedRowEnabled: false,
35469
+ onEditorPrepared: onEditorPrepared,
35357
35470
  onCellClick: function onCellClick(e) {
35358
35471
  e.cellElement.style.backgroundColor = "transparent";
35359
35472
  },
@@ -35371,8 +35484,14 @@ var OdsServerSideDatagrid = function OdsServerSideDatagrid(props) {
35371
35484
  }, props.sortingProps, {
35372
35485
  "export": props.exportProps,
35373
35486
  className: gridStyle.grid,
35374
- onExporting: function onExporting$1(e) {
35375
- return onExporting(e, props.exportProps.fileName, renderTotal);
35487
+ onExporting: function onExporting(e) {
35488
+ return ExportDataGridToExcel({
35489
+ gridComponent: e.component,
35490
+ baseFileName: props.exportProps.fileName,
35491
+ selectedText: props.exportProps.selectedText,
35492
+ getSummary: renderTotal,
35493
+ selectedRowsOnly: e.selectedRowsOnly
35494
+ });
35376
35495
  },
35377
35496
  onContentReady: handleContentReady,
35378
35497
  onOptionChanged: handleOptionChanged,
@@ -35409,7 +35528,7 @@ var OdsServerSideDatagrid = function OdsServerSideDatagrid(props) {
35409
35528
  dataSource: [{
35410
35529
  text: "(Blanks)",
35411
35530
  value: null
35412
- }].concat(filterOptions.current[col.dataField] || [])
35531
+ }].concat(filterOptions[col.dataField] || [])
35413
35532
  }), col.multiLevelColumns && col.multiLevelColumns.map(function (multiLevelColItem) {
35414
35533
  return React__default.createElement(DataGrid.Column, {
35415
35534
  dataField: multiLevelColItem.dataField,