gantt-lib 0.135.7 → 0.135.8

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.mjs CHANGED
@@ -8747,6 +8747,38 @@ function resolveTaskListColumns(builtIn, custom, hiddenColumnIds = []) {
8747
8747
  return filterHiddenColumns(result);
8748
8748
  }
8749
8749
 
8750
+ // src/components/TaskList/taskNumbering.ts
8751
+ function buildTaskNumberMap(tasks) {
8752
+ const numberById = /* @__PURE__ */ new Map();
8753
+ const indexById = /* @__PURE__ */ new Map();
8754
+ for (let i = 0; i < tasks.length; i++) {
8755
+ indexById.set(tasks[i].id, i);
8756
+ }
8757
+ let rootNumber = 0;
8758
+ const siblingCountByParent = /* @__PURE__ */ new Map();
8759
+ for (let i = 0; i < tasks.length; i++) {
8760
+ const task = tasks[i];
8761
+ if (!task.parentId) {
8762
+ rootNumber += 1;
8763
+ numberById.set(task.id, String(rootNumber));
8764
+ continue;
8765
+ }
8766
+ if (!indexById.has(task.parentId)) {
8767
+ numberById.set(task.id, String(i + 1));
8768
+ continue;
8769
+ }
8770
+ const parentNumber = numberById.get(task.parentId);
8771
+ if (parentNumber === void 0) {
8772
+ numberById.set(task.id, String(i + 1));
8773
+ continue;
8774
+ }
8775
+ const siblingNumber = (siblingCountByParent.get(task.parentId) ?? 0) + 1;
8776
+ siblingCountByParent.set(task.parentId, siblingNumber);
8777
+ numberById.set(task.id, `${parentNumber}.${siblingNumber}`);
8778
+ }
8779
+ return numberById;
8780
+ }
8781
+
8750
8782
  // src/components/TaskList/TaskList.tsx
8751
8783
  import { jsx as jsx17, jsxs as jsxs12 } from "react/jsx-runtime";
8752
8784
  var LINK_TYPE_ORDER2 = ["FS", "SS", "FF", "SF"];
@@ -8832,31 +8864,6 @@ function getNearestVisibleDropAnchorBefore(visibleTasks, movedIds, startIndex) {
8832
8864
  }
8833
8865
  return null;
8834
8866
  }
8835
- function getTaskNumber(tasks, taskIndex) {
8836
- const task = tasks[taskIndex];
8837
- if (!task) return "";
8838
- if (!task.parentId) {
8839
- let rootIndex = 0;
8840
- for (let i = 0; i < taskIndex; i++) {
8841
- if (!tasks[i].parentId) {
8842
- rootIndex++;
8843
- }
8844
- }
8845
- return String(rootIndex + 1);
8846
- }
8847
- const parentIndex = tasks.findIndex((t) => t.id === task.parentId);
8848
- if (parentIndex === -1) {
8849
- return String(taskIndex + 1);
8850
- }
8851
- const parentNumber = getTaskNumber(tasks, parentIndex);
8852
- let siblingIndex = 0;
8853
- for (let i = 0; i < taskIndex; i++) {
8854
- if (tasks[i].parentId === task.parentId) {
8855
- siblingIndex++;
8856
- }
8857
- }
8858
- return `${parentNumber}.${siblingIndex + 1}`;
8859
- }
8860
8867
  function normalizeColumnWidthMap(widths) {
8861
8868
  if (!widths) {
8862
8869
  return {};
@@ -9033,9 +9040,7 @@ var TaskList = ({
9033
9040
  [rowHeight, skeletonRowCount, visibleTasks.length]
9034
9041
  );
9035
9042
  const visibleTaskNumberMap = useMemo9(
9036
- () => Object.fromEntries(
9037
- visibleTasks.map((task, index) => [task.id, String(getTaskNumber(visibleTasks, index))])
9038
- ),
9043
+ () => Object.fromEntries(buildTaskNumberMap(visibleTasks)),
9039
9044
  [visibleTasks]
9040
9045
  );
9041
9046
  const visibleTaskIds = useMemo9(() => visibleTasks.map((task) => task.id), [visibleTasks]);
@@ -9077,13 +9082,7 @@ var TaskList = ({
9077
9082
  emitSelectedTaskIdsChange(nextSelectedTaskIds);
9078
9083
  }, [effectiveSelectedTaskIds, emitSelectedTaskIdsChange, visibleTaskIds]);
9079
9084
  const originalTaskNumberMap = useMemo9(
9080
- () => {
9081
- const numberMap = /* @__PURE__ */ new Map();
9082
- for (let i = 0; i < orderedTasks.length; i++) {
9083
- numberMap.set(orderedTasks[i].id, getTaskNumber(orderedTasks, i));
9084
- }
9085
- return Object.fromEntries(numberMap);
9086
- },
9085
+ () => Object.fromEntries(buildTaskNumberMap(orderedTasks)),
9087
9086
  [orderedTasks]
9088
9087
  );
9089
9088
  const nestingDepthMap = useMemo9(() => {