ods-component-lib 1.18.231 → 1.18.232

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 (39) hide show
  1. package/dist/components/antd/modal/OdsAdvanceModal.d.ts +7 -0
  2. package/dist/components/devextreme/OdsMergeCellDataGrid/OdsMergeCellDataGrid.Types.d.ts +1 -1
  3. package/dist/components/devextreme/OdsTimeline/OdsTimeline.Constants.d.ts +4 -0
  4. package/dist/components/devextreme/OdsTimeline/OdsTimeline.Functions.d.ts +6 -0
  5. package/dist/components/devextreme/OdsTimeline/OdsTimeline.Types.d.ts +77 -0
  6. package/dist/components/devextreme/OdsTimeline/OdsTimeline.d.ts +5 -0
  7. package/dist/components/devextreme/OdsTimeline/OdsTimelineDateFilter.d.ts +3 -0
  8. package/dist/components/devextreme/OdsTimeline/OdsTimelineSelectionColumn.d.ts +2 -0
  9. package/dist/components/devextreme/OdsTimelineTable/OdsTimelineTable.Style.d.ts +9 -0
  10. package/dist/components/devextreme/OdsTimelineTable/OdsTimelineTable.Types.d.ts +10 -2
  11. package/dist/components/devextreme/OdsTimelineTable/OdsTimelineTable.d.ts +2 -2
  12. package/dist/components/devextreme/OdsTimelineTable/OdsTimelineTableSelectionColumn.d.ts +1 -1
  13. package/dist/components/devextreme/OdsTimelineTable/OdsTimelineTableTaskTemplate.d.ts +6 -0
  14. package/dist/index.css +8 -0
  15. package/dist/index.d.ts +1 -0
  16. package/dist/index.js +320 -9
  17. package/dist/index.js.map +1 -1
  18. package/dist/index.modern.js +322 -12
  19. package/dist/index.modern.js.map +1 -1
  20. package/dist/stories/OdsAdvanceModal/OdsAdvanceModal.stories.d.ts +42 -0
  21. package/dist/stories/OdsAdvanceModal/Samples/BasicOdsAdvanceModal.sample.d.ts +8 -0
  22. package/dist/stories/OdsBasicDataGrid/OdsBasicDataGrid.stories.d.ts +110 -0
  23. package/dist/stories/OdsBasicDataGrid/Samples/MergeCells/MergeCells.Constants.d.ts +14 -0
  24. package/dist/stories/OdsBasicDataGrid/Samples/MergeCells/MergeCells.MockData.d.ts +7 -0
  25. package/dist/stories/OdsBasicDataGrid/Samples/MergeCells/MergeCells.Sample.d.ts +1 -0
  26. package/dist/stories/OdsModal/Samples/OdsModal.Sample.d.ts +1 -0
  27. package/dist/stories/OdsPivotGrid/OdsPivotGrid.stories.d.ts +15 -0
  28. package/dist/stories/OdsPivotGrid/Samples/BasicPivotGrid/BasicPivotGrid.Constants.d.ts +2 -0
  29. package/dist/stories/OdsPivotGrid/Samples/BasicPivotGrid/BasicPivotGrid.MockData.d.ts +7 -0
  30. package/dist/stories/OdsPivotGrid/Samples/BasicPivotGrid/BasicPivotGrid.Sample.d.ts +1 -0
  31. package/dist/stories/OdsRemoteDataGrid/Samples/MergeCells/MergeCells.Constants.d.ts +5 -0
  32. package/dist/stories/OdsRemoteDataGrid/Samples/MergeCells/MergeCells.MockData.d.ts +6 -0
  33. package/dist/stories/OdsRemoteDataGrid/Samples/MergeCells/MergeCells.Sample.d.ts +1 -0
  34. package/dist/stories/OdsTimePicker/Samples/TimeRangePicker.d.ts +2 -0
  35. package/dist/stories/OdsTimeline/OdsTimeline.Constants.d.ts +3 -0
  36. package/dist/stories/OdsTimeline/OdsTimeline.Functions.d.ts +6 -0
  37. package/dist/stories/OdsTimeline/OdsTimeline.MockData.d.ts +39 -0
  38. package/dist/stories/OdsTimelineTable/OdsTimelineTable.stories.d.ts +1 -1
  39. package/package.json +1 -1
