ods-component-lib 1.18.258 → 1.18.260

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.
@@ -128,10 +128,15 @@ export interface IOdsTimelineTableToolbarSettings {
128
128
  passiveText?: string;
129
129
  pdf?: {
130
130
  title?: string;
131
+ loadingText?: string;
131
132
  documentFormat?: ExportDocumentType;
132
133
  };
133
134
  excel?: {
134
135
  title?: string;
136
+ loadingText?: string;
137
+ };
138
+ messages?: {
139
+ noRecord?: string;
135
140
  };
136
141
  };
137
142
  columnChooser?: {
@@ -155,6 +160,8 @@ export interface ITranslationValue {
155
160
  translatedValue: string;
156
161
  }
157
162
  export interface IOdsTimelineTableColumnChooserProps {
163
+ open: boolean;
164
+ onVisibilityChanged: (visible: boolean) => void;
158
165
  title: string;
159
166
  selectAllText: string;
160
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$expo16, _toolbarSettings$expo17, _toolbarSettings$expo18, _toolbarSettings$colu;
56943
+ 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;
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([]),
@@ -56988,6 +56992,15 @@ var OdsTimelineTable = React.forwardRef(function (props, ref) {
56988
56992
  return item.name;
56989
56993
  })),
56990
56994
  unvisibleColumnNames = _useState9[0];
56995
+ var _useState10 = React.useState(false),
56996
+ exportPdfModalOpen = _useState10[0],
56997
+ setExportPdfModalOpen = _useState10[1];
56998
+ var _useState11 = React.useState(false),
56999
+ exporting = _useState11[0],
57000
+ setExporting = _useState11[1];
57001
+ var _useState12 = React.useState(false),
57002
+ columnChooserOpen = _useState12[0],
57003
+ setColumnChooserOpen = _useState12[1];
56991
57004
  var originalSortingMode = sorting.mode === undefined || sorting.mode === "" ? "none" : sorting.mode;
56992
57005
  var sortingMode = sortingProcess == "ServerSideSorting" ? "none" : originalSortingMode;
56993
57006
  var showSortIndexes = sortingProcess == "ServerSideSorting" ? false : sorting.showSortIndexes;
@@ -56998,11 +57011,27 @@ var OdsTimelineTable = React.forwardRef(function (props, ref) {
56998
57011
  React.useEffect(function () {
56999
57012
  updateExportableTasks();
57000
57013
  }, [timelineTasks]);
57014
+ React.useEffect(function () {
57015
+ setStartDate(startDateRange);
57016
+ }, [startDateRange]);
57017
+ React.useEffect(function () {
57018
+ setEndDate(endDateRange);
57019
+ }, [endDateRange]);
57001
57020
  React.useEffect(function () {
57002
57021
  if (sortingChangeEventProps.columnHeaderProps !== null) {
57003
57022
  onSortingChanged && onSortingChanged(sortingChangeEventProps.sortedColumns, sortingChangeEventProps.columnHeaderProps);
57004
57023
  }
57005
57024
  }, [sortingChangeEventProps]);
57025
+ var getTimelineStartDate = function getTimelineStartDate() {
57026
+ var newSD = startDate;
57027
+ newSD.setDate(1);
57028
+ return newSD;
57029
+ };
57030
+ var getTimelineEndDate = function getTimelineEndDate() {
57031
+ var newED = endDate;
57032
+ newED = moment__default(newED).add(1, "months").set("date", 15).toDate();
57033
+ return newED;
57034
+ };
57006
57035
  var actionButtons = React.useMemo(function () {
57007
57036
  if (actionColumnSettings.actionButtonGroup) {
57008
57037
  if (actionColumnSettings.actionButtonGroup.length > 3) {
@@ -57027,7 +57056,8 @@ var OdsTimelineTable = React.forwardRef(function (props, ref) {
57027
57056
  setExportableTasks(result);
57028
57057
  };
57029
57058
  var prepareTimelineTasks = function prepareTimelineTasks(tasks, selectedKeys) {
57030
- setTimelineTasks(mapSelectedKeys(tasks.map(mapCustomTask), customTaskKey, multiSelectionEnabled ? selectedKeys : selectedKeys.length > 0 ? selectedKeys[0] : []));
57059
+ var _tasks = mapSelectedKeys(tasks.map(mapCustomTask), customTaskKey, multiSelectionEnabled ? selectedKeys : selectedKeys.length > 0 ? selectedKeys[0] : []);
57060
+ setTimelineTasks(_tasks);
57031
57061
  };
57032
57062
  var getSelectedRowsData = function getSelectedRowsData() {
57033
57063
  return timelineTasks.filter(function (item) {
@@ -57267,7 +57297,8 @@ var OdsTimelineTable = React.forwardRef(function (props, ref) {
57267
57297
  }).then(function (doc) {
57268
57298
  return doc.save(getExportFileName());
57269
57299
  })["finally"](function () {
57270
- return exportableTimelineTable.repaint();
57300
+ setExporting(false);
57301
+ setExportPdfModalOpen(false);
57271
57302
  });
57272
57303
  };
57273
57304
  var getExportFileName = function getExportFileName() {
@@ -57302,6 +57333,41 @@ var OdsTimelineTable = React.forwardRef(function (props, ref) {
57302
57333
  });
57303
57334
  return newExportedColumns;
57304
57335
  }, [exportableTasks, columnList]);
57336
+ var exportableTimelineTable = React__default.createElement(React__default.Fragment, null, React__default.createElement(antd.Spin, {
57337
+ size: "large",
57338
+ spinning: exporting
57339
+ }, React__default.createElement("div", {
57340
+ style: {
57341
+ overflowX: "auto",
57342
+ overflowY: "auto",
57343
+ paddingTop: 20
57344
+ }
57345
+ }, React__default.createElement(gantt.Gantt, Object.assign({
57346
+ key: "OdsTimelineTableExportable",
57347
+ width: "100%",
57348
+ height: 500,
57349
+ startDateRange: getTimelineStartDate(),
57350
+ endDateRange: getTimelineEndDate(),
57351
+ taskContentRender: function taskContentRender(params) {
57352
+ return React__default.createElement(OdsTimelineTableTaskTemplate, Object.assign({}, params));
57353
+ }
57354
+ }, props, {
57355
+ ref: refGanttExportable,
57356
+ sorting: {
57357
+ mode: "none",
57358
+ showSortIndexes: false
57359
+ }
57360
+ }), React__default.createElement(gantt.ContextMenu, {
57361
+ enabled: false
57362
+ }), exportedColumns.map(function (columnProps, index) {
57363
+ return React__default.createElement(gantt.Column, Object.assign({}, columnProps, {
57364
+ key: "TimelineTable_ExportPdfColumn_" + index
57365
+ }));
57366
+ }), React__default.createElement(gantt.Tasks, {
57367
+ dataSource: exportableTasks
57368
+ }), children, React__default.createElement(gantt.Sorting, {
57369
+ mode: "none"
57370
+ })))));
57305
57371
  React.useImperativeHandle(ref, function () {
57306
57372
  return {
57307
57373
  getSelectedRowsData: getSelectedRowsData,
@@ -57313,8 +57379,8 @@ var OdsTimelineTable = React.forwardRef(function (props, ref) {
57313
57379
  key: "OdsTimelineTable",
57314
57380
  width: "100%",
57315
57381
  height: 500,
57316
- startDateRange: startDate,
57317
- endDateRange: endDate,
57382
+ startDateRange: getTimelineStartDate(),
57383
+ endDateRange: getTimelineEndDate(),
57318
57384
  taskContentRender: function taskContentRender(params) {
57319
57385
  return React__default.createElement(OdsTimelineTableTaskTemplate, Object.assign({}, params));
57320
57386
  }
@@ -57367,9 +57433,22 @@ var OdsTimelineTable = React.forwardRef(function (props, ref) {
57367
57433
  items: [{
57368
57434
  text: (_toolbarSettings$expo13 = toolbarSettings === null || toolbarSettings === void 0 ? void 0 : (_toolbarSettings$expo14 = toolbarSettings["export"]) === null || _toolbarSettings$expo14 === void 0 ? void 0 : (_toolbarSettings$expo15 = _toolbarSettings$expo14.pdf) === null || _toolbarSettings$expo15 === void 0 ? void 0 : _toolbarSettings$expo15.title) != null ? _toolbarSettings$expo13 : "Export to Pdf",
57369
57435
  icon: "exportpdf",
57370
- onClick: exportPdf
57436
+ onClick: function onClick() {
57437
+ if (exportableTasks.length > 0) {
57438
+ setExportPdfModalOpen(true);
57439
+ setExporting(true);
57440
+ } else {
57441
+ var _toolbarSettings$expo16, _toolbarSettings$expo17, _toolbarSettings$expo18;
57442
+ OdsNotification({
57443
+ title: "",
57444
+ content: (_toolbarSettings$expo16 = toolbarSettings === null || toolbarSettings === void 0 ? void 0 : (_toolbarSettings$expo17 = toolbarSettings["export"]) === null || _toolbarSettings$expo17 === void 0 ? void 0 : (_toolbarSettings$expo18 = _toolbarSettings$expo17.messages) === null || _toolbarSettings$expo18 === void 0 ? void 0 : _toolbarSettings$expo18.noRecord) != null ? _toolbarSettings$expo16 : "No record",
57445
+ type: "warning",
57446
+ placement: "bottom"
57447
+ });
57448
+ }
57449
+ }
57371
57450
  }, {
57372
- text: (_toolbarSettings$expo16 = toolbarSettings === null || toolbarSettings === void 0 ? void 0 : (_toolbarSettings$expo17 = toolbarSettings["export"]) === null || _toolbarSettings$expo17 === void 0 ? void 0 : (_toolbarSettings$expo18 = _toolbarSettings$expo17.excel) === null || _toolbarSettings$expo18 === void 0 ? void 0 : _toolbarSettings$expo18.title) != null ? _toolbarSettings$expo16 : "Export to Excel",
57451
+ 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",
57373
57452
  icon: "exportxlsx",
57374
57453
  onClick: exportExcel
57375
57454
  }]
@@ -57382,6 +57461,10 @@ var OdsTimelineTable = React.forwardRef(function (props, ref) {
57382
57461
  component: function component(props) {
57383
57462
  var _toolbarSettings$colu2, _toolbarSettings$colu3, _toolbarSettings$colu4, _toolbarSettings$colu5;
57384
57463
  return OdsTimelineTableColumnChooser(_extends({}, props, {
57464
+ open: columnChooserOpen,
57465
+ onVisibilityChanged: function onVisibilityChanged(visible) {
57466
+ return setColumnChooserOpen(visible);
57467
+ },
57385
57468
  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",
57386
57469
  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",
57387
57470
  items: columnList.filter(function (item) {
@@ -57439,23 +57522,23 @@ var OdsTimelineTable = React.forwardRef(function (props, ref) {
57439
57522
  }), children, React__default.createElement(gantt.Sorting, {
57440
57523
  mode: sortingMode,
57441
57524
  showSortIndexes: showSortIndexes
57442
- })), React__default.createElement(gantt.Gantt, Object.assign({}, props, {
57443
- startDateRange: startDate,
57444
- endDateRange: endDate,
57445
- taskContentRender: function taskContentRender(params) {
57446
- return React__default.createElement(OdsTimelineTableTaskTemplate, Object.assign({}, params));
57447
- },
57448
- width: 0,
57449
- height: 0,
57450
- ref: refGanttExportable,
57451
- key: "OdsTimelineTable_Export"
57452
- }), exportedColumns.map(function (columnProps, index) {
57453
- return React__default.createElement(gantt.Column, Object.assign({}, columnProps, {
57454
- key: "TimelineTable_ExportPdfColumn_" + index
57455
- }));
57456
- }), React__default.createElement(gantt.Tasks, {
57457
- dataSource: exportableTasks
57458
- }), children), React__default.createElement(DataGrid__default, {
57525
+ })), React__default.createElement(antd.Modal, {
57526
+ 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",
57527
+ width: 1200,
57528
+ open: exportPdfModalOpen,
57529
+ closable: false,
57530
+ footer: "",
57531
+ afterOpenChange: function afterOpenChange(open) {
57532
+ if (open) {
57533
+ var _exportableTimelineTable = refGanttExportable.current.instance;
57534
+ _exportableTimelineTable.refresh().then(function () {
57535
+ setTimeout(function () {
57536
+ return exportPdf();
57537
+ }, 2000);
57538
+ });
57539
+ }
57540
+ }
57541
+ }, exportableTimelineTable), React__default.createElement(DataGrid__default, {
57459
57542
  key: "DataGrid_Export",
57460
57543
  ref: refDataGridExportable,
57461
57544
  className: "odsTimelineTable-ExportDataGrid",