ods-component-lib 1.18.99 → 1.18.102

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 (28) hide show
  1. package/dist/components/antd/fileUpload/OdsFileUpload.d.ts +1 -2
  2. package/dist/components/antd/form/OdsBasicForm.d.ts +18 -0
  3. package/dist/components/antd/icon/OdsIcon.d.ts +10 -0
  4. package/dist/components/antd/modal/OdsAdvanceModal.d.ts +7 -0
  5. package/dist/components/antd/select/OdsCustomMultiSelect.d.ts +7 -0
  6. package/dist/components/antd/select/OdsMultiSelect.d.ts +9 -0
  7. package/dist/components/custom/OdsLogin.d.ts +8 -0
  8. package/dist/components/devextreme/DxDataPopupForm.d.ts +3 -0
  9. package/dist/components/devextreme/DynamicIcon.d.ts +5 -0
  10. package/dist/components/devextreme/OdsDataGridNew.d.ts +56 -0
  11. package/dist/components/devextreme/OdsProfDataGrid.d.ts +3 -0
  12. package/dist/components/devextreme/OdsRemoteDataGrid/OdsRemoteDataGrid.Functions.d.ts +2 -2
  13. package/dist/components/devextreme/treeview/DxTreeView.d.ts +3 -0
  14. package/dist/index.d.ts +2 -0
  15. package/dist/index.js +280 -40
  16. package/dist/index.js.map +1 -1
  17. package/dist/index.modern.js +282 -43
  18. package/dist/index.modern.js.map +1 -1
  19. package/dist/stories/OdsAdvanceModal/OdsAdvanceModal.stories.d.ts +42 -0
  20. package/dist/stories/OdsAdvanceModal/Samples/BasicOdsAdvanceModal.sample.d.ts +8 -0
  21. package/dist/stories/OdsCustomMultiSelect/OdsCustomMultiSelect.stories.d.ts +9 -0
  22. package/dist/stories/OdsCustomMultiSelect/Samples/Basic.Sample.d.ts +1 -0
  23. package/dist/stories/OdsCustomMultiSelect/Samples/ModeMultiple.Sample.d.ts +1 -0
  24. package/dist/stories/OdsFileUpload/OdsFileUpload.stories.d.ts +2 -13
  25. package/dist/stories/OdsModal/Samples/OdsModal.Sample.d.ts +1 -0
  26. package/dist/stories/OdsTimePicker/Samples/TimeRangePicker.d.ts +2 -0
  27. package/dist/utils/DynamicIcon.d.ts +5 -0
  28. package/package.json +1 -1
@@ -1,9 +1,9 @@
1
- import { Alert, AutoComplete, Button, Dropdown, Calendar, Card as Card$1, Checkbox, DatePicker, Divider, Collapse, Image, Input, InputNumber, List, Modal, notification, Radio, Rate, Select, Space, Spin, Switch, Tabs, Table, Tag, Timeline, TimePicker, Typography, theme, Badge, Menu, Form as Form$1, Row, Col, Tooltip } from 'antd';
1
+ import { Alert, AutoComplete, Button, Dropdown, Calendar, Card as Card$1, Checkbox, DatePicker, Divider, Collapse, Image, Input, InputNumber, List, Modal, notification, Radio, Rate, Select, Space, Spin, Switch, Tabs, Table, Tag, Timeline, TimePicker, Typography, theme, Badge, Menu, Form as Form$1, Row, Col, Upload, Tooltip } from 'antd';
2
2
  import styled, { ThemeProvider } from 'styled-components';
3
3
  import React, { useState, useRef, useEffect, Fragment, useMemo, useCallback } from 'react';
4
4
  import Marquee from 'react-fast-marquee';
5
5
  import Card from 'antd/es/card/Card';
6
- import { EyeTwoTone, EyeInvisibleOutlined, FrownOutlined, MehOutlined, SmileOutlined, HeartOutlined, InfoCircleOutlined } from '@ant-design/icons';
6
+ import { EyeTwoTone, EyeInvisibleOutlined, FrownOutlined, MehOutlined, SmileOutlined, HeartOutlined, PlusOutlined, InfoCircleOutlined } from '@ant-design/icons';
7
7
  import 'react-phone-input-2/lib/style.css';
