ods-component-lib 1.18.41 → 1.18.43

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 (43) hide show
  1. package/dist/components/devextreme/OdsDatagridProps.d.ts +2 -0
  2. package/dist/components/devextreme/OdsRemoteDataGrid.d.ts +1 -0
  3. package/dist/components/devextreme/datagridUtils/DxDataPopupForm.d.ts +3 -0
  4. package/dist/components/devextreme/datagridUtils/DynamicIcon.d.ts +5 -0
  5. package/dist/components/devextreme/treeview/DxTreeList.d.ts +2 -1
  6. package/dist/index.d.ts +0 -2
  7. package/dist/index.js +55 -90
  8. package/dist/index.js.map +1 -1
  9. package/dist/index.modern.js +56 -90
  10. package/dist/index.modern.js.map +1 -1
  11. package/dist/stories/OdsTimePicker/OdsTimePicker.stories.d.ts +10 -0
  12. package/dist/stories/OdsTimePicker/Samples/Basic.Sample.d.ts +1 -0
  13. package/dist/stories/OdsTimePicker/Samples/TimeRangePicker.d.ts +2 -0
  14. package/dist/stories/OdsTreeList/OdsTreeList.stories.d.ts +165 -0
  15. package/dist/stories/OdsTreeList/Samples/BasicTreeListTemplate.Constants.d.ts +15 -0
  16. package/dist/stories/OdsTreeList/Samples/BasicTreeListTemplate.MockData.d.ts +24 -0
  17. package/dist/stories/OdsTreeList/Samples/BasicTreeListTemplate.Sample.d.ts +1 -0
  18. package/dist/stories/OdsTreeList/Samples/EmployeeCell.d.ts +4 -0
  19. package/package.json +2 -2
  20. package/dist/components/devextreme/OdsGantt/OdsGantt.Constants.d.ts +0 -4
  21. package/dist/components/devextreme/OdsGantt/OdsGantt.Functions.d.ts +0 -2
  22. package/dist/components/devextreme/OdsGantt/OdsGantt.Types.d.ts +0 -15
  23. package/dist/components/devextreme/OdsGantt/OdsGantt.d.ts +0 -5
  24. package/dist/stories/GanttChart/Gantt.Constants.d.ts +0 -2
  25. package/dist/stories/GanttChart/Gantt.Functions.d.ts +0 -6
  26. package/dist/stories/GanttChart/Gantt.MockData.d.ts +0 -39
  27. package/dist/stories/GanttChart/Gantt.stories.d.ts +0 -146
  28. package/dist/stories/GanttChart/TaskTemplate.d.ts +0 -4
  29. package/dist/stories/OdsBasicTable/OdsBasicTable.stories.d.ts +0 -9
  30. package/dist/stories/OdsBasicTable/Samples/OdsBasicTable.Sample.d.ts +0 -1
  31. package/dist/stories/OdsGantt/OdsGantt.Constants.d.ts +0 -2
  32. package/dist/stories/OdsGantt/OdsGantt.Functions.d.ts +0 -6
  33. package/dist/stories/OdsGantt/OdsGantt.MockData.d.ts +0 -39
  34. package/dist/stories/OdsGantt/OdsGantt.stories.d.ts +0 -146
  35. package/dist/stories/OdsRemoteDataGrid/OdsRemoteDataGrid.Constants.d.ts +0 -17
  36. package/dist/stories/OdsRemoteDataGrid/OdsRemoteDataGrid.MockData.d.ts +0 -5
  37. package/dist/stories/OdsSelect/Samples/OdsCustomMultiSelect/OdsCustomMultiSelect.MockData.d.ts +0 -4
  38. package/dist/stories/OdsSelect/Samples/OdsCustomMultiSelect/OdsCustomMultiSelect.Sample.d.ts +0 -1
  39. package/dist/stories/OdsTable/Samples/OdsBasicTable.Sample.d.ts +0 -1
  40. package/dist/stories/OdsTimeline/OdsTimeline.Constants.d.ts +0 -3
  41. package/dist/stories/OdsTimeline/OdsTimeline.Functions.d.ts +0 -4
  42. package/dist/stories/OdsTimeline/OdsTimeline.MockData.d.ts +0 -39
  43. package/dist/stories/OdsTimeline/OdsTimeline.stories.d.ts +0 -146
