ods-component-lib 1.18.243 → 1.18.247

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 (27) hide show
  1. package/dist/components/antd/modal/OdsAdvanceModal.d.ts +1 -1
  2. package/dist/components/devextreme/OdsMergeCellDataGrid/OdsMergeCellDataGrid.Types.d.ts +2 -1
  3. package/dist/components/devextreme/OdsMergeCellDataGrid/OdsMergeCellDataGrid.d.ts +2 -1
  4. package/dist/components/devextreme/OdsTimelineTable/OdsTimelineTable.Types.d.ts +1 -7
  5. package/dist/index.css +16 -0
  6. package/dist/index.js +125 -17
  7. package/dist/index.js.map +1 -1
  8. package/dist/index.modern.js +126 -18
  9. package/dist/index.modern.js.map +1 -1
  10. package/dist/stories/OdsMergeCellDataGrid/OdsMergeCellDataGrid.stories.d.ts +1 -1
  11. package/dist/stories/OdsMergeCellDataGrid/Samples/MergeCells/MergeCells.Constants.d.ts +4 -0
  12. package/dist/utils/customTypes.d.ts +6 -0
  13. package/package.json +1 -1
  14. package/dist/stories/OdsAdvanceModal/OdsAdvanceModal.stories.d.ts +0 -42
  15. package/dist/stories/OdsAdvanceModal/Samples/BasicOdsAdvanceModal.sample.d.ts +0 -8
  16. package/dist/stories/OdsBasicDataGrid/OdsBasicDataGrid.stories.d.ts +0 -110
  17. package/dist/stories/OdsBasicDataGrid/Samples/MergeCells/MergeCells.Constants.d.ts +0 -14
  18. package/dist/stories/OdsBasicDataGrid/Samples/MergeCells/MergeCells.MockData.d.ts +0 -7
  19. package/dist/stories/OdsBasicDataGrid/Samples/MergeCells/MergeCells.Sample.d.ts +0 -1
  20. package/dist/stories/OdsModal/Samples/OdsModal.Sample.d.ts +0 -1
  21. package/dist/stories/OdsPivotGrid/OdsPivotGrid.stories.d.ts +0 -15
  22. package/dist/stories/OdsPivotGrid/Samples/BasicPivotGrid/BasicPivotGrid.Constants.d.ts +0 -2
  23. package/dist/stories/OdsPivotGrid/Samples/BasicPivotGrid/BasicPivotGrid.MockData.d.ts +0 -7
  24. package/dist/stories/OdsPivotGrid/Samples/BasicPivotGrid/BasicPivotGrid.Sample.d.ts +0 -1
  25. package/dist/stories/OdsRemoteDataGrid/Samples/MergeCells/MergeCells.Constants.d.ts +0 -5
  26. package/dist/stories/OdsRemoteDataGrid/Samples/MergeCells/MergeCells.MockData.d.ts +0 -6
  27. package/dist/stories/OdsRemoteDataGrid/Samples/MergeCells/MergeCells.Sample.d.ts +0 -1
@@ -1,6 +1,6 @@
1
1
  import { ModalProps } from "antd";
2
2
  import React from "react";
