ods-component-lib 1.18.241 → 1.18.242

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.
@@ -1,8 +1,8 @@
1
1
  import { ReactElement } from "react";
2
- import { IOdsDataGridProps } from "./OdsMergeCellDataGrid.Types";
2
+ import { IOdsDataGridProps, SummaryTypes } from "./OdsMergeCellDataGrid.Types";
3
3
  export declare const getRequestHeaders: (props: any) => Headers;
4
4
  export declare const concatFilteredLabel: (result: string, totalloaded: number, filteredRowCount: number, filterApplied: boolean, props: any) => string;
5
5
  export declare const showSummaryItems: (props: IOdsDataGridProps) => boolean;
6
6
  export declare const getSummaryItems: (props: IOdsDataGridProps, columns: any[], grid: any, isMultiLevelColumn?: boolean) => ReactElement[];
7
- export declare const getSummaryItem: (col: any, visibleIndex: number, summaryType: any, isMultiLevelColumn: boolean, label?: string) => ReactElement;
7
+ export declare const getSummaryItem: (col: any, visibleIndex: number, summaryType: SummaryTypes, isMultiLevelColumn: boolean, label?: string) => ReactElement;
8
8
  export declare const getMultiLevelColumns: (col: any) => any;
@@ -3,6 +3,7 @@ import { ButtonType } from "antd/es/button/buttonHelpers";
3
3
  import { IButtonProps, IDataGridOptions, IEditingProps, ISelectionProps, ISummaryProps } from "devextreme-react/data-grid";
4
4
  import { ITooltipType } from "../../../utils/customTypes";
5
5
  import { IColumnOptions, IMasterDetailDatas, IMasterDetailFeatures } from "../OdsMasterDetailDataGrid/types";
