ods-component-lib 1.18.259 → 1.18.261

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.
@@ -160,6 +160,8 @@ export interface ITranslationValue {
160
160
  translatedValue: string;
161
161
  }
162
162
  export interface IOdsTimelineTableColumnChooserProps {
163
+ open: boolean;
164
+ onVisibilityChanged: (visible: boolean) => void;
163
165
  title: string;
164
166
  selectAllText: string;
165
167
  items: IOdsTimelineTableColumnChooserItemProps[];
package/dist/index.js CHANGED
@@ -56779,7 +56779,7 @@ var OdsTimelineTableColumnChooser = function OdsTimelineTableColumnChooser(props
56779
56779
  var initialSelectedColumns = props.items.filter(function (item) {
56780
56780
  return item.visible !== false;
56781
56781
  });
56782
- var _useState = React.useState(false),
56782
+ var _useState = React.useState(props.open),
56783
56783
  open = _useState[0],
56784
56784
  setOpen = _useState[1];
56785
56785
  var _useState2 = React.useState(props.items),
@@ -56868,62 +56868,66 @@ var OdsTimelineTableColumnChooser = function OdsTimelineTableColumnChooser(props
56868
56868
  })),
56869
56869
  selectAll = _useState4[0],
56870
56870
  setSelectAll = _useState4[1];
56871
- var content = React__default.createElement("div", {
56872
- key: "OdsTimelineTableColumnChooser_content",
56873
- className: timelineTableStyles.columnChooserPopup
56874
- }, React__default.createElement("div", {
56875
- key: "OdsTimelineTableColumnChooser_header",
56876
- className: timelineTableStyles.columnChooserHeader
56877
- }, React__default.createElement("span", {
56878
- key: "OdsTimelineTableColumnChooser_title"
56879
- }, props.title), React__default.createElement("span", {
56880
- key: "OdsTimelineTableColumnChooser_closebutton",
56881
- className: timelineTableStyles.columnChooserCloseButton
56882
- }, React__default.createElement(outline.CrossIcon, {
56883
- style: {
56884
- cursor: "pointer"
56885
- },
56886
- onClick: function onClick() {
56887
- return setOpen(false);
56888
- }
56889
- }))), React__default.createElement(OdsInput, {
56890
- key: "OdsTimelineTableColumnChooser_OdsSearch",
56891
- prefix: React__default.createElement("span", {
56892
- className: "dx-icon-search " + timelineTableStyles.searchBoxIcon
56893
- }),
56894
- className: timelineTableStyles.columnChooserSearchbox,
56895
- onChange: function onChange(e) {
56896
- return filterColumns(e.target.value);
56897
- }
56898
- }), React__default.createElement(OdsCheckbox, {
56899
- key: "OdsTimelineTableColumnChooser_SelectAll",
56900
- className: timelineTableStyles.columnChooserCheckbox,
56901
- checked: selectAll,
56902
- onChange: function onChange(e) {
56903
- return selectAllChanged(e.target.checked);
56904
- }
56905
- }, props.selectAllText), React__default.createElement(antd.Divider, {
56906
- key: "OdsTimelineTableColumnChooser_Divider",
56907
- className: timelineTableStyles.columnChooserDivider
56908
- }), columns.map(function (_column, index) {
56871
+ var content = React.useMemo(function () {
56909
56872
  return React__default.createElement("div", {
56910
- key: "OdsTimelineTableColumnChooser_columns_item_" + index
56911
- }, React__default.createElement(OdsCheckbox, {
56912
- key: "OdsTimelineTableColumnChooser_OdsCheckbox_" + index,
56873
+ key: "OdsTimelineTableColumnChooser_content",
56874
+ className: timelineTableStyles.columnChooserPopup
56875
+ }, React__default.createElement("div", {
56876
+ key: "OdsTimelineTableColumnChooser_header",
56877
+ className: timelineTableStyles.columnChooserHeader
56878
+ }, React__default.createElement("span", {
56879
+ key: "OdsTimelineTableColumnChooser_title"
56880
+ }, props.title), React__default.createElement("span", {
56881
+ key: "OdsTimelineTableColumnChooser_closebutton",
56882
+ className: timelineTableStyles.columnChooserCloseButton
56883
+ }, React__default.createElement(outline.CrossIcon, {
56884
+ style: {
56885
+ cursor: "pointer"
56886
+ },
56887
+ onClick: function onClick() {
56888
+ setOpen(false);
56889
+ props.onVisibilityChanged && props.onVisibilityChanged(false);
56890
+ }
56891
+ }))), React__default.createElement(OdsInput, {
56892
+ key: "OdsTimelineTableColumnChooser_OdsSearch",
56893
+ prefix: React__default.createElement("span", {
56894
+ className: "dx-icon-search " + timelineTableStyles.searchBoxIcon
56895
+ }),
56896
+ className: timelineTableStyles.columnChooserSearchbox,
56897
+ onChange: function onChange(e) {
56898
+ return filterColumns(e.target.value);
56899
+ }
56900
+ }), React__default.createElement(OdsCheckbox, {
56901
+ key: "OdsTimelineTableColumnChooser_SelectAll",
56913
56902
  className: timelineTableStyles.columnChooserCheckbox,
56914
- checked: isSelected(_column.columnName),
56903
+ checked: selectAll,
56915
56904
  onChange: function onChange(e) {
56916
- return selectChanged(e.target.checked, _column);
56905
+ return selectAllChanged(e.target.checked);
56917
56906
  }
56918
- }, _column.columnCaption));
56919
- }));
56907
+ }, props.selectAllText), React__default.createElement(antd.Divider, {
56908
+ key: "OdsTimelineTableColumnChooser_Divider",
56909
+ className: timelineTableStyles.columnChooserDivider
56910
+ }), columns.map(function (_column, index) {
56911
+ return React__default.createElement("div", {
56912
+ key: "OdsTimelineTableColumnChooser_columns_item_" + index
56913
+ }, React__default.createElement(OdsCheckbox, {
56914
+ key: "OdsTimelineTableColumnChooser_OdsCheckbox_" + index,
56915
+ className: timelineTableStyles.columnChooserCheckbox,
56916
+ checked: isSelected(_column.columnName),
56917
+ onChange: function onChange(e) {
56918
+ return selectChanged(e.target.checked, _column);
56919
+ }
56920
+ }, _column.columnCaption));
56921
+ }));
56922
+ }, [open, columns]);
56920
56923
  return React__default.createElement(React__default.Fragment, null, React__default.createElement(antd.Popover, {
56921
56924
  open: open,
56922
56925
  content: content
56923
56926
  }, React__default.createElement(button.Button, {
56924
56927
  icon: "columnchooser",
56925
56928
  onClick: function onClick() {
56926
- return setOpen(true);
56929
+ setOpen(true);
56930
+ props.onVisibilityChanged && props.onVisibilityChanged(true);
56927
56931
  }
56928
56932
  })));