@@ -0,0 +1,7 @@
1
+ import { ModalProps } from "antd";
2
+ import React from "react";
3
+ export interface ICustomModalProps extends ModalProps {
4
+ content: React.ReactNode;
5
+ }
6
+ declare const OdsAdvanceModal: React.FC<ICustomModalProps>;
7
+ export default OdsAdvanceModal;
@@ -25,7 +25,7 @@ interface IExportProps {
25
25
  }
26
26
  export declare type ITooltipType = "raw" | "styled";
27
27
  export interface IOdsDataGridProps extends IDataGridOptions, IMultiCellEditableDataGridProps {
28
- ref?: React.MutableRefObject<any> | undefined;
28
+ refGrid: React.MutableRefObject<any>;
29
29
  dataGridPageName?: string;
30
30
  language: string;
31
31
  exportFileName: string;
@@ -0,0 +1,4 @@
1
+ export declare const Constants: {
2
+ timelineDefaultStartDate: Date;
3
+ timelineDefaultEndDate: Date;
4
+ };
@@ -0,0 +1,6 @@
1
+ import React from "react";
2
+ export declare const checkboxCellComponent: (props: any) => React.JSX.Element;
3
+ export declare const statusCellComponent: (props: any) => React.JSX.Element;
4
+ export declare const minimalHeaderCellComponent: (data: any, __el: any) => React.JSX.Element;
5
+ export declare const mapCustomTask: (item: any) => any;
6
+ export declare const setSelectedKeys: (datasource: any[], key?: string, selectedKeys?: number[] | string[]) => any[];
@@ -0,0 +1,77 @@
1
+ /// <reference types="react" />
2
+ import { IColumnProps, IGanttOptions, IItemProps } from "devextreme-react/gantt";
3
+ export interface IMenuLinkItem {
4
+ text: string;
5
+ url: string;
6
+ queryParamNames?: string[];
7
+ }
8
+ export interface ICustomSelectionChange {
9
+ data: any;
10
+ isSelected: boolean;
11
+ }
12
+ export interface IDateRangeChange {
13
+ startDate: Date;
14
+ endDate: Date;
15
+ }
16
+ export interface IStatusColumnChange {
17
+ data: any;
18
+ status: boolean;
19
+ dataField: string;
20
+ }
21
+ export interface ICheckboxColumnChange {
22
+ data: any;
23
+ isChecked: boolean;
24
+ dataField: string;
25
+ }
26
+ export interface IOdsTimelineProps extends React.PropsWithChildren<IGanttOptions> {
27
+ /**
28
+ * Set columns for listview.
29
+ */
30
+ customColumns?: IOdsTimelineColumnProps[];
31
+ /**
32
+ * Set task list. It is used for list view and timeline view.
33
+ */
34
+ customTasks: any[];
35
+ /**
36
+ * Set data field name from task list. This is used for selection.
37
+ */
38
+ customTaskKey?: string;
39
+ /**
40
+ * Set key values to be selected. "multiSelectionEnabled" must be true.
41
+ */
42
+ customSelectedKeys?: string[] | number[];
43
+ /**
44
+ * Set true if you want multi selection in list view.
45
+ */
46
+ multiSelectionEnabled?: boolean;
47
+ /**
48
+ * This is a selection event that fired when selection is changed.
49
+ */
50
+ onCustomSelectionChanged(e: ICustomSelectionChange): void;
51
+ /**
52
+ * This is a date range event that fired when date range is changed.
53
+ */
54
+ onDateRangeChange(e: IDateRangeChange): void;
55
+ }
56
+ export interface IOdsTimelineColumnProps extends IColumnProps {
57
+ isMinimized?: boolean;
58
+ isStatusColumn?: boolean;
59
+ isCheckboxColumn?: boolean;
60
+ }
61
+ export interface IOdsTimelineStatusColumnProps extends IOdsTimelineColumnProps {
62
+ onStatusColumnChange(e: IStatusColumnChange): void;
63
+ }
64
+ export interface IOdsTimelineCheckboxColumnProps extends IOdsTimelineColumnProps {
65
+ onCheckboxColumnChange(e: ICheckboxColumnChange): void;
66
+ }
67
+ export interface IOdsTimelineDateFilter extends IItemProps {
68
+ defaultStartDate?: Date;
69
+ defaultEndDate?: Date;
70
+ backText?: string;
71
+ nextText?: string;
72
+ onFilterRangeChange(e: IDateRangeChange): void;
73
+ }
74
+ export declare const enum DateDirection {
75
+ prevMonth = "previousMonth",
76
+ nextMonth = "nextMonth"
77
+ }
@@ -0,0 +1,5 @@
1
+ import React from "react";
2
+ import "./OdsTimeline.css";
3
+ import { IOdsTimelineProps } from "./OdsTimeline.Types";
4
+ declare const OdsTimeline: (props: IOdsTimelineProps) => React.JSX.Element;
5
+ export default OdsTimeline;
@@ -0,0 +1,3 @@
1
+ import React from "react";
2
+ import { IOdsTimelineDateFilter } from "./OdsTimeline.Types";
3
+ export declare const OdsTimelineDateFilter: (props: IOdsTimelineDateFilter | Readonly<IOdsTimelineDateFilter>) => React.JSX.Element;
@@ -0,0 +1,2 @@
1
+ import { ICustomSelectionChange, IOdsTimelineColumnProps } from "./OdsTimeline.Types";
2
+ export declare const OdsTimelineSelectionColumn: (selectionEvent: (e: ICustomSelectionChange) => void) => IOdsTimelineColumnProps;
@@ -0,0 +1,9 @@
1
+ export declare const useStyles: (props?: {
2
+ taskWidth: any;
3
+ progressPerc: any;
4
+ progressColor: any;
5
+ }) => import("antd-style").ReturnStyles<{
6
+ taskBar: import("antd-style").SerializedStyles;
7
+ taskProgress: import("antd-style").SerializedStyles;
8
+ taskBarTitle: import("antd-style").SerializedStyles;
9
+ }>;
@@ -44,14 +44,22 @@ export interface IOdsTimelineTableProps extends React.PropsWithChildren<IGanttOp
44
44
  * Set true if you want multi selection in list view.
45
45
  */
46
46
  multiSelectionEnabled?: boolean;
47
+ /**
48
+ * Set true if it' s visible.
49
+ */
50
+ toolbarVisible?: boolean;
51
+ /**
52
+ * Set true if it' s visible.
53
+ */
54
+ showDateFilter?: boolean;
47
55
  /**
48
56
  * This is a selection event that fired when selection is changed.
49
57
  */
50
- onCustomSelectionChanged(e: ICustomSelectionChange): void;
58
+ onCustomSelectionChanged?(e: ICustomSelectionChange): void;
51
59
  /**
52
60
  * This is a date range event that fired when date range is changed.
53
61
  */
54
- onDateRangeChange(e: IDateRangeChange): void;
62
+ onDateRangeChange?(e: IDateRangeChange): void;
55
63
  }