8
8
  import PhoneInput from 'react-phone-input-2';
9
9
  import Parser from 'html-react-parser';
@@ -1713,6 +1713,228 @@ var OdsFilter = function OdsFilter(props) {
1713
1713
  }, props.buttonApplyName))))));
1714
1714
  };
1715
1715
 
1716
+ var Title$1 = Typography.Title;
1717
+ function OdsFileUpload(props) {
1718
+ var image = props.image,
1719
+ removeFile = props.removeFile,
1720
+ title = props.title,
1721
+ sendDataToParent = props.sendDataToParent,
1722
+ _props$allowDocumentU = props.allowDocumentUpload,
1723
+ allowDocumentUpload = _props$allowDocumentU === void 0 ? false : _props$allowDocumentU,
1724
+ _props$multipleDoc = props.multipleDoc,
1725
+ multipleDoc = _props$multipleDoc === void 0 ? false : _props$multipleDoc;
1726
+ var _useState = useState(false),
1727
+ previewOpen = _useState[0],
1728
+ setPreviewOpen = _useState[1];
1729
+ var _useState2 = useState(null),
1730
+ previewImage = _useState2[0],
1731
+ setPreviewImage = _useState2[1];
1732
+ var _useState3 = useState([]),
1733
+ fileList = _useState3[0],
1734
+ setFileList = _useState3[1];
1735
+ var _useState4 = useState(""),
1736
+ previewFileName = _useState4[0],
1737
+ setPreviewFileName = _useState4[1];
1738
+ var getBase64 = function getBase64(img, callback) {
1739
+ var reader = new FileReader();
1740
+ reader.addEventListener('load', function () {
1741
+ return callback(reader.result);
1742
+ });
1743
+ if (img !== undefined) {
1744
+ reader.readAsDataURL(img);
1745
+ if (!multipleDoc) setPreviewFileName(img.name);
1746
+ }
1747
+ };
1748
+ var uploadProps = {
1749
+ name: 'file',
1750
+ accept: allowDocumentUpload ? "image/png,image/jpg,image/jpeg,image/svg+xml,application/pdf,application/vnd.ms-excel,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet,application/msword,application/vnd.openxmlformats-officedocument.wordprocessingml.document" : "image/png,image/jpg,image/jpeg,image/svg+xml",
1751
+ multiple: multipleDoc,
1752
+ maxCount: multipleDoc ? 10 : 1,
1753
+ listType: 'picture-card',
1754
+ type: "select",
1755
+ onPreview: function onPreview(file) {
1756
+ if (multipleDoc) {
1757
+ var fileExtension = file.name != "" ? file.name.split('.').pop().toLowerCase() : file.url.split('.').pop().toLowerCase();
1758
+ if (fileExtension === "docx" || fileExtension === "xlsx") {
1759
+ downloadFile(file.url, file.thumbUrl, file.name);
1760
+ setPreviewOpen(false);
1761
+ return;
1762
+ }
1763
+ setPreviewFileName(file.name);
1764
+ }
1765
+ setPreviewImage(file.url || file.thumbUrl || '');
1766
+ handlePreview();
1767
+ },
1768
+ showUploadList: {
1769
+ showPreviewIcon: true,
1770
+ showRemoveIcon: true,
1771
+ showDownloadIcon: true
1772
+ },
1773
+ beforeUpload: function (file) {
1774
+ try {
1775
+ var fileType = allowDocumentUpload ? ["image/png", "image/jpg", "image/jpeg", "image/svg+xml", "application/pdf", "application/vnd.ms-excel", "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", "application/msword", "application/vnd.openxmlformats-officedocument.wordprocessingml.document"] : ["image/png", "image/jpg", "image/jpeg", "image/svg+xml"];
1776
+ var isFileSizeOk = file.size / (1024 * 1024) <= 1;
1777
+ var checkType = fileType.includes(file.type);
1778
+ if (!checkType) {
1779
+ return Promise.resolve(Upload.LIST_IGNORE);
1780
+ }
1781
+ if (!isFileSizeOk) {
1782
+ return Promise.resolve(Upload.LIST_IGNORE);
1783
+ }
1784
+ return Promise.resolve(false);
1785
+ } catch (e) {
1786
+ return Promise.reject(e);
1787
+ }
1788
+ },
1789
+ onChange: function onChange(info) {
1790
+ if (info.fileList) {
1791
+ var updatedFileList = info.fileList.map(function (file) {
1792
+ if (file.originFileObj) {
1793
+ getBase64(file.originFileObj, function (url) {
1794
+ sendDataToParent({
1795
+ base64: url,
1796
+ fileName: file.name,
1797
+ plainTextBase64: splitAtFirstComma(url)[1],
1798
+ id: file.uid
1799
+ });
1800
+ });
1801
+ }
1802
+ return file;
1803
+ });
1804
+ setFileList(updatedFileList);
1805
+ }
1806
+ },
1807
+ onRemove: function onRemove(file) {
1808
+ if (!multipleDoc) {
1809
+ setFileList(null);
1810
+ sendDataToParent({
1811
+ base64: null,
1812
+ fileName: null,
1813
+ plainTextBase64: null,
1814
+ id: null
1815
+ });
1816
+ return;
1817
+ }
1818
+ var updatedFileList = fileList.filter(function (item) {
1819
+ return item.uid !== file.uid;
1820
+ });
1821
+ setFileList(updatedFileList);
1822
+ removeFile(updatedFileList.map(function (file) {
1823
+ return file.uid;
1824
+ }));
1825
+ },
1826
+ onDownload: function onDownload(file) {
1827
+ downloadFile(file.url, file.thumbUrl, file.name);
1828
+ },
1829
+ fileList: fileList
1830
+ };
1831
+ function splitAtFirstComma(input) {
1832
+ var index = input.indexOf(',');
1833
+ if (index !== -1) {
1834
+ var firstPart = input.substring(0, index).trim();
1835
+ var secondPart = input.substring(index + 1).trim();
1836
+ return [firstPart, secondPart];
1837
+ } else {
1838
+ return [input, ''];
1839
+ }
1840
+ }
1841
+ var handleCancel = function handleCancel() {
1842
+ return setPreviewOpen(false);
1843
+ };
1844
+ var handlePreview = function handlePreview() {
1845
+ setPreviewOpen(true);
1846
+ };
1847
+ useEffect(function () {
1848
+ if (image) {
1849
+ var formattedFiles = multipleDoc ? image.map(function (file) {
1850
+ return {
1851
+ uid: file.uid,
1852
+ name: file.filename,
1853
+ status: 'done',
1854
+ url: file.url
1855
+ };
1856
+ }) : [{
1857
+ uid: "1",
1858
+ name: "file",
1859
+ status: 'done',
1860
+ url: image
1861
+ }];
1862
+ setFileList(formattedFiles);
1863
+ }
1864
+ }, [image]);
1865
+ var renderPreviewContent = function renderPreviewContent(fileName, previewSrc) {
1866
+ if (previewSrc === null) {
1867
+ return "";
1868
+ }
1869
+ if (!multipleDoc) {
1870
+ return React.createElement("img", {
1871
+ alt: fileName == "" ? "file" : fileName,
1872
+ style: {
1873
+ width: '100%'
1874
+ },
1875
+ src: previewSrc
1876
+ });
1877
+ } else {
1878
+ var fileExtension = fileName != "" ? fileName.split('.').pop().toLowerCase() : previewSrc.split('.').pop().toLowerCase();
1879
+ if (fileExtension === "png" || fileExtension === "jpg" || fileExtension === "jpeg" || fileExtension === "svg") {
1880
+ return React.createElement("img", {
1881
+ alt: fileName == "" ? "file" : fileName,
1882
+ style: {
1883
+ width: '100%'
1884
+ },
1885
+ src: previewSrc
1886
+ });
1887
+ } else if (fileExtension === "pdf") {
1888
+ return React.createElement("embed", {
1889
+ src: previewSrc,
1890
+ type: "application/pdf",
1891
+ width: "100%",
1892
+ height: "800px"
1893
+ });
1894
+ } else {
1895
+ setPreviewOpen(false);
1896
+ return "";
1897
+ }
1898
+ }
1899
+ };
1900
+ function downloadFile(url, thumbUrl, name) {
1901
+ var base64 = url || thumbUrl;
1902
+ var extension = name ? name.split('.').pop() : url.split('.').pop();
1903
+ var fileName = name || "download." + extension;
1904
+ fetch(base64).then(function (res) {
1905
+ return res.blob();
1906
+ }).then(function (blob) {
1907
+ var blobURL = window.URL.createObjectURL(blob);
1908
+ var link = document.createElement('a');
1909
+ link.href = blobURL;
1910
+ link.setAttribute('download', fileName);
1911
+ document.body.appendChild(link);
1912
+ link.click();
1913
+ document.body.removeChild(link);
1914
+ window.URL.revokeObjectURL(blobURL);
1915
+ })["catch"](function (err) {
1916
+ return console.error('Failed to download file:', err);
1917
+ });
1918
+ }
1919
+ return React.createElement("div", null, React.createElement(Title$1, {
1920
+ level: 5
1921
+ }, title), React.createElement(Upload, Object.assign({}, uploadProps), (fileList === null || fileList === void 0 ? void 0 : fileList.length) < 10 && React.createElement("div", null, React.createElement(PlusOutlined, null), React.createElement("div", {
1922
+ style: {
1923
+ marginTop: 8
1924
+ }
1925
+ }, "Upload"))), React.createElement(Modal, {
1926
+ open: previewOpen,
1927
+ title: null,
1928
+ footer: null,
1929
+ onCancel: handleCancel,
1930
+ width: "100%"
1931
+ }, React.createElement("div", {
1932
+ style: {
1933
+ padding: '25px'
1934
+ }
1935
+ }, renderPreviewContent(previewFileName, previewImage))));
1936
+ }
1937
+
1716
1938
  // A type of promise-like that resolves synchronously and supports only one observer
