ods-component-lib 1.18.64 → 1.18.66

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.
@@ -22,6 +22,7 @@ export interface IOdsDataGridProps extends IDataGridOptions {
22
22
  customSummary?: ISummaryRowOptions;
23
23
  handleEditorPreparing?: any;
24
24
  isFilterRow?: boolean;
25
+ inputFilterData?: any[];
25
26
  }
26
27
  interface ISummaryRowOptions {
27
28
  summaryLoadedDataLabel?: string;
package/dist/index.js CHANGED
@@ -16619,7 +16619,7 @@ var loadedPageCount = 1;
16619
16619
  var totalRecordCount = 0;
16620
16620
  var useToken$1 = antd.theme.useToken;
16621
16621
  var OdsRemoteDataGrid = function OdsRemoteDataGrid(props) {
16622
- var _props$axiosRequest4, _props$axiosRequest5, _props$axiosRequest6, _props$axiosRequest7, _props$axiosRequest8, _props$axiosRequest9, _props$axiosRequest10, _props$selectOptions, _props$selectOptions$, _props$selectOptions2, _props$selectOptions$2, _props$selectOptions3;
16622
+ var _props$axiosRequest4, _props$axiosRequest5, _props$axiosRequest6, _props$axiosRequest7, _props$axiosRequest8, _props$axiosRequest9, _props$axiosRequest10, _props$axiosRequest11, _props$selectOptions, _props$selectOptions$, _props$selectOptions2, _props$selectOptions$2, _props$selectOptions3;
16623
16623
  var _useToken = useToken$1(),
16624
16624
  token = _useToken.token;
16625
16625
  var _useState = React.useState([]),
@@ -16635,6 +16635,9 @@ var OdsRemoteDataGrid = function OdsRemoteDataGrid(props) {
16635
16635
  var _useState3 = React.useState(false),
16636
16636
  loading = _useState3[0],
16637
16637
  setLoading = _useState3[1];
16638
+ var _useState4 = React.useState(false),
16639
+ contentReady = _useState4[0],
16640
+ setContentReady = _useState4[1];
16638
16641
  var onCancelEditEvent = new CustomEvent('cancelEdit', {
16639
16642
  bubbles: true,
16640
16643
  detail: {
@@ -16660,7 +16663,7 @@ var OdsRemoteDataGrid = function OdsRemoteDataGrid(props) {
16660
16663
  setData([]);
16661
16664
  fetchData();
16662
16665
  }
16663
- }, [(_props$axiosRequest4 = props.axiosRequest) === null || _props$axiosRequest4 === void 0 ? void 0 : _props$axiosRequest4.requestData]);
16666
+ }, [(_props$axiosRequest4 = props.axiosRequest) === null || _props$axiosRequest4 === void 0 ? void 0 : _props$axiosRequest4.requestData, (_props$axiosRequest5 = props.axiosRequest) === null || _props$axiosRequest5 === void 0 ? void 0 : _props$axiosRequest5.requestQueryString]);
16664
16667
  React.useEffect(function () {
16665
16668
  if (columns.current !== undefined && columns.current.length > 0) {
16666
16669
  var newColumns = columns.current.map(function (colItem) {
@@ -16693,6 +16696,45 @@ var OdsRemoteDataGrid = function OdsRemoteDataGrid(props) {
16693
16696
  gridRef.current.instance.updateDimensions();
16694
16697
  }
16695
16698
  }, []);
16699
+ React.useEffect(function () {
16700
+ if (contentReady) checkSortingPropertyForInitilaize();
16701
+ }, [contentReady]);
16702
+ var checkSortingPropertyForInitilaize = function checkSortingPropertyForInitilaize() {
16703
+ var onOptionChanged = props.onOptionChanged;
16704
+ if (onOptionChanged) {
16705
+ var dataGridInstance = gridRef.current.instance;
16706
+ var sortingState = dataGridInstance.getVisibleColumns().map(function (column, index) {
16707
+ return {
16708
+ index: index - 1,
16709
+ dataField: column.dataField,
16710
+ sortOrder: column.sortOrder
16711
+ };
16712
+ });
16713
+ var sortedColumn = sortingState.find(function (column) {
16714
+ return column.sortOrder !== undefined;
16715
+ });
16716
+ console.log("sorted column", sortedColumn);
16717
+ if (sortedColumn) {
16718
+ if (sortedColumn.sortOrder) {
16719
+ dataGridInstance.option("columns[" + sortedColumn.index + "].sortOrder", sortedColumn.sortOrder);
16720
+ var fullName = "columns[" + sortedColumn.index + "].sortOrder";
16721
+ var gridEvent = {
16722
+ component: dataGridInstance,
16723
+ fullName: fullName,
16724
+ name: 'optionChanged',
16725
+ value: sortedColumn.sortOrder,
16726
+ previousValue: null,
16727
+ element: null
16728
+ };
16729
+ onOptionChanged(gridEvent);
16730
+ }
16731
+ }
16732
+ }
16733
+ };
16734
+ var checkRequestDataHasOnlySortingProperty = function checkRequestDataHasOnlySortingProperty(obj) {
16735
+ var keys = Object.keys(obj);
16736
+ return keys.length === 1 && keys[0] === 'Sorting';
16737
+ };
16696
16738
  var actionButtons = React.useMemo(function () {
16697
16739
  if (props.actionButtonGroup) {
16698
16740
  if (props.actionButtonGroup.length >= 2 && !props.edit) {
@@ -16718,9 +16760,10 @@ var OdsRemoteDataGrid = function OdsRemoteDataGrid(props) {
16718
16760
  var fetchData = React.useCallback(function () {
16719
16761
  try {
16720
16762
  if (props.axiosRequest == undefined) return Promise.resolve();
16721
- var _temp2 = function () {
16763
+ return Promise.resolve(function () {
16722
16764
  if (props.isServerSide) {
16723
16765
  var _props$axiosRequest$r;
16766
+ if (props.axiosRequest.requestData && checkRequestDataHasOnlySortingProperty(props.axiosRequest.requestData)) return;
16724
16767
  var apiUrl = props.axiosRequest.environmentUrl + "" + props.axiosRequest.apiUrl;
16725
16768
  if (((_props$axiosRequest$r = props.axiosRequest.requestData) === null || _props$axiosRequest$r === void 0 ? void 0 : _props$axiosRequest$r.PaginatedRequest) !== undefined) {
16726
16769
  props.axiosRequest.requestData.PaginatedRequest.PageNumber = loadedPageCount;
@@ -16768,12 +16811,11 @@ var OdsRemoteDataGrid = function OdsRemoteDataGrid(props) {
16768
16811
  });
16769
16812
  if (_temp && _temp.then) return _temp.then(function () {});
16770
16813
  }
16771
- }();
16772
- return Promise.resolve(_temp2 && _temp2.then ? _temp2.then(function () {}) : void 0);
16814
+ }());
16773
16815
  } catch (e) {
16774
16816
  return Promise.reject(e);
16775
16817
  }
16776
- }, [(_props$axiosRequest5 = props.axiosRequest) === null || _props$axiosRequest5 === void 0 ? void 0 : _props$axiosRequest5.requestData, (_props$axiosRequest6 = props.axiosRequest) === null || _props$axiosRequest6 === void 0 ? void 0 : _props$axiosRequest6.apiUrl, (_props$axiosRequest7 = props.axiosRequest) === null || _props$axiosRequest7 === void 0 ? void 0 : _props$axiosRequest7.environmentUrl, (_props$axiosRequest8 = props.axiosRequest) === null || _props$axiosRequest8 === void 0 ? void 0 : _props$axiosRequest8.requestQueryString, (_props$axiosRequest9 = props.axiosRequest) === null || _props$axiosRequest9 === void 0 ? void 0 : _props$axiosRequest9.requestType, props.pageSize, props.isServerSide]);
16818
+ }, [(_props$axiosRequest6 = props.axiosRequest) === null || _props$axiosRequest6 === void 0 ? void 0 : _props$axiosRequest6.requestData, (_props$axiosRequest7 = props.axiosRequest) === null || _props$axiosRequest7 === void 0 ? void 0 : _props$axiosRequest7.apiUrl, (_props$axiosRequest8 = props.axiosRequest) === null || _props$axiosRequest8 === void 0 ? void 0 : _props$axiosRequest8.environmentUrl, (_props$axiosRequest9 = props.axiosRequest) === null || _props$axiosRequest9 === void 0 ? void 0 : _props$axiosRequest9.requestQueryString, (_props$axiosRequest10 = props.axiosRequest) === null || _props$axiosRequest10 === void 0 ? void 0 : _props$axiosRequest10.requestType, props.pageSize, props.isServerSide]);
16777
16819
  var getTotalCount = function getTotalCount(response, data) {
16778
16820
  if (data !== null && data !== void 0 && data.PageCount || data !== null && data !== void 0 && data.RowCount) {
16779
16821
  totalPageCount = data.PageCount;
@@ -16819,6 +16861,18 @@ var OdsRemoteDataGrid = function OdsRemoteDataGrid(props) {
16819
16861
  var onExporting = React.useCallback(function (e) {
16820
16862
  if (e.format === 'xlsx') {
16821
16863
  var workbook = new exceljs.Workbook();
16864
+ if (props.inputFilterData != null) {
16865
+ var yeniSutunlarFiltreVerisinden = props.inputFilterData.map(function (filtreItem) {
16866
+ return {
16867
+ dataField: filtreItem.key,
16868
+ caption: filtreItem.key
16869
+ };
16870
+ });
16871
+ var yeniSutunlar = [].concat(columns.current, yeniSutunlarFiltreVerisinden);
16872
+ e.component.beginUpdate();
16873
+ e.component.option("columns", yeniSutunlar);
16874
+ e.component.endUpdate();
16875
+ }
16822
16876
  excel_exporter.exportDataGrid({
16823
16877
  component: e.component,
16824
16878
  worksheet: workbook.addWorksheet('Main sheet'),
@@ -16839,6 +16893,14 @@ var OdsRemoteDataGrid = function OdsRemoteDataGrid(props) {
16839
16893
  excelCell.value = formattedDate;
16840
16894
  }
16841
16895
  }
16896
+ if (gridCell.rowType !== 'header' && props.inputFilterData != null) {
16897
+ var matchingItem = props.inputFilterData.find(function (item) {
16898
+ return item.key === gridCell.column.dataField;
16899
+ });
16900
+ if (matchingItem) {
16901
+ excelCell.value = matchingItem.value;
16902
+ }
16903
+ }
16842
16904
  }
16843
16905
  }).then(function () {
16844
16906
  workbook.xlsx.writeBuffer().then(function (buffer) {
@@ -16940,7 +17002,7 @@ var OdsRemoteDataGrid = function OdsRemoteDataGrid(props) {
16940
17002
  }, [kebabMenuButtons]);
16941
17003
  var onScrollEnd = React.useCallback(function () {
16942
17004
  getServerSide("reachedBottom");
16943
- }, [(_props$axiosRequest10 = props.axiosRequest) === null || _props$axiosRequest10 === void 0 ? void 0 : _props$axiosRequest10.requestData, getServerSide]);
17005
+ }, [(_props$axiosRequest11 = props.axiosRequest) === null || _props$axiosRequest11 === void 0 ? void 0 : _props$axiosRequest11.requestData, getServerSide]);
16944
17006
  var handleScroll = function handleScroll(e) {
16945
17007
  var run = debounce_1(function (e) {
16946
17008
  var _scrollable$scrollTop, _scrollable$clientHei, _scrollable$scrollHei;
@@ -16972,6 +17034,7 @@ var OdsRemoteDataGrid = function OdsRemoteDataGrid(props) {
16972
17034
  var dataGridInstance = e.component;
16973
17035
  var filteredDataCount = dataGridInstance.totalCount();
16974
17036
  if (filterApplied.current && filteredDataCount > 0) setFilteredRowCount(filteredDataCount);
17037
+ if (!contentReady) setContentReady(true);
16975
17038
  };
16976
17039
  var onFilterValueChange = function onFilterValueChange(e) {
16977
17040
  if (e !== null) filterApplied.current = true;else {