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