@evercam/ui 0.0.54-beta.1 → 0.0.55-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.mjs +169 -146
- package/dist/index.mjs.map +1 -1
- package/dist/index.umd.js +11 -11
- package/dist/index.umd.js.map +1 -1
- package/dist/src/components/ETimeline.vue.d.ts +6 -2
- package/dist/src/components/ETimelineMilestone.vue.d.ts +2 -0
- package/dist/src/index.d.ts +6 -2
- package/dist/src/types.d.ts +2 -1
- package/dist/web-types.json +1 -1
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -2112,10 +2112,10 @@ var Ji = {}, Zr = {}, ei = {};
|
|
|
2112
2112
|
value: !0
|
|
2113
2113
|
});
|
|
2114
2114
|
function e(F, V) {
|
|
2115
|
-
for (var
|
|
2116
|
-
Object.defineProperty(F,
|
|
2115
|
+
for (var H in V)
|
|
2116
|
+
Object.defineProperty(F, H, {
|
|
2117
2117
|
enumerable: !0,
|
|
2118
|
-
get: V[
|
|
2118
|
+
get: V[H]
|
|
2119
2119
|
});
|
|
2120
2120
|
}
|
|
2121
2121
|
e(s, {
|
|
@@ -2177,12 +2177,12 @@ var Ji = {}, Zr = {}, ei = {};
|
|
|
2177
2177
|
}
|
|
2178
2178
|
const o = "--tw-placeholder", l = new RegExp(o, "g");
|
|
2179
2179
|
function c(F, V = !0) {
|
|
2180
|
-
return F.startsWith("--") ? `var(${F})` : F.includes("url(") ? F.split(/(url\(.*?\))/g).filter(Boolean).map((
|
|
2180
|
+
return F.startsWith("--") ? `var(${F})` : F.includes("url(") ? F.split(/(url\(.*?\))/g).filter(Boolean).map((H) => /^url\(.*?\)$/.test(H) ? H : c(H, !1)).join("") : (F = F.replace(/([^\\])_+/g, (H, M) => M + " ".repeat(H.length - 1)).replace(/^_/g, " ").replace(/\\_/g, "_"), V && (F = F.trim()), F = u(F), F);
|
|
2181
2181
|
}
|
|
2182
2182
|
function u(F) {
|
|
2183
2183
|
return F.replace(/(calc|min|max|clamp)\(.+\)/g, (V) => {
|
|
2184
|
-
let
|
|
2185
|
-
return V.replace(/var\((--.+?)[,)]/g, (M, Q) => (
|
|
2184
|
+
let H = [];
|
|
2185
|
+
return V.replace(/var\((--.+?)[,)]/g, (M, Q) => (H.push(Q), M.replace(Q, o))).replace(/(-?\d*\.?\d(?!\b-\d.+[,)](?![^+\-/*])\D)(?:%|[a-z]+)?|\))([+\-/*])/g, "$1 $2 ").replace(l, () => H.shift());
|
|
2186
2186
|
});
|
|
2187
2187
|
}
|
|
2188
2188
|
function h(F) {
|
|
@@ -2240,8 +2240,8 @@ var Ji = {}, Zr = {}, ei = {};
|
|
|
2240
2240
|
}
|
|
2241
2241
|
function x(F) {
|
|
2242
2242
|
let V = (0, i.parseBoxShadowValue)(c(F));
|
|
2243
|
-
for (let
|
|
2244
|
-
if (!
|
|
2243
|
+
for (let H of V)
|
|
2244
|
+
if (!H.valid)
|
|
2245
2245
|
return !1;
|
|
2246
2246
|
return !0;
|
|
2247
2247
|
}
|
|
@@ -2454,8 +2454,8 @@ var Qr = {};
|
|
|
2454
2454
|
}
|
|
2455
2455
|
let [$, O] = m(C);
|
|
2456
2456
|
if (O !== void 0) {
|
|
2457
|
-
var U, F, V,
|
|
2458
|
-
let M = (
|
|
2457
|
+
var U, F, V, H;
|
|
2458
|
+
let M = (H = (U = b.values) === null || U === void 0 ? void 0 : U[$]) !== null && H !== void 0 ? H : f($) ? $.slice(1, -1) : void 0;
|
|
2459
2459
|
return M === void 0 ? void 0 : (M = g(M), f(O) ? (0, i.withAlphaValue)(M, y(O)) : ((F = D.theme) === null || F === void 0 || (V = F.opacity) === null || V === void 0 ? void 0 : V[O]) === void 0 ? void 0 : (0, i.withAlphaValue)(M, D.theme.opacity[O]));
|
|
2460
2460
|
}
|
|
2461
2461
|
return d(C, b, {
|
|
@@ -2534,16 +2534,16 @@ var Qr = {};
|
|
|
2534
2534
|
let I = (0, o.flagEnabled)(P, "generalizedModifiers"), [$, O] = m(b);
|
|
2535
2535
|
if (I && D.modifiers != null && (D.modifiers === "any" || typeof D.modifiers == "object" && (O && f(O) || O in D.modifiers)) || ($ = b, O = void 0), O !== void 0 && $ === "" && ($ = "DEFAULT"), O !== void 0 && typeof D.modifiers == "object") {
|
|
2536
2536
|
var F, V;
|
|
2537
|
-
let
|
|
2538
|
-
|
|
2537
|
+
let H = (V = (F = D.modifiers) === null || F === void 0 ? void 0 : F[O]) !== null && V !== void 0 ? V : null;
|
|
2538
|
+
H !== null ? O = H : f(O) && (O = y(O));
|
|
2539
2539
|
}
|
|
2540
|
-
for (let { type:
|
|
2541
|
-
let M = L[
|
|
2540
|
+
for (let { type: H } of C != null ? C : []) {
|
|
2541
|
+
let M = L[H]($, D, {
|
|
2542
2542
|
tailwindConfig: P
|
|
2543
2543
|
});
|
|
2544
2544
|
M !== void 0 && (yield [
|
|
2545
2545
|
M,
|
|
2546
|
-
|
|
2546
|
+
H,
|
|
2547
2547
|
O != null ? O : null
|
|
2548
2548
|
]);
|
|
2549
2549
|
}
|
|
@@ -2662,8 +2662,8 @@ var Jr = {};
|
|
|
2662
2662
|
V = V[U[F++]], V = m(V) && (U.alpha === void 0 || F <= U.length - 1) ? V(I, y) : V;
|
|
2663
2663
|
if (V !== void 0) {
|
|
2664
2664
|
if (U.alpha !== void 0) {
|
|
2665
|
-
let
|
|
2666
|
-
return (0, h.withAlphaValue)(
|
|
2665
|
+
let H = (0, u.parseColorFormat)(V);
|
|
2666
|
+
return (0, h.withAlphaValue)(H, U.alpha, (0, d.default)(H));
|
|
2667
2667
|
}
|
|
2668
2668
|
return (0, l.default)(V) ? (0, c.cloneDeep)(V) : V;
|
|
2669
2669
|
}
|
|
@@ -5430,14 +5430,14 @@ function As(s, e) {
|
|
|
5430
5430
|
let O = 0;
|
|
5431
5431
|
const U = (b & 512) !== 0;
|
|
5432
5432
|
let F = 0;
|
|
5433
|
-
const V = (b & 1024) !== 0,
|
|
5433
|
+
const V = (b & 1024) !== 0, H = (b & 2048) !== 0;
|
|
5434
5434
|
let M = 0;
|
|
5435
5435
|
const Q = z(B, 4);
|
|
5436
5436
|
let Z = 8;
|
|
5437
5437
|
D && (P = z(B, Z), Z += 4), I && (Z += 4);
|
|
5438
5438
|
let ee = P + c;
|
|
5439
5439
|
for (let ae = 0; ae < Q; ae++) {
|
|
5440
|
-
if ($ ? (O = z(B, Z), Z += 4) : O = x, U ? (F = z(B, Z), Z += 4) : F = E, V && (Z += 4),
|
|
5440
|
+
if ($ ? (O = z(B, Z), Z += 4) : O = x, U ? (F = z(B, Z), Z += 4) : F = E, V && (Z += 4), H && (C === 0 ? M = z(B, Z) : M = mn(B, Z), Z += 4), e.type === te.VIDEO) {
|
|
5441
5441
|
let ce = 0;
|
|
5442
5442
|
for (; ce < F; ) {
|
|
5443
5443
|
const fe = z(i, ee);
|
|
@@ -8409,11 +8409,11 @@ class kl {
|
|
|
8409
8409
|
const O = this.codecTiers || (this.codecTiers = _l(m, b, t, i)), U = Cl(O, k, e, B, C), {
|
|
8410
8410
|
codecSet: F,
|
|
8411
8411
|
videoRanges: V,
|
|
8412
|
-
minFramerate:
|
|
8412
|
+
minFramerate: H,
|
|
8413
8413
|
minBitrate: M,
|
|
8414
8414
|
preferHDR: Q
|
|
8415
8415
|
} = U;
|
|
8416
|
-
E = F, k = Q ? V[V.length - 1] : V[0], R =
|
|
8416
|
+
E = F, k = Q ? V[V.length - 1] : V[0], R = H, e = Math.max(e, M), S.log(`[abr] picked start tier ${JSON.stringify(U)}`);
|
|
8417
8417
|
} else
|
|
8418
8418
|
E = T == null ? void 0 : T.codecSet, k = T == null ? void 0 : T.videoRange;
|
|
8419
8419
|
const D = f ? f.duration : d ? d.duration : 0, P = this.bwEstimator.getEstimateTTFB() / 1e3, I = [];
|
|
@@ -8436,10 +8436,10 @@ class kl {
|
|
|
8436
8436
|
I.push(O);
|
|
8437
8437
|
continue;
|
|
8438
8438
|
}
|
|
8439
|
-
const V = U.details,
|
|
8439
|
+
const V = U.details, H = (f ? V == null ? void 0 : V.partTarget : V == null ? void 0 : V.averagetargetduration) || D;
|
|
8440
8440
|
let M;
|
|
8441
8441
|
F ? M = o * e : M = a * e;
|
|
8442
|
-
const Q = D && r >= D * 2 && n === 0 ? m[O].averageBitrate : m[O].maxBitrate, Z = this.getTimeToLoadFrag(P, M, Q *
|
|
8442
|
+
const Q = D && r >= D * 2 && n === 0 ? m[O].averageBitrate : m[O].maxBitrate, Z = this.getTimeToLoadFrag(P, M, Q * H, V === void 0);
|
|
8443
8443
|
if (
|
|
8444
8444
|
// if adjusted bw is greater than level bitrate AND
|
|
8445
8445
|
M >= Q && // no level change, or new level has no error history
|
|
@@ -8449,7 +8449,7 @@ class kl {
|
|
|
8449
8449
|
(Z <= P || !W(Z) || x && !this.bitrateTestDelay || Z < c)
|
|
8450
8450
|
) {
|
|
8451
8451
|
const ae = this.forcedAutoLevel;
|
|
8452
|
-
return O !== y && (ae === -1 || ae !== y) && (I.length && S.trace(`[abr] Skipped level(s) ${I.join(",")} of ${i} max with CODECS and VIDEO-RANGE:"${m[I[0]].codecs}" ${m[I[0]].videoRange}; not compatible with "${T.codecs}" ${k}`), S.info(`[abr] switch candidate:${h}->${O} adjustedbw(${Math.round(M)})-bitrate=${Math.round(M - Q)} ttfb:${P.toFixed(1)} avgDuration:${
|
|
8452
|
+
return O !== y && (ae === -1 || ae !== y) && (I.length && S.trace(`[abr] Skipped level(s) ${I.join(",")} of ${i} max with CODECS and VIDEO-RANGE:"${m[I[0]].codecs}" ${m[I[0]].videoRange}; not compatible with "${T.codecs}" ${k}`), S.info(`[abr] switch candidate:${h}->${O} adjustedbw(${Math.round(M)})-bitrate=${Math.round(M - Q)} ttfb:${P.toFixed(1)} avgDuration:${H.toFixed(1)} maxFetchDuration:${c.toFixed(1)} fetchDuration:${Z.toFixed(1)} firstSelection:${L} codecSet:${E} videoRange:${k} hls.loadLevel:${y}`)), L && (this.firstSelection = O), O;
|
|
8453
8453
|
}
|
|
8454
8454
|
}
|
|
8455
8455
|
return -1;
|
|
@@ -12642,36 +12642,36 @@ class Mt {
|
|
|
12642
12642
|
const n = e.inputTimeScale, a = e.samples, o = [], l = a.length, c = this._initPTS;
|
|
12643
12643
|
let u = this.nextAvcDts, h = 8, d = this.videoSampleDuration, f, m, g = Number.POSITIVE_INFINITY, y = Number.NEGATIVE_INFINITY, v = !1;
|
|
12644
12644
|
if (!i || u === null) {
|
|
12645
|
-
const
|
|
12646
|
-
st && u !== null && Math.abs(
|
|
12645
|
+
const H = t * n, M = a[0].pts - Se(a[0].dts, a[0].pts);
|
|
12646
|
+
st && u !== null && Math.abs(H - M - u) < 15e3 ? i = !0 : u = H - M;
|
|
12647
12647
|
}
|
|
12648
12648
|
const T = c.baseTime * n / c.timescale;
|
|
12649
|
-
for (let
|
|
12650
|
-
const M = a[
|
|
12651
|
-
M.pts = Se(M.pts - T, u), M.dts = Se(M.dts - T, u), M.dts < a[
|
|
12649
|
+
for (let H = 0; H < l; H++) {
|
|
12650
|
+
const M = a[H];
|
|
12651
|
+
M.pts = Se(M.pts - T, u), M.dts = Se(M.dts - T, u), M.dts < a[H > 0 ? H - 1 : H].dts && (v = !0);
|
|
12652
12652
|
}
|
|
12653
|
-
v && a.sort(function(
|
|
12654
|
-
const Q =
|
|
12653
|
+
v && a.sort(function(H, M) {
|
|
12654
|
+
const Q = H.dts - M.dts, Z = H.pts - M.pts;
|
|
12655
12655
|
return Q || Z;
|
|
12656
12656
|
}), f = a[0].dts, m = a[a.length - 1].dts;
|
|
12657
12657
|
const x = m - f, L = x ? Math.round(x / (l - 1)) : d || e.inputTimeScale / 30;
|
|
12658
12658
|
if (i) {
|
|
12659
|
-
const
|
|
12660
|
-
if ((M || Q) && (M ? S.warn(`AVC: ${mt(
|
|
12659
|
+
const H = f - u, M = H > L, Q = H < -1;
|
|
12660
|
+
if ((M || Q) && (M ? S.warn(`AVC: ${mt(H, !0)} ms (${H}dts) hole between fragments detected at ${t.toFixed(3)}`) : S.warn(`AVC: ${mt(-H, !0)} ms (${H}dts) overlapping between fragments detected at ${t.toFixed(3)}`), !Q || u >= a[0].pts || st)) {
|
|
12661
12661
|
f = u;
|
|
12662
|
-
const Z = a[0].pts -
|
|
12662
|
+
const Z = a[0].pts - H;
|
|
12663
12663
|
if (M)
|
|
12664
12664
|
a[0].dts = f, a[0].pts = Z;
|
|
12665
12665
|
else
|
|
12666
12666
|
for (let ee = 0; ee < a.length && !(a[ee].dts > Z); ee++)
|
|
12667
|
-
a[ee].dts -=
|
|
12668
|
-
S.log(`Video: Initial PTS/DTS adjusted: ${mt(Z, !0)}/${mt(f, !0)}, delta: ${mt(
|
|
12667
|
+
a[ee].dts -= H, a[ee].pts -= H;
|
|
12668
|
+
S.log(`Video: Initial PTS/DTS adjusted: ${mt(Z, !0)}/${mt(f, !0)}, delta: ${mt(H, !0)} ms`);
|
|
12669
12669
|
}
|
|
12670
12670
|
}
|
|
12671
12671
|
f = Math.max(0, f);
|
|
12672
12672
|
let E = 0, k = 0, R = f;
|
|
12673
|
-
for (let
|
|
12674
|
-
const M = a[
|
|
12673
|
+
for (let H = 0; H < l; H++) {
|
|
12674
|
+
const M = a[H], Q = M.units, Z = Q.length;
|
|
12675
12675
|
let ee = 0;
|
|
12676
12676
|
for (let ae = 0; ae < Z; ae++)
|
|
12677
12677
|
ee += Q[ae].data.length;
|
|
@@ -12682,12 +12682,12 @@ class Mt {
|
|
|
12682
12682
|
let C;
|
|
12683
12683
|
try {
|
|
12684
12684
|
C = new Uint8Array(B);
|
|
12685
|
-
} catch (
|
|
12685
|
+
} catch (H) {
|
|
12686
12686
|
this.observer.emit(p.ERROR, p.ERROR, {
|
|
12687
12687
|
type: q.MUX_ERROR,
|
|
12688
12688
|
details: _.REMUX_ALLOC_ERROR,
|
|
12689
12689
|
fatal: !1,
|
|
12690
|
-
error:
|
|
12690
|
+
error: H,
|
|
12691
12691
|
bytes: B,
|
|
12692
12692
|
reason: `fail allocating video mdat ${B}`
|
|
12693
12693
|
});
|
|
@@ -12696,19 +12696,19 @@ class Mt {
|
|
|
12696
12696
|
const b = new DataView(C.buffer);
|
|
12697
12697
|
b.setUint32(0, B), C.set(A.types.mdat, 4);
|
|
12698
12698
|
let D = !1, P = Number.POSITIVE_INFINITY, I = Number.POSITIVE_INFINITY, $ = Number.NEGATIVE_INFINITY, O = Number.NEGATIVE_INFINITY;
|
|
12699
|
-
for (let
|
|
12700
|
-
const M = a[
|
|
12699
|
+
for (let H = 0; H < l; H++) {
|
|
12700
|
+
const M = a[H], Q = M.units;
|
|
12701
12701
|
let Z = 0;
|
|
12702
12702
|
for (let ce = 0, fe = Q.length; ce < fe; ce++) {
|
|
12703
12703
|
const Te = Q[ce], ft = Te.data, si = Te.data.byteLength;
|
|
12704
12704
|
b.setUint32(h, si), h += 4, C.set(ft, h), h += si, Z += 4 + si;
|
|
12705
12705
|
}
|
|
12706
12706
|
let ee;
|
|
12707
|
-
if (
|
|
12708
|
-
d = a[
|
|
12707
|
+
if (H < l - 1)
|
|
12708
|
+
d = a[H + 1].dts - M.dts, ee = a[H + 1].pts - M.pts;
|
|
12709
12709
|
else {
|
|
12710
|
-
const ce = this.config, fe =
|
|
12711
|
-
if (ee =
|
|
12710
|
+
const ce = this.config, fe = H > 0 ? M.dts - a[H - 1].dts : L;
|
|
12711
|
+
if (ee = H > 0 ? M.pts - a[H - 1].pts : L, ce.stretchShortVideoTrack && this.nextAudioPts !== null) {
|
|
12712
12712
|
const Te = Math.floor(ce.maxBufferHole * n), ft = (r ? g + r * n : this.nextAudioPts) - M.pts;
|
|
12713
12713
|
ft > Te ? (d = ft - fe, d < 0 ? d = fe : D = !0, S.log(`[mp4-remuxer]: It is approximately ${ft / 90} ms to the next segment; using duration ${d / 90} ms for the last video frame.`)) : d = fe;
|
|
12714
12714
|
} else
|
|
@@ -12720,20 +12720,20 @@ class Mt {
|
|
|
12720
12720
|
if (o.length) {
|
|
12721
12721
|
if (st) {
|
|
12722
12722
|
if (st < 70) {
|
|
12723
|
-
const
|
|
12724
|
-
|
|
12723
|
+
const H = o[0].flags;
|
|
12724
|
+
H.dependsOn = 2, H.isNonSync = 0;
|
|
12725
12725
|
}
|
|
12726
12726
|
} else if (yi && O - I < $ - P && L / $ < 0.025 && o[0].cts === 0) {
|
|
12727
12727
|
S.warn("Found irregular gaps in sample duration. Using PTS instead of DTS to determine MP4 sample duration.");
|
|
12728
|
-
let
|
|
12728
|
+
let H = f;
|
|
12729
12729
|
for (let M = 0, Q = o.length; M < Q; M++) {
|
|
12730
|
-
const Z =
|
|
12730
|
+
const Z = H + o[M].duration, ee = H + o[M].cts;
|
|
12731
12731
|
if (M < Q - 1) {
|
|
12732
12732
|
const ae = Z + o[M + 1].cts;
|
|
12733
12733
|
o[M].duration = ae - ee;
|
|
12734
12734
|
} else
|
|
12735
12735
|
o[M].duration = M ? o[M - 1].duration : L;
|
|
12736
|
-
o[M].cts = 0,
|
|
12736
|
+
o[M].cts = 0, H = Z;
|
|
12737
12737
|
}
|
|
12738
12738
|
}
|
|
12739
12739
|
}
|
|
@@ -12779,7 +12779,7 @@ class Mt {
|
|
|
12779
12779
|
if (e.segmentCodec === "aac") {
|
|
12780
12780
|
const U = this.config.maxAudioFramesDrift;
|
|
12781
12781
|
for (let F = 0, V = v; F < g.length; F++) {
|
|
12782
|
-
const
|
|
12782
|
+
const H = g[F], M = H.pts, Q = M - V, Z = Math.abs(1e3 * Q / a);
|
|
12783
12783
|
if (Q <= -U * u && m)
|
|
12784
12784
|
F === 0 && (S.warn(`Audio frame @ ${(M / a).toFixed(3)}s overlaps nextAudioPts by ${Math.round(1e3 * Q / a)} ms.`), this.nextAudioPts = v = V = M);
|
|
12785
12785
|
else if (Q >= U * u && Z < Tc && m) {
|
|
@@ -12788,20 +12788,20 @@ class Mt {
|
|
|
12788
12788
|
for (let ae = 0; ae < ee; ae++) {
|
|
12789
12789
|
const ce = Math.max(V, 0);
|
|
12790
12790
|
let fe = Qs.getSilentFrame(e.manifestCodec || e.codec, e.channelCount);
|
|
12791
|
-
fe || (S.log("[mp4-remuxer]: Unable to get silent frame for given audio codec; duplicating last frame instead."), fe =
|
|
12791
|
+
fe || (S.log("[mp4-remuxer]: Unable to get silent frame for given audio codec; duplicating last frame instead."), fe = H.unit.subarray()), g.splice(F, 0, {
|
|
12792
12792
|
unit: fe,
|
|
12793
12793
|
pts: ce
|
|
12794
12794
|
}), V += u, F++;
|
|
12795
12795
|
}
|
|
12796
12796
|
}
|
|
12797
|
-
|
|
12797
|
+
H.pts = V, V += u;
|
|
12798
12798
|
}
|
|
12799
12799
|
}
|
|
12800
12800
|
let L = null, E = null, k, R = 0, B = g.length;
|
|
12801
12801
|
for (; B--; )
|
|
12802
12802
|
R += g[B].unit.byteLength;
|
|
12803
12803
|
for (let U = 0, F = g.length; U < F; U++) {
|
|
12804
|
-
const V = g[U],
|
|
12804
|
+
const V = g[U], H = V.unit;
|
|
12805
12805
|
let M = V.pts;
|
|
12806
12806
|
if (E !== null) {
|
|
12807
12807
|
const Z = f[U - 1];
|
|
@@ -12824,8 +12824,8 @@ class Mt {
|
|
|
12824
12824
|
d || (new DataView(k.buffer).setUint32(0, R), k.set(A.types.mdat, 4));
|
|
12825
12825
|
} else
|
|
12826
12826
|
return;
|
|
12827
|
-
k.set(
|
|
12828
|
-
const Q =
|
|
12827
|
+
k.set(H, y);
|
|
12828
|
+
const Q = H.byteLength;
|
|
12829
12829
|
y += Q, f.push(new er(!0, c, Q, 0)), E = M;
|
|
12830
12830
|
}
|
|
12831
12831
|
const C = f.length;
|
|
@@ -21953,10 +21953,16 @@ const Ah = {
|
|
|
21953
21953
|
data() {
|
|
21954
21954
|
return {
|
|
21955
21955
|
milestoneClasses: Ye,
|
|
21956
|
-
timeouts: []
|
|
21956
|
+
timeouts: [],
|
|
21957
|
+
isInitialRender: !0
|
|
21957
21958
|
};
|
|
21958
21959
|
},
|
|
21959
21960
|
computed: {
|
|
21961
|
+
transitionStyles() {
|
|
21962
|
+
return this.isInitialRender ? {} : {
|
|
21963
|
+
transition: `transform ${this.transitionDuration}ms, width ${this.transitionDuration}ms, height ${this.transitionDuration}ms, padding ${this.transitionDuration}ms, border-radius ${this.transitionDuration}ms`
|
|
21964
|
+
};
|
|
21965
|
+
},
|
|
21960
21966
|
styles() {
|
|
21961
21967
|
return {
|
|
21962
21968
|
width: `${this.size}px`,
|
|
@@ -21965,13 +21971,11 @@ const Ah = {
|
|
|
21965
21971
|
borderColor: this.borderColor,
|
|
21966
21972
|
borderWidth: `${this.borderWidth}px`,
|
|
21967
21973
|
borderStyle: "solid",
|
|
21968
|
-
|
|
21974
|
+
...this.transitionStyles
|
|
21969
21975
|
};
|
|
21970
21976
|
},
|
|
21971
21977
|
contentStyles() {
|
|
21972
|
-
return
|
|
21973
|
-
transition: `width ${this.transitionDuration}ms, opacity ${this.transitionDuration}ms, fontSize ${this.transitionDuration}ms, fontWeight ${this.transitionDuration}ms`
|
|
21974
|
-
};
|
|
21978
|
+
return this.transitionStyles;
|
|
21975
21979
|
},
|
|
21976
21980
|
labelStyles() {
|
|
21977
21981
|
return {
|
|
@@ -21979,6 +21983,9 @@ const Ah = {
|
|
|
21979
21983
|
};
|
|
21980
21984
|
}
|
|
21981
21985
|
},
|
|
21986
|
+
updated() {
|
|
21987
|
+
this.isInitialRender = !1;
|
|
21988
|
+
},
|
|
21982
21989
|
methods: {
|
|
21983
21990
|
onMilestoneMouseOver(s, e) {
|
|
21984
21991
|
const t = s.target;
|
|
@@ -22027,7 +22034,7 @@ var Ch = function() {
|
|
|
22027
22034
|
null,
|
|
22028
22035
|
null
|
|
22029
22036
|
);
|
|
22030
|
-
const Ih = _h.exports,
|
|
22037
|
+
const Ih = _h.exports, G = {
|
|
22031
22038
|
eventGroup: "event-group",
|
|
22032
22039
|
eventGroupBg: "event-group-bg",
|
|
22033
22040
|
eventRect: "event-rect",
|
|
@@ -22057,6 +22064,7 @@ const Ih = _h.exports, H = {
|
|
|
22057
22064
|
milestoneHovered: "milestone--hovered",
|
|
22058
22065
|
barChartGroup: "bar-chart-group",
|
|
22059
22066
|
lineGraphGroup: "line-graph-group",
|
|
22067
|
+
lineGraphGroupLabel: "line-graph-group-label",
|
|
22060
22068
|
lineGraphPath: "line-graph-path",
|
|
22061
22069
|
lineGraphHoverZone: "line-graph-hover-zone",
|
|
22062
22070
|
lineGraphDot: "line-graph-dot",
|
|
@@ -22451,6 +22459,9 @@ const Ih = _h.exports, H = {
|
|
|
22451
22459
|
this.clearTimeline(), document.removeEventListener("mouseup", this.handleDocumentMouseUp);
|
|
22452
22460
|
},
|
|
22453
22461
|
methods: {
|
|
22462
|
+
updateTimeline() {
|
|
22463
|
+
this.initOrUpdateSvg(), this.updateXAxes(), this.updateYScaleDomain(), this.updateForbiddenIntervals(), this.drawEventsGroups(), this.updateCurtains(), this.repositionSelectedTimestampCursor(), this.updateMarkers(), this.registerEventsListeners(), this.isInitialized = !0;
|
|
22464
|
+
},
|
|
22454
22465
|
initTimeline(s, e) {
|
|
22455
22466
|
if (this.initRefs(), !this.timeline || this.timeline.offsetWidth === 0) {
|
|
22456
22467
|
this.timeouts.push(
|
|
@@ -22458,13 +22469,13 @@ const Ih = _h.exports, H = {
|
|
|
22458
22469
|
);
|
|
22459
22470
|
return;
|
|
22460
22471
|
}
|
|
22461
|
-
this.
|
|
22472
|
+
this.initOrUpdateSvg(), this.initDefs(), this.initUtcOffset(), this.initTimeScale(s, e), this.initXAxes(), this.initYScale(), this.initZoomBehavior(), this.initForbiddenIntervals(), this.drawEventsGroups(), this.curtains && (this.initCurtains(), this.emitCurtainChange()), this.initSelectedTimestampCursor(), this.updateMarkers(), this.registerEventsListeners(), this.emitVisibleInterval(Pt.initial), this.selectedDate && this.panOnDateClick && this.panToTimestamp(this.selectedDate), this.isInitialized = !0;
|
|
22462
22473
|
},
|
|
22463
22474
|
initRefs() {
|
|
22464
22475
|
this.tooltip = this.$refs.tooltip, this.cursor = this.$refs.cursor, this.timeline = this.$refs.timelineContainer, this.selectedTimestampCursor = this.$refs.selectedTimestamp, this.wrapperDiv = this.$refs.wrapperDiv;
|
|
22465
22476
|
},
|
|
22466
|
-
|
|
22467
|
-
this.svg = w.select(this.timeline).append("svg").attr("width", this.timeline.offsetWidth).attr("height", this.timelineHeight);
|
|
22477
|
+
initOrUpdateSvg() {
|
|
22478
|
+
this.svg || (this.svg = w.select(this.timeline).append("svg")), this.svg.attr("width", this.timeline.offsetWidth).attr("height", this.timelineHeight);
|
|
22468
22479
|
},
|
|
22469
22480
|
initDefs() {
|
|
22470
22481
|
const s = this.svg.append("defs");
|
|
@@ -22504,7 +22515,16 @@ const Ih = _h.exports, H = {
|
|
|
22504
22515
|
const e = 5;
|
|
22505
22516
|
for (const t in this.xAxesConfig) {
|
|
22506
22517
|
const i = this.createAxis(t);
|
|
22507
|
-
this.xAxes[t] = i, this.svg.append("g").classed(
|
|
22518
|
+
this.xAxes[t] = i, this.svg.append("g").classed(G.xAxis, !0).classed(`${G.xAxis}-${t}`, !0).attr("transform", `translate(0, ${s || e})`).call(i), this.translateTicksText(t), s += this.axisHeight;
|
|
22519
|
+
}
|
|
22520
|
+
this.updateXAxes();
|
|
22521
|
+
},
|
|
22522
|
+
updateXAxes() {
|
|
22523
|
+
let s = 0;
|
|
22524
|
+
const e = 5;
|
|
22525
|
+
for (const t in this.xAxesConfig) {
|
|
22526
|
+
const i = this.xAxes[t];
|
|
22527
|
+
i.tickSizeOuter(0), i.tickSizeInner(this.timelineHeight), this.svg.select(`.${G.xAxis}-${t}`).attr("transform", `translate(0, ${s || e})`).call(i), this.translateTicksText(t), s += this.axisHeight;
|
|
22508
22528
|
}
|
|
22509
22529
|
},
|
|
22510
22530
|
initYScale() {
|
|
@@ -22545,7 +22565,7 @@ const Ih = _h.exports, H = {
|
|
|
22545
22565
|
);
|
|
22546
22566
|
},
|
|
22547
22567
|
initSelectedTimestampCursor() {
|
|
22548
|
-
this.svg.append("line").attr("class",
|
|
22568
|
+
this.svg.append("line").attr("class", G.selectedTimestampCursor).style("stroke", "red").style("stroke-width", "1px").style("opacity", 0).attr("x1", 0).attr("x2", 0).attr("y1", 0), this.repositionSelectedTimestampCursor();
|
|
22549
22569
|
},
|
|
22550
22570
|
updateMarkers() {
|
|
22551
22571
|
if (!this.markers.length)
|
|
@@ -22569,20 +22589,19 @@ const Ih = _h.exports, H = {
|
|
|
22569
22589
|
}), this.initMarkersDragBehavior();
|
|
22570
22590
|
},
|
|
22571
22591
|
updateAndRedrawTimeline() {
|
|
22572
|
-
|
|
22573
|
-
this.clearTimeline(), this.initTimeline(s, e);
|
|
22592
|
+
this.updateTimeline();
|
|
22574
22593
|
},
|
|
22575
22594
|
clearTimeline() {
|
|
22576
22595
|
this.svg && this.svg.remove(), this.countsByTimestamp = {};
|
|
22577
22596
|
},
|
|
22578
22597
|
repositionSelectedTimestampCursor() {
|
|
22579
|
-
const s = this.svg.select(`.${
|
|
22598
|
+
const s = this.svg.select(`.${G.selectedTimestampCursor}`);
|
|
22580
22599
|
if (!this.selectedTimestamp) {
|
|
22581
22600
|
s.style("opacity", 0);
|
|
22582
22601
|
return;
|
|
22583
22602
|
}
|
|
22584
22603
|
const e = this.tzStringToDate(this.selectedTimestamp), t = this.timeScale(e);
|
|
22585
|
-
isNaN(t) ? s.style("opacity", 0) : s.attr("x1", t).attr("x2", t).style("opacity", 0.5);
|
|
22604
|
+
isNaN(t) ? s.style("opacity", 0) : s.attr("x1", t).attr("x2", t).style("opacity", 0.5), s.attr("y2", this.timelineHeight);
|
|
22586
22605
|
},
|
|
22587
22606
|
updateCurrentTimeScaleDensity() {
|
|
22588
22607
|
const s = this.timeScale.invert(0).getTime(), e = this.timeScale.invert(1).getTime(), t = 36e5, i = (e - s) / t;
|
|
@@ -22627,12 +22646,12 @@ const Ih = _h.exports, H = {
|
|
|
22627
22646
|
if (!this.showLabels)
|
|
22628
22647
|
return;
|
|
22629
22648
|
const s = this;
|
|
22630
|
-
this.svg.selectAll(`.${
|
|
22649
|
+
this.svg.selectAll(`.${G.labelBg}`).each(function() {
|
|
22631
22650
|
w.select(this).style("fill", s.dark ? "black" : "white");
|
|
22632
|
-
}), this.svg.selectAll(`.${
|
|
22651
|
+
}), this.svg.selectAll(`.${G.labelBgFill}`).each(function() {
|
|
22633
22652
|
const e = w.select(this), t = e.node().dataset.color;
|
|
22634
22653
|
e.style("fill", s.getLabelBackgroundColor(t)).style("stroke", s.getTextFillColor(t)).style("stroke-width", 0.25);
|
|
22635
|
-
}), this.svg.selectAll(`.${
|
|
22654
|
+
}), this.svg.selectAll(`.${G.labelText}`).each(function() {
|
|
22636
22655
|
const e = w.select(this), t = e.node().dataset.color;
|
|
22637
22656
|
e.style("fill", s.getTextFillColor(t));
|
|
22638
22657
|
});
|
|
@@ -22640,7 +22659,7 @@ const Ih = _h.exports, H = {
|
|
|
22640
22659
|
handleMouseDown() {
|
|
22641
22660
|
this.isMouseDown = !0;
|
|
22642
22661
|
},
|
|
22643
|
-
handleDocumentMouseUp() {
|
|
22662
|
+
handleDocumentMouseUp(s) {
|
|
22644
22663
|
this.isMouseDown = !1;
|
|
22645
22664
|
},
|
|
22646
22665
|
handleMouseLeave() {
|
|
@@ -22696,20 +22715,20 @@ const Ih = _h.exports, H = {
|
|
|
22696
22715
|
this.isHoveringEvent = !1, this.hoveredEvent = null, this.$emit("event-mouseout");
|
|
22697
22716
|
},
|
|
22698
22717
|
handleLabelMouseOver(s) {
|
|
22699
|
-
w.selectAll(`.${
|
|
22700
|
-
`${
|
|
22718
|
+
w.selectAll(`.${G.lineGraphGroup}-${s}`).classed(
|
|
22719
|
+
`${G.lineGraphGroup}--highlighted`,
|
|
22701
22720
|
!0
|
|
22702
|
-
), w.selectAll(`.${
|
|
22703
|
-
`${
|
|
22721
|
+
), w.selectAll(`.${G.lineGraphGroupLabel}`).classed(
|
|
22722
|
+
`${G.lineGraphGroupLabel}--highlighted`,
|
|
22704
22723
|
!0
|
|
22705
22724
|
);
|
|
22706
22725
|
},
|
|
22707
22726
|
handleLabelMouseLeave(s) {
|
|
22708
|
-
w.selectAll(`.${
|
|
22709
|
-
`${
|
|
22727
|
+
w.selectAll(`.${G.lineGraphGroup}-${s}`).classed(
|
|
22728
|
+
`${G.lineGraphGroup}--highlighted`,
|
|
22710
22729
|
!1
|
|
22711
|
-
), w.selectAll(`.${
|
|
22712
|
-
`${
|
|
22730
|
+
), w.selectAll(`.${G.lineGraphGroupLabel}`).classed(
|
|
22731
|
+
`${G.lineGraphGroupLabel}--highlighted`,
|
|
22713
22732
|
!1
|
|
22714
22733
|
);
|
|
22715
22734
|
},
|
|
@@ -22755,7 +22774,7 @@ const Ih = _h.exports, H = {
|
|
|
22755
22774
|
s.x,
|
|
22756
22775
|
this.timeline.offsetWidth - this.rightCurtainWidth
|
|
22757
22776
|
);
|
|
22758
|
-
this.leftCurtainWidth = Math.max(0, e), this.svg.select(`.${
|
|
22777
|
+
this.leftCurtainWidth = Math.max(0, e), this.svg.select(`.${G.curtain}--left`).attr("width", this.leftCurtainWidth), this.emitCurtainChange();
|
|
22759
22778
|
},
|
|
22760
22779
|
handleRightDrag(s) {
|
|
22761
22780
|
s.sourceEvent.stopPropagation();
|
|
@@ -22763,7 +22782,7 @@ const Ih = _h.exports, H = {
|
|
|
22763
22782
|
this.timeline.offsetWidth - s.x,
|
|
22764
22783
|
this.timeline.offsetWidth - this.leftCurtainWidth
|
|
22765
22784
|
), i = e - t;
|
|
22766
|
-
this.rightCurtainWidth = Math.max(0, t), this.svg.select(`.${
|
|
22785
|
+
this.rightCurtainWidth = Math.max(0, t), this.svg.select(`.${G.curtain}--right`).attr("width", this.rightCurtainWidth).attr("x", i), this.emitCurtainChange();
|
|
22767
22786
|
},
|
|
22768
22787
|
zoomToStartAndEndDates() {
|
|
22769
22788
|
const s = this.startDate || this.oldestEvent.timestamp || this.oldestEvent.startDate, e = this.endDate || this.latestEvent.timestamp || this.latestEvent.endDate, t = this.tzStringToDate(s), i = this.tzStringToDate(e);
|
|
@@ -22778,28 +22797,28 @@ const Ih = _h.exports, H = {
|
|
|
22778
22797
|
const t = this.xAxes[s], i = this.getAxisTicksConfig(
|
|
22779
22798
|
this.xAxesConfig[s]
|
|
22780
22799
|
);
|
|
22781
|
-
t.scale(e).ticks(i.interval).tickFormat(i.formatFn).tickSizeOuter(0), this.svg.select(`.${
|
|
22800
|
+
t.scale(e).ticks(i.interval).tickFormat(i.formatFn).tickSizeOuter(0), this.svg.select(`.${G.xAxis}-${s}`).call(t);
|
|
22782
22801
|
},
|
|
22783
22802
|
translateTicksText(s) {
|
|
22784
|
-
this.svg.select(`.${
|
|
22803
|
+
this.svg.select(`.${G.xAxis}-${s}`).selectAll(".tick text").each(function() {
|
|
22785
22804
|
let e = w.select(this), t = e.node().getBBox();
|
|
22786
22805
|
e.attr("x", t.height / 2).attr("y", 0).style("text-anchor", "start");
|
|
22787
22806
|
});
|
|
22788
22807
|
},
|
|
22789
22808
|
updateEventsBars() {
|
|
22790
|
-
const s = `.${
|
|
22809
|
+
const s = `.${G.eventGroup} > rect.${G.eventRect}`;
|
|
22791
22810
|
this.svg.selectAll(s).attr("x", this.getEventRectX).attr("width", this.getEventRectWidth);
|
|
22792
|
-
const e = `.${
|
|
22811
|
+
const e = `.${G.eventGroup} > text.${G.eventRectText}`;
|
|
22793
22812
|
this.svg.selectAll(e).attr("x", (t) => this.getEventRectX(t) + this.textPadding).text(this.getEventText);
|
|
22794
22813
|
},
|
|
22795
22814
|
updateBarChart() {
|
|
22796
22815
|
const s = Object.keys(this.barChartGroups).length;
|
|
22797
22816
|
Object.keys(this.barChartGroups).forEach((e, t) => {
|
|
22798
|
-
const i = (d) => (this.getEventRectWidth(d) - this.barXPadding * 2) / s, r = (d) => this.yScale.range()[0] - this.yScale(d.count), n = (d) => this.getEventRectX(d) + this.barXPadding + t * i(d), a = (d) => this.yScale(d.count), o = `.${
|
|
22817
|
+
const i = (d) => (this.getEventRectWidth(d) - this.barXPadding * 2) / s, r = (d) => this.yScale.range()[0] - this.yScale(d.count), n = (d) => this.getEventRectX(d) + this.barXPadding + t * i(d), a = (d) => this.yScale(d.count), o = `.${G.eventBarContainer}-${e}`, l = this.svg.selectAll(o), c = `.${G.barChartGroup} rect.${G.eventBarHoverZone}`;
|
|
22799
22818
|
l.selectAll(c).attr("x", n).attr("width", i);
|
|
22800
|
-
const u = `.${
|
|
22819
|
+
const u = `.${G.barChartGroup} rect.${G.eventBar}`;
|
|
22801
22820
|
l.selectAll(u).attr("x", n).attr("width", i).attr("y", a).attr("height", r);
|
|
22802
|
-
const h = `.${
|
|
22821
|
+
const h = `.${G.barChartGroup} rect.${G.eventBarCap}`;
|
|
22803
22822
|
l.selectAll(h).attr("x", n).attr("width", i).attr("y", a);
|
|
22804
22823
|
});
|
|
22805
22824
|
},
|
|
@@ -22807,7 +22826,7 @@ const Ih = _h.exports, H = {
|
|
|
22807
22826
|
Object.entries(this.lineGraphGroups).forEach(([s]) => {
|
|
22808
22827
|
const e = w.area().x((t) => this.timeScale(this.tzStringToDate(t.timestamp))).y0(this.timelineHeight).y1((t) => this.yScale(t.count)).curve(w.curveMonotoneX);
|
|
22809
22828
|
this.svg.selectAll(
|
|
22810
|
-
`.${
|
|
22829
|
+
`.${G.lineGraphPath}-${s}`
|
|
22811
22830
|
).attr("d", (t) => e(t));
|
|
22812
22831
|
});
|
|
22813
22832
|
},
|
|
@@ -22815,11 +22834,11 @@ const Ih = _h.exports, H = {
|
|
|
22815
22834
|
Object.keys(this.lineGraphGroups).forEach((s) => {
|
|
22816
22835
|
const e = this;
|
|
22817
22836
|
this.svg.selectAll(
|
|
22818
|
-
`.${
|
|
22837
|
+
`.${G.lineGraphDot}-${s}`
|
|
22819
22838
|
).each(function(t) {
|
|
22820
22839
|
w.select(this).attr("cx", e.timeScale(e.tzStringToDate(t.timestamp))).attr("cy", e.yScale(t.count));
|
|
22821
22840
|
}), this.svg.selectAll(
|
|
22822
|
-
`.${
|
|
22841
|
+
`.${G.lineGraphHoverZone}-${s}`
|
|
22823
22842
|
).each(function(t) {
|
|
22824
22843
|
const i = e.timeScale(e.tzStringToDate(t.timestamp).getTime()) - 15;
|
|
22825
22844
|
w.select(this).attr("x", i).attr("y", 0).attr("width", 30).attr("height", e.chartHeight);
|
|
@@ -22861,7 +22880,7 @@ const Ih = _h.exports, H = {
|
|
|
22861
22880
|
}) {
|
|
22862
22881
|
if (!s.isDraggable)
|
|
22863
22882
|
return;
|
|
22864
|
-
t.type === "start" && (this.initialMarkerDragMouseOffset = t.x - e.node().querySelector(`.${
|
|
22883
|
+
t.type === "start" && (this.initialMarkerDragMouseOffset = t.x - e.node().querySelector(`.${G.markerLine}`).getBoundingClientRect().left, e.classed(G.markerDragged, !0));
|
|
22865
22884
|
const i = t.x - this.initialMarkerDragMouseOffset, r = this.timeScale.invert(
|
|
22866
22885
|
i - this.svg.node().getBoundingClientRect().left
|
|
22867
22886
|
), n = this.timeScale(r), a = this.isTimestampAllowedForMarker(
|
|
@@ -22874,13 +22893,13 @@ const Ih = _h.exports, H = {
|
|
|
22874
22893
|
...this.markersPositions[s.id || s.timestamp],
|
|
22875
22894
|
position: n
|
|
22876
22895
|
}
|
|
22877
|
-
}, e.classed(
|
|
22896
|
+
}, e.classed(G.markerDragged, !1)), t.type !== "start" && this.$emit(`marker-drag-${t.type}`, {
|
|
22878
22897
|
marker: s,
|
|
22879
22898
|
newTimestamp: r.toISOString()
|
|
22880
22899
|
});
|
|
22881
22900
|
},
|
|
22882
22901
|
removeMarkersDragBehavior() {
|
|
22883
|
-
this.markersDragBehavior && (this.markersDragBehavior.on("start", null).on("drag", null).on("end", null), w.selectAll(`.${
|
|
22902
|
+
this.markersDragBehavior && (this.markersDragBehavior.on("start", null).on("drag", null).on("end", null), w.selectAll(`.${G.marker}`).call(
|
|
22884
22903
|
this.markersDragBehavior
|
|
22885
22904
|
));
|
|
22886
22905
|
},
|
|
@@ -22906,49 +22925,53 @@ const Ih = _h.exports, H = {
|
|
|
22906
22925
|
markerElement: w.select(this),
|
|
22907
22926
|
dragEvent: e
|
|
22908
22927
|
});
|
|
22909
|
-
}), w.selectAll(`.${
|
|
22928
|
+
}), w.selectAll(`.${G.marker}`).data(this.sortedMarkers).call(this.markersDragBehavior);
|
|
22910
22929
|
},
|
|
22911
22930
|
initCurtains() {
|
|
22912
|
-
|
|
22913
|
-
|
|
22914
|
-
|
|
22915
|
-
this.svg.append("rect").classed(`${
|
|
22931
|
+
this.createCurtains(), this.updateCurtains();
|
|
22932
|
+
},
|
|
22933
|
+
createCurtains() {
|
|
22934
|
+
this.curtains && (this.svg.append("rect").classed(`${G.curtain} ${G.curtain}--left`, !0).attr("fill", "rgba(0, 0, 0, 0.5)").on("mouseenter", () => this.isHoveringCurtain = !0).on("mouseleave", () => this.isHoveringCurtain = !1).call(
|
|
22916
22935
|
w.drag().on("start", this.handleDragStart).on("drag", this.handleLeftDrag).on("end", this.handleDragEnd)
|
|
22917
|
-
), this.svg.append("rect").classed(`${
|
|
22918
|
-
"x",
|
|
22919
|
-
s - this.rightCurtainWidth + this.curtainHandleWidth * 2
|
|
22920
|
-
).attr("y", -this.curtainHandleWidth).attr("width", this.rightCurtainWidth + this.curtainHandleWidth * 2).attr("height", e + this.curtainHandleWidth * 2).attr("fill", "rgba(0, 0, 0, 0.5)").on("mouseenter", () => this.isHoveringCurtain = !0).on("mouseleave", () => this.isHoveringCurtain = !1).call(
|
|
22936
|
+
), this.svg.append("rect").classed(`${G.curtain} ${G.curtain}--right`, !0).attr("fill", "rgba(0, 0, 0, 0.5)").on("mouseenter", () => this.isHoveringCurtain = !0).on("mouseleave", () => this.isHoveringCurtain = !1).call(
|
|
22921
22937
|
w.drag().on("start", this.handleDragStart).on("drag", this.handleRightDrag).on("end", this.handleDragEnd)
|
|
22922
|
-
);
|
|
22938
|
+
), this.updateCurtains());
|
|
22939
|
+
},
|
|
22940
|
+
updateCurtains() {
|
|
22941
|
+
const s = this.timeline.offsetWidth, e = this.timelineHeight;
|
|
22942
|
+
this.svg.select(`.${G.curtain}--left`).attr("width", this.leftCurtainWidth).attr("height", e + this.curtainHandleWidth * 2).attr("y", -this.curtainHandleWidth).attr("x", -this.curtainHandleWidth), this.svg.select(`.${G.curtain}--right`).attr(
|
|
22943
|
+
"x",
|
|
22944
|
+
s - this.rightCurtainWidth + this.curtainHandleWidth
|
|
22945
|
+
).attr("y", -this.curtainHandleWidth).attr("width", this.rightCurtainWidth + this.curtainHandleWidth * 2).attr("height", e + this.curtainHandleWidth * 2);
|
|
22923
22946
|
},
|
|
22924
22947
|
initForbiddenIntervals() {
|
|
22925
22948
|
this.minDate && this.svg.append("rect").attr(
|
|
22926
22949
|
"class",
|
|
22927
|
-
`${
|
|
22950
|
+
`${G.forbiddenInterval} ${G.forbiddenInterval}--min`
|
|
22928
22951
|
), this.maxDate && this.svg.append("rect").attr(
|
|
22929
22952
|
"class",
|
|
22930
|
-
`${
|
|
22953
|
+
`${G.forbiddenInterval} ${G.forbiddenInterval}--max`
|
|
22931
22954
|
), this.updateForbiddenIntervals();
|
|
22932
22955
|
},
|
|
22933
22956
|
updateForbiddenIntervals() {
|
|
22934
22957
|
const s = this.minDate ? this.tzStringToDate(this.minDate).getTime() : null, e = this.maxDate ? this.tzStringToDate(this.maxDate).getTime() : null;
|
|
22935
22958
|
if (s) {
|
|
22936
22959
|
const t = this.timeScale(s);
|
|
22937
|
-
this.svg.select(`.${
|
|
22960
|
+
this.svg.select(`.${G.forbiddenInterval}--min`).attr("x", 0).attr("y", 0).attr("width", t > 0 ? t : 0).attr("height", this.timelineHeight).attr("fill", `url(#${De.stripedPattern})`);
|
|
22938
22961
|
}
|
|
22939
22962
|
if (e) {
|
|
22940
22963
|
const t = this.timeline.offsetWidth - this.timeScale(e), i = this.timeScale(e);
|
|
22941
|
-
this.svg.select(`.${
|
|
22964
|
+
this.svg.select(`.${G.forbiddenInterval}--max`).attr("x", i > 0 ? i : 0).attr("y", 0).attr("width", t > 0 ? t : 0).attr("height", this.timelineHeight).attr("fill", `url(#${De.stripedPattern})`);
|
|
22942
22965
|
}
|
|
22943
22966
|
},
|
|
22944
22967
|
drawEventsGroups() {
|
|
22945
|
-
this.svg.selectAll(`g.${
|
|
22968
|
+
this.svg.selectAll(`g.${G.eventGroup}`).remove(), this.svg.selectAll(`.${G.barChartGroup}`).remove(), this.svg.selectAll(`.${G.lineGraphGroup}`).remove(), this.svg.selectAll(`.${G.lineGraphGroupLabel}`).remove(), this.svg.selectAll(`.${G.loadingIndicator}`).remove(), this.drawLineGraphEventsGroups(), this.drawBarEventsGroups(), this.drawBarChartEventsGroups(), this.drawMilestonesPlaceholder();
|
|
22946
22969
|
},
|
|
22947
22970
|
drawLineGraphEventsGroups() {
|
|
22948
22971
|
const s = this.combinedXAxesHeight, e = this.insertZerosAtInterval ? this.filledGapsLineGraphGroups : this.lineGraphGroups;
|
|
22949
22972
|
Object.entries(e).forEach(([t, i]) => {
|
|
22950
22973
|
const r = this.svg.append("g").classed(
|
|
22951
|
-
`${
|
|
22974
|
+
`${G.lineGraphGroup} ${G.lineGraphGroup}-${t}`,
|
|
22952
22975
|
!0
|
|
22953
22976
|
).attr("transform", `translate(0,${s})`), { color: n, events: a } = i;
|
|
22954
22977
|
this.drawLineGraph({
|
|
@@ -22964,7 +22987,7 @@ const Ih = _h.exports, H = {
|
|
|
22964
22987
|
});
|
|
22965
22988
|
}), Object.entries(this.lineGraphGroups).forEach(
|
|
22966
22989
|
([t, i], r) => {
|
|
22967
|
-
const { color: n, isLoading: a, label: o } = i, l = this.chartHeight - this.barChartHeight * (r + 1), c = s + this.chartHeight - this.barChartHeight, u = this.svg.append("g").classed(
|
|
22990
|
+
const { color: n, isLoading: a, label: o } = i, l = this.chartHeight - this.barChartHeight * (r + 1), c = s + this.chartHeight - this.barChartHeight, u = this.svg.append("g").classed(G.lineGraphGroupLabel, !0).attr("transform", `translate(0,${s})`).on("mouseover", () => this.handleLabelMouseOver(t)).on("mouseleave", () => this.handleLabelMouseLeave(t));
|
|
22968
22991
|
this.drawProgressIndicator({
|
|
22969
22992
|
type: t,
|
|
22970
22993
|
color: n,
|
|
@@ -22987,7 +23010,7 @@ const Ih = _h.exports, H = {
|
|
|
22987
23010
|
type: i
|
|
22988
23011
|
}) {
|
|
22989
23012
|
const r = w.area().x((a) => this.timeScale(this.tzStringToDate(a.timestamp))).y0(this.timelineHeight).y1((a) => this.yScale(a.count)).curve(w.curveMonotoneX), n = `clip-${i}`;
|
|
22990
|
-
e.append("defs").append("clipPath").attr("id", n).append("rect").attr("width", this.timeline.offsetWidth).attr("height", this.chartHeight), e.append("path").datum(s).classed(`${
|
|
23013
|
+
e.append("defs").append("clipPath").attr("id", n).append("rect").attr("width", this.timeline.offsetWidth).attr("height", this.chartHeight), e.append("path").datum(s).classed(`${G.lineGraphPath}-${i}`, !0).attr("fill", `url(#${De.transparencyGradientLight}-${i})`).attr("stroke", t).attr("stroke-linejoin", "round").attr("stroke-linecap", "round").attr("stroke-width", 1).attr("d", (a) => r(a)).attr("clip-path", `url(#${n})`);
|
|
22991
23014
|
},
|
|
22992
23015
|
drawLineGraphHoverZones({
|
|
22993
23016
|
events: s,
|
|
@@ -23002,19 +23025,19 @@ const Ih = _h.exports, H = {
|
|
|
23002
23025
|
[i]: r.count
|
|
23003
23026
|
};
|
|
23004
23027
|
const a = e.append("circle").classed(
|
|
23005
|
-
`${
|
|
23028
|
+
`${G.lineGraphDot} ${G.lineGraphDot}-${i}`,
|
|
23006
23029
|
!0
|
|
23007
23030
|
).attr("cx", this.timeScale(this.tzStringToDate(r.timestamp))).attr("cy", this.yScale(r.count)).attr("r", 1.5).attr("fill", t).attr("stroke-width", 0).datum(r);
|
|
23008
23031
|
this.dotsByTimestamp[n] = [
|
|
23009
23032
|
...this.dotsByTimestamp[n] || [],
|
|
23010
23033
|
a
|
|
23011
|
-
], e.append("rect").classed(`${
|
|
23034
|
+
], e.append("rect").classed(`${G.lineGraphHoverZone}-${i}`, !0).attr("x", this.timeScale(this.tzStringToDate(r.timestamp)) - 15).attr("y", 0).attr("width", 30).attr("height", this.chartHeight).attr("fill", "transparent").datum(r).on("mouseover", (o) => {
|
|
23012
23035
|
this.handleLineMouseOver(o, r, i), this.dotsByTimestamp[n].forEach(
|
|
23013
|
-
(l) => l.classed(`${
|
|
23036
|
+
(l) => l.classed(`${G.lineGraphDot}--active`, !0)
|
|
23014
23037
|
);
|
|
23015
23038
|
}).on("mouseout", () => {
|
|
23016
23039
|
this.handleLineMouseOut(), this.dotsByTimestamp[n].forEach(
|
|
23017
|
-
(o) => o.classed(`${
|
|
23040
|
+
(o) => o.classed(`${G.lineGraphDot}--active`, !1)
|
|
23018
23041
|
);
|
|
23019
23042
|
});
|
|
23020
23043
|
});
|
|
@@ -23034,7 +23057,7 @@ const Ih = _h.exports, H = {
|
|
|
23034
23057
|
color: n,
|
|
23035
23058
|
isLoading: c
|
|
23036
23059
|
});
|
|
23037
|
-
const d = this.svg.append("g").attr("data-color", n).classed(
|
|
23060
|
+
const d = this.svg.append("g").attr("data-color", n).classed(G.eventGroup, !0).classed(`${G.eventGroup}-${s}`, !0);
|
|
23038
23061
|
this.drawBackground({
|
|
23039
23062
|
color: a || n,
|
|
23040
23063
|
gElement: d,
|
|
@@ -23101,7 +23124,7 @@ const Ih = _h.exports, H = {
|
|
|
23101
23124
|
updateMilestonesPositions() {
|
|
23102
23125
|
Object.entries(this.milestonesGroups).forEach(([s, e]) => {
|
|
23103
23126
|
const t = this.getMilestoneGroupYPosition(s), i = this.svg.select(
|
|
23104
|
-
`g.${
|
|
23127
|
+
`g.${G.eventGroup}-${s}`
|
|
23105
23128
|
), r = t + (e.height || this.barChartHeight) / 2;
|
|
23106
23129
|
i.attr("x1", 0).attr("x2", this.timeline.offsetWidth).select(`.${Ye.milestoneLine}`).attr("y1", r).attr("y2", r);
|
|
23107
23130
|
const n = w.select(
|
|
@@ -23121,7 +23144,7 @@ const Ih = _h.exports, H = {
|
|
|
23121
23144
|
const s = this.combinedXAxesHeight, e = this.barChartGroups;
|
|
23122
23145
|
Object.entries(e).forEach(([t, i], r) => {
|
|
23123
23146
|
const n = this.svg.append("g").classed(
|
|
23124
|
-
`${
|
|
23147
|
+
`${G.barChartGroup} ${G.barChartGroup}-${t}`,
|
|
23125
23148
|
!0
|
|
23126
23149
|
).attr("transform", `translate(0,${s})`), { color: a, events: o } = i;
|
|
23127
23150
|
this.drawBarsChart({
|
|
@@ -23140,7 +23163,7 @@ const Ih = _h.exports, H = {
|
|
|
23140
23163
|
isLoading: t
|
|
23141
23164
|
}) {
|
|
23142
23165
|
this.svg.append("rect").classed(
|
|
23143
|
-
`${
|
|
23166
|
+
`${G.loadingIndicator} ${G.loadingIndicator}-${e}`,
|
|
23144
23167
|
!0
|
|
23145
23168
|
).attr("x", 0).attr("y", s).attr("width", this.timeline.offsetWidth / 3).attr("height", this.barChartHeight).attr("fill", `url(#${De.loadingGradient}-${e})`).style("visibility", t ? "visible" : "hidden");
|
|
23146
23169
|
},
|
|
@@ -23150,7 +23173,7 @@ const Ih = _h.exports, H = {
|
|
|
23150
23173
|
gElement: t,
|
|
23151
23174
|
height: i
|
|
23152
23175
|
}) {
|
|
23153
|
-
t.append("rect").attr("class",
|
|
23176
|
+
t.append("rect").attr("class", G.eventGroupBg).attr("x", 0).attr("y", e).attr("width", this.timeline.offsetWidth).attr("height", i || this.barChartHeight).attr("fill", w.color(s).toString()).style("opacity", 0.1);
|
|
23154
23177
|
},
|
|
23155
23178
|
drawBars({
|
|
23156
23179
|
events: s,
|
|
@@ -23160,14 +23183,14 @@ const Ih = _h.exports, H = {
|
|
|
23160
23183
|
type: r
|
|
23161
23184
|
}) {
|
|
23162
23185
|
const n = this;
|
|
23163
|
-
e.selectAll(
|
|
23186
|
+
e.selectAll(G.eventRect).data(s).enter().append("rect").attr(
|
|
23164
23187
|
"class",
|
|
23165
|
-
(a) =>
|
|
23188
|
+
(a) => G.eventRect + (a.className ? ` ${a.className}` : "")
|
|
23166
23189
|
).attr("x", this.getEventRectX).attr("y", t + this.barYPadding / 2).attr("ry", 1.5).attr("rx", 1.5).attr("width", this.getEventRectWidth).attr("height", this.barChartHeight - this.barYPadding).attr("stroke-width", 5).attr("cursor", "pointer").attr("stroke", "#0000").style("fill", (a) => a.color || i).on("mouseover", function(a, o) {
|
|
23167
|
-
w.select(this).classed(
|
|
23190
|
+
w.select(this).classed(G.eventRectHovered, !0), n.handleBarMouseOver(a, o, r);
|
|
23168
23191
|
}).on("mouseout", function() {
|
|
23169
|
-
w.select(this).classed(
|
|
23170
|
-
}), e.selectAll(
|
|
23192
|
+
w.select(this).classed(G.eventRectHovered, !1), n.handleBarMouseOut();
|
|
23193
|
+
}), e.selectAll(G.eventRectText).data(s.filter((a) => !!a.text)).enter().append("text").attr("class", G.eventRectText).attr("x", (a) => this.getEventRectX(a) + this.textPadding).attr("y", t + this.barChartHeight / 2).attr("dy", "0.35em").style("text-anchor", "start").style("font-size", "12px").style("font-weight", 600).style("stroke-linejoin", "round").style("paint-order", "stroke").style("pointer-events", "none").style(
|
|
23171
23194
|
"fill",
|
|
23172
23195
|
(a) => this.getTextFillColor(a.color || i, 0.75)
|
|
23173
23196
|
).text(this.getEventText);
|
|
@@ -23180,19 +23203,19 @@ const Ih = _h.exports, H = {
|
|
|
23180
23203
|
type: r,
|
|
23181
23204
|
index: n
|
|
23182
23205
|
}) {
|
|
23183
|
-
const a = this, o = Object.keys(this.barChartGroups).length, l = (f) => (this.getEventRectWidth(f) - this.barXPadding * 2) / o, c = (f) => this.yScale.range()[0] - this.yScale(f.count), u = (f) => this.getEventRectX(f) + this.barXPadding + n * l(f), h = (f) => this.yScale(f.count), d = e.selectAll(
|
|
23206
|
+
const a = this, o = Object.keys(this.barChartGroups).length, l = (f) => (this.getEventRectWidth(f) - this.barXPadding * 2) / o, c = (f) => this.yScale.range()[0] - this.yScale(f.count), u = (f) => this.getEventRectX(f) + this.barXPadding + n * l(f), h = (f) => this.yScale(f.count), d = e.selectAll(G.eventBarContainer).data(s).enter().append("g").attr(
|
|
23184
23207
|
"class",
|
|
23185
|
-
`${
|
|
23208
|
+
`${G.eventBarContainer} ${G.eventBarContainer}-${r}`
|
|
23186
23209
|
);
|
|
23187
23210
|
d.append("rect").attr(
|
|
23188
23211
|
"class",
|
|
23189
|
-
(f) =>
|
|
23212
|
+
(f) => G.eventBarHoverZone + (f.className ? ` ${f.className}` : "")
|
|
23190
23213
|
).attr("x", u).attr("y", -i).attr("width", l).attr("height", this.yScale.range()[0] + i).attr("fill", (f) => f.color || t).attr("fill-opacity", 0), d.append("rect").attr(
|
|
23191
23214
|
"class",
|
|
23192
|
-
(f) =>
|
|
23215
|
+
(f) => G.eventBar + (f.className ? ` ${f.className}` : "")
|
|
23193
23216
|
).attr("x", u).attr("y", h).attr("width", l).attr("height", c).attr("stroke-width", 5).attr("cursor", "pointer").attr("stroke", "#0000").attr("fill", `url(#${De.transparencyGradient}-${r})`), d.append("rect").attr(
|
|
23194
23217
|
"class",
|
|
23195
|
-
(f) =>
|
|
23218
|
+
(f) => G.eventBarCap + (f.className ? ` ${f.className}` : "")
|
|
23196
23219
|
).attr("x", u).attr("y", h).attr("width", l).attr("height", 2).attr("stroke-width", 0).style("fill", (f) => f.color || t), d.on("mouseover", function(f, m) {
|
|
23197
23220
|
const g = w.select(this);
|
|
23198
23221
|
a.onBarChartBarMouseOver(g, t), a.handleBarMouseOver(f, m, r);
|
|
@@ -23200,17 +23223,17 @@ const Ih = _h.exports, H = {
|
|
|
23200
23223
|
const f = w.select(this);
|
|
23201
23224
|
a.onBarChartBarMouseOut(f, r), a.handleBarMouseOut();
|
|
23202
23225
|
}).on("click", function() {
|
|
23203
|
-
e.selectAll(`.${
|
|
23226
|
+
e.selectAll(`.${G.eventBarContainerSelected}`).classed(G.eventBarContainerSelected, !1), w.select(this).classed(G.eventBarContainerSelected, !0);
|
|
23204
23227
|
});
|
|
23205
23228
|
},
|
|
23206
23229
|
onBarChartBarMouseOver(s, e) {
|
|
23207
|
-
s.classed(
|
|
23208
|
-
const i = s.selectAll(`.${
|
|
23230
|
+
s.classed(G.eventBarContainerHovered, !0), s.selectAll(`.${G.eventBarHoverZone}`).attr("fill-opacity", 0.2);
|
|
23231
|
+
const i = s.selectAll(`.${G.eventBar}`);
|
|
23209
23232
|
i.attr("fill", e), i.attr("fill-opacity", 0.5);
|
|
23210
23233
|
},
|
|
23211
23234
|
onBarChartBarMouseOut(s, e) {
|
|
23212
|
-
s.classed(
|
|
23213
|
-
const i = s.selectAll(`.${
|
|
23235
|
+
s.classed(G.eventBarContainerHovered, !1), s.selectAll(`.${G.eventBarHoverZone}`).attr("fill-opacity", 0);
|
|
23236
|
+
const i = s.selectAll(`.${G.eventBar}`);
|
|
23214
23237
|
i.attr("fill", `url(#${De.transparencyGradient}-${e})`), i.attr("fill-opacity", 1);
|
|
23215
23238
|
},
|
|
23216
23239
|
drawTextLabel({
|
|
@@ -23229,8 +23252,8 @@ const Ih = _h.exports, H = {
|
|
|
23229
23252
|
w: this.labelRectWidth,
|
|
23230
23253
|
h: n || this.barChartHeight,
|
|
23231
23254
|
radius: 3
|
|
23232
|
-
}, o = s.append("g").attr("class", `${
|
|
23233
|
-
o.append("rect").attr("class",
|
|
23255
|
+
}, o = s.append("g").attr("class", `${G.labelGroup} ${G.labelGroup}-${r}`).style("cursor", "pointer").on("click", () => this.toggleGroupVisibility(r));
|
|
23256
|
+
o.append("rect").attr("class", G.labelBg).attr("data-color", t).attr("x", a.x).attr("y", a.y).attr("width", a.w).attr("height", a.h).attr("rx", a.radius).attr("ry", a.radius).style("fill", this.dark ? "#131a29" : "white"), o.append("rect").attr("class", G.labelBgFill).attr("data-color", t).attr("x", a.x).attr("y", a.y).attr("width", a.w).attr("height", a.h).attr("rx", a.radius).attr("ry", a.radius).style("fill", this.getLabelBackgroundColor(t)).style("stroke", this.getTextFillColor(t)).style("stroke-width", 0.25), o.append("text").attr("class", G.labelText).attr("data-color", t).attr("x", 5).attr("y", e + (n || this.barChartHeight) / 2).attr("dy", "0.35em").style("text-anchor", "start").style("font-size", "12px").style("font-weight", 500).style("stroke-linejoin", "round").style("paint-order", "stroke").style("fill", this.getTextFillColor(t)).text(i);
|
|
23234
23257
|
},
|
|
23235
23258
|
getTextFillColor(s, e = 0) {
|
|
23236
23259
|
var t, i;
|
|
@@ -23351,7 +23374,7 @@ var kh = function() {
|
|
|
23351
23374
|
return [e._v(" " + e._s(i.label) + " ")];
|
|
23352
23375
|
}, { marker: i })], 2)]), t("div", { staticClass: "marker-line e-absolute e-pointer-events-none", style: e.getMarkerLineStyle(i) })]);
|
|
23353
23376
|
}), e.autoResize ? t("div", { directives: [{ name: "resize-observer", rawName: "v-resize-observer", value: e.onResize, expression: "onResize" }], ref: "timelineContainer", staticClass: "e-timeline__svg-container e-relative e-h-13 e-rounded e-select-none e-overflow-x-hidden" }) : t("div", { ref: "timelineContainer", staticClass: "e-timeline__svg-container e-relative e-h-13 e-rounded e-select-none e-overflow-x-hidden" }), e._l(e.milestonesGroups, function(i, r) {
|
|
23354
|
-
return t("div", { key: r
|
|
23377
|
+
return t("div", { key: `${r}`, staticClass: "e-timeline-milestones" }, [t("div", { class: `e-tl-milestones e-tl-milestones-${r}` }, e._l(i.events, function(n, a) {
|
|
23355
23378
|
return t("ETimelineMilestone", { key: `${n.milestoneType}-${a}`, class: e.getMilestoneClass(n), attrs: { size: n.size || e.milestoneBulletSize, milestone: n, "background-color": e.getMilestoneColors(n.color, i.color).background, "border-color": e.getMilestoneColors(n.color, i.color).border }, on: { "milestone-click": function(o) {
|
|
23356
23379
|
return e.onMilestoneClick(n, r);
|
|
23357
23380
|
} }, scopedSlots: e._u([{ key: "content", fn: function() {
|
|
@@ -23366,14 +23389,14 @@ var kh = function() {
|
|
|
23366
23389
|
return t("div", { key: i, staticClass: "external-label", class: e.classes.background, style: e.getExternalLabelWrapperStyles(i), on: { click: function(r) {
|
|
23367
23390
|
return e.toggleGroupVisibility(i);
|
|
23368
23391
|
} } }, [t("div", { staticClass: "external-label__content", style: e.getExternalLabelStyles(i) }, [e._v(" " + e._s(i) + " ")])]);
|
|
23369
|
-
}), 0), t("div", { ref: "tooltip", staticClass: "e-absolute", style: e.eventTooltipStyle }, [e._t("tooltip", function() {
|
|
23392
|
+
}), 0), t("div", { key: "tooltip", ref: "tooltip", staticClass: "e-absolute", style: e.eventTooltipStyle }, [e._t("tooltip", function() {
|
|
23370
23393
|
return [t("div", { directives: [{ name: "show", rawName: "v-show", value: e.isHoveringTimeline && !e.isHoveringEvent && !e.isInteractingWithCurtain && !e.cursorTimestamp, expression: `
|
|
23371
23394
|
isHoveringTimeline &&
|
|
23372
23395
|
!isHoveringEvent &&
|
|
23373
23396
|
!isInteractingWithCurtain &&
|
|
23374
23397
|
!cursorTimestamp
|
|
23375
23398
|
` }], staticClass: "e-timeline__tooltip e-border e-rounded e-px-2 -e-left-2/4 e-relative", class: e.classes.tooltipSlot }, [e._v(" " + e._s(e.hoveredTimestamp) + " ")])];
|
|
23376
|
-
}, { timestamp: e.hoveredTimestamp, active: e.isHoveringTimeline && !e.isInteractingWithCurtain && !e.cursorTimestamp })], 2), t("div", {
|
|
23399
|
+
}, { timestamp: e.hoveredTimestamp, active: e.isHoveringTimeline && !e.isInteractingWithCurtain && !e.cursorTimestamp })], 2), t("div", { key: "eventTooltip", staticClass: "e-absolute e-z-50", style: e.eventTooltipStyle }, [e._t("eventTooltip", function() {
|
|
23377
23400
|
return [e.showEventTooltip && (e.hoveredEvent || e.hoveredCounts.length) ? t("div", { directives: [{ name: "show", rawName: "v-show", value: e.isHoveringEvent && !e.isInteractingWithCurtain, expression: "isHoveringEvent && !isInteractingWithCurtain" }], staticClass: "e-timeline__event-tooltip e-border e-rounded e-px-2 -e-left-2/4 e-relative", class: e.classes.eventTooltipSlot }, [e.hoveredCounts.length ? t("div", [t("strong", [e._v("Timestamp")]), e._v(": " + e._s(e.hoveredEvent.timestamp) + " "), e._l(e.hoveredCounts, function(i, r) {
|
|
23378
23401
|
return t("div", { key: r }, [t("strong", [e._v(e._s(i.type) + " Count")]), e._v(": " + e._s(i.count) + " ")]);
|
|
23379
23402
|
})], 2) : e.hoveredEvent ? t("div", [e.hoveredEvent.timestamp ? t("div", [t("strong", [e._v("Event time")]), e._v(": " + e._s(e.hoveredEvent.timestamp) + " ")]) : e._e(), e.hoveredEvent.startDate ? t("div", [t("strong", [e._v("From")]), e._v(":" + e._s(e.hoveredEvent.startDate) + " ")]) : e._e(), e.hoveredEvent.endDate ? t("div", [t("strong", [e._v("To")]), e._v(":" + e._s(e.hoveredEvent.endDate) + " ")]) : e._e()]) : e._e()]) : e._e()];
|