3
- export interface ICustomModalProps extends ModalProps {
3
+ interface ICustomModalProps extends ModalProps {
4
4
  content: React.ReactNode;
5
5
  }
6
6
  declare const OdsAdvanceModal: React.FC<ICustomModalProps>;
@@ -1,7 +1,7 @@
1
1
  import React from "react";
2
2
  import { ButtonType } from "antd/es/button/buttonHelpers";
3
3
  import { IButtonProps, IDataGridOptions, IEditingProps, ISelectionProps, ISummaryProps } from "devextreme-react/data-grid";
4
- import { ITooltipType } from "../../../utils/customTypes";
4
+ import { ISortedColumn, ITooltipType } from "../../../utils/customTypes";
5
5
  import { IColumnOptions, IMasterDetailDatas, IMasterDetailFeatures } from "../OdsMasterDetailDataGrid/types";
6
6
  export declare type SummaryTypes = "avg" | "count" | "custom" | "max" | "min" | "sum";
7
7
  interface IExportProps {
@@ -47,6 +47,7 @@ export interface IOdsDataGridProps extends IDataGridOptions {
47
47
  masterDetailFeatures?: IMasterDetailFeatures;
48
48
  DetailGridComponent?: React.FC<any>;
49
49
  mergeDataFields: string[];
50
+ onSortingChanged?(sortedColumns: ISortedColumn[], headerCellProps?: any): void;
50
51
  }
51
52
  export interface ISummaryRowOptions {
52
53
  summaryLoadedDataLabel?: string;
@@ -1,4 +1,5 @@
1
1
  import React from "react";
2
+ import "./OdsMergeCellDataGrid.css";
2
3
  import { IOdsDataGridProps } from "./OdsMergeCellDataGrid.Types";
3
- declare const OdsMergeCellDataGrid: (props: IOdsDataGridProps) => React.JSX.Element;
4
+ declare const OdsMergeCellDataGrid: React.ForwardRefExoticComponent<IOdsDataGridProps & React.RefAttributes<unknown>>;
4
5
  export default OdsMergeCellDataGrid;
@@ -1,6 +1,6 @@
1
1
  /// <reference types="react" />
2
2
  import { IColumnProps, IGanttOptions, IItemProps } from "devextreme-react/gantt";
3
- import { ExportDocumentType, ITooltipType, SortingProcessType, SortingType } from "../../../utils/customTypes";
3
+ import { ExportDocumentType, ISortedColumn, ITooltipType, SortingProcessType } from "../../../utils/customTypes";
4
4
  import { IButtonProps } from "devextreme-react/data-grid";
5
5
  import { ButtonType } from "antd/es/button/buttonHelpers";
6
6
  export declare type SortingMode = "single" | "multiple" | "none";
@@ -111,12 +111,6 @@ export interface IOdsTimelineTableStatusColumnProps extends IOdsTimelineTableCol
111
111
  export interface IOdsTimelineCheckboxColumnProps extends IOdsTimelineTableColumnProps {
112
112
  onCheckboxColumnChange(e: ICheckboxColumnChange): void;
113
113
  }
114
- export interface ISortedColumn {
115
- sortingFieldName: string;
116
- sortType: SortingType;
117
- sortIndex: number;
118
- sortingText: string;
119
- }
120
114
  export interface IOdsTimelineTableToolbarSettings {
121
115
  visible?: boolean;
122
116
  location?: "before" | "after";
package/dist/index.css CHANGED
@@ -223,6 +223,22 @@ tr._2CvVM._3Xrp3._19iuB._3udtX {
223
223
  pointer-events: none;
224
224
  background-color: #f0f0f0;
225
225
  }
226
+ ._1Y6Xh:has(._1XPxo) {
227
+ width: 100%;
228
+ }
229
+
230
+ ._1XPxo {
231
+ cursor: pointer;
232
+ width: 100%;
233
+ display: flex;
234
+ align-items: center;
235
+ }
236
+
237
+ ._17w-X {
238
+ flex: 1;
239
+ align-content: center;
240
+ }
241
+
226
242
  ._3lbve {
227
243
  writing-mode: vertical-lr;
228
244
  }
package/dist/index.js CHANGED
@@ -33805,15 +33805,7 @@ var MasterDetailDataGrid = function MasterDetailDataGrid(_ref) {
33805
33805
  mode: masterDetailFeatures.showCheckbox ? "multiple" : "none"
33806
33806
  }), React__default.createElement(DataGrid.SearchPanel, {
33807
33807
  visible: masterDetailFeatures.showSearchPanel
33808
- }), React__default.createElement(DataGrid.Toolbar, null, React__default.createElement(DataGrid.Item, {
33809
- name: "searchPanel"
33810
- }), React__default.createElement(DataGrid.Item, {
33811
- name: "columnChooserButton",
33812
- cssClass: "toolbarPanelItems"
33813
- }), React__default.createElement(DataGrid.Item, {
33814
- name: "exportButton",
33815
- cssClass: "toolbarPanelItems"
33816
- })));
33808
+ }));
33817
33809
  };
