ods-component-lib 1.18.165 → 1.18.166

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.
@@ -33683,6 +33683,7 @@ var OdsBasicDataGrid = function OdsBasicDataGrid(props) {
33683
33683
  key: col.dataField
33684
33684
  }, col, {
33685
33685
  minWidth: 50,
33686
+ width: 160,
33686
33687
  cssClass: col.cssClass + " " + (hasFastUpdate ? "grid-cell-disable-text-selection" : "")
33687
33688
  }), col.lookUp && React.createElement(Lookup, Object.assign({}, col.lookUp)), (col.dataField === "IsActive" || col.dataField === "isActive") && React.createElement(HeaderFilter, {
33688
33689
  dataSource: [{
@@ -34503,6 +34504,11 @@ var OdsServerSideDatagrid = function OdsServerSideDatagrid(props) {
34503
34504
  var currentPageIndex = dataGridInstance.pageCount();
34504
34505
  var currentTotalCount = currentPageIndex == 0 ? 50 : dataGridInstance.totalCount();
34505
34506
  var newData = dataGridInstance === null || dataGridInstance === void 0 ? void 0 : (_dataGridInstance$get = dataGridInstance.getDataSource()) === null || _dataGridInstance$get === void 0 ? void 0 : _dataGridInstance$get.items();
34507
+ if (filterApplied) {
34508
+ totalFilteredCount.current = currentTotalCount;
34509
+ } else {
34510
+ totalUnfilteredCount.current = currentTotalCount;
34511
+ }
34506
34512
  if ((!filterApplied && currentPageIndex == 1 && currentTotalCount != totalUnfilteredCount.current || lastPageIndexRef.current !== currentPageIndex) && newData && newData.length > 0) {
34507
34513
  setCurrentPage(currentPageIndex);
34508
34514
  setCurrentPageSize(dataGridInstance.pageSize());
@@ -34512,16 +34518,6 @@ var OdsServerSideDatagrid = function OdsServerSideDatagrid(props) {
34512
34518
  });
34513
34519
  lastPageIndexRef.current = currentPageIndex;
34514
34520
  }
34515
- if (currentTotalCount > 0) {
34516
- if (filterApplied) {
34517
- totalFilteredCount.current = currentTotalCount;
34518
- } else {
34519
- totalUnfilteredCount.current = currentTotalCount;
34520
- }
34521
- if (!filterApplied && totalFilteredCount.current === 0) {
34522
- totalFilteredCount.current = totalUnfilteredCount.current;
34523
- }
34524
- }
34525
34521
  }, [props.columns, filterApplied]);
34526
34522
  var handleOptionChanged = useCallback(function (e) {
34527
34523
  var dataGrid = props.dataGridRef.current.instance;
@@ -34742,7 +34738,8 @@ var OdsServerSideDatagrid = function OdsServerSideDatagrid(props) {
34742
34738
  return React.createElement(Column, Object.assign({
34743
34739
  key: col.dataField
34744
34740
  }, col, {
34745
- minWidth: 10
34741
+ minWidth: 10,
34742
+ width: 160
34746
34743
  }), col.lookUp && React.createElement(Lookup, Object.assign({}, col.lookUp)), col.dataField === "IsActive" && React.createElement(HeaderFilter, {
34747
34744
  dataSource: [{
34748
34745
  text: "Active",
@@ -34905,17 +34902,17 @@ var useOnContentReadyHandler = function useOnContentReadyHandler(columns, lastPa
34905
34902
  var currentPageIndex = dataGridInstance.pageIndex();
34906
34903
  var currentTotalCount = dataGridInstance.totalCount();
34907
34904
  var newData = dataGridInstance === null || dataGridInstance === void 0 ? void 0 : (_dataGridInstance$get = dataGridInstance.getDataSource()) === null || _dataGridInstance$get === void 0 ? void 0 : _dataGridInstance$get.items();
34905
+ if (filterApplied) {
34906
+ totalFilteredCount.current = currentTotalCount;
34907
+ } else {
34908
+ totalUnfilteredCount.current = currentTotalCount;
34909
+ }
34910
+ if (!filterApplied && totalFilteredCount.current === 0) {
34911
+ totalFilteredCount.current = totalUnfilteredCount.current;
34912
+ }
34908
34913
  if (lastPageIndexRef.current !== currentPageIndex && newData && newData.length > 0) {
34909
34914
  setCurrentPage(currentPageIndex);
34910
34915
  setCurrentPageSize(dataGridInstance.pageSize());
34911
- if (filterApplied) {
34912
- totalFilteredCount.current = currentTotalCount;
34913
- } else {
34914
- totalUnfilteredCount.current = currentTotalCount;
34915
- }
34916
- if (!filterApplied && totalFilteredCount.current === 0) {
34917
- totalFilteredCount.current = totalUnfilteredCount.current;
34918
- }
34919
34916
  setUpdateTrigger(function (prev) {
34920
34917
  return !prev;
34921
34918
  });
@@ -35163,7 +35160,8 @@ var OdsInlineEditDataGrid = function OdsInlineEditDataGrid(props) {
35163
35160
  return React.createElement(Column, Object.assign({
35164
35161
  key: col.dataField
35165
35162
  }, col, {
35166
- minWidth: 10
35163
+ minWidth: 10,
35164
+ width: 160
35167
35165
  }), col.lookup && React.createElement(Lookup$1, Object.assign({}, col.lookup)), col.headerFilter && React.createElement(HeaderFilter, Object.assign({}, col.headerFilter, {
35168
35166
  visible: true,
35169
35167
  allowSearch: true
@@ -35255,6 +35253,193 @@ var OdsInlineEditDataGrid = function OdsInlineEditDataGrid(props) {
35255
35253
  }, React.createElement("p", null, renderTotal())));
35256
35254
  };
35257
35255
 
35256
+ var useOnActionCellRenderHandler$1 = function useOnActionCellRenderHandler(visibleActionButtons, actionButtonGroup, edit, actionButtonsTooltipType) {
35257
+ var onActionCellRender = useCallback(function (cellData) {
35258
+ if (!cellData || !visibleActionButtons) return null;
35259
+ var kebabMenuButtons = actionButtonGroup && actionButtonGroup.length >= 2 && !edit ? actionButtonGroup.slice(2).map(function (button) {
35260
+ return {
35261
+ icon: button.icon,
35262
+ onClick: function onClick(event) {
35263
+ var customEvent = {
35264
+ column: cellData.column,
35265
+ component: cellData.component,
35266
+ element: cellData.element,
35267
+ event: event,
35268
+ model: cellData.data,
35269
+ row: cellData.row
35270
+ };
35271
+ button.onClick(customEvent);
35272
+ }
35273
+ };
35274
+ }) : [];
35275
+ var buttonElements = visibleActionButtons.map(function (buttonItem) {
35276
+ var isVisible = typeof buttonItem.visible === "function" ? buttonItem.visible({
35277
+ column: cellData.column,
35278
+ component: cellData.component,
35279
+ row: cellData.row
35280
+ }) : buttonItem.visible;
35281
+ return React.createElement(OdsDataGrdiRowButton, Object.assign({
35282
+ key: "action-button-" + buttonItem.name,
35283
+ name: buttonItem.name,
35284
+ hint: buttonItem.hint,
35285
+ visible: isVisible,
35286
+ size: "small",
35287
+ type: "text",
35288
+ disabled: buttonItem.actionPermission === undefined ? false : !buttonItem.actionPermission,
35289
+ icon: buttonItem.icon
35290
+ }, actionButtonsTooltipType === "styled" && {
35291
+ tooltip: buttonItem.hint
35292
+ }, {
35293
+ onClick: function onClick(event) {
35294
+ if (buttonItem.onClick) {
35295
+ var customEvent = {
35296
+ column: cellData.column,
35297
+ component: cellData.component,
35298
+ element: cellData.element,
35299
+ event: event,
35300
+ model: cellData.data,
35301
+ row: cellData.row
35302
+ };
35303
+ buttonItem.onClick(customEvent);
35304
+ }
35305
+ }
35306
+ }));
35307
+ });
35308
+ if (kebabMenuButtons.length > 0) {
35309
+ buttonElements.push(React.createElement(OdsDropdown, {
35310
+ key: "dropdown-" + (cellData.rowIndex || cellData.data.ID),
35311
+ menuItems: kebabMenuButtons
35312
+ }, React.createElement(OdsDataGrdiRowButton, {
35313
+ type: "text",
35314
+ icon: React.createElement(DynamicIcon, {
35315
+ iconName: "kebabMenu"
35316
+ })
35317
+ })));
35318
+ }
35319
+ return React.createElement(React.Fragment, null, buttonElements);
35320
+ }, [visibleActionButtons]);
35321
+ return onActionCellRender;
35322
+ };
35323
+
35324
+ var useOnExportingHandler$1 = function useOnExportingHandler(exportProps, getSummary, callback) {
35325
+ var onExporting = useCallback(function (e) {
35326
+ if (exportProps) {
35327
+ var _exportProps$fileName, _exportProps$activeTe, _exportProps$passiveT;
35328
+ ExportDataGridToExcel({
35329
+ gridComponent: e.component,
35330
+ baseFileName: (_exportProps$fileName = exportProps.fileName) != null ? _exportProps$fileName : "DataGrid",
35331
+ selectedText: exportProps.selectedText,
35332
+ getSummary: getSummary,
35333
+ selectedRowsOnly: e.selectedRowsOnly,
35334
+ activeText: (_exportProps$activeTe = exportProps.activeText) != null ? _exportProps$activeTe : "Active",
35335
+ passiveText: (_exportProps$passiveT = exportProps.passiveText) != null ? _exportProps$passiveT : "Passive"
35336
+ });
35337
+ }
35338
+ if (callback) {
35339
+ callback(e);
35340
+ }
35341
+ }, [getSummary]);
35342
+ return onExporting;
35343
+ };
35344
+
35345
+ var MasterDetailDataGrid = function MasterDetailDataGrid(_ref) {
35346
+ var columns = _ref.columns,
35347
+ dataSource = _ref.dataSource,
35348
+ _ref$masterDetailFeat = _ref.masterDetailFeatures,
35349
+ masterDetailFeatures = _ref$masterDetailFeat === void 0 ? {} : _ref$masterDetailFeat,
35350
+ masterDetailData = _ref.masterDetailData;
35351
+ var visibleActionButtons = useMemo(function () {
35352
+ if (masterDetailFeatures.masterActionButtonGroup && masterDetailFeatures.masterActionButtonGroup.length >= 2) {
35353
+ return masterDetailFeatures.masterActionButtonGroup.slice(0, 2);
35354
+ }
35355
+ return masterDetailFeatures.masterActionButtonGroup || [];
35356
+ }, [masterDetailFeatures.masterActionButtonGroup]);
35357
+ var onActionCellRender = useOnActionCellRenderHandler$1(visibleActionButtons, masterDetailFeatures.masterActionButtonGroup);
35358
+ var getTotalDataCount = function getTotalDataCount() {
35359
+ return "" + dataSource.length;
35360
+ };
35361
+ var handleExporting = useOnExportingHandler$1(masterDetailFeatures.exportProps, getTotalDataCount);
35362
+ var effectiveColumns = (masterDetailData === null || masterDetailData === void 0 ? void 0 : masterDetailData.detailGridColumns) || columns || (dataSource[0] ? Object.keys(dataSource[0]).map(function (key) {
35363
+ return {
35364
+ dataField: key,
35365
+ caption: key.charAt(0).toUpperCase() + key.slice(1),
35366
+ allowFiltering: true
35367
+ };
35368
+ }) : []);
35369
+ return React.createElement(DataGrid$1, {
35370
+ style: {
35371
+ maxHeight: masterDetailFeatures.maxHeight ? masterDetailFeatures.maxHeight + "px" : "400px",
35372
+ overflow: "auto"
35373
+ },
35374
+ dataSource: dataSource,
35375
+ showBorders: true,
35376
+ columnAutoWidth: true,
35377
+ allowColumnReordering: true,
35378
+ selection: {
35379
+ mode: masterDetailFeatures.showCheckbox ? "multiple" : "none"
35380
+ },
35381
+ paging: {
35382
+ enabled: true,
35383
+ pageSize: masterDetailFeatures.pageSize || 20
35384
+ },
35385
+ filterRow: {
35386
+ visible: masterDetailFeatures.createFilter
35387
+ },
35388
+ onExporting: handleExporting,
35389
+ onToolbarPreparing: masterDetailFeatures.detailToolbar
35390
+ }, effectiveColumns.map(function (col) {
35391
+ return React.createElement(Column, Object.assign({
35392
+ key: col.dataField
35393
+ }, col, {
35394
+ headerFilter: {
35395
+ visible: col.allowFiltering
35396
+ }
35397
+ }));
35398
+ }), React.createElement(ColumnChooser, {
35399
+ enabled: masterDetailFeatures.columnChooser,
35400
+ mode: "select"
35401
+ }, React.createElement(Position, {
35402
+ my: "right top",
35403
+ at: "right bottom",
35404
+ of: document.querySelector("." + "props.dataGridPageName") ? "." + "props.dataGridPageName" + " .dx-datagrid-column-chooser-button" : ".dx-datagrid-column-chooser-button"
35405
+ }), React.createElement(ColumnChooserSearch, {
35406
+ enabled: true,
35407
+ editorOptions: {
35408
+ placeholder: ""
35409
+ }
35410
+ }), React.createElement(HeaderFilter, {
35411
+ visible: true
35412
+ }), React.createElement(ColumnChooserSelection, {
35413
+ allowSelectAll: true,
35414
+ selectByClick: true,
35415
+ recursive: true
35416
+ })), (masterDetailFeatures === null || masterDetailFeatures === void 0 ? void 0 : masterDetailFeatures.exportEnabled) && React.createElement(Export, Object.assign({}, masterDetailFeatures.exportProps)), masterDetailFeatures.actionColumnEnable && React.createElement(Column, {
35417
+ dataField: "Actions",
35418
+ caption: "",
35419
+ minWidth: 10,
35420
+ width: 160,
35421
+ fixed: true,
35422
+ allowSorting: false,
35423
+ type: "buttons",
35424
+ showInColumnChooser: false,
35425
+ cellRender: onActionCellRender
35426
+ }), React.createElement(FilterRow, {
35427
+ visible: masterDetailFeatures.createFilter
35428
+ }), React.createElement(Selection, {
35429
+ mode: masterDetailFeatures.showCheckbox ? "multiple" : "none"
35430
+ }), React.createElement(SearchPanel, {
35431
+ visible: masterDetailFeatures.showSearchPanel
35432
+ }), React.createElement(Toolbar, null, React.createElement(Item$1, {
35433
+ name: "searchPanel"
35434
+ }), React.createElement(Item$1, {
35435
+ name: "columnChooserButton",
35436
+ cssClass: "toolbarPanelItems"
35437
+ }), React.createElement(Item$1, {
35438
+ name: "exportButton",
35439
+ cssClass: "toolbarPanelItems"
35440
+ })));
35441
+ };
35442
+
35258
35443
  /**
35259
35444
  * Checks if `value` is the
35260
35445
  * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)
@@ -36903,5 +37088,5 @@ var OdsRemoteDataGrid = function OdsRemoteDataGrid(props) {
36903
37088
  })));
36904
37089
  };
36905
37090
 
36906
- export { DxTreeList, OdsAlert, OdsAutoComplete, OdsBadge, OdsBadgeRibbon, OdsBannerAlert, OdsBasicDataGrid, OdsBasicTable, OdsButton, OdsCalendar, OdsCard, OdsCheckbox, OdsCheckboxGroup, OdsCollapse, OdsDataGrid, OdsDateRangePicker, OdsDatepicker, OdsDisplayGrid, OdsDivider, OdsDropdown, OdsDropdownButton, OdsFileUpload, OdsFilter, OdsFilterTagView, OdsImage, OdsInlineEditDataGrid, OdsInput, OdsInputNumber, OdsLink, OdsList, OdsModal, OdsModalOld, OdsMultiSelect, OdsNotification, OdsParagraph, OdsPassword, OdsPhoneInput, OdsRadio, OdsRadioGroup, OdsRangeTimepicker, OdsRate, OdsRemoteDataGrid, OdsSearch, OdsSelect, OdsSelectableTable, OdsServerSideDatagrid, OdsSpin, OdsSwitch, OdsTab, OdsBasicTable as OdsTable, OdsTag, OdsText, OdsTextArea, OdsTimeline, OdsTimepicker, OdsTitle, OdsTransfer };
37091
+ export { DxTreeList, OdsAlert, OdsAutoComplete, OdsBadge, OdsBadgeRibbon, OdsBannerAlert, OdsBasicDataGrid, OdsBasicTable, OdsButton, OdsCalendar, OdsCard, OdsCheckbox, OdsCheckboxGroup, OdsCollapse, OdsDataGrid, OdsDateRangePicker, OdsDatepicker, OdsDisplayGrid, OdsDivider, OdsDropdown, OdsDropdownButton, OdsFileUpload, OdsFilter, OdsFilterTagView, OdsImage, OdsInlineEditDataGrid, OdsInput, OdsInputNumber, OdsLink, OdsList, MasterDetailDataGrid as OdsMasterDetailDataGrid, OdsModal, OdsModalOld, OdsMultiSelect, OdsNotification, OdsParagraph, OdsPassword, OdsPhoneInput, OdsRadio, OdsRadioGroup, OdsRangeTimepicker, OdsRate, OdsRemoteDataGrid, OdsSearch, OdsSelect, OdsSelectableTable, OdsServerSideDatagrid, OdsSpin, OdsSwitch, OdsTab, OdsBasicTable as OdsTable, OdsTag, OdsText, OdsTextArea, OdsTimeline, OdsTimepicker, OdsTitle, OdsTransfer };
36907
37092
  //# sourceMappingURL=index.modern.js.map