1717
1939
 
1718
1940
  const _iteratorSymbol = /*#__PURE__*/ typeof Symbol !== "undefined" ? (Symbol.iterator || (Symbol.iterator = Symbol("Symbol.iterator"))) : "@@iterator";
@@ -33472,21 +33694,32 @@ var showSummaryItems = function showSummaryItems(props) {
33472
33694
  var _props$customSummary, _props$customSummary2, _props$customSummary3, _props$customSummary4, _props$customSummary5;
33473
33695
  return ((_props$customSummary = props.customSummary) === null || _props$customSummary === void 0 ? void 0 : _props$customSummary.showAvgInSummary) || ((_props$customSummary2 = props.customSummary) === null || _props$customSummary2 === void 0 ? void 0 : _props$customSummary2.showCountInSummary) || ((_props$customSummary3 = props.customSummary) === null || _props$customSummary3 === void 0 ? void 0 : _props$customSummary3.showMaxInSummary) || ((_props$customSummary4 = props.customSummary) === null || _props$customSummary4 === void 0 ? void 0 : _props$customSummary4.showMinInSummary) || ((_props$customSummary5 = props.customSummary) === null || _props$customSummary5 === void 0 ? void 0 : _props$customSummary5.showSumInSummary);
33474
33696
  };
33475
- var getSummaryItems = function getSummaryItems(props, columns, grid) {
33697
+ var getSummaryItems = function getSummaryItems(props, columns, grid, isMultiLevelColumn) {
33698
+ if (isMultiLevelColumn === void 0) {
33699
+ isMultiLevelColumn = false;
33700
+ }
33476
33701
  var totalItems = [];
33477
33702
  columns.map(function (col, _index) {
33478
- var _props$customSummary6, _props$customSummary7, _props$customSummary8, _props$customSummary9, _props$customSummary10, _props$customSummary11, _props$customSummary12, _props$customSummary13, _props$customSummary14, _props$customSummary15;
33479
- var colOption = grid.columnOption(col.dataField);
33480
- ((_props$customSummary6 = props.customSummary) === null || _props$customSummary6 === void 0 ? void 0 : _props$customSummary6.showAvgInSummary) && totalItems.push(getSummaryItem(col, colOption.visibleIndex, "avg", (_props$customSummary7 = props.customSummary) === null || _props$customSummary7 === void 0 ? void 0 : _props$customSummary7.summaryAvgLabel));
33481
- ((_props$customSummary8 = props.customSummary) === null || _props$customSummary8 === void 0 ? void 0 : _props$customSummary8.showCountInSummary) && totalItems.push(getSummaryItem(col, colOption.visibleIndex, "count", (_props$customSummary9 = props.customSummary) === null || _props$customSummary9 === void 0 ? void 0 : _props$customSummary9.summaryCountLabel));
33482
- ((_props$customSummary10 = props.customSummary) === null || _props$customSummary10 === void 0 ? void 0 : _props$customSummary10.showMaxInSummary) && totalItems.push(getSummaryItem(col, colOption.visibleIndex, "max", (_props$customSummary11 = props.customSummary) === null || _props$customSummary11 === void 0 ? void 0 : _props$customSummary11.summaryMaxLabel));
33483
- ((_props$customSummary12 = props.customSummary) === null || _props$customSummary12 === void 0 ? void 0 : _props$customSummary12.showMinInSummary) && totalItems.push(getSummaryItem(col, colOption.visibleIndex, "min", (_props$customSummary13 = props.customSummary) === null || _props$customSummary13 === void 0 ? void 0 : _props$customSummary13.summaryMinLabel));
33484
- ((_props$customSummary14 = props.customSummary) === null || _props$customSummary14 === void 0 ? void 0 : _props$customSummary14.showSumInSummary) && totalItems.push(getSummaryItem(col, colOption.visibleIndex, "sum", (_props$customSummary15 = props.customSummary) === null || _props$customSummary15 === void 0 ? void 0 : _props$customSummary15.summarySumLabel));
33703
+ if (col.multiLevelColumns && col.multiLevelColumns.length > 0) {
33704
+ totalItems = [].concat(totalItems, getSummaryItems(props, col.multiLevelColumns, grid, true));
33705
+ } else {
33706
+ var _props$customSummary6, _props$customSummary7, _props$customSummary8, _props$customSummary9, _props$customSummary10, _props$customSummary11, _props$customSummary12, _props$customSummary13, _props$customSummary14, _props$customSummary15;
33707
+ var colOption = grid.columnOption(col.dataField);
33708
+ if (!colOption) {
33709
+ return col;
33710
+ }
33711
+ ((_props$customSummary6 = props.customSummary) === null || _props$customSummary6 === void 0 ? void 0 : _props$customSummary6.showAvgInSummary) && totalItems.push(getSummaryItem(col, colOption.visibleIndex, "avg", isMultiLevelColumn, (_props$customSummary7 = props.customSummary) === null || _props$customSummary7 === void 0 ? void 0 : _props$customSummary7.summaryAvgLabel));
33712
+ ((_props$customSummary8 = props.customSummary) === null || _props$customSummary8 === void 0 ? void 0 : _props$customSummary8.showCountInSummary) && totalItems.push(getSummaryItem(col, colOption.visibleIndex, "count", isMultiLevelColumn, (_props$customSummary9 = props.customSummary) === null || _props$customSummary9 === void 0 ? void 0 : _props$customSummary9.summaryCountLabel));
33713
+ ((_props$customSummary10 = props.customSummary) === null || _props$customSummary10 === void 0 ? void 0 : _props$customSummary10.showMaxInSummary) && totalItems.push(getSummaryItem(col, colOption.visibleIndex, "max", isMultiLevelColumn, (_props$customSummary11 = props.customSummary) === null || _props$customSummary11 === void 0 ? void 0 : _props$customSummary11.summaryMaxLabel));
33714
+ ((_props$customSummary12 = props.customSummary) === null || _props$customSummary12 === void 0 ? void 0 : _props$customSummary12.showMinInSummary) && totalItems.push(getSummaryItem(col, colOption.visibleIndex, "min", isMultiLevelColumn, (_props$customSummary13 = props.customSummary) === null || _props$customSummary13 === void 0 ? void 0 : _props$customSummary13.summaryMinLabel));
33715
+ ((_props$customSummary14 = props.customSummary) === null || _props$customSummary14 === void 0 ? void 0 : _props$customSummary14.showSumInSummary) && totalItems.push(getSummaryItem(col, colOption.visibleIndex, "sum", isMultiLevelColumn, (_props$customSummary15 = props.customSummary) === null || _props$customSummary15 === void 0 ? void 0 : _props$customSummary15.summarySumLabel));
33716
+ }
33717
+ return col;
33485
33718
  });
33486
33719
  return totalItems;
33487
33720
  };
33488
- var getSummaryItem = function getSummaryItem(col, visibleIndex, summaryType, label) {
33489
- if (visibleIndex == 0) {
33721
+ var getSummaryItem = function getSummaryItem(col, visibleIndex, summaryType, isMultiLevelColumn, label) {
33722
+ if (!isMultiLevelColumn && visibleIndex == 0) {
33490
33723
  return React.createElement(TotalItem, {
33491
33724
  column: col.dataField,
33492
33725
  summaryType: "custom",
@@ -33555,39 +33788,42 @@ var OdsRemoteDataGrid = function OdsRemoteDataGrid(props) {
33555
33788
  var filterApplied = useRef(false);
33556
33789
  var pkName = keyExpr && keyExpr.toString();
33557
33790
  var fileName = props.exportFileName ? props.exportFileName + moment().format("YYYYMMDD") : "DatagridExportFile" + moment().format("YYYYMMDD");
33558
- var _useState = useState(props.columns),
33559
- gridColumns = _useState[0],
33560
- setGridColumns = _useState[1];
33561
- var _useState2 = useState(false),
33562
- loading = _useState2[0],
33563
- setLoading = _useState2[1];
33564
- var _useState3 = useState([]),
33565
- data = _useState3[0],
33566
- setData = _useState3[1];
33567
- var _useState4 = useState(0),
33568
- filteredRowCount = _useState4[0],
33569
- setFilteredRowCount = _useState4[1];
33570
- var _useState5 = useState(false),
33571
- isFastUpdateModalOpen = _useState5[0],
33572
- setIsFastUpdateModalOpen = _useState5[1];
33573
- var _useState6 = useState([]),
33574
- selectedCells = _useState6[0],
33575
- setSelectedCells = _useState6[1];
33791
+ var _useState = useState(false),
33792
+ render = _useState[0],
33793
+ rerender = _useState[1];
33794
+ var _useState2 = useState(props.columns),
33795
+ gridColumns = _useState2[0],
33796
+ setGridColumns = _useState2[1];
33797
+ var _useState3 = useState(false),
33798
+ loading = _useState3[0],
33799
+ setLoading = _useState3[1];
33800
+ var _useState4 = useState([]),
33801
+ data = _useState4[0],
33802
+ setData = _useState4[1];
33803
+ var _useState5 = useState(0),
33804
+ filteredRowCount = _useState5[0],
33805
+ setFilteredRowCount = _useState5[1];
33806
+ var _useState6 = useState(false),
33807
+ isFastUpdateModalOpen = _useState6[0],
33808
+ setIsFastUpdateModalOpen = _useState6[1];
33576
33809
  var _useState7 = useState([]),
33577
- hoveredCells = _useState7[0],
33578
- setHoveredCells = _useState7[1];
33810
+ selectedCells = _useState7[0],
33811
+ setSelectedCells = _useState7[1];
33579
33812
  var _useState8 = useState([]),
33580
- ctrlSelectedCells = _useState8[0],
33581
- setCtrlSelectedCells = _useState8[1];
33582
- var _useState9 = useState(false),
33583
- ctrlSelection = _useState9[0],
33584
- setCtrlSelection = _useState9[1];
33813
+ hoveredCells = _useState8[0],
33814
+ setHoveredCells = _useState8[1];
33815
+ var _useState9 = useState([]),
33816
+ ctrlSelectedCells = _useState9[0],
33817
+ setCtrlSelectedCells = _useState9[1];
33585
33818
  var _useState10 = useState(false),
33586
- contentReady = _useState10[0],
33587
- setContentReady = _useState10[1];
33588
- var _useState11 = useState(0),
33589
- scrollPosition = _useState11[0],
33590
- setScrollPosition = _useState11[1];
33819
+ ctrlSelection = _useState10[0],
33820
+ setCtrlSelection = _useState10[1];
33821
+ var _useState11 = useState(false),
33822
+ contentReady = _useState11[0],
33823
+ setContentReady = _useState11[1];
33824
+ var _useState12 = useState(0),
33825
+ scrollPosition = _useState12[0],
33826
+ setScrollPosition = _useState12[1];
33591
33827
  useEffect(function () {
33592
33828
  constants.totalPageCount = 1;
33593
33829
  constants.loadedPageCount = 1;
@@ -33624,6 +33860,9 @@ var OdsRemoteDataGrid = function OdsRemoteDataGrid(props) {
33624
33860
  setGridColumns(newColumns);
33625
33861
  }
33626
33862
  }, [props.columns]);
33863
+ useEffect(function () {
33864
+ rerender(!render);
33865
+ }, [gridColumns]);
33627
33866
  useEffect(function () {
33628
33867
  if (Array.isArray(props.dataSource)) {
33629
33868
  setData(props.dataSource);
@@ -34562,5 +34801,5 @@ var OdsRemoteDataGrid = function OdsRemoteDataGrid(props) {
34562
34801
  })));
34563
34802
  };
34564
34803
 
34565
- export { DxTreeList, OdsAlert, OdsAutoComplete, OdsBadge, OdsBadgeRibbon, OdsBannerAlert, OdsBasicTable, OdsButton, OdsCalendar, OdsCard, OdsCheckbox, OdsCheckboxGroup, OdsCollapse, OdsDataGrid, OdsDateRangePicker, OdsDatepicker, OdsDisplayGrid, OdsDivider, OdsDropdown, OdsDropdownButton, OdsFilter, OdsFilterTagView, OdsImage, OdsInput, OdsInputNumber, OdsLink, OdsList, OdsModal, OdsModalOld, OdsMultiSelect, OdsNotification, OdsParagraph, OdsPassword, OdsPhoneInput, OdsRadio, OdsRadioGroup, OdsRangeTimepicker, OdsRate, OdsRemoteDataGrid, OdsSearch, OdsSelect, OdsSelectableTable, OdsSpin, OdsSwitch, OdsTab, OdsBasicTable as OdsTable, OdsTag, OdsText, OdsTextArea, OdsTimeline, OdsTimepicker, OdsTitle };
34804
+ export { DxTreeList, OdsAlert, OdsAutoComplete, OdsBadge, OdsBadgeRibbon, OdsBannerAlert, OdsBasicTable, OdsButton, OdsCalendar, OdsCard, OdsCheckbox, OdsCheckboxGroup, OdsCollapse, OdsDataGrid, OdsDateRangePicker, OdsDatepicker, OdsDisplayGrid, OdsDivider, OdsDropdown, OdsDropdownButton, OdsFileUpload, OdsFilter, OdsFilterTagView, OdsImage, OdsInput, OdsInputNumber, OdsLink, OdsList, OdsModal, OdsModalOld, OdsMultiSelect, OdsNotification, OdsParagraph, OdsPassword, OdsPhoneInput, OdsRadio, OdsRadioGroup, OdsRangeTimepicker, OdsRate, OdsRemoteDataGrid, OdsSearch, OdsSelect, OdsSelectableTable, OdsSpin, OdsSwitch, OdsTab, OdsBasicTable as OdsTable, OdsTag, OdsText, OdsTextArea, OdsTimeline, OdsTimepicker, OdsTitle };
34566
34805
  //# sourceMappingURL=index.modern.js.map