@@ -0,0 +1,2 @@
1
+ export interface OdsDatagridProps {
2
+ }
@@ -28,6 +28,7 @@ interface ISummaryRowOptions {
28
28
  summaryTotalDataLabel?: string;
29
29
  summaryFilteredDataLabel?: string;
30
30
  summaryItems?: ISummaryProps[];
31
+ summaryTotalCount?: number;
31
32
  }
32
33
  interface IAxiosProps {
33
34
  token: string;
@@ -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;
@@ -1,3 +1,4 @@
1
+ import { ITreeListOptions } from "devextreme-react/tree-list";
1
2
  import React from "react";
2
- declare const DxTreeList: (props: any) => React.JSX.Element;
3
+ declare const DxTreeList: (props: ITreeListOptions<any, any>) => React.JSX.Element;
3
4
  export default DxTreeList;
package/dist/index.d.ts CHANGED
@@ -44,7 +44,6 @@ import OdsTitle from "./components/antd/typography/OdsTitle";
44
44
  import OdsDataGrid from "./components/devextreme/OdsDataGrid";
45
45
  import OdsDisplayGrid from "./components/devextreme/OdsDisplayGrid";
46
46
  import DxTreeList from "./components/devextreme/treeview/DxTreeList";
47
- import DxTreeView from "./components/devextreme/treeview/DxTreeView";
48
47
  import OdsRemoteDataGrid from "./components/devextreme/OdsRemoteDataGrid";
49
48
  export { OdsButton };
50
49
  export { OdsInput };
@@ -86,7 +85,6 @@ export { OdsTitle };
86
85
  export { OdsParagraph };
87
86
  export { OdsLink };
88
87
  export { OdsNotification };
89
- export { DxTreeView };
90
88
  export { DxTreeList };
91
89
  export { OdsAlert };
92
90
  export { OdsBannerAlert };
package/dist/index.js CHANGED
@@ -23,7 +23,6 @@ var fileSaverEs = require('file-saver-es');
23
23
  var moment = _interopDefault(require('moment'));
24
24
  var outline = require('ods-icon/react/24/outline');
25
25
  var devextremeReact = require('devextreme-react');
26
- var treeView = require('devextreme-react/tree-view');
27
26
 
28
27
  function _extends() {
29
28
  _extends = Object.assign ? Object.assign.bind() : function (target) {
@@ -1124,14 +1123,16 @@ var dayjs_min = createCommonjsModule(function (module, exports) {
1124
1123
  !function(t,e){module.exports=e();}(commonjsGlobal,(function(){var t=1e3,e=6e4,n=36e5,r="millisecond",i="second",s="minute",u="hour",a="day",o="week",c="month",f="quarter",h="year",d="date",l="Invalid Date",$=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,y=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,M={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(t){var e=["th","st","nd","rd"],n=t%100;return "["+t+(e[(n-20)%10]||e[n]||e[0])+"]"}},m=function(t,e,n){var r=String(t);return !r||r.length>=e?t:""+Array(e+1-r.length).join(n)+t},v={s:m,z:function(t){var e=-t.utcOffset(),n=Math.abs(e),r=Math.floor(n/60),i=n%60;return (e<=0?"+":"-")+m(r,2,"0")+":"+m(i,2,"0")},m:function t(e,n){if(e.date()<n.date())return -t(n,e);var r=12*(n.year()-e.year())+(n.month()-e.month()),i=e.clone().add(r,c),s=n-i<0,u=e.clone().add(r+(s?-1:1),c);return +(-(r+(n-i)/(s?i-u:u-i))||0)},a:function(t){return t<0?Math.ceil(t)||0:Math.floor(t)},p:function(t){return {M:c,y:h,w:o,d:a,D:d,h:u,m:s,s:i,ms:r,Q:f}[t]||String(t||"").toLowerCase().replace(/s$/,"")},u:function(t){return void 0===t}},g="en",D={};D[g]=M;var p="$isDayjsObject",S=function(t){return t instanceof _||!(!t||!t[p])},w=function t(e,n,r){var i;if(!e)return g;if("string"==typeof e){var s=e.toLowerCase();D[s]&&(i=s),n&&(D[s]=n,i=s);var u=e.split("-");if(!i&&u.length>1)return t(u[0])}else {var a=e.name;D[a]=e,i=a;}return !r&&i&&(g=i),i||!r&&g},O=function(t,e){if(S(t))return t.clone();var n="object"==typeof e?e:{};return n.date=t,n.args=arguments,new _(n)},b=v;b.l=w,b.i=S,b.w=function(t,e){return O(t,{locale:e.$L,utc:e.$u,x:e.$x,$offset:e.$offset})};var _=function(){function M(t){this.$L=w(t.locale,null,!0),this.parse(t),this.$x=this.$x||t.x||{},this[p]=!0;}var m=M.prototype;return m.parse=function(t){this.$d=function(t){var e=t.date,n=t.utc;if(null===e)return new Date(NaN);if(b.u(e))return new Date;if(e instanceof Date)return new Date(e);if("string"==typeof e&&!/Z$/i.test(e)){var r=e.match($);if(r){var i=r[2]-1||0,s=(r[7]||"0").substring(0,3);return n?new Date(Date.UTC(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)):new Date(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)}}return new Date(e)}(t),this.init();},m.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds();},m.$utils=function(){return b},m.isValid=function(){return !(this.$d.toString()===l)},m.isSame=function(t,e){var n=O(t);return this.startOf(e)<=n&&n<=this.endOf(e)},m.isAfter=function(t,e){return O(t)<this.startOf(e)},m.isBefore=function(t,e){return this.endOf(e)<O(t)},m.$g=function(t,e,n){return b.u(t)?this[e]:this.set(n,t)},m.unix=function(){return Math.floor(this.valueOf()/1e3)},m.valueOf=function(){return this.$d.getTime()},m.startOf=function(t,e){var n=this,r=!!b.u(e)||e,f=b.p(t),l=function(t,e){var i=b.w(n.$u?Date.UTC(n.$y,e,t):new Date(n.$y,e,t),n);return r?i:i.endOf(a)},$=function(t,e){return b.w(n.toDate()[t].apply(n.toDate("s"),(r?[0,0,0,0]:[23,59,59,999]).slice(e)),n)},y=this.$W,M=this.$M,m=this.$D,v="set"+(this.$u?"UTC":"");switch(f){case h:return r?l(1,0):l(31,11);case c:return r?l(1,M):l(0,M+1);case o:var g=this.$locale().weekStart||0,D=(y<g?y+7:y)-g;return l(r?m-D:m+(6-D),M);case a:case d:return $(v+"Hours",0);case u:return $(v+"Minutes",1);case s:return $(v+"Seconds",2);case i:return $(v+"Milliseconds",3);default:return this.clone()}},m.endOf=function(t){return this.startOf(t,!1)},m.$set=function(t,e){var n,o=b.p(t),f="set"+(this.$u?"UTC":""),l=(n={},n[a]=f+"Date",n[d]=f+"Date",n[c]=f+"Month",n[h]=f+"FullYear",n[u]=f+"Hours",n[s]=f+"Minutes",n[i]=f+"Seconds",n[r]=f+"Milliseconds",n)[o],$=o===a?this.$D+(e-this.$W):e;if(o===c||o===h){var y=this.clone().set(d,1);y.$d[l]($),y.init(),this.$d=y.set(d,Math.min(this.$D,y.daysInMonth())).$d;}else l&&this.$d[l]($);return this.init(),this},m.set=function(t,e){return this.clone().$set(t,e)},m.get=function(t){return this[b.p(t)]()},m.add=function(r,f){var d,l=this;r=Number(r);var $=b.p(f),y=function(t){var e=O(l);return b.w(e.date(e.date()+Math.round(t*r)),l)};if($===c)return this.set(c,this.$M+r);if($===h)return this.set(h,this.$y+r);if($===a)return y(1);if($===o)return y(7);var M=(d={},d[s]=e,d[u]=n,d[i]=t,d)[$]||1,m=this.$d.getTime()+r*M;return b.w(m,this)},m.subtract=function(t,e){return this.add(-1*t,e)},m.format=function(t){var e=this,n=this.$locale();if(!this.isValid())return n.invalidDate||l;var r=t||"YYYY-MM-DDTHH:mm:ssZ",i=b.z(this),s=this.$H,u=this.$m,a=this.$M,o=n.weekdays,c=n.months,f=n.meridiem,h=function(t,n,i,s){return t&&(t[n]||t(e,r))||i[n].slice(0,s)},d=function(t){return b.s(s%12||12,t,"0")},$=f||function(t,e,n){var r=t<12?"AM":"PM";return n?r.toLowerCase():r};return r.replace(y,(function(t,r){return r||function(t){switch(t){case"YY":return String(e.$y).slice(-2);case"YYYY":return b.s(e.$y,4,"0");case"M":return a+1;case"MM":return b.s(a+1,2,"0");case"MMM":return h(n.monthsShort,a,c,3);case"MMMM":return h(c,a);case"D":return e.$D;case"DD":return b.s(e.$D,2,"0");case"d":return String(e.$W);case"dd":return h(n.weekdaysMin,e.$W,o,2);case"ddd":return h(n.weekdaysShort,e.$W,o,3);case"dddd":return o[e.$W];case"H":return String(s);case"HH":return b.s(s,2,"0");case"h":return d(1);case"hh":return d(2);case"a":return $(s,u,!0);case"A":return $(s,u,!1);case"m":return String(u);case"mm":return b.s(u,2,"0");case"s":return String(e.$s);case"ss":return b.s(e.$s,2,"0");case"SSS":return b.s(e.$ms,3,"0");case"Z":return i}return null}(t)||i.replace(":","")}))},m.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},m.diff=function(r,d,l){var $,y=this,M=b.p(d),m=O(r),v=(m.utcOffset()-this.utcOffset())*e,g=this-m,D=function(){return b.m(y,m)};switch(M){case h:$=D()/12;break;case c:$=D();break;case f:$=D()/3;break;case o:$=(g-v)/6048e5;break;case a:$=(g-v)/864e5;break;case u:$=g/n;break;case s:$=g/e;break;case i:$=g/t;break;default:$=g;}return l?$:b.a($)},m.daysInMonth=function(){return this.endOf(c).$D},m.$locale=function(){return D[this.$L]},m.locale=function(t,e){if(!t)return this.$L;var n=this.clone(),r=w(t,e,!0);return r&&(n.$L=r),n},m.clone=function(){return b.w(this.$d,this)},m.toDate=function(){return new Date(this.valueOf())},m.toJSON=function(){return this.isValid()?this.toISOString():null},m.toISOString=function(){return this.$d.toISOString()},m.toString=function(){return this.$d.toUTCString()},M}(),k=_.prototype;return O.prototype=k,[["$ms",r],["$s",i],["$m",s],["$H",u],["$W",a],["$M",c],["$y",h],["$D",d]].forEach((function(t){k[t[1]]=function(e){return this.$g(e,t[0],t[1])};})),O.extend=function(t,e){return t.$i||(t(e,_,O),t.$i=!0),O},O.locale=w,O.isDayjs=S,O.unix=function(t){return O(1e3*t)},O.en=D[g],O.Ls=D,O.p={},O}));
1125
1124
  });
1126
1125
 
1126
+ var format = "HH:mm";
1127
1127
  function StyledOdsTimepicker(props) {
1128
- var format = "HH:mm";
1129
1128
  return React__default.createElement(React__default.Fragment, null, React__default.createElement(StyledTimepicker, Object.assign({}, props, {
1130
1129
  defaultValue: dayjs_min("00:00", format)
1131
1130
  })));
1132
1131
  }
1133
1132
  var OdsTimepicker = function OdsTimepicker(props) {
1134
- return React__default.createElement(StyledOdsTimepicker, Object.assign({}, props));
1133
+ return React__default.createElement(StyledOdsTimepicker, Object.assign({}, props, {
1134
+ defaultValue: dayjs_min("00:00", format)
1135
+ }));
1135
1136
  };
1136
1137
 
1137
1138
  var _templateObject$m;
@@ -1578,75 +1579,7 @@ function grid(props) {
1578
1579
  }
1579
1580
 
1580
1581
  var DxTreeList = function DxTreeList(props) {
1581
- var _useState = React.useState(props.dataSource),
1582
- dataSource = _useState[0];
1583
- var renderReadButtons = function renderReadButtons(data) {
1584
- return React__default.createElement("div", null, React__default.createElement(OdsSwitch, {
1585
- onChange: function onChange(checked) {
1586
- return onchangeRead(checked, data);
1587
- },
1588
- checked: data.ReadPermission
1589
- }));
1590
- };
1591
- var renderModifyButtons = function renderModifyButtons(data) {
1592
- return React__default.createElement("div", null, React__default.createElement(OdsSwitch, {
1593
- onChange: function onChange(checked) {
1594
- return onchangeModify(checked, data);
1595
- },
1596
- checked: data.ModifyPermission
1597
- }));
1598
- };
1599
- var onchangeModify = function onchangeModify(checked, data) {
1600
- data.ModifyPermission = checked;
1601
- props.onDataChange(dataSource);
1602
- };
1603
- var onchangeRead = function onchangeRead(checked, data) {
1604
- data.ReadPermission = checked;
1605
- props.onDataChange(dataSource);
1606
- };
1607
- return React__default.createElement(React__default.Fragment, null, React__default.createElement(devextremeReact.TreeList, {
1608
- id: "Id",
1609
- dataSource: dataSource,
1610
- showRowLines: true,
1611
- showBorders: true,
1612
- columnAutoWidth: true,
1613
- itemsExpr: props.itemsExpr,
1614
- wordWrapEnabled: true,
1615
- dataStructure: "tree"
1616
- }, React__default.createElement(DataGrid.Column, {
1617
- dataField: "Name",
1618
- caption: "Name"
1619
- }), React__default.createElement(DataGrid.Column, {
1620
- caption: "Read",
1621
- cellRender: function cellRender(_ref) {
1622
- var data = _ref.data;
1623
- return renderReadButtons(data);
1624
- }
1625
- }), React__default.createElement(DataGrid.Column, {
1626
- caption: "Modify",
1627
- cellRender: function cellRender(_ref2) {
1628
- var data = _ref2.data;
1629
- return renderModifyButtons(data);
1630
- }
1631
- })));
1632
- };
1633
-
1634
- var DxTreeView = function DxTreeView(props) {
1635
- return React__default.createElement(React__default.Fragment, null, React__default.createElement(treeView.TreeView, {
1636
- id: "treeView",
1637
- dataSource: props.dataSource,
1638
- dataStructure: props.dataStructure !== undefined ? props.dataStructure : "plain",
1639
- keyExpr: props.keyExpr,
1640
- displayExpr: props.displayExpr,
1641
- parentIdExpr: props.parentIdExp,
1642
- searchEnabled: true,
1643
- searchMode: "contains",
1644
- expandAllEnabled: props.expandAllEnabled !== undefined ? props.expandAllEnabled : false,
1645
- expandedExpr: "expanded",
1646
- scrollDirection: "vertical",
1647
- selectNodesRecursive: true,
1648
- visible: true
1649
- }));
1582
+ return React__default.createElement(React__default.Fragment, null, React__default.createElement(devextremeReact.TreeList, Object.assign({}, props), props.children));
1650
1583
  };
1651
1584
 
1652
1585
  // A type of promise-like that resolves synchronously and supports only one observer
@@ -16505,11 +16438,15 @@ var OdsRemoteDataGrid = function OdsRemoteDataGrid(props) {
16505
16438
  setIsLoading = _useState2[1];
16506
16439
  var fileName = props.exportFileName ? props.exportFileName + moment().format("YYYYMMDD") : "DatagridExportFile" + moment().format("YYYYMMDD");
16507
16440
  var _useState3 = React.useState(0),
16508
- filteredRowCount = _useState3[0];
16441
+ filteredRowCount = _useState3[0],
16442
+ setFilteredRowCount = _useState3[1];
16509
16443
  var _useState4 = React.useState(props.columns),
16510
16444
  columns = _useState4[0],
16511
16445
  setColumns = _useState4[1];
16512
16446
  var gridRef = React.useRef(null);
16447
+ var _useState5 = React.useState(false),
16448
+ filterApplied = _useState5[0],
16449
+ setFilterApplied = _useState5[1];
16513
16450
  var onCancelEditEvent = new CustomEvent('cancelEdit', {
16514
16451
  bubbles: true,
16515
16452
  detail: {
@@ -16624,7 +16561,7 @@ var OdsRemoteDataGrid = function OdsRemoteDataGrid(props) {
16624
16561
  } else if (totalPageCount >= loadedPageCount) {
16625
16562
  setData(function (prevData) {
16626
16563
  var uniqueData = newData.Data.filter(function (newItem) {
16627
- return !prevData.some(function (prevItem) {
16564
+ return !newItem.Id || newItem.Id <= 0 || !prevData.some(function (prevItem) {
16628
16565
  return prevItem.Id === newItem.Id;
16629
16566
  });
16630
16567
  });
@@ -16668,9 +16605,7 @@ var OdsRemoteDataGrid = function OdsRemoteDataGrid(props) {
16668
16605
  }
16669
16606
  if (e.editorOptions && e.rowType === 'data' && e.parentType === 'dataRow') {
16670
16607
  e.editorOptions.onValueChanged = function (args) {
16671
- if (args.event && args.event.type === 'cancel') {
16672
- e.cellElement.dispatchEvent(onCancelEditEvent);
16673
- }
16608
+ if (args.event && args.event.type === 'cancel') e.cellElement.dispatchEvent(onCancelEditEvent);
16674
16609
  };
16675
16610
  }
16676
16611
  }, [props.isServerSide]);
@@ -16761,6 +16696,11 @@ var OdsRemoteDataGrid = function OdsRemoteDataGrid(props) {
16761
16696
  };else state.filterPanel = {
16762
16697
  filterEnabled: true
16763
16698
  };
16699
+ if (data.length === 0) {
16700
+ if (!state.filterValue && state.filterValue !== null) {
16701
+ state.filterValue = null;
16702
+ }
16703
+ }
16764
16704
  localStorage.setItem(props.exportFileName + "Storage", JSON.stringify(state));
16765
16705
  }, [props.filterEnabledShow]);
16766
16706
  var onEditorPrepared = React.useCallback(function (info) {
@@ -16779,8 +16719,30 @@ var OdsRemoteDataGrid = function OdsRemoteDataGrid(props) {
16779
16719
  }
16780
16720
  }, []);
16781
16721
  var renderTotal = React.useCallback(function () {
16782
- return totalRecordCount > 0 ? props.customSummary.summaryTotalDataLabel + " : " + totalRecordCount : "";
16783
- }, [data, filteredRowCount, loadedPageCount, props.pageSize, totalRecordCount]);
16722
+ var result = "";
16723
+ var totalloaded = 0;
16724
+ if (data.length < 50 || !props.isServerSide || loadedPageCount == totalPageCount) {
16725
+ totalloaded = data.length;
16726
+ } else {
16727
+ totalloaded = loadedPageCount * props.pageSize;
16728
+ }
16729
+ if (props.isServerSide) {
16730
+ result = totalRecordCount > 0 ? totalloaded + " " + props.customSummary.summaryLoadedDataLabel + ("- " + totalRecordCount) + props.customSummary.summaryTotalDataLabel : "";
16731
+ result = concatFilteredLabel(result, totalloaded);
16732
+ }
16733
+ if (props.customSummary.summaryTotalCount !== undefined && !props.isServerSide) {
16734
+ result = props.customSummary.summaryTotalDataLabel + " : " + props.customSummary.summaryTotalCount;
16735
+ result = concatFilteredLabel(result, totalloaded);
16736
+ }
16737
+ return result;
16738
+ }, [data, filteredRowCount, loadedPageCount, props.pageSize, totalRecordCount, filterApplied]);
16739
+ var concatFilteredLabel = function concatFilteredLabel(result, totalloaded) {
16740
+ if (filteredRowCount > 0 && totalloaded !== filteredRowCount && filterApplied) {
16741
+ var filteredLabel = filteredRowCount + " " + props.customSummary.summaryFilteredDataLabel + "- ";
16742
+ result = filteredLabel + " " + result;
16743
+ }
16744
+ return result;
16745
+ };
16784
16746
  var renderTotalPaging = React.useCallback(function () {
16785
16747
  var result = "";
16786
16748
  if (totalPageCount > 1) {
@@ -16810,18 +16772,12 @@ var OdsRemoteDataGrid = function OdsRemoteDataGrid(props) {
16810
16772
  var height = (_scrollable$clientHei = scrollable === null || scrollable === void 0 ? void 0 : scrollable.clientHeight) != null ? _scrollable$clientHei : 0;
16811
16773
  var scrollHeight = (_scrollable$scrollHei = scrollable === null || scrollable === void 0 ? void 0 : scrollable.scrollHeight) != null ? _scrollable$scrollHei : 0;
16812
16774
  var maxHeight = Math.max(top, height, scrollHeight) - 1;
16813
- if (scrollHeight <= height) {
16814
- return;
16815
- }
16775
+ if (scrollHeight <= height) return;
16816
16776
  var reachedBottom = Math.ceil(top + height) >= maxHeight;
16817
16777
  var lastScrollTop = 0;
16818
- if (top < lastScrollTop) {
16819
- return;
16820
- }
16778
+ if (top < lastScrollTop) return;
16821
16779
  lastScrollTop = top <= 0 ? 0 : top;
16822
- if (reachedBottom) {
16823
- onScrollEnd();
16824
- }
16780
+ if (reachedBottom) onScrollEnd();
16825
16781
  }, 200);
16826
16782
  run(e);
16827
16783
  };
@@ -16835,6 +16791,14 @@ var OdsRemoteDataGrid = function OdsRemoteDataGrid(props) {
16835
16791
  });
16836
16792
  };
16837
16793
  }, [data.length]);
16794
+ var handleContentReady = function handleContentReady(e) {
16795
+ var dataGridInstance = e.component;
16796
+ var filteredDataCount = dataGridInstance.totalCount();
16797
+ setFilteredRowCount(filteredDataCount);
16798
+ };
16799
+ var onFilterValueChange = function onFilterValueChange(e) {
16800
+ if (e !== null) setFilterApplied(true);else setFilterApplied(false);
16801
+ };
16838
16802
  return React__default.createElement(React__default.Fragment, null, React__default.createElement(DataGrid__default, {
16839
16803
  keyExpr: props.keyExpr,
16840
16804
  dataSource: data,
@@ -16868,7 +16832,9 @@ var OdsRemoteDataGrid = function OdsRemoteDataGrid(props) {
16868
16832
  noDataText: props.noDataText,
16869
16833
  onSaved: props.onSaved,
16870
16834
  onSaving: props.onSaving,
16871
- onEditCanceling: props.onEditCanceling
16835
+ onEditCanceling: props.onEditCanceling,
16836
+ onContentReady: handleContentReady,
16837
+ onFilterValueChange: onFilterValueChange
16872
16838
  }, columns.map(function (col) {
16873
16839
  return React__default.createElement(DataGrid.Column, Object.assign({
16874
16840
  key: col.dataField
@@ -17037,7 +17003,6 @@ var OdsRemoteDataGrid = function OdsRemoteDataGrid(props) {
17037
17003
  };
17038
17004
 
17039
17005
  exports.DxTreeList = DxTreeList;
17040
- exports.DxTreeView = DxTreeView;
17041
17006
  exports.OdsAlert = OdsAlert;
17042
17007
  exports.OdsAutoComplete = OdsAutoComplete;
17043
17008
  exports.OdsBannerAlert = OdsBannerAlert;