56
64
  export interface IOdsTimelineColumnProps extends IColumnProps {
57
65
  isMinimized?: boolean;
@@ -1,5 +1,5 @@
1
1
  import React from "react";
2
2
  import "./OdsTimelineTable.css";
3
3
  import { IOdsTimelineTableProps } from "./OdsTimelineTable.Types";
4
- declare const OdsTimeline: (props: IOdsTimelineTableProps) => React.JSX.Element;
5
- export default OdsTimeline;
4
+ declare const OdsTimelineTable: React.ForwardRefExoticComponent<IOdsTimelineTableProps & React.RefAttributes<unknown>>;
5
+ export default OdsTimelineTable;
@@ -1,2 +1,2 @@
1
1
  import { ICustomSelectionChange, IOdsTimelineColumnProps } from "./OdsTimelineTable.Types";
2
- export declare const OdsTimelineSelectionColumn: (selectionEvent: (e: ICustomSelectionChange) => void) => IOdsTimelineColumnProps;
2
+ export declare const OdsTimelineSelectionColumn: (selectionEvent?: (e: ICustomSelectionChange) => void) => IOdsTimelineColumnProps;
@@ -0,0 +1,6 @@
1
+ import React from "react";
2
+ declare const OdsTimelineTableTaskTemplate: ({ taskData, taskSize }: {
3
+ taskData: any;
4
+ taskSize: any;
5
+ }) => React.JSX.Element;
6
+ export default OdsTimelineTableTaskTemplate;
package/dist/index.css CHANGED
@@ -223,6 +223,14 @@ tr._2CvVM._3Xrp3._19iuB._3udtX {
223
223
  pointer-events: none;
224
224
  background-color: #f0f0f0;
225
225
  }
226
+ ._3lbve {
227
+ writing-mode: vertical-lr;
228
+ }
229
+
230
+ ._3sOBn {
231
+ vertical-align: middle !important;
232
+ }
233
+
226
234
  ._3n8UJ {
227
235
  background-color: lightgreen;
228
236
  }
package/dist/index.d.ts CHANGED
@@ -64,6 +64,7 @@ import OdsTreeListMenu from "./components/antd/treeListMenu/OdsTreeListMenu";
64
64
  export { default as OdsTreeSelect } from "./components/antd/treeSelect/OdsTreeSelect";
65
65
  export { default as OdsCurrencyInput } from "./components/antd/currencyInput/OdsCurrencyInput";
66
66
  export { default as OdsMergeCellDataGrid } from "./components/devextreme/OdsMergeCellDataGrid/OdsMergeCellDataGrid";
67
+ export { default as OdsTimelineTable } from "./components/devextreme/OdsTimelineTable/OdsTimelineTable";
67
68
  export { OdsButton };
68
69
  export { OdsInput };
69
70
  export { OdsDropdownButton };
package/dist/index.js CHANGED
@@ -45,6 +45,7 @@ var devextremeReact = require('devextreme-react');
45
45
  var antdStyle = require('antd-style');
46
46
  var FileSaver = require('file-saver');
47
47
  require('devextreme/dist/css/dx.light.css');
48
+ var gantt = require('devextreme-react/gantt');
48
49
 
49
50
  function _toPrimitive(t, r) {
50
51
  if ("object" != typeof t || !t) return t;
@@ -38054,7 +38055,7 @@ OdsMergeCellDataGridHelper.getInstance = function () {
38054
38055
  var useToken$2 = antd.theme.useToken;
38055
38056
  var OdsMergeCellDataGrid = function OdsMergeCellDataGrid(props) {
38056
38057
  var _props$columnResizing, _props$className, _props$selection, _props$selectOptions, _props$selectOptions$, _props$selectOptions2, _props$selectOptions$2, _props$selectOptions3;
38057
- var ref = props.ref,
38058
+ var refGrid = props.refGrid,
38058
38059
  keyExpr = props.keyExpr,
38059
38060
  hasFastUpdate = props.hasFastUpdate,
38060
38061
  fastUpdateButtonText = props.fastUpdateButtonText,
@@ -38076,7 +38077,6 @@ var OdsMergeCellDataGrid = function OdsMergeCellDataGrid(props) {
38076
38077
  token = _useToken.token;
38077
38078
  var _AntForm$useForm = antd.Form.useForm(),
38078
38079
  fastUpdateForm = _AntForm$useForm[0];
38079
- var gridRef = ref != null ? ref : React.useRef(null);
38080
38080
  var helper = OdsMergeCellDataGridHelper.getInstance();
38081
38081
  var pkName = keyExpr && keyExpr.toString();
38082
38082
  var _useState = React.useState(false),
@@ -38148,8 +38148,8 @@ var OdsMergeCellDataGrid = function OdsMergeCellDataGrid(props) {
38148
38148
  React.useEffect(function () {
38149
38149
  localization.locale(localStorage.getItem("locale"));
38150
38150
  localization.loadMessages(JSON.parse(localStorage.getItem("localTranslation")));
38151
- if (gridRef.current) {
38152
- gridRef.current.instance.updateDimensions();
38151
+ if (refGrid.current) {
38152
+ refGrid.current.instance.updateDimensions();
38153
38153
  }
38154
38154
  hasFastUpdate && document.addEventListener("keydown", keydownEvent);
38155
38155
  return function () {
@@ -38208,13 +38208,13 @@ var OdsMergeCellDataGrid = function OdsMergeCellDataGrid(props) {
38208
38208
  }));
38209
38209
  for (var rowIndex = minRowIndex; rowIndex <= maxRowIndex; rowIndex++) {
38210
38210
  var _loop2 = function _loop2() {
38211
- var _column = gridRef.current.instance.columnOption(colIndex);
38211
+ var _column = refGrid.current.instance.columnOption(colIndex);
38212
38212
  if (constants$2.allowedDataTypesForMultiCellEditing.some(function (item) {
38213
38213
  return item.toLocaleLowerCase() == _column.dataType.toLocaleLowerCase();
38214
38214
  })) {
38215
38215
  result.push({
38216
38216
  dataField: _column.dataField,
38217
- pkValue: gridRef.current.instance.cellValue(rowIndex, pkName)
38217
+ pkValue: refGrid.current.instance.cellValue(rowIndex, pkName)
38218
38218
  });
38219
38219
  }
38220
38220
  };
@@ -38250,8 +38250,8 @@ var OdsMergeCellDataGrid = function OdsMergeCellDataGrid(props) {
38250
38250
  });
38251
38251
  };
38252
38252
  var removeSelectedCell = function removeSelectedCell(rowIndex, colIndex) {
38253
- var dataField = gridRef.current.instance.columnOption(colIndex).dataField;
38254
- var pkValue = gridRef.current.instance.cellValue(rowIndex, pkName);
38253
+ var dataField = refGrid.current.instance.columnOption(colIndex).dataField;
38254
+ var pkValue = refGrid.current.instance.cellValue(rowIndex, pkName);
38255
38255
  setSelectedCells(function (prev) {
38256
38256
  return prev.filter(function (cell) {
38257
38257
  return !(cell.dataField == dataField && cell.pkValue == pkValue);
@@ -38704,7 +38704,7 @@ var OdsMergeCellDataGrid = function OdsMergeCellDataGrid(props) {
38704
38704
  dataSource: data,
38705
38705
  showBorders: true,
38706
38706
  columnAutoWidth: false,
38707
- ref: gridRef,
38707
+ ref: refGrid,
38708
38708
  height: props.height == undefined ? window.innerHeight - 164 : props.height,
38709
38709
  allowColumnResizing: true,
38710
38710
  columnResizingMode: (_props$columnResizing = props.columnResizingMode) != null ? _props$columnResizing : "widget",
@@ -38869,6 +38869,316 @@ var OdsMergeCellDataGrid = function OdsMergeCellDataGrid(props) {
38869
38869
  })));
38870
38870
  };
38871
38871
 
38872
+ var currentYear = new Date().getFullYear();
38873
+ var Constants = {
38874
+ timelineDefaultStartDate: new Date(currentYear, 0, 1),
38875
+ timelineDefaultEndDate: new Date(currentYear + 1, 0, 1)
38876
+ };
38877
+
38878
+ var checkboxCellComponent = function checkboxCellComponent(props) {
38879
+ var isChecked = props.data.value;
38880
+ var onChange = function onChange(e) {
38881
+ props.data.column.onCheckboxColumnChange({
38882
+ data: props.data.data,
38883
+ dataField: props.data.column.dataField,
38884
+ isChecked: e.target.checked
38885
+ });
38886
+ };
38887
+ return React__default.createElement(OdsCheckbox, {
38888
+ key: "odstimeline-checkboxcolumn-" + props.data.name,
38889
+ style: {
38890
+ height: "32px"
38891
+ },
38892
+ defaultChecked: isChecked,
38893
+ onChange: onChange
38894
+ });
38895
+ };
38896
+ var statusCellComponent = function statusCellComponent(props) {
38897
+ var isActive = props.data.value;
38898
+ var _onClick = function onClick(value) {
38899
+ props.data.column.onStatusColumnChange({
38900
+ data: props.data.data,
38901
+ dataField: props.data.column.dataField,
38902
+ status: value
38903
+ });
38904
+ };
38905
+ return isActive ? React__default.createElement(icons.CheckCircleFilled, {
38906
+ style: {
38907
+ fontSize: 20,
38908
+ color: "#568B6B"
38909
+ },
38910
+ onClick: function onClick() {
38911
+ return _onClick(false);
38912
+ }
38913
+ }) : React__default.createElement(icons.CheckCircleFilled, {
38914
+ style: {
38915
+ fontSize: 20,
38916
+ color: "#EDEDED"
38917
+ },
38918
+ onClick: function onClick() {
38919
+ return _onClick(true);
38920
+ }
38921
+ });
38922
+ };
38923
+ var minimalHeaderCellComponent = function minimalHeaderCellComponent(data, __el) {
38924
+ return React__default.createElement("div", {
38925
+ className: "minimalHeaderCell"
38926
+ }, data.data.column.caption);
38927
+ };
38928
+ var mapCustomTask = function mapCustomTask(item) {
38929
+ return _extends({
38930
+ isSelected: false
38931
+ }, item);
38932
+ };
38933
+ var setSelectedKeys = function setSelectedKeys(datasource, key, selectedKeys) {
38934
+ if (key && key != "" && selectedKeys && selectedKeys.length > 0) {
38935
+ return datasource.map(function (x) {
38936
+ if (selectedKeys.some(function (y) {
38937
+ return y == x[key];
38938
+ })) {
38939
+ x.isSelected = true;
38940
+ }
38941
+ return x;
38942
+ });
38943
+ } else {
38944
+ return datasource;
38945
+ }
38946
+ };
38947
+
38948
+ var OdsTimelineDateFilter = function OdsTimelineDateFilter(props) {
38949
+ var defaultStartDate = props.defaultStartDate,
38950
+ defaultEndDate = props.defaultEndDate,
38951
+ backText = props.backText,
38952
+ nextText = props.nextText,
38953
+ onFilterRangeChange = props.onFilterRangeChange;
38954
+ var _useState = React.useState([dayjs_min(defaultStartDate), dayjs_min(defaultEndDate)]),
38955
+ dateRange = _useState[0],
38956
+ setDateRange = _useState[1];
38957
+ var startDate = dateRange[0].toDate();
38958
+ var endDate = dateRange[1].toDate();
38959
+ var onPickerValueChange = function onPickerValueChange(date) {
38960
+ var newStartDate = date[0].toDate(),
38961
+ newEndDate = date[1].toDate();
38962
+ (newStartDate != startDate || newEndDate != endDate) && onFilterRangeChange({
38963
+ startDate: newStartDate,
38964
+ endDate: newEndDate
38965
+ });
38966
+ setDateRange(date);
38967
+ };
38968
+ var buttonClick = function buttonClick(monthDirection) {
38969
+ var newStartDate = startDate,
38970
+ newEndDate = endDate,
38971
+ currentStartYear = startDate.getFullYear(),
38972
+ currentStartMonth = startDate.getMonth(),
38973
+ currentEndYear = endDate.getFullYear(),
38974
+ currentEndMonth = endDate.getMonth();
38975
+ switch (monthDirection) {
38976
+ case "previousMonth":
38977
+ newStartDate.setMonth(currentStartMonth == 0 ? 11 : currentStartMonth - 1);
38978
+ newStartDate.setFullYear(currentStartMonth == 0 ? currentStartYear - 1 : currentStartYear);
38979
+ break;
38980
+ case "nextMonth":
38981
+ newEndDate.setMonth(currentEndMonth == 11 ? 0 : currentEndMonth + 1);
38982
+ newEndDate.setFullYear(currentEndMonth == 11 ? currentEndYear + 1 : currentEndYear);
38983
+ break;
38984
+ }
38985
+ setDateRange([dayjs_min(newStartDate), dayjs_min(newEndDate)]);
38986
+ onFilterRangeChange({
38987
+ startDate: newStartDate,
38988
+ endDate: newEndDate
38989
+ });
38990
+ };
38991
+ return React__default.createElement(React__default.Fragment, null, React__default.createElement(antd.Space, null, React__default.createElement(OdsButton, {
38992
+ key: "odsbutton-back",
38993
+ onClick: function onClick(_e) {
38994
+ buttonClick("previousMonth");
38995
+ },
38996
+ style: {
38997
+ backgroundColor: "#A19FA0",
38998
+ color: "white",
38999
+ borderColor: "white"
39000
+ }
39001
+ }, React__default.createElement(icons.LeftCircleFilled, null), backText != null ? backText : "Back"), React__default.createElement(OdsDateRangePicker, {
39002
+ defaultValue: [dayjs_min(defaultStartDate), dayjs_min(defaultEndDate)],
39003
+ value: dateRange,
39004
+ onPickerValueChange: onPickerValueChange
39005
+ }), React__default.createElement(OdsButton, {
39006
+ key: "odsbutton-next",
39007
+ onClick: function onClick(_e) {
39008
+ buttonClick("nextMonth");
39009
+ },
39010
+ style: {
39011
+ backgroundColor: "#A19FA0",
39012
+ color: "white",
39013
+ borderColor: "white"
39014
+ }
39015
+ }, nextText != null ? nextText : "Next", React__default.createElement(icons.RightCircleFilled, null))));
39016
+ };
39017
+
39018
+ var OdsTimelineSelectionColumn = function OdsTimelineSelectionColumn(selectionEvent) {
39019
+ var selectionColumn = {
39020
+ caption: "",
39021
+ minWidth: 50,
39022
+ width: 50,
39023
+ dataField: "isSelected",
39024
+ cellComponent: function cellComponent(props) {
39025
+ var onChange = function onChange(e) {
39026
+ selectionEvent && selectionEvent({
39027
+ data: props.data.data,
39028
+ isSelected: e.target.checked
39029
+ });
39030
+ };
39031
+ return React__default.createElement(OdsCheckbox, {
39032
+ key: "odstimeline-selection-" + props.data.name,
39033
+ style: {
39034
+ height: "32px"
39035
+ },
39036
+ defaultChecked: props.data.value,
39037
+ onChange: onChange
39038
+ });
39039
+ }
39040
+ };
39041
+ return selectionColumn;
39042
+ };
39043
+
39044
+ var _templateObject$B, _templateObject2$9, _templateObject3$6;
39045
+ var useStyles$b = antdStyle.createStyles(function (_ref, props) {
39046
+ var css = _ref.css;
39047
+ return {
39048
+ taskBar: css(_templateObject$B || (_templateObject$B = _taggedTemplateLiteralLoose(["\n min-height: 22px;\n display: block;\n overflow: hidden;\n width: ", "px;\n border: 1px solid #f0f0f0;\n border-radius: 5px;\n background-color: #f0f0f0;\n "])), props.taskWidth),
39049
+ taskProgress: css(_templateObject2$9 || (_templateObject2$9 = _taggedTemplateLiteralLoose(["\n height: 100%;\n position: absolute;\n left: 0;\n bottom: 0;\n width: ", "%;\n border: 1px solid ", ";\n border-radius: 5px;\n background-color: ", ";\n "])), props.progressPerc, props.progressColor, props.progressColor),
39050
+ taskBarTitle: css(_templateObject3$6 || (_templateObject3$6 = _taggedTemplateLiteralLoose(["\n z-index: 1;\n padding-left: 4px;\n position: absolute;\n "])))
39051
+ };
39052
+ });
39053
+
39054
+ var OdsTimelineTableTaskTemplate = function OdsTimelineTableTaskTemplate(_ref) {
39055
+ var taskData = _ref.taskData,
39056
+ taskSize = _ref.taskSize;
39057
+ var _useStyles = useStyles$b({
39058
+ progressColor: taskData.color,
39059
+ progressPerc: taskData.progress,
39060
+ taskWidth: taskSize.width
39061
+ }),
39062
+ timelineTableStyles = _useStyles.styles;
39063
+ return React__default.createElement("div", {
39064
+ className: timelineTableStyles.taskBar
39065
+ }, React__default.createElement("span", {
39066
+ className: timelineTableStyles.taskBarTitle
39067
+ }, taskData.title), React__default.createElement("div", {
39068
+ className: timelineTableStyles.taskProgress
39069
+ }));
39070
+ };
39071
+
39072
+ var OdsTimelineTable = React.forwardRef(function (props, ref) {
39073
+ var customColumns = props.customColumns,
39074
+ customTasks = props.customTasks,
39075
+ customTaskKey = props.customTaskKey,
39076
+ customSelectedKeys = props.customSelectedKeys,
39077
+ children = props.children,
39078
+ startDateRange = props.startDateRange,
39079
+ endDateRange = props.endDateRange,
39080
+ multiSelectionEnabled = props.multiSelectionEnabled,
39081
+ toolbarVisible = props.toolbarVisible,
39082
+ showDateFilter = props.showDateFilter,
39083
+ onCustomSelectionChanged = props.onCustomSelectionChanged,
39084
+ onDateRangeChange = props.onDateRangeChange;
39085
+ var _useState = React.useState(startDateRange != null ? startDateRange : Constants.timelineDefaultStartDate),
39086
+ startDate = _useState[0],
39087
+ setStartDate = _useState[1];
39088
+ var _useState2 = React.useState(endDateRange != null ? endDateRange : Constants.timelineDefaultEndDate),
39089
+ endDate = _useState2[0],
39090
+ setEndDate = _useState2[1];
39091
+ var _useState3 = React.useState([]),
39092
+ timelineTasks = _useState3[0],
39093
+ setTimelineTasks = _useState3[1];
39094
+ React.useEffect(function () {
39095
+ setTimelineTasks(multiSelectionEnabled ? setSelectedKeys(customTasks.map(mapCustomTask), customTaskKey, customSelectedKeys) : customTasks);
39096
+ }, [customTasks]);
39097
+ var getSelectedRowsData = function getSelectedRowsData() {
39098
+ return timelineTasks.filter(function (item) {
39099
+ return item.isSelected == true;
39100
+ });
39101
+ };
39102
+ var updateSelectionData = function updateSelectionData(keyValue, isSelected) {
39103
+ setTimelineTasks(function (prev) {
39104
+ return prev.map(function (item) {
39105
+ if (item[props.customTaskKey] == keyValue) {
39106
+ item.isSelected = isSelected;
39107
+ }
39108
+ return item;
39109
+ });
39110
+ });
39111
+ };
39112
+ var onTimelineDateRangeChange = function onTimelineDateRangeChange(e) {
39113
+ setStartDate(e.startDate);
39114
+ setEndDate(e.endDate);
39115
+ onDateRangeChange && onDateRangeChange({
39116
+ startDate: e.startDate,
39117
+ endDate: e.endDate
39118
+ });
39119
+ };
39120
+ var onTimelineCheckboxSelectionChange = function onTimelineCheckboxSelectionChange(e) {
39121
+ updateSelectionData(e.data[props.customTaskKey], e.isSelected);
39122
+ onCustomSelectionChanged && onCustomSelectionChanged(e);
39123
+ };
39124
+ var timelineColumns = multiSelectionEnabled ? [OdsTimelineSelectionColumn(onTimelineCheckboxSelectionChange)].concat(customColumns) : customColumns;
39125
+ React.useImperativeHandle(ref, function () {
39126
+ return {
39127
+ getSelectedRowsData: getSelectedRowsData
39128
+ };
39129
+ });
39130
+ return React__default.createElement(React__default.Fragment, null, React__default.createElement(gantt.Gantt, Object.assign({
39131
+ width: "100%",
39132
+ height: 500,
39133
+ startDateRange: startDate,
39134
+ endDateRange: endDate,
39135
+ taskContentRender: function taskContentRender(params) {
39136
+ return React__default.createElement(OdsTimelineTableTaskTemplate, Object.assign({}, params));
39137
+ }
39138
+ }, props), toolbarVisible ? React__default.createElement(gantt.Toolbar, null, showDateFilter ? React__default.createElement(gantt.Item, {
39139
+ key: "OdsTimelineTable_ToolbarItem_DateFilter",
39140
+ component: function component(props) {
39141
+ return OdsTimelineDateFilter(_extends({}, props, {
39142
+ defaultStartDate: startDate,
39143
+ defaultEndDate: endDate,
39144
+ onFilterRangeChange: onTimelineDateRangeChange
39145
+ }));
39146
+ }
39147
+ }) : "", React__default.createElement(gantt.Item, {
39148
+ key: "OdsTimelineTable_ToolbarItem_ZoomIn",
39149
+ name: "zoomIn"
39150
+ }), React__default.createElement(gantt.Item, {
39151
+ key: "OdsTimelineTable_ToolbarItem_ZoomOut",
39152
+ name: "zoomOut"
39153
+ })) : "", React__default.createElement(gantt.ContextMenu, {
39154
+ enabled: false
39155
+ }), timelineColumns === null || timelineColumns === void 0 ? void 0 : timelineColumns.map(function (columnProps) {
39156
+ if (columnProps.isStatusColumn) {
39157
+ return React__default.createElement(gantt.Column, Object.assign({
39158
+ width: 50,
39159
+ minWidth: 50,
39160
+ cssClass: "cellCenteredVertically",
39161
+ cellComponent: statusCellComponent,
39162
+ headerCellComponent: minimalHeaderCellComponent
39163
+ }, columnProps));
39164
+ } else if (columnProps.isCheckboxColumn) {
39165
+ return React__default.createElement(gantt.Column, Object.assign({
39166
+ width: 50,
39167
+ minWidth: 50,
39168
+ cssClass: "cellCenteredVertically",
39169
+ cellComponent: checkboxCellComponent,
39170
+ headerCellComponent: minimalHeaderCellComponent
39171
+ }, columnProps));
39172
+ } else {
39173
+ return React__default.createElement(gantt.Column, Object.assign({
39174
+ headerCellComponent: columnProps.isMinimized && minimalHeaderCellComponent
39175
+ }, columnProps));
39176
+ }
39177
+ }), React__default.createElement(gantt.Tasks, {
39178
+ dataSource: timelineTasks
39179
+ }), children));
39180
+ });
39181
+
38872
39182
  /**
38873
39183
  * Checks if `value` is the
38874
39184
  * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)
@@ -40587,6 +40897,7 @@ exports.OdsTag = OdsTag;
40587
40897
  exports.OdsText = OdsText;
40588
40898
  exports.OdsTextArea = OdsTextArea;
40589
40899
  exports.OdsTimeline = OdsTimeline;
40900
+ exports.OdsTimelineTable = OdsTimelineTable;
40590
40901
  exports.OdsTimepicker = OdsTimepicker;
40591
40902
  exports.OdsTitle = OdsTitle;
40592
40903
  exports.OdsTransfer = OdsTransfer;