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.
- package/dist/components/antd/modal/OdsAdvanceModal.d.ts +7 -0
- package/dist/components/devextreme/OdsMergeCellDataGrid/OdsMergeCellDataGrid.Types.d.ts +1 -1
- package/dist/components/devextreme/OdsTimeline/OdsTimeline.Constants.d.ts +4 -0
- package/dist/components/devextreme/OdsTimeline/OdsTimeline.Functions.d.ts +6 -0
- package/dist/components/devextreme/OdsTimeline/OdsTimeline.Types.d.ts +77 -0
- package/dist/components/devextreme/OdsTimeline/OdsTimeline.d.ts +5 -0
- package/dist/components/devextreme/OdsTimeline/OdsTimelineDateFilter.d.ts +3 -0
- package/dist/components/devextreme/OdsTimeline/OdsTimelineSelectionColumn.d.ts +2 -0
- package/dist/components/devextreme/OdsTimelineTable/OdsTimelineTable.Style.d.ts +9 -0
- package/dist/components/devextreme/OdsTimelineTable/OdsTimelineTable.Types.d.ts +10 -2
- package/dist/components/devextreme/OdsTimelineTable/OdsTimelineTable.d.ts +2 -2
- package/dist/components/devextreme/OdsTimelineTable/OdsTimelineTableSelectionColumn.d.ts +1 -1
- package/dist/components/devextreme/OdsTimelineTable/OdsTimelineTableTaskTemplate.d.ts +6 -0
- package/dist/index.css +8 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +320 -9
- package/dist/index.js.map +1 -1
- package/dist/index.modern.js +322 -12
- package/dist/index.modern.js.map +1 -1
- package/dist/stories/OdsAdvanceModal/OdsAdvanceModal.stories.d.ts +42 -0
- package/dist/stories/OdsAdvanceModal/Samples/BasicOdsAdvanceModal.sample.d.ts +8 -0
- package/dist/stories/OdsBasicDataGrid/OdsBasicDataGrid.stories.d.ts +110 -0
- package/dist/stories/OdsBasicDataGrid/Samples/MergeCells/MergeCells.Constants.d.ts +14 -0
- package/dist/stories/OdsBasicDataGrid/Samples/MergeCells/MergeCells.MockData.d.ts +7 -0
- package/dist/stories/OdsBasicDataGrid/Samples/MergeCells/MergeCells.Sample.d.ts +1 -0
- package/dist/stories/OdsModal/Samples/OdsModal.Sample.d.ts +1 -0
- package/dist/stories/OdsPivotGrid/OdsPivotGrid.stories.d.ts +15 -0
- package/dist/stories/OdsPivotGrid/Samples/BasicPivotGrid/BasicPivotGrid.Constants.d.ts +2 -0
- package/dist/stories/OdsPivotGrid/Samples/BasicPivotGrid/BasicPivotGrid.MockData.d.ts +7 -0
- package/dist/stories/OdsPivotGrid/Samples/BasicPivotGrid/BasicPivotGrid.Sample.d.ts +1 -0
- package/dist/stories/OdsRemoteDataGrid/Samples/MergeCells/MergeCells.Constants.d.ts +5 -0
- package/dist/stories/OdsRemoteDataGrid/Samples/MergeCells/MergeCells.MockData.d.ts +6 -0
- package/dist/stories/OdsRemoteDataGrid/Samples/MergeCells/MergeCells.Sample.d.ts +1 -0
- package/dist/stories/OdsTimePicker/Samples/TimeRangePicker.d.ts +2 -0
- package/dist/stories/OdsTimeline/OdsTimeline.Constants.d.ts +3 -0
- package/dist/stories/OdsTimeline/OdsTimeline.Functions.d.ts +6 -0
- package/dist/stories/OdsTimeline/OdsTimeline.MockData.d.ts +39 -0
- package/dist/stories/OdsTimelineTable/OdsTimelineTable.stories.d.ts +1 -1
- package/package.json +1 -1
|
@@ -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
|
-
|
|
28
|
+
refGrid: React.MutableRefObject<any>;
|
|
29
29
|
dataGridPageName?: string;
|
|
30
30
|
language: string;
|
|
31
31
|
exportFileName: string;
|
|
@@ -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,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
|
|
5
|
-
export default
|
|
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
|
|
2
|
+
export declare const OdsTimelineSelectionColumn: (selectionEvent?: (e: ICustomSelectionChange) => void) => IOdsTimelineColumnProps;
|
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
|
|
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 (
|
|
38152
|
-
|
|
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 =
|
|
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:
|
|
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 =
|
|
38254
|
-
var pkValue =
|
|
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:
|
|
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;
|