@art-tools/react-gantt 0.2.0 → 0.3.0
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/README.md +30 -8
- package/dist/index.cjs +1 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +27 -6
- package/dist/index.d.ts +27 -6
- package/dist/index.mjs +936 -834
- package/dist/index.mjs.map +1 -1
- package/dist/style.css +1 -1
- package/package.json +3 -3
package/dist/index.mjs
CHANGED
|
@@ -125,7 +125,7 @@ function N(e, t, n) {
|
|
|
125
125
|
default: throw Error(`Unsupported unit: ${t}`);
|
|
126
126
|
}
|
|
127
127
|
}
|
|
128
|
-
function
|
|
128
|
+
function ee(e, t, n) {
|
|
129
129
|
let r = E[n];
|
|
130
130
|
if (r !== void 0) return (t.getTime() - e.getTime()) / r;
|
|
131
131
|
let i = n === "month" ? 1 : n === "quarter" ? 3 : 12, a = e.getFullYear() * 12 + e.getMonth(), o = t.getFullYear() * 12 + t.getMonth(), s = Math.floor((o - a) / i);
|
|
@@ -134,16 +134,16 @@ function P(e, t, n) {
|
|
|
134
134
|
let c = N(e, n, s).getTime(), l = N(e, n, s + 1).getTime();
|
|
135
135
|
return s + (t.getTime() - c) / (l - c);
|
|
136
136
|
}
|
|
137
|
-
function
|
|
137
|
+
function te(e, t, n) {
|
|
138
138
|
let r = E[t];
|
|
139
139
|
if (r !== void 0) return new Date(e.getTime() + n * r);
|
|
140
140
|
let i = Math.floor(n), a = n - i, o = N(e, t, i).getTime(), s = N(e, t, i + 1).getTime();
|
|
141
141
|
return new Date(o + a * (s - o));
|
|
142
142
|
}
|
|
143
|
-
function
|
|
143
|
+
function ne(e, t, n = "day", r = 1) {
|
|
144
144
|
return Array.from({ length: t }, (t, i) => N(e, n, i * r));
|
|
145
145
|
}
|
|
146
|
-
function
|
|
146
|
+
function P(e) {
|
|
147
147
|
let t = e[0];
|
|
148
148
|
if (!t) return null;
|
|
149
149
|
let n = t.startDate, r = t.endDate ?? t.startDate;
|
|
@@ -157,19 +157,19 @@ function I(e) {
|
|
|
157
157
|
max: r
|
|
158
158
|
};
|
|
159
159
|
}
|
|
160
|
-
var
|
|
161
|
-
function
|
|
162
|
-
let t =
|
|
160
|
+
var F = S(P, 3), I = 1440, L = 6e4, R = [0, I], z = /^\s*(\d{1,2}):(\d{2})\s*-\s*(\d{1,2}):(\d{2})\s*$/;
|
|
161
|
+
function re(e) {
|
|
162
|
+
let t = z.exec(e);
|
|
163
163
|
if (!t) throw Error(`Invalid working-hours range ${JSON.stringify(e)}: expected "H:MM-H:MM", e.g. "8:30-12:00".`);
|
|
164
164
|
let n = Number(t[1]) * 60 + Number(t[2]), r = Number(t[3]) * 60 + Number(t[4]);
|
|
165
165
|
if (n < 0 || n >= 1440) throw Error(`Invalid working-hours range ${JSON.stringify(e)}: start must be within the day.`);
|
|
166
166
|
if (r <= n || r > 1440) throw Error(`Invalid working-hours range ${JSON.stringify(e)}: end must be after start and no later than 24:00.`);
|
|
167
167
|
return [n, r];
|
|
168
168
|
}
|
|
169
|
-
function
|
|
170
|
-
if (e === void 0) return
|
|
169
|
+
function B(e) {
|
|
170
|
+
if (e === void 0) return R;
|
|
171
171
|
if (e === !1) return [];
|
|
172
|
-
let t = e.map(
|
|
172
|
+
let t = e.map(re).toSorted((e, t) => e[0] - t[0]), n = [];
|
|
173
173
|
for (let [e, r] of t) {
|
|
174
174
|
let t = n.length > 0 ? n[n.length - 1] : void 0;
|
|
175
175
|
if (t !== void 0 && e <= t) {
|
|
@@ -180,7 +180,7 @@ function H(e) {
|
|
|
180
180
|
}
|
|
181
181
|
return n;
|
|
182
182
|
}
|
|
183
|
-
function
|
|
183
|
+
function ie(e, t) {
|
|
184
184
|
let n = [], r = 0;
|
|
185
185
|
for (let t = 0; t < e.length; t += 2) n.push(r), r += e[t + 1] - e[t];
|
|
186
186
|
return {
|
|
@@ -190,43 +190,43 @@ function ne(e, t) {
|
|
|
190
190
|
id: t
|
|
191
191
|
};
|
|
192
192
|
}
|
|
193
|
-
function
|
|
193
|
+
function ae() {
|
|
194
194
|
let e = /* @__PURE__ */ new Map();
|
|
195
195
|
return (t) => {
|
|
196
196
|
let n = t.join(","), r = e.get(n);
|
|
197
197
|
if (r) return r;
|
|
198
|
-
let i =
|
|
198
|
+
let i = ie(t, e.size);
|
|
199
199
|
return e.set(n, i), i;
|
|
200
200
|
};
|
|
201
201
|
}
|
|
202
|
-
function
|
|
202
|
+
function oe(e) {
|
|
203
203
|
return e === void 0 ? "*" : e === !1 ? "-" : e.join(",");
|
|
204
204
|
}
|
|
205
|
-
function
|
|
205
|
+
function se(e) {
|
|
206
206
|
if (!e) return "";
|
|
207
|
-
let t = [
|
|
207
|
+
let t = [oe(e.hours)];
|
|
208
208
|
for (let n = 0; n < 7; n++) {
|
|
209
209
|
let r = e.days?.[n];
|
|
210
|
-
r !== void 0 && t.push(`${n}=${
|
|
210
|
+
r !== void 0 && t.push(`${n}=${oe(r)}`);
|
|
211
211
|
}
|
|
212
212
|
let n = e.dates;
|
|
213
|
-
if (n) for (let e of Object.keys(n).toSorted()) t.push(`${e}=${
|
|
213
|
+
if (n) for (let e of Object.keys(n).toSorted()) t.push(`${e}=${oe(n[e])}`);
|
|
214
214
|
return t.join("|");
|
|
215
215
|
}
|
|
216
|
-
var
|
|
217
|
-
function
|
|
218
|
-
let t =
|
|
216
|
+
var ce = /^(\d{4})-(\d{2})-(\d{2})$/;
|
|
217
|
+
function le(e) {
|
|
218
|
+
let t = ce.exec(e);
|
|
219
219
|
if (!t) throw Error(`Invalid calendar date key ${JSON.stringify(e)}: expected a local civil date, "YYYY-MM-DD".`);
|
|
220
220
|
return k(new Date(Number(t[1]), Number(t[2]) - 1, Number(t[3])));
|
|
221
221
|
}
|
|
222
|
-
function
|
|
223
|
-
let n =
|
|
222
|
+
function ue(e, t) {
|
|
223
|
+
let n = ae(), r = B(e.hours), i = [];
|
|
224
224
|
for (let t = 0; t < 7; t++) {
|
|
225
225
|
let a = e.days?.[t];
|
|
226
|
-
i.push(n(a === void 0 ? r :
|
|
226
|
+
i.push(n(a === void 0 ? r : B(a)));
|
|
227
227
|
}
|
|
228
228
|
let a = /* @__PURE__ */ new Map();
|
|
229
|
-
if (e.dates) for (let [t, r] of Object.entries(e.dates)) a.set(
|
|
229
|
+
if (e.dates) for (let [t, r] of Object.entries(e.dates)) a.set(le(t), n(B(r)));
|
|
230
230
|
let o = [...a.keys()].toSorted((e, t) => e - t), s = 0, c = !0, l = a.size === 0;
|
|
231
231
|
for (let e of i) s += e.totalMinutes, e.totalMinutes !== 0 && e.totalMinutes !== 1440 && (c = !1), e.totalMinutes !== 1440 && (l = !1);
|
|
232
232
|
for (let e of a.values()) e.totalMinutes !== 0 && e.totalMinutes !== 1440 && (c = !1);
|
|
@@ -240,13 +240,13 @@ function ce(e, t) {
|
|
|
240
240
|
isAlwaysWorking: l,
|
|
241
241
|
isDayGranular: c,
|
|
242
242
|
weekMinutes: s,
|
|
243
|
-
msPerWorkingDay: u *
|
|
243
|
+
msPerWorkingDay: u * L
|
|
244
244
|
};
|
|
245
245
|
}
|
|
246
|
-
function
|
|
246
|
+
function V(e, t) {
|
|
247
247
|
return e.byDate.get(t) || e.byWeekday[((t + 4) % 7 + 7) % 7];
|
|
248
248
|
}
|
|
249
|
-
function
|
|
249
|
+
function de(e, t) {
|
|
250
250
|
let n = e.overrideDays, r = 0, i = n.length;
|
|
251
251
|
for (; r < i;) {
|
|
252
252
|
let e = r + i >> 1;
|
|
@@ -254,7 +254,7 @@ function le(e, t) {
|
|
|
254
254
|
}
|
|
255
255
|
return r < n.length ? n[r] : Infinity;
|
|
256
256
|
}
|
|
257
|
-
function
|
|
257
|
+
function fe(e, t) {
|
|
258
258
|
let n = e.overrideDays, r = 0, i = n.length;
|
|
259
259
|
for (; r < i;) {
|
|
260
260
|
let e = r + i >> 1;
|
|
@@ -264,24 +264,24 @@ function ue(e, t) {
|
|
|
264
264
|
}
|
|
265
265
|
//#endregion
|
|
266
266
|
//#region src/hooks/useResolvedCalendar.ts
|
|
267
|
-
function
|
|
268
|
-
let t = p(null), n =
|
|
267
|
+
function pe(e) {
|
|
268
|
+
let t = p(null), n = se(e);
|
|
269
269
|
return (!t.current || t.current.key !== n) && (t.current = {
|
|
270
270
|
key: n,
|
|
271
|
-
value: e ?
|
|
271
|
+
value: e ? ue(e, n) : null
|
|
272
272
|
}), t.current.value;
|
|
273
273
|
}
|
|
274
274
|
//#endregion
|
|
275
275
|
//#region src/core/workingTime.ts
|
|
276
|
-
var
|
|
277
|
-
function
|
|
278
|
-
return (e.getHours() *
|
|
276
|
+
var me = 36e5, he = 864e5, ge = 2e4;
|
|
277
|
+
function H(e) {
|
|
278
|
+
return (e.getHours() * me + e.getMinutes() * L + e.getSeconds() * 1e3 + e.getMilliseconds()) / L;
|
|
279
279
|
}
|
|
280
|
-
function
|
|
280
|
+
function _e(e, t) {
|
|
281
281
|
let n = A(e);
|
|
282
|
-
return new Date(n.getFullYear(), n.getMonth(), n.getDate(), 0, 0, 0, Math.round(t *
|
|
282
|
+
return new Date(n.getFullYear(), n.getMonth(), n.getDate(), 0, 0, 0, Math.round(t * L));
|
|
283
283
|
}
|
|
284
|
-
function
|
|
284
|
+
function ve(e, t) {
|
|
285
285
|
let { intervals: n, prefix: r } = e;
|
|
286
286
|
for (let e = 0, i = 0; e < n.length; e += 2, i++) {
|
|
287
287
|
let a = n[e], o = n[e + 1];
|
|
@@ -290,12 +290,12 @@ function _e(e, t) {
|
|
|
290
290
|
}
|
|
291
291
|
return e.totalMinutes;
|
|
292
292
|
}
|
|
293
|
-
function
|
|
293
|
+
function ye(e, t) {
|
|
294
294
|
let { intervals: n, prefix: r } = e, i = n.length > 0 ? n[0] : 0;
|
|
295
295
|
for (let e = 0, a = 0; e < n.length && !(r[a] >= t); e += 2, a++) i = n[e] + (t - r[a]);
|
|
296
296
|
return i;
|
|
297
297
|
}
|
|
298
|
-
function
|
|
298
|
+
function be(e, t) {
|
|
299
299
|
let { intervals: n, prefix: r } = e;
|
|
300
300
|
for (let e = 0, i = 0; e < n.length; e += 2, i++) {
|
|
301
301
|
let a = n[e + 1] - n[e];
|
|
@@ -303,90 +303,90 @@ function ve(e, t) {
|
|
|
303
303
|
}
|
|
304
304
|
return n.length > 0 ? n[n.length - 1] : 0;
|
|
305
305
|
}
|
|
306
|
-
function
|
|
306
|
+
function U(e, t) {
|
|
307
307
|
let { intervals: n } = e;
|
|
308
308
|
for (let e = 0; e < n.length; e += 2) if (t < n[e + 1]) return Math.max(t, n[e]);
|
|
309
309
|
return null;
|
|
310
310
|
}
|
|
311
|
-
function
|
|
311
|
+
function xe(e, t) {
|
|
312
312
|
let { intervals: n } = e, r = null;
|
|
313
313
|
for (let e = 0; e < n.length; e += 2) t > n[e] && (r = Math.min(t, n[e + 1]));
|
|
314
314
|
return r;
|
|
315
315
|
}
|
|
316
|
-
function
|
|
316
|
+
function Se(e, t) {
|
|
317
317
|
if (!e || e.isAlwaysWorking) return !0;
|
|
318
|
-
let n =
|
|
318
|
+
let n = V(e, k(t)), r = H(t), { intervals: i } = n;
|
|
319
319
|
for (let e = 0; e < i.length; e += 2) if (r >= i[e] && r < i[e + 1]) return !0;
|
|
320
320
|
return !1;
|
|
321
321
|
}
|
|
322
|
-
function
|
|
322
|
+
function W(e, t, n) {
|
|
323
323
|
if (!e || e.isAlwaysWorking || e.weekMinutes === 0 && e.byDate.size === 0) return t;
|
|
324
|
-
let r = k(t), i =
|
|
325
|
-
for (let a = 0; a <
|
|
326
|
-
let a =
|
|
324
|
+
let r = k(t), i = H(t);
|
|
325
|
+
for (let a = 0; a < ge; a++) {
|
|
326
|
+
let a = V(e, r);
|
|
327
327
|
if (n === 1) {
|
|
328
|
-
let e =
|
|
329
|
-
if (e !== null) return e === i && r === k(t) ? t :
|
|
328
|
+
let e = U(a, i);
|
|
329
|
+
if (e !== null) return e === i && r === k(t) ? t : _e(r, e);
|
|
330
330
|
r += 1, i = 0;
|
|
331
331
|
continue;
|
|
332
332
|
}
|
|
333
|
-
let o =
|
|
334
|
-
if (o !== null) return o === i && r === k(t) ? t :
|
|
335
|
-
--r, i =
|
|
333
|
+
let o = xe(a, i);
|
|
334
|
+
if (o !== null) return o === i && r === k(t) ? t : _e(r, o);
|
|
335
|
+
--r, i = I;
|
|
336
336
|
}
|
|
337
337
|
return t;
|
|
338
338
|
}
|
|
339
|
-
function
|
|
340
|
-
if (!e || e.isAlwaysWorking ||
|
|
341
|
-
let n =
|
|
339
|
+
function Ce(e, t) {
|
|
340
|
+
if (!e || e.isAlwaysWorking || Se(e, t)) return t;
|
|
341
|
+
let n = W(e, t, 1), r = W(e, t, -1);
|
|
342
342
|
return n.getTime() - t.getTime() <= t.getTime() - r.getTime() ? n : r;
|
|
343
343
|
}
|
|
344
|
-
function
|
|
345
|
-
let r = k(t), i =
|
|
346
|
-
for (let t = 0; t <
|
|
347
|
-
let t =
|
|
348
|
-
if (a <= o) return
|
|
344
|
+
function we(e, t, n) {
|
|
345
|
+
let r = k(t), i = H(t), a = n;
|
|
346
|
+
for (let t = 0; t < ge; t++) {
|
|
347
|
+
let t = V(e, r), n = ve(t, i), o = t.totalMinutes - n;
|
|
348
|
+
if (a <= o) return _e(r, ye(t, n + a));
|
|
349
349
|
if (a -= o, r += 1, i = 0, e.weekMinutes > 0 && a > e.weekMinutes) {
|
|
350
|
-
let t =
|
|
350
|
+
let t = de(e, r), n = t === Infinity ? Infinity : Math.floor((t - r) / 7), i = Math.ceil(a / e.weekMinutes) - 1, o = Math.min(n, i);
|
|
351
351
|
o > 0 && Number.isFinite(o) && (r += o * 7, a -= o * e.weekMinutes);
|
|
352
352
|
}
|
|
353
353
|
}
|
|
354
|
-
return
|
|
354
|
+
return _e(r, i);
|
|
355
355
|
}
|
|
356
|
-
function
|
|
357
|
-
let r = k(t), i =
|
|
358
|
-
for (let t = 0; t <
|
|
359
|
-
let t =
|
|
360
|
-
if (a <= n) return
|
|
361
|
-
if (a -= n, --r, i =
|
|
362
|
-
let t =
|
|
356
|
+
function Te(e, t, n) {
|
|
357
|
+
let r = k(t), i = H(t), a = n;
|
|
358
|
+
for (let t = 0; t < ge; t++) {
|
|
359
|
+
let t = V(e, r), n = ve(t, i);
|
|
360
|
+
if (a <= n) return _e(r, be(t, n - a));
|
|
361
|
+
if (a -= n, --r, i = I, e.weekMinutes > 0 && a > e.weekMinutes) {
|
|
362
|
+
let t = fe(e, r), n = t === -Infinity ? Infinity : Math.floor((r - t) / 7), i = Math.ceil(a / e.weekMinutes) - 1, o = Math.min(n, i);
|
|
363
363
|
o > 0 && Number.isFinite(o) && (r -= o * 7, a -= o * e.weekMinutes);
|
|
364
364
|
}
|
|
365
365
|
}
|
|
366
|
-
return
|
|
366
|
+
return _e(r, i);
|
|
367
367
|
}
|
|
368
|
-
function
|
|
368
|
+
function G(e, t, n, r) {
|
|
369
369
|
if (!e) return new Date(t.getTime() + n);
|
|
370
|
-
let i =
|
|
371
|
-
return n === 0 || e.weekMinutes === 0 && e.byDate.size === 0 ? i : n > 0 ?
|
|
370
|
+
let i = W(e, t, r ?? (n < 0 ? -1 : 1));
|
|
371
|
+
return n === 0 || e.weekMinutes === 0 && e.byDate.size === 0 ? i : n > 0 ? we(e, i, n / L) : Te(e, i, -n / L);
|
|
372
372
|
}
|
|
373
|
-
function
|
|
373
|
+
function K(e, t, n) {
|
|
374
374
|
if (!e) return n.getTime() - t.getTime();
|
|
375
|
-
if (n.getTime() < t.getTime()) return -
|
|
376
|
-
let r = k(n), i = k(t), a =
|
|
375
|
+
if (n.getTime() < t.getTime()) return -K(e, n, t);
|
|
376
|
+
let r = k(n), i = k(t), a = H(t), o = 0;
|
|
377
377
|
for (; i < r;) {
|
|
378
378
|
if (a === 0 && e.weekMinutes > 0) {
|
|
379
|
-
let t =
|
|
379
|
+
let t = de(e, i), n = Math.floor((Math.min(r, t) - i) / 7);
|
|
380
380
|
if (n > 0) {
|
|
381
381
|
o += n * e.weekMinutes, i += n * 7;
|
|
382
382
|
continue;
|
|
383
383
|
}
|
|
384
384
|
}
|
|
385
|
-
let t =
|
|
386
|
-
o += t.totalMinutes -
|
|
385
|
+
let t = V(e, i);
|
|
386
|
+
o += t.totalMinutes - ve(t, a), i += 1, a = 0;
|
|
387
387
|
}
|
|
388
|
-
let s =
|
|
389
|
-
return o +=
|
|
388
|
+
let s = V(e, i);
|
|
389
|
+
return o += ve(s, H(n)) - ve(s, a), o * L;
|
|
390
390
|
}
|
|
391
391
|
var Ee = { isNonWorking: !1 };
|
|
392
392
|
function De(e, t, n) {
|
|
@@ -397,12 +397,12 @@ function De(e, t, n) {
|
|
|
397
397
|
reason: "weekend"
|
|
398
398
|
} : Ee;
|
|
399
399
|
}
|
|
400
|
-
if (
|
|
400
|
+
if (K(e, t, n) > 0) return Ee;
|
|
401
401
|
let r = k(t);
|
|
402
402
|
return e.byDate.has(r) ? {
|
|
403
403
|
isNonWorking: !0,
|
|
404
404
|
reason: "holiday"
|
|
405
|
-
} :
|
|
405
|
+
} : V(e, r).totalMinutes === 0 ? {
|
|
406
406
|
isNonWorking: !0,
|
|
407
407
|
reason: "weekend"
|
|
408
408
|
} : {
|
|
@@ -411,10 +411,10 @@ function De(e, t, n) {
|
|
|
411
411
|
};
|
|
412
412
|
}
|
|
413
413
|
function Oe(e, t) {
|
|
414
|
-
return t === "minute" ?
|
|
414
|
+
return t === "minute" ? L : t === "hour" ? me : !e || e.msPerWorkingDay === 0 ? he : e.msPerWorkingDay;
|
|
415
415
|
}
|
|
416
416
|
function ke(e, t, n, r, i) {
|
|
417
|
-
return
|
|
417
|
+
return G(e, t, n * Oe(e, r), i);
|
|
418
418
|
}
|
|
419
419
|
//#endregion
|
|
420
420
|
//#region src/core/taskDates.ts
|
|
@@ -437,7 +437,7 @@ function Pe(e, t) {
|
|
|
437
437
|
if (!(n.getTime() <= e.startDate.getTime())) return Me(e.startDate, n);
|
|
438
438
|
}
|
|
439
439
|
function Fe(e, t) {
|
|
440
|
-
return
|
|
440
|
+
return K(t.calendar, e.startDate, je(e, t)) / Oe(t.calendar, t.durationUnit);
|
|
441
441
|
}
|
|
442
442
|
//#endregion
|
|
443
443
|
//#region src/core/labels.ts
|
|
@@ -635,15 +635,15 @@ function tt(e, t) {
|
|
|
635
635
|
}
|
|
636
636
|
function nt(e, t) {
|
|
637
637
|
let { start: n, end: r } = tt(e, t);
|
|
638
|
-
return
|
|
638
|
+
return K(t.calendar, n, r);
|
|
639
639
|
}
|
|
640
640
|
function rt(e, t, n, r, i) {
|
|
641
641
|
let a = i.calendar;
|
|
642
642
|
switch (t) {
|
|
643
|
-
case "FS": return
|
|
644
|
-
case "SS": return
|
|
645
|
-
case "FF": return
|
|
646
|
-
case "SF": return
|
|
643
|
+
case "FS": return G(a, e.end, n, 1);
|
|
644
|
+
case "SS": return G(a, e.start, n, 1);
|
|
645
|
+
case "FF": return G(a, G(a, e.end, n, -1), -r, -1);
|
|
646
|
+
case "SF": return G(a, G(a, e.start, n, -1), -r, -1);
|
|
647
647
|
}
|
|
648
648
|
}
|
|
649
649
|
function it(e) {
|
|
@@ -680,7 +680,7 @@ function ot(e, t, n, r) {
|
|
|
680
680
|
let t = rt(tt(e, r), s.type, (s.lag ?? 0) * a, i, r);
|
|
681
681
|
(o === null || t > o) && (o = t);
|
|
682
682
|
}
|
|
683
|
-
return o === null ? null :
|
|
683
|
+
return o === null ? null : W(r.calendar, o, 1);
|
|
684
684
|
}
|
|
685
685
|
function st(e, t, n) {
|
|
686
686
|
return e.type === "milestone" ? {
|
|
@@ -690,34 +690,34 @@ function st(e, t, n) {
|
|
|
690
690
|
} : {
|
|
691
691
|
...e,
|
|
692
692
|
startDate: t,
|
|
693
|
-
endDate:
|
|
693
|
+
endDate: G(n.calendar, t, nt(e, n), 1)
|
|
694
694
|
};
|
|
695
695
|
}
|
|
696
696
|
function ct(e, t, n) {
|
|
697
697
|
let r = n.calendar, i = n.snapToWorking, a = tt(e, n);
|
|
698
698
|
if (e.type === "milestone") {
|
|
699
|
-
let e = t.kind === "resizeEnd" ? t.endDate : t.startDate, n = i ?
|
|
699
|
+
let e = t.kind === "resizeEnd" ? t.endDate : t.startDate, n = i ? Ce(r, e) : e;
|
|
700
700
|
return {
|
|
701
701
|
startDate: n,
|
|
702
702
|
endDate: n
|
|
703
703
|
};
|
|
704
704
|
}
|
|
705
705
|
if (t.kind === "move") {
|
|
706
|
-
let e =
|
|
706
|
+
let e = K(r, a.start, a.end), n = i ? W(r, t.startDate, 1) : t.startDate;
|
|
707
707
|
return {
|
|
708
708
|
startDate: n,
|
|
709
|
-
endDate:
|
|
709
|
+
endDate: G(r, n, e, 1)
|
|
710
710
|
};
|
|
711
711
|
}
|
|
712
|
-
let o = t.kind === "resizeStart" ? t.startDate : a.start, s = t.kind === "resizeEnd" ? t.endDate : a.end, c = i ?
|
|
713
|
-
if (
|
|
712
|
+
let o = t.kind === "resizeStart" ? t.startDate : a.start, s = t.kind === "resizeEnd" ? t.endDate : a.end, c = i ? W(r, o, 1) : o, l = i ? W(r, s, -1) : s;
|
|
713
|
+
if (K(r, c, l) <= 0) {
|
|
714
714
|
let e = Oe(r, n.durationUnit);
|
|
715
715
|
return t.kind === "resizeStart" ? {
|
|
716
|
-
startDate:
|
|
716
|
+
startDate: G(r, l, -e, -1),
|
|
717
717
|
endDate: l
|
|
718
718
|
} : {
|
|
719
719
|
startDate: c,
|
|
720
|
-
endDate:
|
|
720
|
+
endDate: G(r, c, e, 1)
|
|
721
721
|
};
|
|
722
722
|
}
|
|
723
723
|
return {
|
|
@@ -749,37 +749,107 @@ function lt(e, t, n, r = Ae) {
|
|
|
749
749
|
return o;
|
|
750
750
|
}
|
|
751
751
|
//#endregion
|
|
752
|
-
//#region src/
|
|
752
|
+
//#region src/core/criticalPath.ts
|
|
753
753
|
var ut = {
|
|
754
|
+
criticalTaskIds: /* @__PURE__ */ new Set(),
|
|
755
|
+
criticalDependencyKeys: /* @__PURE__ */ new Set()
|
|
756
|
+
};
|
|
757
|
+
function dt(e, t, n, r, i, a) {
|
|
758
|
+
let o = a.calendar;
|
|
759
|
+
switch (t) {
|
|
760
|
+
case "FS": return G(o, e, -n, 1);
|
|
761
|
+
case "SS": return G(o, G(o, e, -n, 1), i, 1);
|
|
762
|
+
case "FF": return G(o, G(o, e, r, -1), -n, -1);
|
|
763
|
+
case "SF": return G(o, G(o, G(o, e, r, -1), -n, -1), i, 1);
|
|
764
|
+
}
|
|
765
|
+
}
|
|
766
|
+
function ft(e, t, n) {
|
|
767
|
+
if (e.size === 0) return ut;
|
|
768
|
+
let { successorsOf: r, predecessorDeps: i } = t, a = Oe(n.calendar, n.durationUnit), o = null;
|
|
769
|
+
for (let t of e.values()) {
|
|
770
|
+
let e = tt(t, n).end;
|
|
771
|
+
(o === null || e.getTime() > o.getTime()) && (o = e);
|
|
772
|
+
}
|
|
773
|
+
if (o === null) return ut;
|
|
774
|
+
let s = /* @__PURE__ */ new Map(), c = /* @__PURE__ */ new Map(), l = new et();
|
|
775
|
+
for (let t of e.values()) {
|
|
776
|
+
let e = (r.get(t.id) ?? []).length;
|
|
777
|
+
c.set(t.id, e), e === 0 && l.enqueue(t.id);
|
|
778
|
+
}
|
|
779
|
+
let u = (t.size + 1) * (e.size + 1), d = 0;
|
|
780
|
+
for (; !l.isEmpty() && !(d++ > u);) {
|
|
781
|
+
let t = l.dequeue(), u = e.get(t);
|
|
782
|
+
if (!u || s.has(t)) continue;
|
|
783
|
+
let d = r.get(t) ?? [], f = o;
|
|
784
|
+
for (let r of d) {
|
|
785
|
+
let o = e.get(r), c = s.get(r);
|
|
786
|
+
if (!(!o || !c)) for (let e of i.get(r) ?? []) {
|
|
787
|
+
if (e.from !== t) continue;
|
|
788
|
+
let r = dt(c, e.type, (e.lag ?? 0) * a, nt(o, n), nt(u, n), n);
|
|
789
|
+
r.getTime() < f.getTime() && (f = r);
|
|
790
|
+
}
|
|
791
|
+
}
|
|
792
|
+
s.set(t, G(n.calendar, f, -nt(u, n), -1));
|
|
793
|
+
for (let e of i.get(t) ?? []) {
|
|
794
|
+
let t = (c.get(e.from) ?? 0) - 1;
|
|
795
|
+
c.set(e.from, t), t === 0 && l.enqueue(e.from);
|
|
796
|
+
}
|
|
797
|
+
}
|
|
798
|
+
let f = /* @__PURE__ */ new Set();
|
|
799
|
+
for (let t of e.values()) {
|
|
800
|
+
let e = s.get(t.id);
|
|
801
|
+
e && K(n.calendar, t.startDate, e) <= 0 && f.add(t.id);
|
|
802
|
+
}
|
|
803
|
+
let p = /* @__PURE__ */ new Set();
|
|
804
|
+
for (let t of e.values()) if (f.has(t.id)) for (let r of i.get(t.id) ?? []) {
|
|
805
|
+
let i = e.get(r.from);
|
|
806
|
+
!i || !f.has(r.from) || rt(tt(i, n), r.type, (r.lag ?? 0) * a, nt(t, n), n).getTime() === t.startDate.getTime() && p.add(`${r.from}->${r.to}`);
|
|
807
|
+
}
|
|
808
|
+
return {
|
|
809
|
+
criticalTaskIds: f,
|
|
810
|
+
criticalDependencyKeys: p
|
|
811
|
+
};
|
|
812
|
+
}
|
|
813
|
+
//#endregion
|
|
814
|
+
//#region src/hooks/useTaskList.ts
|
|
815
|
+
var pt = {
|
|
816
|
+
criticalTaskIds: /* @__PURE__ */ new Set(),
|
|
817
|
+
criticalDependencyKeys: /* @__PURE__ */ new Set()
|
|
818
|
+
}, mt = {
|
|
754
819
|
transactions: [],
|
|
755
820
|
cursor: 0
|
|
756
|
-
},
|
|
757
|
-
function
|
|
821
|
+
}, ht = [];
|
|
822
|
+
function gt(e) {
|
|
758
823
|
a(e);
|
|
759
824
|
}
|
|
760
|
-
function
|
|
825
|
+
function _t(e, t) {
|
|
761
826
|
let n = e.transactions.slice(0, e.cursor);
|
|
762
827
|
return {
|
|
763
828
|
transactions: [...n, t],
|
|
764
829
|
cursor: n.length + 1
|
|
765
830
|
};
|
|
766
831
|
}
|
|
767
|
-
function
|
|
832
|
+
function vt(e, t) {
|
|
768
833
|
return e instanceof Date && t instanceof Date ? e.getTime() === t.getTime() : Object.is(e, t);
|
|
769
834
|
}
|
|
770
|
-
function
|
|
835
|
+
function yt(e, t) {
|
|
771
836
|
let n = new Set([...Object.keys(e), ...Object.keys(t)]);
|
|
772
|
-
for (let r of n) if (!
|
|
837
|
+
for (let r of n) if (!vt(e[r], t[r])) return !1;
|
|
773
838
|
return !0;
|
|
774
839
|
}
|
|
775
|
-
var
|
|
840
|
+
var bt = (e, t = ht, n = {}, r = Ae) => {
|
|
776
841
|
let i = p(n);
|
|
777
842
|
i.current = n;
|
|
778
843
|
let a = p(r);
|
|
779
844
|
a.current = r;
|
|
780
|
-
let [s, c] = m(
|
|
845
|
+
let [s, c] = m(mt), u = f(() => it(t), [t]), d = p(null), h = f(() => (d.current ??= Je(), Ye(d.current, e, s)), [e, s]), _ = p(h);
|
|
781
846
|
_.current = h;
|
|
782
|
-
let v = f(() => He(h, r), [h, r]), y =
|
|
847
|
+
let v = f(() => He(h, r), [h, r]), y = n.highlightCriticalPath ?? !1, b = f(() => y ? ft(h, u, r) : pt, [
|
|
848
|
+
y,
|
|
849
|
+
h,
|
|
850
|
+
u,
|
|
851
|
+
r
|
|
852
|
+
]), x = o((e, t) => {
|
|
783
853
|
let n = _.current.get(e);
|
|
784
854
|
if (!n) return;
|
|
785
855
|
let { startDate: r, endDate: i } = ct(n, t, a.current), o = {
|
|
@@ -787,7 +857,7 @@ var gt = (e, t = dt, n = {}, r = Ae) => {
|
|
|
787
857
|
startDate: r,
|
|
788
858
|
endDate: i
|
|
789
859
|
};
|
|
790
|
-
if (
|
|
860
|
+
if (yt(o, n)) return;
|
|
791
861
|
let s = [{
|
|
792
862
|
type: "update",
|
|
793
863
|
task: o
|
|
@@ -801,12 +871,12 @@ var gt = (e, t = dt, n = {}, r = Ae) => {
|
|
|
801
871
|
task: e
|
|
802
872
|
});
|
|
803
873
|
}
|
|
804
|
-
|
|
805
|
-
}, [u]),
|
|
874
|
+
gt(() => c((e) => _t(e, s)));
|
|
875
|
+
}, [u]), S = o((e, t) => {
|
|
806
876
|
let n = _.current.get(e);
|
|
807
877
|
if (!n) return;
|
|
808
878
|
let r = { ...n };
|
|
809
|
-
if (t.name !== void 0 && (r.name = t.name), t.startDate && (r.startDate = t.startDate), t.endDate && (r.endDate = t.endDate), t.progress !== void 0 && (r.progress = t.progress),
|
|
879
|
+
if (t.name !== void 0 && (r.name = t.name), t.startDate && (r.startDate = t.startDate), t.endDate && (r.endDate = t.endDate), t.progress !== void 0 && (r.progress = t.progress), yt(r, n)) return;
|
|
810
880
|
let i = [{
|
|
811
881
|
type: "update",
|
|
812
882
|
task: r
|
|
@@ -820,45 +890,46 @@ var gt = (e, t = dt, n = {}, r = Ae) => {
|
|
|
820
890
|
task: e
|
|
821
891
|
});
|
|
822
892
|
}
|
|
823
|
-
|
|
824
|
-
}, [u]),
|
|
893
|
+
gt(() => c((e) => _t(e, i)));
|
|
894
|
+
}, [u]), C = o((e, t) => {
|
|
825
895
|
g(() => {
|
|
826
|
-
c((n) =>
|
|
896
|
+
c((n) => _t(n, [{
|
|
827
897
|
type: "create",
|
|
828
898
|
task: e,
|
|
829
899
|
afterId: t
|
|
830
900
|
}]));
|
|
831
901
|
}), i.current.onTaskCreate?.(e, t);
|
|
832
|
-
}, []),
|
|
833
|
-
|
|
902
|
+
}, []), w = o((e) => {
|
|
903
|
+
gt(() => c((t) => _t(t, [{
|
|
834
904
|
type: "delete",
|
|
835
905
|
id: e
|
|
836
906
|
}]))), i.current.onTaskDelete?.(e);
|
|
837
|
-
}, []),
|
|
838
|
-
|
|
907
|
+
}, []), T = o(() => {
|
|
908
|
+
gt(() => c((e) => e.cursor > 0 ? {
|
|
839
909
|
...e,
|
|
840
910
|
cursor: e.cursor - 1
|
|
841
911
|
} : e));
|
|
842
|
-
}, []),
|
|
843
|
-
|
|
912
|
+
}, []), E = o(() => {
|
|
913
|
+
gt(() => c((e) => e.cursor < e.transactions.length ? {
|
|
844
914
|
...e,
|
|
845
915
|
cursor: e.cursor + 1
|
|
846
916
|
} : e));
|
|
847
|
-
}, []),
|
|
848
|
-
|
|
849
|
-
let
|
|
917
|
+
}, []), D = s.cursor > 0, O = s.cursor < s.transactions.length, k = p(v);
|
|
918
|
+
k.current = v;
|
|
919
|
+
let A = p(s);
|
|
850
920
|
return l(() => {
|
|
851
|
-
|
|
921
|
+
A.current !== s && (A.current = s, i.current.onTasksChange?.(k.current));
|
|
852
922
|
}, [s]), {
|
|
853
923
|
tasksList: v,
|
|
854
|
-
|
|
855
|
-
|
|
856
|
-
|
|
857
|
-
|
|
858
|
-
|
|
859
|
-
|
|
860
|
-
|
|
861
|
-
|
|
924
|
+
criticalPath: b,
|
|
925
|
+
updateTask: S,
|
|
926
|
+
commitTask: x,
|
|
927
|
+
createTask: C,
|
|
928
|
+
deleteTask: w,
|
|
929
|
+
undo: T,
|
|
930
|
+
redo: E,
|
|
931
|
+
canUndo: D,
|
|
932
|
+
canRedo: O
|
|
862
933
|
};
|
|
863
934
|
};
|
|
864
935
|
//#endregion
|
|
@@ -869,7 +940,7 @@ function q(e) {
|
|
|
869
940
|
}
|
|
870
941
|
//#endregion
|
|
871
942
|
//#region src/hooks/useExpand.ts
|
|
872
|
-
function
|
|
943
|
+
function xt(e) {
|
|
873
944
|
let t = f(() => {
|
|
874
945
|
let t = /* @__PURE__ */ new Set();
|
|
875
946
|
for (let n of e) n.parentId != null && t.add(n.parentId);
|
|
@@ -914,13 +985,13 @@ function _t(e) {
|
|
|
914
985
|
}
|
|
915
986
|
//#endregion
|
|
916
987
|
//#region src/hooks/useIsomorphicLayoutEffect.ts
|
|
917
|
-
var
|
|
988
|
+
var St = typeof window < "u" ? d : l, Ct = {
|
|
918
989
|
scrollTop: 0,
|
|
919
990
|
scrollLeft: 0,
|
|
920
991
|
clientWidth: 0,
|
|
921
992
|
clientHeight: 0
|
|
922
993
|
};
|
|
923
|
-
function
|
|
994
|
+
function wt(e) {
|
|
924
995
|
return {
|
|
925
996
|
scrollTop: e.scrollTop,
|
|
926
997
|
scrollLeft: e.scrollLeft,
|
|
@@ -928,24 +999,24 @@ function bt(e) {
|
|
|
928
999
|
clientHeight: e.clientHeight
|
|
929
1000
|
};
|
|
930
1001
|
}
|
|
931
|
-
function
|
|
1002
|
+
function Tt(e, t, n) {
|
|
932
1003
|
return e.scrollTop !== t.scrollTop || e.clientHeight !== t.clientHeight ? !1 : n ? e.scrollLeft === t.scrollLeft && e.clientWidth === t.clientWidth : !0;
|
|
933
1004
|
}
|
|
934
|
-
function
|
|
935
|
-
let n = p(null), r = q(t), [i, a] = m(
|
|
1005
|
+
function Et(e, { trackHorizontal: t = !0 } = {}) {
|
|
1006
|
+
let n = p(null), r = q(t), [i, a] = m(Ct), s = o(() => {
|
|
936
1007
|
n.current === null && (n.current = requestAnimationFrame(() => {
|
|
937
1008
|
n.current = null;
|
|
938
1009
|
let t = e.current;
|
|
939
1010
|
if (!t) return;
|
|
940
|
-
let i =
|
|
941
|
-
a((e) =>
|
|
1011
|
+
let i = wt(t);
|
|
1012
|
+
a((e) => Tt(e, i, r.current) ? e : i);
|
|
942
1013
|
}));
|
|
943
1014
|
}, [e, r]);
|
|
944
|
-
return
|
|
1015
|
+
return St(() => {
|
|
945
1016
|
let t = e.current;
|
|
946
1017
|
t && a((e) => {
|
|
947
|
-
let n =
|
|
948
|
-
return
|
|
1018
|
+
let n = wt(t);
|
|
1019
|
+
return Tt(e, n, r.current) ? e : n;
|
|
949
1020
|
});
|
|
950
1021
|
}, [e]), l(() => {
|
|
951
1022
|
let t = e.current;
|
|
@@ -961,8 +1032,8 @@ function St(e, { trackHorizontal: t = !0 } = {}) {
|
|
|
961
1032
|
}
|
|
962
1033
|
//#endregion
|
|
963
1034
|
//#region src/hooks/useScrollSync.ts
|
|
964
|
-
function
|
|
965
|
-
let e = p(null), t = p(null), n = p(!1), { viewport: r, scheduleMeasure: i } =
|
|
1035
|
+
function Dt() {
|
|
1036
|
+
let e = p(null), t = p(null), n = p(!1), { viewport: r, scheduleMeasure: i } = Et(t);
|
|
966
1037
|
return {
|
|
967
1038
|
taskListRef: e,
|
|
968
1039
|
gridRef: t,
|
|
@@ -977,7 +1048,7 @@ function Ct() {
|
|
|
977
1048
|
}
|
|
978
1049
|
//#endregion
|
|
979
1050
|
//#region src/hooks/useEventCallback.ts
|
|
980
|
-
function
|
|
1051
|
+
function Ot(e) {
|
|
981
1052
|
let t = p(e);
|
|
982
1053
|
t.current = e;
|
|
983
1054
|
let n = o((...e) => t.current?.(...e), []);
|
|
@@ -985,26 +1056,26 @@ function wt(e) {
|
|
|
985
1056
|
}
|
|
986
1057
|
//#endregion
|
|
987
1058
|
//#region src/core/scroll.ts
|
|
988
|
-
function
|
|
1059
|
+
function kt(e, t, n, r, i = 0) {
|
|
989
1060
|
let a = n + r;
|
|
990
1061
|
return e - i < n ? Math.max(0, e - i) : e + t + i > a ? e + t + i - r : n;
|
|
991
1062
|
}
|
|
992
1063
|
//#endregion
|
|
993
1064
|
//#region src/core/barUtils.ts
|
|
994
|
-
function
|
|
995
|
-
let a = t.startDate ?? e.startDate, o = t.endDate ?? e.endDate ?? a, s =
|
|
1065
|
+
function At(e, t = {}, n, r, i = "day") {
|
|
1066
|
+
let a = t.startDate ?? e.startDate, o = t.endDate ?? e.endDate ?? a, s = ee(n, a, i), c = ee(n, o, i);
|
|
996
1067
|
return {
|
|
997
1068
|
left: s * r,
|
|
998
1069
|
width: (c - s) * r,
|
|
999
1070
|
progress: t.progress ?? e.progress ?? 0
|
|
1000
1071
|
};
|
|
1001
1072
|
}
|
|
1002
|
-
function
|
|
1003
|
-
return
|
|
1073
|
+
function jt(e, t, n, r = "day") {
|
|
1074
|
+
return te(t, r, e / n);
|
|
1004
1075
|
}
|
|
1005
1076
|
//#endregion
|
|
1006
1077
|
//#region src/core/scales.ts
|
|
1007
|
-
var
|
|
1078
|
+
var Mt = [{
|
|
1008
1079
|
unit: "month",
|
|
1009
1080
|
step: 1,
|
|
1010
1081
|
format: (e) => e.toLocaleString(void 0, {
|
|
@@ -1016,39 +1087,39 @@ var Ot = [{
|
|
|
1016
1087
|
step: 1,
|
|
1017
1088
|
format: (e) => String(e.getDate())
|
|
1018
1089
|
}];
|
|
1019
|
-
function
|
|
1020
|
-
return (e ??
|
|
1090
|
+
function Nt(e) {
|
|
1091
|
+
return (e ?? Mt).at(-1)?.unit ?? "day";
|
|
1021
1092
|
}
|
|
1022
|
-
function
|
|
1023
|
-
return (e ??
|
|
1093
|
+
function Pt(e) {
|
|
1094
|
+
return (e ?? Mt).at(-1)?.step ?? 1;
|
|
1024
1095
|
}
|
|
1025
1096
|
//#endregion
|
|
1026
1097
|
//#region src/core/timeline.ts
|
|
1027
|
-
function
|
|
1028
|
-
let r =
|
|
1029
|
-
return r ?
|
|
1098
|
+
function Ft(e, t, n) {
|
|
1099
|
+
let r = F(e);
|
|
1100
|
+
return r ? It(r.min, Nt(t), n, Pt(t)) : null;
|
|
1030
1101
|
}
|
|
1031
|
-
function
|
|
1102
|
+
function It(e, t, n, r) {
|
|
1032
1103
|
return M(N(M(e, t), t, -n * r), t);
|
|
1033
1104
|
}
|
|
1034
|
-
function
|
|
1035
|
-
let r =
|
|
1105
|
+
function Lt(e, t = 0, n) {
|
|
1106
|
+
let r = F(e);
|
|
1036
1107
|
if (!r) return [];
|
|
1037
|
-
let i =
|
|
1038
|
-
return
|
|
1108
|
+
let i = Nt(n), a = Pt(n), o = It(r.min, i, t, a), s = N(M(r.max, i), i, t * a);
|
|
1109
|
+
return ne(o, Math.round(ee(o, s, i) / a) + 1, i, a);
|
|
1039
1110
|
}
|
|
1040
1111
|
//#endregion
|
|
1041
1112
|
//#region src/hooks/useRevealTask.ts
|
|
1042
|
-
function
|
|
1113
|
+
function Rt({ taskListRef: e, gridRef: t, tasksList: n, visibleTasks: r, rowHeight: i, colWidth: a, scales: s, padDays: c, revealAncestors: l }) {
|
|
1043
1114
|
let u = q(n), f = q(r), m = p(() => {}), h = p(null), g = (n) => {
|
|
1044
1115
|
let r = e.current ?? t.current;
|
|
1045
1116
|
if (!r) return;
|
|
1046
|
-
let a =
|
|
1117
|
+
let a = kt(n * i, i, r.scrollTop, r.clientHeight, i);
|
|
1047
1118
|
a !== r.scrollTop && (r.scrollTop = a);
|
|
1048
1119
|
}, _ = (e) => {
|
|
1049
|
-
let n = t.current, r =
|
|
1120
|
+
let n = t.current, r = Ft(f.current, s, c);
|
|
1050
1121
|
if (!n || !r) return;
|
|
1051
|
-
let { left: i, width: o } =
|
|
1122
|
+
let { left: i, width: o } = At(e, {}, r, a, Nt(s)), l = kt(i, o, n.scrollLeft, n.clientWidth, a);
|
|
1052
1123
|
l !== n.scrollLeft && (n.scrollLeft = l);
|
|
1053
1124
|
};
|
|
1054
1125
|
return m.current = (e, t) => {
|
|
@@ -1069,13 +1140,13 @@ function Pt({ taskListRef: e, gridRef: t, tasksList: n, visibleTasks: r, rowHeig
|
|
|
1069
1140
|
}
|
|
1070
1141
|
//#endregion
|
|
1071
1142
|
//#region src/hooks/useZoom.ts
|
|
1072
|
-
function
|
|
1143
|
+
function zt({ gridRef: e, visibleTasks: t, padDays: n, levels: r, initialIndex: i }) {
|
|
1073
1144
|
let a = o((e) => Math.max(0, Math.min(r.length - 1, e)), [r.length]), [s, c] = m(() => a(i)), l = q(s), u = q(t), f = q(n), h = q(r), g = p(null), _ = o((t, n) => {
|
|
1074
1145
|
let r = l.current, i = a(r + n);
|
|
1075
1146
|
if (i === r) return;
|
|
1076
|
-
let o = e.current, s = h.current[r], d =
|
|
1147
|
+
let o = e.current, s = h.current[r], d = Ft(u.current, s.scales, f.current);
|
|
1077
1148
|
o && d ? g.current = {
|
|
1078
|
-
date:
|
|
1149
|
+
date: te(d, Nt(s.scales), t / s.colWidth),
|
|
1079
1150
|
viewportOffset: t - o.scrollLeft
|
|
1080
1151
|
} : g.current = null, c(i);
|
|
1081
1152
|
}, [
|
|
@@ -1098,9 +1169,9 @@ function Ft({ gridRef: e, visibleTasks: t, padDays: n, levels: r, initialIndex:
|
|
|
1098
1169
|
let t = g.current;
|
|
1099
1170
|
if (t === null) return;
|
|
1100
1171
|
g.current = null;
|
|
1101
|
-
let n = e.current, r = h.current[s], i =
|
|
1172
|
+
let n = e.current, r = h.current[s], i = Ft(u.current, r.scales, f.current);
|
|
1102
1173
|
if (!n || !i) return;
|
|
1103
|
-
let a =
|
|
1174
|
+
let a = Nt(r.scales), o = ee(i, t.date, a) * r.colWidth;
|
|
1104
1175
|
n.scrollLeft = Math.max(0, o - t.viewportOffset);
|
|
1105
1176
|
}, [s]), {
|
|
1106
1177
|
index: s,
|
|
@@ -1116,23 +1187,23 @@ function Ft({ gridRef: e, visibleTasks: t, padDays: n, levels: r, initialIndex:
|
|
|
1116
1187
|
}
|
|
1117
1188
|
//#endregion
|
|
1118
1189
|
//#region src/core/zoom.ts
|
|
1119
|
-
var
|
|
1190
|
+
var Bt = (e) => String(e).padStart(2, "0"), Vt = (e) => String(e.getFullYear()), Ht = (e) => `Q${Math.floor(e.getMonth() / 3) + 1}`, Ut = (e) => e.toLocaleString(void 0, {
|
|
1120
1191
|
month: "long",
|
|
1121
1192
|
year: "numeric"
|
|
1122
|
-
}),
|
|
1193
|
+
}), Wt = (e) => e.toLocaleString(void 0, { month: "short" }), Gt = (e) => String(e.getDate()), Kt = (e) => e.toLocaleString(void 0, {
|
|
1123
1194
|
weekday: "short",
|
|
1124
1195
|
day: "numeric"
|
|
1125
|
-
}),
|
|
1196
|
+
}), qt = [
|
|
1126
1197
|
{
|
|
1127
1198
|
colWidth: 56,
|
|
1128
1199
|
scales: [{
|
|
1129
1200
|
unit: "year",
|
|
1130
1201
|
step: 1,
|
|
1131
|
-
format:
|
|
1202
|
+
format: Vt
|
|
1132
1203
|
}, {
|
|
1133
1204
|
unit: "quarter",
|
|
1134
1205
|
step: 1,
|
|
1135
|
-
format:
|
|
1206
|
+
format: Ht
|
|
1136
1207
|
}]
|
|
1137
1208
|
},
|
|
1138
1209
|
{
|
|
@@ -1140,11 +1211,11 @@ var It = (e) => String(e).padStart(2, "0"), Lt = (e) => String(e.getFullYear()),
|
|
|
1140
1211
|
scales: [{
|
|
1141
1212
|
unit: "year",
|
|
1142
1213
|
step: 1,
|
|
1143
|
-
format:
|
|
1214
|
+
format: Vt
|
|
1144
1215
|
}, {
|
|
1145
1216
|
unit: "month",
|
|
1146
1217
|
step: 1,
|
|
1147
|
-
format:
|
|
1218
|
+
format: Wt
|
|
1148
1219
|
}]
|
|
1149
1220
|
},
|
|
1150
1221
|
{
|
|
@@ -1152,11 +1223,11 @@ var It = (e) => String(e).padStart(2, "0"), Lt = (e) => String(e.getFullYear()),
|
|
|
1152
1223
|
scales: [{
|
|
1153
1224
|
unit: "month",
|
|
1154
1225
|
step: 1,
|
|
1155
|
-
format:
|
|
1226
|
+
format: Ut
|
|
1156
1227
|
}, {
|
|
1157
1228
|
unit: "week",
|
|
1158
1229
|
step: 1,
|
|
1159
|
-
format:
|
|
1230
|
+
format: Kt
|
|
1160
1231
|
}]
|
|
1161
1232
|
},
|
|
1162
1233
|
{
|
|
@@ -1164,11 +1235,11 @@ var It = (e) => String(e).padStart(2, "0"), Lt = (e) => String(e.getFullYear()),
|
|
|
1164
1235
|
scales: [{
|
|
1165
1236
|
unit: "month",
|
|
1166
1237
|
step: 1,
|
|
1167
|
-
format:
|
|
1238
|
+
format: Ut
|
|
1168
1239
|
}, {
|
|
1169
1240
|
unit: "day",
|
|
1170
1241
|
step: 1,
|
|
1171
|
-
format:
|
|
1242
|
+
format: Gt
|
|
1172
1243
|
}]
|
|
1173
1244
|
},
|
|
1174
1245
|
{
|
|
@@ -1176,23 +1247,23 @@ var It = (e) => String(e).padStart(2, "0"), Lt = (e) => String(e.getFullYear()),
|
|
|
1176
1247
|
scales: [{
|
|
1177
1248
|
unit: "day",
|
|
1178
1249
|
step: 1,
|
|
1179
|
-
format:
|
|
1250
|
+
format: Kt
|
|
1180
1251
|
}, {
|
|
1181
1252
|
unit: "hour",
|
|
1182
1253
|
step: 1,
|
|
1183
|
-
format: (e) => `${
|
|
1254
|
+
format: (e) => `${Bt(e.getHours())}:00`
|
|
1184
1255
|
}]
|
|
1185
1256
|
}
|
|
1186
|
-
],
|
|
1187
|
-
function
|
|
1188
|
-
return e && e.length > 0 ? e : !t && n === void 0 ?
|
|
1257
|
+
], Jt = 3;
|
|
1258
|
+
function Yt(e, t, n) {
|
|
1259
|
+
return e && e.length > 0 ? e : !t && n === void 0 ? qt : qt.map((e, r) => r === 3 ? {
|
|
1189
1260
|
scales: t ?? e.scales,
|
|
1190
1261
|
colWidth: n ?? e.colWidth
|
|
1191
1262
|
} : e);
|
|
1192
1263
|
}
|
|
1193
1264
|
//#endregion
|
|
1194
1265
|
//#region src/hooks/useDependencyDrag.ts
|
|
1195
|
-
var
|
|
1266
|
+
var Xt = {
|
|
1196
1267
|
end: {
|
|
1197
1268
|
start: "FS",
|
|
1198
1269
|
end: "FF"
|
|
@@ -1202,7 +1273,7 @@ var Kt = {
|
|
|
1202
1273
|
end: "SF"
|
|
1203
1274
|
}
|
|
1204
1275
|
};
|
|
1205
|
-
function
|
|
1276
|
+
function Zt({ gridBodyRef: e, onDependencyCreate: t }) {
|
|
1206
1277
|
let n = q(t), [r, i] = m(null), a = q(r), s = p(null), c = p(null), u = p(null), d = o(() => {
|
|
1207
1278
|
s.current &&= (window.removeEventListener("mousemove", s.current.move), window.removeEventListener("mouseup", s.current.up), null), c.current !== null && (cancelAnimationFrame(c.current), c.current = null);
|
|
1208
1279
|
}, []);
|
|
@@ -1236,7 +1307,7 @@ function qt({ gridBodyRef: e, onDependencyCreate: t }) {
|
|
|
1236
1307
|
endDrag: o((e, t) => {
|
|
1237
1308
|
let r = a.current;
|
|
1238
1309
|
if (r && e !== null && t && e !== r.fromTaskId) {
|
|
1239
|
-
let i =
|
|
1310
|
+
let i = Xt[r.handle][t];
|
|
1240
1311
|
n.current?.({
|
|
1241
1312
|
from: r.fromTaskId,
|
|
1242
1313
|
to: e,
|
|
@@ -1253,7 +1324,7 @@ function qt({ gridBodyRef: e, onDependencyCreate: t }) {
|
|
|
1253
1324
|
}
|
|
1254
1325
|
//#endregion
|
|
1255
1326
|
//#region src/context/useGanttHandle.ts
|
|
1256
|
-
function
|
|
1327
|
+
function Qt(e) {
|
|
1257
1328
|
let { createTask: t, updateTask: n, deleteTask: r, undo: i, redo: a, revealTask: o, zoomIn: s, zoomOut: c, setZoom: l } = e;
|
|
1258
1329
|
return f(() => ({
|
|
1259
1330
|
createTask: t,
|
|
@@ -1279,7 +1350,7 @@ function Jt(e) {
|
|
|
1279
1350
|
}
|
|
1280
1351
|
//#endregion
|
|
1281
1352
|
//#region src/context/useColumnApi.ts
|
|
1282
|
-
function
|
|
1353
|
+
function $t({ handle: e, readOnly: t, labels: n, schedulingContext: r, onTaskEditRef: i }) {
|
|
1283
1354
|
return f(() => ({
|
|
1284
1355
|
...e,
|
|
1285
1356
|
editTask: (e) => i.current?.(e),
|
|
@@ -1299,35 +1370,23 @@ function Yt({ handle: e, readOnly: t, labels: n, schedulingContext: r, onTaskEdi
|
|
|
1299
1370
|
}
|
|
1300
1371
|
//#endregion
|
|
1301
1372
|
//#region src/context/contexts.ts
|
|
1302
|
-
var
|
|
1303
|
-
function
|
|
1304
|
-
let e = s(
|
|
1373
|
+
var en = n(null);
|
|
1374
|
+
function tn() {
|
|
1375
|
+
let e = s(en);
|
|
1305
1376
|
if (!e) throw Error("useGanttConfig must be used within a <GanttProvider>");
|
|
1306
1377
|
return e;
|
|
1307
1378
|
}
|
|
1308
|
-
var
|
|
1309
|
-
function $t() {
|
|
1310
|
-
return s(Qt);
|
|
1311
|
-
}
|
|
1312
|
-
var en = n(Ae);
|
|
1313
|
-
function tn() {
|
|
1314
|
-
return s(en);
|
|
1315
|
-
}
|
|
1316
|
-
var nn = n(!1);
|
|
1379
|
+
var nn = n(Ie);
|
|
1317
1380
|
function rn() {
|
|
1318
1381
|
return s(nn);
|
|
1319
1382
|
}
|
|
1320
|
-
var an = n(
|
|
1383
|
+
var an = n(Ae);
|
|
1321
1384
|
function on() {
|
|
1322
|
-
|
|
1323
|
-
if (!e) throw Error("useGanttTaskState must be used within a <GanttProvider>");
|
|
1324
|
-
return e;
|
|
1385
|
+
return s(an);
|
|
1325
1386
|
}
|
|
1326
|
-
var sn = n(
|
|
1387
|
+
var sn = n(!1);
|
|
1327
1388
|
function cn() {
|
|
1328
|
-
|
|
1329
|
-
if (!e) throw Error("useGanttTaskActions must be used within a <GanttProvider>");
|
|
1330
|
-
return e;
|
|
1389
|
+
return s(sn);
|
|
1331
1390
|
}
|
|
1332
1391
|
var ln = n(null);
|
|
1333
1392
|
function un() {
|
|
@@ -1336,213 +1395,233 @@ function un() {
|
|
|
1336
1395
|
var dn = n(null);
|
|
1337
1396
|
function fn() {
|
|
1338
1397
|
let e = s(dn);
|
|
1339
|
-
if (!e) throw Error("
|
|
1398
|
+
if (!e) throw Error("useGanttTaskState must be used within a <GanttProvider>");
|
|
1340
1399
|
return e;
|
|
1341
1400
|
}
|
|
1342
1401
|
var pn = n(null);
|
|
1343
1402
|
function mn() {
|
|
1344
1403
|
let e = s(pn);
|
|
1345
|
-
if (!e) throw Error("
|
|
1404
|
+
if (!e) throw Error("useGanttTaskActions must be used within a <GanttProvider>");
|
|
1346
1405
|
return e;
|
|
1347
1406
|
}
|
|
1348
1407
|
var hn = n(null);
|
|
1349
1408
|
function gn() {
|
|
1350
|
-
|
|
1351
|
-
if (!e) throw Error("useGanttDependency must be used within a <GanttProvider>");
|
|
1352
|
-
return e;
|
|
1409
|
+
return s(hn);
|
|
1353
1410
|
}
|
|
1354
|
-
var _n = n(
|
|
1411
|
+
var _n = n(null);
|
|
1355
1412
|
function vn() {
|
|
1356
|
-
|
|
1413
|
+
let e = s(_n);
|
|
1414
|
+
if (!e) throw Error("useGanttScroll must be used within a <GanttProvider>");
|
|
1415
|
+
return e;
|
|
1357
1416
|
}
|
|
1358
1417
|
var yn = n(null);
|
|
1359
1418
|
function bn() {
|
|
1360
|
-
|
|
1419
|
+
let e = s(yn);
|
|
1420
|
+
if (!e) throw Error("useGanttViewport must be used within a <GanttProvider>");
|
|
1421
|
+
return e;
|
|
1361
1422
|
}
|
|
1362
1423
|
var xn = n(null);
|
|
1363
1424
|
function Sn() {
|
|
1364
1425
|
let e = s(xn);
|
|
1426
|
+
if (!e) throw Error("useGanttDependency must be used within a <GanttProvider>");
|
|
1427
|
+
return e;
|
|
1428
|
+
}
|
|
1429
|
+
var Cn = n(!1);
|
|
1430
|
+
function wn() {
|
|
1431
|
+
return s(Cn);
|
|
1432
|
+
}
|
|
1433
|
+
var Tn = n(null);
|
|
1434
|
+
function En() {
|
|
1435
|
+
return s(Tn);
|
|
1436
|
+
}
|
|
1437
|
+
var Dn = n(null);
|
|
1438
|
+
function On() {
|
|
1439
|
+
let e = s(Dn);
|
|
1365
1440
|
if (!e) throw Error("useGanttZoom must be used within a <GanttProvider>");
|
|
1366
1441
|
return e;
|
|
1367
1442
|
}
|
|
1368
1443
|
//#endregion
|
|
1369
1444
|
//#region src/context/GanttProvider.tsx
|
|
1370
|
-
function
|
|
1371
|
-
let [
|
|
1372
|
-
calendar:
|
|
1445
|
+
function kn({ tasks: e, rowHeight: t = 36, colWidth: n, height: r, scales: i, padDays: a = 1, zoomLevels: s, defaultZoomIndex: c, onZoomChange: d, zoomWheel: h = !1, zoomKeyboard: g = !1, dependencies: _ = ht, onTaskClick: y, onDependencyCreate: b, onDependencyDelete: x, onTaskCreate: S, onTaskDelete: C, onTaskEdit: w, onTasksChange: T, apiRef: E, labels: D, calendar: O, snapToWorking: k = !0, durationUnit: A = "day", readOnly: j = !1, criticalPath: M = !1, children: N }) {
|
|
1446
|
+
let [ee, te] = m(null), ne = f(() => Le(D), [D]), P = pe(O), F = f(() => ({
|
|
1447
|
+
calendar: P,
|
|
1373
1448
|
durationUnit: A,
|
|
1374
1449
|
snapToWorking: k
|
|
1375
1450
|
}), [
|
|
1376
|
-
|
|
1451
|
+
P,
|
|
1377
1452
|
A,
|
|
1378
1453
|
k
|
|
1379
|
-
]),
|
|
1454
|
+
]), I = q(w), L = Ot(y), R = Ot(x), { tasksList: z, criticalPath: re, updateTask: B, commitTask: ie, createTask: ae, deleteTask: oe, undo: se, redo: ce, canUndo: le, canRedo: ue } = bt(e, _, {
|
|
1380
1455
|
onTaskCreate: S,
|
|
1381
1456
|
onTaskDelete: C,
|
|
1382
|
-
onTasksChange: T
|
|
1383
|
-
|
|
1384
|
-
|
|
1385
|
-
|
|
1457
|
+
onTasksChange: T,
|
|
1458
|
+
highlightCriticalPath: M
|
|
1459
|
+
}, F), { visibleTasks: V, expandedIds: de, parentIds: fe, toggleExpand: me, revealAncestors: he } = xt(z), { taskListRef: ge, gridRef: H, onTaskListScroll: _e, onGridScroll: ve, viewport: ye } = Dt(), be = p(null), U = zt({
|
|
1460
|
+
gridRef: H,
|
|
1461
|
+
visibleTasks: V,
|
|
1386
1462
|
padDays: a,
|
|
1387
|
-
levels: f(() =>
|
|
1463
|
+
levels: f(() => Yt(s, i, n), [
|
|
1388
1464
|
s,
|
|
1389
1465
|
i,
|
|
1390
1466
|
n
|
|
1391
1467
|
]),
|
|
1392
1468
|
initialIndex: c ?? 3
|
|
1393
|
-
}),
|
|
1394
|
-
taskListRef:
|
|
1395
|
-
gridRef:
|
|
1396
|
-
tasksList:
|
|
1397
|
-
visibleTasks:
|
|
1469
|
+
}), xe = Rt({
|
|
1470
|
+
taskListRef: ge,
|
|
1471
|
+
gridRef: H,
|
|
1472
|
+
tasksList: z,
|
|
1473
|
+
visibleTasks: V,
|
|
1398
1474
|
rowHeight: t,
|
|
1399
|
-
colWidth:
|
|
1400
|
-
scales:
|
|
1475
|
+
colWidth: U.level.colWidth,
|
|
1476
|
+
scales: U.level.scales,
|
|
1401
1477
|
padDays: a,
|
|
1402
|
-
revealAncestors:
|
|
1403
|
-
}),
|
|
1478
|
+
revealAncestors: he
|
|
1479
|
+
}), Se = q(d);
|
|
1404
1480
|
l(() => {
|
|
1405
|
-
|
|
1406
|
-
index:
|
|
1407
|
-
count:
|
|
1481
|
+
Se.current?.({
|
|
1482
|
+
index: U.index,
|
|
1483
|
+
count: U.count
|
|
1408
1484
|
});
|
|
1409
1485
|
}, [
|
|
1410
|
-
|
|
1411
|
-
|
|
1412
|
-
|
|
1486
|
+
U.index,
|
|
1487
|
+
U.count,
|
|
1488
|
+
Se
|
|
1413
1489
|
]);
|
|
1414
|
-
let
|
|
1415
|
-
|
|
1416
|
-
}, [
|
|
1417
|
-
createTask:
|
|
1418
|
-
updateTask:
|
|
1419
|
-
deleteTask:
|
|
1420
|
-
undo:
|
|
1421
|
-
redo:
|
|
1422
|
-
revealTask:
|
|
1423
|
-
zoomIn:
|
|
1424
|
-
zoomOut:
|
|
1425
|
-
setZoom:
|
|
1490
|
+
let W = o((e, t) => {
|
|
1491
|
+
ae(e, t), te(e.id), xe(e.id);
|
|
1492
|
+
}, [ae, xe]), { zoomIn: Ce, zoomOut: we, setZoom: Te, zoomAt: G } = U, K = Qt({
|
|
1493
|
+
createTask: W,
|
|
1494
|
+
updateTask: B,
|
|
1495
|
+
deleteTask: oe,
|
|
1496
|
+
undo: se,
|
|
1497
|
+
redo: ce,
|
|
1498
|
+
revealTask: xe,
|
|
1499
|
+
zoomIn: Ce,
|
|
1500
|
+
zoomOut: we,
|
|
1501
|
+
setZoom: Te
|
|
1426
1502
|
});
|
|
1427
|
-
u(E, () =>
|
|
1428
|
-
let
|
|
1429
|
-
handle:
|
|
1503
|
+
u(E, () => K, [K]);
|
|
1504
|
+
let Ee = $t({
|
|
1505
|
+
handle: K,
|
|
1430
1506
|
readOnly: j,
|
|
1431
|
-
labels:
|
|
1432
|
-
schedulingContext:
|
|
1433
|
-
onTaskEditRef:
|
|
1434
|
-
}), { drag:
|
|
1435
|
-
gridBodyRef:
|
|
1507
|
+
labels: ne,
|
|
1508
|
+
schedulingContext: F,
|
|
1509
|
+
onTaskEditRef: I
|
|
1510
|
+
}), { drag: De, startDrag: Oe, endDrag: ke } = Zt({
|
|
1511
|
+
gridBodyRef: be,
|
|
1436
1512
|
onDependencyCreate: b
|
|
1437
|
-
}),
|
|
1513
|
+
}), Ae = M ? re : null, je = f(() => ({
|
|
1438
1514
|
rowHeight: t,
|
|
1439
|
-
colWidth:
|
|
1440
|
-
scales:
|
|
1515
|
+
colWidth: U.level.colWidth,
|
|
1516
|
+
scales: U.level.scales,
|
|
1441
1517
|
padDays: a,
|
|
1442
1518
|
height: r
|
|
1443
1519
|
}), [
|
|
1444
1520
|
t,
|
|
1445
|
-
|
|
1521
|
+
U.level,
|
|
1446
1522
|
a,
|
|
1447
1523
|
r
|
|
1448
|
-
]),
|
|
1449
|
-
zoomIn:
|
|
1450
|
-
zoomOut:
|
|
1451
|
-
zoomAt:
|
|
1524
|
+
]), Me = f(() => ({
|
|
1525
|
+
zoomIn: Ce,
|
|
1526
|
+
zoomOut: we,
|
|
1527
|
+
zoomAt: G,
|
|
1452
1528
|
wheelEnabled: h,
|
|
1453
1529
|
keyboardEnabled: g
|
|
1454
1530
|
}), [
|
|
1455
|
-
xe,
|
|
1456
|
-
G,
|
|
1457
1531
|
Ce,
|
|
1532
|
+
we,
|
|
1533
|
+
G,
|
|
1458
1534
|
h,
|
|
1459
1535
|
g
|
|
1460
|
-
]),
|
|
1461
|
-
tasksList:
|
|
1462
|
-
visibleTasks:
|
|
1463
|
-
expandedIds:
|
|
1464
|
-
parentIds:
|
|
1465
|
-
canUndo:
|
|
1466
|
-
canRedo:
|
|
1536
|
+
]), Ne = f(() => ({
|
|
1537
|
+
tasksList: z,
|
|
1538
|
+
visibleTasks: V,
|
|
1539
|
+
expandedIds: de,
|
|
1540
|
+
parentIds: fe,
|
|
1541
|
+
canUndo: le,
|
|
1542
|
+
canRedo: ue
|
|
1543
|
+
}), [
|
|
1544
|
+
z,
|
|
1545
|
+
V,
|
|
1546
|
+
de,
|
|
1547
|
+
fe,
|
|
1548
|
+
le,
|
|
1549
|
+
ue
|
|
1550
|
+
]), Pe = f(() => ({
|
|
1551
|
+
updateTask: B,
|
|
1552
|
+
commitTask: ie,
|
|
1553
|
+
createTask: W,
|
|
1554
|
+
deleteTask: oe,
|
|
1555
|
+
undo: se,
|
|
1556
|
+
redo: ce,
|
|
1557
|
+
columnApi: Ee,
|
|
1558
|
+
setSelectedId: te,
|
|
1559
|
+
toggleExpand: me,
|
|
1560
|
+
onTaskClick: L,
|
|
1561
|
+
revealTask: xe
|
|
1467
1562
|
}), [
|
|
1468
1563
|
B,
|
|
1564
|
+
ie,
|
|
1565
|
+
W,
|
|
1566
|
+
oe,
|
|
1469
1567
|
se,
|
|
1470
1568
|
ce,
|
|
1471
|
-
|
|
1472
|
-
|
|
1473
|
-
|
|
1474
|
-
|
|
1475
|
-
|
|
1476
|
-
|
|
1477
|
-
|
|
1478
|
-
|
|
1479
|
-
|
|
1480
|
-
|
|
1481
|
-
columnApi: K,
|
|
1482
|
-
setSelectedId: P,
|
|
1483
|
-
toggleExpand: le,
|
|
1484
|
-
onTaskClick: R,
|
|
1485
|
-
revealTask: ve
|
|
1569
|
+
Ee,
|
|
1570
|
+
me,
|
|
1571
|
+
L,
|
|
1572
|
+
xe
|
|
1573
|
+
]), Fe = f(() => ({
|
|
1574
|
+
taskListRef: ge,
|
|
1575
|
+
gridRef: H,
|
|
1576
|
+
gridBodyRef: be,
|
|
1577
|
+
onTaskListScroll: _e,
|
|
1578
|
+
onGridScroll: ve
|
|
1486
1579
|
}), [
|
|
1487
|
-
|
|
1488
|
-
|
|
1489
|
-
|
|
1490
|
-
ne,
|
|
1491
|
-
re,
|
|
1492
|
-
ie,
|
|
1493
|
-
K,
|
|
1494
|
-
le,
|
|
1495
|
-
R,
|
|
1580
|
+
ge,
|
|
1581
|
+
H,
|
|
1582
|
+
_e,
|
|
1496
1583
|
ve
|
|
1497
|
-
]),
|
|
1498
|
-
taskListRef: fe,
|
|
1499
|
-
gridRef: pe,
|
|
1500
|
-
gridBodyRef: _e,
|
|
1501
|
-
onTaskListScroll: me,
|
|
1502
|
-
onGridScroll: he
|
|
1503
|
-
}), [
|
|
1504
|
-
fe,
|
|
1505
|
-
pe,
|
|
1506
|
-
me,
|
|
1507
|
-
he
|
|
1508
|
-
]), Ne = f(() => ({
|
|
1584
|
+
]), Ie = f(() => ({
|
|
1509
1585
|
dependencies: _,
|
|
1510
|
-
onDependencyDelete:
|
|
1511
|
-
startDrag:
|
|
1512
|
-
endDrag:
|
|
1586
|
+
onDependencyDelete: R,
|
|
1587
|
+
startDrag: Oe,
|
|
1588
|
+
endDrag: ke
|
|
1513
1589
|
}), [
|
|
1514
1590
|
_,
|
|
1515
|
-
|
|
1516
|
-
|
|
1517
|
-
|
|
1591
|
+
R,
|
|
1592
|
+
Oe,
|
|
1593
|
+
ke
|
|
1518
1594
|
]);
|
|
1519
|
-
return /* @__PURE__ */ v(
|
|
1520
|
-
value:
|
|
1521
|
-
children: /* @__PURE__ */ v(
|
|
1595
|
+
return /* @__PURE__ */ v(en.Provider, {
|
|
1596
|
+
value: je,
|
|
1597
|
+
children: /* @__PURE__ */ v(sn.Provider, {
|
|
1522
1598
|
value: j,
|
|
1523
|
-
children: /* @__PURE__ */ v(
|
|
1524
|
-
value:
|
|
1525
|
-
children: /* @__PURE__ */ v(
|
|
1526
|
-
value:
|
|
1527
|
-
children: /* @__PURE__ */ v(
|
|
1528
|
-
value:
|
|
1529
|
-
children: /* @__PURE__ */ v(
|
|
1599
|
+
children: /* @__PURE__ */ v(ln.Provider, {
|
|
1600
|
+
value: Ae,
|
|
1601
|
+
children: /* @__PURE__ */ v(nn.Provider, {
|
|
1602
|
+
value: ne,
|
|
1603
|
+
children: /* @__PURE__ */ v(an.Provider, {
|
|
1604
|
+
value: F,
|
|
1605
|
+
children: /* @__PURE__ */ v(Dn.Provider, {
|
|
1530
1606
|
value: Me,
|
|
1531
|
-
children: /* @__PURE__ */ v(
|
|
1532
|
-
value:
|
|
1533
|
-
children: /* @__PURE__ */ v(
|
|
1534
|
-
value:
|
|
1535
|
-
children: /* @__PURE__ */ v(
|
|
1536
|
-
value:
|
|
1537
|
-
children: /* @__PURE__ */ v(
|
|
1538
|
-
value:
|
|
1539
|
-
children: /* @__PURE__ */ v(
|
|
1540
|
-
value:
|
|
1541
|
-
children: /* @__PURE__ */ v(
|
|
1542
|
-
value:
|
|
1607
|
+
children: /* @__PURE__ */ v(_n.Provider, {
|
|
1608
|
+
value: Fe,
|
|
1609
|
+
children: /* @__PURE__ */ v(pn.Provider, {
|
|
1610
|
+
value: Pe,
|
|
1611
|
+
children: /* @__PURE__ */ v(xn.Provider, {
|
|
1612
|
+
value: Ie,
|
|
1613
|
+
children: /* @__PURE__ */ v(dn.Provider, {
|
|
1614
|
+
value: Ne,
|
|
1615
|
+
children: /* @__PURE__ */ v(hn.Provider, {
|
|
1616
|
+
value: ee,
|
|
1617
|
+
children: /* @__PURE__ */ v(Cn.Provider, {
|
|
1618
|
+
value: De !== null,
|
|
1543
1619
|
children: /* @__PURE__ */ v(yn.Provider, {
|
|
1544
|
-
value:
|
|
1545
|
-
children:
|
|
1620
|
+
value: ye,
|
|
1621
|
+
children: /* @__PURE__ */ v(Tn.Provider, {
|
|
1622
|
+
value: De,
|
|
1623
|
+
children: N
|
|
1624
|
+
})
|
|
1546
1625
|
})
|
|
1547
1626
|
})
|
|
1548
1627
|
})
|
|
@@ -1559,48 +1638,48 @@ function Cn({ tasks: e, rowHeight: t = 36, colWidth: n, height: r, scales: i, pa
|
|
|
1559
1638
|
}
|
|
1560
1639
|
//#endregion
|
|
1561
1640
|
//#region src/context/GanttSlotsContext.tsx
|
|
1562
|
-
var
|
|
1563
|
-
function
|
|
1564
|
-
return /* @__PURE__ */ v(
|
|
1641
|
+
var An = n({});
|
|
1642
|
+
function jn({ value: e, children: t }) {
|
|
1643
|
+
return /* @__PURE__ */ v(An.Provider, {
|
|
1565
1644
|
value: e,
|
|
1566
1645
|
children: t
|
|
1567
1646
|
});
|
|
1568
1647
|
}
|
|
1569
1648
|
function J() {
|
|
1570
|
-
return s(
|
|
1649
|
+
return s(An);
|
|
1571
1650
|
}
|
|
1572
1651
|
//#endregion
|
|
1573
1652
|
//#region ../../node_modules/.pnpm/clsx@2.1.1/node_modules/clsx/dist/clsx.mjs
|
|
1574
|
-
function
|
|
1653
|
+
function Mn(e) {
|
|
1575
1654
|
var t, n, r = "";
|
|
1576
1655
|
if (typeof e == "string" || typeof e == "number") r += e;
|
|
1577
1656
|
else if (typeof e == "object") if (Array.isArray(e)) {
|
|
1578
1657
|
var i = e.length;
|
|
1579
|
-
for (t = 0; t < i; t++) e[t] && (n =
|
|
1658
|
+
for (t = 0; t < i; t++) e[t] && (n = Mn(e[t])) && (r && (r += " "), r += n);
|
|
1580
1659
|
} else for (n in e) e[n] && (r && (r += " "), r += n);
|
|
1581
1660
|
return r;
|
|
1582
1661
|
}
|
|
1583
|
-
function
|
|
1584
|
-
for (var e, t, n = 0, r = "", i = arguments.length; n < i; n++) (e = arguments[n]) && (t =
|
|
1662
|
+
function Y() {
|
|
1663
|
+
for (var e, t, n = 0, r = "", i = arguments.length; n < i; n++) (e = arguments[n]) && (t = Mn(e)) && (r && (r += " "), r += t);
|
|
1585
1664
|
return r;
|
|
1586
1665
|
}
|
|
1587
1666
|
//#endregion
|
|
1588
1667
|
//#region src/core/slots.ts
|
|
1589
|
-
function
|
|
1668
|
+
function X(e, t, n) {
|
|
1590
1669
|
let r = typeof t == "function" ? t(n) : t;
|
|
1591
1670
|
if (!r) return e;
|
|
1592
1671
|
let { className: i, style: a, ...o } = r;
|
|
1593
1672
|
return {
|
|
1594
1673
|
...e,
|
|
1595
1674
|
...o,
|
|
1596
|
-
className:
|
|
1675
|
+
className: Y(e.className, i),
|
|
1597
1676
|
style: {
|
|
1598
1677
|
...e.style,
|
|
1599
1678
|
...a
|
|
1600
1679
|
}
|
|
1601
1680
|
};
|
|
1602
1681
|
}
|
|
1603
|
-
var
|
|
1682
|
+
var Nn = {
|
|
1604
1683
|
calendar: "_calendar_1ksbu_1",
|
|
1605
1684
|
row: "_row_1ksbu_19",
|
|
1606
1685
|
cell: "_cell_1ksbu_29",
|
|
@@ -1608,7 +1687,7 @@ var On = {
|
|
|
1608
1687
|
};
|
|
1609
1688
|
//#endregion
|
|
1610
1689
|
//#region src/components/calendar/CalendarRow.tsx
|
|
1611
|
-
function
|
|
1690
|
+
function Pn(e, t) {
|
|
1612
1691
|
let n = [];
|
|
1613
1692
|
for (let r = 0; r < e.length; r++) {
|
|
1614
1693
|
let i = e[r], a = D(i, t.unit, t.step), o = n[n.length - 1];
|
|
@@ -1621,7 +1700,7 @@ function kn(e, t) {
|
|
|
1621
1700
|
}
|
|
1622
1701
|
return n;
|
|
1623
1702
|
}
|
|
1624
|
-
function
|
|
1703
|
+
function Fn(e, t) {
|
|
1625
1704
|
if (!t) return {
|
|
1626
1705
|
start: 0,
|
|
1627
1706
|
end: e.length
|
|
@@ -1638,16 +1717,16 @@ function An(e, t) {
|
|
|
1638
1717
|
end: i
|
|
1639
1718
|
};
|
|
1640
1719
|
}
|
|
1641
|
-
function
|
|
1642
|
-
let l = J(), u = s ?? l.timeline?.calendarRow?.slots, { calendar: d } =
|
|
1720
|
+
function In({ scale: e, dates: t, colWidth: n, rowHeight: r, highlightWeekends: i = !1, colRange: a, rowIndex: o, slots: s, slotProps: c }) {
|
|
1721
|
+
let l = J(), u = s ?? l.timeline?.calendarRow?.slots, { calendar: d } = on(), p = c ?? l.timeline?.calendarRow?.slotProps, m = f(() => Pn(t, e), [t, e]), h = Fn(m, a), g = u?.row ?? "div", _ = u?.cell ?? "div", y = {
|
|
1643
1722
|
scale: e,
|
|
1644
1723
|
colWidth: n,
|
|
1645
1724
|
rowHeight: r,
|
|
1646
1725
|
highlightWeekends: i
|
|
1647
1726
|
};
|
|
1648
1727
|
return /* @__PURE__ */ v(g, {
|
|
1649
|
-
...
|
|
1650
|
-
className:
|
|
1728
|
+
...X({
|
|
1729
|
+
className: Nn.row,
|
|
1651
1730
|
style: { height: r },
|
|
1652
1731
|
role: "row",
|
|
1653
1732
|
"aria-rowindex": o
|
|
@@ -1666,8 +1745,8 @@ function jn({ scale: e, dates: t, colWidth: n, rowHeight: r, highlightWeekends:
|
|
|
1666
1745
|
isWeekend: a,
|
|
1667
1746
|
colWidth: n
|
|
1668
1747
|
};
|
|
1669
|
-
return /* @__PURE__ */ v(_, { ...
|
|
1670
|
-
className:
|
|
1748
|
+
return /* @__PURE__ */ v(_, { ...X({
|
|
1749
|
+
className: Y(Nn.cell, a && Nn.cellWeekend),
|
|
1671
1750
|
style: {
|
|
1672
1751
|
left: t.startIndex * n,
|
|
1673
1752
|
width: t.count * n
|
|
@@ -1683,13 +1762,13 @@ function jn({ scale: e, dates: t, colWidth: n, rowHeight: r, highlightWeekends:
|
|
|
1683
1762
|
}
|
|
1684
1763
|
//#endregion
|
|
1685
1764
|
//#region src/components/calendar/Calendar.tsx
|
|
1686
|
-
function
|
|
1765
|
+
function Ln({ colWidth: e, rowHeight: t, scales: n = Mt, dates: r, colRange: i }) {
|
|
1687
1766
|
let a = r.length * e;
|
|
1688
1767
|
return /* @__PURE__ */ v("div", {
|
|
1689
|
-
className:
|
|
1768
|
+
className: Nn.calendar,
|
|
1690
1769
|
style: { width: a },
|
|
1691
1770
|
role: "rowgroup",
|
|
1692
|
-
children: n.map((n, a) => /* @__PURE__ */ v(
|
|
1771
|
+
children: n.map((n, a) => /* @__PURE__ */ v(In, {
|
|
1693
1772
|
scale: n,
|
|
1694
1773
|
dates: r,
|
|
1695
1774
|
colWidth: e,
|
|
@@ -1702,8 +1781,8 @@ function Mn({ colWidth: e, rowHeight: t, scales: n = Ot, dates: r, colRange: i }
|
|
|
1702
1781
|
}
|
|
1703
1782
|
//#endregion
|
|
1704
1783
|
//#region src/hooks/useAutoScroll.ts
|
|
1705
|
-
var
|
|
1706
|
-
function
|
|
1784
|
+
var Rn = 40, zn = 14;
|
|
1785
|
+
function Bn(e) {
|
|
1707
1786
|
let t = e;
|
|
1708
1787
|
for (; t;) {
|
|
1709
1788
|
let e = getComputedStyle(t);
|
|
@@ -1712,7 +1791,7 @@ function Fn(e) {
|
|
|
1712
1791
|
}
|
|
1713
1792
|
return document.scrollingElement;
|
|
1714
1793
|
}
|
|
1715
|
-
function
|
|
1794
|
+
function Vn(e) {
|
|
1716
1795
|
if (e === document.scrollingElement) return {
|
|
1717
1796
|
left: 0,
|
|
1718
1797
|
right: window.innerWidth
|
|
@@ -1723,10 +1802,10 @@ function In(e) {
|
|
|
1723
1802
|
right: t.right
|
|
1724
1803
|
};
|
|
1725
1804
|
}
|
|
1726
|
-
function
|
|
1727
|
-
return n < e +
|
|
1805
|
+
function Hn(e, t, n) {
|
|
1806
|
+
return n < e + Rn ? -zn * Math.min(1, (e + Rn - n) / Rn) : n > t - Rn ? zn * Math.min(1, (n - (t - Rn)) / Rn) : 0;
|
|
1728
1807
|
}
|
|
1729
|
-
function
|
|
1808
|
+
function Un({ enabled: e, onScroll: t }) {
|
|
1730
1809
|
let n = p({
|
|
1731
1810
|
container: null,
|
|
1732
1811
|
scrollTarget: null,
|
|
@@ -1741,14 +1820,14 @@ function Rn({ enabled: e, onScroll: t }) {
|
|
|
1741
1820
|
e.rafId = null;
|
|
1742
1821
|
return;
|
|
1743
1822
|
}
|
|
1744
|
-
let { left: t, right: r } =
|
|
1823
|
+
let { left: t, right: r } = Vn(e.container), i = Hn(t, r, e.cursorX);
|
|
1745
1824
|
i !== 0 && (e.container.scrollLeft += i), e.rafId = requestAnimationFrame(a);
|
|
1746
1825
|
}, []), s = o(() => {
|
|
1747
1826
|
let e = n.current;
|
|
1748
1827
|
e.rafId !== null && cancelAnimationFrame(e.rafId), e.scrollTarget && e.scrollTarget.removeEventListener("scroll", i), e.container = null, e.scrollTarget = null, e.rafId = null;
|
|
1749
1828
|
}, [i]), c = o((t) => {
|
|
1750
1829
|
if (!e) return;
|
|
1751
|
-
let r = n.current, o =
|
|
1830
|
+
let r = n.current, o = Bn(t);
|
|
1752
1831
|
r.container = o, r.startScrollLeft = o?.scrollLeft ?? 0, o && (r.scrollTarget = o === document.scrollingElement ? window : o, r.scrollTarget.addEventListener("scroll", i, { passive: !0 }), r.rafId = requestAnimationFrame(a));
|
|
1753
1832
|
}, [
|
|
1754
1833
|
e,
|
|
@@ -1769,10 +1848,10 @@ function Rn({ enabled: e, onScroll: t }) {
|
|
|
1769
1848
|
}
|
|
1770
1849
|
//#endregion
|
|
1771
1850
|
//#region src/hooks/useDrag.ts
|
|
1772
|
-
function
|
|
1851
|
+
function Wn({ onStart: e, onDrag: t, onEnd: n, autoScroll: r = !1 }) {
|
|
1773
1852
|
let i = p(!1), a = p(null), s = p(0), c = p(0), u = p(0), d = p(t), f = p(n);
|
|
1774
1853
|
d.current = t, f.current = n;
|
|
1775
|
-
let m = p(() => {}), { start: h, stop: g, setCursorX: _, getScrollDelta: v } =
|
|
1854
|
+
let m = p(() => {}), { start: h, stop: g, setCursorX: _, getScrollDelta: v } = Un({
|
|
1776
1855
|
enabled: r,
|
|
1777
1856
|
onScroll: () => m.current()
|
|
1778
1857
|
}), y = o(() => {
|
|
@@ -1803,34 +1882,84 @@ function zn({ onStart: e, onDrag: t, onEnd: n, autoScroll: r = !1 }) {
|
|
|
1803
1882
|
g
|
|
1804
1883
|
]), b;
|
|
1805
1884
|
}
|
|
1806
|
-
var
|
|
1885
|
+
var Gn = {
|
|
1807
1886
|
tooltip: "_tooltip_mcgy9_11",
|
|
1808
1887
|
name: "_name_mcgy9_31",
|
|
1809
1888
|
row: "_row_mcgy9_6",
|
|
1810
1889
|
label: "_label_mcgy9_42"
|
|
1811
|
-
},
|
|
1890
|
+
}, Kn = n(null), qn = () => s(Kn);
|
|
1812
1891
|
//#endregion
|
|
1813
1892
|
//#region src/components/bars/barTooltip/BarTooltipRoot.tsx
|
|
1814
|
-
function
|
|
1893
|
+
function Jn({ anchorRef: e, children: t }) {
|
|
1815
1894
|
let [n, r] = m(!1), i = f(() => ({
|
|
1816
1895
|
open: n,
|
|
1817
1896
|
setOpen: r,
|
|
1818
1897
|
anchorRef: e
|
|
1819
1898
|
}), [n, e]);
|
|
1820
|
-
return /* @__PURE__ */ v(
|
|
1899
|
+
return /* @__PURE__ */ v(Kn.Provider, {
|
|
1821
1900
|
value: i,
|
|
1822
1901
|
children: t
|
|
1823
1902
|
});
|
|
1824
1903
|
}
|
|
1825
1904
|
//#endregion
|
|
1905
|
+
//#region src/components/bars/barTooltip/useTooltipPosition.ts
|
|
1906
|
+
var Yn = 12, Xn = 8, Zn = null;
|
|
1907
|
+
function Qn(e, t) {
|
|
1908
|
+
Zn = {
|
|
1909
|
+
x: e,
|
|
1910
|
+
y: t
|
|
1911
|
+
};
|
|
1912
|
+
}
|
|
1913
|
+
function $n(e, t, n, r) {
|
|
1914
|
+
let i = e + Yn, a = i + t <= r - Xn;
|
|
1915
|
+
return Math.max(a ? i : e - Yn - t, n + Xn);
|
|
1916
|
+
}
|
|
1917
|
+
var er = (e, t) => {
|
|
1918
|
+
let n = s(_n)?.gridRef, [r, i] = m({
|
|
1919
|
+
left: -9999,
|
|
1920
|
+
top: -9999
|
|
1921
|
+
}), a = c(r);
|
|
1922
|
+
return St(() => {
|
|
1923
|
+
if (!t) return;
|
|
1924
|
+
let r = (t, r) => {
|
|
1925
|
+
let a = n?.current?.getBoundingClientRect(), o = a && a.width > 0 && a.height > 0 ? {
|
|
1926
|
+
left: a.left,
|
|
1927
|
+
top: a.top,
|
|
1928
|
+
right: a.right,
|
|
1929
|
+
bottom: a.bottom
|
|
1930
|
+
} : {
|
|
1931
|
+
left: 0,
|
|
1932
|
+
top: 0,
|
|
1933
|
+
right: window.innerWidth,
|
|
1934
|
+
bottom: window.innerHeight
|
|
1935
|
+
};
|
|
1936
|
+
if (t < o.left || t > o.right || r < o.top || r > o.bottom) return;
|
|
1937
|
+
let s = e.current?.getBoundingClientRect(), c = s?.width ?? 0, l = s?.height ?? 0, u = $n(t, c, o.left, o.right), d = $n(r, l, o.top, o.bottom);
|
|
1938
|
+
i((e) => e.left === u && e.top === d ? e : {
|
|
1939
|
+
left: u,
|
|
1940
|
+
top: d
|
|
1941
|
+
});
|
|
1942
|
+
};
|
|
1943
|
+
Zn && r(Zn.x, Zn.y);
|
|
1944
|
+
let a = (e) => r(e.clientX, e.clientY);
|
|
1945
|
+
return window.addEventListener("mousemove", a), () => {
|
|
1946
|
+
window.removeEventListener("mousemove", a);
|
|
1947
|
+
};
|
|
1948
|
+
}, [
|
|
1949
|
+
e,
|
|
1950
|
+
n,
|
|
1951
|
+
t
|
|
1952
|
+
]), a;
|
|
1953
|
+
};
|
|
1954
|
+
//#endregion
|
|
1826
1955
|
//#region src/components/bars/barTooltip/BarTooltipTrigger.tsx
|
|
1827
|
-
function
|
|
1828
|
-
let n =
|
|
1956
|
+
function tr({ children: e }) {
|
|
1957
|
+
let n = qn(), i = n?.open ?? !1, a = n?.setOpen, o = n?.anchorRef;
|
|
1829
1958
|
if (l(() => {
|
|
1830
1959
|
if (!i || !a) return;
|
|
1831
1960
|
let e = () => a(!1), t = (e) => {
|
|
1832
|
-
let t = o?.current
|
|
1833
|
-
!t ||
|
|
1961
|
+
let t = o?.current, n = e.target;
|
|
1962
|
+
!t || !(n instanceof Node) || t.contains(n) || a(!1);
|
|
1834
1963
|
};
|
|
1835
1964
|
return document.addEventListener("scroll", e, {
|
|
1836
1965
|
capture: !0,
|
|
@@ -1846,7 +1975,7 @@ function Un({ children: e }) {
|
|
|
1846
1975
|
let { onMouseEnter: s, onMouseLeave: c } = e.props;
|
|
1847
1976
|
return t(e, {
|
|
1848
1977
|
onMouseEnter: (e) => {
|
|
1849
|
-
s?.(e), a(!0);
|
|
1978
|
+
s?.(e), Qn(e.clientX, e.clientY), a(!0);
|
|
1850
1979
|
},
|
|
1851
1980
|
onMouseLeave: (e) => {
|
|
1852
1981
|
c?.(e), a(!1);
|
|
@@ -1854,62 +1983,20 @@ function Un({ children: e }) {
|
|
|
1854
1983
|
});
|
|
1855
1984
|
}
|
|
1856
1985
|
//#endregion
|
|
1857
|
-
//#region src/components/bars/barTooltip/useTooltipPosition.ts
|
|
1858
|
-
var Wn = 12, Gn = 8;
|
|
1859
|
-
function Kn(e, t, n, r) {
|
|
1860
|
-
let i = e + Wn, a = i + t <= r - Gn;
|
|
1861
|
-
return Math.max(a ? i : e - Wn - t, n + Gn);
|
|
1862
|
-
}
|
|
1863
|
-
var qn = (e, t) => {
|
|
1864
|
-
let n = s(dn)?.gridRef, [r, i] = m({
|
|
1865
|
-
left: -9999,
|
|
1866
|
-
top: -9999
|
|
1867
|
-
}), a = c(r);
|
|
1868
|
-
return l(() => {
|
|
1869
|
-
if (!t) return;
|
|
1870
|
-
let r = (t) => {
|
|
1871
|
-
let { clientX: r, clientY: a } = t, o = n?.current?.getBoundingClientRect(), s = o && o.width > 0 && o.height > 0 ? {
|
|
1872
|
-
left: o.left,
|
|
1873
|
-
top: o.top,
|
|
1874
|
-
right: o.right,
|
|
1875
|
-
bottom: o.bottom
|
|
1876
|
-
} : {
|
|
1877
|
-
left: 0,
|
|
1878
|
-
top: 0,
|
|
1879
|
-
right: window.innerWidth,
|
|
1880
|
-
bottom: window.innerHeight
|
|
1881
|
-
};
|
|
1882
|
-
if (r < s.left || r > s.right || a < s.top || a > s.bottom) return;
|
|
1883
|
-
let c = e.current?.getBoundingClientRect(), l = c?.width ?? 0, u = c?.height ?? 0, d = Kn(r, l, s.left, s.right), f = Kn(a, u, s.top, s.bottom);
|
|
1884
|
-
i((e) => e.left === d && e.top === f ? e : {
|
|
1885
|
-
left: d,
|
|
1886
|
-
top: f
|
|
1887
|
-
});
|
|
1888
|
-
};
|
|
1889
|
-
return window.addEventListener("mousemove", r), () => {
|
|
1890
|
-
window.removeEventListener("mousemove", r);
|
|
1891
|
-
};
|
|
1892
|
-
}, [
|
|
1893
|
-
e,
|
|
1894
|
-
n,
|
|
1895
|
-
t
|
|
1896
|
-
]), a;
|
|
1897
|
-
};
|
|
1898
|
-
//#endregion
|
|
1899
1986
|
//#region src/components/bars/barTooltip/BarTooltip.tsx
|
|
1900
|
-
function
|
|
1987
|
+
function nr(e) {
|
|
1901
1988
|
return e ? e.toLocaleDateString(void 0, {
|
|
1902
1989
|
year: "numeric",
|
|
1903
1990
|
month: "short",
|
|
1904
1991
|
day: "numeric"
|
|
1905
1992
|
}) : "—";
|
|
1906
1993
|
}
|
|
1907
|
-
function
|
|
1908
|
-
let o = p(null), s =
|
|
1994
|
+
function rr({ task: e, progress: t, displayEnd: n, className: r, style: i, ...a }) {
|
|
1995
|
+
let o = p(null), s = qn()?.open ?? !1, c = er(o, s);
|
|
1909
1996
|
return !s || typeof document > "u" ? null : h(/* @__PURE__ */ y("div", {
|
|
1910
1997
|
role: "tooltip",
|
|
1911
1998
|
ref: o,
|
|
1912
|
-
className: r ? `${
|
|
1999
|
+
className: r ? `${Gn.tooltip} ${r}` : Gn.tooltip,
|
|
1913
2000
|
style: {
|
|
1914
2001
|
...i,
|
|
1915
2002
|
...c
|
|
@@ -1917,37 +2004,37 @@ function Yn({ task: e, progress: t, displayEnd: n, className: r, style: i, ...a
|
|
|
1917
2004
|
...a,
|
|
1918
2005
|
children: [
|
|
1919
2006
|
/* @__PURE__ */ v("div", {
|
|
1920
|
-
className:
|
|
2007
|
+
className: Gn.name,
|
|
1921
2008
|
children: e.name
|
|
1922
2009
|
}),
|
|
1923
2010
|
/* @__PURE__ */ y("div", {
|
|
1924
|
-
className:
|
|
2011
|
+
className: Gn.row,
|
|
1925
2012
|
children: [/* @__PURE__ */ v("span", {
|
|
1926
|
-
className:
|
|
2013
|
+
className: Gn.label,
|
|
1927
2014
|
children: "Start"
|
|
1928
|
-
}), /* @__PURE__ */ v("span", { children:
|
|
2015
|
+
}), /* @__PURE__ */ v("span", { children: nr(e.startDate) })]
|
|
1929
2016
|
}),
|
|
1930
2017
|
/* @__PURE__ */ y("div", {
|
|
1931
|
-
className:
|
|
2018
|
+
className: Gn.row,
|
|
1932
2019
|
children: [/* @__PURE__ */ v("span", {
|
|
1933
|
-
className:
|
|
2020
|
+
className: Gn.label,
|
|
1934
2021
|
children: "End"
|
|
1935
|
-
}), /* @__PURE__ */ v("span", { children:
|
|
2022
|
+
}), /* @__PURE__ */ v("span", { children: nr(n) })]
|
|
1936
2023
|
}),
|
|
1937
2024
|
/* @__PURE__ */ y("div", {
|
|
1938
|
-
className:
|
|
2025
|
+
className: Gn.row,
|
|
1939
2026
|
children: [/* @__PURE__ */ v("span", {
|
|
1940
|
-
className:
|
|
2027
|
+
className: Gn.label,
|
|
1941
2028
|
children: "Progress"
|
|
1942
2029
|
}), /* @__PURE__ */ y("span", { children: [Math.round(t), "%"] })]
|
|
1943
2030
|
})
|
|
1944
2031
|
]
|
|
1945
2032
|
}), document.body);
|
|
1946
2033
|
}
|
|
1947
|
-
function
|
|
1948
|
-
return /* @__PURE__ */ y(
|
|
2034
|
+
function ir({ task: e, progress: t, displayEnd: n, anchorRef: r, className: i, style: a, children: o, ...s }) {
|
|
2035
|
+
return /* @__PURE__ */ y(Jn, {
|
|
1949
2036
|
anchorRef: r,
|
|
1950
|
-
children: [/* @__PURE__ */ v(
|
|
2037
|
+
children: [/* @__PURE__ */ v(tr, { children: o }), /* @__PURE__ */ v(rr, {
|
|
1951
2038
|
task: e,
|
|
1952
2039
|
progress: t,
|
|
1953
2040
|
displayEnd: n,
|
|
@@ -1959,10 +2046,10 @@ function Xn({ task: e, progress: t, displayEnd: n, anchorRef: r, className: i, s
|
|
|
1959
2046
|
}
|
|
1960
2047
|
//#endregion
|
|
1961
2048
|
//#region src/components/bars/barTooltip/BarTooltipConsumer.tsx
|
|
1962
|
-
function
|
|
2049
|
+
function ar({ children: e, tooltip: t, anchorRef: n }) {
|
|
1963
2050
|
let r = J().bars?.tooltip, i = r?.slots?.tooltip;
|
|
1964
2051
|
return !i || !t ? e : /* @__PURE__ */ v(i, {
|
|
1965
|
-
...
|
|
2052
|
+
...X({}, r?.slotProps?.tooltip, t),
|
|
1966
2053
|
anchorRef: n,
|
|
1967
2054
|
...t,
|
|
1968
2055
|
children: e
|
|
@@ -1970,8 +2057,8 @@ function Zn({ children: e, tooltip: t, anchorRef: n }) {
|
|
|
1970
2057
|
}
|
|
1971
2058
|
//#endregion
|
|
1972
2059
|
//#region src/components/bars/common/DraggableBar.tsx
|
|
1973
|
-
function
|
|
1974
|
-
let _ = p(null), y = !l && !u, b =
|
|
2060
|
+
function or({ left: e, top: t, width: n, height: r, colWidth: i, dragAnchor: a, className: o, title: s, style: c, onMove: l, onMoveEnd: u, tooltip: d, onMouseEnter: f, onMouseLeave: m, children: h, ...g }) {
|
|
2061
|
+
let _ = p(null), y = !l && !u, b = Wn({
|
|
1975
2062
|
onStart: () => ({ start: a }),
|
|
1976
2063
|
onDrag: (e, { start: t }) => l?.(t + e),
|
|
1977
2064
|
onEnd: (e, { start: t }) => {
|
|
@@ -1980,7 +2067,7 @@ function Qn({ left: e, top: t, width: n, height: r, colWidth: i, dragAnchor: a,
|
|
|
1980
2067
|
},
|
|
1981
2068
|
autoScroll: !0
|
|
1982
2069
|
}), x = !!(l || u);
|
|
1983
|
-
return /* @__PURE__ */ v(
|
|
2070
|
+
return /* @__PURE__ */ v(ar, {
|
|
1984
2071
|
tooltip: d,
|
|
1985
2072
|
anchorRef: _,
|
|
1986
2073
|
children: /* @__PURE__ */ v("div", {
|
|
@@ -2003,25 +2090,27 @@ function Qn({ left: e, top: t, width: n, height: r, colWidth: i, dragAnchor: a,
|
|
|
2003
2090
|
})
|
|
2004
2091
|
});
|
|
2005
2092
|
}
|
|
2006
|
-
var
|
|
2007
|
-
milestone: "
|
|
2008
|
-
milestoneShape: "
|
|
2093
|
+
var sr = {
|
|
2094
|
+
milestone: "_milestone_unh27_1",
|
|
2095
|
+
milestoneShape: "_milestoneShape_unh27_5",
|
|
2096
|
+
critical: "_critical_unh27_12"
|
|
2009
2097
|
};
|
|
2010
2098
|
//#endregion
|
|
2011
2099
|
//#region src/components/bars/milestoneBar/MilestoneBar.tsx
|
|
2012
|
-
function
|
|
2013
|
-
let
|
|
2100
|
+
function cr({ size: e, centerLeft: t, top: n, colWidth: r, title: i, a11y: a, onMove: o, onMoveEnd: s, tooltip: c, isCritical: l = !1, slots: u, slotProps: d }) {
|
|
2101
|
+
let f = J(), p = u ?? f.bars?.milestoneBar?.slots, m = d ?? f.bars?.milestoneBar?.slotProps, h = {
|
|
2014
2102
|
size: e,
|
|
2015
|
-
title: i
|
|
2016
|
-
|
|
2017
|
-
|
|
2103
|
+
title: i,
|
|
2104
|
+
isCritical: l
|
|
2105
|
+
}, g = p?.root ?? or, _ = p?.shape ?? "div", y = X({
|
|
2106
|
+
className: sr.milestone,
|
|
2018
2107
|
...a,
|
|
2019
2108
|
title: a ? a.title : i
|
|
2020
|
-
},
|
|
2021
|
-
className:
|
|
2109
|
+
}, m?.root, h), b = X({
|
|
2110
|
+
className: Y(sr.milestoneShape, l && sr.critical),
|
|
2022
2111
|
"aria-hidden": !0
|
|
2023
|
-
},
|
|
2024
|
-
return /* @__PURE__ */ v(
|
|
2112
|
+
}, m?.shape, h);
|
|
2113
|
+
return /* @__PURE__ */ v(g, {
|
|
2025
2114
|
tooltip: c,
|
|
2026
2115
|
left: t - e / 2,
|
|
2027
2116
|
top: n,
|
|
@@ -2031,18 +2120,18 @@ function er({ size: e, centerLeft: t, top: n, colWidth: r, title: i, a11y: a, on
|
|
|
2031
2120
|
dragAnchor: t,
|
|
2032
2121
|
onMove: o,
|
|
2033
2122
|
onMoveEnd: s,
|
|
2034
|
-
...
|
|
2035
|
-
children: /* @__PURE__ */ v(
|
|
2123
|
+
...y,
|
|
2124
|
+
children: /* @__PURE__ */ v(_, { ...b })
|
|
2036
2125
|
});
|
|
2037
2126
|
}
|
|
2038
|
-
var
|
|
2127
|
+
var lr = {
|
|
2039
2128
|
barProgress: "_barProgress_1obm3_1",
|
|
2040
2129
|
barProgressResizeHandle: "_barProgressResizeHandle_1obm3_10"
|
|
2041
2130
|
};
|
|
2042
2131
|
//#endregion
|
|
2043
2132
|
//#region src/components/bars/progress/BarProgressResizeHandle.tsx
|
|
2044
|
-
function
|
|
2045
|
-
let o = J(), s = i ?? o.bars?.barProgressResizeHandle?.slots, c = a ?? o.bars?.barProgressResizeHandle?.slotProps, l = (e, t) => Math.min(Math.max(0, t + e), r), u =
|
|
2133
|
+
function ur({ width: e, onResize: t, onResizeEnd: n, parentWidth: r, slots: i, slotProps: a }) {
|
|
2134
|
+
let o = J(), s = i ?? o.bars?.barProgressResizeHandle?.slots, c = a ?? o.bars?.barProgressResizeHandle?.slotProps, l = (e, t) => Math.min(Math.max(0, t + e), r), u = Wn({
|
|
2046
2135
|
onStart: () => ({ startWidth: e }),
|
|
2047
2136
|
onDrag: (e, { startWidth: n }) => t(l(e, n)),
|
|
2048
2137
|
onEnd: (e, { startWidth: t }) => n?.(l(e, t))
|
|
@@ -2050,8 +2139,8 @@ function nr({ width: e, onResize: t, onResizeEnd: n, parentWidth: r, slots: i, s
|
|
|
2050
2139
|
width: e,
|
|
2051
2140
|
parentWidth: r
|
|
2052
2141
|
};
|
|
2053
|
-
return /* @__PURE__ */ v(s?.root ?? "div", { ...
|
|
2054
|
-
className:
|
|
2142
|
+
return /* @__PURE__ */ v(s?.root ?? "div", { ...X({
|
|
2143
|
+
className: lr.barProgressResizeHandle,
|
|
2055
2144
|
"aria-hidden": !0,
|
|
2056
2145
|
tabIndex: -1,
|
|
2057
2146
|
onMouseDown: u
|
|
@@ -2059,21 +2148,21 @@ function nr({ width: e, onResize: t, onResizeEnd: n, parentWidth: r, slots: i, s
|
|
|
2059
2148
|
}
|
|
2060
2149
|
//#endregion
|
|
2061
2150
|
//#region src/components/bars/progress/BarProgress.tsx
|
|
2062
|
-
function
|
|
2151
|
+
function dr({ progress: e, width: t, height: n, onProgressChange: r, onProgressEnd: i, slots: a, slotProps: o }) {
|
|
2063
2152
|
let s = J(), c = a ?? s.bars?.barProgress?.slots, l = o ?? s.bars?.barProgress?.slotProps, u = e / 100 * t, d = (e) => e / t * 100, f = {
|
|
2064
2153
|
progress: e,
|
|
2065
2154
|
width: u,
|
|
2066
2155
|
height: n
|
|
2067
2156
|
};
|
|
2068
2157
|
return /* @__PURE__ */ v(c?.root ?? "div", {
|
|
2069
|
-
...
|
|
2070
|
-
className:
|
|
2158
|
+
...X({
|
|
2159
|
+
className: lr.barProgress,
|
|
2071
2160
|
style: {
|
|
2072
2161
|
width: u,
|
|
2073
2162
|
height: n
|
|
2074
2163
|
}
|
|
2075
2164
|
}, l?.root, f),
|
|
2076
|
-
children: r && /* @__PURE__ */ v(
|
|
2165
|
+
children: r && /* @__PURE__ */ v(ur, {
|
|
2077
2166
|
width: u,
|
|
2078
2167
|
parentWidth: t,
|
|
2079
2168
|
onResize: (e) => r(d(e)),
|
|
@@ -2081,31 +2170,33 @@ function rr({ progress: e, width: t, height: n, onProgressChange: r, onProgressE
|
|
|
2081
2170
|
})
|
|
2082
2171
|
});
|
|
2083
2172
|
}
|
|
2084
|
-
var
|
|
2085
|
-
project: "
|
|
2086
|
-
|
|
2087
|
-
|
|
2173
|
+
var fr = {
|
|
2174
|
+
project: "_project_1xupy_1",
|
|
2175
|
+
critical: "_critical_1xupy_10",
|
|
2176
|
+
projectInner: "_projectInner_1xupy_14",
|
|
2177
|
+
projectContent: "_projectContent_1xupy_20"
|
|
2088
2178
|
};
|
|
2089
2179
|
//#endregion
|
|
2090
2180
|
//#region src/components/bars/projectBar/ProjectBar.tsx
|
|
2091
|
-
function
|
|
2092
|
-
let
|
|
2181
|
+
function pr({ width: e, height: t, left: n, top: r, colWidth: i, title: a, a11y: o, progress: s, onProgressChange: c, onProgressEnd: l, onMove: u, onMoveEnd: d, tooltip: f, isCritical: p = !1, slots: m, slotProps: h }) {
|
|
2182
|
+
let g = J(), _ = m ?? g.bars?.projectBar?.slots, b = h ?? g.bars?.projectBar?.slotProps, x = {
|
|
2093
2183
|
width: e,
|
|
2094
2184
|
height: t,
|
|
2095
2185
|
progress: s,
|
|
2096
|
-
title: a
|
|
2097
|
-
|
|
2098
|
-
|
|
2186
|
+
title: a,
|
|
2187
|
+
isCritical: p
|
|
2188
|
+
}, S = _?.root ?? or, C = _?.inner ?? "div", w = _?.label ?? "div", T = X({
|
|
2189
|
+
className: Y(fr.project, p && fr.critical),
|
|
2099
2190
|
style: { lineHeight: `${t}px` },
|
|
2100
2191
|
...o
|
|
2101
|
-
},
|
|
2102
|
-
className:
|
|
2192
|
+
}, b?.root, x), E = X({
|
|
2193
|
+
className: fr.projectInner,
|
|
2103
2194
|
"aria-hidden": !0
|
|
2104
|
-
},
|
|
2105
|
-
className:
|
|
2195
|
+
}, b?.inner, x), D = X({
|
|
2196
|
+
className: fr.projectContent,
|
|
2106
2197
|
children: a
|
|
2107
|
-
},
|
|
2108
|
-
return /* @__PURE__ */ v(
|
|
2198
|
+
}, b?.label, x);
|
|
2199
|
+
return /* @__PURE__ */ v(S, {
|
|
2109
2200
|
tooltip: f,
|
|
2110
2201
|
left: n,
|
|
2111
2202
|
top: r,
|
|
@@ -2115,31 +2206,32 @@ function ar({ width: e, height: t, left: n, top: r, colWidth: i, title: a, a11y:
|
|
|
2115
2206
|
dragAnchor: n,
|
|
2116
2207
|
onMove: u,
|
|
2117
2208
|
onMoveEnd: d,
|
|
2118
|
-
...
|
|
2119
|
-
children: /* @__PURE__ */ y(
|
|
2120
|
-
...
|
|
2121
|
-
children: [/* @__PURE__ */ v(
|
|
2209
|
+
...T,
|
|
2210
|
+
children: /* @__PURE__ */ y(C, {
|
|
2211
|
+
...E,
|
|
2212
|
+
children: [/* @__PURE__ */ v(dr, {
|
|
2122
2213
|
width: e,
|
|
2123
2214
|
height: t,
|
|
2124
2215
|
progress: s,
|
|
2125
2216
|
onProgressChange: c,
|
|
2126
2217
|
onProgressEnd: l
|
|
2127
|
-
}), /* @__PURE__ */ v(
|
|
2218
|
+
}), /* @__PURE__ */ v(w, { ...D })]
|
|
2128
2219
|
})
|
|
2129
2220
|
});
|
|
2130
2221
|
}
|
|
2131
|
-
var
|
|
2132
|
-
task: "
|
|
2133
|
-
|
|
2134
|
-
|
|
2135
|
-
|
|
2136
|
-
|
|
2137
|
-
|
|
2222
|
+
var mr = {
|
|
2223
|
+
task: "_task_j74mw_1",
|
|
2224
|
+
critical: "_critical_j74mw_9",
|
|
2225
|
+
taskInner: "_taskInner_j74mw_13",
|
|
2226
|
+
taskContent: "_taskContent_j74mw_19",
|
|
2227
|
+
resizer: "_resizer_j74mw_32",
|
|
2228
|
+
startResizer: "_startResizer_j74mw_63",
|
|
2229
|
+
endResizer: "_endResizer_j74mw_66"
|
|
2138
2230
|
};
|
|
2139
2231
|
//#endregion
|
|
2140
2232
|
//#region src/components/bars/taskBar/TaskResizer.tsx
|
|
2141
|
-
function
|
|
2142
|
-
let s = J(), c = a ?? s.bars?.taskResizer?.slots, l = o ?? s.bars?.taskResizer?.slotProps, u =
|
|
2233
|
+
function hr({ width: e, left: t, colWidth: n, onResize: r, onResizeEnd: i, slots: a, slotProps: o }) {
|
|
2234
|
+
let s = J(), c = a ?? s.bars?.taskResizer?.slots, l = o ?? s.bars?.taskResizer?.slotProps, u = Wn({
|
|
2143
2235
|
onStart: () => ({
|
|
2144
2236
|
startWidth: e,
|
|
2145
2237
|
startLeft: t
|
|
@@ -2152,7 +2244,7 @@ function sr({ width: e, left: t, colWidth: n, onResize: r, onResizeEnd: i, slots
|
|
|
2152
2244
|
let a = r + Math.min(e, t);
|
|
2153
2245
|
i("start", Math.round(a / n) * n);
|
|
2154
2246
|
}
|
|
2155
|
-
}), d =
|
|
2247
|
+
}), d = Wn({
|
|
2156
2248
|
onStart: () => ({
|
|
2157
2249
|
startWidth: e,
|
|
2158
2250
|
startLeft: t
|
|
@@ -2167,42 +2259,43 @@ function sr({ width: e, left: t, colWidth: n, onResize: r, onResizeEnd: i, slots
|
|
|
2167
2259
|
}), f = {
|
|
2168
2260
|
width: e,
|
|
2169
2261
|
left: t
|
|
2170
|
-
}, p = c?.startHandle ?? "button", m = c?.endHandle ?? "button", h =
|
|
2262
|
+
}, p = c?.startHandle ?? "button", m = c?.endHandle ?? "button", h = X({
|
|
2171
2263
|
type: "button",
|
|
2172
2264
|
"aria-hidden": !0,
|
|
2173
2265
|
tabIndex: -1,
|
|
2174
|
-
className:
|
|
2266
|
+
className: Y(mr.resizer, mr.startResizer),
|
|
2175
2267
|
onMouseDown: u
|
|
2176
|
-
}, l?.startHandle, f), g =
|
|
2268
|
+
}, l?.startHandle, f), g = X({
|
|
2177
2269
|
type: "button",
|
|
2178
2270
|
"aria-hidden": !0,
|
|
2179
2271
|
tabIndex: -1,
|
|
2180
|
-
className:
|
|
2272
|
+
className: Y(mr.resizer, mr.endResizer),
|
|
2181
2273
|
onMouseDown: d
|
|
2182
2274
|
}, l?.endHandle, f);
|
|
2183
2275
|
return /* @__PURE__ */ y(_, { children: [/* @__PURE__ */ v(p, { ...h }), /* @__PURE__ */ v(m, { ...g })] });
|
|
2184
2276
|
}
|
|
2185
2277
|
//#endregion
|
|
2186
2278
|
//#region src/components/bars/taskBar/TaskBar.tsx
|
|
2187
|
-
function
|
|
2188
|
-
let
|
|
2279
|
+
function gr({ width: e, height: t, left: n, top: r, colWidth: i, title: a, a11y: o, progress: s = 30, onProgressChange: c, onProgressEnd: l, onResize: u, onResizeEnd: d, onMove: f, onMoveEnd: p, tooltip: m, isCritical: h = !1, slots: g, slotProps: _ }) {
|
|
2280
|
+
let b = J(), x = g ?? b.bars?.taskBar?.slots, S = _ ?? b.bars?.taskBar?.slotProps, C = {
|
|
2189
2281
|
width: e,
|
|
2190
2282
|
height: t,
|
|
2191
2283
|
progress: s,
|
|
2192
|
-
title: a
|
|
2193
|
-
|
|
2194
|
-
|
|
2284
|
+
title: a,
|
|
2285
|
+
isCritical: h
|
|
2286
|
+
}, w = x?.root ?? or, T = x?.inner ?? "div", E = x?.label ?? "div", D = X({
|
|
2287
|
+
className: Y(mr.task, "am-gantt-bar-task", h && [mr.critical, "am-gantt-bar-task--critical"]),
|
|
2195
2288
|
style: { lineHeight: `${t}px` },
|
|
2196
2289
|
...o
|
|
2197
|
-
},
|
|
2198
|
-
className:
|
|
2290
|
+
}, S?.root, C), O = X({
|
|
2291
|
+
className: mr.taskInner,
|
|
2199
2292
|
"aria-hidden": !0
|
|
2200
|
-
},
|
|
2201
|
-
className:
|
|
2293
|
+
}, S?.inner, C), k = X({
|
|
2294
|
+
className: mr.taskContent,
|
|
2202
2295
|
title: o?.title,
|
|
2203
2296
|
children: a
|
|
2204
|
-
},
|
|
2205
|
-
return /* @__PURE__ */ v(
|
|
2297
|
+
}, S?.label, C);
|
|
2298
|
+
return /* @__PURE__ */ v(w, {
|
|
2206
2299
|
tooltip: m,
|
|
2207
2300
|
left: n,
|
|
2208
2301
|
top: r,
|
|
@@ -2212,19 +2305,19 @@ function cr({ width: e, height: t, left: n, top: r, colWidth: i, title: a, a11y:
|
|
|
2212
2305
|
dragAnchor: n,
|
|
2213
2306
|
onMove: f,
|
|
2214
2307
|
onMoveEnd: p,
|
|
2215
|
-
...
|
|
2216
|
-
children: /* @__PURE__ */ y(
|
|
2217
|
-
...
|
|
2308
|
+
...D,
|
|
2309
|
+
children: /* @__PURE__ */ y(T, {
|
|
2310
|
+
...O,
|
|
2218
2311
|
children: [
|
|
2219
|
-
/* @__PURE__ */ v(
|
|
2312
|
+
/* @__PURE__ */ v(dr, {
|
|
2220
2313
|
width: e,
|
|
2221
2314
|
height: t,
|
|
2222
2315
|
progress: s,
|
|
2223
2316
|
onProgressChange: c,
|
|
2224
2317
|
onProgressEnd: l
|
|
2225
2318
|
}),
|
|
2226
|
-
/* @__PURE__ */ v(
|
|
2227
|
-
u && d && /* @__PURE__ */ v(
|
|
2319
|
+
/* @__PURE__ */ v(E, { ...k }),
|
|
2320
|
+
u && d && /* @__PURE__ */ v(hr, {
|
|
2228
2321
|
width: e,
|
|
2229
2322
|
left: n,
|
|
2230
2323
|
colWidth: i,
|
|
@@ -2235,12 +2328,12 @@ function cr({ width: e, height: t, left: n, top: r, colWidth: i, title: a, a11y:
|
|
|
2235
2328
|
})
|
|
2236
2329
|
});
|
|
2237
2330
|
}
|
|
2238
|
-
var
|
|
2331
|
+
var _r = {
|
|
2239
2332
|
handle: "_handle_fw6gu_1",
|
|
2240
2333
|
visible: "_visible_fw6gu_18"
|
|
2241
|
-
},
|
|
2242
|
-
function
|
|
2243
|
-
let s = J(), c = a ?? s.bars?.connectorHandles?.slots, l = o ?? s.bars?.connectorHandles?.slotProps, { startDrag: u, endDrag: d } =
|
|
2334
|
+
}, vr = 10 / 2;
|
|
2335
|
+
function yr({ taskId: e, barLeft: t, barWidth: n, barCenterY: r, show: i, slots: a, slotProps: o }) {
|
|
2336
|
+
let s = J(), c = a ?? s.bars?.connectorHandles?.slots, l = o ?? s.bars?.connectorHandles?.slotProps, { startDrag: u, endDrag: d } = Sn(), f = wn(), { gridBodyRef: p } = vn(), m = (e, t) => {
|
|
2244
2337
|
let n = p.current?.getBoundingClientRect();
|
|
2245
2338
|
if (!n) return {
|
|
2246
2339
|
x: 0,
|
|
@@ -2271,140 +2364,143 @@ function dr({ taskId: e, barLeft: t, barWidth: n, barCenterY: r, show: i, slots:
|
|
|
2271
2364
|
barCenterY: r,
|
|
2272
2365
|
show: i,
|
|
2273
2366
|
isDragging: f
|
|
2274
|
-
}, x = c?.startHandle ?? "div", S = c?.endHandle ?? "div", C = i || f, w =
|
|
2367
|
+
}, x = c?.startHandle ?? "div", S = c?.endHandle ?? "div", C = i || f, w = X({
|
|
2275
2368
|
"aria-hidden": !0,
|
|
2276
2369
|
tabIndex: -1,
|
|
2277
|
-
className:
|
|
2370
|
+
className: Y(_r.handle, C && _r.visible),
|
|
2278
2371
|
style: {
|
|
2279
2372
|
left: t - 10,
|
|
2280
|
-
top: r -
|
|
2373
|
+
top: r - vr
|
|
2281
2374
|
},
|
|
2282
2375
|
onMouseDown: (e) => h(e, "start"),
|
|
2283
2376
|
onMouseUp: (e) => g(e, "start")
|
|
2284
|
-
}, l?.startHandle, b), T =
|
|
2377
|
+
}, l?.startHandle, b), T = X({
|
|
2285
2378
|
"aria-hidden": !0,
|
|
2286
2379
|
tabIndex: -1,
|
|
2287
|
-
className:
|
|
2380
|
+
className: Y(_r.handle, C && _r.visible),
|
|
2288
2381
|
style: {
|
|
2289
2382
|
left: t + n,
|
|
2290
|
-
top: r -
|
|
2383
|
+
top: r - vr
|
|
2291
2384
|
},
|
|
2292
2385
|
onMouseDown: (e) => h(e, "end"),
|
|
2293
2386
|
onMouseUp: (e) => g(e, "end")
|
|
2294
2387
|
}, l?.endHandle, b);
|
|
2295
2388
|
return /* @__PURE__ */ y(_, { children: [/* @__PURE__ */ v(x, { ...w }), /* @__PURE__ */ v(S, { ...T })] });
|
|
2296
2389
|
}
|
|
2297
|
-
var
|
|
2298
|
-
let p =
|
|
2299
|
-
startDate:
|
|
2300
|
-
endDate:
|
|
2301
|
-
}),
|
|
2302
|
-
startDate:
|
|
2303
|
-
endDate:
|
|
2304
|
-
}),
|
|
2390
|
+
var br = { row: "_row_1hdsc_13" }, xr = i(function({ task: e, index: t, origin: n, colWidth: r, rowHeight: i, unit: o, override: s, onOverride: c, onUpdate: l, onCommit: u, onTaskClick: d, rowIndexOffset: f }) {
|
|
2391
|
+
let p = rn(), h = cn(), g = gn() === e.id, _ = un()?.criticalTaskIds.has(e.id) ?? !1, b = on(), x = J().bars?.tooltip?.slots?.tooltip, { left: S, width: C, progress: w } = At(e, s || {}, n, r, o), T = t * i, E = S, D = i - 12, O = 6 + D / 2, k = e.type === "milestone", A = k ? E - D / 2 : E, j = k ? D - 1 : C, [M, N] = m(!1), ee = (e) => ({
|
|
2392
|
+
startDate: jt(e, n, r, o),
|
|
2393
|
+
endDate: jt(e + C, n, r, o)
|
|
2394
|
+
}), te = (e, t) => ({
|
|
2395
|
+
startDate: jt(t, n, r, o),
|
|
2396
|
+
endDate: jt(t + e, n, r, o)
|
|
2397
|
+
}), ne = (t) => {
|
|
2305
2398
|
c(e.id, t);
|
|
2306
|
-
},
|
|
2399
|
+
}, P = (e, t) => {
|
|
2307
2400
|
a(() => {
|
|
2308
2401
|
l(e, t), c(e, null);
|
|
2309
2402
|
});
|
|
2310
|
-
},
|
|
2403
|
+
}, F = (t) => {
|
|
2311
2404
|
a(() => {
|
|
2312
2405
|
u(e.id, t), c(e.id, null);
|
|
2313
2406
|
});
|
|
2314
|
-
},
|
|
2407
|
+
}, I = (e) => ({
|
|
2315
2408
|
kind: "move",
|
|
2316
|
-
startDate:
|
|
2317
|
-
}),
|
|
2318
|
-
onMove: (e) =>
|
|
2319
|
-
onMoveEnd: (e) => I(
|
|
2409
|
+
startDate: jt(e, n, r, o)
|
|
2410
|
+
}), L = h ? {} : {
|
|
2411
|
+
onMove: (e) => ne(ee(e)),
|
|
2412
|
+
onMoveEnd: (e) => F(I(e))
|
|
2413
|
+
}, R = h ? {} : {
|
|
2414
|
+
onProgressChange: (e) => ne({ progress: e }),
|
|
2415
|
+
onProgressEnd: (t) => P(e.id, { progress: t })
|
|
2320
2416
|
}, z = h ? {} : {
|
|
2321
|
-
|
|
2322
|
-
|
|
2323
|
-
}, B = h ? {} : {
|
|
2324
|
-
onResize: (e, t) => F(P(e, t)),
|
|
2325
|
-
onResizeEnd: (e, t) => I(e === "start" ? {
|
|
2417
|
+
onResize: (e, t) => ne(te(e, t)),
|
|
2418
|
+
onResizeEnd: (e, t) => F(e === "start" ? {
|
|
2326
2419
|
kind: "resizeStart",
|
|
2327
|
-
startDate:
|
|
2420
|
+
startDate: jt(t, n, r, o)
|
|
2328
2421
|
} : {
|
|
2329
2422
|
kind: "resizeEnd",
|
|
2330
|
-
endDate:
|
|
2423
|
+
endDate: jt(t, n, r, o)
|
|
2331
2424
|
})
|
|
2332
|
-
},
|
|
2425
|
+
}, re = {
|
|
2333
2426
|
role: "gridcell",
|
|
2334
|
-
"aria-colindex": Math.max(1, Math.floor(
|
|
2335
|
-
"aria-colspan": Math.max(1, Math.round(
|
|
2336
|
-
"aria-label": p.bar(e, { progress:
|
|
2427
|
+
"aria-colindex": Math.max(1, Math.floor(E / r) + 1),
|
|
2428
|
+
"aria-colspan": Math.max(1, Math.round(C / r)),
|
|
2429
|
+
"aria-label": p.bar(e, { progress: w }),
|
|
2337
2430
|
"aria-selected": g || void 0,
|
|
2338
|
-
title:
|
|
2339
|
-
},
|
|
2431
|
+
title: x ? void 0 : e.name
|
|
2432
|
+
}, B = {
|
|
2340
2433
|
task: e,
|
|
2341
|
-
progress:
|
|
2342
|
-
displayEnd: Pe(e,
|
|
2434
|
+
progress: w,
|
|
2435
|
+
displayEnd: Pe(e, b)
|
|
2343
2436
|
};
|
|
2344
2437
|
return /* @__PURE__ */ y("div", {
|
|
2345
|
-
className:
|
|
2438
|
+
className: br.row,
|
|
2346
2439
|
style: {
|
|
2347
|
-
top:
|
|
2440
|
+
top: T,
|
|
2348
2441
|
height: i
|
|
2349
2442
|
},
|
|
2350
2443
|
onClick: d ? () => d(e) : void 0,
|
|
2351
|
-
onMouseEnter: () =>
|
|
2352
|
-
onMouseLeave: () =>
|
|
2444
|
+
onMouseEnter: () => N(!0),
|
|
2445
|
+
onMouseLeave: () => N(!1),
|
|
2353
2446
|
role: "row",
|
|
2354
2447
|
"aria-rowindex": f + t + 1,
|
|
2355
2448
|
children: [
|
|
2356
|
-
!h && /* @__PURE__ */ v(
|
|
2449
|
+
!h && /* @__PURE__ */ v(yr, {
|
|
2357
2450
|
taskId: e.id,
|
|
2358
|
-
barLeft:
|
|
2359
|
-
barWidth:
|
|
2360
|
-
barCenterY:
|
|
2361
|
-
show:
|
|
2451
|
+
barLeft: A,
|
|
2452
|
+
barWidth: j,
|
|
2453
|
+
barCenterY: O,
|
|
2454
|
+
show: M
|
|
2362
2455
|
}),
|
|
2363
|
-
e.type === "milestone" && /* @__PURE__ */ v(
|
|
2364
|
-
tooltip:
|
|
2365
|
-
size:
|
|
2366
|
-
centerLeft:
|
|
2456
|
+
e.type === "milestone" && /* @__PURE__ */ v(cr, {
|
|
2457
|
+
tooltip: B,
|
|
2458
|
+
size: D,
|
|
2459
|
+
centerLeft: E,
|
|
2367
2460
|
top: 6,
|
|
2368
2461
|
colWidth: r,
|
|
2369
2462
|
title: e.name,
|
|
2370
|
-
a11y:
|
|
2371
|
-
|
|
2463
|
+
a11y: re,
|
|
2464
|
+
isCritical: _,
|
|
2465
|
+
...L
|
|
2372
2466
|
}),
|
|
2373
|
-
e.type === "summary" && /* @__PURE__ */ v(
|
|
2374
|
-
tooltip:
|
|
2375
|
-
left:
|
|
2467
|
+
e.type === "summary" && /* @__PURE__ */ v(pr, {
|
|
2468
|
+
tooltip: B,
|
|
2469
|
+
left: E,
|
|
2376
2470
|
top: 6,
|
|
2377
|
-
width:
|
|
2378
|
-
height:
|
|
2471
|
+
width: C,
|
|
2472
|
+
height: D,
|
|
2379
2473
|
colWidth: r,
|
|
2380
2474
|
title: e.name,
|
|
2381
|
-
a11y:
|
|
2382
|
-
progress:
|
|
2383
|
-
|
|
2384
|
-
...R
|
|
2475
|
+
a11y: re,
|
|
2476
|
+
progress: w,
|
|
2477
|
+
isCritical: _,
|
|
2478
|
+
...R,
|
|
2479
|
+
...L
|
|
2385
2480
|
}),
|
|
2386
|
-
e.type === "task" || !e.type ? /* @__PURE__ */ v(
|
|
2387
|
-
tooltip:
|
|
2388
|
-
left:
|
|
2481
|
+
e.type === "task" || !e.type ? /* @__PURE__ */ v(gr, {
|
|
2482
|
+
tooltip: B,
|
|
2483
|
+
left: E,
|
|
2389
2484
|
top: 6,
|
|
2390
|
-
width:
|
|
2391
|
-
height:
|
|
2485
|
+
width: C,
|
|
2486
|
+
height: D,
|
|
2392
2487
|
colWidth: r,
|
|
2393
2488
|
title: e.name,
|
|
2394
|
-
a11y:
|
|
2395
|
-
progress:
|
|
2396
|
-
|
|
2489
|
+
a11y: re,
|
|
2490
|
+
progress: w,
|
|
2491
|
+
isCritical: _,
|
|
2397
2492
|
...R,
|
|
2398
|
-
...
|
|
2493
|
+
...L,
|
|
2494
|
+
...z
|
|
2399
2495
|
}) : null
|
|
2400
2496
|
]
|
|
2401
2497
|
});
|
|
2402
2498
|
});
|
|
2403
|
-
|
|
2499
|
+
xr.displayName = "Row";
|
|
2404
2500
|
//#endregion
|
|
2405
2501
|
//#region src/components/dependency-links/geometry.ts
|
|
2406
|
-
var
|
|
2407
|
-
function
|
|
2502
|
+
var Sr = 12, Cr = {};
|
|
2503
|
+
function wr(e) {
|
|
2408
2504
|
let t = Infinity, n = Infinity, r = -Infinity, i = -Infinity;
|
|
2409
2505
|
for (let a of e) a.x < t && (t = a.x), a.x > r && (r = a.x), a.y < n && (n = a.y), a.y > i && (i = a.y);
|
|
2410
2506
|
return {
|
|
@@ -2414,7 +2510,7 @@ function gr(e) {
|
|
|
2414
2510
|
maxY: i
|
|
2415
2511
|
};
|
|
2416
2512
|
}
|
|
2417
|
-
function
|
|
2513
|
+
function Tr(e) {
|
|
2418
2514
|
if (e.length < 2) return e[0] ?? {
|
|
2419
2515
|
x: 0,
|
|
2420
2516
|
y: 0
|
|
@@ -2425,8 +2521,8 @@ function _r(e) {
|
|
|
2425
2521
|
y: (n.y + r.y) / 2
|
|
2426
2522
|
};
|
|
2427
2523
|
}
|
|
2428
|
-
function
|
|
2429
|
-
let { left: s, width: c } =
|
|
2524
|
+
function Er(e, t, n, { origin: r, colWidth: i, rowHeight: a, unit: o }) {
|
|
2525
|
+
let { left: s, width: c } = At(e, t, r, i, o);
|
|
2430
2526
|
if (e.type === "milestone") {
|
|
2431
2527
|
let t = (a - 12) / 2;
|
|
2432
2528
|
return {
|
|
@@ -2443,13 +2539,13 @@ function vr(e, t, n, { origin: r, colWidth: i, rowHeight: a, unit: o }) {
|
|
|
2443
2539
|
task: e
|
|
2444
2540
|
};
|
|
2445
2541
|
}
|
|
2446
|
-
function
|
|
2542
|
+
function Dr(e, t) {
|
|
2447
2543
|
let n = /* @__PURE__ */ new Map(), { rowHeight: r } = t;
|
|
2448
2544
|
return e.forEach((e, i) => {
|
|
2449
|
-
n.set(e.id,
|
|
2545
|
+
n.set(e.id, Er(e, Cr, i * r + r / 2, t));
|
|
2450
2546
|
}), n;
|
|
2451
2547
|
}
|
|
2452
|
-
function
|
|
2548
|
+
function Or(e, t) {
|
|
2453
2549
|
let n = (e.x + t.x) / 2;
|
|
2454
2550
|
return [
|
|
2455
2551
|
e,
|
|
@@ -2464,8 +2560,8 @@ function br(e, t) {
|
|
|
2464
2560
|
t
|
|
2465
2561
|
];
|
|
2466
2562
|
}
|
|
2467
|
-
function
|
|
2468
|
-
let i = e.x + n *
|
|
2563
|
+
function kr(e, t, n, r) {
|
|
2564
|
+
let i = e.x + n * Sr, a = t.x - r * Sr, o = (e.y + t.y) / 2;
|
|
2469
2565
|
return [
|
|
2470
2566
|
e,
|
|
2471
2567
|
{
|
|
@@ -2487,7 +2583,7 @@ function xr(e, t, n, r) {
|
|
|
2487
2583
|
t
|
|
2488
2584
|
];
|
|
2489
2585
|
}
|
|
2490
|
-
function
|
|
2586
|
+
function Ar(e, t, n) {
|
|
2491
2587
|
return [
|
|
2492
2588
|
e,
|
|
2493
2589
|
{
|
|
@@ -2501,7 +2597,7 @@ function Sr(e, t, n) {
|
|
|
2501
2597
|
t
|
|
2502
2598
|
];
|
|
2503
2599
|
}
|
|
2504
|
-
function
|
|
2600
|
+
function jr(e, t, n) {
|
|
2505
2601
|
let r = t.centerY, i = n.centerY;
|
|
2506
2602
|
switch (e) {
|
|
2507
2603
|
case "FS": {
|
|
@@ -2512,22 +2608,22 @@ function Cr(e, t, n) {
|
|
|
2512
2608
|
x: n.startX,
|
|
2513
2609
|
y: i
|
|
2514
2610
|
};
|
|
2515
|
-
return n.startX >= t.endX + 2 *
|
|
2611
|
+
return n.startX >= t.endX + 2 * Sr ? Or(e, a) : kr(e, a, 1, 1);
|
|
2516
2612
|
}
|
|
2517
|
-
case "SS": return
|
|
2613
|
+
case "SS": return Ar({
|
|
2518
2614
|
x: t.startX,
|
|
2519
2615
|
y: r
|
|
2520
2616
|
}, {
|
|
2521
2617
|
x: n.startX,
|
|
2522
2618
|
y: i
|
|
2523
|
-
}, Math.min(t.startX, n.startX) -
|
|
2524
|
-
case "FF": return
|
|
2619
|
+
}, Math.min(t.startX, n.startX) - Sr);
|
|
2620
|
+
case "FF": return Ar({
|
|
2525
2621
|
x: t.endX,
|
|
2526
2622
|
y: r
|
|
2527
2623
|
}, {
|
|
2528
2624
|
x: n.endX,
|
|
2529
2625
|
y: i
|
|
2530
|
-
}, Math.max(t.endX, n.endX) +
|
|
2626
|
+
}, Math.max(t.endX, n.endX) + Sr);
|
|
2531
2627
|
case "SF": {
|
|
2532
2628
|
let e = {
|
|
2533
2629
|
x: t.startX,
|
|
@@ -2536,36 +2632,36 @@ function Cr(e, t, n) {
|
|
|
2536
2632
|
x: n.endX,
|
|
2537
2633
|
y: i
|
|
2538
2634
|
};
|
|
2539
|
-
return n.endX <= t.startX - 2 *
|
|
2635
|
+
return n.endX <= t.startX - 2 * Sr ? Or(e, a) : kr(e, a, -1, -1);
|
|
2540
2636
|
}
|
|
2541
2637
|
}
|
|
2542
2638
|
}
|
|
2543
|
-
function
|
|
2544
|
-
let r =
|
|
2639
|
+
function Mr({ tasks: e, dependencies: t, ...n }) {
|
|
2640
|
+
let r = Dr(e, n), i = [];
|
|
2545
2641
|
for (let e of t) {
|
|
2546
2642
|
let t = r.get(e.from), n = r.get(e.to);
|
|
2547
|
-
!t || !n || i.push(
|
|
2643
|
+
!t || !n || i.push(Nr(e, t, n));
|
|
2548
2644
|
}
|
|
2549
2645
|
let a = null;
|
|
2550
2646
|
return {
|
|
2551
2647
|
links: i,
|
|
2552
2648
|
boxes: r,
|
|
2553
2649
|
linksTouching(e) {
|
|
2554
|
-
return a ??=
|
|
2650
|
+
return a ??= Pr(i), a.get(e);
|
|
2555
2651
|
}
|
|
2556
2652
|
};
|
|
2557
2653
|
}
|
|
2558
|
-
function
|
|
2559
|
-
let r =
|
|
2654
|
+
function Nr(e, t, n) {
|
|
2655
|
+
let r = jr(e.type, t, n);
|
|
2560
2656
|
return {
|
|
2561
2657
|
id: `${e.from}->${e.to}`,
|
|
2562
2658
|
type: e.type,
|
|
2563
2659
|
points: r,
|
|
2564
|
-
bounds:
|
|
2660
|
+
bounds: wr(r),
|
|
2565
2661
|
dep: e
|
|
2566
2662
|
};
|
|
2567
2663
|
}
|
|
2568
|
-
function
|
|
2664
|
+
function Pr(e) {
|
|
2569
2665
|
let t = /* @__PURE__ */ new Map(), n = (e, n) => {
|
|
2570
2666
|
let r = t.get(e);
|
|
2571
2667
|
r ? r.push(n) : t.set(e, [n]);
|
|
@@ -2574,26 +2670,26 @@ function Er(e) {
|
|
|
2574
2670
|
n(String(e.dep.from), t), n(String(e.dep.to), t);
|
|
2575
2671
|
}), t;
|
|
2576
2672
|
}
|
|
2577
|
-
function
|
|
2673
|
+
function Fr(e, t, n) {
|
|
2578
2674
|
let r = Object.keys(t);
|
|
2579
2675
|
if (r.length === 0) return e.links;
|
|
2580
2676
|
let i = /* @__PURE__ */ new Map(), a = (r) => {
|
|
2581
2677
|
let a = e.boxes.get(r), o = a && t[String(r)];
|
|
2582
2678
|
if (!a || !o) return a;
|
|
2583
2679
|
let s = i.get(r);
|
|
2584
|
-
return s || (s =
|
|
2680
|
+
return s || (s = Er(a.task, o, a.centerY, n), i.set(r, s)), s;
|
|
2585
2681
|
}, o = null;
|
|
2586
2682
|
for (let t of r) for (let n of e.linksTouching(t) ?? []) {
|
|
2587
2683
|
let { dep: t } = e.links[n], r = a(t.from), i = a(t.to);
|
|
2588
|
-
!r || !i || (o ??= e.links.slice(), o[n] =
|
|
2684
|
+
!r || !i || (o ??= e.links.slice(), o[n] = Nr(t, r, i));
|
|
2589
2685
|
}
|
|
2590
2686
|
return o ?? e.links;
|
|
2591
2687
|
}
|
|
2592
2688
|
//#endregion
|
|
2593
2689
|
//#region src/components/dependency-links/DependencyLinksContext.tsx
|
|
2594
|
-
var
|
|
2595
|
-
function
|
|
2596
|
-
let c = f(() =>
|
|
2690
|
+
var Ir = n(null);
|
|
2691
|
+
function Lr({ tasks: e, dependencies: t, origin: n, colWidth: r, rowHeight: i, unit: a, children: o, overrides: s }) {
|
|
2692
|
+
let c = f(() => Mr({
|
|
2597
2693
|
tasks: e,
|
|
2598
2694
|
dependencies: t,
|
|
2599
2695
|
origin: n,
|
|
@@ -2607,7 +2703,7 @@ function kr({ tasks: e, dependencies: t, origin: n, colWidth: r, rowHeight: i, u
|
|
|
2607
2703
|
r,
|
|
2608
2704
|
i,
|
|
2609
2705
|
a
|
|
2610
|
-
]), l = f(() =>
|
|
2706
|
+
]), l = f(() => Fr(c, s, {
|
|
2611
2707
|
origin: n,
|
|
2612
2708
|
colWidth: r,
|
|
2613
2709
|
rowHeight: i,
|
|
@@ -2620,31 +2716,33 @@ function kr({ tasks: e, dependencies: t, origin: n, colWidth: r, rowHeight: i, u
|
|
|
2620
2716
|
i,
|
|
2621
2717
|
a
|
|
2622
2718
|
]);
|
|
2623
|
-
return /* @__PURE__ */ v(
|
|
2719
|
+
return /* @__PURE__ */ v(Ir.Provider, {
|
|
2624
2720
|
value: l,
|
|
2625
2721
|
children: o
|
|
2626
2722
|
});
|
|
2627
2723
|
}
|
|
2628
|
-
function
|
|
2629
|
-
let e = s(
|
|
2724
|
+
function Rr() {
|
|
2725
|
+
let e = s(Ir);
|
|
2630
2726
|
if (e === null) throw Error("useDependencyLinks must be used within a <DependencyLinksProvider>");
|
|
2631
2727
|
return e;
|
|
2632
2728
|
}
|
|
2633
2729
|
var Z = {
|
|
2634
|
-
layer: "
|
|
2635
|
-
hitArea: "
|
|
2636
|
-
segment: "
|
|
2637
|
-
segmentSelected: "
|
|
2638
|
-
|
|
2639
|
-
|
|
2640
|
-
|
|
2641
|
-
|
|
2642
|
-
|
|
2643
|
-
|
|
2644
|
-
|
|
2730
|
+
layer: "_layer_jv7ss_1",
|
|
2731
|
+
hitArea: "_hitArea_jv7ss_8",
|
|
2732
|
+
segment: "_segment_jv7ss_15",
|
|
2733
|
+
segmentSelected: "_segmentSelected_jv7ss_21",
|
|
2734
|
+
segmentCritical: "_segmentCritical_jv7ss_25",
|
|
2735
|
+
arrowRight: "_arrowRight_jv7ss_30",
|
|
2736
|
+
arrowLeft: "_arrowLeft_jv7ss_31",
|
|
2737
|
+
arrowSelected: "_arrowSelected_jv7ss_48",
|
|
2738
|
+
arrowCritical: "_arrowCritical_jv7ss_56",
|
|
2739
|
+
lagLabel: "_lagLabel_jv7ss_69",
|
|
2740
|
+
deleteBtn: "_deleteBtn_jv7ss_83"
|
|
2741
|
+
}, Q = 2, zr = 8, Br = 6;
|
|
2742
|
+
function Vr(e, t) {
|
|
2645
2743
|
return t ? e.minX <= t.maxX && e.maxX >= t.minX && e.minY <= t.maxY && e.maxY >= t.minY : !0;
|
|
2646
2744
|
}
|
|
2647
|
-
function
|
|
2745
|
+
function Hr(e, t) {
|
|
2648
2746
|
return e.y === t.y ? {
|
|
2649
2747
|
left: Math.min(e.x, t.x) - Q / 2,
|
|
2650
2748
|
top: e.y - Q / 2,
|
|
@@ -2657,62 +2755,62 @@ function Pr(e, t) {
|
|
|
2657
2755
|
height: Math.abs(t.y - e.y) + Q
|
|
2658
2756
|
};
|
|
2659
2757
|
}
|
|
2660
|
-
function
|
|
2758
|
+
function Ur(e, t) {
|
|
2661
2759
|
return e.y === t.y ? {
|
|
2662
2760
|
left: Math.min(e.x, t.x) - Q / 2,
|
|
2663
|
-
top: e.y -
|
|
2761
|
+
top: e.y - Br,
|
|
2664
2762
|
width: Math.abs(t.x - e.x) + Q,
|
|
2665
|
-
height: Q +
|
|
2763
|
+
height: Q + Br * 2
|
|
2666
2764
|
} : {
|
|
2667
|
-
left: e.x -
|
|
2765
|
+
left: e.x - Br,
|
|
2668
2766
|
top: Math.min(e.y, t.y) - Q / 2,
|
|
2669
|
-
width: Q +
|
|
2767
|
+
width: Q + Br * 2,
|
|
2670
2768
|
height: Math.abs(t.y - e.y) + Q
|
|
2671
2769
|
};
|
|
2672
2770
|
}
|
|
2673
|
-
function
|
|
2771
|
+
function Wr(e) {
|
|
2674
2772
|
let t = [];
|
|
2675
2773
|
for (let n = 0; n + 1 < e.length; n++) t.push([e[n], e[n + 1]]);
|
|
2676
2774
|
return t;
|
|
2677
2775
|
}
|
|
2678
|
-
function
|
|
2776
|
+
function Gr(e) {
|
|
2679
2777
|
let t = e[e.length - 1], n = e[e.length - 2], r = t.x >= n.x;
|
|
2680
2778
|
return {
|
|
2681
2779
|
className: r ? Z.arrowRight : Z.arrowLeft,
|
|
2682
2780
|
style: {
|
|
2683
|
-
left: r ? t.x -
|
|
2684
|
-
top: t.y -
|
|
2781
|
+
left: r ? t.x - zr : t.x,
|
|
2782
|
+
top: t.y - zr / 2
|
|
2685
2783
|
}
|
|
2686
2784
|
};
|
|
2687
2785
|
}
|
|
2688
|
-
function
|
|
2689
|
-
let s = J(), c = a ?? s.dependencies?.links?.slots, u = o ?? s.dependencies?.links?.slotProps, d =
|
|
2786
|
+
function Kr({ width: t, height: n, onDependencyDelete: r, visibleRect: i, slots: a, slotProps: o }) {
|
|
2787
|
+
let s = J(), c = a ?? s.dependencies?.links?.slots, u = o ?? s.dependencies?.links?.slotProps, d = rn(), f = cn(), p = un(), h = Rr(), [g, _] = m(null), [b, x] = m(null), S = g ? h.find((e) => e.id === g) : null;
|
|
2690
2788
|
if (l(() => {
|
|
2691
|
-
if (!
|
|
2789
|
+
if (!g) return;
|
|
2692
2790
|
let e = (e) => {
|
|
2693
|
-
(e.key === "Delete" || e.key === "Backspace") && (
|
|
2791
|
+
(e.key === "Delete" || e.key === "Backspace") && (S && r?.(S.dep), _(null), x(null));
|
|
2694
2792
|
};
|
|
2695
2793
|
return window.addEventListener("keydown", e), () => window.removeEventListener("keydown", e);
|
|
2696
2794
|
}, [
|
|
2697
|
-
|
|
2698
|
-
|
|
2795
|
+
g,
|
|
2796
|
+
S,
|
|
2699
2797
|
r
|
|
2700
|
-
]),
|
|
2701
|
-
let
|
|
2702
|
-
if (t.stopPropagation(),
|
|
2798
|
+
]), h.length === 0) return null;
|
|
2799
|
+
let C = (e, t) => {
|
|
2800
|
+
if (t.stopPropagation(), g === e) _(null), x(null);
|
|
2703
2801
|
else {
|
|
2704
|
-
|
|
2802
|
+
_(e);
|
|
2705
2803
|
let n = t.currentTarget.closest(`.${Z.layer}`)?.getBoundingClientRect();
|
|
2706
|
-
|
|
2804
|
+
x(n ? {
|
|
2707
2805
|
x: t.clientX - n.left,
|
|
2708
2806
|
y: t.clientY - n.top
|
|
2709
2807
|
} : null);
|
|
2710
2808
|
}
|
|
2711
|
-
},
|
|
2712
|
-
e.stopPropagation(),
|
|
2713
|
-
},
|
|
2714
|
-
return /* @__PURE__ */ y(
|
|
2715
|
-
...
|
|
2809
|
+
}, w = (e) => {
|
|
2810
|
+
e.stopPropagation(), S && r?.(S.dep), _(null), x(null);
|
|
2811
|
+
}, T = c?.layer ?? "div", E = c?.segment ?? "div", D = c?.arrow ?? "div", O = c?.lagLabel ?? "div", k = c?.deleteButton ?? "button";
|
|
2812
|
+
return /* @__PURE__ */ y(T, {
|
|
2813
|
+
...X({
|
|
2716
2814
|
className: Z.layer,
|
|
2717
2815
|
style: {
|
|
2718
2816
|
width: t,
|
|
@@ -2721,41 +2819,43 @@ function Rr({ width: t, height: n, onDependencyDelete: r, visibleRect: i, slots:
|
|
|
2721
2819
|
role: "presentation",
|
|
2722
2820
|
"aria-hidden": !0,
|
|
2723
2821
|
onClick: () => {
|
|
2724
|
-
|
|
2822
|
+
_(null), x(null);
|
|
2725
2823
|
}
|
|
2726
2824
|
}, u?.layer, {
|
|
2727
2825
|
width: t,
|
|
2728
2826
|
height: n,
|
|
2729
|
-
linkCount:
|
|
2827
|
+
linkCount: h.length
|
|
2730
2828
|
}),
|
|
2731
|
-
children: [
|
|
2732
|
-
let n = t.id ===
|
|
2733
|
-
if (!n && !
|
|
2734
|
-
let r =
|
|
2829
|
+
children: [h.map((t) => {
|
|
2830
|
+
let n = t.id === g;
|
|
2831
|
+
if (!n && !Vr(t.bounds, i)) return null;
|
|
2832
|
+
let r = Gr(t.points), a = Wr(t.points), o = t.dep.lag ? Tr(t.points) : null, s = p?.criticalDependencyKeys.has(t.id) ?? !1, c = {
|
|
2735
2833
|
link: t,
|
|
2736
|
-
isSelected: n
|
|
2737
|
-
|
|
2738
|
-
|
|
2834
|
+
isSelected: n,
|
|
2835
|
+
isCritical: s
|
|
2836
|
+
}, l = X({
|
|
2837
|
+
className: Y(r.className, n && Z.arrowSelected, s && Z.arrowCritical),
|
|
2739
2838
|
style: r.style
|
|
2740
|
-
}, u?.arrow,
|
|
2839
|
+
}, u?.arrow, c);
|
|
2741
2840
|
return /* @__PURE__ */ y(e, { children: [
|
|
2742
2841
|
!f && a.map(([e, n]) => /* @__PURE__ */ v("div", {
|
|
2743
2842
|
className: Z.hitArea,
|
|
2744
|
-
style:
|
|
2745
|
-
onClick: (e) =>
|
|
2843
|
+
style: Ur(e, n),
|
|
2844
|
+
onClick: (e) => C(t.id, e)
|
|
2746
2845
|
}, `hit-${e.x},${e.y}-${n.x},${n.y}`)),
|
|
2747
|
-
a.map(([e, r], i) => /* @__PURE__ */ v(
|
|
2748
|
-
className:
|
|
2749
|
-
style:
|
|
2846
|
+
a.map(([e, r], i) => /* @__PURE__ */ v(E, { ...X({
|
|
2847
|
+
className: Y(Z.segment, n && Z.segmentSelected, s && Z.segmentCritical),
|
|
2848
|
+
style: Hr(e, r)
|
|
2750
2849
|
}, u?.segment, {
|
|
2751
2850
|
link: t,
|
|
2752
2851
|
isSelected: n,
|
|
2852
|
+
isCritical: s,
|
|
2753
2853
|
from: e,
|
|
2754
2854
|
to: r,
|
|
2755
2855
|
index: i
|
|
2756
2856
|
}) }, `seg-${e.x},${e.y}-${r.x},${r.y}`)),
|
|
2757
|
-
/* @__PURE__ */ v(
|
|
2758
|
-
o && t.dep.lag !== void 0 && t.dep.lag !== 0 && /* @__PURE__ */ v(
|
|
2857
|
+
/* @__PURE__ */ v(D, { ...l }),
|
|
2858
|
+
o && t.dep.lag !== void 0 && t.dep.lag !== 0 && /* @__PURE__ */ v(O, { ...X({
|
|
2759
2859
|
className: Z.lagLabel,
|
|
2760
2860
|
style: {
|
|
2761
2861
|
left: o.x,
|
|
@@ -2765,32 +2865,33 @@ function Rr({ width: t, height: n, onDependencyDelete: r, visibleRect: i, slots:
|
|
|
2765
2865
|
}, u?.lagLabel, {
|
|
2766
2866
|
link: t,
|
|
2767
2867
|
isSelected: n,
|
|
2868
|
+
isCritical: s,
|
|
2768
2869
|
lag: t.dep.lag
|
|
2769
2870
|
}) })
|
|
2770
2871
|
] }, t.id);
|
|
2771
|
-
}), !f &&
|
|
2872
|
+
}), !f && S && b && /* @__PURE__ */ v(k, { ...X({
|
|
2772
2873
|
className: Z.deleteBtn,
|
|
2773
2874
|
type: "button",
|
|
2774
2875
|
tabIndex: -1,
|
|
2775
2876
|
style: {
|
|
2776
|
-
left:
|
|
2777
|
-
top:
|
|
2877
|
+
left: b.x,
|
|
2878
|
+
top: b.y
|
|
2778
2879
|
},
|
|
2779
|
-
onClick:
|
|
2880
|
+
onClick: w,
|
|
2780
2881
|
"aria-label": d.deleteDependency,
|
|
2781
2882
|
children: "×"
|
|
2782
|
-
}, u?.deleteButton, { dependency:
|
|
2883
|
+
}, u?.deleteButton, { dependency: S.dep }) })]
|
|
2783
2884
|
});
|
|
2784
2885
|
}
|
|
2785
|
-
var
|
|
2886
|
+
var qr = { preview: "_preview_1jjzd_1" };
|
|
2786
2887
|
//#endregion
|
|
2787
2888
|
//#region src/components/dependency-links/DependencyPreview.tsx
|
|
2788
|
-
function
|
|
2789
|
-
let n = J(), r = e ?? n.dependencies?.preview?.slots, i = t ?? n.dependencies?.preview?.slotProps, a =
|
|
2889
|
+
function Jr({ slots: e, slotProps: t }) {
|
|
2890
|
+
let n = J(), r = e ?? n.dependencies?.preview?.slots, i = t ?? n.dependencies?.preview?.slotProps, a = En();
|
|
2790
2891
|
if (!a) return null;
|
|
2791
2892
|
let o = a.currentX - a.startX, s = a.currentY - a.startY, c = Math.hypot(o, s), l = 180 / Math.PI * Math.atan2(s, o);
|
|
2792
|
-
return /* @__PURE__ */ v(r?.root ?? "div", { ...
|
|
2793
|
-
className:
|
|
2893
|
+
return /* @__PURE__ */ v(r?.root ?? "div", { ...X({
|
|
2894
|
+
className: qr.preview,
|
|
2794
2895
|
style: {
|
|
2795
2896
|
left: a.startX,
|
|
2796
2897
|
top: a.startY,
|
|
@@ -2804,17 +2905,17 @@ function Br({ slots: e, slotProps: t }) {
|
|
|
2804
2905
|
angle: l
|
|
2805
2906
|
}) });
|
|
2806
2907
|
}
|
|
2807
|
-
var
|
|
2908
|
+
var Yr = {
|
|
2808
2909
|
cols: "_cols_kjab1_1",
|
|
2809
2910
|
col: "_col_kjab1_1",
|
|
2810
2911
|
colWeekend: "_colWeekend_kjab1_14"
|
|
2811
2912
|
};
|
|
2812
2913
|
//#endregion
|
|
2813
2914
|
//#region src/components/grid/GridColumns.tsx
|
|
2814
|
-
function
|
|
2815
|
-
let c = J(), l = o ?? c.timeline?.gridColumn?.slots, u = s ?? c.timeline?.gridColumn?.slotProps, d = l?.column ?? "div", { calendar: f } =
|
|
2915
|
+
function Xr({ dates: e, colWidth: t, bodyHeight: n, colRange: r, unit: i = "day", step: a = 1, slots: o, slotProps: s }) {
|
|
2916
|
+
let c = J(), l = o ?? c.timeline?.gridColumn?.slots, u = s ?? c.timeline?.gridColumn?.slotProps, d = l?.column ?? "div", { calendar: f } = on(), p = i === "day" || i === "hour" || i === "minute";
|
|
2816
2917
|
return /* @__PURE__ */ v("div", {
|
|
2817
|
-
className:
|
|
2918
|
+
className: Yr.cols,
|
|
2818
2919
|
role: "presentation",
|
|
2819
2920
|
"aria-hidden": !0,
|
|
2820
2921
|
children: e.slice(r.start, r.end).map((e, o) => {
|
|
@@ -2830,8 +2931,8 @@ function Hr({ dates: e, colWidth: t, bodyHeight: n, colRange: r, unit: i = "day"
|
|
|
2830
2931
|
colWidth: t,
|
|
2831
2932
|
bodyHeight: n
|
|
2832
2933
|
};
|
|
2833
|
-
return /* @__PURE__ */ v(d, { ...
|
|
2834
|
-
className:
|
|
2934
|
+
return /* @__PURE__ */ v(d, { ...X({
|
|
2935
|
+
className: Y(Yr.col, l && Yr.colWeekend),
|
|
2835
2936
|
style: {
|
|
2836
2937
|
left: s * t,
|
|
2837
2938
|
width: t,
|
|
@@ -2841,15 +2942,15 @@ function Hr({ dates: e, colWidth: t, bodyHeight: n, colRange: r, unit: i = "day"
|
|
|
2841
2942
|
})
|
|
2842
2943
|
});
|
|
2843
2944
|
}
|
|
2844
|
-
|
|
2845
|
-
var
|
|
2945
|
+
Xr.displayName = "GridColumns";
|
|
2946
|
+
var Zr = {
|
|
2846
2947
|
gridWrapper: "_gridWrapper_1tr84_1",
|
|
2847
2948
|
grid: "_grid_1tr84_1",
|
|
2848
2949
|
body: "_body_1tr84_17"
|
|
2849
2950
|
};
|
|
2850
2951
|
//#endregion
|
|
2851
2952
|
//#region src/core/virtualize.ts
|
|
2852
|
-
function
|
|
2953
|
+
function Qr(e, t, n, r, i = 0) {
|
|
2853
2954
|
if (r <= 0) return {
|
|
2854
2955
|
start: 0,
|
|
2855
2956
|
end: 0
|
|
@@ -2866,8 +2967,8 @@ function Wr(e, t, n, r, i = 0) {
|
|
|
2866
2967
|
}
|
|
2867
2968
|
//#endregion
|
|
2868
2969
|
//#region src/components/grid/Grid.tsx
|
|
2869
|
-
function
|
|
2870
|
-
let n = J(), r = e ?? n.timeline?.grid?.slots, i = t ?? n.timeline?.grid?.slotProps, { visibleTasks: a } =
|
|
2970
|
+
function $r({ slots: e, slotProps: t } = {}) {
|
|
2971
|
+
let n = J(), r = e ?? n.timeline?.grid?.slots, i = t ?? n.timeline?.grid?.slotProps, { visibleTasks: a } = fn(), { updateTask: s, commitTask: c, onTaskClick: u, setSelectedId: d } = mn(), { colWidth: p, rowHeight: h, scales: g, padDays: _, height: b } = tn(), x = rn(), { gridRef: S, onGridScroll: C, gridBodyRef: w } = vn(), T = bn(), { dependencies: E, onDependencyDelete: D } = Sn(), { zoomAt: O, zoomIn: k, zoomOut: A, wheelEnabled: j, keyboardEnabled: M } = On();
|
|
2871
2972
|
l(() => {
|
|
2872
2973
|
let e = S.current;
|
|
2873
2974
|
if (!e || !j && !M) return;
|
|
@@ -2891,10 +2992,10 @@ function Gr({ slots: e, slotProps: t } = {}) {
|
|
|
2891
2992
|
A,
|
|
2892
2993
|
a.length
|
|
2893
2994
|
]);
|
|
2894
|
-
let [N,
|
|
2995
|
+
let [N, ee] = m({}), te = o((e) => {
|
|
2895
2996
|
d(e.id), u?.(e);
|
|
2896
|
-
}, [d, u]),
|
|
2897
|
-
|
|
2997
|
+
}, [d, u]), ne = o((e, t) => {
|
|
2998
|
+
ee((n) => {
|
|
2898
2999
|
if (t === null) {
|
|
2899
3000
|
let { [e]: t, ...r } = n;
|
|
2900
3001
|
return r;
|
|
@@ -2907,90 +3008,90 @@ function Gr({ slots: e, slotProps: t } = {}) {
|
|
|
2907
3008
|
}
|
|
2908
3009
|
};
|
|
2909
3010
|
});
|
|
2910
|
-
}, []),
|
|
3011
|
+
}, []), P = f(() => Lt(a, _, g), [
|
|
2911
3012
|
a,
|
|
2912
3013
|
_,
|
|
2913
3014
|
g
|
|
2914
|
-
]),
|
|
2915
|
-
if (!
|
|
2916
|
-
let
|
|
2917
|
-
minX:
|
|
2918
|
-
maxX:
|
|
2919
|
-
minY:
|
|
2920
|
-
maxY:
|
|
2921
|
-
},
|
|
2922
|
-
totalWidth:
|
|
2923
|
-
bodyHeight:
|
|
3015
|
+
]), F = P[0]?.getTime(), I = f(() => F == null ? void 0 : new Date(F), [F]);
|
|
3016
|
+
if (!I) return null;
|
|
3017
|
+
let L = Nt(g), R = P.length * p, z = a.length * h, re = (g ?? Mt).length, B = Qr(T.scrollTop, T.clientHeight, h, a.length, 6), ie = Qr(T.scrollLeft, T.clientWidth, p, P.length, 4), ae = {
|
|
3018
|
+
minX: ie.start * p,
|
|
3019
|
+
maxX: ie.end * p,
|
|
3020
|
+
minY: B.start * h,
|
|
3021
|
+
maxY: B.end * h
|
|
3022
|
+
}, oe = r?.root ?? "div", se = r?.body ?? "div", ce = {
|
|
3023
|
+
totalWidth: R,
|
|
3024
|
+
bodyHeight: z,
|
|
2924
3025
|
height: b
|
|
2925
|
-
},
|
|
2926
|
-
className:
|
|
3026
|
+
}, le = X({
|
|
3027
|
+
className: Zr.gridWrapper,
|
|
2927
3028
|
style: b === void 0 ? {} : { height: b },
|
|
2928
3029
|
onScroll: C,
|
|
2929
3030
|
role: "grid",
|
|
2930
3031
|
"aria-label": x.timeline,
|
|
2931
|
-
"aria-rowcount":
|
|
2932
|
-
"aria-colcount":
|
|
2933
|
-
}, i?.root,
|
|
2934
|
-
className:
|
|
3032
|
+
"aria-rowcount": re + a.length,
|
|
3033
|
+
"aria-colcount": P.length
|
|
3034
|
+
}, i?.root, ce), ue = X({
|
|
3035
|
+
className: Zr.body,
|
|
2935
3036
|
style: {
|
|
2936
|
-
height:
|
|
2937
|
-
width:
|
|
3037
|
+
height: z,
|
|
3038
|
+
width: R
|
|
2938
3039
|
},
|
|
2939
3040
|
role: "rowgroup"
|
|
2940
|
-
}, i?.body,
|
|
2941
|
-
return /* @__PURE__ */ v(
|
|
3041
|
+
}, i?.body, ce);
|
|
3042
|
+
return /* @__PURE__ */ v(oe, {
|
|
2942
3043
|
ref: S,
|
|
2943
|
-
...
|
|
3044
|
+
...le,
|
|
2944
3045
|
children: /* @__PURE__ */ y("div", {
|
|
2945
|
-
className:
|
|
2946
|
-
style: { width:
|
|
3046
|
+
className: Zr.grid,
|
|
3047
|
+
style: { width: R },
|
|
2947
3048
|
role: "presentation",
|
|
2948
|
-
children: [/* @__PURE__ */ v(
|
|
3049
|
+
children: [/* @__PURE__ */ v(Ln, {
|
|
2949
3050
|
colWidth: p,
|
|
2950
3051
|
rowHeight: h,
|
|
2951
|
-
dates:
|
|
3052
|
+
dates: P,
|
|
2952
3053
|
scales: g,
|
|
2953
|
-
colRange:
|
|
2954
|
-
}), /* @__PURE__ */ v(
|
|
3054
|
+
colRange: ie
|
|
3055
|
+
}), /* @__PURE__ */ v(Lr, {
|
|
2955
3056
|
tasks: a,
|
|
2956
3057
|
dependencies: E,
|
|
2957
|
-
origin:
|
|
3058
|
+
origin: I,
|
|
2958
3059
|
colWidth: p,
|
|
2959
3060
|
rowHeight: h,
|
|
2960
|
-
unit:
|
|
3061
|
+
unit: L,
|
|
2961
3062
|
overrides: N,
|
|
2962
|
-
children: /* @__PURE__ */ y(
|
|
3063
|
+
children: /* @__PURE__ */ y(se, {
|
|
2963
3064
|
ref: w,
|
|
2964
|
-
...
|
|
3065
|
+
...ue,
|
|
2965
3066
|
children: [
|
|
2966
|
-
/* @__PURE__ */ v(
|
|
2967
|
-
dates:
|
|
3067
|
+
/* @__PURE__ */ v(Xr, {
|
|
3068
|
+
dates: P,
|
|
2968
3069
|
colWidth: p,
|
|
2969
|
-
bodyHeight:
|
|
2970
|
-
colRange:
|
|
2971
|
-
unit:
|
|
2972
|
-
step:
|
|
3070
|
+
bodyHeight: z,
|
|
3071
|
+
colRange: ie,
|
|
3072
|
+
unit: L,
|
|
3073
|
+
step: Pt(g)
|
|
2973
3074
|
}),
|
|
2974
|
-
/* @__PURE__ */ v(
|
|
2975
|
-
width:
|
|
2976
|
-
height:
|
|
3075
|
+
/* @__PURE__ */ v(Kr, {
|
|
3076
|
+
width: R,
|
|
3077
|
+
height: z,
|
|
2977
3078
|
onDependencyDelete: D,
|
|
2978
|
-
visibleRect:
|
|
3079
|
+
visibleRect: ae
|
|
2979
3080
|
}),
|
|
2980
|
-
/* @__PURE__ */ v(
|
|
2981
|
-
a.slice(
|
|
3081
|
+
/* @__PURE__ */ v(Jr, {}),
|
|
3082
|
+
a.slice(B.start, B.end).map((e, t) => /* @__PURE__ */ v(xr, {
|
|
2982
3083
|
task: e,
|
|
2983
|
-
index:
|
|
2984
|
-
origin:
|
|
3084
|
+
index: B.start + t,
|
|
3085
|
+
origin: I,
|
|
2985
3086
|
colWidth: p,
|
|
2986
3087
|
rowHeight: h,
|
|
2987
|
-
unit:
|
|
3088
|
+
unit: L,
|
|
2988
3089
|
onUpdate: s,
|
|
2989
3090
|
onCommit: c,
|
|
2990
3091
|
override: N[e.id],
|
|
2991
|
-
onOverride:
|
|
2992
|
-
onTaskClick:
|
|
2993
|
-
rowIndexOffset:
|
|
3092
|
+
onOverride: ne,
|
|
3093
|
+
onTaskClick: te,
|
|
3094
|
+
rowIndexOffset: re
|
|
2994
3095
|
}, e.id))
|
|
2995
3096
|
]
|
|
2996
3097
|
})
|
|
@@ -2998,14 +3099,14 @@ function Gr({ slots: e, slotProps: t } = {}) {
|
|
|
2998
3099
|
})
|
|
2999
3100
|
});
|
|
3000
3101
|
}
|
|
3001
|
-
|
|
3002
|
-
var
|
|
3102
|
+
$r.displayName = "GanttGrid";
|
|
3103
|
+
var ei = { handle: "_handle_1o220_1" };
|
|
3003
3104
|
//#endregion
|
|
3004
3105
|
//#region src/components/grid/GridResizeHandle.tsx
|
|
3005
|
-
function
|
|
3006
|
-
let i = J(), a = n ?? i.timeline?.gridResizeHandle?.slots, o = r ?? i.timeline?.gridResizeHandle?.slotProps, s =
|
|
3007
|
-
return /* @__PURE__ */ v(a?.root ?? "div", { ...
|
|
3008
|
-
className:
|
|
3106
|
+
function ti({ onMouseDown: e, isResizing: t = !1, slots: n, slotProps: r }) {
|
|
3107
|
+
let i = J(), a = n ?? i.timeline?.gridResizeHandle?.slots, o = r ?? i.timeline?.gridResizeHandle?.slotProps, s = rn(), c = { isResizing: t };
|
|
3108
|
+
return /* @__PURE__ */ v(a?.root ?? "div", { ...X({
|
|
3109
|
+
className: ei.handle,
|
|
3009
3110
|
onMouseDown: e,
|
|
3010
3111
|
role: "separator",
|
|
3011
3112
|
"aria-orientation": "vertical",
|
|
@@ -3029,10 +3130,10 @@ var $ = {
|
|
|
3029
3130
|
};
|
|
3030
3131
|
//#endregion
|
|
3031
3132
|
//#region src/components/taskList/TaskListHeader.tsx
|
|
3032
|
-
function
|
|
3133
|
+
function ni({ columns: e, rowHeight: t, scales: n = Mt, onResizeStart: r, slots: i, slotProps: a }) {
|
|
3033
3134
|
let o = n.length * t + 2, s = i?.header ?? "div", c = i?.headerCell ?? "div", l = i?.columnResizeHandle ?? "div";
|
|
3034
3135
|
return /* @__PURE__ */ v(s, {
|
|
3035
|
-
...
|
|
3136
|
+
...X({
|
|
3036
3137
|
className: $.header,
|
|
3037
3138
|
style: {
|
|
3038
3139
|
minHeight: o,
|
|
@@ -3048,7 +3149,7 @@ function Jr({ columns: e, rowHeight: t, scales: n = Ot, onResizeStart: r, slots:
|
|
|
3048
3149
|
let n = {
|
|
3049
3150
|
column: e,
|
|
3050
3151
|
index: t
|
|
3051
|
-
}, i =
|
|
3152
|
+
}, i = X({
|
|
3052
3153
|
className: $.headerCell,
|
|
3053
3154
|
style: e.width ? {
|
|
3054
3155
|
width: e.width,
|
|
@@ -3059,7 +3160,7 @@ function Jr({ columns: e, rowHeight: t, scales: n = Ot, onResizeStart: r, slots:
|
|
|
3059
3160
|
},
|
|
3060
3161
|
role: "columnheader",
|
|
3061
3162
|
"aria-colindex": t + 1
|
|
3062
|
-
}, a?.headerCell, n), o =
|
|
3163
|
+
}, a?.headerCell, n), o = X({
|
|
3063
3164
|
className: $.divider,
|
|
3064
3165
|
"aria-hidden": !0,
|
|
3065
3166
|
onMouseDown: (t) => {
|
|
@@ -3076,17 +3177,17 @@ function Jr({ columns: e, rowHeight: t, scales: n = Ot, onResizeStart: r, slots:
|
|
|
3076
3177
|
}
|
|
3077
3178
|
//#endregion
|
|
3078
3179
|
//#region src/components/taskList/TreeCell.tsx
|
|
3079
|
-
var
|
|
3080
|
-
function
|
|
3081
|
-
let c =
|
|
3180
|
+
var ri = 16;
|
|
3181
|
+
function ii({ taskId: e, depth: t, isParent: n, isExpanded: r, onToggleExpand: i, children: a, slots: o, slotProps: s }) {
|
|
3182
|
+
let c = rn(), l = {
|
|
3082
3183
|
taskId: e,
|
|
3083
3184
|
depth: t,
|
|
3084
3185
|
isParent: n,
|
|
3085
3186
|
isExpanded: r
|
|
3086
|
-
}, u = o?.root ?? "span", d = o?.expandButton ?? "button", f = o?.placeholder ?? "span", p =
|
|
3187
|
+
}, u = o?.root ?? "span", d = o?.expandButton ?? "button", f = o?.placeholder ?? "span", p = X({
|
|
3087
3188
|
className: $.nameContent,
|
|
3088
|
-
style: { paddingLeft: t *
|
|
3089
|
-
}, s?.root, l), m =
|
|
3189
|
+
style: { paddingLeft: t * ri }
|
|
3190
|
+
}, s?.root, l), m = X({
|
|
3090
3191
|
className: $.expandBtn,
|
|
3091
3192
|
type: "button",
|
|
3092
3193
|
onClick: (t) => {
|
|
@@ -3094,7 +3195,7 @@ function Xr({ taskId: e, depth: t, isParent: n, isExpanded: r, onToggleExpand: i
|
|
|
3094
3195
|
},
|
|
3095
3196
|
"aria-label": r ? c.collapse : c.expand,
|
|
3096
3197
|
children: r ? "▾" : "▸"
|
|
3097
|
-
}, s?.expandButton, l), h =
|
|
3198
|
+
}, s?.expandButton, l), h = X({
|
|
3098
3199
|
className: $.expandPlaceholder,
|
|
3099
3200
|
"aria-hidden": !0
|
|
3100
3201
|
}, s?.placeholder, l);
|
|
@@ -3105,8 +3206,8 @@ function Xr({ taskId: e, depth: t, isParent: n, isExpanded: r, onToggleExpand: i
|
|
|
3105
3206
|
}
|
|
3106
3207
|
//#endregion
|
|
3107
3208
|
//#region src/components/taskList/TaskListRow.tsx
|
|
3108
|
-
var
|
|
3109
|
-
let { columnApi: p } =
|
|
3209
|
+
var ai = 100, oi = i(function({ task: e, rowHeight: t, rowIndex: n, depth: r, posinset: i, setsize: a, isParent: o, isExpanded: s, isSelected: c, onToggleExpand: l, onSelect: u, columns: d, treeCell: f }) {
|
|
3210
|
+
let { columnApi: p } = mn();
|
|
3110
3211
|
return /* @__PURE__ */ v("div", {
|
|
3111
3212
|
className: `${$.row} ${c ? $.selected : ""}`,
|
|
3112
3213
|
style: { height: t },
|
|
@@ -3121,12 +3222,12 @@ var Zr = 100, Qr = i(function({ task: e, rowHeight: t, rowIndex: n, depth: r, po
|
|
|
3121
3222
|
children: d.map((t, n) => /* @__PURE__ */ v("div", {
|
|
3122
3223
|
className: `${$.cell} ${t.isTreeColumn ? $.treeCell : ""}`,
|
|
3123
3224
|
style: {
|
|
3124
|
-
width: t.width ||
|
|
3225
|
+
width: t.width || ai,
|
|
3125
3226
|
flexShrink: 0
|
|
3126
3227
|
},
|
|
3127
3228
|
role: t.isTreeColumn ? "rowheader" : "gridcell",
|
|
3128
3229
|
"aria-colindex": n + 1,
|
|
3129
|
-
children: t.isTreeColumn ? /* @__PURE__ */ v(
|
|
3230
|
+
children: t.isTreeColumn ? /* @__PURE__ */ v(ii, {
|
|
3130
3231
|
taskId: e.id,
|
|
3131
3232
|
depth: r,
|
|
3132
3233
|
isParent: o,
|
|
@@ -3139,10 +3240,10 @@ var Zr = 100, Qr = i(function({ task: e, rowHeight: t, rowIndex: n, depth: r, po
|
|
|
3139
3240
|
}, t.key))
|
|
3140
3241
|
});
|
|
3141
3242
|
});
|
|
3142
|
-
|
|
3243
|
+
oi.displayName = "TaskListRow";
|
|
3143
3244
|
//#endregion
|
|
3144
3245
|
//#region src/hooks/useColumnWidths.ts
|
|
3145
|
-
function
|
|
3246
|
+
function si() {
|
|
3146
3247
|
let [e, t] = m({}), n = p(null);
|
|
3147
3248
|
return {
|
|
3148
3249
|
widths: e,
|
|
@@ -3168,12 +3269,12 @@ function $r() {
|
|
|
3168
3269
|
}
|
|
3169
3270
|
//#endregion
|
|
3170
3271
|
//#region src/components/taskList/TaskList.tsx
|
|
3171
|
-
var
|
|
3272
|
+
var ci = {
|
|
3172
3273
|
flex: "1 1 auto",
|
|
3173
3274
|
minHeight: 0
|
|
3174
3275
|
};
|
|
3175
|
-
function
|
|
3176
|
-
let { visibleTasks: n, expandedIds: r, parentIds: i } =
|
|
3276
|
+
function li({ columns: e = [], taskList: t }) {
|
|
3277
|
+
let { visibleTasks: n, expandedIds: r, parentIds: i } = fn(), { toggleExpand: a, setSelectedId: s, onTaskClick: c, revealTask: l } = mn(), u = gn(), { rowHeight: d, scales: p, height: m } = tn(), h = rn(), { taskListRef: g, onTaskListScroll: _ } = vn(), { widths: b, onResizeStart: x } = si(), S = f(() => e.map((e) => b[e.key] == null ? e : {
|
|
3177
3278
|
...e,
|
|
3178
3279
|
width: b[e.key]
|
|
3179
3280
|
}), [e, b]), C = q((e) => {
|
|
@@ -3204,9 +3305,9 @@ function ti({ columns: e = [], taskList: t }) {
|
|
|
3204
3305
|
n.setsize = e.get(r.parentId ?? null) ?? 1;
|
|
3205
3306
|
}
|
|
3206
3307
|
return t;
|
|
3207
|
-
}, [n]), { viewport: D, scheduleMeasure: O } =
|
|
3308
|
+
}, [n]), { viewport: D, scheduleMeasure: O } = Et(g, { trackHorizontal: !1 }), k = o(() => {
|
|
3208
3309
|
_(), O();
|
|
3209
|
-
}, [_, O]), A =
|
|
3310
|
+
}, [_, O]), A = Qr(D.scrollTop, D.clientHeight, d, n.length, 6);
|
|
3210
3311
|
return /* @__PURE__ */ y("div", {
|
|
3211
3312
|
className: $.taskList,
|
|
3212
3313
|
style: { height: m },
|
|
@@ -3214,7 +3315,7 @@ function ti({ columns: e = [], taskList: t }) {
|
|
|
3214
3315
|
"aria-label": h.taskList,
|
|
3215
3316
|
"aria-rowcount": n.length + 1,
|
|
3216
3317
|
"aria-colcount": S.length,
|
|
3217
|
-
children: [/* @__PURE__ */ v(
|
|
3318
|
+
children: [/* @__PURE__ */ v(ni, {
|
|
3218
3319
|
columns: S,
|
|
3219
3320
|
rowHeight: d,
|
|
3220
3321
|
scales: p,
|
|
@@ -3224,7 +3325,7 @@ function ti({ columns: e = [], taskList: t }) {
|
|
|
3224
3325
|
}), /* @__PURE__ */ v("div", {
|
|
3225
3326
|
ref: g,
|
|
3226
3327
|
className: $.body,
|
|
3227
|
-
style:
|
|
3328
|
+
style: ci,
|
|
3228
3329
|
onScroll: k,
|
|
3229
3330
|
role: "presentation",
|
|
3230
3331
|
children: /* @__PURE__ */ y("div", {
|
|
@@ -3238,7 +3339,7 @@ function ti({ columns: e = [], taskList: t }) {
|
|
|
3238
3339
|
}),
|
|
3239
3340
|
Array.from({ length: A.end - A.start }, (e, o) => {
|
|
3240
3341
|
let s = A.start + o, c = n[s], l = E.get(c.id);
|
|
3241
|
-
return /* @__PURE__ */ v(
|
|
3342
|
+
return /* @__PURE__ */ v(oi, {
|
|
3242
3343
|
task: c,
|
|
3243
3344
|
rowHeight: d,
|
|
3244
3345
|
rowIndex: s,
|
|
@@ -3266,7 +3367,7 @@ function ti({ columns: e = [], taskList: t }) {
|
|
|
3266
3367
|
}
|
|
3267
3368
|
//#endregion
|
|
3268
3369
|
//#region src/hooks/useGridResize.ts
|
|
3269
|
-
function
|
|
3370
|
+
function ui(e, t) {
|
|
3270
3371
|
let [n, r] = m(void 0), i = p(null);
|
|
3271
3372
|
return {
|
|
3272
3373
|
gridWidth: n,
|
|
@@ -3290,10 +3391,10 @@ function ni(e, t) {
|
|
|
3290
3391
|
}, [e, t])
|
|
3291
3392
|
};
|
|
3292
3393
|
}
|
|
3293
|
-
var
|
|
3394
|
+
var di = { actionsCell: "_actionsCell_1gvtx_1" };
|
|
3294
3395
|
//#endregion
|
|
3295
3396
|
//#region src/components/taskList/ActionsCell.tsx
|
|
3296
|
-
function
|
|
3397
|
+
function fi(e) {
|
|
3297
3398
|
let t = j(e.startDate, 1);
|
|
3298
3399
|
return {
|
|
3299
3400
|
id: `task-${Date.now()}`,
|
|
@@ -3306,9 +3407,9 @@ function ii(e) {
|
|
|
3306
3407
|
parentId: e.parentId ?? null
|
|
3307
3408
|
};
|
|
3308
3409
|
}
|
|
3309
|
-
function
|
|
3410
|
+
function pi({ task: e, api: t }) {
|
|
3310
3411
|
return /* @__PURE__ */ y("div", {
|
|
3311
|
-
className:
|
|
3412
|
+
className: di.actionsCell,
|
|
3312
3413
|
children: [
|
|
3313
3414
|
/* @__PURE__ */ v("button", {
|
|
3314
3415
|
type: "button",
|
|
@@ -3328,7 +3429,7 @@ function ai({ task: e, api: t }) {
|
|
|
3328
3429
|
"aria-label": t.labels.addTaskAfter(e),
|
|
3329
3430
|
onClick: (n) => {
|
|
3330
3431
|
n.stopPropagation();
|
|
3331
|
-
let r =
|
|
3432
|
+
let r = fi(e);
|
|
3332
3433
|
t.createTask(r, e.id), t.editTask(r);
|
|
3333
3434
|
},
|
|
3334
3435
|
children: /* @__PURE__ */ v("span", {
|
|
@@ -3354,12 +3455,12 @@ function ai({ task: e, api: t }) {
|
|
|
3354
3455
|
}
|
|
3355
3456
|
//#endregion
|
|
3356
3457
|
//#region src/components/taskList/defaultColumns.tsx
|
|
3357
|
-
var
|
|
3458
|
+
var mi = "__action", hi = [
|
|
3358
3459
|
{
|
|
3359
|
-
key:
|
|
3460
|
+
key: mi,
|
|
3360
3461
|
header: " ",
|
|
3361
3462
|
width: 100,
|
|
3362
|
-
render: (e, t) => /* @__PURE__ */ v(
|
|
3463
|
+
render: (e, t) => /* @__PURE__ */ v(pi, {
|
|
3363
3464
|
task: e,
|
|
3364
3465
|
api: t
|
|
3365
3466
|
})
|
|
@@ -3389,12 +3490,12 @@ var oi = "__action", si = [
|
|
|
3389
3490
|
width: 90,
|
|
3390
3491
|
render: (e) => `${e.progress ?? 0}%`
|
|
3391
3492
|
}
|
|
3392
|
-
],
|
|
3493
|
+
], gi = hi.filter((e) => e.key !== mi);
|
|
3393
3494
|
//#endregion
|
|
3394
3495
|
//#region src/Gantt.tsx
|
|
3395
|
-
function
|
|
3396
|
-
let
|
|
3397
|
-
return /* @__PURE__ */ v(
|
|
3496
|
+
function _i({ tasks: e, dependencies: t, rowHeight: n, colWidth: r, height: i, scales: a, padDays: o, zoomLevels: s, defaultZoomIndex: c, onZoomChange: l, zoomWheel: u, zoomKeyboard: d, onTaskClick: m, columns: h, defaultTaskListWidth: g = 280, onDependencyCreate: _, onDependencyDelete: b, onTaskCreate: x, onTaskDelete: S, onTaskEdit: C, onTasksChange: w, calendar: T, snapToWorking: E, durationUnit: D, readOnly: O = !1, criticalPath: k, apiRef: A, hideTaskList: j, taskList: M, bars: N, dependencySlots: ee, timeline: te, labels: ne }) {
|
|
3497
|
+
let P = p(null), F = p(null), { gridWidth: I, onHandleMouseDown: L } = ui(P, F), R = h ?? (O ? gi : hi), z = !j;
|
|
3498
|
+
return /* @__PURE__ */ v(kn, {
|
|
3398
3499
|
tasks: e,
|
|
3399
3500
|
dependencies: t,
|
|
3400
3501
|
rowHeight: n,
|
|
@@ -3414,32 +3515,33 @@ function li({ tasks: e, dependencies: t, rowHeight: n, colWidth: r, height: i, s
|
|
|
3414
3515
|
onTaskDelete: S,
|
|
3415
3516
|
onTaskEdit: C,
|
|
3416
3517
|
onTasksChange: w,
|
|
3417
|
-
apiRef:
|
|
3418
|
-
labels:
|
|
3518
|
+
apiRef: A,
|
|
3519
|
+
labels: ne,
|
|
3419
3520
|
calendar: T,
|
|
3420
3521
|
snapToWorking: E,
|
|
3421
3522
|
durationUnit: D,
|
|
3422
3523
|
readOnly: O,
|
|
3423
|
-
|
|
3524
|
+
criticalPath: k,
|
|
3525
|
+
children: /* @__PURE__ */ v(jn, {
|
|
3424
3526
|
value: f(() => ({
|
|
3425
|
-
bars:
|
|
3426
|
-
dependencies:
|
|
3427
|
-
timeline:
|
|
3527
|
+
bars: N,
|
|
3528
|
+
dependencies: ee,
|
|
3529
|
+
timeline: te
|
|
3428
3530
|
}), [
|
|
3429
|
-
M,
|
|
3430
3531
|
N,
|
|
3431
|
-
|
|
3532
|
+
ee,
|
|
3533
|
+
te
|
|
3432
3534
|
]),
|
|
3433
|
-
children:
|
|
3434
|
-
ref:
|
|
3535
|
+
children: z ? /* @__PURE__ */ y("div", {
|
|
3536
|
+
ref: P,
|
|
3435
3537
|
role: "group",
|
|
3436
|
-
"aria-label":
|
|
3538
|
+
"aria-label": ne?.gantt ?? Ie.gantt,
|
|
3437
3539
|
style: { position: "relative" },
|
|
3438
|
-
children: [/* @__PURE__ */ v(
|
|
3439
|
-
columns:
|
|
3440
|
-
taskList:
|
|
3540
|
+
children: [/* @__PURE__ */ v(li, {
|
|
3541
|
+
columns: R,
|
|
3542
|
+
taskList: M
|
|
3441
3543
|
}), /* @__PURE__ */ y("div", {
|
|
3442
|
-
ref:
|
|
3544
|
+
ref: F,
|
|
3443
3545
|
style: {
|
|
3444
3546
|
position: "absolute",
|
|
3445
3547
|
top: 0,
|
|
@@ -3448,21 +3550,21 @@ function li({ tasks: e, dependencies: t, rowHeight: n, colWidth: r, height: i, s
|
|
|
3448
3550
|
display: "flex",
|
|
3449
3551
|
flexDirection: "row",
|
|
3450
3552
|
background: "var(--am-gantt-grid-bg, #ffffff)",
|
|
3451
|
-
...
|
|
3553
|
+
...I === void 0 ? { left: g } : { width: I }
|
|
3452
3554
|
},
|
|
3453
|
-
children: [/* @__PURE__ */ v(
|
|
3555
|
+
children: [/* @__PURE__ */ v(ti, { onMouseDown: L }), /* @__PURE__ */ v("div", {
|
|
3454
3556
|
style: {
|
|
3455
3557
|
flex: "1 1 auto",
|
|
3456
3558
|
minWidth: 0
|
|
3457
3559
|
},
|
|
3458
|
-
children: /* @__PURE__ */ v(
|
|
3560
|
+
children: /* @__PURE__ */ v($r, {})
|
|
3459
3561
|
})]
|
|
3460
3562
|
})]
|
|
3461
|
-
}) : /* @__PURE__ */ v(
|
|
3563
|
+
}) : /* @__PURE__ */ v($r, {})
|
|
3462
3564
|
})
|
|
3463
3565
|
});
|
|
3464
3566
|
}
|
|
3465
3567
|
//#endregion
|
|
3466
|
-
export {
|
|
3568
|
+
export { mi as ACTION_COLUMN_KEY, Jn as BarTooltipRoot, tr as BarTooltipTrigger, Ln as Calendar, hi as DEFAULT_COLUMNS, Jt as DEFAULT_ZOOM_INDEX, qt as DEFAULT_ZOOM_LEVELS, _i as Gantt, ir as GanttBarTooltip, $r as GanttGrid, kn as GanttProvider, jn as GanttSlotsProvider, cr as MilestoneBar, pr as ProjectBar, gi as READ_ONLY_COLUMNS, gr as TaskBar, li as TaskList, Me as displayEndDate, Ne as endInstantFromDisplayDate, X as mergeSlotProps, qn as useBarTooltip, cn as useGanttReadOnly, J as useGanttSlots };
|
|
3467
3569
|
|
|
3468
3570
|
//# sourceMappingURL=index.mjs.map
|