56929
56933
  };
@@ -56936,7 +56940,7 @@ var callAddFont = function callAddFont() {
56936
56940
  jsPDF.jsPDF.API.events.push(['addFonts', callAddFont]);
56937
56941
 
56938
56942
  var OdsTimelineTable = React.forwardRef(function (props, ref) {
56939
- var _toolbarSettings$sear, _toolbarSettings$sear5, _toolbarSettings$expo12, _toolbarSettings$expo13, _toolbarSettings$expo14, _toolbarSettings$expo15, _toolbarSettings$expo19, _toolbarSettings$expo20, _toolbarSettings$expo21, _toolbarSettings$colu, _props$toolbarSetting5, _props$toolbarSetting6, _props$toolbarSetting7, _props$toolbarSetting8;
56943
+ var _toolbarSettings$sear, _toolbarSettings$sear5, _toolbarSettings$expo12, _toolbarSettings$expo13, _toolbarSettings$expo14, _toolbarSettings$expo15, _toolbarSettings$expo19, _toolbarSettings$expo20, _toolbarSettings$expo21, _toolbarSettings$colu;
56940
56944
  var customColumns = props.customColumns,
56941
56945
  customTasks = props.customTasks,
56942
56946
  customTaskKey = props.customTaskKey,
@@ -56955,10 +56959,10 @@ var OdsTimelineTable = React.forwardRef(function (props, ref) {
56955
56959
  var refGantt = React.useRef(null);
56956
56960
  var refGanttExportable = React.useRef(null);
56957
56961
  var refDataGridExportable = React.useRef(null);
56958
- var _useState = React.useState(startDateRange != null ? startDateRange : Constants.timelineDefaultStartDate),
56962
+ var _useState = React.useState(Constants.timelineDefaultStartDate),
56959
56963
  startDate = _useState[0],
56960
56964
  setStartDate = _useState[1];
56961
- var _useState2 = React.useState(endDateRange != null ? endDateRange : Constants.timelineDefaultEndDate),
56965
+ var _useState2 = React.useState(Constants.timelineDefaultEndDate),
56962
56966
  endDate = _useState2[0],
56963
56967
  setEndDate = _useState2[1];
56964
56968
  var _useState3 = React.useState([]),
@@ -56989,11 +56993,8 @@ var OdsTimelineTable = React.forwardRef(function (props, ref) {
56989
56993
  })),
56990
56994
  unvisibleColumnNames = _useState9[0];
56991
56995
  var _useState10 = React.useState(false),
56992
- exportPdfModalOpen = _useState10[0],
56993
- setExportPdfModalOpen = _useState10[1];
56994
- var _useState11 = React.useState(false),
56995
- exporting = _useState11[0],
56996
- setExporting = _useState11[1];
56996
+ columnChooserOpen = _useState10[0],
56997
+ setColumnChooserOpen = _useState10[1];
56997
56998
  var originalSortingMode = sorting.mode === undefined || sorting.mode === "" ? "none" : sorting.mode;
56998
56999
  var sortingMode = sortingProcess == "ServerSideSorting" ? "none" : originalSortingMode;
56999
57000
  var showSortIndexes = sortingProcess == "ServerSideSorting" ? false : sorting.showSortIndexes;
@@ -57004,11 +57005,27 @@ var OdsTimelineTable = React.forwardRef(function (props, ref) {
57004
57005
  React.useEffect(function () {
57005
57006
  updateExportableTasks();
57006
57007
  }, [timelineTasks]);
57008
+ React.useEffect(function () {
57009
+ setStartDate(startDateRange);
57010
+ }, [startDateRange]);
57011
+ React.useEffect(function () {
57012
+ setEndDate(endDateRange);
57013
+ }, [endDateRange]);
57007
57014
  React.useEffect(function () {
57008
57015
  if (sortingChangeEventProps.columnHeaderProps !== null) {
57009
57016
  onSortingChanged && onSortingChanged(sortingChangeEventProps.sortedColumns, sortingChangeEventProps.columnHeaderProps);
57010
57017
  }
57011
57018
  }, [sortingChangeEventProps]);
57019
+ var getTimelineStartDate = function getTimelineStartDate() {
57020
+ var newSD = startDate;
57021
+ newSD.setDate(1);
57022
+ return newSD;
57023
+ };
57024
+ var getTimelineEndDate = function getTimelineEndDate() {
57025
+ var newED = endDate;
57026
+ newED = moment__default(newED).add(1, "months").set("date", 28).toDate();
57027
+ return newED;
57028
+ };
57012
57029
  var actionButtons = React.useMemo(function () {
57013
57030
  if (actionColumnSettings.actionButtonGroup) {
57014
57031
  if (actionColumnSettings.actionButtonGroup.length > 3) {
@@ -57033,8 +57050,7 @@ var OdsTimelineTable = React.forwardRef(function (props, ref) {
57033
57050
  setExportableTasks(result);
57034
57051
  };
57035
57052
  var prepareTimelineTasks = function prepareTimelineTasks(tasks, selectedKeys) {
57036
- var _tasks = mapSelectedKeys(tasks.map(mapCustomTask), customTaskKey, multiSelectionEnabled ? selectedKeys : selectedKeys.length > 0 ? selectedKeys[0] : []);
57037
- setTimelineTasks(_tasks);
57053
+ setTimelineTasks(mapSelectedKeys(tasks.map(mapCustomTask), customTaskKey, multiSelectionEnabled ? selectedKeys : selectedKeys.length > 0 ? selectedKeys[0] : []));
57038
57054
  };
57039
57055
  var getSelectedRowsData = function getSelectedRowsData() {
57040
57056
  return timelineTasks.filter(function (item) {
@@ -57274,8 +57290,7 @@ var OdsTimelineTable = React.forwardRef(function (props, ref) {
57274
57290
  }).then(function (doc) {
57275
57291
  return doc.save(getExportFileName());
57276
57292
  })["finally"](function () {
57277
- setExporting(false);
57278
- setExportPdfModalOpen(false);
57293
+ return exportableTimelineTable.repaint();
57279
57294
  });
57280
57295
  };
57281
57296
  var getExportFileName = function getExportFileName() {
@@ -57310,41 +57325,6 @@ var OdsTimelineTable = React.forwardRef(function (props, ref) {
57310
57325
  });
57311
57326
  return newExportedColumns;
57312
57327
  }, [exportableTasks, columnList]);
57313
- var exportableTimelineTable = React__default.createElement(React__default.Fragment, null, React__default.createElement(antd.Spin, {
57314
- size: "large",
57315
- spinning: exporting
57316
- }, React__default.createElement("div", {
57317
- style: {
57318
- overflowX: "auto",
57319
- overflowY: "auto",
57320
- paddingTop: 20
57321
- }
57322
- }, React__default.createElement(gantt.Gantt, Object.assign({
57323
- key: "OdsTimelineTableExportable",
57324
- width: "100%",
57325
- height: 500,
57326
- startDateRange: startDate,
57327
- endDateRange: endDate,
57328
- taskContentRender: function taskContentRender(params) {
57329
- return React__default.createElement(OdsTimelineTableTaskTemplate, Object.assign({}, params));
57330
- }
57331
- }, props, {
57332
- ref: refGanttExportable,
57333
- sorting: {
57334
- mode: "none",
57335
- showSortIndexes: false
57336
- }
57337
- }), React__default.createElement(gantt.ContextMenu, {
57338
- enabled: false
57339
- }), exportedColumns.map(function (columnProps, index) {
57340
- return React__default.createElement(gantt.Column, Object.assign({}, columnProps, {
57341
- key: "TimelineTable_ExportPdfColumn_" + index
57342
- }));
57343
- }), React__default.createElement(gantt.Tasks, {
57344
- dataSource: exportableTasks
57345
- }), children, React__default.createElement(gantt.Sorting, {
57346
- mode: "none"
57347
- })))));
57348
57328
  React.useImperativeHandle(ref, function () {
57349
57329
  return {
57350
57330
  getSelectedRowsData: getSelectedRowsData,
@@ -57356,8 +57336,8 @@ var OdsTimelineTable = React.forwardRef(function (props, ref) {
57356
57336
  key: "OdsTimelineTable",
57357
57337
  width: "100%",
57358
57338
  height: 500,
57359
- startDateRange: startDate,
57360
- endDateRange: endDate,
57339
+ startDateRange: getTimelineStartDate(),
57340
+ endDateRange: getTimelineEndDate(),
57361
57341
  taskContentRender: function taskContentRender(params) {
57362
57342
  return React__default.createElement(OdsTimelineTableTaskTemplate, Object.assign({}, params));
57363
57343
  }
@@ -57412,8 +57392,7 @@ var OdsTimelineTable = React.forwardRef(function (props, ref) {
57412
57392
  icon: "exportpdf",
57413
57393
  onClick: function onClick() {
57414
57394
  if (exportableTasks.length > 0) {
57415
- setExportPdfModalOpen(true);
57416
- setExporting(true);
57395
+ exportPdf();
57417
57396
  } else {
57418
57397
  var _toolbarSettings$expo16, _toolbarSettings$expo17, _toolbarSettings$expo18;
57419
57398
  OdsNotification({
@@ -57427,7 +57406,19 @@ var OdsTimelineTable = React.forwardRef(function (props, ref) {
57427
57406
  }, {
57428
57407
  text: (_toolbarSettings$expo19 = toolbarSettings === null || toolbarSettings === void 0 ? void 0 : (_toolbarSettings$expo20 = toolbarSettings["export"]) === null || _toolbarSettings$expo20 === void 0 ? void 0 : (_toolbarSettings$expo21 = _toolbarSettings$expo20.excel) === null || _toolbarSettings$expo21 === void 0 ? void 0 : _toolbarSettings$expo21.title) != null ? _toolbarSettings$expo19 : "Export to Excel",
57429
57408
  icon: "exportxlsx",
57430
- onClick: exportExcel
57409
+ onClick: function onClick() {
57410
+ if (exportableTasks.length > 0) {
57411
+ exportExcel();
57412
+ } else {
57413
+ var _toolbarSettings$expo22, _toolbarSettings$expo23, _toolbarSettings$expo24;
57414
+ OdsNotification({
57415
+ title: "",
57416
+ content: (_toolbarSettings$expo22 = toolbarSettings === null || toolbarSettings === void 0 ? void 0 : (_toolbarSettings$expo23 = toolbarSettings["export"]) === null || _toolbarSettings$expo23 === void 0 ? void 0 : (_toolbarSettings$expo24 = _toolbarSettings$expo23.messages) === null || _toolbarSettings$expo24 === void 0 ? void 0 : _toolbarSettings$expo24.noRecord) != null ? _toolbarSettings$expo22 : "No record",
57417
+ type: "warning",
57418
+ placement: "bottom"
57419
+ });
57420
+ }
57421
+ }
57431
57422
  }]
57432
57423
  }]
57433
57424
  }
@@ -57438,6 +57429,10 @@ var OdsTimelineTable = React.forwardRef(function (props, ref) {
57438
57429
  component: function component(props) {
57439
57430
  var _toolbarSettings$colu2, _toolbarSettings$colu3, _toolbarSettings$colu4, _toolbarSettings$colu5;
57440
57431
  return OdsTimelineTableColumnChooser(_extends({}, props, {
57432
+ open: columnChooserOpen,
57433
+ onVisibilityChanged: function onVisibilityChanged(visible) {
57434
+ return setColumnChooserOpen(visible);
57435
+ },
57441
57436
  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",
57442
57437
  selectAllText: (_toolbarSettings$colu4 = toolbarSettings === null || toolbarSettings === void 0 ? void 0 : (_toolbarSettings$colu5 = toolbarSettings.columnChooser) === null || _toolbarSettings$colu5 === void 0 ? void 0 : _toolbarSettings$colu5.selectAllText) != null ? _toolbarSettings$colu4 : "Select All",
57443
57438
  items: columnList.filter(function (item) {
@@ -57483,7 +57478,8 @@ var OdsTimelineTable = React.forwardRef(function (props, ref) {
57483
57478
  }, columnProps));
57484
57479
  }
57485
57480
  }), actionColumnSettings.actionColumnEnable != false ? React__default.createElement(gantt.Column, Object.assign({
57486
- key: "OdsTimelineColumn_Actions"
57481
+ key: "OdsTimelineColumn_Actions",
57482
+ width: 100
57487
57483
  }, actionColumnProps, {
57488
57484
  caption: actionColumnSettings.actionButtonGroupCaption,
57489
57485
  cssClass: "actionButtonGroupCell",
@@ -57495,23 +57491,20 @@ var OdsTimelineTable = React.forwardRef(function (props, ref) {
57495
57491
  }), children, React__default.createElement(gantt.Sorting, {
57496
57492
  mode: sortingMode,
57497
57493
  showSortIndexes: showSortIndexes
57498
- })), React__default.createElement(antd.Modal, {
57499
- title: (_props$toolbarSetting5 = (_props$toolbarSetting6 = props.toolbarSettings) === null || _props$toolbarSetting6 === void 0 ? void 0 : (_props$toolbarSetting7 = _props$toolbarSetting6["export"]) === null || _props$toolbarSetting7 === void 0 ? void 0 : (_props$toolbarSetting8 = _props$toolbarSetting7.pdf) === null || _props$toolbarSetting8 === void 0 ? void 0 : _props$toolbarSetting8.loadingText) != null ? _props$toolbarSetting5 : "Exporting to Pdf",
57500
- width: 1200,
57501
- open: exportPdfModalOpen,
57502
- closable: false,
57503
- footer: "",
57504
- afterOpenChange: function afterOpenChange(open) {
57505
- if (open) {
57506
- var _exportableTimelineTable = refGanttExportable.current.instance;
57507
- _exportableTimelineTable.refresh().then(function () {
57508
- setTimeout(function () {
57509
- return exportPdf();
57510
- }, 2000);
57511
- });
57512
- }
57513
- }
57514
- }, exportableTimelineTable), React__default.createElement(DataGrid__default, {
57494
+ })), React__default.createElement(gantt.Gantt, Object.assign({}, props, {
57495
+ startDateRange: getTimelineStartDate(),
57496
+ endDateRange: getTimelineEndDate(),
57497
+ width: 0,
57498
+ height: 0,
57499
+ ref: refGanttExportable,
57500
+ key: "OdsTimelineTable_Export"
57501
+ }), exportedColumns.map(function (columnProps, index) {
57502
+ return React__default.createElement(gantt.Column, Object.assign({}, columnProps, {
57503
+ key: "TimelineTable_ExportPdfColumn_" + index
57504
+ }));
57505
+ }), React__default.createElement(gantt.Tasks, {
57506
+ dataSource: exportableTasks
57507
+ }), children), React__default.createElement(DataGrid__default, {
57515
57508
  key: "DataGrid_Export",
57516
57509
  ref: refDataGridExportable,
57517
57510
  className: "odsTimelineTable-ExportDataGrid",