6
+ export declare type SummaryTypes = "avg" | "count" | "custom" | "max" | "min" | "sum";
6
7
  interface IExportProps {
7
8
  enabled: boolean;
8
9
  allowExportSelectedData?: boolean;
@@ -8,4 +8,8 @@ export declare const useStyles: (props?: {
8
8
  taskBarTitle: import("antd-style").SerializedStyles;
9
9
  searchBoxIcon: import("antd-style").SerializedStyles;
10
10
  searchBox: import("antd-style").SerializedStyles;
11
+ columnChooserPopup: import("antd-style").SerializedStyles;
12
+ columnChooserHeader: import("antd-style").SerializedStyles;
13
+ columnChooserCloseButton: import("antd-style").SerializedStyles;
14
+ columnChooserDivider: import("antd-style").SerializedStyles;
11
15
  }>;
@@ -131,6 +131,10 @@ export interface IOdsTimelineTableToolbarSettings {
131
131
  fileName?: string;
132
132
  documentFormat?: ExportDocumentType;
133
133
  };
134
+ columnChooser?: {
135
+ visible?: boolean;
136
+ title?: string;
137
+ };
134
138
  dateFilterVisible?: boolean;
135
139
  zoomVisible?: boolean;
136
140
  }
@@ -151,3 +155,8 @@ export interface ITranslationValue {
151
155
  originalValue: any;
152
156
  translatedValue: string;
153
157
  }
158
+ export interface IOdsTimelineTableColumnChooserProps {
159
+ title: string;
160
+ items: string[];
161
+ onSelection?(selectedItems: string[], selectedItem?: string, deselectedItem?: string): void;
162
+ }
@@ -0,0 +1,4 @@
1
+ import React from "react";
2
+ import { IOdsTimelineTableColumnChooserProps } from "./OdsTimelineTable.Types";
3
+ declare const OdsTimelineTableColumnChooser: (props: IOdsTimelineTableColumnChooserProps) => React.JSX.Element;
4
+ export default OdsTimelineTableColumnChooser;
package/dist/index.js CHANGED
@@ -49,6 +49,7 @@ var FileSaver = require('file-saver');
49
49
  require('devextreme/dist/css/dx.light.css');
50
50
  var gantt = require('devextreme-react/gantt');
51
51
  require('jspdf-autotable');
52
+ var button = require('devextreme-react/button');
52
53
 
53
54
  function _toPrimitive(t, r) {
54
55
  if ("object" != typeof t || !t) return t;
@@ -37966,7 +37967,7 @@ var OdsMergeCellDataGridHelper = /*#__PURE__*/function () {
37966
37967
  });
37967
37968
  } else {
37968
37969
  mergedCells.filter(function (x) {
37969
- return x.FieldName == dataFieldCurrent && x.Type != "OutOfScope";
37970
+ return x.FieldName == dataFieldCurrent && x.Type != "OutOfScope" && x.Type != "Dirty";
37970
37971
  }).map(function (item) {
37971
37972
  mergedCells.filter(function (x) {
37972
37973
  return x.FieldName == dataFieldNext && x.Type != "New" && x.Type != "Placed";
@@ -55970,7 +55971,7 @@ var OdsTimelineSelectionColumn = function OdsTimelineSelectionColumn(selectionEv
55970
55971
  return selectionColumn;
55971
55972
  };
55972
55973
 
55973
- var _templateObject$B, _templateObject2$9, _templateObject3$6, _templateObject4$5, _templateObject5$4;
55974
+ var _templateObject$B, _templateObject2$9, _templateObject3$6, _templateObject4$5, _templateObject5$4, _templateObject6$3, _templateObject7$3, _templateObject8$3, _templateObject9$3;
55974
55975
  var useStyles$b = antdStyle.createStyles(function (_ref, props) {
55975
55976
  var _props$taskWidth, _props$progressPerc, _props$progressColor;
55976
55977
  var css = _ref.css;
@@ -55982,7 +55983,11 @@ var useStyles$b = antdStyle.createStyles(function (_ref, props) {
55982
55983
  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 "])), _progressPerc, _progressColor, _progressColor),
55983
55984
  taskBarTitle: css(_templateObject3$6 || (_templateObject3$6 = _taggedTemplateLiteralLoose(["\n z-index: 1;\n padding-left: 4px;\n position: absolute;\n "]))),
55984
55985
  searchBoxIcon: css(_templateObject4$5 || (_templateObject4$5 = _taggedTemplateLiteralLoose(["\n color: #999;\n font-size: 17px;\n line-height: 18px;\n "]))),
55985
- searchBox: css(_templateObject5$4 || (_templateObject5$4 = _taggedTemplateLiteralLoose(["\n padding-left: 5px;\n "])))
55986
+ searchBox: css(_templateObject5$4 || (_templateObject5$4 = _taggedTemplateLiteralLoose(["\n padding-left: 5px;\n "]))),
55987
+ columnChooserPopup: css(_templateObject6$3 || (_templateObject6$3 = _taggedTemplateLiteralLoose(["\n min-width: 250px;\n "]))),
55988
+ columnChooserHeader: css(_templateObject7$3 || (_templateObject7$3 = _taggedTemplateLiteralLoose(["\n display: flex;\n align-items: center;\n "]))),
55989
+ columnChooserCloseButton: css(_templateObject8$3 || (_templateObject8$3 = _taggedTemplateLiteralLoose(["\n flex: 1;\n text-align: end;\n cursor: pointer;\n "]))),
55990
+ columnChooserDivider: css(_templateObject9$3 || (_templateObject9$3 = _taggedTemplateLiteralLoose(["\n margin-top: 10px;\n margin-bottom: 10px;\n "])))
55986
55991
  };
55987
55992
  });
55988
55993
 
@@ -56041,8 +56046,99 @@ var OdsTimelineTableSearchBox = function OdsTimelineTableSearchBox(props) {
56041
56046
  }));
56042
56047
  };
56043
56048
 
56049
+ var uniqueRecords = function uniqueRecords(value, index, array) {
56050
+ return array.indexOf(value) === index;
56051
+ };
56052
+
56053
+ var OdsTimelineTableColumnChooser = function OdsTimelineTableColumnChooser(props) {
56054
+ var _useStyles = useStyles$b(),
56055
+ timelineTableStyles = _useStyles.styles;
56056
+ var _useState = React.useState(false),
56057
+ open = _useState[0],
56058
+ setOpen = _useState[1];
56059
+ var _useState2 = React.useState(props.items),
56060
+ columns = _useState2[0],
56061
+ setColumns = _useState2[1];
56062
+ var _useState3 = React.useState(props.items),
56063
+ selectedColumns = _useState3[0],
56064
+ setSelectedColumns = _useState3[1];
56065
+ var filterColumns = function filterColumns(searchValue) {
56066
+ if (searchValue !== undefined && searchValue !== null && searchValue !== "") {
56067
+ setColumns(function (prev) {
56068
+ return prev.filter(function (item) {
56069
+ return item.toLocaleLowerCase().includes(searchValue.toLocaleLowerCase());
56070
+ });
56071
+ });
56072
+ } else {
56073
+ setColumns(props.items);
56074
+ }
56075
+ };
56076
+ var selectAllChanged = function selectAllChanged(isSelected) {
56077
+ if (isSelected) {
56078
+ setSelectedColumns(function (prev) {
56079
+ return [].concat(prev, columns).filter(uniqueRecords);
56080
+ });
56081
+ } else {
56082
+ setSelectedColumns(function (prev) {
56083
+ return prev.filter(function (item) {
56084
+ return !columns.some(function (x) {
56085
+ return x === item;
56086
+ });
56087
+ });
56088
+ });
56089
+ }
56090
+ };
56091
+ var selectChanged = function selectChanged(_isSelected, _columnName) {};
56092
+ var isSelected = function isSelected(columnName) {
56093
+ return selectedColumns.some(columnName);
56094
+ };
56095
+ var content = React__default.createElement("div", {
56096
+ className: timelineTableStyles.columnChooserPopup
56097
+ }, React__default.createElement("div", {
56098
+ className: timelineTableStyles.columnChooserHeader
56099
+ }, React__default.createElement("span", null, props.title), React__default.createElement("span", {
56100
+ className: timelineTableStyles.columnChooserCloseButton,
56101
+ onClick: function onClick() {
56102
+ return setOpen(false);
56103
+ }
56104
+ }, React__default.createElement(outline.CrossIcon, null))), React__default.createElement(OdsInput, {
56105
+ key: "OdsTimelineTableColumnChooser_OdsSearch",
56106
+ prefix: React__default.createElement("span", {
56107
+ className: "dx-icon-search " + timelineTableStyles.searchBoxIcon
56108
+ }),
56109
+ className: timelineTableStyles.searchBox,
56110
+ onChange: function onChange(e) {
56111
+ return filterColumns(e.target.value);
56112
+ }
56113
+ }), React__default.createElement(OdsCheckbox, {
56114
+ defaultChecked: true,
56115
+ onChange: function onChange(e) {
56116
+ return selectAllChanged(e.target.value);
56117
+ }
56118
+ }), React__default.createElement(antd.Divider, {
56119
+ className: timelineTableStyles.columnChooserDivider
56120
+ }), columns.map(function (columnName, index) {
56121
+ return React__default.createElement(OdsCheckbox, {
56122
+ key: "OdsTimelineTableColumnChooser_OdsCheckbox_" + index,
56123
+ value: isSelected(columnName),
56124
+ onChange: function onChange(e) {
56125
+ return selectChanged();
56126
+ }
56127
+ });
56128
+ }));
56129
+ return React__default.createElement(React__default.Fragment, null, React__default.createElement(antd.Popover, {
56130
+ open: open,
56131
+ content: content
56132
+ }, React__default.createElement(button.Button, {
56133
+ icon: "columnchooser",
56134
+ onClick: function onClick() {
56135
+ return setOpen(true);
56136
+ }
56137
+ })));
56138
+ };
56139
+
56044
56140
  var OdsTimelineTable = React.forwardRef(function (props, ref) {
56045
- var _toolbarSettings$sear, _toolbarSettings$sear5, _toolbarSettings$expo6, _toolbarSettings$expo7;
56141
+ var _toolbarSettings$sear, _toolbarSettings$sear5, _toolbarSettings$expo6, _toolbarSettings$expo7, _toolbarSettings$colu;
56046
56142
  var customColumns = props.customColumns,
56047
56143
  customTasks = props.customTasks,
56048
56144
  customTaskKey = props.customTaskKey,
@@ -56409,6 +56505,19 @@ var OdsTimelineTable = React.forwardRef(function (props, ref) {
56409
56505
  stylingMode: "text",
56410
56506
  onClick: exportToPdf
56411
56507
  }
56508
+ }), React__default.createElement(gantt.Item, {
56509
+ key: "OdsTimelineTable_ToolbarItem_ColumChooser",
56510
+ visible: toolbarSettings === null || toolbarSettings === void 0 ? void 0 : (_toolbarSettings$colu = toolbarSettings.columnChooser) === null || _toolbarSettings$colu === void 0 ? void 0 : _toolbarSettings$colu.visible,
56511
+ location: toolbarSettings === null || toolbarSettings === void 0 ? void 0 : toolbarSettings.location,
56512
+ component: function component(props) {
56513
+ var _toolbarSettings$colu2, _toolbarSettings$colu3;
56514
+ return OdsTimelineTableColumnChooser(_extends({}, props, {
56515
+ title: (_toolbarSettings$colu2 = toolbarSettings === null || toolbarSettings === void 0 ? void 0 : (_toolbarSettings$colu3 = toolbarSettings.columnChooser) === null || _toolbarSettings$colu3 === void 0 ? void 0 : _toolbarSettings$colu3.title) != null ? _toolbarSettings$colu2 : "Column Chooser",
56516
+ items: customColumns.map(function (item) {
56517
+ return item.caption;
56518
+ })
56519
+ }));
56520
+ }
56412
56521
  })) : "", React__default.createElement(gantt.ContextMenu, {
56413
56522
  enabled: false
56414
56523
  }), timelineColumns === null || timelineColumns === void 0 ? void 0 : timelineColumns.map(function (columnProps) {