gantt-task-react-powern 0.6.45 → 0.6.46

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/index.js CHANGED
@@ -1098,6 +1098,7 @@ var TaskList = function TaskList(_ref) {
1098
1098
  TaskListTable = _ref.TaskListTable,
1099
1099
  taskLabelRenderer = _ref.taskLabelRenderer,
1100
1100
  onMultiSelect = _ref.onMultiSelect,
1101
+ onSelectAll = _ref.onSelectAll,
1101
1102
  containerWidth = _ref.containerWidth,
1102
1103
  containerMaxWidth = _ref.containerMaxWidth,
1103
1104
  onContentWidthChange = _ref.onContentWidthChange,
@@ -1172,9 +1173,13 @@ var TaskList = function TaskList(_ref) {
1172
1173
  onContentWidthChange === null || onContentWidthChange === void 0 ? void 0 : onContentWidthChange(contentWidth);
1173
1174
  }, [contentWidth, onContentWidthChange]);
1174
1175
 
1175
- var _useState3 = React.useState([]),
1176
- pendingTaskSelect = _useState3[0],
1177
- setPendingTaskSelect = _useState3[1];
1176
+ var _useState3 = React.useState(false),
1177
+ selectAllActive = _useState3[0],
1178
+ setSelectAllActive = _useState3[1];
1179
+
1180
+ var _useState4 = React.useState([]),
1181
+ pendingTaskSelect = _useState4[0],
1182
+ setPendingTaskSelect = _useState4[1];
1178
1183
 
1179
1184
  var prevSelectedTasksRef = React.useRef([]);
1180
1185
  var expandedTasks = React.useRef(new Set());
@@ -1283,6 +1288,19 @@ var TaskList = function TaskList(_ref) {
1283
1288
  setSelectedTasks(newSelectedArray);
1284
1289
  }
1285
1290
  }, [tasks.length]);
1291
+ React.useEffect(function () {
1292
+ if (!selectAllActive) return;
1293
+ var selected = new Set(selectedTasks);
1294
+ if (tasks.every(function (task) {
1295
+ return selected.has(task.id);
1296
+ })) return;
1297
+ setPendingTaskSelect(taskIndex.roots.map(function (taskId) {
1298
+ return {
1299
+ taskId: taskId,
1300
+ selected: true
1301
+ };
1302
+ }));
1303
+ }, [tasks, taskIndex, selectAllActive, selectedTasks]);
1286
1304
 
1287
1305
  var getDescendants = function getDescendants(taskId) {
1288
1306
  var _taskIndex$childrenOf;
@@ -1320,6 +1338,11 @@ var TaskList = function TaskList(_ref) {
1320
1338
  };
1321
1339
 
1322
1340
  var handleTaskSelect = function handleTaskSelect(taskId, selected) {
1341
+ if (!selected && selectAllActive) {
1342
+ setSelectAllActive(false);
1343
+ onSelectAll === null || onSelectAll === void 0 ? void 0 : onSelectAll(false);
1344
+ }
1345
+
1323
1346
  setPendingTaskSelect(function (prev) {
1324
1347
  return [].concat(prev, [{
1325
1348
  taskId: taskId,
@@ -1329,6 +1352,9 @@ var TaskList = function TaskList(_ref) {
1329
1352
  };
1330
1353
 
1331
1354
  var handleSelectAll = function handleSelectAll(selected) {
1355
+ setSelectAllActive(selected);
1356
+ onSelectAll === null || onSelectAll === void 0 ? void 0 : onSelectAll(selected);
1357
+
1332
1358
  if (selected) {
1333
1359
  setPendingTaskSelect(taskIndex.roots.map(function (taskId) {
1334
1360
  return {
@@ -1348,7 +1374,7 @@ var TaskList = function TaskList(_ref) {
1348
1374
  fontSize: fontSize,
1349
1375
  rowWidth: rowWidth,
1350
1376
  scheduleType: scheduleType,
1351
- allSelected: tasks.length > 0 && selectedTasks.length === tasks.length,
1377
+ allSelected: selectAllActive || tasks.length > 0 && selectedTasks.length === tasks.length,
1352
1378
  onSelectAll: onMultiSelect ? handleSelectAll : undefined,
1353
1379
  columnWidths: columnWidths,
1354
1380
  onColumnResize: handleColumnResize
@@ -4104,6 +4130,7 @@ var Gantt = function Gantt(_ref) {
4104
4130
  onSelect = _ref.onSelect,
4105
4131
  onExpanderClick = _ref.onExpanderClick,
4106
4132
  onMultiSelect = _ref.onMultiSelect,
4133
+ onSelectAll = _ref.onSelectAll,
4107
4134
  taskLabelRenderer = _ref.taskLabelRenderer,
4108
4135
  _ref$delayToRender = _ref.delayToRender,
4109
4136
  delayToRender = _ref$delayToRender === void 0 ? 500 : _ref$delayToRender,
@@ -4781,6 +4808,7 @@ var Gantt = function Gantt(_ref) {
4781
4808
  TaskListTable: TaskListTable,
4782
4809
  taskLabelRenderer: taskLabelRenderer,
4783
4810
  onMultiSelect: onMultiSelect,
4811
+ onSelectAll: onSelectAll,
4784
4812
  containerWidth: userResizedRef.current && tableContainerWidth != null ? Math.min(tableContainerWidth, tableCap) : undefined,
4785
4813
  containerMaxWidth: tableCap === Infinity ? undefined : tableCap,
4786
4814
  onContentWidthChange: setTableContentWidth,