33818
33810
 
33819
33811
  var useToken$1 = antd.theme.useToken;
@@ -38049,7 +38041,7 @@ OdsMergeCellDataGridHelper.getInstance = function () {
38049
38041
  };
38050
38042
 
38051
38043
  var useToken$2 = antd.theme.useToken;
38052
- var OdsMergeCellDataGrid = function OdsMergeCellDataGrid(props) {
38044
+ var OdsMergeCellDataGrid = React.forwardRef(function (props, ref) {
38053
38045
  var _props$columnResizing, _props$className, _props$selection, _props$selectOptions, _props$selectOptions$, _props$selectOptions2, _props$selectOptions$2, _props$selectOptions3;
38054
38046
  var refGrid = props.refGrid,
38055
38047
  keyExpr = props.keyExpr,
@@ -38069,6 +38061,12 @@ var OdsMergeCellDataGrid = function OdsMergeCellDataGrid(props) {
38069
38061
  var _useState4 = React.useState([]),
38070
38062
  mergedCellInfo = _useState4[0],
38071
38063
  setMergedCellInfo = _useState4[1];
38064
+ var _useState5 = React.useState({
38065
+ sortedColumns: [],
38066
+ columnHeaderProps: null
38067
+ }),
38068
+ sortingChangeEventProps = _useState5[0],
38069
+ setSortingChangeEventProps = _useState5[1];
38072
38070
  var _useStyles = useStyles$a(),
38073
38071
  gridStyle = _useStyles.styles;
38074
38072
  React.useEffect(function () {
@@ -38114,6 +38112,11 @@ var OdsMergeCellDataGrid = function OdsMergeCellDataGrid(props) {
38114
38112
  refGrid.current.instance.updateDimensions();
38115
38113
  }
38116
38114
  }, []);
38115
+ React.useEffect(function () {
38116
+ if (sortingChangeEventProps.columnHeaderProps !== null) {
38117
+ props.onSortingChanged && props.onSortingChanged(sortingChangeEventProps.sortedColumns, sortingChangeEventProps.columnHeaderProps);
38118
+ }
38119
+ }, [sortingChangeEventProps]);
38117
38120
  var actionButtons = React.useMemo(function () {
38118
38121
  if (props.actionButtonGroup) {
38119
38122
  if (props.actionButtonGroup.length > 3 && !props.edit) {
@@ -38375,6 +38378,112 @@ var OdsMergeCellDataGrid = function OdsMergeCellDataGrid(props) {
38375
38378
  var checkIsPropArray = function checkIsPropArray(prop) {
38376
38379
  return prop && Array.isArray(prop);
38377
38380
  };
38381
+ var customClearSorting = function customClearSorting() {
38382
+ setSortingChangeEventProps(function (prev) {
38383
+ return _extends({}, prev, {
38384
+ sortedColumns: []
38385
+ });
38386
+ });
38387
+ props.onSortingChanged && props.onSortingChanged([], undefined);
38388
+ };
38389
+ var getSortedColumns = function getSortedColumns() {
38390
+ return sortingChangeEventProps.sortedColumns;
38391
+ };
38392
+ var customHeaderCellComponent = function customHeaderCellComponent(props) {
38393
+ if (props.data.column.allowSorting) {
38394
+ return React__default.createElement("div", {
38395
+ className: "sortingHeaderCell",
38396
+ onClick: function onClick(e) {
38397
+ if (Boolean(props.data.column.allowSorting)) {
38398
+ if (e.shiftKey === true && e.ctrlKey === false) {
38399
+ onSorting(props.data, 2);
38400
+ } else if (e.shiftKey === false && e.ctrlKey === false) {
38401
+ onSorting(props.data, 1);
38402
+ } else if (e.shiftKey === false && e.ctrlKey === true) {
38403
+ onRemoveSorting(props.data);
38404
+ }
38405
+ }
38406
+ }
38407
+ }, React__default.createElement("span", {
38408
+ className: "headerCaption"
38409
+ }, props.data.column.caption), getSortIcon(props.data.column));
38410
+ }
38411
+ return React__default.createElement("div", null, props.data.column.caption);
38412
+ };
38413
+ var getSortIcon = function getSortIcon(column) {
38414
+ var sortingFieldName = getSortingFieldName(column);
38415
+ var sortedColumn = sortingChangeEventProps.sortedColumns.find(function (item) {
38416
+ return item.sortingFieldName == sortingFieldName;
38417
+ });
38418
+ if (sortedColumn) {
38419
+ return sortedColumn.sortType === "ASC" ? React__default.createElement(outline.UpArrow2Icon, null) : React__default.createElement(outline.DownArrow2Icon, null);
38420
+ }
38421
+ return undefined;
38422
+ };
38423
+ var getSortingFieldName = function getSortingFieldName(column) {
38424
+ var _column$sortingFieldN;
38425
+ return (_column$sortingFieldN = column.sortingFieldName) != null ? _column$sortingFieldN : column.dataField;
38426
+ };
38427
+ var onSorting = function onSorting(headerCellProps, sortingMode) {
38428
+ var sortingFieldName = getSortingFieldName(headerCellProps.column);
38429
+ var sortedColumn = sortingChangeEventProps.sortedColumns.find(function (item) {
38430
+ return item.sortingFieldName == sortingFieldName;
38431
+ });
38432
+ var prevSortIndex = sortedColumn === null || sortedColumn === void 0 ? void 0 : sortedColumn.sortIndex;
38433
+ var newSortedColumn = {
38434
+ sortingFieldName: sortingFieldName,
38435
+ sortType: "ASC",
38436
+ sortIndex: sortingMode == 2 ? sortedColumn === undefined ? sortingChangeEventProps.sortedColumns.length : sortingChangeEventProps.sortedColumns.length - 1 : 0,
38437
+ sortingText: sortingFieldName + " ASC"
38438
+ };
38439
+ if (sortedColumn) {
38440
+ newSortedColumn.sortType = sortedColumn.sortType == "ASC" ? "DESC" : "ASC";
38441
+ newSortedColumn.sortingText = sortingFieldName + " " + newSortedColumn.sortType;
38442
+ }
38443
+ var newSortedColumns = sortingMode == 2 ? [].concat(sortingChangeEventProps.sortedColumns.filter(function (item) {
38444
+ return item.sortingFieldName != sortingFieldName;
38445
+ }), [newSortedColumn]) : [newSortedColumn];
38446
+ if (sortingMode == 2 && sortedColumn !== undefined) {
38447
+ newSortedColumns = newSortedColumns.map(function (item) {
38448
+ if (item.sortingFieldName != sortingFieldName && item.sortIndex > prevSortIndex) {
38449
+ item.sortIndex = item.sortIndex - 1;
38450
+ }
38451
+ return item;
38452
+ });
38453
+ }
38454
+ setSortingChangeEventProps({
38455
+ sortedColumns: newSortedColumns,
38456
+ columnHeaderProps: headerCellProps
38457
+ });
38458
+ };
38459
+ var onRemoveSorting = function onRemoveSorting(headerCellProps) {
38460
+ var sortingFieldName = getSortingFieldName(headerCellProps.column);
38461
+ var sortedColumn = sortingChangeEventProps.sortedColumns.find(function (item) {
38462
+ return item.sortingFieldName == sortingFieldName;
38463
+ });
38464
+ if (sortedColumn === undefined) {
38465
+ return;
38466
+ }
38467
+ var prevSortIndex = sortedColumn.sortIndex;
38468
+ var newSortedColumns = sortingChangeEventProps.sortedColumns.filter(function (item) {
38469
+ return item.sortingFieldName != sortingFieldName;
38470
+ }).map(function (item) {
38471
+ if (item.sortIndex > prevSortIndex) {
38472
+ item.sortIndex = item.sortIndex - 1;
38473
+ }
38474
+ return item;
38475
+ });
38476
+ setSortingChangeEventProps({
38477
+ sortedColumns: newSortedColumns,
38478
+ columnHeaderProps: headerCellProps
38479
+ });
38480
+ };
38481
+ React.useImperativeHandle(ref, function () {
38482
+ return {
38483
+ getSortedColumns: getSortedColumns,
38484
+ customClearSorting: customClearSorting
38485
+ };
38486
+ });
38378
38487
  return React__default.createElement(React__default.Fragment, null, React__default.createElement(DataGrid__default, Object.assign({
38379
38488
  keyExpr: keyExpr,
38380
38489
  dataSource: data,
@@ -38386,9 +38495,6 @@ var OdsMergeCellDataGrid = function OdsMergeCellDataGrid(props) {
38386
38495
  columnResizingMode: (_props$columnResizing = props.columnResizingMode) != null ? _props$columnResizing : "widget",
38387
38496
  showRowLines: true,
38388
38497
  allowColumnReordering: true,
38389
- remoteOperations: {
38390
- sorting: true
38391
- },
38392
38498
  paging: {
38393
38499
  enabled: false
38394
38500
  },
@@ -38427,7 +38533,8 @@ var OdsMergeCellDataGrid = function OdsMergeCellDataGrid(props) {
38427
38533
  }, col, {
38428
38534
  minWidth: 50,
38429
38535
  width: props.isColumnWidthFixed === true ? 160 : undefined,
38430
- cssClass: col.cssClass
38536
+ cssClass: col.cssClass,
38537
+ headerCellComponent: customHeaderCellComponent
38431
38538
  }), col.lookUp && React__default.createElement(devextremeReact.Lookup, Object.assign({}, col.lookUp)), (col.dataField === "IsActive" || col.dataField === "isActive") && React__default.createElement(DataGrid.HeaderFilter, {
38432
38539
  dataSource: [{
38433
38540
  text: "Active",
@@ -38475,7 +38582,7 @@ var OdsMergeCellDataGrid = function OdsMergeCellDataGrid(props) {
38475
38582
  }), React__default.createElement(DataGrid.HeaderFilter, {
38476
38583
  visible: true
38477
38584
  }), React__default.createElement(DataGrid.Sorting, {
38478
- mode: "multiple"
38585
+ mode: "none"
38479
38586
  }), !props.closeGridHeader && React__default.createElement(DataGrid.Export, {
38480
38587
  enabled: true,
38481
38588
  allowExportSelectedData: true,
@@ -38513,7 +38620,7 @@ var OdsMergeCellDataGrid = function OdsMergeCellDataGrid(props) {
38513
38620
  customLoad: customLoad,
38514
38621
  customSave: customSave
38515
38622
  })));
38516
- };
38623
+ });
38517
38624
 
38518
38625
  var lodash = createCommonjsModule(function (module, exports) {
38519
38626
  (function() {
@@ -55719,7 +55826,8 @@ var actionColumnProps = {
55719
55826
  allowExporting: false,
55720
55827
  allowFiltering: false,
55721
55828
  allowSorting: false,
55722
- dataType: "object"
55829
+ dataType: "object",
55830
+ name: "Actions"
55723
55831
  };
55724
55832
 
55725
55833
  var checkboxCellComponent = function checkboxCellComponent(props) {