tg-ganttchart 0.0.9 → 0.0.10
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/tgganttchart.common.js +2887 -639
- package/dist/tgganttchart.common.js.map +1 -1
- package/dist/tgganttchart.css +1 -1
- package/dist/tgganttchart.umd.js +2887 -639
- package/dist/tgganttchart.umd.js.map +1 -1
- package/dist/tgganttchart.umd.min.js +2 -2
- package/dist/tgganttchart.umd.min.js.map +1 -1
- package/package.json +7 -7
|
@@ -8,6 +8,20 @@
|
|
|
8
8
|
|
|
9
9
|
/***/ }),
|
|
10
10
|
|
|
11
|
+
/***/ 1816:
|
|
12
|
+
/***/ (function(module) {
|
|
13
|
+
|
|
14
|
+
!function(t,n){ true?module.exports=n():0}(this,(function(){"use strict";var t="month",n="quarter";return function(e,i){var r=i.prototype;r.quarter=function(t){return this.$utils().u(t)?Math.ceil((this.month()+1)/3):this.month(this.month()%3+3*(t-1))};var s=r.add;r.add=function(e,i){return e=Number(e),this.$utils().p(i)===n?this.add(3*e,t):s.bind(this)(e,i)};var u=r.startOf;r.startOf=function(e,i){var r=this.$utils(),s=!!r.u(i)||i;if(r.p(e)===n){var o=this.quarter()-1;return s?this.month(3*o).startOf(t).startOf("day"):this.month(3*o+2).endOf(t).endOf("day")}return u.bind(this)(e,i)}}}));
|
|
15
|
+
|
|
16
|
+
/***/ }),
|
|
17
|
+
|
|
18
|
+
/***/ 8134:
|
|
19
|
+
/***/ (function(module) {
|
|
20
|
+
|
|
21
|
+
!function(e,t){ true?module.exports=t():0}(this,(function(){"use strict";var e="week",t="year";return function(i,n,r){var f=n.prototype;f.week=function(i){if(void 0===i&&(i=null),null!==i)return this.add(7*(i-this.week()),"day");var n=this.$locale().yearStart||1;if(11===this.month()&&this.date()>25){var f=r(this).startOf(t).add(1,t).date(n),s=r(this).endOf(e);if(f.isBefore(s))return 1}var a=r(this).startOf(t).date(n).startOf(e).subtract(1,"millisecond"),o=this.diff(a,e,!0);return o<0?r(this).startOf("week").week():Math.ceil(o)},f.weeks=function(e){return void 0===e&&(e=null),this.week(e)}}}));
|
|
22
|
+
|
|
23
|
+
/***/ }),
|
|
24
|
+
|
|
11
25
|
/***/ 378:
|
|
12
26
|
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
|
13
27
|
|
|
@@ -46,6 +60,22 @@ module.exports = function (argument) {
|
|
|
46
60
|
};
|
|
47
61
|
|
|
48
62
|
|
|
63
|
+
/***/ }),
|
|
64
|
+
|
|
65
|
+
/***/ 7080:
|
|
66
|
+
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
|
67
|
+
|
|
68
|
+
"use strict";
|
|
69
|
+
|
|
70
|
+
var has = (__webpack_require__(4402).has);
|
|
71
|
+
|
|
72
|
+
// Perform ? RequireInternalSlot(M, [[SetData]])
|
|
73
|
+
module.exports = function (it) {
|
|
74
|
+
has(it);
|
|
75
|
+
return it;
|
|
76
|
+
};
|
|
77
|
+
|
|
78
|
+
|
|
49
79
|
/***/ }),
|
|
50
80
|
|
|
51
81
|
/***/ 679:
|
|
@@ -713,6 +743,24 @@ module.exports = {
|
|
|
713
743
|
};
|
|
714
744
|
|
|
715
745
|
|
|
746
|
+
/***/ }),
|
|
747
|
+
|
|
748
|
+
/***/ 6706:
|
|
749
|
+
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
|
750
|
+
|
|
751
|
+
"use strict";
|
|
752
|
+
|
|
753
|
+
var uncurryThis = __webpack_require__(9504);
|
|
754
|
+
var aCallable = __webpack_require__(9306);
|
|
755
|
+
|
|
756
|
+
module.exports = function (object, key, method) {
|
|
757
|
+
try {
|
|
758
|
+
// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
|
|
759
|
+
return uncurryThis(aCallable(Object.getOwnPropertyDescriptor(object, key)[method]));
|
|
760
|
+
} catch (error) { /* empty */ }
|
|
761
|
+
};
|
|
762
|
+
|
|
763
|
+
|
|
716
764
|
/***/ }),
|
|
717
765
|
|
|
718
766
|
/***/ 7476:
|
|
@@ -850,6 +898,54 @@ module.exports = function (V, P) {
|
|
|
850
898
|
};
|
|
851
899
|
|
|
852
900
|
|
|
901
|
+
/***/ }),
|
|
902
|
+
|
|
903
|
+
/***/ 3789:
|
|
904
|
+
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
|
905
|
+
|
|
906
|
+
"use strict";
|
|
907
|
+
|
|
908
|
+
var aCallable = __webpack_require__(9306);
|
|
909
|
+
var anObject = __webpack_require__(8551);
|
|
910
|
+
var call = __webpack_require__(9565);
|
|
911
|
+
var toIntegerOrInfinity = __webpack_require__(1291);
|
|
912
|
+
var getIteratorDirect = __webpack_require__(1767);
|
|
913
|
+
|
|
914
|
+
var INVALID_SIZE = 'Invalid size';
|
|
915
|
+
var $RangeError = RangeError;
|
|
916
|
+
var $TypeError = TypeError;
|
|
917
|
+
var max = Math.max;
|
|
918
|
+
|
|
919
|
+
var SetRecord = function (set, intSize) {
|
|
920
|
+
this.set = set;
|
|
921
|
+
this.size = max(intSize, 0);
|
|
922
|
+
this.has = aCallable(set.has);
|
|
923
|
+
this.keys = aCallable(set.keys);
|
|
924
|
+
};
|
|
925
|
+
|
|
926
|
+
SetRecord.prototype = {
|
|
927
|
+
getIterator: function () {
|
|
928
|
+
return getIteratorDirect(anObject(call(this.keys, this.set)));
|
|
929
|
+
},
|
|
930
|
+
includes: function (it) {
|
|
931
|
+
return call(this.has, this.set, it);
|
|
932
|
+
}
|
|
933
|
+
};
|
|
934
|
+
|
|
935
|
+
// `GetSetRecord` abstract operation
|
|
936
|
+
// https://tc39.es/proposal-set-methods/#sec-getsetrecord
|
|
937
|
+
module.exports = function (obj) {
|
|
938
|
+
anObject(obj);
|
|
939
|
+
var numSize = +obj.size;
|
|
940
|
+
// NOTE: If size is undefined, then numSize will be NaN
|
|
941
|
+
// eslint-disable-next-line no-self-compare -- NaN check
|
|
942
|
+
if (numSize !== numSize) throw new $TypeError(INVALID_SIZE);
|
|
943
|
+
var intSize = toIntegerOrInfinity(numSize);
|
|
944
|
+
if (intSize < 0) throw new $RangeError(INVALID_SIZE);
|
|
945
|
+
return new SetRecord(obj, intSize);
|
|
946
|
+
};
|
|
947
|
+
|
|
948
|
+
|
|
853
949
|
/***/ }),
|
|
854
950
|
|
|
855
951
|
/***/ 4576:
|
|
@@ -1209,6 +1305,26 @@ module.exports = USE_SYMBOL_AS_UID ? function (it) {
|
|
|
1209
1305
|
};
|
|
1210
1306
|
|
|
1211
1307
|
|
|
1308
|
+
/***/ }),
|
|
1309
|
+
|
|
1310
|
+
/***/ 507:
|
|
1311
|
+
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
|
1312
|
+
|
|
1313
|
+
"use strict";
|
|
1314
|
+
|
|
1315
|
+
var call = __webpack_require__(9565);
|
|
1316
|
+
|
|
1317
|
+
module.exports = function (record, fn, ITERATOR_INSTEAD_OF_RECORD) {
|
|
1318
|
+
var iterator = ITERATOR_INSTEAD_OF_RECORD ? record : record.iterator;
|
|
1319
|
+
var next = record.next;
|
|
1320
|
+
var step, result;
|
|
1321
|
+
while (!(step = call(next, iterator)).done) {
|
|
1322
|
+
result = fn(step.value);
|
|
1323
|
+
if (result !== undefined) return result;
|
|
1324
|
+
}
|
|
1325
|
+
};
|
|
1326
|
+
|
|
1327
|
+
|
|
1212
1328
|
/***/ }),
|
|
1213
1329
|
|
|
1214
1330
|
/***/ 2652:
|
|
@@ -2012,6 +2128,341 @@ module.exports = function (it) {
|
|
|
2012
2128
|
};
|
|
2013
2129
|
|
|
2014
2130
|
|
|
2131
|
+
/***/ }),
|
|
2132
|
+
|
|
2133
|
+
/***/ 9286:
|
|
2134
|
+
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
|
2135
|
+
|
|
2136
|
+
"use strict";
|
|
2137
|
+
|
|
2138
|
+
var SetHelpers = __webpack_require__(4402);
|
|
2139
|
+
var iterate = __webpack_require__(8469);
|
|
2140
|
+
|
|
2141
|
+
var Set = SetHelpers.Set;
|
|
2142
|
+
var add = SetHelpers.add;
|
|
2143
|
+
|
|
2144
|
+
module.exports = function (set) {
|
|
2145
|
+
var result = new Set();
|
|
2146
|
+
iterate(set, function (it) {
|
|
2147
|
+
add(result, it);
|
|
2148
|
+
});
|
|
2149
|
+
return result;
|
|
2150
|
+
};
|
|
2151
|
+
|
|
2152
|
+
|
|
2153
|
+
/***/ }),
|
|
2154
|
+
|
|
2155
|
+
/***/ 3440:
|
|
2156
|
+
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
|
2157
|
+
|
|
2158
|
+
"use strict";
|
|
2159
|
+
|
|
2160
|
+
var aSet = __webpack_require__(7080);
|
|
2161
|
+
var SetHelpers = __webpack_require__(4402);
|
|
2162
|
+
var clone = __webpack_require__(9286);
|
|
2163
|
+
var size = __webpack_require__(5170);
|
|
2164
|
+
var getSetRecord = __webpack_require__(3789);
|
|
2165
|
+
var iterateSet = __webpack_require__(8469);
|
|
2166
|
+
var iterateSimple = __webpack_require__(507);
|
|
2167
|
+
|
|
2168
|
+
var has = SetHelpers.has;
|
|
2169
|
+
var remove = SetHelpers.remove;
|
|
2170
|
+
|
|
2171
|
+
// `Set.prototype.difference` method
|
|
2172
|
+
// https://github.com/tc39/proposal-set-methods
|
|
2173
|
+
module.exports = function difference(other) {
|
|
2174
|
+
var O = aSet(this);
|
|
2175
|
+
var otherRec = getSetRecord(other);
|
|
2176
|
+
var result = clone(O);
|
|
2177
|
+
if (size(O) <= otherRec.size) iterateSet(O, function (e) {
|
|
2178
|
+
if (otherRec.includes(e)) remove(result, e);
|
|
2179
|
+
});
|
|
2180
|
+
else iterateSimple(otherRec.getIterator(), function (e) {
|
|
2181
|
+
if (has(O, e)) remove(result, e);
|
|
2182
|
+
});
|
|
2183
|
+
return result;
|
|
2184
|
+
};
|
|
2185
|
+
|
|
2186
|
+
|
|
2187
|
+
/***/ }),
|
|
2188
|
+
|
|
2189
|
+
/***/ 4402:
|
|
2190
|
+
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
|
2191
|
+
|
|
2192
|
+
"use strict";
|
|
2193
|
+
|
|
2194
|
+
var uncurryThis = __webpack_require__(9504);
|
|
2195
|
+
|
|
2196
|
+
// eslint-disable-next-line es/no-set -- safe
|
|
2197
|
+
var SetPrototype = Set.prototype;
|
|
2198
|
+
|
|
2199
|
+
module.exports = {
|
|
2200
|
+
// eslint-disable-next-line es/no-set -- safe
|
|
2201
|
+
Set: Set,
|
|
2202
|
+
add: uncurryThis(SetPrototype.add),
|
|
2203
|
+
has: uncurryThis(SetPrototype.has),
|
|
2204
|
+
remove: uncurryThis(SetPrototype['delete']),
|
|
2205
|
+
proto: SetPrototype
|
|
2206
|
+
};
|
|
2207
|
+
|
|
2208
|
+
|
|
2209
|
+
/***/ }),
|
|
2210
|
+
|
|
2211
|
+
/***/ 8750:
|
|
2212
|
+
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
|
2213
|
+
|
|
2214
|
+
"use strict";
|
|
2215
|
+
|
|
2216
|
+
var aSet = __webpack_require__(7080);
|
|
2217
|
+
var SetHelpers = __webpack_require__(4402);
|
|
2218
|
+
var size = __webpack_require__(5170);
|
|
2219
|
+
var getSetRecord = __webpack_require__(3789);
|
|
2220
|
+
var iterateSet = __webpack_require__(8469);
|
|
2221
|
+
var iterateSimple = __webpack_require__(507);
|
|
2222
|
+
|
|
2223
|
+
var Set = SetHelpers.Set;
|
|
2224
|
+
var add = SetHelpers.add;
|
|
2225
|
+
var has = SetHelpers.has;
|
|
2226
|
+
|
|
2227
|
+
// `Set.prototype.intersection` method
|
|
2228
|
+
// https://github.com/tc39/proposal-set-methods
|
|
2229
|
+
module.exports = function intersection(other) {
|
|
2230
|
+
var O = aSet(this);
|
|
2231
|
+
var otherRec = getSetRecord(other);
|
|
2232
|
+
var result = new Set();
|
|
2233
|
+
|
|
2234
|
+
if (size(O) > otherRec.size) {
|
|
2235
|
+
iterateSimple(otherRec.getIterator(), function (e) {
|
|
2236
|
+
if (has(O, e)) add(result, e);
|
|
2237
|
+
});
|
|
2238
|
+
} else {
|
|
2239
|
+
iterateSet(O, function (e) {
|
|
2240
|
+
if (otherRec.includes(e)) add(result, e);
|
|
2241
|
+
});
|
|
2242
|
+
}
|
|
2243
|
+
|
|
2244
|
+
return result;
|
|
2245
|
+
};
|
|
2246
|
+
|
|
2247
|
+
|
|
2248
|
+
/***/ }),
|
|
2249
|
+
|
|
2250
|
+
/***/ 4449:
|
|
2251
|
+
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
|
2252
|
+
|
|
2253
|
+
"use strict";
|
|
2254
|
+
|
|
2255
|
+
var aSet = __webpack_require__(7080);
|
|
2256
|
+
var has = (__webpack_require__(4402).has);
|
|
2257
|
+
var size = __webpack_require__(5170);
|
|
2258
|
+
var getSetRecord = __webpack_require__(3789);
|
|
2259
|
+
var iterateSet = __webpack_require__(8469);
|
|
2260
|
+
var iterateSimple = __webpack_require__(507);
|
|
2261
|
+
var iteratorClose = __webpack_require__(9539);
|
|
2262
|
+
|
|
2263
|
+
// `Set.prototype.isDisjointFrom` method
|
|
2264
|
+
// https://tc39.github.io/proposal-set-methods/#Set.prototype.isDisjointFrom
|
|
2265
|
+
module.exports = function isDisjointFrom(other) {
|
|
2266
|
+
var O = aSet(this);
|
|
2267
|
+
var otherRec = getSetRecord(other);
|
|
2268
|
+
if (size(O) <= otherRec.size) return iterateSet(O, function (e) {
|
|
2269
|
+
if (otherRec.includes(e)) return false;
|
|
2270
|
+
}, true) !== false;
|
|
2271
|
+
var iterator = otherRec.getIterator();
|
|
2272
|
+
return iterateSimple(iterator, function (e) {
|
|
2273
|
+
if (has(O, e)) return iteratorClose(iterator, 'normal', false);
|
|
2274
|
+
}) !== false;
|
|
2275
|
+
};
|
|
2276
|
+
|
|
2277
|
+
|
|
2278
|
+
/***/ }),
|
|
2279
|
+
|
|
2280
|
+
/***/ 3838:
|
|
2281
|
+
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
|
2282
|
+
|
|
2283
|
+
"use strict";
|
|
2284
|
+
|
|
2285
|
+
var aSet = __webpack_require__(7080);
|
|
2286
|
+
var size = __webpack_require__(5170);
|
|
2287
|
+
var iterate = __webpack_require__(8469);
|
|
2288
|
+
var getSetRecord = __webpack_require__(3789);
|
|
2289
|
+
|
|
2290
|
+
// `Set.prototype.isSubsetOf` method
|
|
2291
|
+
// https://tc39.github.io/proposal-set-methods/#Set.prototype.isSubsetOf
|
|
2292
|
+
module.exports = function isSubsetOf(other) {
|
|
2293
|
+
var O = aSet(this);
|
|
2294
|
+
var otherRec = getSetRecord(other);
|
|
2295
|
+
if (size(O) > otherRec.size) return false;
|
|
2296
|
+
return iterate(O, function (e) {
|
|
2297
|
+
if (!otherRec.includes(e)) return false;
|
|
2298
|
+
}, true) !== false;
|
|
2299
|
+
};
|
|
2300
|
+
|
|
2301
|
+
|
|
2302
|
+
/***/ }),
|
|
2303
|
+
|
|
2304
|
+
/***/ 8527:
|
|
2305
|
+
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
|
2306
|
+
|
|
2307
|
+
"use strict";
|
|
2308
|
+
|
|
2309
|
+
var aSet = __webpack_require__(7080);
|
|
2310
|
+
var has = (__webpack_require__(4402).has);
|
|
2311
|
+
var size = __webpack_require__(5170);
|
|
2312
|
+
var getSetRecord = __webpack_require__(3789);
|
|
2313
|
+
var iterateSimple = __webpack_require__(507);
|
|
2314
|
+
var iteratorClose = __webpack_require__(9539);
|
|
2315
|
+
|
|
2316
|
+
// `Set.prototype.isSupersetOf` method
|
|
2317
|
+
// https://tc39.github.io/proposal-set-methods/#Set.prototype.isSupersetOf
|
|
2318
|
+
module.exports = function isSupersetOf(other) {
|
|
2319
|
+
var O = aSet(this);
|
|
2320
|
+
var otherRec = getSetRecord(other);
|
|
2321
|
+
if (size(O) < otherRec.size) return false;
|
|
2322
|
+
var iterator = otherRec.getIterator();
|
|
2323
|
+
return iterateSimple(iterator, function (e) {
|
|
2324
|
+
if (!has(O, e)) return iteratorClose(iterator, 'normal', false);
|
|
2325
|
+
}) !== false;
|
|
2326
|
+
};
|
|
2327
|
+
|
|
2328
|
+
|
|
2329
|
+
/***/ }),
|
|
2330
|
+
|
|
2331
|
+
/***/ 8469:
|
|
2332
|
+
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
|
2333
|
+
|
|
2334
|
+
"use strict";
|
|
2335
|
+
|
|
2336
|
+
var uncurryThis = __webpack_require__(9504);
|
|
2337
|
+
var iterateSimple = __webpack_require__(507);
|
|
2338
|
+
var SetHelpers = __webpack_require__(4402);
|
|
2339
|
+
|
|
2340
|
+
var Set = SetHelpers.Set;
|
|
2341
|
+
var SetPrototype = SetHelpers.proto;
|
|
2342
|
+
var forEach = uncurryThis(SetPrototype.forEach);
|
|
2343
|
+
var keys = uncurryThis(SetPrototype.keys);
|
|
2344
|
+
var next = keys(new Set()).next;
|
|
2345
|
+
|
|
2346
|
+
module.exports = function (set, fn, interruptible) {
|
|
2347
|
+
return interruptible ? iterateSimple({ iterator: keys(set), next: next }, fn) : forEach(set, fn);
|
|
2348
|
+
};
|
|
2349
|
+
|
|
2350
|
+
|
|
2351
|
+
/***/ }),
|
|
2352
|
+
|
|
2353
|
+
/***/ 4916:
|
|
2354
|
+
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
|
2355
|
+
|
|
2356
|
+
"use strict";
|
|
2357
|
+
|
|
2358
|
+
var getBuiltIn = __webpack_require__(7751);
|
|
2359
|
+
|
|
2360
|
+
var createSetLike = function (size) {
|
|
2361
|
+
return {
|
|
2362
|
+
size: size,
|
|
2363
|
+
has: function () {
|
|
2364
|
+
return false;
|
|
2365
|
+
},
|
|
2366
|
+
keys: function () {
|
|
2367
|
+
return {
|
|
2368
|
+
next: function () {
|
|
2369
|
+
return { done: true };
|
|
2370
|
+
}
|
|
2371
|
+
};
|
|
2372
|
+
}
|
|
2373
|
+
};
|
|
2374
|
+
};
|
|
2375
|
+
|
|
2376
|
+
module.exports = function (name) {
|
|
2377
|
+
var Set = getBuiltIn('Set');
|
|
2378
|
+
try {
|
|
2379
|
+
new Set()[name](createSetLike(0));
|
|
2380
|
+
try {
|
|
2381
|
+
// late spec change, early WebKit ~ Safari 17.0 beta implementation does not pass it
|
|
2382
|
+
// https://github.com/tc39/proposal-set-methods/pull/88
|
|
2383
|
+
new Set()[name](createSetLike(-1));
|
|
2384
|
+
return false;
|
|
2385
|
+
} catch (error2) {
|
|
2386
|
+
return true;
|
|
2387
|
+
}
|
|
2388
|
+
} catch (error) {
|
|
2389
|
+
return false;
|
|
2390
|
+
}
|
|
2391
|
+
};
|
|
2392
|
+
|
|
2393
|
+
|
|
2394
|
+
/***/ }),
|
|
2395
|
+
|
|
2396
|
+
/***/ 5170:
|
|
2397
|
+
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
|
2398
|
+
|
|
2399
|
+
"use strict";
|
|
2400
|
+
|
|
2401
|
+
var uncurryThisAccessor = __webpack_require__(6706);
|
|
2402
|
+
var SetHelpers = __webpack_require__(4402);
|
|
2403
|
+
|
|
2404
|
+
module.exports = uncurryThisAccessor(SetHelpers.proto, 'size', 'get') || function (set) {
|
|
2405
|
+
return set.size;
|
|
2406
|
+
};
|
|
2407
|
+
|
|
2408
|
+
|
|
2409
|
+
/***/ }),
|
|
2410
|
+
|
|
2411
|
+
/***/ 3650:
|
|
2412
|
+
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
|
2413
|
+
|
|
2414
|
+
"use strict";
|
|
2415
|
+
|
|
2416
|
+
var aSet = __webpack_require__(7080);
|
|
2417
|
+
var SetHelpers = __webpack_require__(4402);
|
|
2418
|
+
var clone = __webpack_require__(9286);
|
|
2419
|
+
var getSetRecord = __webpack_require__(3789);
|
|
2420
|
+
var iterateSimple = __webpack_require__(507);
|
|
2421
|
+
|
|
2422
|
+
var add = SetHelpers.add;
|
|
2423
|
+
var has = SetHelpers.has;
|
|
2424
|
+
var remove = SetHelpers.remove;
|
|
2425
|
+
|
|
2426
|
+
// `Set.prototype.symmetricDifference` method
|
|
2427
|
+
// https://github.com/tc39/proposal-set-methods
|
|
2428
|
+
module.exports = function symmetricDifference(other) {
|
|
2429
|
+
var O = aSet(this);
|
|
2430
|
+
var keysIter = getSetRecord(other).getIterator();
|
|
2431
|
+
var result = clone(O);
|
|
2432
|
+
iterateSimple(keysIter, function (e) {
|
|
2433
|
+
if (has(O, e)) remove(result, e);
|
|
2434
|
+
else add(result, e);
|
|
2435
|
+
});
|
|
2436
|
+
return result;
|
|
2437
|
+
};
|
|
2438
|
+
|
|
2439
|
+
|
|
2440
|
+
/***/ }),
|
|
2441
|
+
|
|
2442
|
+
/***/ 4204:
|
|
2443
|
+
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
|
2444
|
+
|
|
2445
|
+
"use strict";
|
|
2446
|
+
|
|
2447
|
+
var aSet = __webpack_require__(7080);
|
|
2448
|
+
var add = (__webpack_require__(4402).add);
|
|
2449
|
+
var clone = __webpack_require__(9286);
|
|
2450
|
+
var getSetRecord = __webpack_require__(3789);
|
|
2451
|
+
var iterateSimple = __webpack_require__(507);
|
|
2452
|
+
|
|
2453
|
+
// `Set.prototype.union` method
|
|
2454
|
+
// https://github.com/tc39/proposal-set-methods
|
|
2455
|
+
module.exports = function union(other) {
|
|
2456
|
+
var O = aSet(this);
|
|
2457
|
+
var keysIter = getSetRecord(other).getIterator();
|
|
2458
|
+
var result = clone(O);
|
|
2459
|
+
iterateSimple(keysIter, function (it) {
|
|
2460
|
+
add(result, it);
|
|
2461
|
+
});
|
|
2462
|
+
return result;
|
|
2463
|
+
};
|
|
2464
|
+
|
|
2465
|
+
|
|
2015
2466
|
/***/ }),
|
|
2016
2467
|
|
|
2017
2468
|
/***/ 6119:
|
|
@@ -2622,46 +3073,178 @@ $({ target: 'Iterator', proto: true, real: true }, {
|
|
|
2622
3073
|
|
|
2623
3074
|
/***/ }),
|
|
2624
3075
|
|
|
2625
|
-
/***/
|
|
3076
|
+
/***/ 7642:
|
|
2626
3077
|
/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
|
|
2627
3078
|
|
|
2628
3079
|
"use strict";
|
|
2629
3080
|
|
|
2630
|
-
|
|
2631
|
-
__webpack_require__(
|
|
3081
|
+
var $ = __webpack_require__(6518);
|
|
3082
|
+
var difference = __webpack_require__(3440);
|
|
3083
|
+
var setMethodAcceptSetLike = __webpack_require__(4916);
|
|
3084
|
+
|
|
3085
|
+
// `Set.prototype.difference` method
|
|
3086
|
+
// https://tc39.es/ecma262/#sec-set.prototype.difference
|
|
3087
|
+
$({ target: 'Set', proto: true, real: true, forced: !setMethodAcceptSetLike('difference') }, {
|
|
3088
|
+
difference: difference
|
|
3089
|
+
});
|
|
2632
3090
|
|
|
2633
3091
|
|
|
2634
3092
|
/***/ }),
|
|
2635
3093
|
|
|
2636
|
-
/***/
|
|
3094
|
+
/***/ 8004:
|
|
2637
3095
|
/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
|
|
2638
3096
|
|
|
2639
3097
|
"use strict";
|
|
2640
3098
|
|
|
2641
|
-
|
|
2642
|
-
__webpack_require__(
|
|
3099
|
+
var $ = __webpack_require__(6518);
|
|
3100
|
+
var fails = __webpack_require__(9039);
|
|
3101
|
+
var intersection = __webpack_require__(8750);
|
|
3102
|
+
var setMethodAcceptSetLike = __webpack_require__(4916);
|
|
3103
|
+
|
|
3104
|
+
var INCORRECT = !setMethodAcceptSetLike('intersection') || fails(function () {
|
|
3105
|
+
// eslint-disable-next-line es/no-array-from, es/no-set -- testing
|
|
3106
|
+
return String(Array.from(new Set([1, 2, 3]).intersection(new Set([3, 2])))) !== '3,2';
|
|
3107
|
+
});
|
|
3108
|
+
|
|
3109
|
+
// `Set.prototype.intersection` method
|
|
3110
|
+
// https://tc39.es/ecma262/#sec-set.prototype.intersection
|
|
3111
|
+
$({ target: 'Set', proto: true, real: true, forced: INCORRECT }, {
|
|
3112
|
+
intersection: intersection
|
|
3113
|
+
});
|
|
2643
3114
|
|
|
2644
3115
|
|
|
2645
3116
|
/***/ }),
|
|
2646
3117
|
|
|
2647
|
-
/***/
|
|
3118
|
+
/***/ 3853:
|
|
2648
3119
|
/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
|
|
2649
3120
|
|
|
2650
3121
|
"use strict";
|
|
2651
3122
|
|
|
2652
|
-
|
|
2653
|
-
__webpack_require__(
|
|
3123
|
+
var $ = __webpack_require__(6518);
|
|
3124
|
+
var isDisjointFrom = __webpack_require__(4449);
|
|
3125
|
+
var setMethodAcceptSetLike = __webpack_require__(4916);
|
|
3126
|
+
|
|
3127
|
+
// `Set.prototype.isDisjointFrom` method
|
|
3128
|
+
// https://tc39.es/ecma262/#sec-set.prototype.isdisjointfrom
|
|
3129
|
+
$({ target: 'Set', proto: true, real: true, forced: !setMethodAcceptSetLike('isDisjointFrom') }, {
|
|
3130
|
+
isDisjointFrom: isDisjointFrom
|
|
3131
|
+
});
|
|
2654
3132
|
|
|
2655
3133
|
|
|
2656
3134
|
/***/ }),
|
|
2657
3135
|
|
|
2658
|
-
/***/
|
|
3136
|
+
/***/ 5876:
|
|
2659
3137
|
/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
|
|
2660
3138
|
|
|
2661
3139
|
"use strict";
|
|
2662
3140
|
|
|
2663
|
-
|
|
2664
|
-
__webpack_require__(
|
|
3141
|
+
var $ = __webpack_require__(6518);
|
|
3142
|
+
var isSubsetOf = __webpack_require__(3838);
|
|
3143
|
+
var setMethodAcceptSetLike = __webpack_require__(4916);
|
|
3144
|
+
|
|
3145
|
+
// `Set.prototype.isSubsetOf` method
|
|
3146
|
+
// https://tc39.es/ecma262/#sec-set.prototype.issubsetof
|
|
3147
|
+
$({ target: 'Set', proto: true, real: true, forced: !setMethodAcceptSetLike('isSubsetOf') }, {
|
|
3148
|
+
isSubsetOf: isSubsetOf
|
|
3149
|
+
});
|
|
3150
|
+
|
|
3151
|
+
|
|
3152
|
+
/***/ }),
|
|
3153
|
+
|
|
3154
|
+
/***/ 2475:
|
|
3155
|
+
/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
|
|
3156
|
+
|
|
3157
|
+
"use strict";
|
|
3158
|
+
|
|
3159
|
+
var $ = __webpack_require__(6518);
|
|
3160
|
+
var isSupersetOf = __webpack_require__(8527);
|
|
3161
|
+
var setMethodAcceptSetLike = __webpack_require__(4916);
|
|
3162
|
+
|
|
3163
|
+
// `Set.prototype.isSupersetOf` method
|
|
3164
|
+
// https://tc39.es/ecma262/#sec-set.prototype.issupersetof
|
|
3165
|
+
$({ target: 'Set', proto: true, real: true, forced: !setMethodAcceptSetLike('isSupersetOf') }, {
|
|
3166
|
+
isSupersetOf: isSupersetOf
|
|
3167
|
+
});
|
|
3168
|
+
|
|
3169
|
+
|
|
3170
|
+
/***/ }),
|
|
3171
|
+
|
|
3172
|
+
/***/ 5024:
|
|
3173
|
+
/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
|
|
3174
|
+
|
|
3175
|
+
"use strict";
|
|
3176
|
+
|
|
3177
|
+
var $ = __webpack_require__(6518);
|
|
3178
|
+
var symmetricDifference = __webpack_require__(3650);
|
|
3179
|
+
var setMethodAcceptSetLike = __webpack_require__(4916);
|
|
3180
|
+
|
|
3181
|
+
// `Set.prototype.symmetricDifference` method
|
|
3182
|
+
// https://tc39.es/ecma262/#sec-set.prototype.symmetricdifference
|
|
3183
|
+
$({ target: 'Set', proto: true, real: true, forced: !setMethodAcceptSetLike('symmetricDifference') }, {
|
|
3184
|
+
symmetricDifference: symmetricDifference
|
|
3185
|
+
});
|
|
3186
|
+
|
|
3187
|
+
|
|
3188
|
+
/***/ }),
|
|
3189
|
+
|
|
3190
|
+
/***/ 1698:
|
|
3191
|
+
/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
|
|
3192
|
+
|
|
3193
|
+
"use strict";
|
|
3194
|
+
|
|
3195
|
+
var $ = __webpack_require__(6518);
|
|
3196
|
+
var union = __webpack_require__(4204);
|
|
3197
|
+
var setMethodAcceptSetLike = __webpack_require__(4916);
|
|
3198
|
+
|
|
3199
|
+
// `Set.prototype.union` method
|
|
3200
|
+
// https://tc39.es/ecma262/#sec-set.prototype.union
|
|
3201
|
+
$({ target: 'Set', proto: true, real: true, forced: !setMethodAcceptSetLike('union') }, {
|
|
3202
|
+
union: union
|
|
3203
|
+
});
|
|
3204
|
+
|
|
3205
|
+
|
|
3206
|
+
/***/ }),
|
|
3207
|
+
|
|
3208
|
+
/***/ 8992:
|
|
3209
|
+
/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
|
|
3210
|
+
|
|
3211
|
+
"use strict";
|
|
3212
|
+
|
|
3213
|
+
// TODO: Remove from `core-js@4`
|
|
3214
|
+
__webpack_require__(8111);
|
|
3215
|
+
|
|
3216
|
+
|
|
3217
|
+
/***/ }),
|
|
3218
|
+
|
|
3219
|
+
/***/ 4520:
|
|
3220
|
+
/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
|
|
3221
|
+
|
|
3222
|
+
"use strict";
|
|
3223
|
+
|
|
3224
|
+
// TODO: Remove from `core-js@4`
|
|
3225
|
+
__webpack_require__(2489);
|
|
3226
|
+
|
|
3227
|
+
|
|
3228
|
+
/***/ }),
|
|
3229
|
+
|
|
3230
|
+
/***/ 3949:
|
|
3231
|
+
/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
|
|
3232
|
+
|
|
3233
|
+
"use strict";
|
|
3234
|
+
|
|
3235
|
+
// TODO: Remove from `core-js@4`
|
|
3236
|
+
__webpack_require__(7588);
|
|
3237
|
+
|
|
3238
|
+
|
|
3239
|
+
/***/ }),
|
|
3240
|
+
|
|
3241
|
+
/***/ 1454:
|
|
3242
|
+
/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
|
|
3243
|
+
|
|
3244
|
+
"use strict";
|
|
3245
|
+
|
|
3246
|
+
// TODO: Remove from `core-js@4`
|
|
3247
|
+
__webpack_require__(1701);
|
|
2665
3248
|
|
|
2666
3249
|
|
|
2667
3250
|
/***/ }),
|
|
@@ -2772,7 +3355,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
2772
3355
|
// EXPORTS
|
|
2773
3356
|
__webpack_require__.d(__webpack_exports__, {
|
|
2774
3357
|
"default": function() { return /* binding */ entry_lib; },
|
|
2775
|
-
ganttChart: function() { return /* reexport */
|
|
3358
|
+
ganttChart: function() { return /* reexport */ GanttElastic_standalone; }
|
|
2776
3359
|
});
|
|
2777
3360
|
|
|
2778
3361
|
;// ./node_modules/@vue/cli-service/lib/commands/build/setPublicPath.js
|
|
@@ -2792,8 +3375,34 @@ if (typeof window !== 'undefined') {
|
|
|
2792
3375
|
// Indicate to webpack that this file can be concatenated
|
|
2793
3376
|
/* harmony default export */ var setPublicPath = (null);
|
|
2794
3377
|
|
|
2795
|
-
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/
|
|
3378
|
+
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/GanttElastic.standalone.vue?vue&type=template&id=c24bafbc
|
|
2796
3379
|
var render = function render() {
|
|
3380
|
+
var _vm = this,
|
|
3381
|
+
_c = _vm._self._c;
|
|
3382
|
+
return _c('gantt-elastic', {
|
|
3383
|
+
attrs: {
|
|
3384
|
+
"tasks": _vm.tasks,
|
|
3385
|
+
"options": _vm.options,
|
|
3386
|
+
"dynamicStyle": _vm.dynamicStyle
|
|
3387
|
+
}
|
|
3388
|
+
}, [_vm.components.header ? _c(_vm.components.header, {
|
|
3389
|
+
tag: "component",
|
|
3390
|
+
attrs: {
|
|
3391
|
+
"slot": "header"
|
|
3392
|
+
},
|
|
3393
|
+
slot: "header"
|
|
3394
|
+
}) : _vm._e(), _vm.components.footer ? _c(_vm.components.footer, {
|
|
3395
|
+
tag: "component",
|
|
3396
|
+
attrs: {
|
|
3397
|
+
"slot": "footer"
|
|
3398
|
+
},
|
|
3399
|
+
slot: "footer"
|
|
3400
|
+
}) : _vm._e()], 1);
|
|
3401
|
+
};
|
|
3402
|
+
var staticRenderFns = [];
|
|
3403
|
+
|
|
3404
|
+
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/GanttElastic.vue?vue&type=template&id=2767341e
|
|
3405
|
+
var GanttElasticvue_type_template_id_2767341e_render = function render() {
|
|
2797
3406
|
var _vm = this,
|
|
2798
3407
|
_c = _vm._self._c,
|
|
2799
3408
|
_setup = _vm._self._setupProxy;
|
|
@@ -2807,14 +3416,36 @@ var render = function render() {
|
|
|
2807
3416
|
"slot": "header"
|
|
2808
3417
|
},
|
|
2809
3418
|
slot: "header"
|
|
2810
|
-
}) : _vm._e(),
|
|
3419
|
+
}) : _vm._e(), _c('gantt-view-filter', {
|
|
3420
|
+
attrs: {
|
|
3421
|
+
"slot": "header"
|
|
3422
|
+
},
|
|
3423
|
+
on: {
|
|
3424
|
+
"view-mode-changed": _vm.onViewModeChanged
|
|
3425
|
+
},
|
|
3426
|
+
slot: "header"
|
|
3427
|
+
}), _vm._t("header"), _c('main-view', {
|
|
2811
3428
|
ref: "mainView"
|
|
2812
3429
|
}), _vm._t("footer")], 2);
|
|
2813
3430
|
};
|
|
2814
|
-
var
|
|
3431
|
+
var GanttElasticvue_type_template_id_2767341e_staticRenderFns = [];
|
|
2815
3432
|
|
|
2816
3433
|
// EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.push.js
|
|
2817
3434
|
var es_array_push = __webpack_require__(4114);
|
|
3435
|
+
// EXTERNAL MODULE: ./node_modules/core-js/modules/es.set.difference.v2.js
|
|
3436
|
+
var es_set_difference_v2 = __webpack_require__(7642);
|
|
3437
|
+
// EXTERNAL MODULE: ./node_modules/core-js/modules/es.set.intersection.v2.js
|
|
3438
|
+
var es_set_intersection_v2 = __webpack_require__(8004);
|
|
3439
|
+
// EXTERNAL MODULE: ./node_modules/core-js/modules/es.set.is-disjoint-from.v2.js
|
|
3440
|
+
var es_set_is_disjoint_from_v2 = __webpack_require__(3853);
|
|
3441
|
+
// EXTERNAL MODULE: ./node_modules/core-js/modules/es.set.is-subset-of.v2.js
|
|
3442
|
+
var es_set_is_subset_of_v2 = __webpack_require__(5876);
|
|
3443
|
+
// EXTERNAL MODULE: ./node_modules/core-js/modules/es.set.is-superset-of.v2.js
|
|
3444
|
+
var es_set_is_superset_of_v2 = __webpack_require__(2475);
|
|
3445
|
+
// EXTERNAL MODULE: ./node_modules/core-js/modules/es.set.symmetric-difference.v2.js
|
|
3446
|
+
var es_set_symmetric_difference_v2 = __webpack_require__(5024);
|
|
3447
|
+
// EXTERNAL MODULE: ./node_modules/core-js/modules/es.set.union.v2.js
|
|
3448
|
+
var es_set_union_v2 = __webpack_require__(1698);
|
|
2818
3449
|
// EXTERNAL MODULE: ./node_modules/core-js/modules/esnext.iterator.constructor.js
|
|
2819
3450
|
var esnext_iterator_constructor = __webpack_require__(8992);
|
|
2820
3451
|
// EXTERNAL MODULE: ./node_modules/core-js/modules/esnext.iterator.filter.js
|
|
@@ -2828,8 +3459,220 @@ var esnext_iterator_reduce = __webpack_require__(8872);
|
|
|
2828
3459
|
// EXTERNAL MODULE: ./node_modules/dayjs/dayjs.min.js
|
|
2829
3460
|
var dayjs_min = __webpack_require__(4353);
|
|
2830
3461
|
var dayjs_min_default = /*#__PURE__*/__webpack_require__.n(dayjs_min);
|
|
2831
|
-
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/
|
|
2832
|
-
var
|
|
3462
|
+
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/Header/GanttViewFilter.vue?vue&type=template&id=f4bb58fc&scoped=true
|
|
3463
|
+
var GanttViewFiltervue_type_template_id_f4bb58fc_scoped_true_render = function render() {
|
|
3464
|
+
var _vm = this,
|
|
3465
|
+
_c = _vm._self._c;
|
|
3466
|
+
return _c('div', {
|
|
3467
|
+
staticClass: "gantt-view-filter"
|
|
3468
|
+
}, [_c('div', {
|
|
3469
|
+
staticClass: "view-toggle-group"
|
|
3470
|
+
}, [_c('button', {
|
|
3471
|
+
staticClass: "view-toggle-btn",
|
|
3472
|
+
class: {
|
|
3473
|
+
active: _vm.viewMode === 'day'
|
|
3474
|
+
},
|
|
3475
|
+
on: {
|
|
3476
|
+
"click": function ($event) {
|
|
3477
|
+
return _vm.changeViewMode('day');
|
|
3478
|
+
}
|
|
3479
|
+
}
|
|
3480
|
+
}, [_c('span', {
|
|
3481
|
+
staticClass: "view-icon"
|
|
3482
|
+
}, [_vm._v("📅")]), _c('span', {
|
|
3483
|
+
staticClass: "view-label"
|
|
3484
|
+
}, [_vm._v("Day")])]), _c('button', {
|
|
3485
|
+
staticClass: "view-toggle-btn",
|
|
3486
|
+
class: {
|
|
3487
|
+
active: _vm.viewMode === 'week'
|
|
3488
|
+
},
|
|
3489
|
+
on: {
|
|
3490
|
+
"click": function ($event) {
|
|
3491
|
+
return _vm.changeViewMode('week');
|
|
3492
|
+
}
|
|
3493
|
+
}
|
|
3494
|
+
}, [_c('span', {
|
|
3495
|
+
staticClass: "view-icon"
|
|
3496
|
+
}, [_vm._v("📊")]), _c('span', {
|
|
3497
|
+
staticClass: "view-label"
|
|
3498
|
+
}, [_vm._v("Week")])]), _c('button', {
|
|
3499
|
+
staticClass: "view-toggle-btn",
|
|
3500
|
+
class: {
|
|
3501
|
+
active: _vm.viewMode === 'month'
|
|
3502
|
+
},
|
|
3503
|
+
on: {
|
|
3504
|
+
"click": function ($event) {
|
|
3505
|
+
return _vm.changeViewMode('month');
|
|
3506
|
+
}
|
|
3507
|
+
}
|
|
3508
|
+
}, [_c('span', {
|
|
3509
|
+
staticClass: "view-icon"
|
|
3510
|
+
}, [_vm._v("🗓️")]), _c('span', {
|
|
3511
|
+
staticClass: "view-label"
|
|
3512
|
+
}, [_vm._v("Month")])]), _c('button', {
|
|
3513
|
+
staticClass: "view-toggle-btn",
|
|
3514
|
+
class: {
|
|
3515
|
+
active: _vm.viewMode === 'quarter'
|
|
3516
|
+
},
|
|
3517
|
+
on: {
|
|
3518
|
+
"click": function ($event) {
|
|
3519
|
+
return _vm.changeViewMode('quarter');
|
|
3520
|
+
}
|
|
3521
|
+
}
|
|
3522
|
+
}, [_c('span', {
|
|
3523
|
+
staticClass: "view-icon"
|
|
3524
|
+
}, [_vm._v("📈")]), _c('span', {
|
|
3525
|
+
staticClass: "view-label"
|
|
3526
|
+
}, [_vm._v("Quarter")])])])]);
|
|
3527
|
+
};
|
|
3528
|
+
var GanttViewFiltervue_type_template_id_f4bb58fc_scoped_true_staticRenderFns = [];
|
|
3529
|
+
|
|
3530
|
+
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/Header/GanttViewFilter.vue?vue&type=script&lang=js
|
|
3531
|
+
/* harmony default export */ var GanttViewFiltervue_type_script_lang_js = ({
|
|
3532
|
+
name: 'GanttViewFilter',
|
|
3533
|
+
data() {
|
|
3534
|
+
return {
|
|
3535
|
+
viewMode: 'day' // default view mode
|
|
3536
|
+
};
|
|
3537
|
+
},
|
|
3538
|
+
methods: {
|
|
3539
|
+
changeViewMode(mode) {
|
|
3540
|
+
// eslint-disable-next-line no-debugger
|
|
3541
|
+
debugger;
|
|
3542
|
+
this.viewMode = mode;
|
|
3543
|
+
// Emit an event to the parent component (App.vue) so it can update the Gantt chart
|
|
3544
|
+
this.$emit('view-mode-changed', mode);
|
|
3545
|
+
}
|
|
3546
|
+
}
|
|
3547
|
+
});
|
|
3548
|
+
;// ./src/components/Header/GanttViewFilter.vue?vue&type=script&lang=js
|
|
3549
|
+
/* harmony default export */ var Header_GanttViewFiltervue_type_script_lang_js = (GanttViewFiltervue_type_script_lang_js);
|
|
3550
|
+
;// ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-12.use[0]!./node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/Header/GanttViewFilter.vue?vue&type=style&index=0&id=f4bb58fc&prod&scoped=true&lang=css
|
|
3551
|
+
// extracted by mini-css-extract-plugin
|
|
3552
|
+
|
|
3553
|
+
;// ./src/components/Header/GanttViewFilter.vue?vue&type=style&index=0&id=f4bb58fc&prod&scoped=true&lang=css
|
|
3554
|
+
|
|
3555
|
+
;// ./node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js
|
|
3556
|
+
/* globals __VUE_SSR_CONTEXT__ */
|
|
3557
|
+
|
|
3558
|
+
// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).
|
|
3559
|
+
// This module is a runtime utility for cleaner component module output and will
|
|
3560
|
+
// be included in the final webpack user bundle.
|
|
3561
|
+
|
|
3562
|
+
function normalizeComponent(
|
|
3563
|
+
scriptExports,
|
|
3564
|
+
render,
|
|
3565
|
+
staticRenderFns,
|
|
3566
|
+
functionalTemplate,
|
|
3567
|
+
injectStyles,
|
|
3568
|
+
scopeId,
|
|
3569
|
+
moduleIdentifier /* server only */,
|
|
3570
|
+
shadowMode /* vue-cli only */
|
|
3571
|
+
) {
|
|
3572
|
+
// Vue.extend constructor export interop
|
|
3573
|
+
var options =
|
|
3574
|
+
typeof scriptExports === 'function' ? scriptExports.options : scriptExports
|
|
3575
|
+
|
|
3576
|
+
// render functions
|
|
3577
|
+
if (render) {
|
|
3578
|
+
options.render = render
|
|
3579
|
+
options.staticRenderFns = staticRenderFns
|
|
3580
|
+
options._compiled = true
|
|
3581
|
+
}
|
|
3582
|
+
|
|
3583
|
+
// functional template
|
|
3584
|
+
if (functionalTemplate) {
|
|
3585
|
+
options.functional = true
|
|
3586
|
+
}
|
|
3587
|
+
|
|
3588
|
+
// scopedId
|
|
3589
|
+
if (scopeId) {
|
|
3590
|
+
options._scopeId = 'data-v-' + scopeId
|
|
3591
|
+
}
|
|
3592
|
+
|
|
3593
|
+
var hook
|
|
3594
|
+
if (moduleIdentifier) {
|
|
3595
|
+
// server build
|
|
3596
|
+
hook = function (context) {
|
|
3597
|
+
// 2.3 injection
|
|
3598
|
+
context =
|
|
3599
|
+
context || // cached call
|
|
3600
|
+
(this.$vnode && this.$vnode.ssrContext) || // stateful
|
|
3601
|
+
(this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional
|
|
3602
|
+
// 2.2 with runInNewContext: true
|
|
3603
|
+
if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {
|
|
3604
|
+
context = __VUE_SSR_CONTEXT__
|
|
3605
|
+
}
|
|
3606
|
+
// inject component styles
|
|
3607
|
+
if (injectStyles) {
|
|
3608
|
+
injectStyles.call(this, context)
|
|
3609
|
+
}
|
|
3610
|
+
// register component module identifier for async chunk inferrence
|
|
3611
|
+
if (context && context._registeredComponents) {
|
|
3612
|
+
context._registeredComponents.add(moduleIdentifier)
|
|
3613
|
+
}
|
|
3614
|
+
}
|
|
3615
|
+
// used by ssr in case component is cached and beforeCreate
|
|
3616
|
+
// never gets called
|
|
3617
|
+
options._ssrRegister = hook
|
|
3618
|
+
} else if (injectStyles) {
|
|
3619
|
+
hook = shadowMode
|
|
3620
|
+
? function () {
|
|
3621
|
+
injectStyles.call(
|
|
3622
|
+
this,
|
|
3623
|
+
(options.functional ? this.parent : this).$root.$options.shadowRoot
|
|
3624
|
+
)
|
|
3625
|
+
}
|
|
3626
|
+
: injectStyles
|
|
3627
|
+
}
|
|
3628
|
+
|
|
3629
|
+
if (hook) {
|
|
3630
|
+
if (options.functional) {
|
|
3631
|
+
// for template-only hot-reload because in that case the render fn doesn't
|
|
3632
|
+
// go through the normalizer
|
|
3633
|
+
options._injectStyles = hook
|
|
3634
|
+
// register for functional component in vue file
|
|
3635
|
+
var originalRender = options.render
|
|
3636
|
+
options.render = function renderWithStyleInjection(h, context) {
|
|
3637
|
+
hook.call(context)
|
|
3638
|
+
return originalRender(h, context)
|
|
3639
|
+
}
|
|
3640
|
+
} else {
|
|
3641
|
+
// inject component registration as beforeCreate hook
|
|
3642
|
+
var existing = options.beforeCreate
|
|
3643
|
+
options.beforeCreate = existing ? [].concat(existing, hook) : [hook]
|
|
3644
|
+
}
|
|
3645
|
+
}
|
|
3646
|
+
|
|
3647
|
+
return {
|
|
3648
|
+
exports: scriptExports,
|
|
3649
|
+
options: options
|
|
3650
|
+
}
|
|
3651
|
+
}
|
|
3652
|
+
|
|
3653
|
+
;// ./src/components/Header/GanttViewFilter.vue
|
|
3654
|
+
|
|
3655
|
+
|
|
3656
|
+
|
|
3657
|
+
;
|
|
3658
|
+
|
|
3659
|
+
|
|
3660
|
+
/* normalize component */
|
|
3661
|
+
|
|
3662
|
+
var component = normalizeComponent(
|
|
3663
|
+
Header_GanttViewFiltervue_type_script_lang_js,
|
|
3664
|
+
GanttViewFiltervue_type_template_id_f4bb58fc_scoped_true_render,
|
|
3665
|
+
GanttViewFiltervue_type_template_id_f4bb58fc_scoped_true_staticRenderFns,
|
|
3666
|
+
false,
|
|
3667
|
+
null,
|
|
3668
|
+
"f4bb58fc",
|
|
3669
|
+
null
|
|
3670
|
+
|
|
3671
|
+
)
|
|
3672
|
+
|
|
3673
|
+
/* harmony default export */ var GanttViewFilter = (component.exports);
|
|
3674
|
+
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/MainView.vue?vue&type=template&id=1a4b756c
|
|
3675
|
+
var MainViewvue_type_template_id_1a4b756c_render = function render() {
|
|
2833
3676
|
var _vm = this,
|
|
2834
3677
|
_c = _vm._self._c;
|
|
2835
3678
|
return _c('div', {
|
|
@@ -2934,10 +3777,10 @@ var MainViewvue_type_template_id_5e6f381a_render = function render() {
|
|
|
2934
3777
|
}
|
|
2935
3778
|
})])]);
|
|
2936
3779
|
};
|
|
2937
|
-
var
|
|
3780
|
+
var MainViewvue_type_template_id_1a4b756c_staticRenderFns = [];
|
|
2938
3781
|
|
|
2939
|
-
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/
|
|
2940
|
-
var
|
|
3782
|
+
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/TaskList/TaskList.vue?vue&type=template&id=74ce1216
|
|
3783
|
+
var TaskListvue_type_template_id_74ce1216_render = function render() {
|
|
2941
3784
|
var _vm = this,
|
|
2942
3785
|
_c = _vm._self._c;
|
|
2943
3786
|
return _c('div', {
|
|
@@ -2976,10 +3819,10 @@ var TaskListvue_type_template_id_088baa0d_render = function render() {
|
|
|
2976
3819
|
});
|
|
2977
3820
|
}), 1)], 1)]);
|
|
2978
3821
|
};
|
|
2979
|
-
var
|
|
3822
|
+
var TaskListvue_type_template_id_74ce1216_staticRenderFns = [];
|
|
2980
3823
|
|
|
2981
|
-
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/
|
|
2982
|
-
var
|
|
3824
|
+
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/TaskList/TaskListHeader.vue?vue&type=template&id=2ecc0032
|
|
3825
|
+
var TaskListHeadervue_type_template_id_2ecc0032_render = function render() {
|
|
2983
3826
|
var _vm = this,
|
|
2984
3827
|
_c = _vm._self._c;
|
|
2985
3828
|
return _c('div', {
|
|
@@ -3027,10 +3870,10 @@ var TaskListHeadervue_type_template_id_8ade0cf0_render = function render() {
|
|
|
3027
3870
|
}), 0)])], 1);
|
|
3028
3871
|
}), 0);
|
|
3029
3872
|
};
|
|
3030
|
-
var
|
|
3873
|
+
var TaskListHeadervue_type_template_id_2ecc0032_staticRenderFns = [];
|
|
3031
3874
|
|
|
3032
|
-
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/
|
|
3033
|
-
var
|
|
3875
|
+
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/Expander.vue?vue&type=template&id=ac398cf4
|
|
3876
|
+
var Expandervue_type_template_id_ac398cf4_render = function render() {
|
|
3034
3877
|
var _vm = this,
|
|
3035
3878
|
_c = _vm._self._c;
|
|
3036
3879
|
return _c('div', {
|
|
@@ -3046,52 +3889,30 @@ var Expandervue_type_template_id_41972c7c_render = function render() {
|
|
|
3046
3889
|
},
|
|
3047
3890
|
attrs: {
|
|
3048
3891
|
"width": _vm.options.size,
|
|
3049
|
-
"height": _vm.options.size
|
|
3892
|
+
"height": _vm.options.size,
|
|
3893
|
+
"viewBox": "0 0 16 16"
|
|
3050
3894
|
},
|
|
3051
3895
|
on: {
|
|
3052
3896
|
"click": _vm.toggle
|
|
3053
3897
|
}
|
|
3054
|
-
}, [_c('
|
|
3055
|
-
class: _vm.getClassPrefix() + '-
|
|
3056
|
-
style: {
|
|
3057
|
-
..._vm.root.style[_vm.getClassPrefix(false) + '-border'],
|
|
3058
|
-
..._vm.borderStyle
|
|
3059
|
-
},
|
|
3060
|
-
attrs: {
|
|
3061
|
-
"x": _vm.border,
|
|
3062
|
-
"y": _vm.border,
|
|
3063
|
-
"width": _vm.options.size - _vm.border * 2,
|
|
3064
|
-
"height": _vm.options.size - _vm.border * 2,
|
|
3065
|
-
"rx": "2",
|
|
3066
|
-
"ry": "2"
|
|
3067
|
-
}
|
|
3068
|
-
}), _vm.allChildren.length ? _c('line', {
|
|
3069
|
-
class: _vm.getClassPrefix() + '-line',
|
|
3898
|
+
}, [_c('path', {
|
|
3899
|
+
class: _vm.getClassPrefix() + '-arrow',
|
|
3070
3900
|
style: {
|
|
3071
|
-
..._vm.root.style[_vm.getClassPrefix(false) + '-
|
|
3901
|
+
..._vm.root.style[_vm.getClassPrefix(false) + '-arrow']
|
|
3072
3902
|
},
|
|
3073
3903
|
attrs: {
|
|
3074
|
-
"
|
|
3075
|
-
"
|
|
3076
|
-
"
|
|
3077
|
-
"
|
|
3904
|
+
"d": _vm.collapsed ? 'M6 4 L10 8 L6 12' : 'M4 6 L8 10 L12 6',
|
|
3905
|
+
"fill": "none",
|
|
3906
|
+
"stroke": "currentColor",
|
|
3907
|
+
"stroke-width": "2",
|
|
3908
|
+
"stroke-linecap": "round",
|
|
3909
|
+
"stroke-linejoin": "round"
|
|
3078
3910
|
}
|
|
3079
|
-
}) : _vm._e()
|
|
3080
|
-
class: _vm.getClassPrefix() + '-line',
|
|
3081
|
-
style: {
|
|
3082
|
-
..._vm.root.style[_vm.getClassPrefix(false) + '-line']
|
|
3083
|
-
},
|
|
3084
|
-
attrs: {
|
|
3085
|
-
"x1": _vm.options.size / 2,
|
|
3086
|
-
"y1": _vm.lineOffset,
|
|
3087
|
-
"x2": _vm.options.size / 2,
|
|
3088
|
-
"y2": _vm.options.size - _vm.lineOffset
|
|
3089
|
-
}
|
|
3090
|
-
}) : _vm._e()]) : _vm._e()]);
|
|
3911
|
+
})]) : _vm._e()]);
|
|
3091
3912
|
};
|
|
3092
|
-
var
|
|
3913
|
+
var Expandervue_type_template_id_ac398cf4_staticRenderFns = [];
|
|
3093
3914
|
|
|
3094
|
-
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/
|
|
3915
|
+
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/Expander.vue?vue&type=script&lang=js
|
|
3095
3916
|
|
|
3096
3917
|
|
|
3097
3918
|
|
|
@@ -3173,110 +3994,16 @@ var Expandervue_type_template_id_41972c7c_staticRenderFns = [];
|
|
|
3173
3994
|
this.tasks.forEach(task => {
|
|
3174
3995
|
task.collapsed = collapsed;
|
|
3175
3996
|
});
|
|
3997
|
+
|
|
3998
|
+
// Force reactivity update
|
|
3999
|
+
this.$forceUpdate();
|
|
4000
|
+
this.root.$forceUpdate();
|
|
3176
4001
|
}
|
|
3177
4002
|
}
|
|
3178
4003
|
});
|
|
3179
|
-
;// ./src/components/
|
|
4004
|
+
;// ./src/components/Expander.vue?vue&type=script&lang=js
|
|
3180
4005
|
/* harmony default export */ var components_Expandervue_type_script_lang_js = (Expandervue_type_script_lang_js);
|
|
3181
|
-
;// ./
|
|
3182
|
-
/* globals __VUE_SSR_CONTEXT__ */
|
|
3183
|
-
|
|
3184
|
-
// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).
|
|
3185
|
-
// This module is a runtime utility for cleaner component module output and will
|
|
3186
|
-
// be included in the final webpack user bundle.
|
|
3187
|
-
|
|
3188
|
-
function normalizeComponent(
|
|
3189
|
-
scriptExports,
|
|
3190
|
-
render,
|
|
3191
|
-
staticRenderFns,
|
|
3192
|
-
functionalTemplate,
|
|
3193
|
-
injectStyles,
|
|
3194
|
-
scopeId,
|
|
3195
|
-
moduleIdentifier /* server only */,
|
|
3196
|
-
shadowMode /* vue-cli only */
|
|
3197
|
-
) {
|
|
3198
|
-
// Vue.extend constructor export interop
|
|
3199
|
-
var options =
|
|
3200
|
-
typeof scriptExports === 'function' ? scriptExports.options : scriptExports
|
|
3201
|
-
|
|
3202
|
-
// render functions
|
|
3203
|
-
if (render) {
|
|
3204
|
-
options.render = render
|
|
3205
|
-
options.staticRenderFns = staticRenderFns
|
|
3206
|
-
options._compiled = true
|
|
3207
|
-
}
|
|
3208
|
-
|
|
3209
|
-
// functional template
|
|
3210
|
-
if (functionalTemplate) {
|
|
3211
|
-
options.functional = true
|
|
3212
|
-
}
|
|
3213
|
-
|
|
3214
|
-
// scopedId
|
|
3215
|
-
if (scopeId) {
|
|
3216
|
-
options._scopeId = 'data-v-' + scopeId
|
|
3217
|
-
}
|
|
3218
|
-
|
|
3219
|
-
var hook
|
|
3220
|
-
if (moduleIdentifier) {
|
|
3221
|
-
// server build
|
|
3222
|
-
hook = function (context) {
|
|
3223
|
-
// 2.3 injection
|
|
3224
|
-
context =
|
|
3225
|
-
context || // cached call
|
|
3226
|
-
(this.$vnode && this.$vnode.ssrContext) || // stateful
|
|
3227
|
-
(this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional
|
|
3228
|
-
// 2.2 with runInNewContext: true
|
|
3229
|
-
if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {
|
|
3230
|
-
context = __VUE_SSR_CONTEXT__
|
|
3231
|
-
}
|
|
3232
|
-
// inject component styles
|
|
3233
|
-
if (injectStyles) {
|
|
3234
|
-
injectStyles.call(this, context)
|
|
3235
|
-
}
|
|
3236
|
-
// register component module identifier for async chunk inferrence
|
|
3237
|
-
if (context && context._registeredComponents) {
|
|
3238
|
-
context._registeredComponents.add(moduleIdentifier)
|
|
3239
|
-
}
|
|
3240
|
-
}
|
|
3241
|
-
// used by ssr in case component is cached and beforeCreate
|
|
3242
|
-
// never gets called
|
|
3243
|
-
options._ssrRegister = hook
|
|
3244
|
-
} else if (injectStyles) {
|
|
3245
|
-
hook = shadowMode
|
|
3246
|
-
? function () {
|
|
3247
|
-
injectStyles.call(
|
|
3248
|
-
this,
|
|
3249
|
-
(options.functional ? this.parent : this).$root.$options.shadowRoot
|
|
3250
|
-
)
|
|
3251
|
-
}
|
|
3252
|
-
: injectStyles
|
|
3253
|
-
}
|
|
3254
|
-
|
|
3255
|
-
if (hook) {
|
|
3256
|
-
if (options.functional) {
|
|
3257
|
-
// for template-only hot-reload because in that case the render fn doesn't
|
|
3258
|
-
// go through the normalizer
|
|
3259
|
-
options._injectStyles = hook
|
|
3260
|
-
// register for functional component in vue file
|
|
3261
|
-
var originalRender = options.render
|
|
3262
|
-
options.render = function renderWithStyleInjection(h, context) {
|
|
3263
|
-
hook.call(context)
|
|
3264
|
-
return originalRender(h, context)
|
|
3265
|
-
}
|
|
3266
|
-
} else {
|
|
3267
|
-
// inject component registration as beforeCreate hook
|
|
3268
|
-
var existing = options.beforeCreate
|
|
3269
|
-
options.beforeCreate = existing ? [].concat(existing, hook) : [hook]
|
|
3270
|
-
}
|
|
3271
|
-
}
|
|
3272
|
-
|
|
3273
|
-
return {
|
|
3274
|
-
exports: scriptExports,
|
|
3275
|
-
options: options
|
|
3276
|
-
}
|
|
3277
|
-
}
|
|
3278
|
-
|
|
3279
|
-
;// ./src/components/components/Expander.vue
|
|
4006
|
+
;// ./src/components/Expander.vue
|
|
3280
4007
|
|
|
3281
4008
|
|
|
3282
4009
|
|
|
@@ -3284,10 +4011,10 @@ function normalizeComponent(
|
|
|
3284
4011
|
|
|
3285
4012
|
/* normalize component */
|
|
3286
4013
|
;
|
|
3287
|
-
var
|
|
4014
|
+
var Expander_component = normalizeComponent(
|
|
3288
4015
|
components_Expandervue_type_script_lang_js,
|
|
3289
|
-
|
|
3290
|
-
|
|
4016
|
+
Expandervue_type_template_id_ac398cf4_render,
|
|
4017
|
+
Expandervue_type_template_id_ac398cf4_staticRenderFns,
|
|
3291
4018
|
false,
|
|
3292
4019
|
null,
|
|
3293
4020
|
null,
|
|
@@ -3295,8 +4022,8 @@ var component = normalizeComponent(
|
|
|
3295
4022
|
|
|
3296
4023
|
)
|
|
3297
4024
|
|
|
3298
|
-
/* harmony default export */ var Expander = (
|
|
3299
|
-
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/
|
|
4025
|
+
/* harmony default export */ var Expander = (Expander_component.exports);
|
|
4026
|
+
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/TaskList/TaskListHeader.vue?vue&type=script&lang=js
|
|
3300
4027
|
|
|
3301
4028
|
|
|
3302
4029
|
|
|
@@ -3396,9 +4123,9 @@ var component = normalizeComponent(
|
|
|
3396
4123
|
// document.removeEventListener('mousemove', this.resizerMouseMove);
|
|
3397
4124
|
// }
|
|
3398
4125
|
});
|
|
3399
|
-
;// ./src/components/
|
|
4126
|
+
;// ./src/components/TaskList/TaskListHeader.vue?vue&type=script&lang=js
|
|
3400
4127
|
/* harmony default export */ var TaskList_TaskListHeadervue_type_script_lang_js = (TaskListHeadervue_type_script_lang_js);
|
|
3401
|
-
;// ./src/components/
|
|
4128
|
+
;// ./src/components/TaskList/TaskListHeader.vue
|
|
3402
4129
|
|
|
3403
4130
|
|
|
3404
4131
|
|
|
@@ -3408,8 +4135,8 @@ var component = normalizeComponent(
|
|
|
3408
4135
|
;
|
|
3409
4136
|
var TaskListHeader_component = normalizeComponent(
|
|
3410
4137
|
TaskList_TaskListHeadervue_type_script_lang_js,
|
|
3411
|
-
|
|
3412
|
-
|
|
4138
|
+
TaskListHeadervue_type_template_id_2ecc0032_render,
|
|
4139
|
+
TaskListHeadervue_type_template_id_2ecc0032_staticRenderFns,
|
|
3413
4140
|
false,
|
|
3414
4141
|
null,
|
|
3415
4142
|
null,
|
|
@@ -3418,8 +4145,8 @@ var TaskListHeader_component = normalizeComponent(
|
|
|
3418
4145
|
)
|
|
3419
4146
|
|
|
3420
4147
|
/* harmony default export */ var TaskListHeader = (TaskListHeader_component.exports);
|
|
3421
|
-
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/
|
|
3422
|
-
var
|
|
4148
|
+
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/TaskList/TaskListItem.vue?vue&type=template&id=b99d1d94
|
|
4149
|
+
var TaskListItemvue_type_template_id_b99d1d94_render = function render() {
|
|
3423
4150
|
var _vm = this,
|
|
3424
4151
|
_c = _vm._self._c;
|
|
3425
4152
|
return _c('div', {
|
|
@@ -3443,10 +4170,10 @@ var TaskListItemvue_type_template_id_602cdfed_render = function render() {
|
|
|
3443
4170
|
}) : _vm._e()], 1);
|
|
3444
4171
|
}), 1);
|
|
3445
4172
|
};
|
|
3446
|
-
var
|
|
4173
|
+
var TaskListItemvue_type_template_id_b99d1d94_staticRenderFns = [];
|
|
3447
4174
|
|
|
3448
|
-
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/
|
|
3449
|
-
var
|
|
4175
|
+
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/TaskList/ItemColumn.vue?vue&type=template&id=f410efbc
|
|
4176
|
+
var ItemColumnvue_type_template_id_f410efbc_render = function render() {
|
|
3450
4177
|
var _vm = this,
|
|
3451
4178
|
_c = _vm._self._c;
|
|
3452
4179
|
return _c('div', {
|
|
@@ -3496,12 +4223,28 @@ var ItemColumnvue_type_template_id_0b2903fd_render = function render() {
|
|
|
3496
4223
|
return _vm.emitEvent('touchend', $event);
|
|
3497
4224
|
}
|
|
3498
4225
|
}
|
|
3499
|
-
}, [_vm.
|
|
4226
|
+
}, [_vm.column.expander && _vm.taskIcon ? _c('div', {
|
|
4227
|
+
staticClass: "gantt-elastic__task-list-item-icon",
|
|
4228
|
+
style: _vm.iconStyle
|
|
4229
|
+
}, [_c('svg', {
|
|
4230
|
+
attrs: {
|
|
4231
|
+
"width": "14",
|
|
4232
|
+
"height": "14",
|
|
4233
|
+
"viewBox": "0 0 14 14",
|
|
4234
|
+
"fill": "none"
|
|
4235
|
+
}
|
|
4236
|
+
}, [_c('path', {
|
|
4237
|
+
attrs: {
|
|
4238
|
+
"d": _vm.taskIcon,
|
|
4239
|
+
"fill": _vm.iconColor,
|
|
4240
|
+
"stroke": _vm.iconStroke,
|
|
4241
|
+
"stroke-width": "0.8"
|
|
4242
|
+
}
|
|
4243
|
+
})])]) : _vm._e(), _c('span', {
|
|
4244
|
+
staticClass: "gantt-elastic__task-list-item-text"
|
|
4245
|
+
}, [_vm._v(_vm._s(_vm.value))])]) : _c('div', {
|
|
3500
4246
|
staticClass: "gantt-elastic__task-list-item-value",
|
|
3501
4247
|
style: _vm.valueStyle,
|
|
3502
|
-
domProps: {
|
|
3503
|
-
"innerHTML": _vm._s(_vm.value)
|
|
3504
|
-
},
|
|
3505
4248
|
on: {
|
|
3506
4249
|
"click": function ($event) {
|
|
3507
4250
|
return _vm.emitEvent('click', $event);
|
|
@@ -3537,11 +4280,33 @@ var ItemColumnvue_type_template_id_0b2903fd_render = function render() {
|
|
|
3537
4280
|
return _vm.emitEvent('touchend', $event);
|
|
3538
4281
|
}
|
|
3539
4282
|
}
|
|
3540
|
-
}
|
|
4283
|
+
}, [_vm.column.expander && _vm.taskIcon ? _c('div', {
|
|
4284
|
+
staticClass: "gantt-elastic__task-list-item-icon",
|
|
4285
|
+
style: _vm.iconStyle
|
|
4286
|
+
}, [_c('svg', {
|
|
4287
|
+
attrs: {
|
|
4288
|
+
"width": "14",
|
|
4289
|
+
"height": "14",
|
|
4290
|
+
"viewBox": "0 0 14 14",
|
|
4291
|
+
"fill": "none"
|
|
4292
|
+
}
|
|
4293
|
+
}, [_c('path', {
|
|
4294
|
+
attrs: {
|
|
4295
|
+
"d": _vm.taskIcon,
|
|
4296
|
+
"fill": _vm.iconColor,
|
|
4297
|
+
"stroke": _vm.iconStroke,
|
|
4298
|
+
"stroke-width": "0.8"
|
|
4299
|
+
}
|
|
4300
|
+
})])]) : _vm._e(), _c('span', {
|
|
4301
|
+
staticClass: "gantt-elastic__task-list-item-text",
|
|
4302
|
+
domProps: {
|
|
4303
|
+
"innerHTML": _vm._s(_vm.value)
|
|
4304
|
+
}
|
|
4305
|
+
})])])], 2)]);
|
|
3541
4306
|
};
|
|
3542
|
-
var
|
|
4307
|
+
var ItemColumnvue_type_template_id_f410efbc_staticRenderFns = [];
|
|
3543
4308
|
|
|
3544
|
-
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/
|
|
4309
|
+
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/TaskList/ItemColumn.vue?vue&type=script&lang=js
|
|
3545
4310
|
/* harmony default export */ var ItemColumnvue_type_script_lang_js = ({
|
|
3546
4311
|
name: 'ItemColumn',
|
|
3547
4312
|
inject: ['root'],
|
|
@@ -3619,12 +4384,101 @@ var ItemColumnvue_type_template_id_0b2903fd_staticRenderFns = [];
|
|
|
3619
4384
|
...this.root.style['task-list-item-value'],
|
|
3620
4385
|
...this.column.style['task-list-item-value']
|
|
3621
4386
|
};
|
|
4387
|
+
},
|
|
4388
|
+
/**
|
|
4389
|
+
* Get task icon based on task type or custom icon property
|
|
4390
|
+
*
|
|
4391
|
+
* @returns {string|null}
|
|
4392
|
+
*/
|
|
4393
|
+
taskIcon() {
|
|
4394
|
+
// Check if task has a custom icon property
|
|
4395
|
+
if (this.task.icon) {
|
|
4396
|
+
return this.task.icon;
|
|
4397
|
+
}
|
|
4398
|
+
|
|
4399
|
+
// Default icons based on task type - matching the interface
|
|
4400
|
+
const iconMap = {
|
|
4401
|
+
'milestone': 'M7 2 L12 7 L7 12 L2 7 Z',
|
|
4402
|
+
// Purple diamond for milestones
|
|
4403
|
+
'task': 'M3 3 L11 3 L11 11 L3 11 Z',
|
|
4404
|
+
// Blue square for tasks
|
|
4405
|
+
'project': 'M7 2 L12 7 L7 12 L2 7 Z',
|
|
4406
|
+
// Purple diamond for projects
|
|
4407
|
+
'sprint': 'M3 4 L11 4 L11 10 L3 10 Z',
|
|
4408
|
+
// Rectangle for sprints
|
|
4409
|
+
'flag': 'M3 3 L9 3 L9 7 L7 9 L5 7 L5 3 Z M3 3 L3 11 M5 3 L5 11',
|
|
4410
|
+
// Green flag
|
|
4411
|
+
'check': 'M3 3 L11 3 L11 11 L3 11 Z M5 7 L7 9 L9 5',
|
|
4412
|
+
// Blue checkmark in square
|
|
4413
|
+
'epic': 'M7 2 L12 7 L7 12 L2 7 Z' // Purple diamond for epics
|
|
4414
|
+
};
|
|
4415
|
+
|
|
4416
|
+
// Always return an icon for tasks, default to task icon if type not found
|
|
4417
|
+
return iconMap[this.task.type] || iconMap['task'];
|
|
4418
|
+
},
|
|
4419
|
+
/**
|
|
4420
|
+
* Get icon color based on task properties
|
|
4421
|
+
*
|
|
4422
|
+
* @returns {string}
|
|
4423
|
+
*/
|
|
4424
|
+
iconColor() {
|
|
4425
|
+
if (this.task.iconColor) {
|
|
4426
|
+
return this.task.iconColor;
|
|
4427
|
+
}
|
|
4428
|
+
|
|
4429
|
+
// Default colors based on task type - matching chart grid bar colors
|
|
4430
|
+
const colorMap = {
|
|
4431
|
+
'milestone': '#CD5C5C',
|
|
4432
|
+
// Light maroon - matches chart
|
|
4433
|
+
'task': '#3B82F6',
|
|
4434
|
+
// Blue - matches chart
|
|
4435
|
+
'project': '#8B5CF6',
|
|
4436
|
+
// Purple - matches chart
|
|
4437
|
+
'sprint': '#F59E0B',
|
|
4438
|
+
// Orange rectangle
|
|
4439
|
+
'flag': '#10B981',
|
|
4440
|
+
// Green flag
|
|
4441
|
+
'check': '#3B82F6',
|
|
4442
|
+
// Blue checkmark
|
|
4443
|
+
'epic': '#8B5CF6',
|
|
4444
|
+
// Purple - matches chart
|
|
4445
|
+
'story': '#86EFAC',
|
|
4446
|
+
// Light green - matches chart
|
|
4447
|
+
'subtask': '#3B82F6' // Blue - matches chart
|
|
4448
|
+
};
|
|
4449
|
+
return colorMap[this.task.type] || '#6B7280'; // Gray default
|
|
4450
|
+
},
|
|
4451
|
+
/**
|
|
4452
|
+
* Get icon stroke color
|
|
4453
|
+
*
|
|
4454
|
+
* @returns {string}
|
|
4455
|
+
*/
|
|
4456
|
+
iconStroke() {
|
|
4457
|
+
if (this.task.iconStroke) {
|
|
4458
|
+
return this.task.iconStroke;
|
|
4459
|
+
}
|
|
4460
|
+
return this.iconColor; // Same as fill color
|
|
4461
|
+
},
|
|
4462
|
+
/**
|
|
4463
|
+
* Get icon style
|
|
4464
|
+
*
|
|
4465
|
+
* @returns {object}
|
|
4466
|
+
*/
|
|
4467
|
+
iconStyle() {
|
|
4468
|
+
return {
|
|
4469
|
+
display: 'flex',
|
|
4470
|
+
alignItems: 'center',
|
|
4471
|
+
marginRight: '6px',
|
|
4472
|
+
flexShrink: 0,
|
|
4473
|
+
width: '14px',
|
|
4474
|
+
height: '14px'
|
|
4475
|
+
};
|
|
3622
4476
|
}
|
|
3623
4477
|
}
|
|
3624
4478
|
});
|
|
3625
|
-
;// ./src/components/
|
|
4479
|
+
;// ./src/components/TaskList/ItemColumn.vue?vue&type=script&lang=js
|
|
3626
4480
|
/* harmony default export */ var TaskList_ItemColumnvue_type_script_lang_js = (ItemColumnvue_type_script_lang_js);
|
|
3627
|
-
;// ./src/components/
|
|
4481
|
+
;// ./src/components/TaskList/ItemColumn.vue
|
|
3628
4482
|
|
|
3629
4483
|
|
|
3630
4484
|
|
|
@@ -3634,8 +4488,8 @@ var ItemColumnvue_type_template_id_0b2903fd_staticRenderFns = [];
|
|
|
3634
4488
|
;
|
|
3635
4489
|
var ItemColumn_component = normalizeComponent(
|
|
3636
4490
|
TaskList_ItemColumnvue_type_script_lang_js,
|
|
3637
|
-
|
|
3638
|
-
|
|
4491
|
+
ItemColumnvue_type_template_id_f410efbc_render,
|
|
4492
|
+
ItemColumnvue_type_template_id_f410efbc_staticRenderFns,
|
|
3639
4493
|
false,
|
|
3640
4494
|
null,
|
|
3641
4495
|
null,
|
|
@@ -3644,7 +4498,7 @@ var ItemColumn_component = normalizeComponent(
|
|
|
3644
4498
|
)
|
|
3645
4499
|
|
|
3646
4500
|
/* harmony default export */ var ItemColumn = (ItemColumn_component.exports);
|
|
3647
|
-
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/
|
|
4501
|
+
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/TaskList/TaskListItem.vue?vue&type=script&lang=js
|
|
3648
4502
|
|
|
3649
4503
|
|
|
3650
4504
|
/* harmony default export */ var TaskListItemvue_type_script_lang_js = ({
|
|
@@ -3664,9 +4518,9 @@ var ItemColumn_component = normalizeComponent(
|
|
|
3664
4518
|
}
|
|
3665
4519
|
}
|
|
3666
4520
|
});
|
|
3667
|
-
;// ./src/components/
|
|
4521
|
+
;// ./src/components/TaskList/TaskListItem.vue?vue&type=script&lang=js
|
|
3668
4522
|
/* harmony default export */ var TaskList_TaskListItemvue_type_script_lang_js = (TaskListItemvue_type_script_lang_js);
|
|
3669
|
-
;// ./src/components/
|
|
4523
|
+
;// ./src/components/TaskList/TaskListItem.vue
|
|
3670
4524
|
|
|
3671
4525
|
|
|
3672
4526
|
|
|
@@ -3676,8 +4530,8 @@ var ItemColumn_component = normalizeComponent(
|
|
|
3676
4530
|
;
|
|
3677
4531
|
var TaskListItem_component = normalizeComponent(
|
|
3678
4532
|
TaskList_TaskListItemvue_type_script_lang_js,
|
|
3679
|
-
|
|
3680
|
-
|
|
4533
|
+
TaskListItemvue_type_template_id_b99d1d94_render,
|
|
4534
|
+
TaskListItemvue_type_template_id_b99d1d94_staticRenderFns,
|
|
3681
4535
|
false,
|
|
3682
4536
|
null,
|
|
3683
4537
|
null,
|
|
@@ -3686,7 +4540,7 @@ var TaskListItem_component = normalizeComponent(
|
|
|
3686
4540
|
)
|
|
3687
4541
|
|
|
3688
4542
|
/* harmony default export */ var TaskListItem = (TaskListItem_component.exports);
|
|
3689
|
-
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/
|
|
4543
|
+
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/TaskList/TaskList.vue?vue&type=script&lang=js
|
|
3690
4544
|
|
|
3691
4545
|
|
|
3692
4546
|
/* harmony default export */ var TaskListvue_type_script_lang_js = ({
|
|
@@ -3708,9 +4562,9 @@ var TaskListItem_component = normalizeComponent(
|
|
|
3708
4562
|
this.root.state.refs.taskListItems = this.$refs.taskListItems;
|
|
3709
4563
|
}
|
|
3710
4564
|
});
|
|
3711
|
-
;// ./src/components/
|
|
4565
|
+
;// ./src/components/TaskList/TaskList.vue?vue&type=script&lang=js
|
|
3712
4566
|
/* harmony default export */ var TaskList_TaskListvue_type_script_lang_js = (TaskListvue_type_script_lang_js);
|
|
3713
|
-
;// ./src/components/
|
|
4567
|
+
;// ./src/components/TaskList/TaskList.vue
|
|
3714
4568
|
|
|
3715
4569
|
|
|
3716
4570
|
|
|
@@ -3720,8 +4574,8 @@ var TaskListItem_component = normalizeComponent(
|
|
|
3720
4574
|
;
|
|
3721
4575
|
var TaskList_component = normalizeComponent(
|
|
3722
4576
|
TaskList_TaskListvue_type_script_lang_js,
|
|
3723
|
-
|
|
3724
|
-
|
|
4577
|
+
TaskListvue_type_template_id_74ce1216_render,
|
|
4578
|
+
TaskListvue_type_template_id_74ce1216_staticRenderFns,
|
|
3725
4579
|
false,
|
|
3726
4580
|
null,
|
|
3727
4581
|
null,
|
|
@@ -3730,8 +4584,8 @@ var TaskList_component = normalizeComponent(
|
|
|
3730
4584
|
)
|
|
3731
4585
|
|
|
3732
4586
|
/* harmony default export */ var TaskList = (TaskList_component.exports);
|
|
3733
|
-
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/
|
|
3734
|
-
var
|
|
4587
|
+
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/Chart/Chart.vue?vue&type=template&id=1d5eb6d6
|
|
4588
|
+
var Chartvue_type_template_id_1d5eb6d6_render = function render() {
|
|
3735
4589
|
var _vm = this,
|
|
3736
4590
|
_c = _vm._self._c;
|
|
3737
4591
|
return _c('div', {
|
|
@@ -3803,10 +4657,10 @@ var Chartvue_type_template_id_4ae99150_render = function render() {
|
|
|
3803
4657
|
})], 1);
|
|
3804
4658
|
})], 2)])])])]);
|
|
3805
4659
|
};
|
|
3806
|
-
var
|
|
4660
|
+
var Chartvue_type_template_id_1d5eb6d6_staticRenderFns = [];
|
|
3807
4661
|
|
|
3808
|
-
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/
|
|
3809
|
-
var
|
|
4662
|
+
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/Chart/Grid.vue?vue&type=template&id=b26116b4
|
|
4663
|
+
var Gridvue_type_template_id_b26116b4_render = function render() {
|
|
3810
4664
|
var _vm = this,
|
|
3811
4665
|
_c = _vm._self._c;
|
|
3812
4666
|
return _c('svg', {
|
|
@@ -3868,9 +4722,9 @@ var Gridvue_type_template_id_1f8d69e4_render = function render() {
|
|
|
3868
4722
|
}
|
|
3869
4723
|
})], 2)]);
|
|
3870
4724
|
};
|
|
3871
|
-
var
|
|
4725
|
+
var Gridvue_type_template_id_b26116b4_staticRenderFns = [];
|
|
3872
4726
|
|
|
3873
|
-
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/
|
|
4727
|
+
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/Chart/Grid.vue?vue&type=script&lang=js
|
|
3874
4728
|
|
|
3875
4729
|
|
|
3876
4730
|
|
|
@@ -3914,17 +4768,57 @@ var Gridvue_type_template_id_1f8d69e4_staticRenderFns = [];
|
|
|
3914
4768
|
verticalLines() {
|
|
3915
4769
|
let lines = [];
|
|
3916
4770
|
const state = this.root.state;
|
|
3917
|
-
|
|
3918
|
-
|
|
3919
|
-
|
|
4771
|
+
|
|
4772
|
+
// Add grid lines for all steps (remove viewport check to ensure all borders are drawn)
|
|
4773
|
+
state.options.times.steps.forEach((step, index) => {
|
|
4774
|
+
// Only generate grid lines for steps with valid coordinates
|
|
4775
|
+
if (step.offset && typeof step.offset.px === 'number' && !isNaN(step.offset.px)) {
|
|
4776
|
+
const line = {
|
|
3920
4777
|
key: step.time,
|
|
3921
|
-
x1: step.offset.px,
|
|
4778
|
+
x1: Math.round(step.offset.px),
|
|
4779
|
+
// Round to ensure exact pixel alignment
|
|
3922
4780
|
y1: 0,
|
|
3923
|
-
x2: step.offset.px,
|
|
4781
|
+
x2: Math.round(step.offset.px),
|
|
4782
|
+
// Round to ensure exact pixel alignment
|
|
3924
4783
|
y2: state.tasks.length * (state.options.row.height + state.options.chart.grid.horizontal.gap * 2) + this.root.style['grid-line-vertical']['stroke-width']
|
|
3925
|
-
}
|
|
4784
|
+
};
|
|
4785
|
+
lines.push(line);
|
|
4786
|
+
|
|
4787
|
+
// Debug: Log grid lines for quarter view
|
|
4788
|
+
if (state.options.times.stepDuration === 'quarter') {
|
|
4789
|
+
console.log(`Grid Line ${index}:`, {
|
|
4790
|
+
x: line.x1,
|
|
4791
|
+
time: new Date(step.time).toISOString().split('T')[0],
|
|
4792
|
+
quarter: new Date(step.time).getMonth() < 3 ? 1 : new Date(step.time).getMonth() < 6 ? 2 : new Date(step.time).getMonth() < 9 ? 3 : 4,
|
|
4793
|
+
stepWidth: step.width?.px || 0,
|
|
4794
|
+
stepOffset: step.offset?.px || 0,
|
|
4795
|
+
hasValidX: line.x1 >= 0 && !isNaN(line.x1)
|
|
4796
|
+
});
|
|
4797
|
+
}
|
|
4798
|
+
} else {
|
|
4799
|
+
// Debug: Log steps that are being skipped
|
|
4800
|
+
if (state.options.times.stepDuration === 'quarter') {
|
|
4801
|
+
console.log(`Skipped Grid Line ${index}:`, {
|
|
4802
|
+
time: new Date(step.time).toISOString().split('T')[0],
|
|
4803
|
+
offset: step.offset,
|
|
4804
|
+
hasValidOffset: !!(step.offset && typeof step.offset.px === 'number' && !isNaN(step.offset.px))
|
|
4805
|
+
});
|
|
4806
|
+
}
|
|
3926
4807
|
}
|
|
3927
4808
|
});
|
|
4809
|
+
|
|
4810
|
+
// Add final grid line at the end of the chart area to eliminate empty space
|
|
4811
|
+
const lastStep = state.options.times.steps[state.options.times.steps.length - 1];
|
|
4812
|
+
if (lastStep) {
|
|
4813
|
+
const finalX = Math.round(lastStep.offset.px + lastStep.width.px);
|
|
4814
|
+
lines.push({
|
|
4815
|
+
key: 'final-line',
|
|
4816
|
+
x1: finalX,
|
|
4817
|
+
y1: 0,
|
|
4818
|
+
x2: finalX,
|
|
4819
|
+
y2: state.tasks.length * (state.options.row.height + state.options.chart.grid.horizontal.gap * 2) + this.root.style['grid-line-vertical']['stroke-width']
|
|
4820
|
+
});
|
|
4821
|
+
}
|
|
3928
4822
|
return lines;
|
|
3929
4823
|
},
|
|
3930
4824
|
/**
|
|
@@ -3981,9 +4875,9 @@ var Gridvue_type_template_id_1f8d69e4_staticRenderFns = [];
|
|
|
3981
4875
|
}
|
|
3982
4876
|
}
|
|
3983
4877
|
});
|
|
3984
|
-
;// ./src/components/
|
|
4878
|
+
;// ./src/components/Chart/Grid.vue?vue&type=script&lang=js
|
|
3985
4879
|
/* harmony default export */ var Chart_Gridvue_type_script_lang_js = (Gridvue_type_script_lang_js);
|
|
3986
|
-
;// ./src/components/
|
|
4880
|
+
;// ./src/components/Chart/Grid.vue
|
|
3987
4881
|
|
|
3988
4882
|
|
|
3989
4883
|
|
|
@@ -3993,8 +4887,8 @@ var Gridvue_type_template_id_1f8d69e4_staticRenderFns = [];
|
|
|
3993
4887
|
;
|
|
3994
4888
|
var Grid_component = normalizeComponent(
|
|
3995
4889
|
Chart_Gridvue_type_script_lang_js,
|
|
3996
|
-
|
|
3997
|
-
|
|
4890
|
+
Gridvue_type_template_id_b26116b4_render,
|
|
4891
|
+
Gridvue_type_template_id_b26116b4_staticRenderFns,
|
|
3998
4892
|
false,
|
|
3999
4893
|
null,
|
|
4000
4894
|
null,
|
|
@@ -4003,8 +4897,8 @@ var Grid_component = normalizeComponent(
|
|
|
4003
4897
|
)
|
|
4004
4898
|
|
|
4005
4899
|
/* harmony default export */ var Grid = (Grid_component.exports);
|
|
4006
|
-
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/
|
|
4007
|
-
var
|
|
4900
|
+
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/Chart/DaysHighlight.vue?vue&type=template&id=94382932
|
|
4901
|
+
var DaysHighlightvue_type_template_id_94382932_render = function render() {
|
|
4008
4902
|
var _vm = this,
|
|
4009
4903
|
_c = _vm._self._c;
|
|
4010
4904
|
return _vm.showWorkingDays ? _c('g', {
|
|
@@ -4028,9 +4922,9 @@ var DaysHighlightvue_type_template_id_06b8681f_render = function render() {
|
|
|
4028
4922
|
});
|
|
4029
4923
|
}), 0) : _vm._e();
|
|
4030
4924
|
};
|
|
4031
|
-
var
|
|
4925
|
+
var DaysHighlightvue_type_template_id_94382932_staticRenderFns = [];
|
|
4032
4926
|
|
|
4033
|
-
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/
|
|
4927
|
+
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/Chart/DaysHighlight.vue?vue&type=script&lang=js
|
|
4034
4928
|
|
|
4035
4929
|
|
|
4036
4930
|
|
|
@@ -4048,7 +4942,8 @@ var DaysHighlightvue_type_template_id_06b8681f_staticRenderFns = [];
|
|
|
4048
4942
|
* @returns {string} key ideintifier for loop
|
|
4049
4943
|
*/
|
|
4050
4944
|
getKey(day) {
|
|
4051
|
-
|
|
4945
|
+
// Return the full date-time format
|
|
4946
|
+
return dayjs_min_default()(day.time).format('YYYY-MM-DD HH:mm');
|
|
4052
4947
|
}
|
|
4053
4948
|
},
|
|
4054
4949
|
computed: {
|
|
@@ -4076,9 +4971,9 @@ var DaysHighlightvue_type_template_id_06b8681f_staticRenderFns = [];
|
|
|
4076
4971
|
}
|
|
4077
4972
|
}
|
|
4078
4973
|
});
|
|
4079
|
-
;// ./src/components/
|
|
4974
|
+
;// ./src/components/Chart/DaysHighlight.vue?vue&type=script&lang=js
|
|
4080
4975
|
/* harmony default export */ var Chart_DaysHighlightvue_type_script_lang_js = (DaysHighlightvue_type_script_lang_js);
|
|
4081
|
-
;// ./src/components/
|
|
4976
|
+
;// ./src/components/Chart/DaysHighlight.vue
|
|
4082
4977
|
|
|
4083
4978
|
|
|
4084
4979
|
|
|
@@ -4088,8 +4983,8 @@ var DaysHighlightvue_type_template_id_06b8681f_staticRenderFns = [];
|
|
|
4088
4983
|
;
|
|
4089
4984
|
var DaysHighlight_component = normalizeComponent(
|
|
4090
4985
|
Chart_DaysHighlightvue_type_script_lang_js,
|
|
4091
|
-
|
|
4092
|
-
|
|
4986
|
+
DaysHighlightvue_type_template_id_94382932_render,
|
|
4987
|
+
DaysHighlightvue_type_template_id_94382932_staticRenderFns,
|
|
4093
4988
|
false,
|
|
4094
4989
|
null,
|
|
4095
4990
|
null,
|
|
@@ -4098,8 +4993,8 @@ var DaysHighlight_component = normalizeComponent(
|
|
|
4098
4993
|
)
|
|
4099
4994
|
|
|
4100
4995
|
/* harmony default export */ var DaysHighlight = (DaysHighlight_component.exports);
|
|
4101
|
-
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/
|
|
4102
|
-
var
|
|
4996
|
+
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/Calendar/Calendar.vue?vue&type=template&id=564a1c16
|
|
4997
|
+
var Calendarvue_type_template_id_564a1c16_render = function render() {
|
|
4103
4998
|
var _vm = this,
|
|
4104
4999
|
_c = _vm._self._c;
|
|
4105
5000
|
return _c('div', {
|
|
@@ -4114,30 +5009,41 @@ var Calendarvue_type_template_id_19446f31_render = function render() {
|
|
|
4114
5009
|
..._vm.root.style['calendar'],
|
|
4115
5010
|
width: _vm.root.state.options.width + 'px'
|
|
4116
5011
|
}
|
|
4117
|
-
}, [_vm.
|
|
5012
|
+
}, [_vm.viewMode === 'quarter' ? _c('calendar-row', {
|
|
5013
|
+
attrs: {
|
|
5014
|
+
"items": _vm.dates.quarters,
|
|
5015
|
+
"which": "quarter"
|
|
5016
|
+
}
|
|
5017
|
+
}) : _vm._e(), _vm.viewMode === 'month' ? _c('calendar-row', {
|
|
4118
5018
|
attrs: {
|
|
4119
5019
|
"items": _vm.dates.months,
|
|
4120
5020
|
"which": "month"
|
|
4121
5021
|
}
|
|
4122
|
-
}) : _vm._e(), _vm.
|
|
5022
|
+
}) : _vm._e(), _vm.viewMode === 'week' ? _c('calendar-row', {
|
|
4123
5023
|
attrs: {
|
|
4124
|
-
"items": _vm.dates.
|
|
4125
|
-
"which": "
|
|
5024
|
+
"items": _vm.dates.weeks,
|
|
5025
|
+
"which": "week"
|
|
4126
5026
|
}
|
|
4127
|
-
}) : _vm._e(), _vm.
|
|
5027
|
+
}) : _vm._e(), _vm.viewMode === 'day' ? _c('calendar-row', {
|
|
4128
5028
|
attrs: {
|
|
4129
|
-
"items": _vm.dates.
|
|
4130
|
-
"which": "
|
|
5029
|
+
"items": _vm.dates.days,
|
|
5030
|
+
"which": "day"
|
|
4131
5031
|
}
|
|
4132
5032
|
}) : _vm._e()], 1)]);
|
|
4133
5033
|
};
|
|
4134
|
-
var
|
|
4135
|
-
|
|
4136
|
-
|
|
4137
|
-
var
|
|
5034
|
+
var Calendarvue_type_template_id_564a1c16_staticRenderFns = [];
|
|
5035
|
+
|
|
5036
|
+
// EXTERNAL MODULE: ./node_modules/dayjs/plugin/weekOfYear.js
|
|
5037
|
+
var weekOfYear = __webpack_require__(8134);
|
|
5038
|
+
var weekOfYear_default = /*#__PURE__*/__webpack_require__.n(weekOfYear);
|
|
5039
|
+
// EXTERNAL MODULE: ./node_modules/dayjs/plugin/quarterOfYear.js
|
|
5040
|
+
var quarterOfYear = __webpack_require__(1816);
|
|
5041
|
+
var quarterOfYear_default = /*#__PURE__*/__webpack_require__.n(quarterOfYear);
|
|
5042
|
+
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/Calendar/CalendarRow.vue?vue&type=template&id=db48ac98
|
|
5043
|
+
var CalendarRowvue_type_template_id_db48ac98_render = function render() {
|
|
4138
5044
|
var _vm = this,
|
|
4139
5045
|
_c = _vm._self._c;
|
|
4140
|
-
return _c('div', {
|
|
5046
|
+
return _c('section', [_c('div', {
|
|
4141
5047
|
class: 'gantt-elastic__calendar-row gantt-elastic__calendar-row--' + _vm.which,
|
|
4142
5048
|
style: _vm.rowStyle
|
|
4143
5049
|
}, _vm._l(_vm.items, function (item, itemIndex) {
|
|
@@ -4155,11 +5061,11 @@ var CalendarRowvue_type_template_id_50cc12d2_render = function render() {
|
|
|
4155
5061
|
style: _vm.textStyle(child)
|
|
4156
5062
|
}, [_vm._v(" " + _vm._s(child.label) + " ")])]);
|
|
4157
5063
|
}), 0);
|
|
4158
|
-
}), 0);
|
|
5064
|
+
}), 0)]);
|
|
4159
5065
|
};
|
|
4160
|
-
var
|
|
5066
|
+
var CalendarRowvue_type_template_id_db48ac98_staticRenderFns = [];
|
|
4161
5067
|
|
|
4162
|
-
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/
|
|
5068
|
+
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/Calendar/CalendarRow.vue?vue&type=script&lang=js
|
|
4163
5069
|
|
|
4164
5070
|
/* harmony default export */ var CalendarRowvue_type_script_lang_js = ({
|
|
4165
5071
|
name: 'CalendarRow',
|
|
@@ -4175,24 +5081,41 @@ var CalendarRowvue_type_template_id_50cc12d2_staticRenderFns = [];
|
|
|
4175
5081
|
* @returns {number}
|
|
4176
5082
|
*/
|
|
4177
5083
|
getTextX(item) {
|
|
4178
|
-
|
|
4179
|
-
|
|
4180
|
-
|
|
4181
|
-
|
|
4182
|
-
|
|
4183
|
-
|
|
4184
|
-
|
|
4185
|
-
|
|
5084
|
+
// Calculate center position within the item
|
|
5085
|
+
let x = item.width / 2 - item.textWidth / 2;
|
|
5086
|
+
|
|
5087
|
+
// Add padding to avoid overlap with grid lines
|
|
5088
|
+
const gridLineWidth = this.root.style['grid-line-vertical']['stroke-width'] || 1;
|
|
5089
|
+
const padding = Math.max(gridLineWidth / 2 + 2, 4); // At least 4px padding
|
|
5090
|
+
|
|
5091
|
+
// For month view, use perfect centering with bounds checking
|
|
5092
|
+
if (this.which === 'month') {
|
|
5093
|
+
// Perfect center calculation
|
|
5094
|
+
x = (item.width - item.textWidth) / 2;
|
|
5095
|
+
|
|
5096
|
+
// Ensure text stays within bounds with padding
|
|
5097
|
+
if (x < padding) {
|
|
5098
|
+
x = padding;
|
|
5099
|
+
} else if (x + item.textWidth + padding > item.width) {
|
|
5100
|
+
x = item.width - item.textWidth - padding;
|
|
5101
|
+
}
|
|
5102
|
+
} else {
|
|
5103
|
+
// For other view types, ensure text stays within bounds
|
|
5104
|
+
if (x + item.textWidth + padding > item.width) {
|
|
5105
|
+
x = item.width - item.textWidth - padding;
|
|
5106
|
+
} else if (x < padding) {
|
|
5107
|
+
x = padding;
|
|
4186
5108
|
}
|
|
4187
5109
|
}
|
|
4188
|
-
return x
|
|
5110
|
+
return x;
|
|
4189
5111
|
}
|
|
4190
5112
|
},
|
|
4191
5113
|
computed: {
|
|
4192
5114
|
rowStyle() {
|
|
4193
5115
|
return {
|
|
4194
5116
|
...this.root.style['calendar-row'],
|
|
4195
|
-
...this.root.style['calendar-row--' + this.which]
|
|
5117
|
+
...this.root.style['calendar-row--' + this.which],
|
|
5118
|
+
position: 'relative' // Ensure relative positioning for absolute children
|
|
4196
5119
|
};
|
|
4197
5120
|
},
|
|
4198
5121
|
rectStyle() {
|
|
@@ -4213,7 +5136,10 @@ var CalendarRowvue_type_template_id_50cc12d2_staticRenderFns = [];
|
|
|
4213
5136
|
childrenStyle.push({
|
|
4214
5137
|
...basicStyle,
|
|
4215
5138
|
width: child.width + 'px',
|
|
4216
|
-
height: child.height + 'px'
|
|
5139
|
+
height: child.height + 'px',
|
|
5140
|
+
left: child.x + 'px',
|
|
5141
|
+
// Use exact x position for perfect alignment
|
|
5142
|
+
position: 'absolute' // Ensure absolute positioning
|
|
4217
5143
|
});
|
|
4218
5144
|
}
|
|
4219
5145
|
style.push(childrenStyle);
|
|
@@ -4229,17 +5155,15 @@ var CalendarRowvue_type_template_id_50cc12d2_staticRenderFns = [];
|
|
|
4229
5155
|
const style = {
|
|
4230
5156
|
...basicStyle
|
|
4231
5157
|
};
|
|
4232
|
-
|
|
4233
|
-
style.left = this.getTextX(child) + 'px';
|
|
4234
|
-
}
|
|
5158
|
+
// Remove left positioning for month view - let CSS handle centering
|
|
4235
5159
|
return style;
|
|
4236
5160
|
};
|
|
4237
5161
|
}
|
|
4238
5162
|
}
|
|
4239
5163
|
});
|
|
4240
|
-
;// ./src/components/
|
|
5164
|
+
;// ./src/components/Calendar/CalendarRow.vue?vue&type=script&lang=js
|
|
4241
5165
|
/* harmony default export */ var Calendar_CalendarRowvue_type_script_lang_js = (CalendarRowvue_type_script_lang_js);
|
|
4242
|
-
;// ./src/components/
|
|
5166
|
+
;// ./src/components/Calendar/CalendarRow.vue
|
|
4243
5167
|
|
|
4244
5168
|
|
|
4245
5169
|
|
|
@@ -4249,8 +5173,8 @@ var CalendarRowvue_type_template_id_50cc12d2_staticRenderFns = [];
|
|
|
4249
5173
|
;
|
|
4250
5174
|
var CalendarRow_component = normalizeComponent(
|
|
4251
5175
|
Calendar_CalendarRowvue_type_script_lang_js,
|
|
4252
|
-
|
|
4253
|
-
|
|
5176
|
+
CalendarRowvue_type_template_id_db48ac98_render,
|
|
5177
|
+
CalendarRowvue_type_template_id_db48ac98_staticRenderFns,
|
|
4254
5178
|
false,
|
|
4255
5179
|
null,
|
|
4256
5180
|
null,
|
|
@@ -4259,10 +5183,16 @@ var CalendarRow_component = normalizeComponent(
|
|
|
4259
5183
|
)
|
|
4260
5184
|
|
|
4261
5185
|
/* harmony default export */ var CalendarRow = (CalendarRow_component.exports);
|
|
4262
|
-
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/
|
|
5186
|
+
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/Calendar/Calendar.vue?vue&type=script&lang=js
|
|
5187
|
+
|
|
5188
|
+
|
|
4263
5189
|
|
|
4264
5190
|
|
|
4265
5191
|
|
|
5192
|
+
|
|
5193
|
+
// Extend dayjs with required plugins
|
|
5194
|
+
dayjs_min_default().extend((weekOfYear_default()));
|
|
5195
|
+
dayjs_min_default().extend((quarterOfYear_default()));
|
|
4266
5196
|
/* harmony default export */ var Calendarvue_type_script_lang_js = ({
|
|
4267
5197
|
name: 'Calendar',
|
|
4268
5198
|
components: {
|
|
@@ -4270,155 +5200,60 @@ var CalendarRow_component = normalizeComponent(
|
|
|
4270
5200
|
},
|
|
4271
5201
|
inject: ['root'],
|
|
4272
5202
|
data() {
|
|
4273
|
-
return {
|
|
5203
|
+
return {
|
|
5204
|
+
dayjsInstance: (dayjs_min_default()) // Store dayjs instance for consistent usage
|
|
5205
|
+
};
|
|
5206
|
+
},
|
|
5207
|
+
computed: {
|
|
5208
|
+
viewMode() {
|
|
5209
|
+
return this.root.state.options.calendar.viewMode || 'day';
|
|
5210
|
+
},
|
|
5211
|
+
dates() {
|
|
5212
|
+
const days = this.generateDays();
|
|
5213
|
+
const weeks = this.generateWeeks();
|
|
5214
|
+
const months = this.generateMonths();
|
|
5215
|
+
const quarters = this.generateQuarters();
|
|
5216
|
+
const allDates = {
|
|
5217
|
+
days,
|
|
5218
|
+
weeks,
|
|
5219
|
+
months,
|
|
5220
|
+
quarters
|
|
5221
|
+
};
|
|
5222
|
+
this.calculateCalendarDimensions(allDates);
|
|
5223
|
+
return allDates;
|
|
5224
|
+
}
|
|
4274
5225
|
},
|
|
4275
5226
|
methods: {
|
|
4276
|
-
|
|
4277
|
-
|
|
4278
|
-
|
|
4279
|
-
|
|
4280
|
-
|
|
4281
|
-
|
|
4282
|
-
|
|
4283
|
-
|
|
4284
|
-
|
|
4285
|
-
let formatNames = Object.keys(this.root.state.options.calendar.hour.format);
|
|
4286
|
-
for (let hours = 24; hours > 1; hours = Math.ceil(hours / 2)) {
|
|
4287
|
-
for (let formatName of formatNames) {
|
|
4288
|
-
if ((this.root.state.options.calendar.hour.maxWidths[formatName] + additionalSpace) * hours <= fullCellWidth && hours > 1) {
|
|
4289
|
-
return {
|
|
4290
|
-
count: hours,
|
|
4291
|
-
type: formatName
|
|
4292
|
-
};
|
|
4293
|
-
}
|
|
4294
|
-
}
|
|
5227
|
+
calculateCalendarDimensions({
|
|
5228
|
+
days,
|
|
5229
|
+
weeks,
|
|
5230
|
+
months,
|
|
5231
|
+
quarters
|
|
5232
|
+
}) {
|
|
5233
|
+
let height = 0;
|
|
5234
|
+
if (this.viewMode === 'quarter' && quarters.length > 0) {
|
|
5235
|
+
height += this.root.state.options.calendar.quarter?.height || 30;
|
|
4295
5236
|
}
|
|
4296
|
-
|
|
4297
|
-
|
|
4298
|
-
|
|
4299
|
-
|
|
4300
|
-
},
|
|
4301
|
-
/**
|
|
4302
|
-
* How many days will fit?
|
|
4303
|
-
*
|
|
4304
|
-
* @returns {object}
|
|
4305
|
-
*/
|
|
4306
|
-
howManyDaysFit() {
|
|
4307
|
-
const stroke = 1;
|
|
4308
|
-
const additionalSpace = stroke + 2;
|
|
4309
|
-
let fullWidth = this.root.state.options.width;
|
|
4310
|
-
let formatNames = Object.keys(this.root.state.options.calendar.day.format);
|
|
4311
|
-
for (let days = this.root.state.options.times.steps.length; days > 1; days = Math.ceil(days / 2)) {
|
|
4312
|
-
for (let formatName of formatNames) {
|
|
4313
|
-
if ((this.root.state.options.calendar.day.maxWidths[formatName] + additionalSpace) * days <= fullWidth && days > 1) {
|
|
4314
|
-
return {
|
|
4315
|
-
count: days,
|
|
4316
|
-
type: formatName
|
|
4317
|
-
};
|
|
4318
|
-
}
|
|
4319
|
-
}
|
|
5237
|
+
|
|
5238
|
+
// Add month height if visible
|
|
5239
|
+
if (this.viewMode === 'month' && months.length > 0) {
|
|
5240
|
+
height += this.root.state.options.calendar.month.height || 25;
|
|
4320
5241
|
}
|
|
4321
|
-
|
|
4322
|
-
|
|
4323
|
-
|
|
4324
|
-
|
|
5242
|
+
|
|
5243
|
+
// Add week height if visible
|
|
5244
|
+
if (this.viewMode === 'week' && weeks.length > 0) {
|
|
5245
|
+
height += this.root.state.options.calendar.week?.height || 25;
|
|
5246
|
+
}
|
|
5247
|
+
|
|
5248
|
+
// Add day height if visible
|
|
5249
|
+
if (this.viewMode === 'day' && days.length > 0) {
|
|
5250
|
+
height += this.root.state.options.calendar.day.height;
|
|
5251
|
+
}
|
|
5252
|
+
this.root.state.options.calendar.height = height;
|
|
4325
5253
|
},
|
|
4326
|
-
/**
|
|
4327
|
-
* How many months will fit?
|
|
4328
|
-
*
|
|
4329
|
-
* @returns {object}
|
|
4330
|
-
*/
|
|
4331
|
-
howManyMonthsFit() {
|
|
4332
|
-
const stroke = 1;
|
|
4333
|
-
const additionalSpace = stroke + 2;
|
|
4334
|
-
let fullWidth = this.root.state.options.width;
|
|
4335
|
-
let formatNames = Object.keys(this.root.state.options.calendar.month.format);
|
|
4336
|
-
let currentMonth = dayjs_min_default()(this.root.state.options.times.firstTime);
|
|
4337
|
-
let previousMonth = currentMonth.clone();
|
|
4338
|
-
const lastTime = this.root.state.options.times.lastTime;
|
|
4339
|
-
let monthsCount = this.root.monthsCount(this.root.state.options.times.firstTime, this.root.state.options.times.lastTime);
|
|
4340
|
-
if (monthsCount === 1) {
|
|
4341
|
-
for (let formatName of formatNames) {
|
|
4342
|
-
if (this.root.state.options.calendar.month.maxWidths[formatName] + additionalSpace <= fullWidth) {
|
|
4343
|
-
return {
|
|
4344
|
-
count: 1,
|
|
4345
|
-
type: formatName
|
|
4346
|
-
};
|
|
4347
|
-
}
|
|
4348
|
-
}
|
|
4349
|
-
}
|
|
4350
|
-
for (let months = monthsCount; months > 1; months = Math.ceil(months / 2)) {
|
|
4351
|
-
for (let formatName of formatNames) {
|
|
4352
|
-
if ((this.root.state.options.calendar.month.maxWidths[formatName] + additionalSpace) * months <= fullWidth && months > 1) {
|
|
4353
|
-
return {
|
|
4354
|
-
count: months,
|
|
4355
|
-
type: formatName
|
|
4356
|
-
};
|
|
4357
|
-
}
|
|
4358
|
-
}
|
|
4359
|
-
}
|
|
4360
|
-
return {
|
|
4361
|
-
count: 0,
|
|
4362
|
-
type: formatNames[0]
|
|
4363
|
-
};
|
|
4364
|
-
},
|
|
4365
|
-
/**
|
|
4366
|
-
* Generate hours
|
|
4367
|
-
*
|
|
4368
|
-
* @returns {array}
|
|
4369
|
-
*/
|
|
4370
|
-
generateHours() {
|
|
4371
|
-
let allHours = [];
|
|
4372
|
-
if (!this.root.state.options.calendar.hour.display) {
|
|
4373
|
-
return allHours;
|
|
4374
|
-
}
|
|
4375
|
-
const steps = this.root.state.options.times.steps;
|
|
4376
|
-
const localeName = this.root.state.options.locale.name;
|
|
4377
|
-
for (let hourIndex = 0, len = steps.length; hourIndex < len; hourIndex++) {
|
|
4378
|
-
const hoursCount = this.howManyHoursFit(hourIndex);
|
|
4379
|
-
if (hoursCount.count === 0) {
|
|
4380
|
-
continue;
|
|
4381
|
-
}
|
|
4382
|
-
const hours = {
|
|
4383
|
-
key: hourIndex + 'step',
|
|
4384
|
-
children: []
|
|
4385
|
-
};
|
|
4386
|
-
const hourStep = 24 / hoursCount.count;
|
|
4387
|
-
const hourWidthPx = steps[hourIndex].width.px / hoursCount.count;
|
|
4388
|
-
for (let i = 0, len = hoursCount.count; i < len; i++) {
|
|
4389
|
-
const hour = i * hourStep;
|
|
4390
|
-
let index = hourIndex;
|
|
4391
|
-
if (hourIndex > 0) {
|
|
4392
|
-
index = hourIndex - Math.floor(hourIndex / 24) * 24;
|
|
4393
|
-
}
|
|
4394
|
-
let textWidth = 0;
|
|
4395
|
-
if (typeof this.root.state.options.calendar.hour.widths[index] !== 'undefined') {
|
|
4396
|
-
textWidth = this.root.state.options.calendar.hour.widths[index][hoursCount.type];
|
|
4397
|
-
}
|
|
4398
|
-
let x = steps[hourIndex].offset.px + hourWidthPx * i;
|
|
4399
|
-
hours.children.push({
|
|
4400
|
-
index: hourIndex,
|
|
4401
|
-
key: 'h' + i,
|
|
4402
|
-
x,
|
|
4403
|
-
y: this.root.state.options.calendar.day.height + this.root.state.options.calendar.month.height,
|
|
4404
|
-
width: hourWidthPx,
|
|
4405
|
-
textWidth,
|
|
4406
|
-
height: this.root.state.options.calendar.hour.height,
|
|
4407
|
-
label: this.root.state.options.calendar.hour.formatted[hoursCount.type][hour]
|
|
4408
|
-
});
|
|
4409
|
-
}
|
|
4410
|
-
allHours.push(hours);
|
|
4411
|
-
}
|
|
4412
|
-
return allHours;
|
|
4413
|
-
},
|
|
4414
|
-
/**
|
|
4415
|
-
* Generate days
|
|
4416
|
-
*
|
|
4417
|
-
* @returns {array}
|
|
4418
|
-
*/
|
|
4419
5254
|
generateDays() {
|
|
4420
5255
|
let days = [];
|
|
4421
|
-
if (!this.
|
|
5256
|
+
if (!(this.viewMode === 'day' || this.viewMode === 'week')) {
|
|
4422
5257
|
return days;
|
|
4423
5258
|
}
|
|
4424
5259
|
const daysCount = this.howManyDaysFit();
|
|
@@ -4430,23 +5265,26 @@ var CalendarRow_component = normalizeComponent(
|
|
|
4430
5265
|
const dayStep = Math.ceil(steps.length / daysCount.count);
|
|
4431
5266
|
for (let dayIndex = 0, len = steps.length; dayIndex < len; dayIndex += dayStep) {
|
|
4432
5267
|
let dayWidthPx = 0;
|
|
4433
|
-
|
|
5268
|
+
|
|
5269
|
+
// Calculate total width for this day group
|
|
4434
5270
|
for (let currentStep = 0; currentStep < dayStep; currentStep++) {
|
|
4435
5271
|
if (typeof steps[dayIndex + currentStep] !== 'undefined') {
|
|
4436
5272
|
dayWidthPx += steps[dayIndex + currentStep].width.px;
|
|
4437
5273
|
}
|
|
4438
5274
|
}
|
|
4439
|
-
const date =
|
|
5275
|
+
const date = this.dayjsInstance(steps[dayIndex].time);
|
|
4440
5276
|
let textWidth = 0;
|
|
4441
5277
|
if (typeof this.root.state.options.calendar.day.widths[dayIndex] !== 'undefined') {
|
|
4442
5278
|
textWidth = this.root.state.options.calendar.day.widths[dayIndex][daysCount.type];
|
|
4443
5279
|
}
|
|
4444
|
-
|
|
5280
|
+
|
|
5281
|
+
// Use exact step offset for perfect alignment with grid lines
|
|
5282
|
+
let x = Math.round(steps[dayIndex].offset.px); // Round to ensure exact pixel alignment
|
|
4445
5283
|
days.push({
|
|
4446
5284
|
index: dayIndex,
|
|
4447
5285
|
key: steps[dayIndex].time + 'd',
|
|
4448
5286
|
x,
|
|
4449
|
-
y: this.
|
|
5287
|
+
y: this.getYPosition('day'),
|
|
4450
5288
|
width: dayWidthPx,
|
|
4451
5289
|
textWidth,
|
|
4452
5290
|
height: this.root.state.options.calendar.day.height,
|
|
@@ -4458,11 +5296,99 @@ var CalendarRow_component = normalizeComponent(
|
|
|
4458
5296
|
children: [item]
|
|
4459
5297
|
}));
|
|
4460
5298
|
},
|
|
4461
|
-
|
|
4462
|
-
|
|
4463
|
-
|
|
4464
|
-
|
|
4465
|
-
|
|
5299
|
+
generateWeeks() {
|
|
5300
|
+
let weeks = [];
|
|
5301
|
+
if (this.viewMode !== 'week') {
|
|
5302
|
+
return weeks;
|
|
5303
|
+
}
|
|
5304
|
+
const steps = this.root.state.options.times.steps;
|
|
5305
|
+
let currentWeek = null;
|
|
5306
|
+
let weekStartX = 0;
|
|
5307
|
+
let weekWidth = 0;
|
|
5308
|
+
let weekStartDate = null;
|
|
5309
|
+
let weekEndDate = null;
|
|
5310
|
+
for (let i = 0; i < steps.length; i++) {
|
|
5311
|
+
try {
|
|
5312
|
+
const stepDate = this.dayjsInstance(steps[i].time);
|
|
5313
|
+
const weekNumber = stepDate.week();
|
|
5314
|
+
const year = stepDate.year();
|
|
5315
|
+
const weekKey = `${year}-W${weekNumber}`;
|
|
5316
|
+
if (weekKey !== currentWeek) {
|
|
5317
|
+
// Save previous week
|
|
5318
|
+
if (currentWeek !== null) {
|
|
5319
|
+
// Format the label as "Month Day-Day"
|
|
5320
|
+
const startMonth = weekStartDate.format('MMMM');
|
|
5321
|
+
const startDay = weekStartDate.date();
|
|
5322
|
+
const endDay = weekEndDate.date();
|
|
5323
|
+
let label = `${startMonth} ${startDay}`;
|
|
5324
|
+
|
|
5325
|
+
// If the week spans multiple months, show both months
|
|
5326
|
+
if (weekStartDate.month() !== weekEndDate.month()) {
|
|
5327
|
+
const endMonth = weekEndDate.format('MMMM');
|
|
5328
|
+
label = `${startMonth} ${startDay} - ${endMonth} ${endDay}`;
|
|
5329
|
+
} else if (startDay !== endDay) {
|
|
5330
|
+
label = `${startMonth} ${startDay}-${endDay}`;
|
|
5331
|
+
}
|
|
5332
|
+
weeks.push({
|
|
5333
|
+
key: currentWeek,
|
|
5334
|
+
x: weekStartX,
|
|
5335
|
+
// Use exact step offset for perfect alignment
|
|
5336
|
+
y: this.getYPosition('week'),
|
|
5337
|
+
width: weekWidth,
|
|
5338
|
+
textWidth: 50,
|
|
5339
|
+
height: this.root.state.options.calendar.week?.height || 25,
|
|
5340
|
+
label: label
|
|
5341
|
+
});
|
|
5342
|
+
}
|
|
5343
|
+
|
|
5344
|
+
// Start new week - use exact step offset
|
|
5345
|
+
currentWeek = weekKey;
|
|
5346
|
+
weekStartX = Math.round(steps[i].offset.px); // Round to ensure exact pixel alignment
|
|
5347
|
+
weekWidth = steps[i].width.px;
|
|
5348
|
+
weekStartDate = stepDate.clone().startOf('week');
|
|
5349
|
+
weekEndDate = stepDate.clone().endOf('week');
|
|
5350
|
+
} else {
|
|
5351
|
+
// Same week, accumulate width and update end date
|
|
5352
|
+
weekWidth += steps[i].width.px;
|
|
5353
|
+
weekEndDate = stepDate.clone().endOf('week');
|
|
5354
|
+
}
|
|
5355
|
+
} catch (error) {
|
|
5356
|
+
console.error('Error processing week:', error);
|
|
5357
|
+
continue;
|
|
5358
|
+
}
|
|
5359
|
+
}
|
|
5360
|
+
|
|
5361
|
+
// Add the last week
|
|
5362
|
+
if (currentWeek !== null) {
|
|
5363
|
+
// Format the label as "Month Day-Day"
|
|
5364
|
+
const startMonth = weekStartDate.format('MMMM');
|
|
5365
|
+
const startDay = weekStartDate.date();
|
|
5366
|
+
const endDay = weekEndDate.date();
|
|
5367
|
+
let label = `${startMonth} ${startDay}`;
|
|
5368
|
+
|
|
5369
|
+
// If the week spans multiple months, show both months
|
|
5370
|
+
if (weekStartDate.month() !== weekEndDate.month()) {
|
|
5371
|
+
const endMonth = weekEndDate.format('MMMM');
|
|
5372
|
+
label = `${startMonth} ${startDay} - ${endMonth} ${endDay}`;
|
|
5373
|
+
} else if (startDay !== endDay) {
|
|
5374
|
+
label = `${startMonth} ${startDay}-${endDay}`;
|
|
5375
|
+
}
|
|
5376
|
+
weeks.push({
|
|
5377
|
+
key: currentWeek,
|
|
5378
|
+
x: weekStartX,
|
|
5379
|
+
// Use exact step offset for perfect alignment
|
|
5380
|
+
y: this.getYPosition('week'),
|
|
5381
|
+
width: weekWidth,
|
|
5382
|
+
textWidth: 60,
|
|
5383
|
+
height: this.root.state.options.calendar.week?.height || 25,
|
|
5384
|
+
label: label
|
|
5385
|
+
});
|
|
5386
|
+
}
|
|
5387
|
+
return weeks.map(week => ({
|
|
5388
|
+
key: week.key,
|
|
5389
|
+
children: [week]
|
|
5390
|
+
}));
|
|
5391
|
+
},
|
|
4466
5392
|
generateMonths() {
|
|
4467
5393
|
let months = [];
|
|
4468
5394
|
if (!this.root.state.options.calendar.month.display) {
|
|
@@ -4505,7 +5431,8 @@ var CalendarRow_component = normalizeComponent(
|
|
|
4505
5431
|
if (typeof this.root.state.options.calendar.month.widths[monthIndex] !== 'undefined') {
|
|
4506
5432
|
textWidth = this.root.state.options.calendar.month.widths[monthIndex][choosenFormatName];
|
|
4507
5433
|
}
|
|
4508
|
-
|
|
5434
|
+
// Use exact step offset for perfect alignment with grid lines
|
|
5435
|
+
let x = Math.round(monthOffset); // Round to ensure exact pixel alignment
|
|
4509
5436
|
months.push({
|
|
4510
5437
|
index: monthIndex,
|
|
4511
5438
|
key: monthIndex + 'm',
|
|
@@ -4527,47 +5454,230 @@ var CalendarRow_component = normalizeComponent(
|
|
|
4527
5454
|
children: [item]
|
|
4528
5455
|
}));
|
|
4529
5456
|
},
|
|
4530
|
-
|
|
4531
|
-
|
|
4532
|
-
|
|
4533
|
-
|
|
4534
|
-
*/
|
|
4535
|
-
calculateCalendarDimensions({
|
|
4536
|
-
hours,
|
|
4537
|
-
days,
|
|
4538
|
-
months
|
|
4539
|
-
}) {
|
|
4540
|
-
let height = 0;
|
|
4541
|
-
if (this.root.state.options.calendar.hour.display && hours.length > 0) {
|
|
4542
|
-
height += this.root.state.options.calendar.hour.height;
|
|
5457
|
+
generateQuarters() {
|
|
5458
|
+
let quarters = [];
|
|
5459
|
+
if (this.viewMode !== 'quarter') {
|
|
5460
|
+
return quarters;
|
|
4543
5461
|
}
|
|
4544
|
-
|
|
4545
|
-
|
|
5462
|
+
const steps = this.root.state.options.times.steps;
|
|
5463
|
+
|
|
5464
|
+
// Debug: Log quarter generation info
|
|
5465
|
+
console.log('Quarter Generation Debug:', {
|
|
5466
|
+
stepsCount: steps.length,
|
|
5467
|
+
firstStepTime: this.dayjsInstance(steps[0]?.time).format('YYYY-MM-DD'),
|
|
5468
|
+
lastStepTime: this.dayjsInstance(steps[steps.length - 1]?.time).format('YYYY-MM-DD'),
|
|
5469
|
+
firstStepQuarter: this.dayjsInstance(steps[0]?.time).quarter(),
|
|
5470
|
+
lastStepQuarter: this.dayjsInstance(steps[steps.length - 1]?.time).quarter()
|
|
5471
|
+
});
|
|
5472
|
+
let currentQuarter = null;
|
|
5473
|
+
let quarterStartX = 0;
|
|
5474
|
+
let quarterWidth = 0;
|
|
5475
|
+
let quarterStartDate = null;
|
|
5476
|
+
let quarterEndDate = null;
|
|
5477
|
+
for (let i = 0; i < steps.length; i++) {
|
|
5478
|
+
try {
|
|
5479
|
+
// Use UTC to avoid locale/timezone issues
|
|
5480
|
+
const stepDate = this.dayjsInstance(steps[i].time);
|
|
5481
|
+
const quarter = stepDate.quarter();
|
|
5482
|
+
const year = stepDate.year();
|
|
5483
|
+
const quarterKey = `Q${quarter}-${year}`;
|
|
5484
|
+
console.log(`Step ${i}:`, {
|
|
5485
|
+
time: stepDate.format('YYYY-MM-DD'),
|
|
5486
|
+
quarter: quarter,
|
|
5487
|
+
year: year,
|
|
5488
|
+
quarterKey: quarterKey,
|
|
5489
|
+
currentQuarter: currentQuarter
|
|
5490
|
+
});
|
|
5491
|
+
if (quarterKey !== currentQuarter) {
|
|
5492
|
+
// Save previous quarter
|
|
5493
|
+
if (currentQuarter !== null) {
|
|
5494
|
+
// Format the label as "Month – Month 'Year"
|
|
5495
|
+
const startMonth = quarterStartDate.format('MMMM');
|
|
5496
|
+
const endMonth = quarterEndDate.format('MMMM');
|
|
5497
|
+
const shortYear = quarterEndDate.format("YY");
|
|
5498
|
+
const label = `${startMonth} – ${endMonth} '${shortYear}`;
|
|
5499
|
+
quarters.push({
|
|
5500
|
+
key: currentQuarter,
|
|
5501
|
+
x: quarterStartX,
|
|
5502
|
+
// Use exact step offset for perfect alignment
|
|
5503
|
+
y: this.getYPosition('quarter'),
|
|
5504
|
+
width: quarterWidth,
|
|
5505
|
+
textWidth: 50,
|
|
5506
|
+
height: this.root.state.options.calendar.quarter?.height || 30,
|
|
5507
|
+
label: label
|
|
5508
|
+
});
|
|
5509
|
+
}
|
|
5510
|
+
|
|
5511
|
+
// Start new quarter
|
|
5512
|
+
currentQuarter = quarterKey;
|
|
5513
|
+
quarterStartX = Math.round(steps[i].offset.px); // Round to ensure exact pixel alignment
|
|
5514
|
+
quarterWidth = steps[i].width.px;
|
|
5515
|
+
quarterStartDate = stepDate.clone().startOf('quarter');
|
|
5516
|
+
quarterEndDate = stepDate.clone().endOf('quarter');
|
|
5517
|
+
} else {
|
|
5518
|
+
// Same quarter, accumulate width and update end date
|
|
5519
|
+
quarterWidth += steps[i].width.px;
|
|
5520
|
+
quarterEndDate = stepDate.clone().endOf('quarter');
|
|
5521
|
+
}
|
|
5522
|
+
} catch (error) {
|
|
5523
|
+
console.error('Error processing quarter:', error);
|
|
5524
|
+
continue;
|
|
5525
|
+
}
|
|
4546
5526
|
}
|
|
4547
|
-
|
|
4548
|
-
|
|
5527
|
+
|
|
5528
|
+
// Add the last quarter
|
|
5529
|
+
if (currentQuarter !== null) {
|
|
5530
|
+
// Format the label as "Month – Month 'Year"
|
|
5531
|
+
const startMonth = quarterStartDate.format('MMMM');
|
|
5532
|
+
const endMonth = quarterEndDate.format('MMMM');
|
|
5533
|
+
const shortYear = quarterEndDate.format("YY");
|
|
5534
|
+
const label = `${startMonth} – ${endMonth} '${shortYear}`;
|
|
5535
|
+
quarters.push({
|
|
5536
|
+
key: currentQuarter,
|
|
5537
|
+
x: quarterStartX,
|
|
5538
|
+
// Use exact step offset for perfect alignment
|
|
5539
|
+
y: this.getYPosition('quarter'),
|
|
5540
|
+
width: quarterWidth,
|
|
5541
|
+
textWidth: 60,
|
|
5542
|
+
height: this.root.state.options.calendar.quarter?.height || 30,
|
|
5543
|
+
label: label
|
|
5544
|
+
});
|
|
4549
5545
|
}
|
|
4550
|
-
|
|
4551
|
-
|
|
4552
|
-
|
|
4553
|
-
|
|
4554
|
-
|
|
4555
|
-
|
|
4556
|
-
|
|
4557
|
-
|
|
4558
|
-
|
|
4559
|
-
|
|
4560
|
-
|
|
4561
|
-
|
|
5546
|
+
return quarters.map(quarter => ({
|
|
5547
|
+
key: quarter.key,
|
|
5548
|
+
children: [quarter]
|
|
5549
|
+
}));
|
|
5550
|
+
},
|
|
5551
|
+
getYPosition(type) {
|
|
5552
|
+
let y = 0;
|
|
5553
|
+
switch (type) {
|
|
5554
|
+
case 'quarter':
|
|
5555
|
+
return 0;
|
|
5556
|
+
case 'month':
|
|
5557
|
+
// Put month row below quarter if in quarterly view
|
|
5558
|
+
return this.viewMode === 'quarter' ? this.root.state.options.calendar.quarter?.height || 30 : 0;
|
|
5559
|
+
case 'week':
|
|
5560
|
+
// Put week row below month and quarter if applicable
|
|
5561
|
+
|
|
5562
|
+
if (this.viewMode === 'quarter') {
|
|
5563
|
+
y += this.root.state.options.calendar.quarter?.height || 30;
|
|
5564
|
+
}
|
|
5565
|
+
if (this.viewMode === 'month' || this.viewMode === 'quarter') {
|
|
5566
|
+
y += this.root.state.options.calendar.month.height;
|
|
5567
|
+
}
|
|
5568
|
+
return y;
|
|
5569
|
+
case 'day':
|
|
5570
|
+
// Put day below week if applicable
|
|
5571
|
+
y = 0;
|
|
5572
|
+
if (this.viewMode === 'quarter') {
|
|
5573
|
+
y += this.root.state.options.calendar.quarter?.height || 30;
|
|
5574
|
+
}
|
|
5575
|
+
if (this.viewMode === 'month' || this.viewMode === 'quarter') {
|
|
5576
|
+
y += this.root.state.options.calendar.month.height;
|
|
5577
|
+
}
|
|
5578
|
+
if (this.viewMode === 'week') {
|
|
5579
|
+
y += this.root.state.options.calendar.week?.height || 25;
|
|
5580
|
+
}
|
|
5581
|
+
return y;
|
|
5582
|
+
case 'hour':
|
|
5583
|
+
// Put hour row below day if applicable
|
|
5584
|
+
y = 0;
|
|
5585
|
+
if (this.viewMode === 'quarter') {
|
|
5586
|
+
y += this.root.state.options.calendar.quarter?.height || 30;
|
|
5587
|
+
}
|
|
5588
|
+
if (this.viewMode === 'month' || this.viewMode === 'quarter') {
|
|
5589
|
+
y += this.root.state.options.calendar.month.height;
|
|
5590
|
+
}
|
|
5591
|
+
if (this.viewMode === 'week') {
|
|
5592
|
+
y += this.root.state.options.calendar.week?.height || 25;
|
|
5593
|
+
}
|
|
5594
|
+
if (this.viewMode === 'day') {
|
|
5595
|
+
y += this.root.state.options.calendar.day.height;
|
|
5596
|
+
}
|
|
5597
|
+
return y;
|
|
5598
|
+
default:
|
|
5599
|
+
return 0;
|
|
5600
|
+
}
|
|
5601
|
+
},
|
|
5602
|
+
howManyHoursFit(dayIndex) {
|
|
5603
|
+
const stroke = 1;
|
|
5604
|
+
const additionalSpace = stroke + 2;
|
|
5605
|
+
let fullCellWidth = this.root.state.options.times.steps[dayIndex].width.px;
|
|
5606
|
+
let formatNames = Object.keys(this.root.state.options.calendar.hour.format);
|
|
5607
|
+
for (let hours = 24; hours > 1; hours = Math.ceil(hours / 2)) {
|
|
5608
|
+
for (let formatName of formatNames) {
|
|
5609
|
+
if ((this.root.state.options.calendar.hour.maxWidths[formatName] + additionalSpace) * hours <= fullCellWidth && hours > 1) {
|
|
5610
|
+
return {
|
|
5611
|
+
count: hours,
|
|
5612
|
+
type: formatName
|
|
5613
|
+
};
|
|
5614
|
+
}
|
|
5615
|
+
}
|
|
5616
|
+
}
|
|
5617
|
+
return {
|
|
5618
|
+
count: 0,
|
|
5619
|
+
type: ''
|
|
5620
|
+
};
|
|
5621
|
+
},
|
|
5622
|
+
howManyDaysFit() {
|
|
5623
|
+
const stroke = 1;
|
|
5624
|
+
const additionalSpace = stroke + 2;
|
|
5625
|
+
let fullWidth = this.root.state.options.width;
|
|
5626
|
+
let formatNames = Object.keys(this.root.state.options.calendar.day.format);
|
|
5627
|
+
for (let days = this.root.state.options.times.steps.length; days > 1; days = Math.ceil(days / 2)) {
|
|
5628
|
+
for (let formatName of formatNames) {
|
|
5629
|
+
if ((this.root.state.options.calendar.day.maxWidths[formatName] + additionalSpace) * days <= fullWidth && days > 1) {
|
|
5630
|
+
return {
|
|
5631
|
+
count: days,
|
|
5632
|
+
type: formatName
|
|
5633
|
+
};
|
|
5634
|
+
}
|
|
5635
|
+
}
|
|
5636
|
+
}
|
|
5637
|
+
return {
|
|
5638
|
+
count: 0,
|
|
5639
|
+
type: ''
|
|
5640
|
+
};
|
|
5641
|
+
},
|
|
5642
|
+
howManyMonthsFit() {
|
|
5643
|
+
const stroke = 1;
|
|
5644
|
+
const additionalSpace = stroke + 2;
|
|
5645
|
+
let fullWidth = this.root.state.options.width;
|
|
5646
|
+
let formatNames = Object.keys(this.root.state.options.calendar.month.format);
|
|
5647
|
+
let currentMonth = dayjs_min_default()(this.root.state.options.times.firstTime);
|
|
5648
|
+
let previousMonth = currentMonth.clone();
|
|
5649
|
+
const lastTime = this.root.state.options.times.lastTime;
|
|
5650
|
+
let monthsCount = this.root.monthsCount(this.root.state.options.times.firstTime, this.root.state.options.times.lastTime);
|
|
5651
|
+
if (monthsCount === 1) {
|
|
5652
|
+
for (let formatName of formatNames) {
|
|
5653
|
+
if (this.root.state.options.calendar.month.maxWidths[formatName] + additionalSpace <= fullWidth) {
|
|
5654
|
+
return {
|
|
5655
|
+
count: 1,
|
|
5656
|
+
type: formatName
|
|
5657
|
+
};
|
|
5658
|
+
}
|
|
5659
|
+
}
|
|
5660
|
+
}
|
|
5661
|
+
for (let months = monthsCount; months > 1; months = Math.ceil(months / 2)) {
|
|
5662
|
+
for (let formatName of formatNames) {
|
|
5663
|
+
if ((this.root.state.options.calendar.month.maxWidths[formatName] + additionalSpace) * months <= fullWidth && months > 1) {
|
|
5664
|
+
return {
|
|
5665
|
+
count: months,
|
|
5666
|
+
type: formatName
|
|
5667
|
+
};
|
|
5668
|
+
}
|
|
5669
|
+
}
|
|
5670
|
+
}
|
|
5671
|
+
return {
|
|
5672
|
+
count: 0,
|
|
5673
|
+
type: formatNames[0]
|
|
4562
5674
|
};
|
|
4563
|
-
this.calculateCalendarDimensions(allDates);
|
|
4564
|
-
return allDates;
|
|
4565
5675
|
}
|
|
4566
5676
|
}
|
|
4567
5677
|
});
|
|
4568
|
-
;// ./src/components/
|
|
5678
|
+
;// ./src/components/Calendar/Calendar.vue?vue&type=script&lang=js
|
|
4569
5679
|
/* harmony default export */ var Calendar_Calendarvue_type_script_lang_js = (Calendarvue_type_script_lang_js);
|
|
4570
|
-
;// ./src/components/
|
|
5680
|
+
;// ./src/components/Calendar/Calendar.vue
|
|
4571
5681
|
|
|
4572
5682
|
|
|
4573
5683
|
|
|
@@ -4577,8 +5687,8 @@ var CalendarRow_component = normalizeComponent(
|
|
|
4577
5687
|
;
|
|
4578
5688
|
var Calendar_component = normalizeComponent(
|
|
4579
5689
|
Calendar_Calendarvue_type_script_lang_js,
|
|
4580
|
-
|
|
4581
|
-
|
|
5690
|
+
Calendarvue_type_template_id_564a1c16_render,
|
|
5691
|
+
Calendarvue_type_template_id_564a1c16_staticRenderFns,
|
|
4582
5692
|
false,
|
|
4583
5693
|
null,
|
|
4584
5694
|
null,
|
|
@@ -4587,8 +5697,8 @@ var Calendar_component = normalizeComponent(
|
|
|
4587
5697
|
)
|
|
4588
5698
|
|
|
4589
5699
|
/* harmony default export */ var Calendar = (Calendar_component.exports);
|
|
4590
|
-
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/
|
|
4591
|
-
var
|
|
5700
|
+
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/Chart/DependencyLines.vue?vue&type=template&id=bc574838
|
|
5701
|
+
var DependencyLinesvue_type_template_id_bc574838_render = function render() {
|
|
4592
5702
|
var _vm = this,
|
|
4593
5703
|
_c = _vm._self._c;
|
|
4594
5704
|
return _c('svg', {
|
|
@@ -4625,9 +5735,9 @@ var DependencyLinesvue_type_template_id_eddd62e6_render = function render() {
|
|
|
4625
5735
|
}), 0);
|
|
4626
5736
|
}), 0);
|
|
4627
5737
|
};
|
|
4628
|
-
var
|
|
5738
|
+
var DependencyLinesvue_type_template_id_bc574838_staticRenderFns = [];
|
|
4629
5739
|
|
|
4630
|
-
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/
|
|
5740
|
+
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/Chart/DependencyLines.vue?vue&type=script&lang=js
|
|
4631
5741
|
|
|
4632
5742
|
|
|
4633
5743
|
|
|
@@ -4708,9 +5818,9 @@ var DependencyLinesvue_type_template_id_eddd62e6_staticRenderFns = [];
|
|
|
4708
5818
|
}
|
|
4709
5819
|
}
|
|
4710
5820
|
});
|
|
4711
|
-
;// ./src/components/
|
|
5821
|
+
;// ./src/components/Chart/DependencyLines.vue?vue&type=script&lang=js
|
|
4712
5822
|
/* harmony default export */ var Chart_DependencyLinesvue_type_script_lang_js = (DependencyLinesvue_type_script_lang_js);
|
|
4713
|
-
;// ./src/components/
|
|
5823
|
+
;// ./src/components/Chart/DependencyLines.vue
|
|
4714
5824
|
|
|
4715
5825
|
|
|
4716
5826
|
|
|
@@ -4720,8 +5830,8 @@ var DependencyLinesvue_type_template_id_eddd62e6_staticRenderFns = [];
|
|
|
4720
5830
|
;
|
|
4721
5831
|
var DependencyLines_component = normalizeComponent(
|
|
4722
5832
|
Chart_DependencyLinesvue_type_script_lang_js,
|
|
4723
|
-
|
|
4724
|
-
|
|
5833
|
+
DependencyLinesvue_type_template_id_bc574838_render,
|
|
5834
|
+
DependencyLinesvue_type_template_id_bc574838_staticRenderFns,
|
|
4725
5835
|
false,
|
|
4726
5836
|
null,
|
|
4727
5837
|
null,
|
|
@@ -4730,8 +5840,8 @@ var DependencyLines_component = normalizeComponent(
|
|
|
4730
5840
|
)
|
|
4731
5841
|
|
|
4732
5842
|
/* harmony default export */ var DependencyLines = (DependencyLines_component.exports);
|
|
4733
|
-
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/
|
|
4734
|
-
var
|
|
5843
|
+
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/Chart/Row/Task.vue?vue&type=template&id=208a9baa
|
|
5844
|
+
var Taskvue_type_template_id_208a9baa_render = function render() {
|
|
4735
5845
|
var _vm = this,
|
|
4736
5846
|
_c = _vm._self._c;
|
|
4737
5847
|
return _c('g', {
|
|
@@ -4840,10 +5950,10 @@ var Taskvue_type_template_id_2afb5353_render = function render() {
|
|
|
4840
5950
|
}
|
|
4841
5951
|
}) : _vm._e()], 1);
|
|
4842
5952
|
};
|
|
4843
|
-
var
|
|
5953
|
+
var Taskvue_type_template_id_208a9baa_staticRenderFns = [];
|
|
4844
5954
|
|
|
4845
|
-
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/
|
|
4846
|
-
var
|
|
5955
|
+
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/Chart/Text.vue?vue&type=template&id=634f40aa
|
|
5956
|
+
var Textvue_type_template_id_634f40aa_render = function render() {
|
|
4847
5957
|
var _vm = this,
|
|
4848
5958
|
_c = _vm._self._c;
|
|
4849
5959
|
return _c('svg', {
|
|
@@ -4891,9 +6001,9 @@ var Textvue_type_template_id_d1c1415a_render = function render() {
|
|
|
4891
6001
|
}
|
|
4892
6002
|
}) : _vm._e()])])]);
|
|
4893
6003
|
};
|
|
4894
|
-
var
|
|
6004
|
+
var Textvue_type_template_id_634f40aa_staticRenderFns = [];
|
|
4895
6005
|
|
|
4896
|
-
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/
|
|
6006
|
+
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/Chart/Text.vue?vue&type=script&lang=js
|
|
4897
6007
|
/* harmony default export */ var Textvue_type_script_lang_js = ({
|
|
4898
6008
|
name: 'ChartText',
|
|
4899
6009
|
inject: ['root'],
|
|
@@ -4955,9 +6065,9 @@ var Textvue_type_template_id_d1c1415a_staticRenderFns = [];
|
|
|
4955
6065
|
}
|
|
4956
6066
|
}
|
|
4957
6067
|
});
|
|
4958
|
-
;// ./src/components/
|
|
6068
|
+
;// ./src/components/Chart/Text.vue?vue&type=script&lang=js
|
|
4959
6069
|
/* harmony default export */ var Chart_Textvue_type_script_lang_js = (Textvue_type_script_lang_js);
|
|
4960
|
-
;// ./src/components/
|
|
6070
|
+
;// ./src/components/Chart/Text.vue
|
|
4961
6071
|
|
|
4962
6072
|
|
|
4963
6073
|
|
|
@@ -4967,8 +6077,8 @@ var Textvue_type_template_id_d1c1415a_staticRenderFns = [];
|
|
|
4967
6077
|
;
|
|
4968
6078
|
var Text_component = normalizeComponent(
|
|
4969
6079
|
Chart_Textvue_type_script_lang_js,
|
|
4970
|
-
|
|
4971
|
-
|
|
6080
|
+
Textvue_type_template_id_634f40aa_render,
|
|
6081
|
+
Textvue_type_template_id_634f40aa_staticRenderFns,
|
|
4972
6082
|
false,
|
|
4973
6083
|
null,
|
|
4974
6084
|
null,
|
|
@@ -4977,8 +6087,8 @@ var Text_component = normalizeComponent(
|
|
|
4977
6087
|
)
|
|
4978
6088
|
|
|
4979
6089
|
/* harmony default export */ var Text = (Text_component.exports);
|
|
4980
|
-
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/
|
|
4981
|
-
var
|
|
6090
|
+
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/Chart/ProgressBar.vue?vue&type=template&id=bc869ae8
|
|
6091
|
+
var ProgressBarvue_type_template_id_bc869ae8_render = function render() {
|
|
4982
6092
|
var _vm = this,
|
|
4983
6093
|
_c = _vm._self._c;
|
|
4984
6094
|
return _c('g', {
|
|
@@ -5042,9 +6152,9 @@ var ProgressBarvue_type_template_id_00ca07fa_render = function render() {
|
|
|
5042
6152
|
}
|
|
5043
6153
|
})]) : _vm._e()]);
|
|
5044
6154
|
};
|
|
5045
|
-
var
|
|
6155
|
+
var ProgressBarvue_type_template_id_bc869ae8_staticRenderFns = [];
|
|
5046
6156
|
|
|
5047
|
-
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/
|
|
6157
|
+
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/Chart/ProgressBar.vue?vue&type=script&lang=js
|
|
5048
6158
|
/* harmony default export */ var ProgressBarvue_type_script_lang_js = ({
|
|
5049
6159
|
name: 'ProgressBar',
|
|
5050
6160
|
inject: ['root'],
|
|
@@ -5091,9 +6201,9 @@ var ProgressBarvue_type_template_id_00ca07fa_staticRenderFns = [];
|
|
|
5091
6201
|
}
|
|
5092
6202
|
}
|
|
5093
6203
|
});
|
|
5094
|
-
;// ./src/components/
|
|
6204
|
+
;// ./src/components/Chart/ProgressBar.vue?vue&type=script&lang=js
|
|
5095
6205
|
/* harmony default export */ var Chart_ProgressBarvue_type_script_lang_js = (ProgressBarvue_type_script_lang_js);
|
|
5096
|
-
;// ./src/components/
|
|
6206
|
+
;// ./src/components/Chart/ProgressBar.vue
|
|
5097
6207
|
|
|
5098
6208
|
|
|
5099
6209
|
|
|
@@ -5103,8 +6213,8 @@ var ProgressBarvue_type_template_id_00ca07fa_staticRenderFns = [];
|
|
|
5103
6213
|
;
|
|
5104
6214
|
var ProgressBar_component = normalizeComponent(
|
|
5105
6215
|
Chart_ProgressBarvue_type_script_lang_js,
|
|
5106
|
-
|
|
5107
|
-
|
|
6216
|
+
ProgressBarvue_type_template_id_bc869ae8_render,
|
|
6217
|
+
ProgressBarvue_type_template_id_bc869ae8_staticRenderFns,
|
|
5108
6218
|
false,
|
|
5109
6219
|
null,
|
|
5110
6220
|
null,
|
|
@@ -5113,7 +6223,7 @@ var ProgressBar_component = normalizeComponent(
|
|
|
5113
6223
|
)
|
|
5114
6224
|
|
|
5115
6225
|
/* harmony default export */ var ProgressBar = (ProgressBar_component.exports);
|
|
5116
|
-
;// ./src/components/
|
|
6226
|
+
;// ./src/components/Chart/Row/Task.mixin.js
|
|
5117
6227
|
/* harmony default export */ var Task_mixin = ({
|
|
5118
6228
|
computed: {
|
|
5119
6229
|
/**
|
|
@@ -5140,7 +6250,8 @@ var ProgressBar_component = normalizeComponent(
|
|
|
5140
6250
|
*/
|
|
5141
6251
|
displayExpander() {
|
|
5142
6252
|
const expander = this.root.state.options.chart.expander;
|
|
5143
|
-
|
|
6253
|
+
const hasChildren = this.task.allChildren && this.task.allChildren.length > 0;
|
|
6254
|
+
return (expander.display || expander.displayIfTaskListHidden && !this.root.state.options.taskList.display) && hasChildren;
|
|
5144
6255
|
}
|
|
5145
6256
|
},
|
|
5146
6257
|
methods: {
|
|
@@ -5160,7 +6271,7 @@ var ProgressBar_component = normalizeComponent(
|
|
|
5160
6271
|
}
|
|
5161
6272
|
}
|
|
5162
6273
|
});
|
|
5163
|
-
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/
|
|
6274
|
+
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/Chart/Row/Task.vue?vue&type=script&lang=js
|
|
5164
6275
|
|
|
5165
6276
|
|
|
5166
6277
|
|
|
@@ -5188,19 +6299,593 @@ var ProgressBar_component = normalizeComponent(
|
|
|
5188
6299
|
return 'gantt-elastic__task-clip-path-' + this.task.id;
|
|
5189
6300
|
},
|
|
5190
6301
|
/**
|
|
5191
|
-
* Get points
|
|
6302
|
+
* Get points
|
|
6303
|
+
*
|
|
6304
|
+
* @returns {string}
|
|
6305
|
+
*/
|
|
6306
|
+
getPoints() {
|
|
6307
|
+
const task = this.task;
|
|
6308
|
+
return `0,0 ${task.width},0 ${task.width},${task.height} 0,${task.height}`;
|
|
6309
|
+
}
|
|
6310
|
+
}
|
|
6311
|
+
});
|
|
6312
|
+
;// ./src/components/Chart/Row/Task.vue?vue&type=script&lang=js
|
|
6313
|
+
/* harmony default export */ var Row_Taskvue_type_script_lang_js = (Taskvue_type_script_lang_js);
|
|
6314
|
+
;// ./src/components/Chart/Row/Task.vue
|
|
6315
|
+
|
|
6316
|
+
|
|
6317
|
+
|
|
6318
|
+
|
|
6319
|
+
|
|
6320
|
+
/* normalize component */
|
|
6321
|
+
;
|
|
6322
|
+
var Task_component = normalizeComponent(
|
|
6323
|
+
Row_Taskvue_type_script_lang_js,
|
|
6324
|
+
Taskvue_type_template_id_208a9baa_render,
|
|
6325
|
+
Taskvue_type_template_id_208a9baa_staticRenderFns,
|
|
6326
|
+
false,
|
|
6327
|
+
null,
|
|
6328
|
+
null,
|
|
6329
|
+
null
|
|
6330
|
+
|
|
6331
|
+
)
|
|
6332
|
+
|
|
6333
|
+
/* harmony default export */ var Task = (Task_component.exports);
|
|
6334
|
+
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/Chart/Row/Milestone.vue?vue&type=template&id=edd49e02
|
|
6335
|
+
var Milestonevue_type_template_id_edd49e02_render = function render() {
|
|
6336
|
+
var _vm = this,
|
|
6337
|
+
_c = _vm._self._c;
|
|
6338
|
+
return _c('g', {
|
|
6339
|
+
staticClass: "gantt-elastic__chart-row-bar-wrapper gantt-elastic__chart-row-milestone-wrapper",
|
|
6340
|
+
style: {
|
|
6341
|
+
..._vm.root.style['chart-row-bar-wrapper'],
|
|
6342
|
+
..._vm.root.style['chart-row-milestone-wrapper'],
|
|
6343
|
+
..._vm.task.style['chart-row-bar-wrapper']
|
|
6344
|
+
}
|
|
6345
|
+
}, [_vm.displayExpander ? _c('foreignObject', {
|
|
6346
|
+
staticClass: "gantt-elastic__chart-expander gantt-elastic__chart-expander--milestone",
|
|
6347
|
+
style: {
|
|
6348
|
+
..._vm.root.style['chart-expander'],
|
|
6349
|
+
..._vm.root.style['chart-expander--milestone'],
|
|
6350
|
+
..._vm.task.style['chart-expander']
|
|
6351
|
+
},
|
|
6352
|
+
attrs: {
|
|
6353
|
+
"x": _vm.task.x - _vm.root.state.options.chart.expander.offset - _vm.root.state.options.chart.expander.size,
|
|
6354
|
+
"y": _vm.task.y + (_vm.root.state.options.row.height - _vm.root.state.options.chart.expander.size) / 2,
|
|
6355
|
+
"width": _vm.root.state.options.chart.expander.size,
|
|
6356
|
+
"height": _vm.root.state.options.chart.expander.size
|
|
6357
|
+
}
|
|
6358
|
+
}, [_c('expander', {
|
|
6359
|
+
attrs: {
|
|
6360
|
+
"tasks": [_vm.task],
|
|
6361
|
+
"options": _vm.root.state.options.chart.expander,
|
|
6362
|
+
"type": "chart"
|
|
6363
|
+
}
|
|
6364
|
+
})], 1) : _vm._e(), _c('svg', {
|
|
6365
|
+
staticClass: "gantt-elastic__chart-row-bar gantt-elastic__chart-row-milestone",
|
|
6366
|
+
style: {
|
|
6367
|
+
..._vm.root.style['chart-row-bar'],
|
|
6368
|
+
..._vm.root.style['chart-row-milestone'],
|
|
6369
|
+
..._vm.task.style['chart-row-bar']
|
|
6370
|
+
},
|
|
6371
|
+
attrs: {
|
|
6372
|
+
"x": _vm.task.x,
|
|
6373
|
+
"y": _vm.task.y,
|
|
6374
|
+
"width": _vm.task.width,
|
|
6375
|
+
"height": _vm.task.height,
|
|
6376
|
+
"viewBox": `0 0 ${_vm.task.width} ${_vm.task.height}`,
|
|
6377
|
+
"xmlns": "http://www.w3.org/2000/svg"
|
|
6378
|
+
},
|
|
6379
|
+
on: {
|
|
6380
|
+
"click": function ($event) {
|
|
6381
|
+
return _vm.emitEvent('click', $event);
|
|
6382
|
+
},
|
|
6383
|
+
"mouseenter": function ($event) {
|
|
6384
|
+
return _vm.emitEvent('mouseenter', $event);
|
|
6385
|
+
},
|
|
6386
|
+
"mouseover": function ($event) {
|
|
6387
|
+
return _vm.emitEvent('mouseover', $event);
|
|
6388
|
+
},
|
|
6389
|
+
"mouseout": function ($event) {
|
|
6390
|
+
return _vm.emitEvent('mouseout', $event);
|
|
6391
|
+
},
|
|
6392
|
+
"mousemove": function ($event) {
|
|
6393
|
+
return _vm.emitEvent('mousemove', $event);
|
|
6394
|
+
},
|
|
6395
|
+
"mousedown": function ($event) {
|
|
6396
|
+
return _vm.emitEvent('mousedown', $event);
|
|
6397
|
+
},
|
|
6398
|
+
"mouseup": function ($event) {
|
|
6399
|
+
return _vm.emitEvent('mouseup', $event);
|
|
6400
|
+
},
|
|
6401
|
+
"mousewheel": function ($event) {
|
|
6402
|
+
return _vm.emitEvent('mousewheel', $event);
|
|
6403
|
+
},
|
|
6404
|
+
"touchstart": function ($event) {
|
|
6405
|
+
return _vm.emitEvent('touchstart', $event);
|
|
6406
|
+
},
|
|
6407
|
+
"touchmove": function ($event) {
|
|
6408
|
+
return _vm.emitEvent('touchmove', $event);
|
|
6409
|
+
},
|
|
6410
|
+
"touchend": function ($event) {
|
|
6411
|
+
return _vm.emitEvent('touchend', $event);
|
|
6412
|
+
}
|
|
6413
|
+
}
|
|
6414
|
+
}, [_c('defs', [_c('clipPath', {
|
|
6415
|
+
attrs: {
|
|
6416
|
+
"id": _vm.clipPathId
|
|
6417
|
+
}
|
|
6418
|
+
}, [_c('polygon', {
|
|
6419
|
+
attrs: {
|
|
6420
|
+
"points": _vm.getPoints
|
|
6421
|
+
}
|
|
6422
|
+
})])]), _c('polygon', {
|
|
6423
|
+
staticClass: "gantt-elastic__chart-row-bar-polygon gantt-elastic__chart-row-milestone-polygon",
|
|
6424
|
+
style: {
|
|
6425
|
+
..._vm.root.style['chart-row-bar-polygon'],
|
|
6426
|
+
..._vm.root.style['chart-row-milestone-polygon'],
|
|
6427
|
+
..._vm.task.style['base'],
|
|
6428
|
+
..._vm.task.style['chart-row-bar-polygon']
|
|
6429
|
+
},
|
|
6430
|
+
attrs: {
|
|
6431
|
+
"points": _vm.getPoints
|
|
6432
|
+
}
|
|
6433
|
+
}), _c('progress-bar', {
|
|
6434
|
+
attrs: {
|
|
6435
|
+
"task": _vm.task,
|
|
6436
|
+
"clip-path": 'url(#' + _vm.clipPathId + ')'
|
|
6437
|
+
}
|
|
6438
|
+
})], 1), _vm.root.state.options.chart.text.display ? _c('chart-text', {
|
|
6439
|
+
attrs: {
|
|
6440
|
+
"task": _vm.task
|
|
6441
|
+
}
|
|
6442
|
+
}) : _vm._e()], 1);
|
|
6443
|
+
};
|
|
6444
|
+
var Milestonevue_type_template_id_edd49e02_staticRenderFns = [];
|
|
6445
|
+
|
|
6446
|
+
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/Chart/Row/Milestone.vue?vue&type=script&lang=js
|
|
6447
|
+
|
|
6448
|
+
|
|
6449
|
+
|
|
6450
|
+
|
|
6451
|
+
/* harmony default export */ var Milestonevue_type_script_lang_js = ({
|
|
6452
|
+
name: 'Milestone',
|
|
6453
|
+
components: {
|
|
6454
|
+
ChartText: Text,
|
|
6455
|
+
ProgressBar: ProgressBar,
|
|
6456
|
+
Expander: Expander
|
|
6457
|
+
},
|
|
6458
|
+
inject: ['root'],
|
|
6459
|
+
props: ['task'],
|
|
6460
|
+
mixins: [Task_mixin],
|
|
6461
|
+
data() {
|
|
6462
|
+
return {};
|
|
6463
|
+
},
|
|
6464
|
+
computed: {
|
|
6465
|
+
/**
|
|
6466
|
+
* Get clip path id
|
|
6467
|
+
*
|
|
6468
|
+
* @returns {string}
|
|
6469
|
+
*/
|
|
6470
|
+
clipPathId() {
|
|
6471
|
+
return 'gantt-elastic__milestone-clip-path-' + this.task.id;
|
|
6472
|
+
},
|
|
6473
|
+
/**
|
|
6474
|
+
* Get points
|
|
6475
|
+
*
|
|
6476
|
+
* @returns {string}
|
|
6477
|
+
*/
|
|
6478
|
+
getPoints() {
|
|
6479
|
+
const task = this.task;
|
|
6480
|
+
const fifty = task.height / 2;
|
|
6481
|
+
let offset = fifty;
|
|
6482
|
+
if (task.width / 2 - offset < 0) {
|
|
6483
|
+
offset = task.width / 2;
|
|
6484
|
+
}
|
|
6485
|
+
return `0,${fifty}
|
|
6486
|
+
${offset},0
|
|
6487
|
+
${task.width - offset},0
|
|
6488
|
+
${task.width},${fifty}
|
|
6489
|
+
${task.width - offset},${task.height}
|
|
6490
|
+
${offset},${task.height}`;
|
|
6491
|
+
}
|
|
6492
|
+
}
|
|
6493
|
+
});
|
|
6494
|
+
;// ./src/components/Chart/Row/Milestone.vue?vue&type=script&lang=js
|
|
6495
|
+
/* harmony default export */ var Row_Milestonevue_type_script_lang_js = (Milestonevue_type_script_lang_js);
|
|
6496
|
+
;// ./src/components/Chart/Row/Milestone.vue
|
|
6497
|
+
|
|
6498
|
+
|
|
6499
|
+
|
|
6500
|
+
|
|
6501
|
+
|
|
6502
|
+
/* normalize component */
|
|
6503
|
+
;
|
|
6504
|
+
var Milestone_component = normalizeComponent(
|
|
6505
|
+
Row_Milestonevue_type_script_lang_js,
|
|
6506
|
+
Milestonevue_type_template_id_edd49e02_render,
|
|
6507
|
+
Milestonevue_type_template_id_edd49e02_staticRenderFns,
|
|
6508
|
+
false,
|
|
6509
|
+
null,
|
|
6510
|
+
null,
|
|
6511
|
+
null
|
|
6512
|
+
|
|
6513
|
+
)
|
|
6514
|
+
|
|
6515
|
+
/* harmony default export */ var Milestone = (Milestone_component.exports);
|
|
6516
|
+
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/Chart/Row/Project.vue?vue&type=template&id=760bf767
|
|
6517
|
+
var Projectvue_type_template_id_760bf767_render = function render() {
|
|
6518
|
+
var _vm = this,
|
|
6519
|
+
_c = _vm._self._c;
|
|
6520
|
+
return _c('g', {
|
|
6521
|
+
staticClass: "gantt-elastic__chart-row-bar-wrapper gantt-elastic__chart-row-project-wrapper",
|
|
6522
|
+
style: {
|
|
6523
|
+
..._vm.root.style['chart-row-bar-wrapper'],
|
|
6524
|
+
..._vm.root.style['chart-row-project-wrapper'],
|
|
6525
|
+
..._vm.task.style['chart-row-bar-wrapper']
|
|
6526
|
+
}
|
|
6527
|
+
}, [_vm.displayExpander ? _c('foreignObject', {
|
|
6528
|
+
staticClass: "gantt-elastic__chart-expander gantt-elastic__chart-expander--project",
|
|
6529
|
+
style: {
|
|
6530
|
+
..._vm.root.style['chart-expander'],
|
|
6531
|
+
..._vm.root.style['chart-expander--project'],
|
|
6532
|
+
..._vm.task.style['chart-expander']
|
|
6533
|
+
},
|
|
6534
|
+
attrs: {
|
|
6535
|
+
"x": _vm.task.x - _vm.root.state.options.chart.expander.offset - _vm.root.state.options.chart.expander.size,
|
|
6536
|
+
"y": _vm.task.y + (_vm.root.state.options.row.height - _vm.root.state.options.chart.expander.size) / 2,
|
|
6537
|
+
"width": _vm.root.state.options.chart.expander.size,
|
|
6538
|
+
"height": _vm.root.state.options.chart.expander.size
|
|
6539
|
+
}
|
|
6540
|
+
}, [_c('expander', {
|
|
6541
|
+
attrs: {
|
|
6542
|
+
"tasks": [_vm.task],
|
|
6543
|
+
"options": _vm.root.state.options.chart.expander,
|
|
6544
|
+
"type": "chart"
|
|
6545
|
+
}
|
|
6546
|
+
})], 1) : _vm._e(), _c('svg', {
|
|
6547
|
+
staticClass: "gantt-elastic__chart-row-bar gantt-elastic__chart-row-project",
|
|
6548
|
+
style: {
|
|
6549
|
+
..._vm.root.style['chart-row-bar'],
|
|
6550
|
+
..._vm.root.style['chart-row-project'],
|
|
6551
|
+
..._vm.task.style['chart-row-bar']
|
|
6552
|
+
},
|
|
6553
|
+
attrs: {
|
|
6554
|
+
"x": _vm.task.x,
|
|
6555
|
+
"y": _vm.task.y,
|
|
6556
|
+
"width": _vm.task.width,
|
|
6557
|
+
"height": _vm.task.height,
|
|
6558
|
+
"viewBox": `0 0 ${_vm.task.width} ${_vm.task.height}`,
|
|
6559
|
+
"xmlns": "http://www.w3.org/2000/svg"
|
|
6560
|
+
},
|
|
6561
|
+
on: {
|
|
6562
|
+
"click": function ($event) {
|
|
6563
|
+
return _vm.emitEvent('click', $event);
|
|
6564
|
+
},
|
|
6565
|
+
"mouseenter": function ($event) {
|
|
6566
|
+
return _vm.emitEvent('mouseenter', $event);
|
|
6567
|
+
},
|
|
6568
|
+
"mouseover": function ($event) {
|
|
6569
|
+
return _vm.emitEvent('mouseover', $event);
|
|
6570
|
+
},
|
|
6571
|
+
"mouseout": function ($event) {
|
|
6572
|
+
return _vm.emitEvent('mouseout', $event);
|
|
6573
|
+
},
|
|
6574
|
+
"mousemove": function ($event) {
|
|
6575
|
+
return _vm.emitEvent('mousemove', $event);
|
|
6576
|
+
},
|
|
6577
|
+
"mousedown": function ($event) {
|
|
6578
|
+
return _vm.emitEvent('mousedown', $event);
|
|
6579
|
+
},
|
|
6580
|
+
"mouseup": function ($event) {
|
|
6581
|
+
return _vm.emitEvent('mouseup', $event);
|
|
6582
|
+
},
|
|
6583
|
+
"mousewheel": function ($event) {
|
|
6584
|
+
return _vm.emitEvent('mousewheel', $event);
|
|
6585
|
+
},
|
|
6586
|
+
"touchstart": function ($event) {
|
|
6587
|
+
return _vm.emitEvent('touchstart', $event);
|
|
6588
|
+
},
|
|
6589
|
+
"touchmove": function ($event) {
|
|
6590
|
+
return _vm.emitEvent('touchmove', $event);
|
|
6591
|
+
},
|
|
6592
|
+
"touchend": function ($event) {
|
|
6593
|
+
return _vm.emitEvent('touchend', $event);
|
|
6594
|
+
}
|
|
6595
|
+
}
|
|
6596
|
+
}, [_c('defs', [_c('clipPath', {
|
|
6597
|
+
attrs: {
|
|
6598
|
+
"id": _vm.clipPathId
|
|
6599
|
+
}
|
|
6600
|
+
}, [_c('path', {
|
|
6601
|
+
attrs: {
|
|
6602
|
+
"d": _vm.getPoints
|
|
6603
|
+
}
|
|
6604
|
+
})])]), _c('path', {
|
|
6605
|
+
staticClass: "gantt-elastic__chart-row-bar-polygon gantt-elastic__chart-row-project-polygon",
|
|
6606
|
+
style: {
|
|
6607
|
+
..._vm.root.style['chart-row-bar-polygon'],
|
|
6608
|
+
..._vm.root.style['chart-row-project-polygon'],
|
|
6609
|
+
..._vm.task.style['base'],
|
|
6610
|
+
..._vm.task.style['chart-row-bar-polygon']
|
|
6611
|
+
},
|
|
6612
|
+
attrs: {
|
|
6613
|
+
"d": _vm.getPoints
|
|
6614
|
+
}
|
|
6615
|
+
}), _c('progress-bar', {
|
|
6616
|
+
attrs: {
|
|
6617
|
+
"task": _vm.task,
|
|
6618
|
+
"clip-path": 'url(#' + _vm.clipPathId + ')'
|
|
6619
|
+
}
|
|
6620
|
+
})], 1), _vm.root.state.options.chart.text.display ? _c('chart-text', {
|
|
6621
|
+
attrs: {
|
|
6622
|
+
"task": _vm.task
|
|
6623
|
+
}
|
|
6624
|
+
}) : _vm._e()], 1);
|
|
6625
|
+
};
|
|
6626
|
+
var Projectvue_type_template_id_760bf767_staticRenderFns = [];
|
|
6627
|
+
|
|
6628
|
+
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/Chart/Row/Project.vue?vue&type=script&lang=js
|
|
6629
|
+
|
|
6630
|
+
|
|
6631
|
+
|
|
6632
|
+
|
|
6633
|
+
/* harmony default export */ var Projectvue_type_script_lang_js = ({
|
|
6634
|
+
name: 'Project',
|
|
6635
|
+
components: {
|
|
6636
|
+
ChartText: Text,
|
|
6637
|
+
ProgressBar: ProgressBar,
|
|
6638
|
+
Expander: Expander
|
|
6639
|
+
},
|
|
6640
|
+
inject: ['root'],
|
|
6641
|
+
props: ['task'],
|
|
6642
|
+
mixins: [Task_mixin],
|
|
6643
|
+
data() {
|
|
6644
|
+
return {};
|
|
6645
|
+
},
|
|
6646
|
+
computed: {
|
|
6647
|
+
/**
|
|
6648
|
+
* Get clip path id
|
|
6649
|
+
*
|
|
6650
|
+
* @returns {string}
|
|
6651
|
+
*/
|
|
6652
|
+
clipPathId() {
|
|
6653
|
+
return 'gantt-elastic__project-clip-path-' + this.task.id;
|
|
6654
|
+
},
|
|
6655
|
+
/**
|
|
6656
|
+
* Get points
|
|
6657
|
+
*
|
|
6658
|
+
* @returns {string}
|
|
6659
|
+
*/
|
|
6660
|
+
getPoints() {
|
|
6661
|
+
const task = this.task;
|
|
6662
|
+
const bottom = task.height - task.height / 4;
|
|
6663
|
+
const corner = task.height / 6;
|
|
6664
|
+
const smallCorner = task.height / 8;
|
|
6665
|
+
return `M ${smallCorner},0
|
|
6666
|
+
L ${task.width - smallCorner} 0
|
|
6667
|
+
L ${task.width} ${smallCorner}
|
|
6668
|
+
L ${task.width} ${bottom}
|
|
6669
|
+
L ${task.width - corner} ${task.height}
|
|
6670
|
+
L ${task.width - corner * 2} ${bottom}
|
|
6671
|
+
L ${corner * 2} ${bottom}
|
|
6672
|
+
L ${corner} ${task.height}
|
|
6673
|
+
L 0 ${bottom}
|
|
6674
|
+
L 0 ${smallCorner}
|
|
6675
|
+
Z
|
|
6676
|
+
`;
|
|
6677
|
+
},
|
|
6678
|
+
/**
|
|
6679
|
+
* Should we display expander?
|
|
6680
|
+
*
|
|
6681
|
+
* @returns {boolean}
|
|
6682
|
+
*/
|
|
6683
|
+
displayExpander() {
|
|
6684
|
+
const expander = this.root.state.options.chart.expander;
|
|
6685
|
+
const hasChildren = this.task.allChildren && this.task.allChildren.length > 0;
|
|
6686
|
+
return (expander.display || expander.displayIfTaskListHidden && !this.root.state.options.taskList.display) && hasChildren;
|
|
6687
|
+
}
|
|
6688
|
+
}
|
|
6689
|
+
});
|
|
6690
|
+
;// ./src/components/Chart/Row/Project.vue?vue&type=script&lang=js
|
|
6691
|
+
/* harmony default export */ var Row_Projectvue_type_script_lang_js = (Projectvue_type_script_lang_js);
|
|
6692
|
+
;// ./src/components/Chart/Row/Project.vue
|
|
6693
|
+
|
|
6694
|
+
|
|
6695
|
+
|
|
6696
|
+
|
|
6697
|
+
|
|
6698
|
+
/* normalize component */
|
|
6699
|
+
;
|
|
6700
|
+
var Project_component = normalizeComponent(
|
|
6701
|
+
Row_Projectvue_type_script_lang_js,
|
|
6702
|
+
Projectvue_type_template_id_760bf767_render,
|
|
6703
|
+
Projectvue_type_template_id_760bf767_staticRenderFns,
|
|
6704
|
+
false,
|
|
6705
|
+
null,
|
|
6706
|
+
null,
|
|
6707
|
+
null
|
|
6708
|
+
|
|
6709
|
+
)
|
|
6710
|
+
|
|
6711
|
+
/* harmony default export */ var Project = (Project_component.exports);
|
|
6712
|
+
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/Chart/Row/Epic.vue?vue&type=template&id=a2e89cd8
|
|
6713
|
+
var Epicvue_type_template_id_a2e89cd8_render = function render() {
|
|
6714
|
+
var _vm = this,
|
|
6715
|
+
_c = _vm._self._c;
|
|
6716
|
+
return _c('g', {
|
|
6717
|
+
staticClass: "gantt-elastic__chart-row-bar-wrapper gantt-elastic__chart-row-epic-wrapper",
|
|
6718
|
+
style: {
|
|
6719
|
+
..._vm.root.style['chart-row-bar-wrapper'],
|
|
6720
|
+
..._vm.root.style['chart-row-epic-wrapper'],
|
|
6721
|
+
..._vm.task.style['chart-row-bar-wrapper']
|
|
6722
|
+
}
|
|
6723
|
+
}, [_vm.displayExpander ? _c('foreignObject', {
|
|
6724
|
+
staticClass: "gantt-elastic__chart-expander gantt-elastic__chart-expander--epic",
|
|
6725
|
+
style: {
|
|
6726
|
+
..._vm.root.style['chart-expander'],
|
|
6727
|
+
..._vm.root.style['chart-expander--epic'],
|
|
6728
|
+
..._vm.task.style['chart-expander']
|
|
6729
|
+
},
|
|
6730
|
+
attrs: {
|
|
6731
|
+
"x": _vm.task.x - _vm.root.state.options.chart.expander.offset - _vm.root.state.options.chart.expander.size,
|
|
6732
|
+
"y": _vm.task.y + (_vm.root.state.options.row.height - _vm.root.state.options.chart.expander.size) / 2,
|
|
6733
|
+
"width": _vm.root.state.options.chart.expander.size,
|
|
6734
|
+
"height": _vm.root.state.options.chart.expander.size
|
|
6735
|
+
}
|
|
6736
|
+
}, [_c('expander', {
|
|
6737
|
+
attrs: {
|
|
6738
|
+
"tasks": [_vm.task],
|
|
6739
|
+
"options": _vm.root.state.options.chart.expander,
|
|
6740
|
+
"type": "chart"
|
|
6741
|
+
}
|
|
6742
|
+
})], 1) : _vm._e(), _c('svg', {
|
|
6743
|
+
staticClass: "gantt-elastic__chart-row-bar gantt-elastic__chart-row-epic",
|
|
6744
|
+
style: {
|
|
6745
|
+
..._vm.root.style['chart-row-bar'],
|
|
6746
|
+
..._vm.root.style['chart-row-epic'],
|
|
6747
|
+
..._vm.task.style['chart-row-bar']
|
|
6748
|
+
},
|
|
6749
|
+
attrs: {
|
|
6750
|
+
"x": _vm.task.x,
|
|
6751
|
+
"y": _vm.task.y,
|
|
6752
|
+
"width": _vm.task.width,
|
|
6753
|
+
"height": _vm.task.height,
|
|
6754
|
+
"viewBox": `0 0 ${_vm.task.width} ${_vm.task.height}`,
|
|
6755
|
+
"xmlns": "http://www.w3.org/2000/svg"
|
|
6756
|
+
},
|
|
6757
|
+
on: {
|
|
6758
|
+
"click": function ($event) {
|
|
6759
|
+
return _vm.emitEvent('click', $event);
|
|
6760
|
+
},
|
|
6761
|
+
"mouseenter": function ($event) {
|
|
6762
|
+
return _vm.emitEvent('mouseenter', $event);
|
|
6763
|
+
},
|
|
6764
|
+
"mouseover": function ($event) {
|
|
6765
|
+
return _vm.emitEvent('mouseover', $event);
|
|
6766
|
+
},
|
|
6767
|
+
"mouseout": function ($event) {
|
|
6768
|
+
return _vm.emitEvent('mouseout', $event);
|
|
6769
|
+
},
|
|
6770
|
+
"mousemove": function ($event) {
|
|
6771
|
+
return _vm.emitEvent('mousemove', $event);
|
|
6772
|
+
},
|
|
6773
|
+
"mousedown": function ($event) {
|
|
6774
|
+
return _vm.emitEvent('mousedown', $event);
|
|
6775
|
+
},
|
|
6776
|
+
"mouseup": function ($event) {
|
|
6777
|
+
return _vm.emitEvent('mouseup', $event);
|
|
6778
|
+
},
|
|
6779
|
+
"mousewheel": function ($event) {
|
|
6780
|
+
return _vm.emitEvent('mousewheel', $event);
|
|
6781
|
+
},
|
|
6782
|
+
"touchstart": function ($event) {
|
|
6783
|
+
return _vm.emitEvent('touchstart', $event);
|
|
6784
|
+
},
|
|
6785
|
+
"touchmove": function ($event) {
|
|
6786
|
+
return _vm.emitEvent('touchmove', $event);
|
|
6787
|
+
},
|
|
6788
|
+
"touchend": function ($event) {
|
|
6789
|
+
return _vm.emitEvent('touchend', $event);
|
|
6790
|
+
}
|
|
6791
|
+
}
|
|
6792
|
+
}, [_c('defs', [_c('clipPath', {
|
|
6793
|
+
attrs: {
|
|
6794
|
+
"id": _vm.clipPathId
|
|
6795
|
+
}
|
|
6796
|
+
}, [_c('path', {
|
|
6797
|
+
attrs: {
|
|
6798
|
+
"d": _vm.getPoints
|
|
6799
|
+
}
|
|
6800
|
+
})])]), _c('path', {
|
|
6801
|
+
staticClass: "gantt-elastic__chart-row-bar-polygon gantt-elastic__chart-row-epic-polygon",
|
|
6802
|
+
style: {
|
|
6803
|
+
..._vm.root.style['chart-row-bar-polygon'],
|
|
6804
|
+
..._vm.root.style['chart-row-epic-polygon'],
|
|
6805
|
+
..._vm.task.style['base'],
|
|
6806
|
+
..._vm.task.style['chart-row-bar-polygon']
|
|
6807
|
+
},
|
|
6808
|
+
attrs: {
|
|
6809
|
+
"d": _vm.getPoints
|
|
6810
|
+
}
|
|
6811
|
+
}), _c('progress-bar', {
|
|
6812
|
+
attrs: {
|
|
6813
|
+
"task": _vm.task,
|
|
6814
|
+
"clip-path": 'url(#' + _vm.clipPathId + ')'
|
|
6815
|
+
}
|
|
6816
|
+
})], 1), _vm.root.state.options.chart.text.display ? _c('chart-text', {
|
|
6817
|
+
attrs: {
|
|
6818
|
+
"task": _vm.task
|
|
6819
|
+
}
|
|
6820
|
+
}) : _vm._e()], 1);
|
|
6821
|
+
};
|
|
6822
|
+
var Epicvue_type_template_id_a2e89cd8_staticRenderFns = [];
|
|
6823
|
+
|
|
6824
|
+
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/Chart/Row/Epic.vue?vue&type=script&lang=js
|
|
6825
|
+
|
|
6826
|
+
|
|
6827
|
+
|
|
6828
|
+
|
|
6829
|
+
/* harmony default export */ var Epicvue_type_script_lang_js = ({
|
|
6830
|
+
name: 'Epic',
|
|
6831
|
+
components: {
|
|
6832
|
+
ChartText: Text,
|
|
6833
|
+
ProgressBar: ProgressBar,
|
|
6834
|
+
Expander: Expander
|
|
6835
|
+
},
|
|
6836
|
+
inject: ['root'],
|
|
6837
|
+
props: ['task'],
|
|
6838
|
+
mixins: [Task_mixin],
|
|
6839
|
+
data() {
|
|
6840
|
+
return {};
|
|
6841
|
+
},
|
|
6842
|
+
computed: {
|
|
6843
|
+
/**
|
|
6844
|
+
* Get clip path id
|
|
6845
|
+
*
|
|
6846
|
+
* @returns {string}
|
|
6847
|
+
*/
|
|
6848
|
+
clipPathId() {
|
|
6849
|
+
return 'gantt-elastic__epic-clip-path-' + this.task.id;
|
|
6850
|
+
},
|
|
6851
|
+
/**
|
|
6852
|
+
* Get points (same shape as project)
|
|
6853
|
+
*
|
|
6854
|
+
* @returns {string}
|
|
6855
|
+
*/
|
|
6856
|
+
getPoints() {
|
|
6857
|
+
const task = this.task;
|
|
6858
|
+
const bottom = task.height - task.height / 4;
|
|
6859
|
+
const corner = task.height / 6;
|
|
6860
|
+
const smallCorner = task.height / 8;
|
|
6861
|
+
return `M ${smallCorner},0
|
|
6862
|
+
L ${task.width - smallCorner} 0
|
|
6863
|
+
L ${task.width} ${smallCorner}
|
|
6864
|
+
L ${task.width} ${bottom}
|
|
6865
|
+
L ${task.width - corner} ${task.height}
|
|
6866
|
+
L ${task.width - corner * 2} ${bottom}
|
|
6867
|
+
L ${corner * 2} ${bottom}
|
|
6868
|
+
L ${corner} ${task.height}
|
|
6869
|
+
L 0 ${bottom}
|
|
6870
|
+
L 0 ${smallCorner}
|
|
6871
|
+
Z
|
|
6872
|
+
`;
|
|
6873
|
+
},
|
|
6874
|
+
/**
|
|
6875
|
+
* Should we display expander?
|
|
5192
6876
|
*
|
|
5193
|
-
* @returns {
|
|
6877
|
+
* @returns {boolean}
|
|
5194
6878
|
*/
|
|
5195
|
-
|
|
5196
|
-
const
|
|
5197
|
-
|
|
6879
|
+
displayExpander() {
|
|
6880
|
+
const expander = this.root.state.options.chart.expander;
|
|
6881
|
+
const hasChildren = this.task.allChildren && this.task.allChildren.length > 0;
|
|
6882
|
+
return (expander.display || expander.displayIfTaskListHidden && !this.root.state.options.taskList.display) && hasChildren;
|
|
5198
6883
|
}
|
|
5199
6884
|
}
|
|
5200
6885
|
});
|
|
5201
|
-
;// ./src/components/
|
|
5202
|
-
/* harmony default export */ var
|
|
5203
|
-
;// ./src/components/
|
|
6886
|
+
;// ./src/components/Chart/Row/Epic.vue?vue&type=script&lang=js
|
|
6887
|
+
/* harmony default export */ var Row_Epicvue_type_script_lang_js = (Epicvue_type_script_lang_js);
|
|
6888
|
+
;// ./src/components/Chart/Row/Epic.vue
|
|
5204
6889
|
|
|
5205
6890
|
|
|
5206
6891
|
|
|
@@ -5208,10 +6893,10 @@ var ProgressBar_component = normalizeComponent(
|
|
|
5208
6893
|
|
|
5209
6894
|
/* normalize component */
|
|
5210
6895
|
;
|
|
5211
|
-
var
|
|
5212
|
-
|
|
5213
|
-
|
|
5214
|
-
|
|
6896
|
+
var Epic_component = normalizeComponent(
|
|
6897
|
+
Row_Epicvue_type_script_lang_js,
|
|
6898
|
+
Epicvue_type_template_id_a2e89cd8_render,
|
|
6899
|
+
Epicvue_type_template_id_a2e89cd8_staticRenderFns,
|
|
5215
6900
|
false,
|
|
5216
6901
|
null,
|
|
5217
6902
|
null,
|
|
@@ -5219,23 +6904,23 @@ var Task_component = normalizeComponent(
|
|
|
5219
6904
|
|
|
5220
6905
|
)
|
|
5221
6906
|
|
|
5222
|
-
/* harmony default export */ var
|
|
5223
|
-
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/
|
|
5224
|
-
var
|
|
6907
|
+
/* harmony default export */ var Epic = (Epic_component.exports);
|
|
6908
|
+
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/Chart/Row/Subtask.vue?vue&type=template&id=86599310
|
|
6909
|
+
var Subtaskvue_type_template_id_86599310_render = function render() {
|
|
5225
6910
|
var _vm = this,
|
|
5226
6911
|
_c = _vm._self._c;
|
|
5227
6912
|
return _c('g', {
|
|
5228
|
-
staticClass: "gantt-elastic__chart-row-bar-wrapper gantt-elastic__chart-row-
|
|
6913
|
+
staticClass: "gantt-elastic__chart-row-bar-wrapper gantt-elastic__chart-row-subtask-wrapper",
|
|
5229
6914
|
style: {
|
|
5230
6915
|
..._vm.root.style['chart-row-bar-wrapper'],
|
|
5231
|
-
..._vm.root.style['chart-row-
|
|
6916
|
+
..._vm.root.style['chart-row-subtask-wrapper'],
|
|
5232
6917
|
..._vm.task.style['chart-row-bar-wrapper']
|
|
5233
6918
|
}
|
|
5234
6919
|
}, [_vm.displayExpander ? _c('foreignObject', {
|
|
5235
|
-
staticClass: "gantt-elastic__chart-expander gantt-elastic__chart-expander--
|
|
6920
|
+
staticClass: "gantt-elastic__chart-expander gantt-elastic__chart-expander--subtask",
|
|
5236
6921
|
style: {
|
|
5237
6922
|
..._vm.root.style['chart-expander'],
|
|
5238
|
-
..._vm.root.style['chart-expander--
|
|
6923
|
+
..._vm.root.style['chart-expander--subtask'],
|
|
5239
6924
|
..._vm.task.style['chart-expander']
|
|
5240
6925
|
},
|
|
5241
6926
|
attrs: {
|
|
@@ -5251,10 +6936,10 @@ var Milestonevue_type_template_id_4f4f8994_render = function render() {
|
|
|
5251
6936
|
"type": "chart"
|
|
5252
6937
|
}
|
|
5253
6938
|
})], 1) : _vm._e(), _c('svg', {
|
|
5254
|
-
staticClass: "gantt-elastic__chart-row-bar gantt-elastic__chart-row-
|
|
6939
|
+
staticClass: "gantt-elastic__chart-row-bar gantt-elastic__chart-row-subtask",
|
|
5255
6940
|
style: {
|
|
5256
6941
|
..._vm.root.style['chart-row-bar'],
|
|
5257
|
-
..._vm.root.style['chart-row-
|
|
6942
|
+
..._vm.root.style['chart-row-subtask'],
|
|
5258
6943
|
..._vm.task.style['chart-row-bar']
|
|
5259
6944
|
},
|
|
5260
6945
|
attrs: {
|
|
@@ -5309,10 +6994,10 @@ var Milestonevue_type_template_id_4f4f8994_render = function render() {
|
|
|
5309
6994
|
"points": _vm.getPoints
|
|
5310
6995
|
}
|
|
5311
6996
|
})])]), _c('polygon', {
|
|
5312
|
-
staticClass: "gantt-elastic__chart-row-bar-polygon gantt-elastic__chart-row-
|
|
6997
|
+
staticClass: "gantt-elastic__chart-row-bar-polygon gantt-elastic__chart-row-subtask-polygon",
|
|
5313
6998
|
style: {
|
|
5314
6999
|
..._vm.root.style['chart-row-bar-polygon'],
|
|
5315
|
-
..._vm.root.style['chart-row-
|
|
7000
|
+
..._vm.root.style['chart-row-subtask-polygon'],
|
|
5316
7001
|
..._vm.task.style['base'],
|
|
5317
7002
|
..._vm.task.style['chart-row-bar-polygon']
|
|
5318
7003
|
},
|
|
@@ -5330,15 +7015,15 @@ var Milestonevue_type_template_id_4f4f8994_render = function render() {
|
|
|
5330
7015
|
}
|
|
5331
7016
|
}) : _vm._e()], 1);
|
|
5332
7017
|
};
|
|
5333
|
-
var
|
|
7018
|
+
var Subtaskvue_type_template_id_86599310_staticRenderFns = [];
|
|
5334
7019
|
|
|
5335
|
-
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/
|
|
7020
|
+
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/Chart/Row/Subtask.vue?vue&type=script&lang=js
|
|
5336
7021
|
|
|
5337
7022
|
|
|
5338
7023
|
|
|
5339
7024
|
|
|
5340
|
-
/* harmony default export */ var
|
|
5341
|
-
name: '
|
|
7025
|
+
/* harmony default export */ var Subtaskvue_type_script_lang_js = ({
|
|
7026
|
+
name: 'Subtask',
|
|
5342
7027
|
components: {
|
|
5343
7028
|
ChartText: Text,
|
|
5344
7029
|
ProgressBar: ProgressBar,
|
|
@@ -5357,32 +7042,32 @@ var Milestonevue_type_template_id_4f4f8994_staticRenderFns = [];
|
|
|
5357
7042
|
* @returns {string}
|
|
5358
7043
|
*/
|
|
5359
7044
|
clipPathId() {
|
|
5360
|
-
return 'gantt-
|
|
7045
|
+
return 'gantt-elastic__subtask-clip-path-' + this.task.id;
|
|
5361
7046
|
},
|
|
5362
7047
|
/**
|
|
5363
|
-
* Get points
|
|
7048
|
+
* Get points (simple rectangle for subtasks)
|
|
5364
7049
|
*
|
|
5365
7050
|
* @returns {string}
|
|
5366
7051
|
*/
|
|
5367
7052
|
getPoints() {
|
|
5368
7053
|
const task = this.task;
|
|
5369
|
-
|
|
5370
|
-
|
|
5371
|
-
|
|
5372
|
-
|
|
5373
|
-
|
|
5374
|
-
|
|
5375
|
-
|
|
5376
|
-
|
|
5377
|
-
|
|
5378
|
-
|
|
5379
|
-
|
|
7054
|
+
return `0,0 ${task.width},0 ${task.width},${task.height} 0,${task.height}`;
|
|
7055
|
+
},
|
|
7056
|
+
/**
|
|
7057
|
+
* Should we display expander?
|
|
7058
|
+
*
|
|
7059
|
+
* @returns {boolean}
|
|
7060
|
+
*/
|
|
7061
|
+
displayExpander() {
|
|
7062
|
+
const expander = this.root.state.options.chart.expander;
|
|
7063
|
+
const hasChildren = this.task.allChildren && this.task.allChildren.length > 0;
|
|
7064
|
+
return (expander.display || expander.displayIfTaskListHidden && !this.root.state.options.taskList.display) && hasChildren;
|
|
5380
7065
|
}
|
|
5381
7066
|
}
|
|
5382
7067
|
});
|
|
5383
|
-
;// ./src/components/
|
|
5384
|
-
/* harmony default export */ var
|
|
5385
|
-
;// ./src/components/
|
|
7068
|
+
;// ./src/components/Chart/Row/Subtask.vue?vue&type=script&lang=js
|
|
7069
|
+
/* harmony default export */ var Row_Subtaskvue_type_script_lang_js = (Subtaskvue_type_script_lang_js);
|
|
7070
|
+
;// ./src/components/Chart/Row/Subtask.vue
|
|
5386
7071
|
|
|
5387
7072
|
|
|
5388
7073
|
|
|
@@ -5390,10 +7075,10 @@ var Milestonevue_type_template_id_4f4f8994_staticRenderFns = [];
|
|
|
5390
7075
|
|
|
5391
7076
|
/* normalize component */
|
|
5392
7077
|
;
|
|
5393
|
-
var
|
|
5394
|
-
|
|
5395
|
-
|
|
5396
|
-
|
|
7078
|
+
var Subtask_component = normalizeComponent(
|
|
7079
|
+
Row_Subtaskvue_type_script_lang_js,
|
|
7080
|
+
Subtaskvue_type_template_id_86599310_render,
|
|
7081
|
+
Subtaskvue_type_template_id_86599310_staticRenderFns,
|
|
5397
7082
|
false,
|
|
5398
7083
|
null,
|
|
5399
7084
|
null,
|
|
@@ -5401,23 +7086,23 @@ var Milestone_component = normalizeComponent(
|
|
|
5401
7086
|
|
|
5402
7087
|
)
|
|
5403
7088
|
|
|
5404
|
-
/* harmony default export */ var
|
|
5405
|
-
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/
|
|
5406
|
-
var
|
|
7089
|
+
/* harmony default export */ var Subtask = (Subtask_component.exports);
|
|
7090
|
+
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/Chart/Row/Story.vue?vue&type=template&id=1f59b61a
|
|
7091
|
+
var Storyvue_type_template_id_1f59b61a_render = function render() {
|
|
5407
7092
|
var _vm = this,
|
|
5408
7093
|
_c = _vm._self._c;
|
|
5409
7094
|
return _c('g', {
|
|
5410
|
-
staticClass: "gantt-elastic__chart-row-bar-wrapper gantt-elastic__chart-row-
|
|
7095
|
+
staticClass: "gantt-elastic__chart-row-bar-wrapper gantt-elastic__chart-row-story-wrapper",
|
|
5411
7096
|
style: {
|
|
5412
7097
|
..._vm.root.style['chart-row-bar-wrapper'],
|
|
5413
|
-
..._vm.root.style['chart-row-
|
|
7098
|
+
..._vm.root.style['chart-row-story-wrapper'],
|
|
5414
7099
|
..._vm.task.style['chart-row-bar-wrapper']
|
|
5415
7100
|
}
|
|
5416
7101
|
}, [_vm.displayExpander ? _c('foreignObject', {
|
|
5417
|
-
staticClass: "gantt-elastic__chart-expander gantt-elastic__chart-expander--
|
|
7102
|
+
staticClass: "gantt-elastic__chart-expander gantt-elastic__chart-expander--story",
|
|
5418
7103
|
style: {
|
|
5419
7104
|
..._vm.root.style['chart-expander'],
|
|
5420
|
-
..._vm.root.style['chart-expander--
|
|
7105
|
+
..._vm.root.style['chart-expander--story'],
|
|
5421
7106
|
..._vm.task.style['chart-expander']
|
|
5422
7107
|
},
|
|
5423
7108
|
attrs: {
|
|
@@ -5433,10 +7118,10 @@ var Projectvue_type_template_id_38b2a86e_render = function render() {
|
|
|
5433
7118
|
"type": "chart"
|
|
5434
7119
|
}
|
|
5435
7120
|
})], 1) : _vm._e(), _c('svg', {
|
|
5436
|
-
staticClass: "gantt-elastic__chart-row-bar gantt-elastic__chart-row-
|
|
7121
|
+
staticClass: "gantt-elastic__chart-row-bar gantt-elastic__chart-row-story",
|
|
5437
7122
|
style: {
|
|
5438
7123
|
..._vm.root.style['chart-row-bar'],
|
|
5439
|
-
..._vm.root.style['chart-row-
|
|
7124
|
+
..._vm.root.style['chart-row-story'],
|
|
5440
7125
|
..._vm.task.style['chart-row-bar']
|
|
5441
7126
|
},
|
|
5442
7127
|
attrs: {
|
|
@@ -5491,10 +7176,10 @@ var Projectvue_type_template_id_38b2a86e_render = function render() {
|
|
|
5491
7176
|
"d": _vm.getPoints
|
|
5492
7177
|
}
|
|
5493
7178
|
})])]), _c('path', {
|
|
5494
|
-
staticClass: "gantt-elastic__chart-row-bar-polygon gantt-elastic__chart-row-
|
|
7179
|
+
staticClass: "gantt-elastic__chart-row-bar-polygon gantt-elastic__chart-row-story-polygon",
|
|
5495
7180
|
style: {
|
|
5496
7181
|
..._vm.root.style['chart-row-bar-polygon'],
|
|
5497
|
-
..._vm.root.style['chart-row-
|
|
7182
|
+
..._vm.root.style['chart-row-story-polygon'],
|
|
5498
7183
|
..._vm.task.style['base'],
|
|
5499
7184
|
..._vm.task.style['chart-row-bar-polygon']
|
|
5500
7185
|
},
|
|
@@ -5512,15 +7197,15 @@ var Projectvue_type_template_id_38b2a86e_render = function render() {
|
|
|
5512
7197
|
}
|
|
5513
7198
|
}) : _vm._e()], 1);
|
|
5514
7199
|
};
|
|
5515
|
-
var
|
|
7200
|
+
var Storyvue_type_template_id_1f59b61a_staticRenderFns = [];
|
|
5516
7201
|
|
|
5517
|
-
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/
|
|
7202
|
+
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/Chart/Row/Story.vue?vue&type=script&lang=js
|
|
5518
7203
|
|
|
5519
7204
|
|
|
5520
7205
|
|
|
5521
7206
|
|
|
5522
|
-
/* harmony default export */ var
|
|
5523
|
-
name: '
|
|
7207
|
+
/* harmony default export */ var Storyvue_type_script_lang_js = ({
|
|
7208
|
+
name: 'Story',
|
|
5524
7209
|
components: {
|
|
5525
7210
|
ChartText: Text,
|
|
5526
7211
|
ProgressBar: ProgressBar,
|
|
@@ -5539,30 +7224,26 @@ var Projectvue_type_template_id_38b2a86e_staticRenderFns = [];
|
|
|
5539
7224
|
* @returns {string}
|
|
5540
7225
|
*/
|
|
5541
7226
|
clipPathId() {
|
|
5542
|
-
return 'gantt-
|
|
7227
|
+
return 'gantt-elastic__story-clip-path-' + this.task.id;
|
|
5543
7228
|
},
|
|
5544
7229
|
/**
|
|
5545
|
-
* Get points
|
|
7230
|
+
* Get points (rounded rectangle for stories)
|
|
5546
7231
|
*
|
|
5547
7232
|
* @returns {string}
|
|
5548
7233
|
*/
|
|
5549
7234
|
getPoints() {
|
|
5550
7235
|
const task = this.task;
|
|
5551
|
-
const
|
|
5552
|
-
|
|
5553
|
-
|
|
5554
|
-
|
|
5555
|
-
L ${task.width -
|
|
5556
|
-
|
|
5557
|
-
L ${task.width} ${bottom}
|
|
5558
|
-
L ${task.width - corner} ${task.height}
|
|
5559
|
-
L ${task.width - corner * 2} ${bottom}
|
|
5560
|
-
L ${corner * 2} ${bottom}
|
|
7236
|
+
const corner = Math.min(task.height / 4, 8); // Rounded corners
|
|
7237
|
+
return `M ${corner},0
|
|
7238
|
+
L ${task.width - corner} 0
|
|
7239
|
+
Q ${task.width} 0 ${task.width} ${corner}
|
|
7240
|
+
L ${task.width} ${task.height - corner}
|
|
7241
|
+
Q ${task.width} ${task.height} ${task.width - corner} ${task.height}
|
|
5561
7242
|
L ${corner} ${task.height}
|
|
5562
|
-
|
|
5563
|
-
L 0 ${
|
|
5564
|
-
|
|
5565
|
-
|
|
7243
|
+
Q 0 ${task.height} 0 ${task.height - corner}
|
|
7244
|
+
L 0 ${corner}
|
|
7245
|
+
Q 0 0 ${corner} 0
|
|
7246
|
+
Z`;
|
|
5566
7247
|
},
|
|
5567
7248
|
/**
|
|
5568
7249
|
* Should we display expander?
|
|
@@ -5571,13 +7252,14 @@ var Projectvue_type_template_id_38b2a86e_staticRenderFns = [];
|
|
|
5571
7252
|
*/
|
|
5572
7253
|
displayExpander() {
|
|
5573
7254
|
const expander = this.root.state.options.chart.expander;
|
|
5574
|
-
|
|
7255
|
+
const hasChildren = this.task.allChildren && this.task.allChildren.length > 0;
|
|
7256
|
+
return (expander.display || expander.displayIfTaskListHidden && !this.root.state.options.taskList.display) && hasChildren;
|
|
5575
7257
|
}
|
|
5576
7258
|
}
|
|
5577
7259
|
});
|
|
5578
|
-
;// ./src/components/
|
|
5579
|
-
/* harmony default export */ var
|
|
5580
|
-
;// ./src/components/
|
|
7260
|
+
;// ./src/components/Chart/Row/Story.vue?vue&type=script&lang=js
|
|
7261
|
+
/* harmony default export */ var Row_Storyvue_type_script_lang_js = (Storyvue_type_script_lang_js);
|
|
7262
|
+
;// ./src/components/Chart/Row/Story.vue
|
|
5581
7263
|
|
|
5582
7264
|
|
|
5583
7265
|
|
|
@@ -5585,10 +7267,10 @@ var Projectvue_type_template_id_38b2a86e_staticRenderFns = [];
|
|
|
5585
7267
|
|
|
5586
7268
|
/* normalize component */
|
|
5587
7269
|
;
|
|
5588
|
-
var
|
|
5589
|
-
|
|
5590
|
-
|
|
5591
|
-
|
|
7270
|
+
var Story_component = normalizeComponent(
|
|
7271
|
+
Row_Storyvue_type_script_lang_js,
|
|
7272
|
+
Storyvue_type_template_id_1f59b61a_render,
|
|
7273
|
+
Storyvue_type_template_id_1f59b61a_staticRenderFns,
|
|
5592
7274
|
false,
|
|
5593
7275
|
null,
|
|
5594
7276
|
null,
|
|
@@ -5596,8 +7278,11 @@ var Project_component = normalizeComponent(
|
|
|
5596
7278
|
|
|
5597
7279
|
)
|
|
5598
7280
|
|
|
5599
|
-
/* harmony default export */ var
|
|
5600
|
-
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/
|
|
7281
|
+
/* harmony default export */ var Story = (Story_component.exports);
|
|
7282
|
+
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/Chart/Chart.vue?vue&type=script&lang=js
|
|
7283
|
+
|
|
7284
|
+
|
|
7285
|
+
|
|
5601
7286
|
|
|
5602
7287
|
|
|
5603
7288
|
|
|
@@ -5611,9 +7296,12 @@ var Project_component = normalizeComponent(
|
|
|
5611
7296
|
Grid: Grid,
|
|
5612
7297
|
DependencyLines: DependencyLines,
|
|
5613
7298
|
Calendar: Calendar,
|
|
5614
|
-
|
|
5615
|
-
|
|
5616
|
-
|
|
7299
|
+
task: Task,
|
|
7300
|
+
milestone: Milestone,
|
|
7301
|
+
project: Project,
|
|
7302
|
+
epic: Epic,
|
|
7303
|
+
subtask: Subtask,
|
|
7304
|
+
story: Story,
|
|
5617
7305
|
DaysHighlight: DaysHighlight
|
|
5618
7306
|
},
|
|
5619
7307
|
inject: ['root'],
|
|
@@ -5643,9 +7331,9 @@ var Project_component = normalizeComponent(
|
|
|
5643
7331
|
}
|
|
5644
7332
|
}
|
|
5645
7333
|
});
|
|
5646
|
-
;// ./src/components/
|
|
7334
|
+
;// ./src/components/Chart/Chart.vue?vue&type=script&lang=js
|
|
5647
7335
|
/* harmony default export */ var Chart_Chartvue_type_script_lang_js = (Chartvue_type_script_lang_js);
|
|
5648
|
-
;// ./src/components/
|
|
7336
|
+
;// ./src/components/Chart/Chart.vue
|
|
5649
7337
|
|
|
5650
7338
|
|
|
5651
7339
|
|
|
@@ -5655,8 +7343,8 @@ var Project_component = normalizeComponent(
|
|
|
5655
7343
|
;
|
|
5656
7344
|
var Chart_component = normalizeComponent(
|
|
5657
7345
|
Chart_Chartvue_type_script_lang_js,
|
|
5658
|
-
|
|
5659
|
-
|
|
7346
|
+
Chartvue_type_template_id_1d5eb6d6_render,
|
|
7347
|
+
Chartvue_type_template_id_1d5eb6d6_staticRenderFns,
|
|
5660
7348
|
false,
|
|
5661
7349
|
null,
|
|
5662
7350
|
null,
|
|
@@ -5665,7 +7353,7 @@ var Chart_component = normalizeComponent(
|
|
|
5665
7353
|
)
|
|
5666
7354
|
|
|
5667
7355
|
/* harmony default export */ var Chart = (Chart_component.exports);
|
|
5668
|
-
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/
|
|
7356
|
+
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/MainView.vue?vue&type=script&lang=js
|
|
5669
7357
|
|
|
5670
7358
|
|
|
5671
7359
|
let ignoreScrollEvents = false;
|
|
@@ -5849,9 +7537,9 @@ let ignoreScrollEvents = false;
|
|
|
5849
7537
|
// document.removeEventListener('touchend', this.chartMouseUp);
|
|
5850
7538
|
// }
|
|
5851
7539
|
});
|
|
5852
|
-
;// ./src/components/
|
|
7540
|
+
;// ./src/components/MainView.vue?vue&type=script&lang=js
|
|
5853
7541
|
/* harmony default export */ var components_MainViewvue_type_script_lang_js = (MainViewvue_type_script_lang_js);
|
|
5854
|
-
;// ./src/components/
|
|
7542
|
+
;// ./src/components/MainView.vue
|
|
5855
7543
|
|
|
5856
7544
|
|
|
5857
7545
|
|
|
@@ -5861,8 +7549,8 @@ let ignoreScrollEvents = false;
|
|
|
5861
7549
|
;
|
|
5862
7550
|
var MainView_component = normalizeComponent(
|
|
5863
7551
|
components_MainViewvue_type_script_lang_js,
|
|
5864
|
-
|
|
5865
|
-
|
|
7552
|
+
MainViewvue_type_template_id_1a4b756c_render,
|
|
7553
|
+
MainViewvue_type_template_id_1a4b756c_staticRenderFns,
|
|
5866
7554
|
false,
|
|
5867
7555
|
null,
|
|
5868
7556
|
null,
|
|
@@ -5871,7 +7559,7 @@ var MainView_component = normalizeComponent(
|
|
|
5871
7559
|
)
|
|
5872
7560
|
|
|
5873
7561
|
/* harmony default export */ var MainView = (MainView_component.exports);
|
|
5874
|
-
;// ./src/
|
|
7562
|
+
;// ./src/style.js
|
|
5875
7563
|
function getStyle(fontSize = '12px', fontFamily = 'Arial, sans-serif') {
|
|
5876
7564
|
return {
|
|
5877
7565
|
fontSize,
|
|
@@ -5921,10 +7609,10 @@ function getStyle(fontSize = '12px', fontFamily = 'Arial, sans-serif') {
|
|
|
5921
7609
|
'calendar-row-rect-child': {
|
|
5922
7610
|
display: 'block',
|
|
5923
7611
|
'border-right-width': '1px',
|
|
5924
|
-
|
|
5925
|
-
'border-right-color': '#dadada',
|
|
7612
|
+
'border-right-color': '#E5E7EB',
|
|
5926
7613
|
'border-right-style': 'solid',
|
|
5927
|
-
position: 'relative'
|
|
7614
|
+
position: 'relative',
|
|
7615
|
+
'box-sizing': 'border-box'
|
|
5928
7616
|
},
|
|
5929
7617
|
'calendar-row-rect-child--month': {},
|
|
5930
7618
|
'calendar-row-rect-child--day': {
|
|
@@ -5940,11 +7628,20 @@ function getStyle(fontSize = '12px', fontFamily = 'Arial, sans-serif') {
|
|
|
5940
7628
|
//GanttElastic
|
|
5941
7629
|
color: '#606060',
|
|
5942
7630
|
display: 'inline-block',
|
|
5943
|
-
position: 'relative'
|
|
7631
|
+
position: 'relative',
|
|
7632
|
+
'text-align': 'center',
|
|
7633
|
+
'white-space': 'nowrap',
|
|
7634
|
+
'overflow': 'hidden',
|
|
7635
|
+
'text-overflow': 'ellipsis',
|
|
7636
|
+
'max-width': '100%',
|
|
7637
|
+
'width': '100%',
|
|
7638
|
+
'box-sizing': 'border-box'
|
|
5944
7639
|
},
|
|
5945
7640
|
'calendar-row-text--month': {},
|
|
5946
7641
|
'calendar-row-text--day': {},
|
|
5947
7642
|
'calendar-row-text--hour': {},
|
|
7643
|
+
'calendar-row-text--quarter': {},
|
|
7644
|
+
'calendar-row-text--week': {},
|
|
5948
7645
|
'task-list-wrapper': {},
|
|
5949
7646
|
'task-list': {
|
|
5950
7647
|
background: 'transparent',
|
|
@@ -5987,6 +7684,13 @@ function getStyle(fontSize = '12px', fontFamily = 'Arial, sans-serif') {
|
|
|
5987
7684
|
fill: '#ffffffa0',
|
|
5988
7685
|
stroke: '#000000A0'
|
|
5989
7686
|
},
|
|
7687
|
+
'task-list-expander-arrow': {
|
|
7688
|
+
fill: 'none',
|
|
7689
|
+
stroke: '#999999',
|
|
7690
|
+
'stroke-width': '2',
|
|
7691
|
+
'stroke-linecap': 'round',
|
|
7692
|
+
'stroke-linejoin': 'round'
|
|
7693
|
+
},
|
|
5990
7694
|
'chart-expander-wrapper': {
|
|
5991
7695
|
display: 'block',
|
|
5992
7696
|
'line-height': '1',
|
|
@@ -6010,6 +7714,13 @@ function getStyle(fontSize = '12px', fontFamily = 'Arial, sans-serif') {
|
|
|
6010
7714
|
fill: '#ffffffa0',
|
|
6011
7715
|
stroke: '#000000A0'
|
|
6012
7716
|
},
|
|
7717
|
+
'chart-expander-arrow': {
|
|
7718
|
+
fill: 'none',
|
|
7719
|
+
stroke: '#999999',
|
|
7720
|
+
'stroke-width': '2',
|
|
7721
|
+
'stroke-linecap': 'round',
|
|
7722
|
+
'stroke-linejoin': 'round'
|
|
7723
|
+
},
|
|
6013
7724
|
'task-list-container': {},
|
|
6014
7725
|
'task-list-header-label': {
|
|
6015
7726
|
overflow: 'hidden',
|
|
@@ -6066,7 +7777,8 @@ function getStyle(fontSize = '12px', fontFamily = 'Arial, sans-serif') {
|
|
|
6066
7777
|
overflow: 'hidden'
|
|
6067
7778
|
},
|
|
6068
7779
|
'task-list-item-value': {
|
|
6069
|
-
display: '
|
|
7780
|
+
display: 'flex',
|
|
7781
|
+
'align-items': 'center',
|
|
6070
7782
|
'flex-shrink': '100',
|
|
6071
7783
|
'font-family': fontFamily,
|
|
6072
7784
|
'font-size': fontSize,
|
|
@@ -6083,13 +7795,34 @@ function getStyle(fontSize = '12px', fontFamily = 'Arial, sans-serif') {
|
|
|
6083
7795
|
color: '#606060',
|
|
6084
7796
|
background: '#FFFFFF'
|
|
6085
7797
|
},
|
|
7798
|
+
'task-list-item-content': {
|
|
7799
|
+
'display': 'flex',
|
|
7800
|
+
'align-items': 'center',
|
|
7801
|
+
'width': '100%',
|
|
7802
|
+
'min-width': '0'
|
|
7803
|
+
},
|
|
7804
|
+
'task-list-item-icon': {
|
|
7805
|
+
'display': 'flex',
|
|
7806
|
+
'align-items': 'center',
|
|
7807
|
+
'margin-right': '6px',
|
|
7808
|
+
'flex-shrink': '0',
|
|
7809
|
+
'width': '14px',
|
|
7810
|
+
'height': '14px'
|
|
7811
|
+
},
|
|
7812
|
+
'task-list-item-text': {
|
|
7813
|
+
'flex': '1',
|
|
7814
|
+
'min-width': '0',
|
|
7815
|
+
'overflow': 'hidden',
|
|
7816
|
+
'text-overflow': 'ellipsis',
|
|
7817
|
+
'white-space': 'nowrap'
|
|
7818
|
+
},
|
|
6086
7819
|
'grid-lines': {},
|
|
6087
7820
|
'grid-line-horizontal': {
|
|
6088
|
-
stroke: '#
|
|
7821
|
+
stroke: '#F3F4F6',
|
|
6089
7822
|
'stroke-width': 1
|
|
6090
7823
|
},
|
|
6091
7824
|
'grid-line-vertical': {
|
|
6092
|
-
stroke: '#
|
|
7825
|
+
stroke: '#E5E7EB',
|
|
6093
7826
|
'stroke-width': 1
|
|
6094
7827
|
},
|
|
6095
7828
|
'grid-line-time': {
|
|
@@ -6104,13 +7837,17 @@ function getStyle(fontSize = '12px', fontFamily = 'Arial, sans-serif') {
|
|
|
6104
7837
|
'user-select': 'none',
|
|
6105
7838
|
overflow: 'hidden',
|
|
6106
7839
|
'max-width': '100%',
|
|
6107
|
-
'border-right': '1px solid #
|
|
7840
|
+
'border-right': '1px solid #E5E7EB',
|
|
7841
|
+
'position': 'relative',
|
|
7842
|
+
'z-index': 1
|
|
6108
7843
|
},
|
|
6109
7844
|
'chart-graph-container': {
|
|
6110
7845
|
'user-select': 'none',
|
|
6111
7846
|
overflow: 'hidden',
|
|
6112
7847
|
'max-width': '100%',
|
|
6113
|
-
'border-right': '1px solid #
|
|
7848
|
+
'border-right': '1px solid #E5E7EB',
|
|
7849
|
+
'position': 'relative',
|
|
7850
|
+
'z-index': 0
|
|
6114
7851
|
},
|
|
6115
7852
|
'chart-area': {},
|
|
6116
7853
|
'chart-graph': {
|
|
@@ -6118,17 +7855,23 @@ function getStyle(fontSize = '12px', fontFamily = 'Arial, sans-serif') {
|
|
|
6118
7855
|
},
|
|
6119
7856
|
'chart-row-text-wrapper': {},
|
|
6120
7857
|
'chart-row-text': {
|
|
6121
|
-
background: '#
|
|
6122
|
-
'border-radius': '
|
|
7858
|
+
background: '#ffffff',
|
|
7859
|
+
'border-radius': '4px',
|
|
6123
7860
|
'font-family': fontFamily,
|
|
6124
|
-
'font-size':
|
|
6125
|
-
'font-weight': '
|
|
6126
|
-
color: '#
|
|
7861
|
+
'font-size': '11px',
|
|
7862
|
+
'font-weight': '500',
|
|
7863
|
+
color: '#374151',
|
|
6127
7864
|
height: '100%',
|
|
6128
|
-
display: 'inline-block'
|
|
7865
|
+
display: 'inline-block',
|
|
7866
|
+
'box-shadow': '0 1px 3px rgba(0, 0, 0, 0.1)',
|
|
7867
|
+
'border': '1px solid #E5E7EB'
|
|
6129
7868
|
},
|
|
6130
7869
|
'chart-row-text-content': {
|
|
6131
|
-
padding: '
|
|
7870
|
+
padding: '2px 8px',
|
|
7871
|
+
'white-space': 'nowrap',
|
|
7872
|
+
'overflow': 'hidden',
|
|
7873
|
+
'text-overflow': 'ellipsis',
|
|
7874
|
+
'max-width': '120px'
|
|
6132
7875
|
},
|
|
6133
7876
|
'chart-row-text-content--text': {},
|
|
6134
7877
|
'chart-row-text-content--html': {},
|
|
@@ -6143,12 +7886,46 @@ function getStyle(fontSize = '12px', fontFamily = 'Arial, sans-serif') {
|
|
|
6143
7886
|
'chart-row-project-wrapper': {},
|
|
6144
7887
|
'chart-row-project': {},
|
|
6145
7888
|
'chart-row-project-polygon': {},
|
|
7889
|
+
'chart-row-epic-wrapper': {},
|
|
7890
|
+
'chart-row-epic': {},
|
|
7891
|
+
'chart-row-epic-polygon': {
|
|
7892
|
+
stroke: '#8B5CF6',
|
|
7893
|
+
'stroke-width': 2,
|
|
7894
|
+
fill: '#8B5CF6',
|
|
7895
|
+
'fill-opacity': 0.9
|
|
7896
|
+
},
|
|
7897
|
+
'chart-row-subtask-wrapper': {},
|
|
7898
|
+
'chart-row-subtask': {},
|
|
7899
|
+
'chart-row-subtask-polygon': {
|
|
7900
|
+
stroke: '#3B82F6',
|
|
7901
|
+
'stroke-width': 1,
|
|
7902
|
+
fill: '#3B82F6',
|
|
7903
|
+
'fill-opacity': 0.9
|
|
7904
|
+
},
|
|
7905
|
+
'chart-row-story-wrapper': {},
|
|
7906
|
+
'chart-row-story': {},
|
|
7907
|
+
'chart-row-story-polygon': {
|
|
7908
|
+
stroke: '#86EFAC',
|
|
7909
|
+
'stroke-width': 1,
|
|
7910
|
+
fill: '#86EFAC',
|
|
7911
|
+
'fill-opacity': 0.9
|
|
7912
|
+
},
|
|
6146
7913
|
'chart-row-milestone-wrapper': {},
|
|
6147
7914
|
'chart-row-milestone': {},
|
|
6148
|
-
'chart-row-milestone-polygon': {
|
|
7915
|
+
'chart-row-milestone-polygon': {
|
|
7916
|
+
stroke: '#CD5C5C',
|
|
7917
|
+
'stroke-width': 2,
|
|
7918
|
+
fill: '#CD5C5C',
|
|
7919
|
+
'fill-opacity': 0.9
|
|
7920
|
+
},
|
|
6149
7921
|
'chart-row-task-wrapper': {},
|
|
6150
7922
|
'chart-row-task': {},
|
|
6151
|
-
'chart-row-task-polygon': {
|
|
7923
|
+
'chart-row-task-polygon': {
|
|
7924
|
+
stroke: '#3B82F6',
|
|
7925
|
+
'stroke-width': 1,
|
|
7926
|
+
fill: '#3B82F6',
|
|
7927
|
+
'fill-opacity': 0.9
|
|
7928
|
+
},
|
|
6152
7929
|
'chart-row-progress-bar-wrapper': {},
|
|
6153
7930
|
'chart-row-progress-bar': {},
|
|
6154
7931
|
'chart-row-progress-bar-line': {
|
|
@@ -7122,8 +8899,8 @@ var index = (function () {
|
|
|
7122
8899
|
|
|
7123
8900
|
/* harmony default export */ var ResizeObserver_es = (index);
|
|
7124
8901
|
|
|
7125
|
-
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/
|
|
7126
|
-
var
|
|
8902
|
+
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/Header/Header.vue?vue&type=template&id=7624c9ea
|
|
8903
|
+
var Headervue_type_template_id_7624c9ea_render = function render() {
|
|
7127
8904
|
var _vm = this,
|
|
7128
8905
|
_c = _vm._self._c;
|
|
7129
8906
|
return _c('div', {
|
|
@@ -7320,7 +9097,7 @@ var Headervue_type_template_id_63647db0_render = function render() {
|
|
|
7320
9097
|
}
|
|
7321
9098
|
}), _vm._v(" " + _vm._s(_vm.opts.locale["Display task list"]) + " ")], 1)])]);
|
|
7322
9099
|
};
|
|
7323
|
-
var
|
|
9100
|
+
var Headervue_type_template_id_7624c9ea_staticRenderFns = [];
|
|
7324
9101
|
|
|
7325
9102
|
// EXTERNAL MODULE: ./node_modules/vue-slider-component/dist/vue-slider-component.umd.min.js
|
|
7326
9103
|
var vue_slider_component_umd_min = __webpack_require__(378);
|
|
@@ -7434,7 +9211,7 @@ var switches_component = normalizeComponent(
|
|
|
7434
9211
|
)
|
|
7435
9212
|
|
|
7436
9213
|
/* harmony default export */ var switches = (switches_component.exports);
|
|
7437
|
-
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/
|
|
9214
|
+
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/Header/Header.vue?vue&type=script&lang=js
|
|
7438
9215
|
|
|
7439
9216
|
|
|
7440
9217
|
|
|
@@ -7505,7 +9282,7 @@ const defaultStyle = {
|
|
|
7505
9282
|
};
|
|
7506
9283
|
const defaultOptions = {
|
|
7507
9284
|
title: {
|
|
7508
|
-
label: "",
|
|
9285
|
+
label: "ajay",
|
|
7509
9286
|
html: true
|
|
7510
9287
|
},
|
|
7511
9288
|
locale: {
|
|
@@ -7543,6 +9320,7 @@ const defaultOptions = {
|
|
|
7543
9320
|
};
|
|
7544
9321
|
},
|
|
7545
9322
|
created() {
|
|
9323
|
+
debugger; // eslint-disable-line no-debugger
|
|
7546
9324
|
defaultOptions.title.label = this.root.projectName;
|
|
7547
9325
|
this.localScale = this.root.state.options.times.timeZoom;
|
|
7548
9326
|
this.localHeight = this.root.state.options.row.height;
|
|
@@ -7643,9 +9421,9 @@ const defaultOptions = {
|
|
|
7643
9421
|
}
|
|
7644
9422
|
}
|
|
7645
9423
|
});
|
|
7646
|
-
;// ./src/components/
|
|
9424
|
+
;// ./src/components/Header/Header.vue?vue&type=script&lang=js
|
|
7647
9425
|
/* harmony default export */ var Header_Headervue_type_script_lang_js = (Headervue_type_script_lang_js);
|
|
7648
|
-
;// ./src/components/
|
|
9426
|
+
;// ./src/components/Header/Header.vue
|
|
7649
9427
|
|
|
7650
9428
|
|
|
7651
9429
|
|
|
@@ -7655,8 +9433,8 @@ const defaultOptions = {
|
|
|
7655
9433
|
;
|
|
7656
9434
|
var Header_component = normalizeComponent(
|
|
7657
9435
|
Header_Headervue_type_script_lang_js,
|
|
7658
|
-
|
|
7659
|
-
|
|
9436
|
+
Headervue_type_template_id_7624c9ea_render,
|
|
9437
|
+
Headervue_type_template_id_7624c9ea_staticRenderFns,
|
|
7660
9438
|
false,
|
|
7661
9439
|
null,
|
|
7662
9440
|
null,
|
|
@@ -7665,7 +9443,14 @@ var Header_component = normalizeComponent(
|
|
|
7665
9443
|
)
|
|
7666
9444
|
|
|
7667
9445
|
/* harmony default export */ var Header = (Header_component.exports);
|
|
7668
|
-
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/
|
|
9446
|
+
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/GanttElastic.vue?vue&type=script&lang=js
|
|
9447
|
+
|
|
9448
|
+
|
|
9449
|
+
|
|
9450
|
+
|
|
9451
|
+
|
|
9452
|
+
|
|
9453
|
+
|
|
7669
9454
|
|
|
7670
9455
|
|
|
7671
9456
|
|
|
@@ -7678,6 +9463,7 @@ var Header_component = normalizeComponent(
|
|
|
7678
9463
|
|
|
7679
9464
|
|
|
7680
9465
|
|
|
9466
|
+
|
|
7681
9467
|
const ctx = document.createElement('canvas').getContext('2d');
|
|
7682
9468
|
// let VueInst = VueInstance;
|
|
7683
9469
|
// function initVue() {
|
|
@@ -7687,7 +9473,7 @@ const ctx = document.createElement('canvas').getContext('2d');
|
|
|
7687
9473
|
// }
|
|
7688
9474
|
// initVue();
|
|
7689
9475
|
|
|
7690
|
-
|
|
9476
|
+
let hourWidthCache = null;
|
|
7691
9477
|
|
|
7692
9478
|
/**
|
|
7693
9479
|
* Helper function to fill out empty options in user settings
|
|
@@ -7790,15 +9576,15 @@ function getOptions(userOptions) {
|
|
|
7790
9576
|
bar: false
|
|
7791
9577
|
},
|
|
7792
9578
|
text: {
|
|
7793
|
-
offset:
|
|
9579
|
+
offset: 8,
|
|
7794
9580
|
//*
|
|
7795
|
-
xPadding:
|
|
9581
|
+
xPadding: 12,
|
|
7796
9582
|
//*
|
|
7797
9583
|
display: true //*
|
|
7798
9584
|
},
|
|
7799
9585
|
expander: {
|
|
7800
9586
|
type: 'chart',
|
|
7801
|
-
display:
|
|
9587
|
+
display: true,
|
|
7802
9588
|
//*
|
|
7803
9589
|
displayIfTaskListHidden: true,
|
|
7804
9590
|
//*
|
|
@@ -7830,7 +9616,7 @@ function getOptions(userOptions) {
|
|
|
7830
9616
|
minWidth: 18,
|
|
7831
9617
|
expander: {
|
|
7832
9618
|
type: 'task-list',
|
|
7833
|
-
size:
|
|
9619
|
+
size: 18,
|
|
7834
9620
|
columnWidth: 24,
|
|
7835
9621
|
padding: 16,
|
|
7836
9622
|
margin: 10,
|
|
@@ -7919,6 +9705,30 @@ function getOptions(userOptions) {
|
|
|
7919
9705
|
return date.format('MMMM YYYY');
|
|
7920
9706
|
}
|
|
7921
9707
|
}
|
|
9708
|
+
},
|
|
9709
|
+
quarter: {
|
|
9710
|
+
height: 30,
|
|
9711
|
+
//*
|
|
9712
|
+
display: true,
|
|
9713
|
+
//*
|
|
9714
|
+
widths: [],
|
|
9715
|
+
maxWidths: {
|
|
9716
|
+
short: 0,
|
|
9717
|
+
medium: 0,
|
|
9718
|
+
long: 0
|
|
9719
|
+
},
|
|
9720
|
+
format: {
|
|
9721
|
+
//*
|
|
9722
|
+
short(date) {
|
|
9723
|
+
return date.format('Qo quarter');
|
|
9724
|
+
},
|
|
9725
|
+
medium(date) {
|
|
9726
|
+
return date.format("Qo 'YY");
|
|
9727
|
+
},
|
|
9728
|
+
long(date) {
|
|
9729
|
+
return date.format('Qo quarter YYYY');
|
|
9730
|
+
}
|
|
9731
|
+
}
|
|
7922
9732
|
}
|
|
7923
9733
|
},
|
|
7924
9734
|
locale: {
|
|
@@ -8161,7 +9971,8 @@ const GanttElastic = {
|
|
|
8161
9971
|
name: 'GanttElastic',
|
|
8162
9972
|
components: {
|
|
8163
9973
|
MainView: MainView,
|
|
8164
|
-
'gantt-header': Header
|
|
9974
|
+
'gantt-header': Header,
|
|
9975
|
+
'gantt-view-filter': GanttViewFilter
|
|
8165
9976
|
},
|
|
8166
9977
|
props: ['tasks', 'options', 'dynamicStyle', 'isHeaderVisible', 'projectName'],
|
|
8167
9978
|
provide() {
|
|
@@ -8190,7 +10001,7 @@ const GanttElastic = {
|
|
|
8190
10001
|
refs: {},
|
|
8191
10002
|
tasksById: {},
|
|
8192
10003
|
taskTree: {},
|
|
8193
|
-
ctx
|
|
10004
|
+
ctx,
|
|
8194
10005
|
emitTasksChanges: true,
|
|
8195
10006
|
// some operations may pause emitting changes to parent component
|
|
8196
10007
|
emitOptionsChanges: true,
|
|
@@ -8208,6 +10019,51 @@ const GanttElastic = {
|
|
|
8208
10019
|
methods: {
|
|
8209
10020
|
mergeDeep,
|
|
8210
10021
|
mergeDeepReactive,
|
|
10022
|
+
onViewModeChanged(mode) {
|
|
10023
|
+
// Update the calendar view mode
|
|
10024
|
+
this.options.calendar.viewMode = mode;
|
|
10025
|
+
|
|
10026
|
+
// Update the step duration based on the view mode
|
|
10027
|
+
if (this.options.times) {
|
|
10028
|
+
switch (mode) {
|
|
10029
|
+
case 'quarter':
|
|
10030
|
+
this.options.times.stepDuration = 'quarter';
|
|
10031
|
+
this.options.times.timeZoom = 15; // Reset zoom for better quarter view
|
|
10032
|
+
break;
|
|
10033
|
+
case 'month':
|
|
10034
|
+
this.options.times.stepDuration = 'month';
|
|
10035
|
+
this.options.times.timeZoom = 17; // Reset zoom for better month view
|
|
10036
|
+
break;
|
|
10037
|
+
case 'week':
|
|
10038
|
+
this.options.times.stepDuration = 'week';
|
|
10039
|
+
this.options.times.timeZoom = 19; // Reset zoom for better week view
|
|
10040
|
+
break;
|
|
10041
|
+
default:
|
|
10042
|
+
// 'day' or any other mode
|
|
10043
|
+
this.options.times.stepDuration = 'day';
|
|
10044
|
+
this.options.times.timeZoom = 21; // Reset zoom for better day view
|
|
10045
|
+
break;
|
|
10046
|
+
}
|
|
10047
|
+
}
|
|
10048
|
+
|
|
10049
|
+
// Force recalculation by triggering a reactive update
|
|
10050
|
+
this.$nextTick(() => {
|
|
10051
|
+
this.$forceUpdate();
|
|
10052
|
+
// Recalculate start date based on new view mode and trigger full recalculation
|
|
10053
|
+
if (this.$refs.ganttChart) {
|
|
10054
|
+
// Trigger recalculation of dates and times with new view mode
|
|
10055
|
+
this.$refs.ganttChart.prepareDates();
|
|
10056
|
+
this.$refs.ganttChart.initTimes();
|
|
10057
|
+
this.$refs.ganttChart.calculateSteps();
|
|
10058
|
+
this.$refs.ganttChart.computeCalendarWidths();
|
|
10059
|
+
|
|
10060
|
+
// Ensure perfect alignment between calendar and chart
|
|
10061
|
+
if (this.$refs.ganttChart.ensureCalendarChartAlignment) {
|
|
10062
|
+
this.$refs.ganttChart.ensureCalendarChartAlignment();
|
|
10063
|
+
}
|
|
10064
|
+
}
|
|
10065
|
+
});
|
|
10066
|
+
},
|
|
8211
10067
|
/**
|
|
8212
10068
|
* Calculate height of scrollbar in current browser
|
|
8213
10069
|
*
|
|
@@ -8343,7 +10199,22 @@ const GanttElastic = {
|
|
|
8343
10199
|
tasks = this.fillTasks(tasks);
|
|
8344
10200
|
this.state.tasksById = this.resetTaskTree(tasks);
|
|
8345
10201
|
this.state.taskTree = this.makeTaskTree(this.state.rootTask, tasks);
|
|
8346
|
-
|
|
10202
|
+
|
|
10203
|
+
// Get all visible tasks including parent tasks
|
|
10204
|
+
const visibleTaskIds = new Set();
|
|
10205
|
+
|
|
10206
|
+
// Add all root-level tasks (these include parent tasks that don't have parentId)
|
|
10207
|
+
this.state.taskTree.allChildren.forEach(childId => {
|
|
10208
|
+
visibleTaskIds.add(childId);
|
|
10209
|
+
});
|
|
10210
|
+
|
|
10211
|
+
// Also add any parent tasks that have children but might not be in root children
|
|
10212
|
+
tasks.forEach(task => {
|
|
10213
|
+
if (task.allChildren && task.allChildren.length > 0) {
|
|
10214
|
+
visibleTaskIds.add(task.id);
|
|
10215
|
+
}
|
|
10216
|
+
});
|
|
10217
|
+
this.state.tasks = Array.from(visibleTaskIds).map(childId => this.getTask(childId));
|
|
8347
10218
|
this.calculateTaskListColumnsDimensions();
|
|
8348
10219
|
this.state.options.scrollBarHeight = this.getScrollBarHeight();
|
|
8349
10220
|
this.state.options.outerHeight = this.state.options.height + this.state.options.scrollBarHeight;
|
|
@@ -8495,11 +10366,21 @@ const GanttElastic = {
|
|
|
8495
10366
|
if (typeof task === 'number' || typeof task === 'string') {
|
|
8496
10367
|
task = this.getTask(task);
|
|
8497
10368
|
}
|
|
10369
|
+
|
|
10370
|
+
// Always show parent tasks (tasks with children) - they need to be visible for expander functionality
|
|
10371
|
+
if (task.allChildren && task.allChildren.length > 0) {
|
|
10372
|
+
return true;
|
|
10373
|
+
}
|
|
10374
|
+
|
|
10375
|
+
// For child tasks, check if any parent is collapsed
|
|
8498
10376
|
for (let i = 0, len = task.parents.length; i < len; i++) {
|
|
8499
|
-
|
|
10377
|
+
const parentTask = this.getTask(task.parents[i]);
|
|
10378
|
+
if (parentTask && parentTask.collapsed) {
|
|
8500
10379
|
return false;
|
|
8501
10380
|
}
|
|
8502
10381
|
}
|
|
10382
|
+
|
|
10383
|
+
// Show all other tasks (root-level tasks and non-collapsed child tasks)
|
|
8503
10384
|
return true;
|
|
8504
10385
|
},
|
|
8505
10386
|
/**
|
|
@@ -8757,46 +10638,311 @@ const GanttElastic = {
|
|
|
8757
10638
|
this.$on('taskList-width-change', this.onTaskListWidthChange);
|
|
8758
10639
|
this.$on('taskList-column-width-change', this.onTaskListColumnWidthChange);
|
|
8759
10640
|
},
|
|
10641
|
+
/**
|
|
10642
|
+
* Get responsive step widths based on screen size
|
|
10643
|
+
*/
|
|
10644
|
+
getResponsiveStepWidths(stepDuration) {
|
|
10645
|
+
const clientWidth = this.state.options.clientWidth;
|
|
10646
|
+
|
|
10647
|
+
// Enhanced base step widths for different screen sizes
|
|
10648
|
+
const baseWidths = {
|
|
10649
|
+
'day': {
|
|
10650
|
+
mobile: 40,
|
|
10651
|
+
tablet: 50,
|
|
10652
|
+
desktopSmall: 60,
|
|
10653
|
+
desktopBig: 80
|
|
10654
|
+
},
|
|
10655
|
+
'week': {
|
|
10656
|
+
mobile: 80,
|
|
10657
|
+
tablet: 100,
|
|
10658
|
+
desktopSmall: 120,
|
|
10659
|
+
desktopBig: 150
|
|
10660
|
+
},
|
|
10661
|
+
'month': {
|
|
10662
|
+
mobile: 120,
|
|
10663
|
+
tablet: 140,
|
|
10664
|
+
desktopSmall: 160,
|
|
10665
|
+
desktopBig: 200
|
|
10666
|
+
},
|
|
10667
|
+
'quarter': {
|
|
10668
|
+
mobile: 200,
|
|
10669
|
+
tablet: 250,
|
|
10670
|
+
desktopSmall: 300,
|
|
10671
|
+
desktopBig: 400
|
|
10672
|
+
}
|
|
10673
|
+
};
|
|
10674
|
+
|
|
10675
|
+
// Determine screen size with desktop variants
|
|
10676
|
+
let screenSize;
|
|
10677
|
+
if (clientWidth < 768) {
|
|
10678
|
+
screenSize = 'mobile';
|
|
10679
|
+
} else if (clientWidth < 1024) {
|
|
10680
|
+
screenSize = 'tablet';
|
|
10681
|
+
} else if (clientWidth < 1440) {
|
|
10682
|
+
screenSize = 'desktopSmall';
|
|
10683
|
+
} else {
|
|
10684
|
+
screenSize = 'desktopBig';
|
|
10685
|
+
}
|
|
10686
|
+
|
|
10687
|
+
// Get responsive width for the step duration
|
|
10688
|
+
let responsiveWidth = baseWidths[stepDuration][screenSize];
|
|
10689
|
+
|
|
10690
|
+
// Calculate dynamic width based on data content
|
|
10691
|
+
const dataBasedWidth = this.getDataBasedStepWidth(stepDuration, clientWidth);
|
|
10692
|
+
|
|
10693
|
+
// Use the larger of responsive width or data-based width
|
|
10694
|
+
return Math.max(responsiveWidth, dataBasedWidth);
|
|
10695
|
+
},
|
|
10696
|
+
/**
|
|
10697
|
+
* Get step width based on data content and minimum visibility requirements
|
|
10698
|
+
*/
|
|
10699
|
+
getDataBasedStepWidth(stepDuration, clientWidth) {
|
|
10700
|
+
const estimatedSteps = this.getEstimatedStepCount(stepDuration);
|
|
10701
|
+
const taskListWidth = 300; // Account for task list width
|
|
10702
|
+
const availableWidth = clientWidth - taskListWidth;
|
|
10703
|
+
|
|
10704
|
+
// Define minimum visibility requirements
|
|
10705
|
+
const minVisibilitySteps = {
|
|
10706
|
+
'day': 30,
|
|
10707
|
+
// Show at least 30 days
|
|
10708
|
+
'week': 12,
|
|
10709
|
+
// Show at least 12 weeks (3 months)
|
|
10710
|
+
'month': 8,
|
|
10711
|
+
// Show at least 8 months
|
|
10712
|
+
'quarter': 3 // Show at least 3 quarters
|
|
10713
|
+
};
|
|
10714
|
+
|
|
10715
|
+
// Calculate minimum steps needed for good visibility
|
|
10716
|
+
const minSteps = Math.max(estimatedSteps, minVisibilitySteps[stepDuration]);
|
|
10717
|
+
|
|
10718
|
+
// Define minimum readable width per step
|
|
10719
|
+
const minReadableWidth = {
|
|
10720
|
+
'day': 30,
|
|
10721
|
+
'week': 60,
|
|
10722
|
+
'month': 80,
|
|
10723
|
+
'quarter': 120
|
|
10724
|
+
};
|
|
10725
|
+
|
|
10726
|
+
// Calculate width per step to ensure minimum visibility
|
|
10727
|
+
const minWidthPerStep = availableWidth / minSteps;
|
|
10728
|
+
|
|
10729
|
+
// Use the larger of minimum readable width or calculated width
|
|
10730
|
+
const calculatedWidth = Math.max(minWidthPerStep, minReadableWidth[stepDuration]);
|
|
10731
|
+
|
|
10732
|
+
// Define maximum reasonable width per step
|
|
10733
|
+
const maxWidthPerStep = {
|
|
10734
|
+
'day': 100,
|
|
10735
|
+
'week': 200,
|
|
10736
|
+
'month': 300,
|
|
10737
|
+
'quarter': 500
|
|
10738
|
+
};
|
|
10739
|
+
|
|
10740
|
+
// Ensure we don't exceed maximum reasonable width
|
|
10741
|
+
return Math.min(calculatedWidth, maxWidthPerStep[stepDuration]);
|
|
10742
|
+
},
|
|
10743
|
+
/**
|
|
10744
|
+
* Get maximum width multiplier based on screen size and data content
|
|
10745
|
+
*/
|
|
10746
|
+
getMaxWidthMultiplier(stepDuration, stepCount) {
|
|
10747
|
+
const clientWidth = this.state.options.clientWidth;
|
|
10748
|
+
|
|
10749
|
+
// Base multipliers for different screen sizes
|
|
10750
|
+
const baseMultipliers = {
|
|
10751
|
+
mobile: 2,
|
|
10752
|
+
// 2x viewport width on mobile
|
|
10753
|
+
tablet: 2.5,
|
|
10754
|
+
// 2.5x viewport width on tablet
|
|
10755
|
+
desktopSmall: 3,
|
|
10756
|
+
// 3x viewport width on small desktop
|
|
10757
|
+
desktopBig: 4 // 4x viewport width on big desktop
|
|
10758
|
+
};
|
|
10759
|
+
|
|
10760
|
+
// Determine screen size
|
|
10761
|
+
let screenSize;
|
|
10762
|
+
if (clientWidth < 768) {
|
|
10763
|
+
screenSize = 'mobile';
|
|
10764
|
+
} else if (clientWidth < 1024) {
|
|
10765
|
+
screenSize = 'tablet';
|
|
10766
|
+
} else if (clientWidth < 1440) {
|
|
10767
|
+
screenSize = 'desktopSmall';
|
|
10768
|
+
} else {
|
|
10769
|
+
screenSize = 'desktopBig';
|
|
10770
|
+
}
|
|
10771
|
+
let multiplier = baseMultipliers[screenSize];
|
|
10772
|
+
|
|
10773
|
+
// Adjust multiplier based on data content
|
|
10774
|
+
const minVisibilitySteps = {
|
|
10775
|
+
'day': 30,
|
|
10776
|
+
'week': 12,
|
|
10777
|
+
'month': 8,
|
|
10778
|
+
'quarter': 3
|
|
10779
|
+
};
|
|
10780
|
+
|
|
10781
|
+
// If we have more data than minimum visibility, allow more width
|
|
10782
|
+
if (stepCount > minVisibilitySteps[stepDuration]) {
|
|
10783
|
+
const dataRatio = stepCount / minVisibilitySteps[stepDuration];
|
|
10784
|
+
multiplier = Math.min(multiplier * (1 + dataRatio * 0.5), 6); // Max 6x viewport width
|
|
10785
|
+
}
|
|
10786
|
+
return multiplier;
|
|
10787
|
+
},
|
|
10788
|
+
/**
|
|
10789
|
+
* Get estimated step count for responsive calculations
|
|
10790
|
+
*/
|
|
10791
|
+
getEstimatedStepCount(stepDuration) {
|
|
10792
|
+
const totalDurationMs = dayjs_min_default()(this.state.options.times.lastTime).diff(this.state.options.times.firstTime, 'milliseconds');
|
|
10793
|
+
switch (stepDuration) {
|
|
10794
|
+
case 'quarter':
|
|
10795
|
+
return Math.ceil(dayjs_min_default()(this.state.options.times.lastTime).diff(dayjs_min_default()(this.state.options.times.firstTime), 'quarter', true));
|
|
10796
|
+
case 'month':
|
|
10797
|
+
return Math.ceil(dayjs_min_default()(this.state.options.times.lastTime).diff(dayjs_min_default()(this.state.options.times.firstTime), 'month', true));
|
|
10798
|
+
case 'week':
|
|
10799
|
+
return Math.ceil(dayjs_min_default()(this.state.options.times.lastTime).diff(dayjs_min_default()(this.state.options.times.firstTime), 'week', true));
|
|
10800
|
+
case 'day':
|
|
10801
|
+
default:
|
|
10802
|
+
return Math.ceil(dayjs_min_default()(this.state.options.times.lastTime).diff(dayjs_min_default()(this.state.options.times.firstTime), 'day', true));
|
|
10803
|
+
}
|
|
10804
|
+
},
|
|
8760
10805
|
/**
|
|
8761
10806
|
* When some action was performed (scale change for example) - recalculate time variables
|
|
8762
10807
|
*/
|
|
8763
10808
|
recalculateTimes() {
|
|
8764
|
-
|
|
8765
|
-
|
|
8766
|
-
|
|
8767
|
-
|
|
8768
|
-
|
|
8769
|
-
|
|
10809
|
+
const stepDuration = this.state.options.times.stepDuration;
|
|
10810
|
+
const timeZoom = this.state.options.times.timeZoom;
|
|
10811
|
+
|
|
10812
|
+
// Calculate base time per pixel based on step duration
|
|
10813
|
+
let baseTimePerPixel;
|
|
10814
|
+
const totalDurationMs = dayjs_min_default()(this.state.options.times.lastTime).diff(this.state.options.times.firstTime, 'milliseconds');
|
|
10815
|
+
|
|
10816
|
+
// Get responsive step width based on screen size and data content
|
|
10817
|
+
const responsiveStepWidth = this.getResponsiveStepWidths(stepDuration);
|
|
10818
|
+
|
|
10819
|
+
// Calculate how many steps we'll have
|
|
10820
|
+
const stepCount = this.getEstimatedStepCount(stepDuration);
|
|
10821
|
+
|
|
10822
|
+
// Define minimum visibility requirements
|
|
10823
|
+
const minVisibilitySteps = {
|
|
10824
|
+
'day': 30,
|
|
10825
|
+
// Show at least 30 days
|
|
10826
|
+
'week': 12,
|
|
10827
|
+
// Show at least 12 weeks (3 months)
|
|
10828
|
+
'month': 8,
|
|
10829
|
+
// Show at least 8 months
|
|
10830
|
+
'quarter': 3 // Show at least 3 quarters
|
|
10831
|
+
};
|
|
10832
|
+
|
|
10833
|
+
// Ensure we show at least the minimum number of steps
|
|
10834
|
+
const actualSteps = Math.max(stepCount, minVisibilitySteps[stepDuration]);
|
|
10835
|
+
|
|
10836
|
+
// Ensure minimum visibility for all view types
|
|
10837
|
+
if (stepCount < minVisibilitySteps[stepDuration]) {
|
|
10838
|
+
const firstTime = dayjs_min_default()(this.state.options.times.firstTime);
|
|
10839
|
+
let lastTime;
|
|
10840
|
+
switch (stepDuration) {
|
|
10841
|
+
case 'month':
|
|
10842
|
+
lastTime = firstTime.add(8, 'month');
|
|
10843
|
+
break;
|
|
10844
|
+
case 'week':
|
|
10845
|
+
lastTime = firstTime.add(12, 'week');
|
|
10846
|
+
break;
|
|
10847
|
+
case 'quarter':
|
|
10848
|
+
lastTime = firstTime.add(3, 'quarter');
|
|
10849
|
+
break;
|
|
10850
|
+
case 'day':
|
|
10851
|
+
default:
|
|
10852
|
+
lastTime = firstTime.add(30, 'day');
|
|
10853
|
+
break;
|
|
10854
|
+
}
|
|
10855
|
+
this.state.options.times.lastTime = lastTime.valueOf();
|
|
10856
|
+
// Recalculate total duration with extended range
|
|
10857
|
+
const extendedDurationMs = lastTime.diff(firstTime, 'milliseconds');
|
|
10858
|
+
const minSteps = minVisibilitySteps[stepDuration];
|
|
10859
|
+
this.state.options.times.timePerPixel = extendedDurationMs / (minSteps * responsiveStepWidth);
|
|
10860
|
+
this.state.options.times.totalViewDurationMs = extendedDurationMs;
|
|
10861
|
+
this.state.options.times.totalViewDurationPx = minSteps * responsiveStepWidth;
|
|
10862
|
+
return; // Exit early for views with extended range
|
|
10863
|
+
}
|
|
10864
|
+
|
|
10865
|
+
// Calculate total width needed for all steps
|
|
10866
|
+
const totalWidthNeeded = actualSteps * responsiveStepWidth;
|
|
10867
|
+
|
|
10868
|
+
// Calculate time per pixel to fit the content with responsive step width
|
|
10869
|
+
this.state.options.times.timePerPixel = totalDurationMs / totalWidthNeeded;
|
|
10870
|
+
|
|
10871
|
+
// Apply zoom factor (higher zoom = more compressed view)
|
|
10872
|
+
const zoomFactor = Math.pow(0.8, (timeZoom - 17) / 10); // Adjust zoom sensitivity
|
|
10873
|
+
this.state.options.times.timePerPixel *= zoomFactor;
|
|
10874
|
+
this.state.options.times.totalViewDurationMs = totalDurationMs;
|
|
8770
10875
|
this.state.options.times.totalViewDurationPx = this.state.options.times.totalViewDurationMs / this.state.options.times.timePerPixel;
|
|
8771
|
-
|
|
10876
|
+
|
|
10877
|
+
// Calculate final width
|
|
10878
|
+
const calculatedWidth = this.state.options.times.totalViewDurationPx + this.style['grid-line-vertical']['stroke-width'];
|
|
10879
|
+
|
|
10880
|
+
// Define maximum width based on screen size and data content
|
|
10881
|
+
const maxWidthMultiplier = this.getMaxWidthMultiplier(stepDuration, actualSteps);
|
|
10882
|
+
const maxWidth = this.state.options.clientWidth * maxWidthMultiplier;
|
|
10883
|
+
|
|
10884
|
+
// Ensure minimum width for scrolling when we have minimum visibility requirements
|
|
10885
|
+
const minWidthForScrolling = this.state.options.clientWidth * 1.2; // 20% more than viewport
|
|
10886
|
+
const finalWidth = Math.max(calculatedWidth, minWidthForScrolling);
|
|
10887
|
+
if (finalWidth > maxWidth) {
|
|
10888
|
+
// Only limit width if it's truly excessive
|
|
10889
|
+
this.state.options.times.timePerPixel = totalDurationMs / (maxWidth - this.style['grid-line-vertical']['stroke-width']);
|
|
10890
|
+
this.state.options.times.totalViewDurationPx = totalDurationMs / this.state.options.times.timePerPixel;
|
|
10891
|
+
this.state.options.width = maxWidth;
|
|
10892
|
+
} else {
|
|
10893
|
+
this.state.options.width = finalWidth;
|
|
10894
|
+
}
|
|
8772
10895
|
},
|
|
8773
10896
|
/**
|
|
8774
10897
|
* Initialize time variables
|
|
8775
10898
|
*/
|
|
8776
10899
|
initTimes() {
|
|
8777
|
-
|
|
10900
|
+
// Calculate dynamic start date based on the formula
|
|
10901
|
+
const minDataDate = dayjs_min_default()(this.state.options.times.firstTaskTime).startOf('day');
|
|
10902
|
+
const viewBasedStartDate = this.calculateDynamicStartDate();
|
|
10903
|
+
|
|
10904
|
+
// Use the minimum of data start date and view-based start date
|
|
10905
|
+
const dynamicStartDate = minDataDate.isBefore(viewBasedStartDate) ? minDataDate : viewBasedStartDate;
|
|
10906
|
+
this.state.options.times.firstTime = dynamicStartDate.locale(this.state.options.locale.name).subtract(this.state.options.scope.before, 'days').startOf('day').valueOf();
|
|
8778
10907
|
this.state.options.times.lastTime = dayjs_min_default()(this.state.options.times.lastTaskTime).locale(this.state.options.locale.name).endOf('day').add(this.state.options.scope.after, 'days').endOf('day').valueOf();
|
|
8779
10908
|
this.recalculateTimes();
|
|
8780
10909
|
},
|
|
8781
10910
|
/**
|
|
8782
10911
|
* Calculate steps
|
|
8783
|
-
* Steps are
|
|
10912
|
+
* Steps are calculated based on stepDuration (day, week, month, quarter)
|
|
8784
10913
|
* Each step contain information about time offset and pixel offset of this time inside gantt chart
|
|
8785
10914
|
*/
|
|
8786
10915
|
calculateSteps() {
|
|
8787
10916
|
const steps = [];
|
|
8788
10917
|
const lastMs = dayjs_min_default()(this.state.options.times.lastTime).valueOf();
|
|
8789
|
-
const
|
|
10918
|
+
const stepDuration = this.state.options.times.stepDuration;
|
|
10919
|
+
|
|
10920
|
+
// Get the appropriate startOf method based on step duration
|
|
10921
|
+
const getStartOf = (date, duration) => {
|
|
10922
|
+
switch (duration) {
|
|
10923
|
+
case 'quarter':
|
|
10924
|
+
return date.startOf('quarter');
|
|
10925
|
+
case 'month':
|
|
10926
|
+
return date.startOf('month');
|
|
10927
|
+
case 'week':
|
|
10928
|
+
return date.startOf('week');
|
|
10929
|
+
case 'day':
|
|
10930
|
+
default:
|
|
10931
|
+
return date.startOf('day');
|
|
10932
|
+
}
|
|
10933
|
+
};
|
|
10934
|
+
const firstDate = dayjs_min_default()(this.state.options.times.firstTime);
|
|
8790
10935
|
steps.push({
|
|
8791
|
-
time:
|
|
10936
|
+
time: firstDate.valueOf(),
|
|
8792
10937
|
offset: {
|
|
8793
10938
|
ms: 0,
|
|
8794
10939
|
px: 0
|
|
8795
10940
|
}
|
|
8796
10941
|
});
|
|
8797
|
-
|
|
10942
|
+
let currentDate = getStartOf(firstDate.clone().add(1, stepDuration), stepDuration);
|
|
10943
|
+
while (currentDate.valueOf() <= lastMs) {
|
|
8798
10944
|
const offsetMs = currentDate.diff(this.state.options.times.firstTime, 'milliseconds');
|
|
8799
|
-
const offsetPx = offsetMs / this.state.options.times.timePerPixel;
|
|
10945
|
+
const offsetPx = Math.round(offsetMs / this.state.options.times.timePerPixel); // Round to avoid sub-pixel issues
|
|
8800
10946
|
const step = {
|
|
8801
10947
|
time: currentDate.valueOf(),
|
|
8802
10948
|
offset: {
|
|
@@ -8807,14 +10953,17 @@ const GanttElastic = {
|
|
|
8807
10953
|
const previousStep = steps[steps.length - 1];
|
|
8808
10954
|
previousStep.width = {
|
|
8809
10955
|
ms: offsetMs - previousStep.offset.ms,
|
|
8810
|
-
px: offsetPx - previousStep.offset.px
|
|
10956
|
+
px: Math.round(offsetPx - previousStep.offset.px) // Round to avoid sub-pixel issues
|
|
8811
10957
|
};
|
|
8812
10958
|
steps.push(step);
|
|
10959
|
+
|
|
10960
|
+
// Move to next step
|
|
10961
|
+
currentDate = getStartOf(currentDate.add(1, stepDuration), stepDuration);
|
|
8813
10962
|
}
|
|
8814
10963
|
const lastStep = steps[steps.length - 1];
|
|
8815
10964
|
lastStep.width = {
|
|
8816
10965
|
ms: this.state.options.times.totalViewDurationMs - lastStep.offset.ms,
|
|
8817
|
-
px: this.state.options.times.totalViewDurationPx - lastStep.offset.px
|
|
10966
|
+
px: Math.round(this.state.options.times.totalViewDurationPx - lastStep.offset.px) // Round to avoid sub-pixel issues
|
|
8818
10967
|
};
|
|
8819
10968
|
this.state.options.times.steps = steps;
|
|
8820
10969
|
},
|
|
@@ -8953,6 +11102,32 @@ const GanttElastic = {
|
|
|
8953
11102
|
currentDate = currentDate.add(1, 'month');
|
|
8954
11103
|
}
|
|
8955
11104
|
},
|
|
11105
|
+
/**
|
|
11106
|
+
* Calculate dynamic start date based on view mode and current date
|
|
11107
|
+
* Formula: Min((Min Date from data), case when day then Current Date when week then current date - 1 week, when month then Current Month -1 when quarter then current quarter - 1)
|
|
11108
|
+
*/
|
|
11109
|
+
calculateDynamicStartDate() {
|
|
11110
|
+
const currentDate = dayjs_min_default()();
|
|
11111
|
+
const stepDuration = this.state.options.times.stepDuration;
|
|
11112
|
+
let viewBasedStartDate;
|
|
11113
|
+
switch (stepDuration) {
|
|
11114
|
+
case 'day':
|
|
11115
|
+
viewBasedStartDate = currentDate.startOf('day');
|
|
11116
|
+
break;
|
|
11117
|
+
case 'week':
|
|
11118
|
+
viewBasedStartDate = currentDate.subtract(1, 'week').startOf('week');
|
|
11119
|
+
break;
|
|
11120
|
+
case 'month':
|
|
11121
|
+
viewBasedStartDate = currentDate.subtract(1, 'month').startOf('month');
|
|
11122
|
+
break;
|
|
11123
|
+
case 'quarter':
|
|
11124
|
+
viewBasedStartDate = currentDate.subtract(1, 'quarter').startOf('quarter');
|
|
11125
|
+
break;
|
|
11126
|
+
default:
|
|
11127
|
+
viewBasedStartDate = currentDate.startOf('day');
|
|
11128
|
+
}
|
|
11129
|
+
return viewBasedStartDate;
|
|
11130
|
+
},
|
|
8956
11131
|
/**
|
|
8957
11132
|
* Prepare time and date variables for gantt
|
|
8958
11133
|
*/
|
|
@@ -8970,7 +11145,14 @@ const GanttElastic = {
|
|
|
8970
11145
|
}
|
|
8971
11146
|
this.state.options.times.firstTaskTime = firstTaskTime;
|
|
8972
11147
|
this.state.options.times.lastTaskTime = lastTaskTime;
|
|
8973
|
-
|
|
11148
|
+
|
|
11149
|
+
// Calculate dynamic start date based on the formula
|
|
11150
|
+
const minDataDate = dayjs_min_default()(firstTaskTime).startOf('day');
|
|
11151
|
+
const viewBasedStartDate = this.calculateDynamicStartDate();
|
|
11152
|
+
|
|
11153
|
+
// Use the minimum of data start date and view-based start date
|
|
11154
|
+
const dynamicStartDate = minDataDate.isBefore(viewBasedStartDate) ? minDataDate : viewBasedStartDate;
|
|
11155
|
+
this.state.options.times.firstTime = dynamicStartDate.locale(this.state.options.locale.name).subtract(this.state.options.scope.before, 'days').startOf('day').valueOf();
|
|
8974
11156
|
this.state.options.times.lastTime = dayjs_min_default()(lastTaskTime).locale(this.state.options.locale.name).endOf('day').add(this.state.options.scope.after, 'days').endOf('day').valueOf();
|
|
8975
11157
|
},
|
|
8976
11158
|
/**
|
|
@@ -9013,6 +11195,11 @@ const GanttElastic = {
|
|
|
9013
11195
|
});
|
|
9014
11196
|
}
|
|
9015
11197
|
this.calculateTaskListColumnsDimensions();
|
|
11198
|
+
|
|
11199
|
+
// Recalculate times when window is resized to adjust step widths
|
|
11200
|
+
this.recalculateTimes();
|
|
11201
|
+
this.calculateSteps();
|
|
11202
|
+
this.computeCalendarWidths();
|
|
9016
11203
|
this.$emit('calendar-recalculate');
|
|
9017
11204
|
this.syncScrollTop();
|
|
9018
11205
|
}
|
|
@@ -9179,14 +11366,14 @@ const GanttElastic = {
|
|
|
9179
11366
|
}
|
|
9180
11367
|
};
|
|
9181
11368
|
/* harmony default export */ var GanttElasticvue_type_script_lang_js = (GanttElastic);
|
|
9182
|
-
;// ./src/
|
|
9183
|
-
/* harmony default export */ var
|
|
9184
|
-
;// ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-12.use[0]!./node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/
|
|
11369
|
+
;// ./src/GanttElastic.vue?vue&type=script&lang=js
|
|
11370
|
+
/* harmony default export */ var src_GanttElasticvue_type_script_lang_js = (GanttElasticvue_type_script_lang_js);
|
|
11371
|
+
;// ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-12.use[0]!./node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/GanttElastic.vue?vue&type=style&index=0&id=2767341e&prod&lang=css
|
|
9185
11372
|
// extracted by mini-css-extract-plugin
|
|
9186
11373
|
|
|
9187
|
-
;// ./src/
|
|
11374
|
+
;// ./src/GanttElastic.vue?vue&type=style&index=0&id=2767341e&prod&lang=css
|
|
9188
11375
|
|
|
9189
|
-
;// ./src/
|
|
11376
|
+
;// ./src/GanttElastic.vue
|
|
9190
11377
|
|
|
9191
11378
|
|
|
9192
11379
|
|
|
@@ -9196,7 +11383,68 @@ const GanttElastic = {
|
|
|
9196
11383
|
/* normalize component */
|
|
9197
11384
|
|
|
9198
11385
|
var GanttElastic_component = normalizeComponent(
|
|
9199
|
-
|
|
11386
|
+
src_GanttElasticvue_type_script_lang_js,
|
|
11387
|
+
GanttElasticvue_type_template_id_2767341e_render,
|
|
11388
|
+
GanttElasticvue_type_template_id_2767341e_staticRenderFns,
|
|
11389
|
+
false,
|
|
11390
|
+
null,
|
|
11391
|
+
null,
|
|
11392
|
+
null
|
|
11393
|
+
|
|
11394
|
+
)
|
|
11395
|
+
|
|
11396
|
+
/* harmony default export */ var src_GanttElastic = (GanttElastic_component.exports);
|
|
11397
|
+
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/GanttElastic.standalone.vue?vue&type=script&lang=js
|
|
11398
|
+
|
|
11399
|
+
/* harmony default export */ var GanttElastic_standalonevue_type_script_lang_js = ({
|
|
11400
|
+
name: 'GanttElasticStandalone',
|
|
11401
|
+
components: {
|
|
11402
|
+
'gantt-elastic': src_GanttElastic
|
|
11403
|
+
},
|
|
11404
|
+
props: {
|
|
11405
|
+
// Props to receive from parent
|
|
11406
|
+
tasks: {
|
|
11407
|
+
type: Array,
|
|
11408
|
+
default: () => []
|
|
11409
|
+
},
|
|
11410
|
+
options: {
|
|
11411
|
+
type: Object,
|
|
11412
|
+
default: () => ({})
|
|
11413
|
+
},
|
|
11414
|
+
dynamicStyle: {
|
|
11415
|
+
type: Object,
|
|
11416
|
+
default: () => ({})
|
|
11417
|
+
},
|
|
11418
|
+
header: {
|
|
11419
|
+
type: Object,
|
|
11420
|
+
default: () => ({})
|
|
11421
|
+
},
|
|
11422
|
+
footer: {
|
|
11423
|
+
type: Object,
|
|
11424
|
+
default: () => ({})
|
|
11425
|
+
}
|
|
11426
|
+
},
|
|
11427
|
+
data() {
|
|
11428
|
+
return {
|
|
11429
|
+
components: {
|
|
11430
|
+
header: this.header,
|
|
11431
|
+
footer: this.footer
|
|
11432
|
+
}
|
|
11433
|
+
};
|
|
11434
|
+
}
|
|
11435
|
+
});
|
|
11436
|
+
;// ./src/GanttElastic.standalone.vue?vue&type=script&lang=js
|
|
11437
|
+
/* harmony default export */ var src_GanttElastic_standalonevue_type_script_lang_js = (GanttElastic_standalonevue_type_script_lang_js);
|
|
11438
|
+
;// ./src/GanttElastic.standalone.vue
|
|
11439
|
+
|
|
11440
|
+
|
|
11441
|
+
|
|
11442
|
+
|
|
11443
|
+
|
|
11444
|
+
/* normalize component */
|
|
11445
|
+
;
|
|
11446
|
+
var GanttElastic_standalone_component = normalizeComponent(
|
|
11447
|
+
src_GanttElastic_standalonevue_type_script_lang_js,
|
|
9200
11448
|
render,
|
|
9201
11449
|
staticRenderFns,
|
|
9202
11450
|
false,
|
|
@@ -9206,12 +11454,12 @@ var GanttElastic_component = normalizeComponent(
|
|
|
9206
11454
|
|
|
9207
11455
|
)
|
|
9208
11456
|
|
|
9209
|
-
/* harmony default export */ var
|
|
11457
|
+
/* harmony default export */ var GanttElastic_standalone = (GanttElastic_standalone_component.exports);
|
|
9210
11458
|
;// ./src/index.js
|
|
9211
11459
|
|
|
9212
11460
|
/* harmony default export */ var src_0 = ({
|
|
9213
11461
|
install(app, options = {}) {
|
|
9214
|
-
app.component('tg-ganttchart',
|
|
11462
|
+
app.component('tg-ganttchart', GanttElastic_standalone);
|
|
9215
11463
|
}
|
|
9216
11464
|
});
|
|
9217
11465
|
// if (typeof window !== 'undefined' && window.Vue) {
|