tg-ganttchart 0.0.9 → 0.0.11
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
package/dist/tgganttchart.umd.js
CHANGED
|
@@ -18,6 +18,20 @@ return /******/ (function() { // webpackBootstrap
|
|
|
18
18
|
|
|
19
19
|
/***/ }),
|
|
20
20
|
|
|
21
|
+
/***/ 1816:
|
|
22
|
+
/***/ (function(module) {
|
|
23
|
+
|
|
24
|
+
!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)}}}));
|
|
25
|
+
|
|
26
|
+
/***/ }),
|
|
27
|
+
|
|
28
|
+
/***/ 8134:
|
|
29
|
+
/***/ (function(module) {
|
|
30
|
+
|
|
31
|
+
!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)}}}));
|
|
32
|
+
|
|
33
|
+
/***/ }),
|
|
34
|
+
|
|
21
35
|
/***/ 378:
|
|
22
36
|
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
|
23
37
|
|
|
@@ -56,6 +70,22 @@ module.exports = function (argument) {
|
|
|
56
70
|
};
|
|
57
71
|
|
|
58
72
|
|
|
73
|
+
/***/ }),
|
|
74
|
+
|
|
75
|
+
/***/ 7080:
|
|
76
|
+
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
|
77
|
+
|
|
78
|
+
"use strict";
|
|
79
|
+
|
|
80
|
+
var has = (__webpack_require__(4402).has);
|
|
81
|
+
|
|
82
|
+
// Perform ? RequireInternalSlot(M, [[SetData]])
|
|
83
|
+
module.exports = function (it) {
|
|
84
|
+
has(it);
|
|
85
|
+
return it;
|
|
86
|
+
};
|
|
87
|
+
|
|
88
|
+
|
|
59
89
|
/***/ }),
|
|
60
90
|
|
|
61
91
|
/***/ 679:
|
|
@@ -723,6 +753,24 @@ module.exports = {
|
|
|
723
753
|
};
|
|
724
754
|
|
|
725
755
|
|
|
756
|
+
/***/ }),
|
|
757
|
+
|
|
758
|
+
/***/ 6706:
|
|
759
|
+
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
|
760
|
+
|
|
761
|
+
"use strict";
|
|
762
|
+
|
|
763
|
+
var uncurryThis = __webpack_require__(9504);
|
|
764
|
+
var aCallable = __webpack_require__(9306);
|
|
765
|
+
|
|
766
|
+
module.exports = function (object, key, method) {
|
|
767
|
+
try {
|
|
768
|
+
// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
|
|
769
|
+
return uncurryThis(aCallable(Object.getOwnPropertyDescriptor(object, key)[method]));
|
|
770
|
+
} catch (error) { /* empty */ }
|
|
771
|
+
};
|
|
772
|
+
|
|
773
|
+
|
|
726
774
|
/***/ }),
|
|
727
775
|
|
|
728
776
|
/***/ 7476:
|
|
@@ -860,6 +908,54 @@ module.exports = function (V, P) {
|
|
|
860
908
|
};
|
|
861
909
|
|
|
862
910
|
|
|
911
|
+
/***/ }),
|
|
912
|
+
|
|
913
|
+
/***/ 3789:
|
|
914
|
+
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
|
915
|
+
|
|
916
|
+
"use strict";
|
|
917
|
+
|
|
918
|
+
var aCallable = __webpack_require__(9306);
|
|
919
|
+
var anObject = __webpack_require__(8551);
|
|
920
|
+
var call = __webpack_require__(9565);
|
|
921
|
+
var toIntegerOrInfinity = __webpack_require__(1291);
|
|
922
|
+
var getIteratorDirect = __webpack_require__(1767);
|
|
923
|
+
|
|
924
|
+
var INVALID_SIZE = 'Invalid size';
|
|
925
|
+
var $RangeError = RangeError;
|
|
926
|
+
var $TypeError = TypeError;
|
|
927
|
+
var max = Math.max;
|
|
928
|
+
|
|
929
|
+
var SetRecord = function (set, intSize) {
|
|
930
|
+
this.set = set;
|
|
931
|
+
this.size = max(intSize, 0);
|
|
932
|
+
this.has = aCallable(set.has);
|
|
933
|
+
this.keys = aCallable(set.keys);
|
|
934
|
+
};
|
|
935
|
+
|
|
936
|
+
SetRecord.prototype = {
|
|
937
|
+
getIterator: function () {
|
|
938
|
+
return getIteratorDirect(anObject(call(this.keys, this.set)));
|
|
939
|
+
},
|
|
940
|
+
includes: function (it) {
|
|
941
|
+
return call(this.has, this.set, it);
|
|
942
|
+
}
|
|
943
|
+
};
|
|
944
|
+
|
|
945
|
+
// `GetSetRecord` abstract operation
|
|
946
|
+
// https://tc39.es/proposal-set-methods/#sec-getsetrecord
|
|
947
|
+
module.exports = function (obj) {
|
|
948
|
+
anObject(obj);
|
|
949
|
+
var numSize = +obj.size;
|
|
950
|
+
// NOTE: If size is undefined, then numSize will be NaN
|
|
951
|
+
// eslint-disable-next-line no-self-compare -- NaN check
|
|
952
|
+
if (numSize !== numSize) throw new $TypeError(INVALID_SIZE);
|
|
953
|
+
var intSize = toIntegerOrInfinity(numSize);
|
|
954
|
+
if (intSize < 0) throw new $RangeError(INVALID_SIZE);
|
|
955
|
+
return new SetRecord(obj, intSize);
|
|
956
|
+
};
|
|
957
|
+
|
|
958
|
+
|
|
863
959
|
/***/ }),
|
|
864
960
|
|
|
865
961
|
/***/ 4576:
|
|
@@ -1219,6 +1315,26 @@ module.exports = USE_SYMBOL_AS_UID ? function (it) {
|
|
|
1219
1315
|
};
|
|
1220
1316
|
|
|
1221
1317
|
|
|
1318
|
+
/***/ }),
|
|
1319
|
+
|
|
1320
|
+
/***/ 507:
|
|
1321
|
+
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
|
1322
|
+
|
|
1323
|
+
"use strict";
|
|
1324
|
+
|
|
1325
|
+
var call = __webpack_require__(9565);
|
|
1326
|
+
|
|
1327
|
+
module.exports = function (record, fn, ITERATOR_INSTEAD_OF_RECORD) {
|
|
1328
|
+
var iterator = ITERATOR_INSTEAD_OF_RECORD ? record : record.iterator;
|
|
1329
|
+
var next = record.next;
|
|
1330
|
+
var step, result;
|
|
1331
|
+
while (!(step = call(next, iterator)).done) {
|
|
1332
|
+
result = fn(step.value);
|
|
1333
|
+
if (result !== undefined) return result;
|
|
1334
|
+
}
|
|
1335
|
+
};
|
|
1336
|
+
|
|
1337
|
+
|
|
1222
1338
|
/***/ }),
|
|
1223
1339
|
|
|
1224
1340
|
/***/ 2652:
|
|
@@ -2022,6 +2138,341 @@ module.exports = function (it) {
|
|
|
2022
2138
|
};
|
|
2023
2139
|
|
|
2024
2140
|
|
|
2141
|
+
/***/ }),
|
|
2142
|
+
|
|
2143
|
+
/***/ 9286:
|
|
2144
|
+
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
|
2145
|
+
|
|
2146
|
+
"use strict";
|
|
2147
|
+
|
|
2148
|
+
var SetHelpers = __webpack_require__(4402);
|
|
2149
|
+
var iterate = __webpack_require__(8469);
|
|
2150
|
+
|
|
2151
|
+
var Set = SetHelpers.Set;
|
|
2152
|
+
var add = SetHelpers.add;
|
|
2153
|
+
|
|
2154
|
+
module.exports = function (set) {
|
|
2155
|
+
var result = new Set();
|
|
2156
|
+
iterate(set, function (it) {
|
|
2157
|
+
add(result, it);
|
|
2158
|
+
});
|
|
2159
|
+
return result;
|
|
2160
|
+
};
|
|
2161
|
+
|
|
2162
|
+
|
|
2163
|
+
/***/ }),
|
|
2164
|
+
|
|
2165
|
+
/***/ 3440:
|
|
2166
|
+
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
|
2167
|
+
|
|
2168
|
+
"use strict";
|
|
2169
|
+
|
|
2170
|
+
var aSet = __webpack_require__(7080);
|
|
2171
|
+
var SetHelpers = __webpack_require__(4402);
|
|
2172
|
+
var clone = __webpack_require__(9286);
|
|
2173
|
+
var size = __webpack_require__(5170);
|
|
2174
|
+
var getSetRecord = __webpack_require__(3789);
|
|
2175
|
+
var iterateSet = __webpack_require__(8469);
|
|
2176
|
+
var iterateSimple = __webpack_require__(507);
|
|
2177
|
+
|
|
2178
|
+
var has = SetHelpers.has;
|
|
2179
|
+
var remove = SetHelpers.remove;
|
|
2180
|
+
|
|
2181
|
+
// `Set.prototype.difference` method
|
|
2182
|
+
// https://github.com/tc39/proposal-set-methods
|
|
2183
|
+
module.exports = function difference(other) {
|
|
2184
|
+
var O = aSet(this);
|
|
2185
|
+
var otherRec = getSetRecord(other);
|
|
2186
|
+
var result = clone(O);
|
|
2187
|
+
if (size(O) <= otherRec.size) iterateSet(O, function (e) {
|
|
2188
|
+
if (otherRec.includes(e)) remove(result, e);
|
|
2189
|
+
});
|
|
2190
|
+
else iterateSimple(otherRec.getIterator(), function (e) {
|
|
2191
|
+
if (has(O, e)) remove(result, e);
|
|
2192
|
+
});
|
|
2193
|
+
return result;
|
|
2194
|
+
};
|
|
2195
|
+
|
|
2196
|
+
|
|
2197
|
+
/***/ }),
|
|
2198
|
+
|
|
2199
|
+
/***/ 4402:
|
|
2200
|
+
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
|
2201
|
+
|
|
2202
|
+
"use strict";
|
|
2203
|
+
|
|
2204
|
+
var uncurryThis = __webpack_require__(9504);
|
|
2205
|
+
|
|
2206
|
+
// eslint-disable-next-line es/no-set -- safe
|
|
2207
|
+
var SetPrototype = Set.prototype;
|
|
2208
|
+
|
|
2209
|
+
module.exports = {
|
|
2210
|
+
// eslint-disable-next-line es/no-set -- safe
|
|
2211
|
+
Set: Set,
|
|
2212
|
+
add: uncurryThis(SetPrototype.add),
|
|
2213
|
+
has: uncurryThis(SetPrototype.has),
|
|
2214
|
+
remove: uncurryThis(SetPrototype['delete']),
|
|
2215
|
+
proto: SetPrototype
|
|
2216
|
+
};
|
|
2217
|
+
|
|
2218
|
+
|
|
2219
|
+
/***/ }),
|
|
2220
|
+
|
|
2221
|
+
/***/ 8750:
|
|
2222
|
+
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
|
2223
|
+
|
|
2224
|
+
"use strict";
|
|
2225
|
+
|
|
2226
|
+
var aSet = __webpack_require__(7080);
|
|
2227
|
+
var SetHelpers = __webpack_require__(4402);
|
|
2228
|
+
var size = __webpack_require__(5170);
|
|
2229
|
+
var getSetRecord = __webpack_require__(3789);
|
|
2230
|
+
var iterateSet = __webpack_require__(8469);
|
|
2231
|
+
var iterateSimple = __webpack_require__(507);
|
|
2232
|
+
|
|
2233
|
+
var Set = SetHelpers.Set;
|
|
2234
|
+
var add = SetHelpers.add;
|
|
2235
|
+
var has = SetHelpers.has;
|
|
2236
|
+
|
|
2237
|
+
// `Set.prototype.intersection` method
|
|
2238
|
+
// https://github.com/tc39/proposal-set-methods
|
|
2239
|
+
module.exports = function intersection(other) {
|
|
2240
|
+
var O = aSet(this);
|
|
2241
|
+
var otherRec = getSetRecord(other);
|
|
2242
|
+
var result = new Set();
|
|
2243
|
+
|
|
2244
|
+
if (size(O) > otherRec.size) {
|
|
2245
|
+
iterateSimple(otherRec.getIterator(), function (e) {
|
|
2246
|
+
if (has(O, e)) add(result, e);
|
|
2247
|
+
});
|
|
2248
|
+
} else {
|
|
2249
|
+
iterateSet(O, function (e) {
|
|
2250
|
+
if (otherRec.includes(e)) add(result, e);
|
|
2251
|
+
});
|
|
2252
|
+
}
|
|
2253
|
+
|
|
2254
|
+
return result;
|
|
2255
|
+
};
|
|
2256
|
+
|
|
2257
|
+
|
|
2258
|
+
/***/ }),
|
|
2259
|
+
|
|
2260
|
+
/***/ 4449:
|
|
2261
|
+
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
|
2262
|
+
|
|
2263
|
+
"use strict";
|
|
2264
|
+
|
|
2265
|
+
var aSet = __webpack_require__(7080);
|
|
2266
|
+
var has = (__webpack_require__(4402).has);
|
|
2267
|
+
var size = __webpack_require__(5170);
|
|
2268
|
+
var getSetRecord = __webpack_require__(3789);
|
|
2269
|
+
var iterateSet = __webpack_require__(8469);
|
|
2270
|
+
var iterateSimple = __webpack_require__(507);
|
|
2271
|
+
var iteratorClose = __webpack_require__(9539);
|
|
2272
|
+
|
|
2273
|
+
// `Set.prototype.isDisjointFrom` method
|
|
2274
|
+
// https://tc39.github.io/proposal-set-methods/#Set.prototype.isDisjointFrom
|
|
2275
|
+
module.exports = function isDisjointFrom(other) {
|
|
2276
|
+
var O = aSet(this);
|
|
2277
|
+
var otherRec = getSetRecord(other);
|
|
2278
|
+
if (size(O) <= otherRec.size) return iterateSet(O, function (e) {
|
|
2279
|
+
if (otherRec.includes(e)) return false;
|
|
2280
|
+
}, true) !== false;
|
|
2281
|
+
var iterator = otherRec.getIterator();
|
|
2282
|
+
return iterateSimple(iterator, function (e) {
|
|
2283
|
+
if (has(O, e)) return iteratorClose(iterator, 'normal', false);
|
|
2284
|
+
}) !== false;
|
|
2285
|
+
};
|
|
2286
|
+
|
|
2287
|
+
|
|
2288
|
+
/***/ }),
|
|
2289
|
+
|
|
2290
|
+
/***/ 3838:
|
|
2291
|
+
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
|
2292
|
+
|
|
2293
|
+
"use strict";
|
|
2294
|
+
|
|
2295
|
+
var aSet = __webpack_require__(7080);
|
|
2296
|
+
var size = __webpack_require__(5170);
|
|
2297
|
+
var iterate = __webpack_require__(8469);
|
|
2298
|
+
var getSetRecord = __webpack_require__(3789);
|
|
2299
|
+
|
|
2300
|
+
// `Set.prototype.isSubsetOf` method
|
|
2301
|
+
// https://tc39.github.io/proposal-set-methods/#Set.prototype.isSubsetOf
|
|
2302
|
+
module.exports = function isSubsetOf(other) {
|
|
2303
|
+
var O = aSet(this);
|
|
2304
|
+
var otherRec = getSetRecord(other);
|
|
2305
|
+
if (size(O) > otherRec.size) return false;
|
|
2306
|
+
return iterate(O, function (e) {
|
|
2307
|
+
if (!otherRec.includes(e)) return false;
|
|
2308
|
+
}, true) !== false;
|
|
2309
|
+
};
|
|
2310
|
+
|
|
2311
|
+
|
|
2312
|
+
/***/ }),
|
|
2313
|
+
|
|
2314
|
+
/***/ 8527:
|
|
2315
|
+
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
|
2316
|
+
|
|
2317
|
+
"use strict";
|
|
2318
|
+
|
|
2319
|
+
var aSet = __webpack_require__(7080);
|
|
2320
|
+
var has = (__webpack_require__(4402).has);
|
|
2321
|
+
var size = __webpack_require__(5170);
|
|
2322
|
+
var getSetRecord = __webpack_require__(3789);
|
|
2323
|
+
var iterateSimple = __webpack_require__(507);
|
|
2324
|
+
var iteratorClose = __webpack_require__(9539);
|
|
2325
|
+
|
|
2326
|
+
// `Set.prototype.isSupersetOf` method
|
|
2327
|
+
// https://tc39.github.io/proposal-set-methods/#Set.prototype.isSupersetOf
|
|
2328
|
+
module.exports = function isSupersetOf(other) {
|
|
2329
|
+
var O = aSet(this);
|
|
2330
|
+
var otherRec = getSetRecord(other);
|
|
2331
|
+
if (size(O) < otherRec.size) return false;
|
|
2332
|
+
var iterator = otherRec.getIterator();
|
|
2333
|
+
return iterateSimple(iterator, function (e) {
|
|
2334
|
+
if (!has(O, e)) return iteratorClose(iterator, 'normal', false);
|
|
2335
|
+
}) !== false;
|
|
2336
|
+
};
|
|
2337
|
+
|
|
2338
|
+
|
|
2339
|
+
/***/ }),
|
|
2340
|
+
|
|
2341
|
+
/***/ 8469:
|
|
2342
|
+
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
|
2343
|
+
|
|
2344
|
+
"use strict";
|
|
2345
|
+
|
|
2346
|
+
var uncurryThis = __webpack_require__(9504);
|
|
2347
|
+
var iterateSimple = __webpack_require__(507);
|
|
2348
|
+
var SetHelpers = __webpack_require__(4402);
|
|
2349
|
+
|
|
2350
|
+
var Set = SetHelpers.Set;
|
|
2351
|
+
var SetPrototype = SetHelpers.proto;
|
|
2352
|
+
var forEach = uncurryThis(SetPrototype.forEach);
|
|
2353
|
+
var keys = uncurryThis(SetPrototype.keys);
|
|
2354
|
+
var next = keys(new Set()).next;
|
|
2355
|
+
|
|
2356
|
+
module.exports = function (set, fn, interruptible) {
|
|
2357
|
+
return interruptible ? iterateSimple({ iterator: keys(set), next: next }, fn) : forEach(set, fn);
|
|
2358
|
+
};
|
|
2359
|
+
|
|
2360
|
+
|
|
2361
|
+
/***/ }),
|
|
2362
|
+
|
|
2363
|
+
/***/ 4916:
|
|
2364
|
+
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
|
2365
|
+
|
|
2366
|
+
"use strict";
|
|
2367
|
+
|
|
2368
|
+
var getBuiltIn = __webpack_require__(7751);
|
|
2369
|
+
|
|
2370
|
+
var createSetLike = function (size) {
|
|
2371
|
+
return {
|
|
2372
|
+
size: size,
|
|
2373
|
+
has: function () {
|
|
2374
|
+
return false;
|
|
2375
|
+
},
|
|
2376
|
+
keys: function () {
|
|
2377
|
+
return {
|
|
2378
|
+
next: function () {
|
|
2379
|
+
return { done: true };
|
|
2380
|
+
}
|
|
2381
|
+
};
|
|
2382
|
+
}
|
|
2383
|
+
};
|
|
2384
|
+
};
|
|
2385
|
+
|
|
2386
|
+
module.exports = function (name) {
|
|
2387
|
+
var Set = getBuiltIn('Set');
|
|
2388
|
+
try {
|
|
2389
|
+
new Set()[name](createSetLike(0));
|
|
2390
|
+
try {
|
|
2391
|
+
// late spec change, early WebKit ~ Safari 17.0 beta implementation does not pass it
|
|
2392
|
+
// https://github.com/tc39/proposal-set-methods/pull/88
|
|
2393
|
+
new Set()[name](createSetLike(-1));
|
|
2394
|
+
return false;
|
|
2395
|
+
} catch (error2) {
|
|
2396
|
+
return true;
|
|
2397
|
+
}
|
|
2398
|
+
} catch (error) {
|
|
2399
|
+
return false;
|
|
2400
|
+
}
|
|
2401
|
+
};
|
|
2402
|
+
|
|
2403
|
+
|
|
2404
|
+
/***/ }),
|
|
2405
|
+
|
|
2406
|
+
/***/ 5170:
|
|
2407
|
+
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
|
2408
|
+
|
|
2409
|
+
"use strict";
|
|
2410
|
+
|
|
2411
|
+
var uncurryThisAccessor = __webpack_require__(6706);
|
|
2412
|
+
var SetHelpers = __webpack_require__(4402);
|
|
2413
|
+
|
|
2414
|
+
module.exports = uncurryThisAccessor(SetHelpers.proto, 'size', 'get') || function (set) {
|
|
2415
|
+
return set.size;
|
|
2416
|
+
};
|
|
2417
|
+
|
|
2418
|
+
|
|
2419
|
+
/***/ }),
|
|
2420
|
+
|
|
2421
|
+
/***/ 3650:
|
|
2422
|
+
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
|
2423
|
+
|
|
2424
|
+
"use strict";
|
|
2425
|
+
|
|
2426
|
+
var aSet = __webpack_require__(7080);
|
|
2427
|
+
var SetHelpers = __webpack_require__(4402);
|
|
2428
|
+
var clone = __webpack_require__(9286);
|
|
2429
|
+
var getSetRecord = __webpack_require__(3789);
|
|
2430
|
+
var iterateSimple = __webpack_require__(507);
|
|
2431
|
+
|
|
2432
|
+
var add = SetHelpers.add;
|
|
2433
|
+
var has = SetHelpers.has;
|
|
2434
|
+
var remove = SetHelpers.remove;
|
|
2435
|
+
|
|
2436
|
+
// `Set.prototype.symmetricDifference` method
|
|
2437
|
+
// https://github.com/tc39/proposal-set-methods
|
|
2438
|
+
module.exports = function symmetricDifference(other) {
|
|
2439
|
+
var O = aSet(this);
|
|
2440
|
+
var keysIter = getSetRecord(other).getIterator();
|
|
2441
|
+
var result = clone(O);
|
|
2442
|
+
iterateSimple(keysIter, function (e) {
|
|
2443
|
+
if (has(O, e)) remove(result, e);
|
|
2444
|
+
else add(result, e);
|
|
2445
|
+
});
|
|
2446
|
+
return result;
|
|
2447
|
+
};
|
|
2448
|
+
|
|
2449
|
+
|
|
2450
|
+
/***/ }),
|
|
2451
|
+
|
|
2452
|
+
/***/ 4204:
|
|
2453
|
+
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
|
2454
|
+
|
|
2455
|
+
"use strict";
|
|
2456
|
+
|
|
2457
|
+
var aSet = __webpack_require__(7080);
|
|
2458
|
+
var add = (__webpack_require__(4402).add);
|
|
2459
|
+
var clone = __webpack_require__(9286);
|
|
2460
|
+
var getSetRecord = __webpack_require__(3789);
|
|
2461
|
+
var iterateSimple = __webpack_require__(507);
|
|
2462
|
+
|
|
2463
|
+
// `Set.prototype.union` method
|
|
2464
|
+
// https://github.com/tc39/proposal-set-methods
|
|
2465
|
+
module.exports = function union(other) {
|
|
2466
|
+
var O = aSet(this);
|
|
2467
|
+
var keysIter = getSetRecord(other).getIterator();
|
|
2468
|
+
var result = clone(O);
|
|
2469
|
+
iterateSimple(keysIter, function (it) {
|
|
2470
|
+
add(result, it);
|
|
2471
|
+
});
|
|
2472
|
+
return result;
|
|
2473
|
+
};
|
|
2474
|
+
|
|
2475
|
+
|
|
2025
2476
|
/***/ }),
|
|
2026
2477
|
|
|
2027
2478
|
/***/ 6119:
|
|
@@ -2632,46 +3083,178 @@ $({ target: 'Iterator', proto: true, real: true }, {
|
|
|
2632
3083
|
|
|
2633
3084
|
/***/ }),
|
|
2634
3085
|
|
|
2635
|
-
/***/
|
|
3086
|
+
/***/ 7642:
|
|
2636
3087
|
/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
|
|
2637
3088
|
|
|
2638
3089
|
"use strict";
|
|
2639
3090
|
|
|
2640
|
-
|
|
2641
|
-
__webpack_require__(
|
|
3091
|
+
var $ = __webpack_require__(6518);
|
|
3092
|
+
var difference = __webpack_require__(3440);
|
|
3093
|
+
var setMethodAcceptSetLike = __webpack_require__(4916);
|
|
3094
|
+
|
|
3095
|
+
// `Set.prototype.difference` method
|
|
3096
|
+
// https://tc39.es/ecma262/#sec-set.prototype.difference
|
|
3097
|
+
$({ target: 'Set', proto: true, real: true, forced: !setMethodAcceptSetLike('difference') }, {
|
|
3098
|
+
difference: difference
|
|
3099
|
+
});
|
|
2642
3100
|
|
|
2643
3101
|
|
|
2644
3102
|
/***/ }),
|
|
2645
3103
|
|
|
2646
|
-
/***/
|
|
3104
|
+
/***/ 8004:
|
|
2647
3105
|
/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
|
|
2648
3106
|
|
|
2649
3107
|
"use strict";
|
|
2650
3108
|
|
|
2651
|
-
|
|
2652
|
-
__webpack_require__(
|
|
3109
|
+
var $ = __webpack_require__(6518);
|
|
3110
|
+
var fails = __webpack_require__(9039);
|
|
3111
|
+
var intersection = __webpack_require__(8750);
|
|
3112
|
+
var setMethodAcceptSetLike = __webpack_require__(4916);
|
|
3113
|
+
|
|
3114
|
+
var INCORRECT = !setMethodAcceptSetLike('intersection') || fails(function () {
|
|
3115
|
+
// eslint-disable-next-line es/no-array-from, es/no-set -- testing
|
|
3116
|
+
return String(Array.from(new Set([1, 2, 3]).intersection(new Set([3, 2])))) !== '3,2';
|
|
3117
|
+
});
|
|
3118
|
+
|
|
3119
|
+
// `Set.prototype.intersection` method
|
|
3120
|
+
// https://tc39.es/ecma262/#sec-set.prototype.intersection
|
|
3121
|
+
$({ target: 'Set', proto: true, real: true, forced: INCORRECT }, {
|
|
3122
|
+
intersection: intersection
|
|
3123
|
+
});
|
|
2653
3124
|
|
|
2654
3125
|
|
|
2655
3126
|
/***/ }),
|
|
2656
3127
|
|
|
2657
|
-
/***/
|
|
3128
|
+
/***/ 3853:
|
|
2658
3129
|
/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
|
|
2659
3130
|
|
|
2660
3131
|
"use strict";
|
|
2661
3132
|
|
|
2662
|
-
|
|
2663
|
-
__webpack_require__(
|
|
3133
|
+
var $ = __webpack_require__(6518);
|
|
3134
|
+
var isDisjointFrom = __webpack_require__(4449);
|
|
3135
|
+
var setMethodAcceptSetLike = __webpack_require__(4916);
|
|
3136
|
+
|
|
3137
|
+
// `Set.prototype.isDisjointFrom` method
|
|
3138
|
+
// https://tc39.es/ecma262/#sec-set.prototype.isdisjointfrom
|
|
3139
|
+
$({ target: 'Set', proto: true, real: true, forced: !setMethodAcceptSetLike('isDisjointFrom') }, {
|
|
3140
|
+
isDisjointFrom: isDisjointFrom
|
|
3141
|
+
});
|
|
2664
3142
|
|
|
2665
3143
|
|
|
2666
3144
|
/***/ }),
|
|
2667
3145
|
|
|
2668
|
-
/***/
|
|
3146
|
+
/***/ 5876:
|
|
2669
3147
|
/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
|
|
2670
3148
|
|
|
2671
3149
|
"use strict";
|
|
2672
3150
|
|
|
2673
|
-
|
|
2674
|
-
__webpack_require__(
|
|
3151
|
+
var $ = __webpack_require__(6518);
|
|
3152
|
+
var isSubsetOf = __webpack_require__(3838);
|
|
3153
|
+
var setMethodAcceptSetLike = __webpack_require__(4916);
|
|
3154
|
+
|
|
3155
|
+
// `Set.prototype.isSubsetOf` method
|
|
3156
|
+
// https://tc39.es/ecma262/#sec-set.prototype.issubsetof
|
|
3157
|
+
$({ target: 'Set', proto: true, real: true, forced: !setMethodAcceptSetLike('isSubsetOf') }, {
|
|
3158
|
+
isSubsetOf: isSubsetOf
|
|
3159
|
+
});
|
|
3160
|
+
|
|
3161
|
+
|
|
3162
|
+
/***/ }),
|
|
3163
|
+
|
|
3164
|
+
/***/ 2475:
|
|
3165
|
+
/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
|
|
3166
|
+
|
|
3167
|
+
"use strict";
|
|
3168
|
+
|
|
3169
|
+
var $ = __webpack_require__(6518);
|
|
3170
|
+
var isSupersetOf = __webpack_require__(8527);
|
|
3171
|
+
var setMethodAcceptSetLike = __webpack_require__(4916);
|
|
3172
|
+
|
|
3173
|
+
// `Set.prototype.isSupersetOf` method
|
|
3174
|
+
// https://tc39.es/ecma262/#sec-set.prototype.issupersetof
|
|
3175
|
+
$({ target: 'Set', proto: true, real: true, forced: !setMethodAcceptSetLike('isSupersetOf') }, {
|
|
3176
|
+
isSupersetOf: isSupersetOf
|
|
3177
|
+
});
|
|
3178
|
+
|
|
3179
|
+
|
|
3180
|
+
/***/ }),
|
|
3181
|
+
|
|
3182
|
+
/***/ 5024:
|
|
3183
|
+
/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
|
|
3184
|
+
|
|
3185
|
+
"use strict";
|
|
3186
|
+
|
|
3187
|
+
var $ = __webpack_require__(6518);
|
|
3188
|
+
var symmetricDifference = __webpack_require__(3650);
|
|
3189
|
+
var setMethodAcceptSetLike = __webpack_require__(4916);
|
|
3190
|
+
|
|
3191
|
+
// `Set.prototype.symmetricDifference` method
|
|
3192
|
+
// https://tc39.es/ecma262/#sec-set.prototype.symmetricdifference
|
|
3193
|
+
$({ target: 'Set', proto: true, real: true, forced: !setMethodAcceptSetLike('symmetricDifference') }, {
|
|
3194
|
+
symmetricDifference: symmetricDifference
|
|
3195
|
+
});
|
|
3196
|
+
|
|
3197
|
+
|
|
3198
|
+
/***/ }),
|
|
3199
|
+
|
|
3200
|
+
/***/ 1698:
|
|
3201
|
+
/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
|
|
3202
|
+
|
|
3203
|
+
"use strict";
|
|
3204
|
+
|
|
3205
|
+
var $ = __webpack_require__(6518);
|
|
3206
|
+
var union = __webpack_require__(4204);
|
|
3207
|
+
var setMethodAcceptSetLike = __webpack_require__(4916);
|
|
3208
|
+
|
|
3209
|
+
// `Set.prototype.union` method
|
|
3210
|
+
// https://tc39.es/ecma262/#sec-set.prototype.union
|
|
3211
|
+
$({ target: 'Set', proto: true, real: true, forced: !setMethodAcceptSetLike('union') }, {
|
|
3212
|
+
union: union
|
|
3213
|
+
});
|
|
3214
|
+
|
|
3215
|
+
|
|
3216
|
+
/***/ }),
|
|
3217
|
+
|
|
3218
|
+
/***/ 8992:
|
|
3219
|
+
/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
|
|
3220
|
+
|
|
3221
|
+
"use strict";
|
|
3222
|
+
|
|
3223
|
+
// TODO: Remove from `core-js@4`
|
|
3224
|
+
__webpack_require__(8111);
|
|
3225
|
+
|
|
3226
|
+
|
|
3227
|
+
/***/ }),
|
|
3228
|
+
|
|
3229
|
+
/***/ 4520:
|
|
3230
|
+
/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
|
|
3231
|
+
|
|
3232
|
+
"use strict";
|
|
3233
|
+
|
|
3234
|
+
// TODO: Remove from `core-js@4`
|
|
3235
|
+
__webpack_require__(2489);
|
|
3236
|
+
|
|
3237
|
+
|
|
3238
|
+
/***/ }),
|
|
3239
|
+
|
|
3240
|
+
/***/ 3949:
|
|
3241
|
+
/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
|
|
3242
|
+
|
|
3243
|
+
"use strict";
|
|
3244
|
+
|
|
3245
|
+
// TODO: Remove from `core-js@4`
|
|
3246
|
+
__webpack_require__(7588);
|
|
3247
|
+
|
|
3248
|
+
|
|
3249
|
+
/***/ }),
|
|
3250
|
+
|
|
3251
|
+
/***/ 1454:
|
|
3252
|
+
/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
|
|
3253
|
+
|
|
3254
|
+
"use strict";
|
|
3255
|
+
|
|
3256
|
+
// TODO: Remove from `core-js@4`
|
|
3257
|
+
__webpack_require__(1701);
|
|
2675
3258
|
|
|
2676
3259
|
|
|
2677
3260
|
/***/ }),
|
|
@@ -2782,7 +3365,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
2782
3365
|
// EXPORTS
|
|
2783
3366
|
__webpack_require__.d(__webpack_exports__, {
|
|
2784
3367
|
"default": function() { return /* binding */ entry_lib; },
|
|
2785
|
-
ganttChart: function() { return /* reexport */
|
|
3368
|
+
ganttChart: function() { return /* reexport */ GanttElastic_standalone; }
|
|
2786
3369
|
});
|
|
2787
3370
|
|
|
2788
3371
|
;// ./node_modules/@vue/cli-service/lib/commands/build/setPublicPath.js
|
|
@@ -2802,8 +3385,34 @@ if (typeof window !== 'undefined') {
|
|
|
2802
3385
|
// Indicate to webpack that this file can be concatenated
|
|
2803
3386
|
/* harmony default export */ var setPublicPath = (null);
|
|
2804
3387
|
|
|
2805
|
-
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-83.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/
|
|
3388
|
+
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-83.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
|
|
2806
3389
|
var render = function render() {
|
|
3390
|
+
var _vm = this,
|
|
3391
|
+
_c = _vm._self._c;
|
|
3392
|
+
return _c('gantt-elastic', {
|
|
3393
|
+
attrs: {
|
|
3394
|
+
"tasks": _vm.tasks,
|
|
3395
|
+
"options": _vm.options,
|
|
3396
|
+
"dynamicStyle": _vm.dynamicStyle
|
|
3397
|
+
}
|
|
3398
|
+
}, [_vm.components.header ? _c(_vm.components.header, {
|
|
3399
|
+
tag: "component",
|
|
3400
|
+
attrs: {
|
|
3401
|
+
"slot": "header"
|
|
3402
|
+
},
|
|
3403
|
+
slot: "header"
|
|
3404
|
+
}) : _vm._e(), _vm.components.footer ? _c(_vm.components.footer, {
|
|
3405
|
+
tag: "component",
|
|
3406
|
+
attrs: {
|
|
3407
|
+
"slot": "footer"
|
|
3408
|
+
},
|
|
3409
|
+
slot: "footer"
|
|
3410
|
+
}) : _vm._e()], 1);
|
|
3411
|
+
};
|
|
3412
|
+
var staticRenderFns = [];
|
|
3413
|
+
|
|
3414
|
+
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-83.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
|
|
3415
|
+
var GanttElasticvue_type_template_id_2767341e_render = function render() {
|
|
2807
3416
|
var _vm = this,
|
|
2808
3417
|
_c = _vm._self._c,
|
|
2809
3418
|
_setup = _vm._self._setupProxy;
|
|
@@ -2817,14 +3426,36 @@ var render = function render() {
|
|
|
2817
3426
|
"slot": "header"
|
|
2818
3427
|
},
|
|
2819
3428
|
slot: "header"
|
|
2820
|
-
}) : _vm._e(),
|
|
3429
|
+
}) : _vm._e(), _c('gantt-view-filter', {
|
|
3430
|
+
attrs: {
|
|
3431
|
+
"slot": "header"
|
|
3432
|
+
},
|
|
3433
|
+
on: {
|
|
3434
|
+
"view-mode-changed": _vm.onViewModeChanged
|
|
3435
|
+
},
|
|
3436
|
+
slot: "header"
|
|
3437
|
+
}), _vm._t("header"), _c('main-view', {
|
|
2821
3438
|
ref: "mainView"
|
|
2822
3439
|
}), _vm._t("footer")], 2);
|
|
2823
3440
|
};
|
|
2824
|
-
var
|
|
3441
|
+
var GanttElasticvue_type_template_id_2767341e_staticRenderFns = [];
|
|
2825
3442
|
|
|
2826
3443
|
// EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.push.js
|
|
2827
3444
|
var es_array_push = __webpack_require__(4114);
|
|
3445
|
+
// EXTERNAL MODULE: ./node_modules/core-js/modules/es.set.difference.v2.js
|
|
3446
|
+
var es_set_difference_v2 = __webpack_require__(7642);
|
|
3447
|
+
// EXTERNAL MODULE: ./node_modules/core-js/modules/es.set.intersection.v2.js
|
|
3448
|
+
var es_set_intersection_v2 = __webpack_require__(8004);
|
|
3449
|
+
// EXTERNAL MODULE: ./node_modules/core-js/modules/es.set.is-disjoint-from.v2.js
|
|
3450
|
+
var es_set_is_disjoint_from_v2 = __webpack_require__(3853);
|
|
3451
|
+
// EXTERNAL MODULE: ./node_modules/core-js/modules/es.set.is-subset-of.v2.js
|
|
3452
|
+
var es_set_is_subset_of_v2 = __webpack_require__(5876);
|
|
3453
|
+
// EXTERNAL MODULE: ./node_modules/core-js/modules/es.set.is-superset-of.v2.js
|
|
3454
|
+
var es_set_is_superset_of_v2 = __webpack_require__(2475);
|
|
3455
|
+
// EXTERNAL MODULE: ./node_modules/core-js/modules/es.set.symmetric-difference.v2.js
|
|
3456
|
+
var es_set_symmetric_difference_v2 = __webpack_require__(5024);
|
|
3457
|
+
// EXTERNAL MODULE: ./node_modules/core-js/modules/es.set.union.v2.js
|
|
3458
|
+
var es_set_union_v2 = __webpack_require__(1698);
|
|
2828
3459
|
// EXTERNAL MODULE: ./node_modules/core-js/modules/esnext.iterator.constructor.js
|
|
2829
3460
|
var esnext_iterator_constructor = __webpack_require__(8992);
|
|
2830
3461
|
// EXTERNAL MODULE: ./node_modules/core-js/modules/esnext.iterator.filter.js
|
|
@@ -2838,8 +3469,220 @@ var esnext_iterator_reduce = __webpack_require__(8872);
|
|
|
2838
3469
|
// EXTERNAL MODULE: ./node_modules/dayjs/dayjs.min.js
|
|
2839
3470
|
var dayjs_min = __webpack_require__(4353);
|
|
2840
3471
|
var dayjs_min_default = /*#__PURE__*/__webpack_require__.n(dayjs_min);
|
|
2841
|
-
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-83.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/
|
|
2842
|
-
var
|
|
3472
|
+
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-83.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
|
|
3473
|
+
var GanttViewFiltervue_type_template_id_f4bb58fc_scoped_true_render = function render() {
|
|
3474
|
+
var _vm = this,
|
|
3475
|
+
_c = _vm._self._c;
|
|
3476
|
+
return _c('div', {
|
|
3477
|
+
staticClass: "gantt-view-filter"
|
|
3478
|
+
}, [_c('div', {
|
|
3479
|
+
staticClass: "view-toggle-group"
|
|
3480
|
+
}, [_c('button', {
|
|
3481
|
+
staticClass: "view-toggle-btn",
|
|
3482
|
+
class: {
|
|
3483
|
+
active: _vm.viewMode === 'day'
|
|
3484
|
+
},
|
|
3485
|
+
on: {
|
|
3486
|
+
"click": function ($event) {
|
|
3487
|
+
return _vm.changeViewMode('day');
|
|
3488
|
+
}
|
|
3489
|
+
}
|
|
3490
|
+
}, [_c('span', {
|
|
3491
|
+
staticClass: "view-icon"
|
|
3492
|
+
}, [_vm._v("📅")]), _c('span', {
|
|
3493
|
+
staticClass: "view-label"
|
|
3494
|
+
}, [_vm._v("Day")])]), _c('button', {
|
|
3495
|
+
staticClass: "view-toggle-btn",
|
|
3496
|
+
class: {
|
|
3497
|
+
active: _vm.viewMode === 'week'
|
|
3498
|
+
},
|
|
3499
|
+
on: {
|
|
3500
|
+
"click": function ($event) {
|
|
3501
|
+
return _vm.changeViewMode('week');
|
|
3502
|
+
}
|
|
3503
|
+
}
|
|
3504
|
+
}, [_c('span', {
|
|
3505
|
+
staticClass: "view-icon"
|
|
3506
|
+
}, [_vm._v("📊")]), _c('span', {
|
|
3507
|
+
staticClass: "view-label"
|
|
3508
|
+
}, [_vm._v("Week")])]), _c('button', {
|
|
3509
|
+
staticClass: "view-toggle-btn",
|
|
3510
|
+
class: {
|
|
3511
|
+
active: _vm.viewMode === 'month'
|
|
3512
|
+
},
|
|
3513
|
+
on: {
|
|
3514
|
+
"click": function ($event) {
|
|
3515
|
+
return _vm.changeViewMode('month');
|
|
3516
|
+
}
|
|
3517
|
+
}
|
|
3518
|
+
}, [_c('span', {
|
|
3519
|
+
staticClass: "view-icon"
|
|
3520
|
+
}, [_vm._v("🗓️")]), _c('span', {
|
|
3521
|
+
staticClass: "view-label"
|
|
3522
|
+
}, [_vm._v("Month")])]), _c('button', {
|
|
3523
|
+
staticClass: "view-toggle-btn",
|
|
3524
|
+
class: {
|
|
3525
|
+
active: _vm.viewMode === 'quarter'
|
|
3526
|
+
},
|
|
3527
|
+
on: {
|
|
3528
|
+
"click": function ($event) {
|
|
3529
|
+
return _vm.changeViewMode('quarter');
|
|
3530
|
+
}
|
|
3531
|
+
}
|
|
3532
|
+
}, [_c('span', {
|
|
3533
|
+
staticClass: "view-icon"
|
|
3534
|
+
}, [_vm._v("📈")]), _c('span', {
|
|
3535
|
+
staticClass: "view-label"
|
|
3536
|
+
}, [_vm._v("Quarter")])])])]);
|
|
3537
|
+
};
|
|
3538
|
+
var GanttViewFiltervue_type_template_id_f4bb58fc_scoped_true_staticRenderFns = [];
|
|
3539
|
+
|
|
3540
|
+
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-83.use[1]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/Header/GanttViewFilter.vue?vue&type=script&lang=js
|
|
3541
|
+
/* harmony default export */ var GanttViewFiltervue_type_script_lang_js = ({
|
|
3542
|
+
name: 'GanttViewFilter',
|
|
3543
|
+
data() {
|
|
3544
|
+
return {
|
|
3545
|
+
viewMode: 'day' // default view mode
|
|
3546
|
+
};
|
|
3547
|
+
},
|
|
3548
|
+
methods: {
|
|
3549
|
+
changeViewMode(mode) {
|
|
3550
|
+
// eslint-disable-next-line no-debugger
|
|
3551
|
+
debugger;
|
|
3552
|
+
this.viewMode = mode;
|
|
3553
|
+
// Emit an event to the parent component (App.vue) so it can update the Gantt chart
|
|
3554
|
+
this.$emit('view-mode-changed', mode);
|
|
3555
|
+
}
|
|
3556
|
+
}
|
|
3557
|
+
});
|
|
3558
|
+
;// ./src/components/Header/GanttViewFilter.vue?vue&type=script&lang=js
|
|
3559
|
+
/* harmony default export */ var Header_GanttViewFiltervue_type_script_lang_js = (GanttViewFiltervue_type_script_lang_js);
|
|
3560
|
+
;// ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-55.use[0]!./node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??clonedRuleSet-55.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-55.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
|
|
3561
|
+
// extracted by mini-css-extract-plugin
|
|
3562
|
+
|
|
3563
|
+
;// ./src/components/Header/GanttViewFilter.vue?vue&type=style&index=0&id=f4bb58fc&prod&scoped=true&lang=css
|
|
3564
|
+
|
|
3565
|
+
;// ./node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js
|
|
3566
|
+
/* globals __VUE_SSR_CONTEXT__ */
|
|
3567
|
+
|
|
3568
|
+
// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).
|
|
3569
|
+
// This module is a runtime utility for cleaner component module output and will
|
|
3570
|
+
// be included in the final webpack user bundle.
|
|
3571
|
+
|
|
3572
|
+
function normalizeComponent(
|
|
3573
|
+
scriptExports,
|
|
3574
|
+
render,
|
|
3575
|
+
staticRenderFns,
|
|
3576
|
+
functionalTemplate,
|
|
3577
|
+
injectStyles,
|
|
3578
|
+
scopeId,
|
|
3579
|
+
moduleIdentifier /* server only */,
|
|
3580
|
+
shadowMode /* vue-cli only */
|
|
3581
|
+
) {
|
|
3582
|
+
// Vue.extend constructor export interop
|
|
3583
|
+
var options =
|
|
3584
|
+
typeof scriptExports === 'function' ? scriptExports.options : scriptExports
|
|
3585
|
+
|
|
3586
|
+
// render functions
|
|
3587
|
+
if (render) {
|
|
3588
|
+
options.render = render
|
|
3589
|
+
options.staticRenderFns = staticRenderFns
|
|
3590
|
+
options._compiled = true
|
|
3591
|
+
}
|
|
3592
|
+
|
|
3593
|
+
// functional template
|
|
3594
|
+
if (functionalTemplate) {
|
|
3595
|
+
options.functional = true
|
|
3596
|
+
}
|
|
3597
|
+
|
|
3598
|
+
// scopedId
|
|
3599
|
+
if (scopeId) {
|
|
3600
|
+
options._scopeId = 'data-v-' + scopeId
|
|
3601
|
+
}
|
|
3602
|
+
|
|
3603
|
+
var hook
|
|
3604
|
+
if (moduleIdentifier) {
|
|
3605
|
+
// server build
|
|
3606
|
+
hook = function (context) {
|
|
3607
|
+
// 2.3 injection
|
|
3608
|
+
context =
|
|
3609
|
+
context || // cached call
|
|
3610
|
+
(this.$vnode && this.$vnode.ssrContext) || // stateful
|
|
3611
|
+
(this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional
|
|
3612
|
+
// 2.2 with runInNewContext: true
|
|
3613
|
+
if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {
|
|
3614
|
+
context = __VUE_SSR_CONTEXT__
|
|
3615
|
+
}
|
|
3616
|
+
// inject component styles
|
|
3617
|
+
if (injectStyles) {
|
|
3618
|
+
injectStyles.call(this, context)
|
|
3619
|
+
}
|
|
3620
|
+
// register component module identifier for async chunk inferrence
|
|
3621
|
+
if (context && context._registeredComponents) {
|
|
3622
|
+
context._registeredComponents.add(moduleIdentifier)
|
|
3623
|
+
}
|
|
3624
|
+
}
|
|
3625
|
+
// used by ssr in case component is cached and beforeCreate
|
|
3626
|
+
// never gets called
|
|
3627
|
+
options._ssrRegister = hook
|
|
3628
|
+
} else if (injectStyles) {
|
|
3629
|
+
hook = shadowMode
|
|
3630
|
+
? function () {
|
|
3631
|
+
injectStyles.call(
|
|
3632
|
+
this,
|
|
3633
|
+
(options.functional ? this.parent : this).$root.$options.shadowRoot
|
|
3634
|
+
)
|
|
3635
|
+
}
|
|
3636
|
+
: injectStyles
|
|
3637
|
+
}
|
|
3638
|
+
|
|
3639
|
+
if (hook) {
|
|
3640
|
+
if (options.functional) {
|
|
3641
|
+
// for template-only hot-reload because in that case the render fn doesn't
|
|
3642
|
+
// go through the normalizer
|
|
3643
|
+
options._injectStyles = hook
|
|
3644
|
+
// register for functional component in vue file
|
|
3645
|
+
var originalRender = options.render
|
|
3646
|
+
options.render = function renderWithStyleInjection(h, context) {
|
|
3647
|
+
hook.call(context)
|
|
3648
|
+
return originalRender(h, context)
|
|
3649
|
+
}
|
|
3650
|
+
} else {
|
|
3651
|
+
// inject component registration as beforeCreate hook
|
|
3652
|
+
var existing = options.beforeCreate
|
|
3653
|
+
options.beforeCreate = existing ? [].concat(existing, hook) : [hook]
|
|
3654
|
+
}
|
|
3655
|
+
}
|
|
3656
|
+
|
|
3657
|
+
return {
|
|
3658
|
+
exports: scriptExports,
|
|
3659
|
+
options: options
|
|
3660
|
+
}
|
|
3661
|
+
}
|
|
3662
|
+
|
|
3663
|
+
;// ./src/components/Header/GanttViewFilter.vue
|
|
3664
|
+
|
|
3665
|
+
|
|
3666
|
+
|
|
3667
|
+
;
|
|
3668
|
+
|
|
3669
|
+
|
|
3670
|
+
/* normalize component */
|
|
3671
|
+
|
|
3672
|
+
var component = normalizeComponent(
|
|
3673
|
+
Header_GanttViewFiltervue_type_script_lang_js,
|
|
3674
|
+
GanttViewFiltervue_type_template_id_f4bb58fc_scoped_true_render,
|
|
3675
|
+
GanttViewFiltervue_type_template_id_f4bb58fc_scoped_true_staticRenderFns,
|
|
3676
|
+
false,
|
|
3677
|
+
null,
|
|
3678
|
+
"f4bb58fc",
|
|
3679
|
+
null
|
|
3680
|
+
|
|
3681
|
+
)
|
|
3682
|
+
|
|
3683
|
+
/* harmony default export */ var GanttViewFilter = (component.exports);
|
|
3684
|
+
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-83.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
|
|
3685
|
+
var MainViewvue_type_template_id_1a4b756c_render = function render() {
|
|
2843
3686
|
var _vm = this,
|
|
2844
3687
|
_c = _vm._self._c;
|
|
2845
3688
|
return _c('div', {
|
|
@@ -2944,10 +3787,10 @@ var MainViewvue_type_template_id_5e6f381a_render = function render() {
|
|
|
2944
3787
|
}
|
|
2945
3788
|
})])]);
|
|
2946
3789
|
};
|
|
2947
|
-
var
|
|
3790
|
+
var MainViewvue_type_template_id_1a4b756c_staticRenderFns = [];
|
|
2948
3791
|
|
|
2949
|
-
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-83.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/
|
|
2950
|
-
var
|
|
3792
|
+
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-83.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
|
|
3793
|
+
var TaskListvue_type_template_id_74ce1216_render = function render() {
|
|
2951
3794
|
var _vm = this,
|
|
2952
3795
|
_c = _vm._self._c;
|
|
2953
3796
|
return _c('div', {
|
|
@@ -2986,10 +3829,10 @@ var TaskListvue_type_template_id_088baa0d_render = function render() {
|
|
|
2986
3829
|
});
|
|
2987
3830
|
}), 1)], 1)]);
|
|
2988
3831
|
};
|
|
2989
|
-
var
|
|
3832
|
+
var TaskListvue_type_template_id_74ce1216_staticRenderFns = [];
|
|
2990
3833
|
|
|
2991
|
-
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-83.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/
|
|
2992
|
-
var
|
|
3834
|
+
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-83.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
|
|
3835
|
+
var TaskListHeadervue_type_template_id_2ecc0032_render = function render() {
|
|
2993
3836
|
var _vm = this,
|
|
2994
3837
|
_c = _vm._self._c;
|
|
2995
3838
|
return _c('div', {
|
|
@@ -3037,10 +3880,10 @@ var TaskListHeadervue_type_template_id_8ade0cf0_render = function render() {
|
|
|
3037
3880
|
}), 0)])], 1);
|
|
3038
3881
|
}), 0);
|
|
3039
3882
|
};
|
|
3040
|
-
var
|
|
3883
|
+
var TaskListHeadervue_type_template_id_2ecc0032_staticRenderFns = [];
|
|
3041
3884
|
|
|
3042
|
-
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-83.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/
|
|
3043
|
-
var
|
|
3885
|
+
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-83.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
|
|
3886
|
+
var Expandervue_type_template_id_ac398cf4_render = function render() {
|
|
3044
3887
|
var _vm = this,
|
|
3045
3888
|
_c = _vm._self._c;
|
|
3046
3889
|
return _c('div', {
|
|
@@ -3056,52 +3899,30 @@ var Expandervue_type_template_id_41972c7c_render = function render() {
|
|
|
3056
3899
|
},
|
|
3057
3900
|
attrs: {
|
|
3058
3901
|
"width": _vm.options.size,
|
|
3059
|
-
"height": _vm.options.size
|
|
3902
|
+
"height": _vm.options.size,
|
|
3903
|
+
"viewBox": "0 0 16 16"
|
|
3060
3904
|
},
|
|
3061
3905
|
on: {
|
|
3062
3906
|
"click": _vm.toggle
|
|
3063
3907
|
}
|
|
3064
|
-
}, [_c('
|
|
3065
|
-
class: _vm.getClassPrefix() + '-
|
|
3066
|
-
style: {
|
|
3067
|
-
..._vm.root.style[_vm.getClassPrefix(false) + '-border'],
|
|
3068
|
-
..._vm.borderStyle
|
|
3069
|
-
},
|
|
3070
|
-
attrs: {
|
|
3071
|
-
"x": _vm.border,
|
|
3072
|
-
"y": _vm.border,
|
|
3073
|
-
"width": _vm.options.size - _vm.border * 2,
|
|
3074
|
-
"height": _vm.options.size - _vm.border * 2,
|
|
3075
|
-
"rx": "2",
|
|
3076
|
-
"ry": "2"
|
|
3077
|
-
}
|
|
3078
|
-
}), _vm.allChildren.length ? _c('line', {
|
|
3079
|
-
class: _vm.getClassPrefix() + '-line',
|
|
3908
|
+
}, [_c('path', {
|
|
3909
|
+
class: _vm.getClassPrefix() + '-arrow',
|
|
3080
3910
|
style: {
|
|
3081
|
-
..._vm.root.style[_vm.getClassPrefix(false) + '-
|
|
3911
|
+
..._vm.root.style[_vm.getClassPrefix(false) + '-arrow']
|
|
3082
3912
|
},
|
|
3083
3913
|
attrs: {
|
|
3084
|
-
"
|
|
3085
|
-
"
|
|
3086
|
-
"
|
|
3087
|
-
"
|
|
3914
|
+
"d": _vm.collapsed ? 'M6 4 L10 8 L6 12' : 'M4 6 L8 10 L12 6',
|
|
3915
|
+
"fill": "none",
|
|
3916
|
+
"stroke": "currentColor",
|
|
3917
|
+
"stroke-width": "2",
|
|
3918
|
+
"stroke-linecap": "round",
|
|
3919
|
+
"stroke-linejoin": "round"
|
|
3088
3920
|
}
|
|
3089
|
-
}) : _vm._e()
|
|
3090
|
-
class: _vm.getClassPrefix() + '-line',
|
|
3091
|
-
style: {
|
|
3092
|
-
..._vm.root.style[_vm.getClassPrefix(false) + '-line']
|
|
3093
|
-
},
|
|
3094
|
-
attrs: {
|
|
3095
|
-
"x1": _vm.options.size / 2,
|
|
3096
|
-
"y1": _vm.lineOffset,
|
|
3097
|
-
"x2": _vm.options.size / 2,
|
|
3098
|
-
"y2": _vm.options.size - _vm.lineOffset
|
|
3099
|
-
}
|
|
3100
|
-
}) : _vm._e()]) : _vm._e()]);
|
|
3921
|
+
})]) : _vm._e()]);
|
|
3101
3922
|
};
|
|
3102
|
-
var
|
|
3923
|
+
var Expandervue_type_template_id_ac398cf4_staticRenderFns = [];
|
|
3103
3924
|
|
|
3104
|
-
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-83.use[1]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/
|
|
3925
|
+
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-83.use[1]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/Expander.vue?vue&type=script&lang=js
|
|
3105
3926
|
|
|
3106
3927
|
|
|
3107
3928
|
|
|
@@ -3183,110 +4004,16 @@ var Expandervue_type_template_id_41972c7c_staticRenderFns = [];
|
|
|
3183
4004
|
this.tasks.forEach(task => {
|
|
3184
4005
|
task.collapsed = collapsed;
|
|
3185
4006
|
});
|
|
4007
|
+
|
|
4008
|
+
// Force reactivity update
|
|
4009
|
+
this.$forceUpdate();
|
|
4010
|
+
this.root.$forceUpdate();
|
|
3186
4011
|
}
|
|
3187
4012
|
}
|
|
3188
4013
|
});
|
|
3189
|
-
;// ./src/components/
|
|
4014
|
+
;// ./src/components/Expander.vue?vue&type=script&lang=js
|
|
3190
4015
|
/* harmony default export */ var components_Expandervue_type_script_lang_js = (Expandervue_type_script_lang_js);
|
|
3191
|
-
;// ./
|
|
3192
|
-
/* globals __VUE_SSR_CONTEXT__ */
|
|
3193
|
-
|
|
3194
|
-
// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).
|
|
3195
|
-
// This module is a runtime utility for cleaner component module output and will
|
|
3196
|
-
// be included in the final webpack user bundle.
|
|
3197
|
-
|
|
3198
|
-
function normalizeComponent(
|
|
3199
|
-
scriptExports,
|
|
3200
|
-
render,
|
|
3201
|
-
staticRenderFns,
|
|
3202
|
-
functionalTemplate,
|
|
3203
|
-
injectStyles,
|
|
3204
|
-
scopeId,
|
|
3205
|
-
moduleIdentifier /* server only */,
|
|
3206
|
-
shadowMode /* vue-cli only */
|
|
3207
|
-
) {
|
|
3208
|
-
// Vue.extend constructor export interop
|
|
3209
|
-
var options =
|
|
3210
|
-
typeof scriptExports === 'function' ? scriptExports.options : scriptExports
|
|
3211
|
-
|
|
3212
|
-
// render functions
|
|
3213
|
-
if (render) {
|
|
3214
|
-
options.render = render
|
|
3215
|
-
options.staticRenderFns = staticRenderFns
|
|
3216
|
-
options._compiled = true
|
|
3217
|
-
}
|
|
3218
|
-
|
|
3219
|
-
// functional template
|
|
3220
|
-
if (functionalTemplate) {
|
|
3221
|
-
options.functional = true
|
|
3222
|
-
}
|
|
3223
|
-
|
|
3224
|
-
// scopedId
|
|
3225
|
-
if (scopeId) {
|
|
3226
|
-
options._scopeId = 'data-v-' + scopeId
|
|
3227
|
-
}
|
|
3228
|
-
|
|
3229
|
-
var hook
|
|
3230
|
-
if (moduleIdentifier) {
|
|
3231
|
-
// server build
|
|
3232
|
-
hook = function (context) {
|
|
3233
|
-
// 2.3 injection
|
|
3234
|
-
context =
|
|
3235
|
-
context || // cached call
|
|
3236
|
-
(this.$vnode && this.$vnode.ssrContext) || // stateful
|
|
3237
|
-
(this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional
|
|
3238
|
-
// 2.2 with runInNewContext: true
|
|
3239
|
-
if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {
|
|
3240
|
-
context = __VUE_SSR_CONTEXT__
|
|
3241
|
-
}
|
|
3242
|
-
// inject component styles
|
|
3243
|
-
if (injectStyles) {
|
|
3244
|
-
injectStyles.call(this, context)
|
|
3245
|
-
}
|
|
3246
|
-
// register component module identifier for async chunk inferrence
|
|
3247
|
-
if (context && context._registeredComponents) {
|
|
3248
|
-
context._registeredComponents.add(moduleIdentifier)
|
|
3249
|
-
}
|
|
3250
|
-
}
|
|
3251
|
-
// used by ssr in case component is cached and beforeCreate
|
|
3252
|
-
// never gets called
|
|
3253
|
-
options._ssrRegister = hook
|
|
3254
|
-
} else if (injectStyles) {
|
|
3255
|
-
hook = shadowMode
|
|
3256
|
-
? function () {
|
|
3257
|
-
injectStyles.call(
|
|
3258
|
-
this,
|
|
3259
|
-
(options.functional ? this.parent : this).$root.$options.shadowRoot
|
|
3260
|
-
)
|
|
3261
|
-
}
|
|
3262
|
-
: injectStyles
|
|
3263
|
-
}
|
|
3264
|
-
|
|
3265
|
-
if (hook) {
|
|
3266
|
-
if (options.functional) {
|
|
3267
|
-
// for template-only hot-reload because in that case the render fn doesn't
|
|
3268
|
-
// go through the normalizer
|
|
3269
|
-
options._injectStyles = hook
|
|
3270
|
-
// register for functional component in vue file
|
|
3271
|
-
var originalRender = options.render
|
|
3272
|
-
options.render = function renderWithStyleInjection(h, context) {
|
|
3273
|
-
hook.call(context)
|
|
3274
|
-
return originalRender(h, context)
|
|
3275
|
-
}
|
|
3276
|
-
} else {
|
|
3277
|
-
// inject component registration as beforeCreate hook
|
|
3278
|
-
var existing = options.beforeCreate
|
|
3279
|
-
options.beforeCreate = existing ? [].concat(existing, hook) : [hook]
|
|
3280
|
-
}
|
|
3281
|
-
}
|
|
3282
|
-
|
|
3283
|
-
return {
|
|
3284
|
-
exports: scriptExports,
|
|
3285
|
-
options: options
|
|
3286
|
-
}
|
|
3287
|
-
}
|
|
3288
|
-
|
|
3289
|
-
;// ./src/components/components/Expander.vue
|
|
4016
|
+
;// ./src/components/Expander.vue
|
|
3290
4017
|
|
|
3291
4018
|
|
|
3292
4019
|
|
|
@@ -3294,10 +4021,10 @@ function normalizeComponent(
|
|
|
3294
4021
|
|
|
3295
4022
|
/* normalize component */
|
|
3296
4023
|
;
|
|
3297
|
-
var
|
|
4024
|
+
var Expander_component = normalizeComponent(
|
|
3298
4025
|
components_Expandervue_type_script_lang_js,
|
|
3299
|
-
|
|
3300
|
-
|
|
4026
|
+
Expandervue_type_template_id_ac398cf4_render,
|
|
4027
|
+
Expandervue_type_template_id_ac398cf4_staticRenderFns,
|
|
3301
4028
|
false,
|
|
3302
4029
|
null,
|
|
3303
4030
|
null,
|
|
@@ -3305,8 +4032,8 @@ var component = normalizeComponent(
|
|
|
3305
4032
|
|
|
3306
4033
|
)
|
|
3307
4034
|
|
|
3308
|
-
/* harmony default export */ var Expander = (
|
|
3309
|
-
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-83.use[1]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/
|
|
4035
|
+
/* harmony default export */ var Expander = (Expander_component.exports);
|
|
4036
|
+
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-83.use[1]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/TaskList/TaskListHeader.vue?vue&type=script&lang=js
|
|
3310
4037
|
|
|
3311
4038
|
|
|
3312
4039
|
|
|
@@ -3406,9 +4133,9 @@ var component = normalizeComponent(
|
|
|
3406
4133
|
// document.removeEventListener('mousemove', this.resizerMouseMove);
|
|
3407
4134
|
// }
|
|
3408
4135
|
});
|
|
3409
|
-
;// ./src/components/
|
|
4136
|
+
;// ./src/components/TaskList/TaskListHeader.vue?vue&type=script&lang=js
|
|
3410
4137
|
/* harmony default export */ var TaskList_TaskListHeadervue_type_script_lang_js = (TaskListHeadervue_type_script_lang_js);
|
|
3411
|
-
;// ./src/components/
|
|
4138
|
+
;// ./src/components/TaskList/TaskListHeader.vue
|
|
3412
4139
|
|
|
3413
4140
|
|
|
3414
4141
|
|
|
@@ -3418,8 +4145,8 @@ var component = normalizeComponent(
|
|
|
3418
4145
|
;
|
|
3419
4146
|
var TaskListHeader_component = normalizeComponent(
|
|
3420
4147
|
TaskList_TaskListHeadervue_type_script_lang_js,
|
|
3421
|
-
|
|
3422
|
-
|
|
4148
|
+
TaskListHeadervue_type_template_id_2ecc0032_render,
|
|
4149
|
+
TaskListHeadervue_type_template_id_2ecc0032_staticRenderFns,
|
|
3423
4150
|
false,
|
|
3424
4151
|
null,
|
|
3425
4152
|
null,
|
|
@@ -3428,8 +4155,8 @@ var TaskListHeader_component = normalizeComponent(
|
|
|
3428
4155
|
)
|
|
3429
4156
|
|
|
3430
4157
|
/* harmony default export */ var TaskListHeader = (TaskListHeader_component.exports);
|
|
3431
|
-
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-83.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/
|
|
3432
|
-
var
|
|
4158
|
+
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-83.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
|
|
4159
|
+
var TaskListItemvue_type_template_id_b99d1d94_render = function render() {
|
|
3433
4160
|
var _vm = this,
|
|
3434
4161
|
_c = _vm._self._c;
|
|
3435
4162
|
return _c('div', {
|
|
@@ -3453,10 +4180,10 @@ var TaskListItemvue_type_template_id_602cdfed_render = function render() {
|
|
|
3453
4180
|
}) : _vm._e()], 1);
|
|
3454
4181
|
}), 1);
|
|
3455
4182
|
};
|
|
3456
|
-
var
|
|
4183
|
+
var TaskListItemvue_type_template_id_b99d1d94_staticRenderFns = [];
|
|
3457
4184
|
|
|
3458
|
-
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-83.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/
|
|
3459
|
-
var
|
|
4185
|
+
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-83.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
|
|
4186
|
+
var ItemColumnvue_type_template_id_f410efbc_render = function render() {
|
|
3460
4187
|
var _vm = this,
|
|
3461
4188
|
_c = _vm._self._c;
|
|
3462
4189
|
return _c('div', {
|
|
@@ -3506,12 +4233,28 @@ var ItemColumnvue_type_template_id_0b2903fd_render = function render() {
|
|
|
3506
4233
|
return _vm.emitEvent('touchend', $event);
|
|
3507
4234
|
}
|
|
3508
4235
|
}
|
|
3509
|
-
}, [_vm.
|
|
4236
|
+
}, [_vm.column.expander && _vm.taskIcon ? _c('div', {
|
|
4237
|
+
staticClass: "gantt-elastic__task-list-item-icon",
|
|
4238
|
+
style: _vm.iconStyle
|
|
4239
|
+
}, [_c('svg', {
|
|
4240
|
+
attrs: {
|
|
4241
|
+
"width": "14",
|
|
4242
|
+
"height": "14",
|
|
4243
|
+
"viewBox": "0 0 14 14",
|
|
4244
|
+
"fill": "none"
|
|
4245
|
+
}
|
|
4246
|
+
}, [_c('path', {
|
|
4247
|
+
attrs: {
|
|
4248
|
+
"d": _vm.taskIcon,
|
|
4249
|
+
"fill": _vm.iconColor,
|
|
4250
|
+
"stroke": _vm.iconStroke,
|
|
4251
|
+
"stroke-width": "0.8"
|
|
4252
|
+
}
|
|
4253
|
+
})])]) : _vm._e(), _c('span', {
|
|
4254
|
+
staticClass: "gantt-elastic__task-list-item-text"
|
|
4255
|
+
}, [_vm._v(_vm._s(_vm.value))])]) : _c('div', {
|
|
3510
4256
|
staticClass: "gantt-elastic__task-list-item-value",
|
|
3511
4257
|
style: _vm.valueStyle,
|
|
3512
|
-
domProps: {
|
|
3513
|
-
"innerHTML": _vm._s(_vm.value)
|
|
3514
|
-
},
|
|
3515
4258
|
on: {
|
|
3516
4259
|
"click": function ($event) {
|
|
3517
4260
|
return _vm.emitEvent('click', $event);
|
|
@@ -3547,11 +4290,33 @@ var ItemColumnvue_type_template_id_0b2903fd_render = function render() {
|
|
|
3547
4290
|
return _vm.emitEvent('touchend', $event);
|
|
3548
4291
|
}
|
|
3549
4292
|
}
|
|
3550
|
-
}
|
|
4293
|
+
}, [_vm.column.expander && _vm.taskIcon ? _c('div', {
|
|
4294
|
+
staticClass: "gantt-elastic__task-list-item-icon",
|
|
4295
|
+
style: _vm.iconStyle
|
|
4296
|
+
}, [_c('svg', {
|
|
4297
|
+
attrs: {
|
|
4298
|
+
"width": "14",
|
|
4299
|
+
"height": "14",
|
|
4300
|
+
"viewBox": "0 0 14 14",
|
|
4301
|
+
"fill": "none"
|
|
4302
|
+
}
|
|
4303
|
+
}, [_c('path', {
|
|
4304
|
+
attrs: {
|
|
4305
|
+
"d": _vm.taskIcon,
|
|
4306
|
+
"fill": _vm.iconColor,
|
|
4307
|
+
"stroke": _vm.iconStroke,
|
|
4308
|
+
"stroke-width": "0.8"
|
|
4309
|
+
}
|
|
4310
|
+
})])]) : _vm._e(), _c('span', {
|
|
4311
|
+
staticClass: "gantt-elastic__task-list-item-text",
|
|
4312
|
+
domProps: {
|
|
4313
|
+
"innerHTML": _vm._s(_vm.value)
|
|
4314
|
+
}
|
|
4315
|
+
})])])], 2)]);
|
|
3551
4316
|
};
|
|
3552
|
-
var
|
|
4317
|
+
var ItemColumnvue_type_template_id_f410efbc_staticRenderFns = [];
|
|
3553
4318
|
|
|
3554
|
-
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-83.use[1]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/
|
|
4319
|
+
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-83.use[1]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/TaskList/ItemColumn.vue?vue&type=script&lang=js
|
|
3555
4320
|
/* harmony default export */ var ItemColumnvue_type_script_lang_js = ({
|
|
3556
4321
|
name: 'ItemColumn',
|
|
3557
4322
|
inject: ['root'],
|
|
@@ -3629,12 +4394,101 @@ var ItemColumnvue_type_template_id_0b2903fd_staticRenderFns = [];
|
|
|
3629
4394
|
...this.root.style['task-list-item-value'],
|
|
3630
4395
|
...this.column.style['task-list-item-value']
|
|
3631
4396
|
};
|
|
4397
|
+
},
|
|
4398
|
+
/**
|
|
4399
|
+
* Get task icon based on task type or custom icon property
|
|
4400
|
+
*
|
|
4401
|
+
* @returns {string|null}
|
|
4402
|
+
*/
|
|
4403
|
+
taskIcon() {
|
|
4404
|
+
// Check if task has a custom icon property
|
|
4405
|
+
if (this.task.icon) {
|
|
4406
|
+
return this.task.icon;
|
|
4407
|
+
}
|
|
4408
|
+
|
|
4409
|
+
// Default icons based on task type - matching the interface
|
|
4410
|
+
const iconMap = {
|
|
4411
|
+
'milestone': 'M7 2 L12 7 L7 12 L2 7 Z',
|
|
4412
|
+
// Purple diamond for milestones
|
|
4413
|
+
'task': 'M3 3 L11 3 L11 11 L3 11 Z',
|
|
4414
|
+
// Blue square for tasks
|
|
4415
|
+
'project': 'M7 2 L12 7 L7 12 L2 7 Z',
|
|
4416
|
+
// Purple diamond for projects
|
|
4417
|
+
'sprint': 'M3 4 L11 4 L11 10 L3 10 Z',
|
|
4418
|
+
// Rectangle for sprints
|
|
4419
|
+
'flag': 'M3 3 L9 3 L9 7 L7 9 L5 7 L5 3 Z M3 3 L3 11 M5 3 L5 11',
|
|
4420
|
+
// Green flag
|
|
4421
|
+
'check': 'M3 3 L11 3 L11 11 L3 11 Z M5 7 L7 9 L9 5',
|
|
4422
|
+
// Blue checkmark in square
|
|
4423
|
+
'epic': 'M7 2 L12 7 L7 12 L2 7 Z' // Purple diamond for epics
|
|
4424
|
+
};
|
|
4425
|
+
|
|
4426
|
+
// Always return an icon for tasks, default to task icon if type not found
|
|
4427
|
+
return iconMap[this.task.type] || iconMap['task'];
|
|
4428
|
+
},
|
|
4429
|
+
/**
|
|
4430
|
+
* Get icon color based on task properties
|
|
4431
|
+
*
|
|
4432
|
+
* @returns {string}
|
|
4433
|
+
*/
|
|
4434
|
+
iconColor() {
|
|
4435
|
+
if (this.task.iconColor) {
|
|
4436
|
+
return this.task.iconColor;
|
|
4437
|
+
}
|
|
4438
|
+
|
|
4439
|
+
// Default colors based on task type - matching chart grid bar colors
|
|
4440
|
+
const colorMap = {
|
|
4441
|
+
'milestone': '#CD5C5C',
|
|
4442
|
+
// Light maroon - matches chart
|
|
4443
|
+
'task': '#3B82F6',
|
|
4444
|
+
// Blue - matches chart
|
|
4445
|
+
'project': '#8B5CF6',
|
|
4446
|
+
// Purple - matches chart
|
|
4447
|
+
'sprint': '#F59E0B',
|
|
4448
|
+
// Orange rectangle
|
|
4449
|
+
'flag': '#10B981',
|
|
4450
|
+
// Green flag
|
|
4451
|
+
'check': '#3B82F6',
|
|
4452
|
+
// Blue checkmark
|
|
4453
|
+
'epic': '#8B5CF6',
|
|
4454
|
+
// Purple - matches chart
|
|
4455
|
+
'story': '#86EFAC',
|
|
4456
|
+
// Light green - matches chart
|
|
4457
|
+
'subtask': '#3B82F6' // Blue - matches chart
|
|
4458
|
+
};
|
|
4459
|
+
return colorMap[this.task.type] || '#6B7280'; // Gray default
|
|
4460
|
+
},
|
|
4461
|
+
/**
|
|
4462
|
+
* Get icon stroke color
|
|
4463
|
+
*
|
|
4464
|
+
* @returns {string}
|
|
4465
|
+
*/
|
|
4466
|
+
iconStroke() {
|
|
4467
|
+
if (this.task.iconStroke) {
|
|
4468
|
+
return this.task.iconStroke;
|
|
4469
|
+
}
|
|
4470
|
+
return this.iconColor; // Same as fill color
|
|
4471
|
+
},
|
|
4472
|
+
/**
|
|
4473
|
+
* Get icon style
|
|
4474
|
+
*
|
|
4475
|
+
* @returns {object}
|
|
4476
|
+
*/
|
|
4477
|
+
iconStyle() {
|
|
4478
|
+
return {
|
|
4479
|
+
display: 'flex',
|
|
4480
|
+
alignItems: 'center',
|
|
4481
|
+
marginRight: '6px',
|
|
4482
|
+
flexShrink: 0,
|
|
4483
|
+
width: '14px',
|
|
4484
|
+
height: '14px'
|
|
4485
|
+
};
|
|
3632
4486
|
}
|
|
3633
4487
|
}
|
|
3634
4488
|
});
|
|
3635
|
-
;// ./src/components/
|
|
4489
|
+
;// ./src/components/TaskList/ItemColumn.vue?vue&type=script&lang=js
|
|
3636
4490
|
/* harmony default export */ var TaskList_ItemColumnvue_type_script_lang_js = (ItemColumnvue_type_script_lang_js);
|
|
3637
|
-
;// ./src/components/
|
|
4491
|
+
;// ./src/components/TaskList/ItemColumn.vue
|
|
3638
4492
|
|
|
3639
4493
|
|
|
3640
4494
|
|
|
@@ -3644,8 +4498,8 @@ var ItemColumnvue_type_template_id_0b2903fd_staticRenderFns = [];
|
|
|
3644
4498
|
;
|
|
3645
4499
|
var ItemColumn_component = normalizeComponent(
|
|
3646
4500
|
TaskList_ItemColumnvue_type_script_lang_js,
|
|
3647
|
-
|
|
3648
|
-
|
|
4501
|
+
ItemColumnvue_type_template_id_f410efbc_render,
|
|
4502
|
+
ItemColumnvue_type_template_id_f410efbc_staticRenderFns,
|
|
3649
4503
|
false,
|
|
3650
4504
|
null,
|
|
3651
4505
|
null,
|
|
@@ -3654,7 +4508,7 @@ var ItemColumn_component = normalizeComponent(
|
|
|
3654
4508
|
)
|
|
3655
4509
|
|
|
3656
4510
|
/* harmony default export */ var ItemColumn = (ItemColumn_component.exports);
|
|
3657
|
-
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-83.use[1]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/
|
|
4511
|
+
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-83.use[1]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/TaskList/TaskListItem.vue?vue&type=script&lang=js
|
|
3658
4512
|
|
|
3659
4513
|
|
|
3660
4514
|
/* harmony default export */ var TaskListItemvue_type_script_lang_js = ({
|
|
@@ -3674,9 +4528,9 @@ var ItemColumn_component = normalizeComponent(
|
|
|
3674
4528
|
}
|
|
3675
4529
|
}
|
|
3676
4530
|
});
|
|
3677
|
-
;// ./src/components/
|
|
4531
|
+
;// ./src/components/TaskList/TaskListItem.vue?vue&type=script&lang=js
|
|
3678
4532
|
/* harmony default export */ var TaskList_TaskListItemvue_type_script_lang_js = (TaskListItemvue_type_script_lang_js);
|
|
3679
|
-
;// ./src/components/
|
|
4533
|
+
;// ./src/components/TaskList/TaskListItem.vue
|
|
3680
4534
|
|
|
3681
4535
|
|
|
3682
4536
|
|
|
@@ -3686,8 +4540,8 @@ var ItemColumn_component = normalizeComponent(
|
|
|
3686
4540
|
;
|
|
3687
4541
|
var TaskListItem_component = normalizeComponent(
|
|
3688
4542
|
TaskList_TaskListItemvue_type_script_lang_js,
|
|
3689
|
-
|
|
3690
|
-
|
|
4543
|
+
TaskListItemvue_type_template_id_b99d1d94_render,
|
|
4544
|
+
TaskListItemvue_type_template_id_b99d1d94_staticRenderFns,
|
|
3691
4545
|
false,
|
|
3692
4546
|
null,
|
|
3693
4547
|
null,
|
|
@@ -3696,7 +4550,7 @@ var TaskListItem_component = normalizeComponent(
|
|
|
3696
4550
|
)
|
|
3697
4551
|
|
|
3698
4552
|
/* harmony default export */ var TaskListItem = (TaskListItem_component.exports);
|
|
3699
|
-
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-83.use[1]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/
|
|
4553
|
+
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-83.use[1]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/TaskList/TaskList.vue?vue&type=script&lang=js
|
|
3700
4554
|
|
|
3701
4555
|
|
|
3702
4556
|
/* harmony default export */ var TaskListvue_type_script_lang_js = ({
|
|
@@ -3718,9 +4572,9 @@ var TaskListItem_component = normalizeComponent(
|
|
|
3718
4572
|
this.root.state.refs.taskListItems = this.$refs.taskListItems;
|
|
3719
4573
|
}
|
|
3720
4574
|
});
|
|
3721
|
-
;// ./src/components/
|
|
4575
|
+
;// ./src/components/TaskList/TaskList.vue?vue&type=script&lang=js
|
|
3722
4576
|
/* harmony default export */ var TaskList_TaskListvue_type_script_lang_js = (TaskListvue_type_script_lang_js);
|
|
3723
|
-
;// ./src/components/
|
|
4577
|
+
;// ./src/components/TaskList/TaskList.vue
|
|
3724
4578
|
|
|
3725
4579
|
|
|
3726
4580
|
|
|
@@ -3730,8 +4584,8 @@ var TaskListItem_component = normalizeComponent(
|
|
|
3730
4584
|
;
|
|
3731
4585
|
var TaskList_component = normalizeComponent(
|
|
3732
4586
|
TaskList_TaskListvue_type_script_lang_js,
|
|
3733
|
-
|
|
3734
|
-
|
|
4587
|
+
TaskListvue_type_template_id_74ce1216_render,
|
|
4588
|
+
TaskListvue_type_template_id_74ce1216_staticRenderFns,
|
|
3735
4589
|
false,
|
|
3736
4590
|
null,
|
|
3737
4591
|
null,
|
|
@@ -3740,8 +4594,8 @@ var TaskList_component = normalizeComponent(
|
|
|
3740
4594
|
)
|
|
3741
4595
|
|
|
3742
4596
|
/* harmony default export */ var TaskList = (TaskList_component.exports);
|
|
3743
|
-
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-83.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/
|
|
3744
|
-
var
|
|
4597
|
+
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-83.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
|
|
4598
|
+
var Chartvue_type_template_id_1d5eb6d6_render = function render() {
|
|
3745
4599
|
var _vm = this,
|
|
3746
4600
|
_c = _vm._self._c;
|
|
3747
4601
|
return _c('div', {
|
|
@@ -3813,10 +4667,10 @@ var Chartvue_type_template_id_4ae99150_render = function render() {
|
|
|
3813
4667
|
})], 1);
|
|
3814
4668
|
})], 2)])])])]);
|
|
3815
4669
|
};
|
|
3816
|
-
var
|
|
4670
|
+
var Chartvue_type_template_id_1d5eb6d6_staticRenderFns = [];
|
|
3817
4671
|
|
|
3818
|
-
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-83.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/
|
|
3819
|
-
var
|
|
4672
|
+
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-83.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=b2e4dec2
|
|
4673
|
+
var Gridvue_type_template_id_b2e4dec2_render = function render() {
|
|
3820
4674
|
var _vm = this,
|
|
3821
4675
|
_c = _vm._self._c;
|
|
3822
4676
|
return _c('svg', {
|
|
@@ -3878,9 +4732,9 @@ var Gridvue_type_template_id_1f8d69e4_render = function render() {
|
|
|
3878
4732
|
}
|
|
3879
4733
|
})], 2)]);
|
|
3880
4734
|
};
|
|
3881
|
-
var
|
|
4735
|
+
var Gridvue_type_template_id_b2e4dec2_staticRenderFns = [];
|
|
3882
4736
|
|
|
3883
|
-
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-83.use[1]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/
|
|
4737
|
+
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-83.use[1]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/Chart/Grid.vue?vue&type=script&lang=js
|
|
3884
4738
|
|
|
3885
4739
|
|
|
3886
4740
|
|
|
@@ -3924,17 +4778,57 @@ var Gridvue_type_template_id_1f8d69e4_staticRenderFns = [];
|
|
|
3924
4778
|
verticalLines() {
|
|
3925
4779
|
let lines = [];
|
|
3926
4780
|
const state = this.root.state;
|
|
3927
|
-
|
|
3928
|
-
|
|
3929
|
-
|
|
4781
|
+
|
|
4782
|
+
// Add grid lines for all steps (remove viewport check to ensure all borders are drawn)
|
|
4783
|
+
state.options.times.steps.forEach((step, index) => {
|
|
4784
|
+
// Only generate grid lines for steps with valid coordinates
|
|
4785
|
+
if (step.offset && typeof step.offset.px === 'number' && !isNaN(step.offset.px)) {
|
|
4786
|
+
const line = {
|
|
3930
4787
|
key: step.time,
|
|
3931
|
-
x1: step.offset.px,
|
|
4788
|
+
x1: Math.round(step.offset.px),
|
|
4789
|
+
// Round to ensure exact pixel alignment
|
|
3932
4790
|
y1: 0,
|
|
3933
|
-
x2: step.offset.px,
|
|
4791
|
+
x2: Math.round(step.offset.px),
|
|
4792
|
+
// Round to ensure exact pixel alignment
|
|
3934
4793
|
y2: state.tasks.length * (state.options.row.height + state.options.chart.grid.horizontal.gap * 2) + this.root.style['grid-line-vertical']['stroke-width']
|
|
3935
|
-
}
|
|
4794
|
+
};
|
|
4795
|
+
lines.push(line);
|
|
4796
|
+
|
|
4797
|
+
// Debug: Log grid lines for quarter view
|
|
4798
|
+
if (state.options.times.stepDuration === 'quarter') {
|
|
4799
|
+
console.log(`Grid Line ${index}:`, {
|
|
4800
|
+
x: line.x1,
|
|
4801
|
+
time: new Date(step.time).toISOString().split('T')[0],
|
|
4802
|
+
quarter: new Date(step.time).getMonth() < 3 ? 1 : new Date(step.time).getMonth() < 6 ? 2 : new Date(step.time).getMonth() < 9 ? 3 : 4,
|
|
4803
|
+
stepWidth: step.width && step.width.px || 0,
|
|
4804
|
+
stepOffset: step.offset && step.offset.px || 0,
|
|
4805
|
+
hasValidX: line.x1 >= 0 && !isNaN(line.x1)
|
|
4806
|
+
});
|
|
4807
|
+
}
|
|
4808
|
+
} else {
|
|
4809
|
+
// Debug: Log steps that are being skipped
|
|
4810
|
+
if (state.options.times.stepDuration === 'quarter') {
|
|
4811
|
+
console.log(`Skipped Grid Line ${index}:`, {
|
|
4812
|
+
time: new Date(step.time).toISOString().split('T')[0],
|
|
4813
|
+
offset: step.offset,
|
|
4814
|
+
hasValidOffset: !!(step.offset && typeof step.offset.px === 'number' && !isNaN(step.offset.px))
|
|
4815
|
+
});
|
|
4816
|
+
}
|
|
3936
4817
|
}
|
|
3937
4818
|
});
|
|
4819
|
+
|
|
4820
|
+
// Add final grid line at the end of the chart area to eliminate empty space
|
|
4821
|
+
const lastStep = state.options.times.steps[state.options.times.steps.length - 1];
|
|
4822
|
+
if (lastStep) {
|
|
4823
|
+
const finalX = Math.round(lastStep.offset.px + lastStep.width.px);
|
|
4824
|
+
lines.push({
|
|
4825
|
+
key: 'final-line',
|
|
4826
|
+
x1: finalX,
|
|
4827
|
+
y1: 0,
|
|
4828
|
+
x2: finalX,
|
|
4829
|
+
y2: state.tasks.length * (state.options.row.height + state.options.chart.grid.horizontal.gap * 2) + this.root.style['grid-line-vertical']['stroke-width']
|
|
4830
|
+
});
|
|
4831
|
+
}
|
|
3938
4832
|
return lines;
|
|
3939
4833
|
},
|
|
3940
4834
|
/**
|
|
@@ -3991,9 +4885,9 @@ var Gridvue_type_template_id_1f8d69e4_staticRenderFns = [];
|
|
|
3991
4885
|
}
|
|
3992
4886
|
}
|
|
3993
4887
|
});
|
|
3994
|
-
;// ./src/components/
|
|
4888
|
+
;// ./src/components/Chart/Grid.vue?vue&type=script&lang=js
|
|
3995
4889
|
/* harmony default export */ var Chart_Gridvue_type_script_lang_js = (Gridvue_type_script_lang_js);
|
|
3996
|
-
;// ./src/components/
|
|
4890
|
+
;// ./src/components/Chart/Grid.vue
|
|
3997
4891
|
|
|
3998
4892
|
|
|
3999
4893
|
|
|
@@ -4003,8 +4897,8 @@ var Gridvue_type_template_id_1f8d69e4_staticRenderFns = [];
|
|
|
4003
4897
|
;
|
|
4004
4898
|
var Grid_component = normalizeComponent(
|
|
4005
4899
|
Chart_Gridvue_type_script_lang_js,
|
|
4006
|
-
|
|
4007
|
-
|
|
4900
|
+
Gridvue_type_template_id_b2e4dec2_render,
|
|
4901
|
+
Gridvue_type_template_id_b2e4dec2_staticRenderFns,
|
|
4008
4902
|
false,
|
|
4009
4903
|
null,
|
|
4010
4904
|
null,
|
|
@@ -4013,8 +4907,8 @@ var Grid_component = normalizeComponent(
|
|
|
4013
4907
|
)
|
|
4014
4908
|
|
|
4015
4909
|
/* harmony default export */ var Grid = (Grid_component.exports);
|
|
4016
|
-
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-83.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/
|
|
4017
|
-
var
|
|
4910
|
+
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-83.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
|
|
4911
|
+
var DaysHighlightvue_type_template_id_94382932_render = function render() {
|
|
4018
4912
|
var _vm = this,
|
|
4019
4913
|
_c = _vm._self._c;
|
|
4020
4914
|
return _vm.showWorkingDays ? _c('g', {
|
|
@@ -4038,9 +4932,9 @@ var DaysHighlightvue_type_template_id_06b8681f_render = function render() {
|
|
|
4038
4932
|
});
|
|
4039
4933
|
}), 0) : _vm._e();
|
|
4040
4934
|
};
|
|
4041
|
-
var
|
|
4935
|
+
var DaysHighlightvue_type_template_id_94382932_staticRenderFns = [];
|
|
4042
4936
|
|
|
4043
|
-
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-83.use[1]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/
|
|
4937
|
+
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-83.use[1]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/Chart/DaysHighlight.vue?vue&type=script&lang=js
|
|
4044
4938
|
|
|
4045
4939
|
|
|
4046
4940
|
|
|
@@ -4058,7 +4952,8 @@ var DaysHighlightvue_type_template_id_06b8681f_staticRenderFns = [];
|
|
|
4058
4952
|
* @returns {string} key ideintifier for loop
|
|
4059
4953
|
*/
|
|
4060
4954
|
getKey(day) {
|
|
4061
|
-
|
|
4955
|
+
// Return the full date-time format
|
|
4956
|
+
return dayjs_min_default()(day.time).format('YYYY-MM-DD HH:mm');
|
|
4062
4957
|
}
|
|
4063
4958
|
},
|
|
4064
4959
|
computed: {
|
|
@@ -4086,9 +4981,9 @@ var DaysHighlightvue_type_template_id_06b8681f_staticRenderFns = [];
|
|
|
4086
4981
|
}
|
|
4087
4982
|
}
|
|
4088
4983
|
});
|
|
4089
|
-
;// ./src/components/
|
|
4984
|
+
;// ./src/components/Chart/DaysHighlight.vue?vue&type=script&lang=js
|
|
4090
4985
|
/* harmony default export */ var Chart_DaysHighlightvue_type_script_lang_js = (DaysHighlightvue_type_script_lang_js);
|
|
4091
|
-
;// ./src/components/
|
|
4986
|
+
;// ./src/components/Chart/DaysHighlight.vue
|
|
4092
4987
|
|
|
4093
4988
|
|
|
4094
4989
|
|
|
@@ -4098,8 +4993,8 @@ var DaysHighlightvue_type_template_id_06b8681f_staticRenderFns = [];
|
|
|
4098
4993
|
;
|
|
4099
4994
|
var DaysHighlight_component = normalizeComponent(
|
|
4100
4995
|
Chart_DaysHighlightvue_type_script_lang_js,
|
|
4101
|
-
|
|
4102
|
-
|
|
4996
|
+
DaysHighlightvue_type_template_id_94382932_render,
|
|
4997
|
+
DaysHighlightvue_type_template_id_94382932_staticRenderFns,
|
|
4103
4998
|
false,
|
|
4104
4999
|
null,
|
|
4105
5000
|
null,
|
|
@@ -4108,8 +5003,8 @@ var DaysHighlight_component = normalizeComponent(
|
|
|
4108
5003
|
)
|
|
4109
5004
|
|
|
4110
5005
|
/* harmony default export */ var DaysHighlight = (DaysHighlight_component.exports);
|
|
4111
|
-
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-83.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/
|
|
4112
|
-
var
|
|
5006
|
+
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-83.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=c22056b8
|
|
5007
|
+
var Calendarvue_type_template_id_c22056b8_render = function render() {
|
|
4113
5008
|
var _vm = this,
|
|
4114
5009
|
_c = _vm._self._c;
|
|
4115
5010
|
return _c('div', {
|
|
@@ -4124,30 +5019,41 @@ var Calendarvue_type_template_id_19446f31_render = function render() {
|
|
|
4124
5019
|
..._vm.root.style['calendar'],
|
|
4125
5020
|
width: _vm.root.state.options.width + 'px'
|
|
4126
5021
|
}
|
|
4127
|
-
}, [_vm.
|
|
5022
|
+
}, [_vm.viewMode === 'quarter' ? _c('calendar-row', {
|
|
5023
|
+
attrs: {
|
|
5024
|
+
"items": _vm.dates.quarters,
|
|
5025
|
+
"which": "quarter"
|
|
5026
|
+
}
|
|
5027
|
+
}) : _vm._e(), _vm.viewMode === 'month' ? _c('calendar-row', {
|
|
4128
5028
|
attrs: {
|
|
4129
5029
|
"items": _vm.dates.months,
|
|
4130
5030
|
"which": "month"
|
|
4131
5031
|
}
|
|
4132
|
-
}) : _vm._e(), _vm.
|
|
5032
|
+
}) : _vm._e(), _vm.viewMode === 'week' ? _c('calendar-row', {
|
|
4133
5033
|
attrs: {
|
|
4134
|
-
"items": _vm.dates.
|
|
4135
|
-
"which": "
|
|
5034
|
+
"items": _vm.dates.weeks,
|
|
5035
|
+
"which": "week"
|
|
4136
5036
|
}
|
|
4137
|
-
}) : _vm._e(), _vm.
|
|
5037
|
+
}) : _vm._e(), _vm.viewMode === 'day' ? _c('calendar-row', {
|
|
4138
5038
|
attrs: {
|
|
4139
|
-
"items": _vm.dates.
|
|
4140
|
-
"which": "
|
|
5039
|
+
"items": _vm.dates.days,
|
|
5040
|
+
"which": "day"
|
|
4141
5041
|
}
|
|
4142
5042
|
}) : _vm._e()], 1)]);
|
|
4143
5043
|
};
|
|
4144
|
-
var
|
|
4145
|
-
|
|
4146
|
-
|
|
4147
|
-
var
|
|
5044
|
+
var Calendarvue_type_template_id_c22056b8_staticRenderFns = [];
|
|
5045
|
+
|
|
5046
|
+
// EXTERNAL MODULE: ./node_modules/dayjs/plugin/weekOfYear.js
|
|
5047
|
+
var weekOfYear = __webpack_require__(8134);
|
|
5048
|
+
var weekOfYear_default = /*#__PURE__*/__webpack_require__.n(weekOfYear);
|
|
5049
|
+
// EXTERNAL MODULE: ./node_modules/dayjs/plugin/quarterOfYear.js
|
|
5050
|
+
var quarterOfYear = __webpack_require__(1816);
|
|
5051
|
+
var quarterOfYear_default = /*#__PURE__*/__webpack_require__.n(quarterOfYear);
|
|
5052
|
+
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-83.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
|
|
5053
|
+
var CalendarRowvue_type_template_id_db48ac98_render = function render() {
|
|
4148
5054
|
var _vm = this,
|
|
4149
5055
|
_c = _vm._self._c;
|
|
4150
|
-
return _c('div', {
|
|
5056
|
+
return _c('section', [_c('div', {
|
|
4151
5057
|
class: 'gantt-elastic__calendar-row gantt-elastic__calendar-row--' + _vm.which,
|
|
4152
5058
|
style: _vm.rowStyle
|
|
4153
5059
|
}, _vm._l(_vm.items, function (item, itemIndex) {
|
|
@@ -4165,11 +5071,11 @@ var CalendarRowvue_type_template_id_50cc12d2_render = function render() {
|
|
|
4165
5071
|
style: _vm.textStyle(child)
|
|
4166
5072
|
}, [_vm._v(" " + _vm._s(child.label) + " ")])]);
|
|
4167
5073
|
}), 0);
|
|
4168
|
-
}), 0);
|
|
5074
|
+
}), 0)]);
|
|
4169
5075
|
};
|
|
4170
|
-
var
|
|
5076
|
+
var CalendarRowvue_type_template_id_db48ac98_staticRenderFns = [];
|
|
4171
5077
|
|
|
4172
|
-
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-83.use[1]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/
|
|
5078
|
+
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-83.use[1]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/Calendar/CalendarRow.vue?vue&type=script&lang=js
|
|
4173
5079
|
|
|
4174
5080
|
/* harmony default export */ var CalendarRowvue_type_script_lang_js = ({
|
|
4175
5081
|
name: 'CalendarRow',
|
|
@@ -4185,24 +5091,41 @@ var CalendarRowvue_type_template_id_50cc12d2_staticRenderFns = [];
|
|
|
4185
5091
|
* @returns {number}
|
|
4186
5092
|
*/
|
|
4187
5093
|
getTextX(item) {
|
|
4188
|
-
|
|
4189
|
-
|
|
4190
|
-
|
|
4191
|
-
|
|
4192
|
-
|
|
4193
|
-
|
|
4194
|
-
|
|
4195
|
-
|
|
5094
|
+
// Calculate center position within the item
|
|
5095
|
+
let x = item.width / 2 - item.textWidth / 2;
|
|
5096
|
+
|
|
5097
|
+
// Add padding to avoid overlap with grid lines
|
|
5098
|
+
const gridLineWidth = this.root.style['grid-line-vertical']['stroke-width'] || 1;
|
|
5099
|
+
const padding = Math.max(gridLineWidth / 2 + 2, 4); // At least 4px padding
|
|
5100
|
+
|
|
5101
|
+
// For month view, use perfect centering with bounds checking
|
|
5102
|
+
if (this.which === 'month') {
|
|
5103
|
+
// Perfect center calculation
|
|
5104
|
+
x = (item.width - item.textWidth) / 2;
|
|
5105
|
+
|
|
5106
|
+
// Ensure text stays within bounds with padding
|
|
5107
|
+
if (x < padding) {
|
|
5108
|
+
x = padding;
|
|
5109
|
+
} else if (x + item.textWidth + padding > item.width) {
|
|
5110
|
+
x = item.width - item.textWidth - padding;
|
|
5111
|
+
}
|
|
5112
|
+
} else {
|
|
5113
|
+
// For other view types, ensure text stays within bounds
|
|
5114
|
+
if (x + item.textWidth + padding > item.width) {
|
|
5115
|
+
x = item.width - item.textWidth - padding;
|
|
5116
|
+
} else if (x < padding) {
|
|
5117
|
+
x = padding;
|
|
4196
5118
|
}
|
|
4197
5119
|
}
|
|
4198
|
-
return x
|
|
5120
|
+
return x;
|
|
4199
5121
|
}
|
|
4200
5122
|
},
|
|
4201
5123
|
computed: {
|
|
4202
5124
|
rowStyle() {
|
|
4203
5125
|
return {
|
|
4204
5126
|
...this.root.style['calendar-row'],
|
|
4205
|
-
...this.root.style['calendar-row--' + this.which]
|
|
5127
|
+
...this.root.style['calendar-row--' + this.which],
|
|
5128
|
+
position: 'relative' // Ensure relative positioning for absolute children
|
|
4206
5129
|
};
|
|
4207
5130
|
},
|
|
4208
5131
|
rectStyle() {
|
|
@@ -4223,7 +5146,10 @@ var CalendarRowvue_type_template_id_50cc12d2_staticRenderFns = [];
|
|
|
4223
5146
|
childrenStyle.push({
|
|
4224
5147
|
...basicStyle,
|
|
4225
5148
|
width: child.width + 'px',
|
|
4226
|
-
height: child.height + 'px'
|
|
5149
|
+
height: child.height + 'px',
|
|
5150
|
+
left: child.x + 'px',
|
|
5151
|
+
// Use exact x position for perfect alignment
|
|
5152
|
+
position: 'absolute' // Ensure absolute positioning
|
|
4227
5153
|
});
|
|
4228
5154
|
}
|
|
4229
5155
|
style.push(childrenStyle);
|
|
@@ -4239,17 +5165,15 @@ var CalendarRowvue_type_template_id_50cc12d2_staticRenderFns = [];
|
|
|
4239
5165
|
const style = {
|
|
4240
5166
|
...basicStyle
|
|
4241
5167
|
};
|
|
4242
|
-
|
|
4243
|
-
style.left = this.getTextX(child) + 'px';
|
|
4244
|
-
}
|
|
5168
|
+
// Remove left positioning for month view - let CSS handle centering
|
|
4245
5169
|
return style;
|
|
4246
5170
|
};
|
|
4247
5171
|
}
|
|
4248
5172
|
}
|
|
4249
5173
|
});
|
|
4250
|
-
;// ./src/components/
|
|
5174
|
+
;// ./src/components/Calendar/CalendarRow.vue?vue&type=script&lang=js
|
|
4251
5175
|
/* harmony default export */ var Calendar_CalendarRowvue_type_script_lang_js = (CalendarRowvue_type_script_lang_js);
|
|
4252
|
-
;// ./src/components/
|
|
5176
|
+
;// ./src/components/Calendar/CalendarRow.vue
|
|
4253
5177
|
|
|
4254
5178
|
|
|
4255
5179
|
|
|
@@ -4259,8 +5183,8 @@ var CalendarRowvue_type_template_id_50cc12d2_staticRenderFns = [];
|
|
|
4259
5183
|
;
|
|
4260
5184
|
var CalendarRow_component = normalizeComponent(
|
|
4261
5185
|
Calendar_CalendarRowvue_type_script_lang_js,
|
|
4262
|
-
|
|
4263
|
-
|
|
5186
|
+
CalendarRowvue_type_template_id_db48ac98_render,
|
|
5187
|
+
CalendarRowvue_type_template_id_db48ac98_staticRenderFns,
|
|
4264
5188
|
false,
|
|
4265
5189
|
null,
|
|
4266
5190
|
null,
|
|
@@ -4269,10 +5193,16 @@ var CalendarRow_component = normalizeComponent(
|
|
|
4269
5193
|
)
|
|
4270
5194
|
|
|
4271
5195
|
/* harmony default export */ var CalendarRow = (CalendarRow_component.exports);
|
|
4272
|
-
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-83.use[1]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/
|
|
5196
|
+
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-83.use[1]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/Calendar/Calendar.vue?vue&type=script&lang=js
|
|
5197
|
+
|
|
5198
|
+
|
|
4273
5199
|
|
|
4274
5200
|
|
|
4275
5201
|
|
|
5202
|
+
|
|
5203
|
+
// Extend dayjs with required plugins
|
|
5204
|
+
dayjs_min_default().extend((weekOfYear_default()));
|
|
5205
|
+
dayjs_min_default().extend((quarterOfYear_default()));
|
|
4276
5206
|
/* harmony default export */ var Calendarvue_type_script_lang_js = ({
|
|
4277
5207
|
name: 'Calendar',
|
|
4278
5208
|
components: {
|
|
@@ -4280,155 +5210,60 @@ var CalendarRow_component = normalizeComponent(
|
|
|
4280
5210
|
},
|
|
4281
5211
|
inject: ['root'],
|
|
4282
5212
|
data() {
|
|
4283
|
-
return {
|
|
5213
|
+
return {
|
|
5214
|
+
dayjsInstance: (dayjs_min_default()) // Store dayjs instance for consistent usage
|
|
5215
|
+
};
|
|
5216
|
+
},
|
|
5217
|
+
computed: {
|
|
5218
|
+
viewMode() {
|
|
5219
|
+
return this.root.state.options.calendar.viewMode || 'day';
|
|
5220
|
+
},
|
|
5221
|
+
dates() {
|
|
5222
|
+
const days = this.generateDays();
|
|
5223
|
+
const weeks = this.generateWeeks();
|
|
5224
|
+
const months = this.generateMonths();
|
|
5225
|
+
const quarters = this.generateQuarters();
|
|
5226
|
+
const allDates = {
|
|
5227
|
+
days,
|
|
5228
|
+
weeks,
|
|
5229
|
+
months,
|
|
5230
|
+
quarters
|
|
5231
|
+
};
|
|
5232
|
+
this.calculateCalendarDimensions(allDates);
|
|
5233
|
+
return allDates;
|
|
5234
|
+
}
|
|
4284
5235
|
},
|
|
4285
5236
|
methods: {
|
|
4286
|
-
|
|
4287
|
-
|
|
4288
|
-
|
|
4289
|
-
|
|
4290
|
-
|
|
4291
|
-
|
|
4292
|
-
|
|
4293
|
-
|
|
4294
|
-
|
|
4295
|
-
let formatNames = Object.keys(this.root.state.options.calendar.hour.format);
|
|
4296
|
-
for (let hours = 24; hours > 1; hours = Math.ceil(hours / 2)) {
|
|
4297
|
-
for (let formatName of formatNames) {
|
|
4298
|
-
if ((this.root.state.options.calendar.hour.maxWidths[formatName] + additionalSpace) * hours <= fullCellWidth && hours > 1) {
|
|
4299
|
-
return {
|
|
4300
|
-
count: hours,
|
|
4301
|
-
type: formatName
|
|
4302
|
-
};
|
|
4303
|
-
}
|
|
4304
|
-
}
|
|
5237
|
+
calculateCalendarDimensions({
|
|
5238
|
+
days,
|
|
5239
|
+
weeks,
|
|
5240
|
+
months,
|
|
5241
|
+
quarters
|
|
5242
|
+
}) {
|
|
5243
|
+
let height = 0;
|
|
5244
|
+
if (this.viewMode === 'quarter' && quarters.length > 0) {
|
|
5245
|
+
height += this.root.state.options.calendar.quarter && this.root.state.options.calendar.quarter.height || 30;
|
|
4305
5246
|
}
|
|
4306
|
-
|
|
4307
|
-
|
|
4308
|
-
|
|
4309
|
-
|
|
4310
|
-
},
|
|
4311
|
-
/**
|
|
4312
|
-
* How many days will fit?
|
|
4313
|
-
*
|
|
4314
|
-
* @returns {object}
|
|
4315
|
-
*/
|
|
4316
|
-
howManyDaysFit() {
|
|
4317
|
-
const stroke = 1;
|
|
4318
|
-
const additionalSpace = stroke + 2;
|
|
4319
|
-
let fullWidth = this.root.state.options.width;
|
|
4320
|
-
let formatNames = Object.keys(this.root.state.options.calendar.day.format);
|
|
4321
|
-
for (let days = this.root.state.options.times.steps.length; days > 1; days = Math.ceil(days / 2)) {
|
|
4322
|
-
for (let formatName of formatNames) {
|
|
4323
|
-
if ((this.root.state.options.calendar.day.maxWidths[formatName] + additionalSpace) * days <= fullWidth && days > 1) {
|
|
4324
|
-
return {
|
|
4325
|
-
count: days,
|
|
4326
|
-
type: formatName
|
|
4327
|
-
};
|
|
4328
|
-
}
|
|
4329
|
-
}
|
|
5247
|
+
|
|
5248
|
+
// Add month height if visible
|
|
5249
|
+
if (this.viewMode === 'month' && months.length > 0) {
|
|
5250
|
+
height += this.root.state.options.calendar.month.height || 25;
|
|
4330
5251
|
}
|
|
4331
|
-
|
|
4332
|
-
|
|
4333
|
-
|
|
4334
|
-
|
|
5252
|
+
|
|
5253
|
+
// Add week height if visible
|
|
5254
|
+
if (this.viewMode === 'week' && weeks.length > 0) {
|
|
5255
|
+
height += this.root.state.options.calendar.week && this.root.state.options.calendar.week.height || 25;
|
|
5256
|
+
}
|
|
5257
|
+
|
|
5258
|
+
// Add day height if visible
|
|
5259
|
+
if (this.viewMode === 'day' && days.length > 0) {
|
|
5260
|
+
height += this.root.state.options.calendar.day.height;
|
|
5261
|
+
}
|
|
5262
|
+
this.root.state.options.calendar.height = height;
|
|
4335
5263
|
},
|
|
4336
|
-
/**
|
|
4337
|
-
* How many months will fit?
|
|
4338
|
-
*
|
|
4339
|
-
* @returns {object}
|
|
4340
|
-
*/
|
|
4341
|
-
howManyMonthsFit() {
|
|
4342
|
-
const stroke = 1;
|
|
4343
|
-
const additionalSpace = stroke + 2;
|
|
4344
|
-
let fullWidth = this.root.state.options.width;
|
|
4345
|
-
let formatNames = Object.keys(this.root.state.options.calendar.month.format);
|
|
4346
|
-
let currentMonth = dayjs_min_default()(this.root.state.options.times.firstTime);
|
|
4347
|
-
let previousMonth = currentMonth.clone();
|
|
4348
|
-
const lastTime = this.root.state.options.times.lastTime;
|
|
4349
|
-
let monthsCount = this.root.monthsCount(this.root.state.options.times.firstTime, this.root.state.options.times.lastTime);
|
|
4350
|
-
if (monthsCount === 1) {
|
|
4351
|
-
for (let formatName of formatNames) {
|
|
4352
|
-
if (this.root.state.options.calendar.month.maxWidths[formatName] + additionalSpace <= fullWidth) {
|
|
4353
|
-
return {
|
|
4354
|
-
count: 1,
|
|
4355
|
-
type: formatName
|
|
4356
|
-
};
|
|
4357
|
-
}
|
|
4358
|
-
}
|
|
4359
|
-
}
|
|
4360
|
-
for (let months = monthsCount; months > 1; months = Math.ceil(months / 2)) {
|
|
4361
|
-
for (let formatName of formatNames) {
|
|
4362
|
-
if ((this.root.state.options.calendar.month.maxWidths[formatName] + additionalSpace) * months <= fullWidth && months > 1) {
|
|
4363
|
-
return {
|
|
4364
|
-
count: months,
|
|
4365
|
-
type: formatName
|
|
4366
|
-
};
|
|
4367
|
-
}
|
|
4368
|
-
}
|
|
4369
|
-
}
|
|
4370
|
-
return {
|
|
4371
|
-
count: 0,
|
|
4372
|
-
type: formatNames[0]
|
|
4373
|
-
};
|
|
4374
|
-
},
|
|
4375
|
-
/**
|
|
4376
|
-
* Generate hours
|
|
4377
|
-
*
|
|
4378
|
-
* @returns {array}
|
|
4379
|
-
*/
|
|
4380
|
-
generateHours() {
|
|
4381
|
-
let allHours = [];
|
|
4382
|
-
if (!this.root.state.options.calendar.hour.display) {
|
|
4383
|
-
return allHours;
|
|
4384
|
-
}
|
|
4385
|
-
const steps = this.root.state.options.times.steps;
|
|
4386
|
-
const localeName = this.root.state.options.locale.name;
|
|
4387
|
-
for (let hourIndex = 0, len = steps.length; hourIndex < len; hourIndex++) {
|
|
4388
|
-
const hoursCount = this.howManyHoursFit(hourIndex);
|
|
4389
|
-
if (hoursCount.count === 0) {
|
|
4390
|
-
continue;
|
|
4391
|
-
}
|
|
4392
|
-
const hours = {
|
|
4393
|
-
key: hourIndex + 'step',
|
|
4394
|
-
children: []
|
|
4395
|
-
};
|
|
4396
|
-
const hourStep = 24 / hoursCount.count;
|
|
4397
|
-
const hourWidthPx = steps[hourIndex].width.px / hoursCount.count;
|
|
4398
|
-
for (let i = 0, len = hoursCount.count; i < len; i++) {
|
|
4399
|
-
const hour = i * hourStep;
|
|
4400
|
-
let index = hourIndex;
|
|
4401
|
-
if (hourIndex > 0) {
|
|
4402
|
-
index = hourIndex - Math.floor(hourIndex / 24) * 24;
|
|
4403
|
-
}
|
|
4404
|
-
let textWidth = 0;
|
|
4405
|
-
if (typeof this.root.state.options.calendar.hour.widths[index] !== 'undefined') {
|
|
4406
|
-
textWidth = this.root.state.options.calendar.hour.widths[index][hoursCount.type];
|
|
4407
|
-
}
|
|
4408
|
-
let x = steps[hourIndex].offset.px + hourWidthPx * i;
|
|
4409
|
-
hours.children.push({
|
|
4410
|
-
index: hourIndex,
|
|
4411
|
-
key: 'h' + i,
|
|
4412
|
-
x,
|
|
4413
|
-
y: this.root.state.options.calendar.day.height + this.root.state.options.calendar.month.height,
|
|
4414
|
-
width: hourWidthPx,
|
|
4415
|
-
textWidth,
|
|
4416
|
-
height: this.root.state.options.calendar.hour.height,
|
|
4417
|
-
label: this.root.state.options.calendar.hour.formatted[hoursCount.type][hour]
|
|
4418
|
-
});
|
|
4419
|
-
}
|
|
4420
|
-
allHours.push(hours);
|
|
4421
|
-
}
|
|
4422
|
-
return allHours;
|
|
4423
|
-
},
|
|
4424
|
-
/**
|
|
4425
|
-
* Generate days
|
|
4426
|
-
*
|
|
4427
|
-
* @returns {array}
|
|
4428
|
-
*/
|
|
4429
5264
|
generateDays() {
|
|
4430
5265
|
let days = [];
|
|
4431
|
-
if (!this.
|
|
5266
|
+
if (!(this.viewMode === 'day' || this.viewMode === 'week')) {
|
|
4432
5267
|
return days;
|
|
4433
5268
|
}
|
|
4434
5269
|
const daysCount = this.howManyDaysFit();
|
|
@@ -4440,23 +5275,26 @@ var CalendarRow_component = normalizeComponent(
|
|
|
4440
5275
|
const dayStep = Math.ceil(steps.length / daysCount.count);
|
|
4441
5276
|
for (let dayIndex = 0, len = steps.length; dayIndex < len; dayIndex += dayStep) {
|
|
4442
5277
|
let dayWidthPx = 0;
|
|
4443
|
-
|
|
5278
|
+
|
|
5279
|
+
// Calculate total width for this day group
|
|
4444
5280
|
for (let currentStep = 0; currentStep < dayStep; currentStep++) {
|
|
4445
5281
|
if (typeof steps[dayIndex + currentStep] !== 'undefined') {
|
|
4446
5282
|
dayWidthPx += steps[dayIndex + currentStep].width.px;
|
|
4447
5283
|
}
|
|
4448
5284
|
}
|
|
4449
|
-
const date =
|
|
5285
|
+
const date = this.dayjsInstance(steps[dayIndex].time);
|
|
4450
5286
|
let textWidth = 0;
|
|
4451
5287
|
if (typeof this.root.state.options.calendar.day.widths[dayIndex] !== 'undefined') {
|
|
4452
5288
|
textWidth = this.root.state.options.calendar.day.widths[dayIndex][daysCount.type];
|
|
4453
5289
|
}
|
|
4454
|
-
|
|
5290
|
+
|
|
5291
|
+
// Use exact step offset for perfect alignment with grid lines
|
|
5292
|
+
let x = Math.round(steps[dayIndex].offset.px); // Round to ensure exact pixel alignment
|
|
4455
5293
|
days.push({
|
|
4456
5294
|
index: dayIndex,
|
|
4457
5295
|
key: steps[dayIndex].time + 'd',
|
|
4458
5296
|
x,
|
|
4459
|
-
y: this.
|
|
5297
|
+
y: this.getYPosition('day'),
|
|
4460
5298
|
width: dayWidthPx,
|
|
4461
5299
|
textWidth,
|
|
4462
5300
|
height: this.root.state.options.calendar.day.height,
|
|
@@ -4468,11 +5306,99 @@ var CalendarRow_component = normalizeComponent(
|
|
|
4468
5306
|
children: [item]
|
|
4469
5307
|
}));
|
|
4470
5308
|
},
|
|
4471
|
-
|
|
4472
|
-
|
|
4473
|
-
|
|
4474
|
-
|
|
4475
|
-
|
|
5309
|
+
generateWeeks() {
|
|
5310
|
+
let weeks = [];
|
|
5311
|
+
if (this.viewMode !== 'week') {
|
|
5312
|
+
return weeks;
|
|
5313
|
+
}
|
|
5314
|
+
const steps = this.root.state.options.times.steps;
|
|
5315
|
+
let currentWeek = null;
|
|
5316
|
+
let weekStartX = 0;
|
|
5317
|
+
let weekWidth = 0;
|
|
5318
|
+
let weekStartDate = null;
|
|
5319
|
+
let weekEndDate = null;
|
|
5320
|
+
for (let i = 0; i < steps.length; i++) {
|
|
5321
|
+
try {
|
|
5322
|
+
const stepDate = this.dayjsInstance(steps[i].time);
|
|
5323
|
+
const weekNumber = stepDate.week();
|
|
5324
|
+
const year = stepDate.year();
|
|
5325
|
+
const weekKey = `${year}-W${weekNumber}`;
|
|
5326
|
+
if (weekKey !== currentWeek) {
|
|
5327
|
+
// Save previous week
|
|
5328
|
+
if (currentWeek !== null) {
|
|
5329
|
+
// Format the label as "Month Day-Day"
|
|
5330
|
+
const startMonth = weekStartDate.format('MMMM');
|
|
5331
|
+
const startDay = weekStartDate.date();
|
|
5332
|
+
const endDay = weekEndDate.date();
|
|
5333
|
+
let label = `${startMonth} ${startDay}`;
|
|
5334
|
+
|
|
5335
|
+
// If the week spans multiple months, show both months
|
|
5336
|
+
if (weekStartDate.month() !== weekEndDate.month()) {
|
|
5337
|
+
const endMonth = weekEndDate.format('MMMM');
|
|
5338
|
+
label = `${startMonth} ${startDay} - ${endMonth} ${endDay}`;
|
|
5339
|
+
} else if (startDay !== endDay) {
|
|
5340
|
+
label = `${startMonth} ${startDay}-${endDay}`;
|
|
5341
|
+
}
|
|
5342
|
+
weeks.push({
|
|
5343
|
+
key: currentWeek,
|
|
5344
|
+
x: weekStartX,
|
|
5345
|
+
// Use exact step offset for perfect alignment
|
|
5346
|
+
y: this.getYPosition('week'),
|
|
5347
|
+
width: weekWidth,
|
|
5348
|
+
textWidth: 50,
|
|
5349
|
+
height: this.root.state.options.calendar.week && this.root.state.options.calendar.week.height || 25,
|
|
5350
|
+
label: label
|
|
5351
|
+
});
|
|
5352
|
+
}
|
|
5353
|
+
|
|
5354
|
+
// Start new week - use exact step offset
|
|
5355
|
+
currentWeek = weekKey;
|
|
5356
|
+
weekStartX = Math.round(steps[i].offset.px); // Round to ensure exact pixel alignment
|
|
5357
|
+
weekWidth = steps[i].width.px;
|
|
5358
|
+
weekStartDate = stepDate.clone().startOf('week');
|
|
5359
|
+
weekEndDate = stepDate.clone().endOf('week');
|
|
5360
|
+
} else {
|
|
5361
|
+
// Same week, accumulate width and update end date
|
|
5362
|
+
weekWidth += steps[i].width.px;
|
|
5363
|
+
weekEndDate = stepDate.clone().endOf('week');
|
|
5364
|
+
}
|
|
5365
|
+
} catch (error) {
|
|
5366
|
+
console.error('Error processing week:', error);
|
|
5367
|
+
continue;
|
|
5368
|
+
}
|
|
5369
|
+
}
|
|
5370
|
+
|
|
5371
|
+
// Add the last week
|
|
5372
|
+
if (currentWeek !== null) {
|
|
5373
|
+
// Format the label as "Month Day-Day"
|
|
5374
|
+
const startMonth = weekStartDate.format('MMMM');
|
|
5375
|
+
const startDay = weekStartDate.date();
|
|
5376
|
+
const endDay = weekEndDate.date();
|
|
5377
|
+
let label = `${startMonth} ${startDay}`;
|
|
5378
|
+
|
|
5379
|
+
// If the week spans multiple months, show both months
|
|
5380
|
+
if (weekStartDate.month() !== weekEndDate.month()) {
|
|
5381
|
+
const endMonth = weekEndDate.format('MMMM');
|
|
5382
|
+
label = `${startMonth} ${startDay} - ${endMonth} ${endDay}`;
|
|
5383
|
+
} else if (startDay !== endDay) {
|
|
5384
|
+
label = `${startMonth} ${startDay}-${endDay}`;
|
|
5385
|
+
}
|
|
5386
|
+
weeks.push({
|
|
5387
|
+
key: currentWeek,
|
|
5388
|
+
x: weekStartX,
|
|
5389
|
+
// Use exact step offset for perfect alignment
|
|
5390
|
+
y: this.getYPosition('week'),
|
|
5391
|
+
width: weekWidth,
|
|
5392
|
+
textWidth: 60,
|
|
5393
|
+
height: this.root.state.options.calendar.week && this.root.state.options.calendar.week.height || 25,
|
|
5394
|
+
label: label
|
|
5395
|
+
});
|
|
5396
|
+
}
|
|
5397
|
+
return weeks.map(week => ({
|
|
5398
|
+
key: week.key,
|
|
5399
|
+
children: [week]
|
|
5400
|
+
}));
|
|
5401
|
+
},
|
|
4476
5402
|
generateMonths() {
|
|
4477
5403
|
let months = [];
|
|
4478
5404
|
if (!this.root.state.options.calendar.month.display) {
|
|
@@ -4515,7 +5441,8 @@ var CalendarRow_component = normalizeComponent(
|
|
|
4515
5441
|
if (typeof this.root.state.options.calendar.month.widths[monthIndex] !== 'undefined') {
|
|
4516
5442
|
textWidth = this.root.state.options.calendar.month.widths[monthIndex][choosenFormatName];
|
|
4517
5443
|
}
|
|
4518
|
-
|
|
5444
|
+
// Use exact step offset for perfect alignment with grid lines
|
|
5445
|
+
let x = Math.round(monthOffset); // Round to ensure exact pixel alignment
|
|
4519
5446
|
months.push({
|
|
4520
5447
|
index: monthIndex,
|
|
4521
5448
|
key: monthIndex + 'm',
|
|
@@ -4537,47 +5464,230 @@ var CalendarRow_component = normalizeComponent(
|
|
|
4537
5464
|
children: [item]
|
|
4538
5465
|
}));
|
|
4539
5466
|
},
|
|
4540
|
-
|
|
4541
|
-
|
|
4542
|
-
|
|
4543
|
-
|
|
4544
|
-
*/
|
|
4545
|
-
calculateCalendarDimensions({
|
|
4546
|
-
hours,
|
|
4547
|
-
days,
|
|
4548
|
-
months
|
|
4549
|
-
}) {
|
|
4550
|
-
let height = 0;
|
|
4551
|
-
if (this.root.state.options.calendar.hour.display && hours.length > 0) {
|
|
4552
|
-
height += this.root.state.options.calendar.hour.height;
|
|
5467
|
+
generateQuarters() {
|
|
5468
|
+
let quarters = [];
|
|
5469
|
+
if (this.viewMode !== 'quarter') {
|
|
5470
|
+
return quarters;
|
|
4553
5471
|
}
|
|
4554
|
-
|
|
4555
|
-
|
|
5472
|
+
const steps = this.root.state.options.times.steps;
|
|
5473
|
+
|
|
5474
|
+
// Debug: Log quarter generation info
|
|
5475
|
+
console.log('Quarter Generation Debug:', {
|
|
5476
|
+
stepsCount: steps.length,
|
|
5477
|
+
firstStepTime: this.dayjsInstance(steps[0] && steps[0].time).format('YYYY-MM-DD'),
|
|
5478
|
+
lastStepTime: this.dayjsInstance(steps[steps.length - 1] && steps[steps.length - 1].time).format('YYYY-MM-DD'),
|
|
5479
|
+
firstStepQuarter: this.dayjsInstance(steps[0] && steps[0].time).quarter(),
|
|
5480
|
+
lastStepQuarter: this.dayjsInstance(steps[steps.length - 1] && steps[steps.length - 1].time).quarter()
|
|
5481
|
+
});
|
|
5482
|
+
let currentQuarter = null;
|
|
5483
|
+
let quarterStartX = 0;
|
|
5484
|
+
let quarterWidth = 0;
|
|
5485
|
+
let quarterStartDate = null;
|
|
5486
|
+
let quarterEndDate = null;
|
|
5487
|
+
for (let i = 0; i < steps.length; i++) {
|
|
5488
|
+
try {
|
|
5489
|
+
// Use UTC to avoid locale/timezone issues
|
|
5490
|
+
const stepDate = this.dayjsInstance(steps[i].time);
|
|
5491
|
+
const quarter = stepDate.quarter();
|
|
5492
|
+
const year = stepDate.year();
|
|
5493
|
+
const quarterKey = `Q${quarter}-${year}`;
|
|
5494
|
+
console.log(`Step ${i}:`, {
|
|
5495
|
+
time: stepDate.format('YYYY-MM-DD'),
|
|
5496
|
+
quarter: quarter,
|
|
5497
|
+
year: year,
|
|
5498
|
+
quarterKey: quarterKey,
|
|
5499
|
+
currentQuarter: currentQuarter
|
|
5500
|
+
});
|
|
5501
|
+
if (quarterKey !== currentQuarter) {
|
|
5502
|
+
// Save previous quarter
|
|
5503
|
+
if (currentQuarter !== null) {
|
|
5504
|
+
// Format the label as "Month – Month 'Year"
|
|
5505
|
+
const startMonth = quarterStartDate.format('MMMM');
|
|
5506
|
+
const endMonth = quarterEndDate.format('MMMM');
|
|
5507
|
+
const shortYear = quarterEndDate.format("YY");
|
|
5508
|
+
const label = `${startMonth} – ${endMonth} '${shortYear}`;
|
|
5509
|
+
quarters.push({
|
|
5510
|
+
key: currentQuarter,
|
|
5511
|
+
x: quarterStartX,
|
|
5512
|
+
// Use exact step offset for perfect alignment
|
|
5513
|
+
y: this.getYPosition('quarter'),
|
|
5514
|
+
width: quarterWidth,
|
|
5515
|
+
textWidth: 50,
|
|
5516
|
+
height: this.root.state.options.calendar.quarter && this.root.state.options.calendar.quarter.height || 30,
|
|
5517
|
+
label: label
|
|
5518
|
+
});
|
|
5519
|
+
}
|
|
5520
|
+
|
|
5521
|
+
// Start new quarter
|
|
5522
|
+
currentQuarter = quarterKey;
|
|
5523
|
+
quarterStartX = Math.round(steps[i].offset.px); // Round to ensure exact pixel alignment
|
|
5524
|
+
quarterWidth = steps[i].width.px;
|
|
5525
|
+
quarterStartDate = stepDate.clone().startOf('quarter');
|
|
5526
|
+
quarterEndDate = stepDate.clone().endOf('quarter');
|
|
5527
|
+
} else {
|
|
5528
|
+
// Same quarter, accumulate width and update end date
|
|
5529
|
+
quarterWidth += steps[i].width.px;
|
|
5530
|
+
quarterEndDate = stepDate.clone().endOf('quarter');
|
|
5531
|
+
}
|
|
5532
|
+
} catch (error) {
|
|
5533
|
+
console.error('Error processing quarter:', error);
|
|
5534
|
+
continue;
|
|
5535
|
+
}
|
|
4556
5536
|
}
|
|
4557
|
-
|
|
4558
|
-
|
|
5537
|
+
|
|
5538
|
+
// Add the last quarter
|
|
5539
|
+
if (currentQuarter !== null) {
|
|
5540
|
+
// Format the label as "Month – Month 'Year"
|
|
5541
|
+
const startMonth = quarterStartDate.format('MMMM');
|
|
5542
|
+
const endMonth = quarterEndDate.format('MMMM');
|
|
5543
|
+
const shortYear = quarterEndDate.format("YY");
|
|
5544
|
+
const label = `${startMonth} – ${endMonth} '${shortYear}`;
|
|
5545
|
+
quarters.push({
|
|
5546
|
+
key: currentQuarter,
|
|
5547
|
+
x: quarterStartX,
|
|
5548
|
+
// Use exact step offset for perfect alignment
|
|
5549
|
+
y: this.getYPosition('quarter'),
|
|
5550
|
+
width: quarterWidth,
|
|
5551
|
+
textWidth: 60,
|
|
5552
|
+
height: this.root.state.options.calendar.quarter && this.root.state.options.calendar.quarter.height || 30,
|
|
5553
|
+
label: label
|
|
5554
|
+
});
|
|
4559
5555
|
}
|
|
4560
|
-
|
|
4561
|
-
|
|
4562
|
-
|
|
4563
|
-
|
|
4564
|
-
|
|
4565
|
-
|
|
4566
|
-
|
|
4567
|
-
|
|
4568
|
-
|
|
4569
|
-
|
|
4570
|
-
|
|
4571
|
-
|
|
5556
|
+
return quarters.map(quarter => ({
|
|
5557
|
+
key: quarter.key,
|
|
5558
|
+
children: [quarter]
|
|
5559
|
+
}));
|
|
5560
|
+
},
|
|
5561
|
+
getYPosition(type) {
|
|
5562
|
+
let y = 0;
|
|
5563
|
+
switch (type) {
|
|
5564
|
+
case 'quarter':
|
|
5565
|
+
return 0;
|
|
5566
|
+
case 'month':
|
|
5567
|
+
// Put month row below quarter if in quarterly view
|
|
5568
|
+
return this.viewMode === 'quarter' ? this.root.state.options.calendar.quarter && this.root.state.options.calendar.quarter.height || 30 : 0;
|
|
5569
|
+
case 'week':
|
|
5570
|
+
// Put week row below month and quarter if applicable
|
|
5571
|
+
|
|
5572
|
+
if (this.viewMode === 'quarter') {
|
|
5573
|
+
y += this.root.state.options.calendar.quarter && 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
|
+
return y;
|
|
5579
|
+
case 'day':
|
|
5580
|
+
// Put day below week if applicable
|
|
5581
|
+
y = 0;
|
|
5582
|
+
if (this.viewMode === 'quarter') {
|
|
5583
|
+
y += this.root.state.options.calendar.quarter && this.root.state.options.calendar.quarter.height || 30;
|
|
5584
|
+
}
|
|
5585
|
+
if (this.viewMode === 'month' || this.viewMode === 'quarter') {
|
|
5586
|
+
y += this.root.state.options.calendar.month.height;
|
|
5587
|
+
}
|
|
5588
|
+
if (this.viewMode === 'week') {
|
|
5589
|
+
y += this.root.state.options.calendar.week && this.root.state.options.calendar.week.height || 25;
|
|
5590
|
+
}
|
|
5591
|
+
return y;
|
|
5592
|
+
case 'hour':
|
|
5593
|
+
// Put hour row below day if applicable
|
|
5594
|
+
y = 0;
|
|
5595
|
+
if (this.viewMode === 'quarter') {
|
|
5596
|
+
y += this.root.state.options.calendar.quarter && this.root.state.options.calendar.quarter.height || 30;
|
|
5597
|
+
}
|
|
5598
|
+
if (this.viewMode === 'month' || this.viewMode === 'quarter') {
|
|
5599
|
+
y += this.root.state.options.calendar.month.height;
|
|
5600
|
+
}
|
|
5601
|
+
if (this.viewMode === 'week') {
|
|
5602
|
+
y += this.root.state.options.calendar.week && this.root.state.options.calendar.week.height || 25;
|
|
5603
|
+
}
|
|
5604
|
+
if (this.viewMode === 'day') {
|
|
5605
|
+
y += this.root.state.options.calendar.day.height;
|
|
5606
|
+
}
|
|
5607
|
+
return y;
|
|
5608
|
+
default:
|
|
5609
|
+
return 0;
|
|
5610
|
+
}
|
|
5611
|
+
},
|
|
5612
|
+
howManyHoursFit(dayIndex) {
|
|
5613
|
+
const stroke = 1;
|
|
5614
|
+
const additionalSpace = stroke + 2;
|
|
5615
|
+
let fullCellWidth = this.root.state.options.times.steps[dayIndex].width.px;
|
|
5616
|
+
let formatNames = Object.keys(this.root.state.options.calendar.hour.format);
|
|
5617
|
+
for (let hours = 24; hours > 1; hours = Math.ceil(hours / 2)) {
|
|
5618
|
+
for (let formatName of formatNames) {
|
|
5619
|
+
if ((this.root.state.options.calendar.hour.maxWidths[formatName] + additionalSpace) * hours <= fullCellWidth && hours > 1) {
|
|
5620
|
+
return {
|
|
5621
|
+
count: hours,
|
|
5622
|
+
type: formatName
|
|
5623
|
+
};
|
|
5624
|
+
}
|
|
5625
|
+
}
|
|
5626
|
+
}
|
|
5627
|
+
return {
|
|
5628
|
+
count: 0,
|
|
5629
|
+
type: ''
|
|
5630
|
+
};
|
|
5631
|
+
},
|
|
5632
|
+
howManyDaysFit() {
|
|
5633
|
+
const stroke = 1;
|
|
5634
|
+
const additionalSpace = stroke + 2;
|
|
5635
|
+
let fullWidth = this.root.state.options.width;
|
|
5636
|
+
let formatNames = Object.keys(this.root.state.options.calendar.day.format);
|
|
5637
|
+
for (let days = this.root.state.options.times.steps.length; days > 1; days = Math.ceil(days / 2)) {
|
|
5638
|
+
for (let formatName of formatNames) {
|
|
5639
|
+
if ((this.root.state.options.calendar.day.maxWidths[formatName] + additionalSpace) * days <= fullWidth && days > 1) {
|
|
5640
|
+
return {
|
|
5641
|
+
count: days,
|
|
5642
|
+
type: formatName
|
|
5643
|
+
};
|
|
5644
|
+
}
|
|
5645
|
+
}
|
|
5646
|
+
}
|
|
5647
|
+
return {
|
|
5648
|
+
count: 0,
|
|
5649
|
+
type: ''
|
|
5650
|
+
};
|
|
5651
|
+
},
|
|
5652
|
+
howManyMonthsFit() {
|
|
5653
|
+
const stroke = 1;
|
|
5654
|
+
const additionalSpace = stroke + 2;
|
|
5655
|
+
let fullWidth = this.root.state.options.width;
|
|
5656
|
+
let formatNames = Object.keys(this.root.state.options.calendar.month.format);
|
|
5657
|
+
let currentMonth = dayjs_min_default()(this.root.state.options.times.firstTime);
|
|
5658
|
+
let previousMonth = currentMonth.clone();
|
|
5659
|
+
const lastTime = this.root.state.options.times.lastTime;
|
|
5660
|
+
let monthsCount = this.root.monthsCount(this.root.state.options.times.firstTime, this.root.state.options.times.lastTime);
|
|
5661
|
+
if (monthsCount === 1) {
|
|
5662
|
+
for (let formatName of formatNames) {
|
|
5663
|
+
if (this.root.state.options.calendar.month.maxWidths[formatName] + additionalSpace <= fullWidth) {
|
|
5664
|
+
return {
|
|
5665
|
+
count: 1,
|
|
5666
|
+
type: formatName
|
|
5667
|
+
};
|
|
5668
|
+
}
|
|
5669
|
+
}
|
|
5670
|
+
}
|
|
5671
|
+
for (let months = monthsCount; months > 1; months = Math.ceil(months / 2)) {
|
|
5672
|
+
for (let formatName of formatNames) {
|
|
5673
|
+
if ((this.root.state.options.calendar.month.maxWidths[formatName] + additionalSpace) * months <= fullWidth && months > 1) {
|
|
5674
|
+
return {
|
|
5675
|
+
count: months,
|
|
5676
|
+
type: formatName
|
|
5677
|
+
};
|
|
5678
|
+
}
|
|
5679
|
+
}
|
|
5680
|
+
}
|
|
5681
|
+
return {
|
|
5682
|
+
count: 0,
|
|
5683
|
+
type: formatNames[0]
|
|
4572
5684
|
};
|
|
4573
|
-
this.calculateCalendarDimensions(allDates);
|
|
4574
|
-
return allDates;
|
|
4575
5685
|
}
|
|
4576
5686
|
}
|
|
4577
5687
|
});
|
|
4578
|
-
;// ./src/components/
|
|
5688
|
+
;// ./src/components/Calendar/Calendar.vue?vue&type=script&lang=js
|
|
4579
5689
|
/* harmony default export */ var Calendar_Calendarvue_type_script_lang_js = (Calendarvue_type_script_lang_js);
|
|
4580
|
-
;// ./src/components/
|
|
5690
|
+
;// ./src/components/Calendar/Calendar.vue
|
|
4581
5691
|
|
|
4582
5692
|
|
|
4583
5693
|
|
|
@@ -4587,8 +5697,8 @@ var CalendarRow_component = normalizeComponent(
|
|
|
4587
5697
|
;
|
|
4588
5698
|
var Calendar_component = normalizeComponent(
|
|
4589
5699
|
Calendar_Calendarvue_type_script_lang_js,
|
|
4590
|
-
|
|
4591
|
-
|
|
5700
|
+
Calendarvue_type_template_id_c22056b8_render,
|
|
5701
|
+
Calendarvue_type_template_id_c22056b8_staticRenderFns,
|
|
4592
5702
|
false,
|
|
4593
5703
|
null,
|
|
4594
5704
|
null,
|
|
@@ -4597,8 +5707,8 @@ var Calendar_component = normalizeComponent(
|
|
|
4597
5707
|
)
|
|
4598
5708
|
|
|
4599
5709
|
/* harmony default export */ var Calendar = (Calendar_component.exports);
|
|
4600
|
-
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-83.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/
|
|
4601
|
-
var
|
|
5710
|
+
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-83.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
|
|
5711
|
+
var DependencyLinesvue_type_template_id_bc574838_render = function render() {
|
|
4602
5712
|
var _vm = this,
|
|
4603
5713
|
_c = _vm._self._c;
|
|
4604
5714
|
return _c('svg', {
|
|
@@ -4635,9 +5745,9 @@ var DependencyLinesvue_type_template_id_eddd62e6_render = function render() {
|
|
|
4635
5745
|
}), 0);
|
|
4636
5746
|
}), 0);
|
|
4637
5747
|
};
|
|
4638
|
-
var
|
|
5748
|
+
var DependencyLinesvue_type_template_id_bc574838_staticRenderFns = [];
|
|
4639
5749
|
|
|
4640
|
-
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-83.use[1]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/
|
|
5750
|
+
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-83.use[1]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/Chart/DependencyLines.vue?vue&type=script&lang=js
|
|
4641
5751
|
|
|
4642
5752
|
|
|
4643
5753
|
|
|
@@ -4718,9 +5828,9 @@ var DependencyLinesvue_type_template_id_eddd62e6_staticRenderFns = [];
|
|
|
4718
5828
|
}
|
|
4719
5829
|
}
|
|
4720
5830
|
});
|
|
4721
|
-
;// ./src/components/
|
|
5831
|
+
;// ./src/components/Chart/DependencyLines.vue?vue&type=script&lang=js
|
|
4722
5832
|
/* harmony default export */ var Chart_DependencyLinesvue_type_script_lang_js = (DependencyLinesvue_type_script_lang_js);
|
|
4723
|
-
;// ./src/components/
|
|
5833
|
+
;// ./src/components/Chart/DependencyLines.vue
|
|
4724
5834
|
|
|
4725
5835
|
|
|
4726
5836
|
|
|
@@ -4730,8 +5840,8 @@ var DependencyLinesvue_type_template_id_eddd62e6_staticRenderFns = [];
|
|
|
4730
5840
|
;
|
|
4731
5841
|
var DependencyLines_component = normalizeComponent(
|
|
4732
5842
|
Chart_DependencyLinesvue_type_script_lang_js,
|
|
4733
|
-
|
|
4734
|
-
|
|
5843
|
+
DependencyLinesvue_type_template_id_bc574838_render,
|
|
5844
|
+
DependencyLinesvue_type_template_id_bc574838_staticRenderFns,
|
|
4735
5845
|
false,
|
|
4736
5846
|
null,
|
|
4737
5847
|
null,
|
|
@@ -4740,8 +5850,8 @@ var DependencyLines_component = normalizeComponent(
|
|
|
4740
5850
|
)
|
|
4741
5851
|
|
|
4742
5852
|
/* harmony default export */ var DependencyLines = (DependencyLines_component.exports);
|
|
4743
|
-
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-83.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/
|
|
4744
|
-
var
|
|
5853
|
+
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-83.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
|
|
5854
|
+
var Taskvue_type_template_id_208a9baa_render = function render() {
|
|
4745
5855
|
var _vm = this,
|
|
4746
5856
|
_c = _vm._self._c;
|
|
4747
5857
|
return _c('g', {
|
|
@@ -4850,10 +5960,10 @@ var Taskvue_type_template_id_2afb5353_render = function render() {
|
|
|
4850
5960
|
}
|
|
4851
5961
|
}) : _vm._e()], 1);
|
|
4852
5962
|
};
|
|
4853
|
-
var
|
|
5963
|
+
var Taskvue_type_template_id_208a9baa_staticRenderFns = [];
|
|
4854
5964
|
|
|
4855
|
-
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-83.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/
|
|
4856
|
-
var
|
|
5965
|
+
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-83.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
|
|
5966
|
+
var Textvue_type_template_id_634f40aa_render = function render() {
|
|
4857
5967
|
var _vm = this,
|
|
4858
5968
|
_c = _vm._self._c;
|
|
4859
5969
|
return _c('svg', {
|
|
@@ -4901,9 +6011,9 @@ var Textvue_type_template_id_d1c1415a_render = function render() {
|
|
|
4901
6011
|
}
|
|
4902
6012
|
}) : _vm._e()])])]);
|
|
4903
6013
|
};
|
|
4904
|
-
var
|
|
6014
|
+
var Textvue_type_template_id_634f40aa_staticRenderFns = [];
|
|
4905
6015
|
|
|
4906
|
-
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-83.use[1]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/
|
|
6016
|
+
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-83.use[1]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/Chart/Text.vue?vue&type=script&lang=js
|
|
4907
6017
|
/* harmony default export */ var Textvue_type_script_lang_js = ({
|
|
4908
6018
|
name: 'ChartText',
|
|
4909
6019
|
inject: ['root'],
|
|
@@ -4965,9 +6075,9 @@ var Textvue_type_template_id_d1c1415a_staticRenderFns = [];
|
|
|
4965
6075
|
}
|
|
4966
6076
|
}
|
|
4967
6077
|
});
|
|
4968
|
-
;// ./src/components/
|
|
6078
|
+
;// ./src/components/Chart/Text.vue?vue&type=script&lang=js
|
|
4969
6079
|
/* harmony default export */ var Chart_Textvue_type_script_lang_js = (Textvue_type_script_lang_js);
|
|
4970
|
-
;// ./src/components/
|
|
6080
|
+
;// ./src/components/Chart/Text.vue
|
|
4971
6081
|
|
|
4972
6082
|
|
|
4973
6083
|
|
|
@@ -4977,8 +6087,8 @@ var Textvue_type_template_id_d1c1415a_staticRenderFns = [];
|
|
|
4977
6087
|
;
|
|
4978
6088
|
var Text_component = normalizeComponent(
|
|
4979
6089
|
Chart_Textvue_type_script_lang_js,
|
|
4980
|
-
|
|
4981
|
-
|
|
6090
|
+
Textvue_type_template_id_634f40aa_render,
|
|
6091
|
+
Textvue_type_template_id_634f40aa_staticRenderFns,
|
|
4982
6092
|
false,
|
|
4983
6093
|
null,
|
|
4984
6094
|
null,
|
|
@@ -4987,8 +6097,8 @@ var Text_component = normalizeComponent(
|
|
|
4987
6097
|
)
|
|
4988
6098
|
|
|
4989
6099
|
/* harmony default export */ var Text = (Text_component.exports);
|
|
4990
|
-
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-83.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/
|
|
4991
|
-
var
|
|
6100
|
+
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-83.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
|
|
6101
|
+
var ProgressBarvue_type_template_id_bc869ae8_render = function render() {
|
|
4992
6102
|
var _vm = this,
|
|
4993
6103
|
_c = _vm._self._c;
|
|
4994
6104
|
return _c('g', {
|
|
@@ -5052,9 +6162,9 @@ var ProgressBarvue_type_template_id_00ca07fa_render = function render() {
|
|
|
5052
6162
|
}
|
|
5053
6163
|
})]) : _vm._e()]);
|
|
5054
6164
|
};
|
|
5055
|
-
var
|
|
6165
|
+
var ProgressBarvue_type_template_id_bc869ae8_staticRenderFns = [];
|
|
5056
6166
|
|
|
5057
|
-
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-83.use[1]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/
|
|
6167
|
+
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-83.use[1]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/Chart/ProgressBar.vue?vue&type=script&lang=js
|
|
5058
6168
|
/* harmony default export */ var ProgressBarvue_type_script_lang_js = ({
|
|
5059
6169
|
name: 'ProgressBar',
|
|
5060
6170
|
inject: ['root'],
|
|
@@ -5101,9 +6211,9 @@ var ProgressBarvue_type_template_id_00ca07fa_staticRenderFns = [];
|
|
|
5101
6211
|
}
|
|
5102
6212
|
}
|
|
5103
6213
|
});
|
|
5104
|
-
;// ./src/components/
|
|
6214
|
+
;// ./src/components/Chart/ProgressBar.vue?vue&type=script&lang=js
|
|
5105
6215
|
/* harmony default export */ var Chart_ProgressBarvue_type_script_lang_js = (ProgressBarvue_type_script_lang_js);
|
|
5106
|
-
;// ./src/components/
|
|
6216
|
+
;// ./src/components/Chart/ProgressBar.vue
|
|
5107
6217
|
|
|
5108
6218
|
|
|
5109
6219
|
|
|
@@ -5113,8 +6223,8 @@ var ProgressBarvue_type_template_id_00ca07fa_staticRenderFns = [];
|
|
|
5113
6223
|
;
|
|
5114
6224
|
var ProgressBar_component = normalizeComponent(
|
|
5115
6225
|
Chart_ProgressBarvue_type_script_lang_js,
|
|
5116
|
-
|
|
5117
|
-
|
|
6226
|
+
ProgressBarvue_type_template_id_bc869ae8_render,
|
|
6227
|
+
ProgressBarvue_type_template_id_bc869ae8_staticRenderFns,
|
|
5118
6228
|
false,
|
|
5119
6229
|
null,
|
|
5120
6230
|
null,
|
|
@@ -5123,7 +6233,7 @@ var ProgressBar_component = normalizeComponent(
|
|
|
5123
6233
|
)
|
|
5124
6234
|
|
|
5125
6235
|
/* harmony default export */ var ProgressBar = (ProgressBar_component.exports);
|
|
5126
|
-
;// ./src/components/
|
|
6236
|
+
;// ./src/components/Chart/Row/Task.mixin.js
|
|
5127
6237
|
/* harmony default export */ var Task_mixin = ({
|
|
5128
6238
|
computed: {
|
|
5129
6239
|
/**
|
|
@@ -5150,7 +6260,8 @@ var ProgressBar_component = normalizeComponent(
|
|
|
5150
6260
|
*/
|
|
5151
6261
|
displayExpander() {
|
|
5152
6262
|
const expander = this.root.state.options.chart.expander;
|
|
5153
|
-
|
|
6263
|
+
const hasChildren = this.task.allChildren && this.task.allChildren.length > 0;
|
|
6264
|
+
return (expander.display || expander.displayIfTaskListHidden && !this.root.state.options.taskList.display) && hasChildren;
|
|
5154
6265
|
}
|
|
5155
6266
|
},
|
|
5156
6267
|
methods: {
|
|
@@ -5170,7 +6281,7 @@ var ProgressBar_component = normalizeComponent(
|
|
|
5170
6281
|
}
|
|
5171
6282
|
}
|
|
5172
6283
|
});
|
|
5173
|
-
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-83.use[1]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/
|
|
6284
|
+
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-83.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
|
|
5174
6285
|
|
|
5175
6286
|
|
|
5176
6287
|
|
|
@@ -5198,19 +6309,593 @@ var ProgressBar_component = normalizeComponent(
|
|
|
5198
6309
|
return 'gantt-elastic__task-clip-path-' + this.task.id;
|
|
5199
6310
|
},
|
|
5200
6311
|
/**
|
|
5201
|
-
* Get points
|
|
6312
|
+
* Get points
|
|
6313
|
+
*
|
|
6314
|
+
* @returns {string}
|
|
6315
|
+
*/
|
|
6316
|
+
getPoints() {
|
|
6317
|
+
const task = this.task;
|
|
6318
|
+
return `0,0 ${task.width},0 ${task.width},${task.height} 0,${task.height}`;
|
|
6319
|
+
}
|
|
6320
|
+
}
|
|
6321
|
+
});
|
|
6322
|
+
;// ./src/components/Chart/Row/Task.vue?vue&type=script&lang=js
|
|
6323
|
+
/* harmony default export */ var Row_Taskvue_type_script_lang_js = (Taskvue_type_script_lang_js);
|
|
6324
|
+
;// ./src/components/Chart/Row/Task.vue
|
|
6325
|
+
|
|
6326
|
+
|
|
6327
|
+
|
|
6328
|
+
|
|
6329
|
+
|
|
6330
|
+
/* normalize component */
|
|
6331
|
+
;
|
|
6332
|
+
var Task_component = normalizeComponent(
|
|
6333
|
+
Row_Taskvue_type_script_lang_js,
|
|
6334
|
+
Taskvue_type_template_id_208a9baa_render,
|
|
6335
|
+
Taskvue_type_template_id_208a9baa_staticRenderFns,
|
|
6336
|
+
false,
|
|
6337
|
+
null,
|
|
6338
|
+
null,
|
|
6339
|
+
null
|
|
6340
|
+
|
|
6341
|
+
)
|
|
6342
|
+
|
|
6343
|
+
/* harmony default export */ var Task = (Task_component.exports);
|
|
6344
|
+
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-83.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
|
|
6345
|
+
var Milestonevue_type_template_id_edd49e02_render = function render() {
|
|
6346
|
+
var _vm = this,
|
|
6347
|
+
_c = _vm._self._c;
|
|
6348
|
+
return _c('g', {
|
|
6349
|
+
staticClass: "gantt-elastic__chart-row-bar-wrapper gantt-elastic__chart-row-milestone-wrapper",
|
|
6350
|
+
style: {
|
|
6351
|
+
..._vm.root.style['chart-row-bar-wrapper'],
|
|
6352
|
+
..._vm.root.style['chart-row-milestone-wrapper'],
|
|
6353
|
+
..._vm.task.style['chart-row-bar-wrapper']
|
|
6354
|
+
}
|
|
6355
|
+
}, [_vm.displayExpander ? _c('foreignObject', {
|
|
6356
|
+
staticClass: "gantt-elastic__chart-expander gantt-elastic__chart-expander--milestone",
|
|
6357
|
+
style: {
|
|
6358
|
+
..._vm.root.style['chart-expander'],
|
|
6359
|
+
..._vm.root.style['chart-expander--milestone'],
|
|
6360
|
+
..._vm.task.style['chart-expander']
|
|
6361
|
+
},
|
|
6362
|
+
attrs: {
|
|
6363
|
+
"x": _vm.task.x - _vm.root.state.options.chart.expander.offset - _vm.root.state.options.chart.expander.size,
|
|
6364
|
+
"y": _vm.task.y + (_vm.root.state.options.row.height - _vm.root.state.options.chart.expander.size) / 2,
|
|
6365
|
+
"width": _vm.root.state.options.chart.expander.size,
|
|
6366
|
+
"height": _vm.root.state.options.chart.expander.size
|
|
6367
|
+
}
|
|
6368
|
+
}, [_c('expander', {
|
|
6369
|
+
attrs: {
|
|
6370
|
+
"tasks": [_vm.task],
|
|
6371
|
+
"options": _vm.root.state.options.chart.expander,
|
|
6372
|
+
"type": "chart"
|
|
6373
|
+
}
|
|
6374
|
+
})], 1) : _vm._e(), _c('svg', {
|
|
6375
|
+
staticClass: "gantt-elastic__chart-row-bar gantt-elastic__chart-row-milestone",
|
|
6376
|
+
style: {
|
|
6377
|
+
..._vm.root.style['chart-row-bar'],
|
|
6378
|
+
..._vm.root.style['chart-row-milestone'],
|
|
6379
|
+
..._vm.task.style['chart-row-bar']
|
|
6380
|
+
},
|
|
6381
|
+
attrs: {
|
|
6382
|
+
"x": _vm.task.x,
|
|
6383
|
+
"y": _vm.task.y,
|
|
6384
|
+
"width": _vm.task.width,
|
|
6385
|
+
"height": _vm.task.height,
|
|
6386
|
+
"viewBox": `0 0 ${_vm.task.width} ${_vm.task.height}`,
|
|
6387
|
+
"xmlns": "http://www.w3.org/2000/svg"
|
|
6388
|
+
},
|
|
6389
|
+
on: {
|
|
6390
|
+
"click": function ($event) {
|
|
6391
|
+
return _vm.emitEvent('click', $event);
|
|
6392
|
+
},
|
|
6393
|
+
"mouseenter": function ($event) {
|
|
6394
|
+
return _vm.emitEvent('mouseenter', $event);
|
|
6395
|
+
},
|
|
6396
|
+
"mouseover": function ($event) {
|
|
6397
|
+
return _vm.emitEvent('mouseover', $event);
|
|
6398
|
+
},
|
|
6399
|
+
"mouseout": function ($event) {
|
|
6400
|
+
return _vm.emitEvent('mouseout', $event);
|
|
6401
|
+
},
|
|
6402
|
+
"mousemove": function ($event) {
|
|
6403
|
+
return _vm.emitEvent('mousemove', $event);
|
|
6404
|
+
},
|
|
6405
|
+
"mousedown": function ($event) {
|
|
6406
|
+
return _vm.emitEvent('mousedown', $event);
|
|
6407
|
+
},
|
|
6408
|
+
"mouseup": function ($event) {
|
|
6409
|
+
return _vm.emitEvent('mouseup', $event);
|
|
6410
|
+
},
|
|
6411
|
+
"mousewheel": function ($event) {
|
|
6412
|
+
return _vm.emitEvent('mousewheel', $event);
|
|
6413
|
+
},
|
|
6414
|
+
"touchstart": function ($event) {
|
|
6415
|
+
return _vm.emitEvent('touchstart', $event);
|
|
6416
|
+
},
|
|
6417
|
+
"touchmove": function ($event) {
|
|
6418
|
+
return _vm.emitEvent('touchmove', $event);
|
|
6419
|
+
},
|
|
6420
|
+
"touchend": function ($event) {
|
|
6421
|
+
return _vm.emitEvent('touchend', $event);
|
|
6422
|
+
}
|
|
6423
|
+
}
|
|
6424
|
+
}, [_c('defs', [_c('clipPath', {
|
|
6425
|
+
attrs: {
|
|
6426
|
+
"id": _vm.clipPathId
|
|
6427
|
+
}
|
|
6428
|
+
}, [_c('polygon', {
|
|
6429
|
+
attrs: {
|
|
6430
|
+
"points": _vm.getPoints
|
|
6431
|
+
}
|
|
6432
|
+
})])]), _c('polygon', {
|
|
6433
|
+
staticClass: "gantt-elastic__chart-row-bar-polygon gantt-elastic__chart-row-milestone-polygon",
|
|
6434
|
+
style: {
|
|
6435
|
+
..._vm.root.style['chart-row-bar-polygon'],
|
|
6436
|
+
..._vm.root.style['chart-row-milestone-polygon'],
|
|
6437
|
+
..._vm.task.style['base'],
|
|
6438
|
+
..._vm.task.style['chart-row-bar-polygon']
|
|
6439
|
+
},
|
|
6440
|
+
attrs: {
|
|
6441
|
+
"points": _vm.getPoints
|
|
6442
|
+
}
|
|
6443
|
+
}), _c('progress-bar', {
|
|
6444
|
+
attrs: {
|
|
6445
|
+
"task": _vm.task,
|
|
6446
|
+
"clip-path": 'url(#' + _vm.clipPathId + ')'
|
|
6447
|
+
}
|
|
6448
|
+
})], 1), _vm.root.state.options.chart.text.display ? _c('chart-text', {
|
|
6449
|
+
attrs: {
|
|
6450
|
+
"task": _vm.task
|
|
6451
|
+
}
|
|
6452
|
+
}) : _vm._e()], 1);
|
|
6453
|
+
};
|
|
6454
|
+
var Milestonevue_type_template_id_edd49e02_staticRenderFns = [];
|
|
6455
|
+
|
|
6456
|
+
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-83.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
|
|
6457
|
+
|
|
6458
|
+
|
|
6459
|
+
|
|
6460
|
+
|
|
6461
|
+
/* harmony default export */ var Milestonevue_type_script_lang_js = ({
|
|
6462
|
+
name: 'Milestone',
|
|
6463
|
+
components: {
|
|
6464
|
+
ChartText: Text,
|
|
6465
|
+
ProgressBar: ProgressBar,
|
|
6466
|
+
Expander: Expander
|
|
6467
|
+
},
|
|
6468
|
+
inject: ['root'],
|
|
6469
|
+
props: ['task'],
|
|
6470
|
+
mixins: [Task_mixin],
|
|
6471
|
+
data() {
|
|
6472
|
+
return {};
|
|
6473
|
+
},
|
|
6474
|
+
computed: {
|
|
6475
|
+
/**
|
|
6476
|
+
* Get clip path id
|
|
6477
|
+
*
|
|
6478
|
+
* @returns {string}
|
|
6479
|
+
*/
|
|
6480
|
+
clipPathId() {
|
|
6481
|
+
return 'gantt-elastic__milestone-clip-path-' + this.task.id;
|
|
6482
|
+
},
|
|
6483
|
+
/**
|
|
6484
|
+
* Get points
|
|
6485
|
+
*
|
|
6486
|
+
* @returns {string}
|
|
6487
|
+
*/
|
|
6488
|
+
getPoints() {
|
|
6489
|
+
const task = this.task;
|
|
6490
|
+
const fifty = task.height / 2;
|
|
6491
|
+
let offset = fifty;
|
|
6492
|
+
if (task.width / 2 - offset < 0) {
|
|
6493
|
+
offset = task.width / 2;
|
|
6494
|
+
}
|
|
6495
|
+
return `0,${fifty}
|
|
6496
|
+
${offset},0
|
|
6497
|
+
${task.width - offset},0
|
|
6498
|
+
${task.width},${fifty}
|
|
6499
|
+
${task.width - offset},${task.height}
|
|
6500
|
+
${offset},${task.height}`;
|
|
6501
|
+
}
|
|
6502
|
+
}
|
|
6503
|
+
});
|
|
6504
|
+
;// ./src/components/Chart/Row/Milestone.vue?vue&type=script&lang=js
|
|
6505
|
+
/* harmony default export */ var Row_Milestonevue_type_script_lang_js = (Milestonevue_type_script_lang_js);
|
|
6506
|
+
;// ./src/components/Chart/Row/Milestone.vue
|
|
6507
|
+
|
|
6508
|
+
|
|
6509
|
+
|
|
6510
|
+
|
|
6511
|
+
|
|
6512
|
+
/* normalize component */
|
|
6513
|
+
;
|
|
6514
|
+
var Milestone_component = normalizeComponent(
|
|
6515
|
+
Row_Milestonevue_type_script_lang_js,
|
|
6516
|
+
Milestonevue_type_template_id_edd49e02_render,
|
|
6517
|
+
Milestonevue_type_template_id_edd49e02_staticRenderFns,
|
|
6518
|
+
false,
|
|
6519
|
+
null,
|
|
6520
|
+
null,
|
|
6521
|
+
null
|
|
6522
|
+
|
|
6523
|
+
)
|
|
6524
|
+
|
|
6525
|
+
/* harmony default export */ var Milestone = (Milestone_component.exports);
|
|
6526
|
+
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-83.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
|
|
6527
|
+
var Projectvue_type_template_id_760bf767_render = function render() {
|
|
6528
|
+
var _vm = this,
|
|
6529
|
+
_c = _vm._self._c;
|
|
6530
|
+
return _c('g', {
|
|
6531
|
+
staticClass: "gantt-elastic__chart-row-bar-wrapper gantt-elastic__chart-row-project-wrapper",
|
|
6532
|
+
style: {
|
|
6533
|
+
..._vm.root.style['chart-row-bar-wrapper'],
|
|
6534
|
+
..._vm.root.style['chart-row-project-wrapper'],
|
|
6535
|
+
..._vm.task.style['chart-row-bar-wrapper']
|
|
6536
|
+
}
|
|
6537
|
+
}, [_vm.displayExpander ? _c('foreignObject', {
|
|
6538
|
+
staticClass: "gantt-elastic__chart-expander gantt-elastic__chart-expander--project",
|
|
6539
|
+
style: {
|
|
6540
|
+
..._vm.root.style['chart-expander'],
|
|
6541
|
+
..._vm.root.style['chart-expander--project'],
|
|
6542
|
+
..._vm.task.style['chart-expander']
|
|
6543
|
+
},
|
|
6544
|
+
attrs: {
|
|
6545
|
+
"x": _vm.task.x - _vm.root.state.options.chart.expander.offset - _vm.root.state.options.chart.expander.size,
|
|
6546
|
+
"y": _vm.task.y + (_vm.root.state.options.row.height - _vm.root.state.options.chart.expander.size) / 2,
|
|
6547
|
+
"width": _vm.root.state.options.chart.expander.size,
|
|
6548
|
+
"height": _vm.root.state.options.chart.expander.size
|
|
6549
|
+
}
|
|
6550
|
+
}, [_c('expander', {
|
|
6551
|
+
attrs: {
|
|
6552
|
+
"tasks": [_vm.task],
|
|
6553
|
+
"options": _vm.root.state.options.chart.expander,
|
|
6554
|
+
"type": "chart"
|
|
6555
|
+
}
|
|
6556
|
+
})], 1) : _vm._e(), _c('svg', {
|
|
6557
|
+
staticClass: "gantt-elastic__chart-row-bar gantt-elastic__chart-row-project",
|
|
6558
|
+
style: {
|
|
6559
|
+
..._vm.root.style['chart-row-bar'],
|
|
6560
|
+
..._vm.root.style['chart-row-project'],
|
|
6561
|
+
..._vm.task.style['chart-row-bar']
|
|
6562
|
+
},
|
|
6563
|
+
attrs: {
|
|
6564
|
+
"x": _vm.task.x,
|
|
6565
|
+
"y": _vm.task.y,
|
|
6566
|
+
"width": _vm.task.width,
|
|
6567
|
+
"height": _vm.task.height,
|
|
6568
|
+
"viewBox": `0 0 ${_vm.task.width} ${_vm.task.height}`,
|
|
6569
|
+
"xmlns": "http://www.w3.org/2000/svg"
|
|
6570
|
+
},
|
|
6571
|
+
on: {
|
|
6572
|
+
"click": function ($event) {
|
|
6573
|
+
return _vm.emitEvent('click', $event);
|
|
6574
|
+
},
|
|
6575
|
+
"mouseenter": function ($event) {
|
|
6576
|
+
return _vm.emitEvent('mouseenter', $event);
|
|
6577
|
+
},
|
|
6578
|
+
"mouseover": function ($event) {
|
|
6579
|
+
return _vm.emitEvent('mouseover', $event);
|
|
6580
|
+
},
|
|
6581
|
+
"mouseout": function ($event) {
|
|
6582
|
+
return _vm.emitEvent('mouseout', $event);
|
|
6583
|
+
},
|
|
6584
|
+
"mousemove": function ($event) {
|
|
6585
|
+
return _vm.emitEvent('mousemove', $event);
|
|
6586
|
+
},
|
|
6587
|
+
"mousedown": function ($event) {
|
|
6588
|
+
return _vm.emitEvent('mousedown', $event);
|
|
6589
|
+
},
|
|
6590
|
+
"mouseup": function ($event) {
|
|
6591
|
+
return _vm.emitEvent('mouseup', $event);
|
|
6592
|
+
},
|
|
6593
|
+
"mousewheel": function ($event) {
|
|
6594
|
+
return _vm.emitEvent('mousewheel', $event);
|
|
6595
|
+
},
|
|
6596
|
+
"touchstart": function ($event) {
|
|
6597
|
+
return _vm.emitEvent('touchstart', $event);
|
|
6598
|
+
},
|
|
6599
|
+
"touchmove": function ($event) {
|
|
6600
|
+
return _vm.emitEvent('touchmove', $event);
|
|
6601
|
+
},
|
|
6602
|
+
"touchend": function ($event) {
|
|
6603
|
+
return _vm.emitEvent('touchend', $event);
|
|
6604
|
+
}
|
|
6605
|
+
}
|
|
6606
|
+
}, [_c('defs', [_c('clipPath', {
|
|
6607
|
+
attrs: {
|
|
6608
|
+
"id": _vm.clipPathId
|
|
6609
|
+
}
|
|
6610
|
+
}, [_c('path', {
|
|
6611
|
+
attrs: {
|
|
6612
|
+
"d": _vm.getPoints
|
|
6613
|
+
}
|
|
6614
|
+
})])]), _c('path', {
|
|
6615
|
+
staticClass: "gantt-elastic__chart-row-bar-polygon gantt-elastic__chart-row-project-polygon",
|
|
6616
|
+
style: {
|
|
6617
|
+
..._vm.root.style['chart-row-bar-polygon'],
|
|
6618
|
+
..._vm.root.style['chart-row-project-polygon'],
|
|
6619
|
+
..._vm.task.style['base'],
|
|
6620
|
+
..._vm.task.style['chart-row-bar-polygon']
|
|
6621
|
+
},
|
|
6622
|
+
attrs: {
|
|
6623
|
+
"d": _vm.getPoints
|
|
6624
|
+
}
|
|
6625
|
+
}), _c('progress-bar', {
|
|
6626
|
+
attrs: {
|
|
6627
|
+
"task": _vm.task,
|
|
6628
|
+
"clip-path": 'url(#' + _vm.clipPathId + ')'
|
|
6629
|
+
}
|
|
6630
|
+
})], 1), _vm.root.state.options.chart.text.display ? _c('chart-text', {
|
|
6631
|
+
attrs: {
|
|
6632
|
+
"task": _vm.task
|
|
6633
|
+
}
|
|
6634
|
+
}) : _vm._e()], 1);
|
|
6635
|
+
};
|
|
6636
|
+
var Projectvue_type_template_id_760bf767_staticRenderFns = [];
|
|
6637
|
+
|
|
6638
|
+
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-83.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
|
|
6639
|
+
|
|
6640
|
+
|
|
6641
|
+
|
|
6642
|
+
|
|
6643
|
+
/* harmony default export */ var Projectvue_type_script_lang_js = ({
|
|
6644
|
+
name: 'Project',
|
|
6645
|
+
components: {
|
|
6646
|
+
ChartText: Text,
|
|
6647
|
+
ProgressBar: ProgressBar,
|
|
6648
|
+
Expander: Expander
|
|
6649
|
+
},
|
|
6650
|
+
inject: ['root'],
|
|
6651
|
+
props: ['task'],
|
|
6652
|
+
mixins: [Task_mixin],
|
|
6653
|
+
data() {
|
|
6654
|
+
return {};
|
|
6655
|
+
},
|
|
6656
|
+
computed: {
|
|
6657
|
+
/**
|
|
6658
|
+
* Get clip path id
|
|
6659
|
+
*
|
|
6660
|
+
* @returns {string}
|
|
6661
|
+
*/
|
|
6662
|
+
clipPathId() {
|
|
6663
|
+
return 'gantt-elastic__project-clip-path-' + this.task.id;
|
|
6664
|
+
},
|
|
6665
|
+
/**
|
|
6666
|
+
* Get points
|
|
6667
|
+
*
|
|
6668
|
+
* @returns {string}
|
|
6669
|
+
*/
|
|
6670
|
+
getPoints() {
|
|
6671
|
+
const task = this.task;
|
|
6672
|
+
const bottom = task.height - task.height / 4;
|
|
6673
|
+
const corner = task.height / 6;
|
|
6674
|
+
const smallCorner = task.height / 8;
|
|
6675
|
+
return `M ${smallCorner},0
|
|
6676
|
+
L ${task.width - smallCorner} 0
|
|
6677
|
+
L ${task.width} ${smallCorner}
|
|
6678
|
+
L ${task.width} ${bottom}
|
|
6679
|
+
L ${task.width - corner} ${task.height}
|
|
6680
|
+
L ${task.width - corner * 2} ${bottom}
|
|
6681
|
+
L ${corner * 2} ${bottom}
|
|
6682
|
+
L ${corner} ${task.height}
|
|
6683
|
+
L 0 ${bottom}
|
|
6684
|
+
L 0 ${smallCorner}
|
|
6685
|
+
Z
|
|
6686
|
+
`;
|
|
6687
|
+
},
|
|
6688
|
+
/**
|
|
6689
|
+
* Should we display expander?
|
|
6690
|
+
*
|
|
6691
|
+
* @returns {boolean}
|
|
6692
|
+
*/
|
|
6693
|
+
displayExpander() {
|
|
6694
|
+
const expander = this.root.state.options.chart.expander;
|
|
6695
|
+
const hasChildren = this.task.allChildren && this.task.allChildren.length > 0;
|
|
6696
|
+
return (expander.display || expander.displayIfTaskListHidden && !this.root.state.options.taskList.display) && hasChildren;
|
|
6697
|
+
}
|
|
6698
|
+
}
|
|
6699
|
+
});
|
|
6700
|
+
;// ./src/components/Chart/Row/Project.vue?vue&type=script&lang=js
|
|
6701
|
+
/* harmony default export */ var Row_Projectvue_type_script_lang_js = (Projectvue_type_script_lang_js);
|
|
6702
|
+
;// ./src/components/Chart/Row/Project.vue
|
|
6703
|
+
|
|
6704
|
+
|
|
6705
|
+
|
|
6706
|
+
|
|
6707
|
+
|
|
6708
|
+
/* normalize component */
|
|
6709
|
+
;
|
|
6710
|
+
var Project_component = normalizeComponent(
|
|
6711
|
+
Row_Projectvue_type_script_lang_js,
|
|
6712
|
+
Projectvue_type_template_id_760bf767_render,
|
|
6713
|
+
Projectvue_type_template_id_760bf767_staticRenderFns,
|
|
6714
|
+
false,
|
|
6715
|
+
null,
|
|
6716
|
+
null,
|
|
6717
|
+
null
|
|
6718
|
+
|
|
6719
|
+
)
|
|
6720
|
+
|
|
6721
|
+
/* harmony default export */ var Project = (Project_component.exports);
|
|
6722
|
+
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-83.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
|
|
6723
|
+
var Epicvue_type_template_id_a2e89cd8_render = function render() {
|
|
6724
|
+
var _vm = this,
|
|
6725
|
+
_c = _vm._self._c;
|
|
6726
|
+
return _c('g', {
|
|
6727
|
+
staticClass: "gantt-elastic__chart-row-bar-wrapper gantt-elastic__chart-row-epic-wrapper",
|
|
6728
|
+
style: {
|
|
6729
|
+
..._vm.root.style['chart-row-bar-wrapper'],
|
|
6730
|
+
..._vm.root.style['chart-row-epic-wrapper'],
|
|
6731
|
+
..._vm.task.style['chart-row-bar-wrapper']
|
|
6732
|
+
}
|
|
6733
|
+
}, [_vm.displayExpander ? _c('foreignObject', {
|
|
6734
|
+
staticClass: "gantt-elastic__chart-expander gantt-elastic__chart-expander--epic",
|
|
6735
|
+
style: {
|
|
6736
|
+
..._vm.root.style['chart-expander'],
|
|
6737
|
+
..._vm.root.style['chart-expander--epic'],
|
|
6738
|
+
..._vm.task.style['chart-expander']
|
|
6739
|
+
},
|
|
6740
|
+
attrs: {
|
|
6741
|
+
"x": _vm.task.x - _vm.root.state.options.chart.expander.offset - _vm.root.state.options.chart.expander.size,
|
|
6742
|
+
"y": _vm.task.y + (_vm.root.state.options.row.height - _vm.root.state.options.chart.expander.size) / 2,
|
|
6743
|
+
"width": _vm.root.state.options.chart.expander.size,
|
|
6744
|
+
"height": _vm.root.state.options.chart.expander.size
|
|
6745
|
+
}
|
|
6746
|
+
}, [_c('expander', {
|
|
6747
|
+
attrs: {
|
|
6748
|
+
"tasks": [_vm.task],
|
|
6749
|
+
"options": _vm.root.state.options.chart.expander,
|
|
6750
|
+
"type": "chart"
|
|
6751
|
+
}
|
|
6752
|
+
})], 1) : _vm._e(), _c('svg', {
|
|
6753
|
+
staticClass: "gantt-elastic__chart-row-bar gantt-elastic__chart-row-epic",
|
|
6754
|
+
style: {
|
|
6755
|
+
..._vm.root.style['chart-row-bar'],
|
|
6756
|
+
..._vm.root.style['chart-row-epic'],
|
|
6757
|
+
..._vm.task.style['chart-row-bar']
|
|
6758
|
+
},
|
|
6759
|
+
attrs: {
|
|
6760
|
+
"x": _vm.task.x,
|
|
6761
|
+
"y": _vm.task.y,
|
|
6762
|
+
"width": _vm.task.width,
|
|
6763
|
+
"height": _vm.task.height,
|
|
6764
|
+
"viewBox": `0 0 ${_vm.task.width} ${_vm.task.height}`,
|
|
6765
|
+
"xmlns": "http://www.w3.org/2000/svg"
|
|
6766
|
+
},
|
|
6767
|
+
on: {
|
|
6768
|
+
"click": function ($event) {
|
|
6769
|
+
return _vm.emitEvent('click', $event);
|
|
6770
|
+
},
|
|
6771
|
+
"mouseenter": function ($event) {
|
|
6772
|
+
return _vm.emitEvent('mouseenter', $event);
|
|
6773
|
+
},
|
|
6774
|
+
"mouseover": function ($event) {
|
|
6775
|
+
return _vm.emitEvent('mouseover', $event);
|
|
6776
|
+
},
|
|
6777
|
+
"mouseout": function ($event) {
|
|
6778
|
+
return _vm.emitEvent('mouseout', $event);
|
|
6779
|
+
},
|
|
6780
|
+
"mousemove": function ($event) {
|
|
6781
|
+
return _vm.emitEvent('mousemove', $event);
|
|
6782
|
+
},
|
|
6783
|
+
"mousedown": function ($event) {
|
|
6784
|
+
return _vm.emitEvent('mousedown', $event);
|
|
6785
|
+
},
|
|
6786
|
+
"mouseup": function ($event) {
|
|
6787
|
+
return _vm.emitEvent('mouseup', $event);
|
|
6788
|
+
},
|
|
6789
|
+
"mousewheel": function ($event) {
|
|
6790
|
+
return _vm.emitEvent('mousewheel', $event);
|
|
6791
|
+
},
|
|
6792
|
+
"touchstart": function ($event) {
|
|
6793
|
+
return _vm.emitEvent('touchstart', $event);
|
|
6794
|
+
},
|
|
6795
|
+
"touchmove": function ($event) {
|
|
6796
|
+
return _vm.emitEvent('touchmove', $event);
|
|
6797
|
+
},
|
|
6798
|
+
"touchend": function ($event) {
|
|
6799
|
+
return _vm.emitEvent('touchend', $event);
|
|
6800
|
+
}
|
|
6801
|
+
}
|
|
6802
|
+
}, [_c('defs', [_c('clipPath', {
|
|
6803
|
+
attrs: {
|
|
6804
|
+
"id": _vm.clipPathId
|
|
6805
|
+
}
|
|
6806
|
+
}, [_c('path', {
|
|
6807
|
+
attrs: {
|
|
6808
|
+
"d": _vm.getPoints
|
|
6809
|
+
}
|
|
6810
|
+
})])]), _c('path', {
|
|
6811
|
+
staticClass: "gantt-elastic__chart-row-bar-polygon gantt-elastic__chart-row-epic-polygon",
|
|
6812
|
+
style: {
|
|
6813
|
+
..._vm.root.style['chart-row-bar-polygon'],
|
|
6814
|
+
..._vm.root.style['chart-row-epic-polygon'],
|
|
6815
|
+
..._vm.task.style['base'],
|
|
6816
|
+
..._vm.task.style['chart-row-bar-polygon']
|
|
6817
|
+
},
|
|
6818
|
+
attrs: {
|
|
6819
|
+
"d": _vm.getPoints
|
|
6820
|
+
}
|
|
6821
|
+
}), _c('progress-bar', {
|
|
6822
|
+
attrs: {
|
|
6823
|
+
"task": _vm.task,
|
|
6824
|
+
"clip-path": 'url(#' + _vm.clipPathId + ')'
|
|
6825
|
+
}
|
|
6826
|
+
})], 1), _vm.root.state.options.chart.text.display ? _c('chart-text', {
|
|
6827
|
+
attrs: {
|
|
6828
|
+
"task": _vm.task
|
|
6829
|
+
}
|
|
6830
|
+
}) : _vm._e()], 1);
|
|
6831
|
+
};
|
|
6832
|
+
var Epicvue_type_template_id_a2e89cd8_staticRenderFns = [];
|
|
6833
|
+
|
|
6834
|
+
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-83.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
|
|
6835
|
+
|
|
6836
|
+
|
|
6837
|
+
|
|
6838
|
+
|
|
6839
|
+
/* harmony default export */ var Epicvue_type_script_lang_js = ({
|
|
6840
|
+
name: 'Epic',
|
|
6841
|
+
components: {
|
|
6842
|
+
ChartText: Text,
|
|
6843
|
+
ProgressBar: ProgressBar,
|
|
6844
|
+
Expander: Expander
|
|
6845
|
+
},
|
|
6846
|
+
inject: ['root'],
|
|
6847
|
+
props: ['task'],
|
|
6848
|
+
mixins: [Task_mixin],
|
|
6849
|
+
data() {
|
|
6850
|
+
return {};
|
|
6851
|
+
},
|
|
6852
|
+
computed: {
|
|
6853
|
+
/**
|
|
6854
|
+
* Get clip path id
|
|
6855
|
+
*
|
|
6856
|
+
* @returns {string}
|
|
6857
|
+
*/
|
|
6858
|
+
clipPathId() {
|
|
6859
|
+
return 'gantt-elastic__epic-clip-path-' + this.task.id;
|
|
6860
|
+
},
|
|
6861
|
+
/**
|
|
6862
|
+
* Get points (same shape as project)
|
|
6863
|
+
*
|
|
6864
|
+
* @returns {string}
|
|
6865
|
+
*/
|
|
6866
|
+
getPoints() {
|
|
6867
|
+
const task = this.task;
|
|
6868
|
+
const bottom = task.height - task.height / 4;
|
|
6869
|
+
const corner = task.height / 6;
|
|
6870
|
+
const smallCorner = task.height / 8;
|
|
6871
|
+
return `M ${smallCorner},0
|
|
6872
|
+
L ${task.width - smallCorner} 0
|
|
6873
|
+
L ${task.width} ${smallCorner}
|
|
6874
|
+
L ${task.width} ${bottom}
|
|
6875
|
+
L ${task.width - corner} ${task.height}
|
|
6876
|
+
L ${task.width - corner * 2} ${bottom}
|
|
6877
|
+
L ${corner * 2} ${bottom}
|
|
6878
|
+
L ${corner} ${task.height}
|
|
6879
|
+
L 0 ${bottom}
|
|
6880
|
+
L 0 ${smallCorner}
|
|
6881
|
+
Z
|
|
6882
|
+
`;
|
|
6883
|
+
},
|
|
6884
|
+
/**
|
|
6885
|
+
* Should we display expander?
|
|
5202
6886
|
*
|
|
5203
|
-
* @returns {
|
|
6887
|
+
* @returns {boolean}
|
|
5204
6888
|
*/
|
|
5205
|
-
|
|
5206
|
-
const
|
|
5207
|
-
|
|
6889
|
+
displayExpander() {
|
|
6890
|
+
const expander = this.root.state.options.chart.expander;
|
|
6891
|
+
const hasChildren = this.task.allChildren && this.task.allChildren.length > 0;
|
|
6892
|
+
return (expander.display || expander.displayIfTaskListHidden && !this.root.state.options.taskList.display) && hasChildren;
|
|
5208
6893
|
}
|
|
5209
6894
|
}
|
|
5210
6895
|
});
|
|
5211
|
-
;// ./src/components/
|
|
5212
|
-
/* harmony default export */ var
|
|
5213
|
-
;// ./src/components/
|
|
6896
|
+
;// ./src/components/Chart/Row/Epic.vue?vue&type=script&lang=js
|
|
6897
|
+
/* harmony default export */ var Row_Epicvue_type_script_lang_js = (Epicvue_type_script_lang_js);
|
|
6898
|
+
;// ./src/components/Chart/Row/Epic.vue
|
|
5214
6899
|
|
|
5215
6900
|
|
|
5216
6901
|
|
|
@@ -5218,10 +6903,10 @@ var ProgressBar_component = normalizeComponent(
|
|
|
5218
6903
|
|
|
5219
6904
|
/* normalize component */
|
|
5220
6905
|
;
|
|
5221
|
-
var
|
|
5222
|
-
|
|
5223
|
-
|
|
5224
|
-
|
|
6906
|
+
var Epic_component = normalizeComponent(
|
|
6907
|
+
Row_Epicvue_type_script_lang_js,
|
|
6908
|
+
Epicvue_type_template_id_a2e89cd8_render,
|
|
6909
|
+
Epicvue_type_template_id_a2e89cd8_staticRenderFns,
|
|
5225
6910
|
false,
|
|
5226
6911
|
null,
|
|
5227
6912
|
null,
|
|
@@ -5229,23 +6914,23 @@ var Task_component = normalizeComponent(
|
|
|
5229
6914
|
|
|
5230
6915
|
)
|
|
5231
6916
|
|
|
5232
|
-
/* harmony default export */ var
|
|
5233
|
-
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-83.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/
|
|
5234
|
-
var
|
|
6917
|
+
/* harmony default export */ var Epic = (Epic_component.exports);
|
|
6918
|
+
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-83.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
|
|
6919
|
+
var Subtaskvue_type_template_id_86599310_render = function render() {
|
|
5235
6920
|
var _vm = this,
|
|
5236
6921
|
_c = _vm._self._c;
|
|
5237
6922
|
return _c('g', {
|
|
5238
|
-
staticClass: "gantt-elastic__chart-row-bar-wrapper gantt-elastic__chart-row-
|
|
6923
|
+
staticClass: "gantt-elastic__chart-row-bar-wrapper gantt-elastic__chart-row-subtask-wrapper",
|
|
5239
6924
|
style: {
|
|
5240
6925
|
..._vm.root.style['chart-row-bar-wrapper'],
|
|
5241
|
-
..._vm.root.style['chart-row-
|
|
6926
|
+
..._vm.root.style['chart-row-subtask-wrapper'],
|
|
5242
6927
|
..._vm.task.style['chart-row-bar-wrapper']
|
|
5243
6928
|
}
|
|
5244
6929
|
}, [_vm.displayExpander ? _c('foreignObject', {
|
|
5245
|
-
staticClass: "gantt-elastic__chart-expander gantt-elastic__chart-expander--
|
|
6930
|
+
staticClass: "gantt-elastic__chart-expander gantt-elastic__chart-expander--subtask",
|
|
5246
6931
|
style: {
|
|
5247
6932
|
..._vm.root.style['chart-expander'],
|
|
5248
|
-
..._vm.root.style['chart-expander--
|
|
6933
|
+
..._vm.root.style['chart-expander--subtask'],
|
|
5249
6934
|
..._vm.task.style['chart-expander']
|
|
5250
6935
|
},
|
|
5251
6936
|
attrs: {
|
|
@@ -5261,10 +6946,10 @@ var Milestonevue_type_template_id_4f4f8994_render = function render() {
|
|
|
5261
6946
|
"type": "chart"
|
|
5262
6947
|
}
|
|
5263
6948
|
})], 1) : _vm._e(), _c('svg', {
|
|
5264
|
-
staticClass: "gantt-elastic__chart-row-bar gantt-elastic__chart-row-
|
|
6949
|
+
staticClass: "gantt-elastic__chart-row-bar gantt-elastic__chart-row-subtask",
|
|
5265
6950
|
style: {
|
|
5266
6951
|
..._vm.root.style['chart-row-bar'],
|
|
5267
|
-
..._vm.root.style['chart-row-
|
|
6952
|
+
..._vm.root.style['chart-row-subtask'],
|
|
5268
6953
|
..._vm.task.style['chart-row-bar']
|
|
5269
6954
|
},
|
|
5270
6955
|
attrs: {
|
|
@@ -5319,10 +7004,10 @@ var Milestonevue_type_template_id_4f4f8994_render = function render() {
|
|
|
5319
7004
|
"points": _vm.getPoints
|
|
5320
7005
|
}
|
|
5321
7006
|
})])]), _c('polygon', {
|
|
5322
|
-
staticClass: "gantt-elastic__chart-row-bar-polygon gantt-elastic__chart-row-
|
|
7007
|
+
staticClass: "gantt-elastic__chart-row-bar-polygon gantt-elastic__chart-row-subtask-polygon",
|
|
5323
7008
|
style: {
|
|
5324
7009
|
..._vm.root.style['chart-row-bar-polygon'],
|
|
5325
|
-
..._vm.root.style['chart-row-
|
|
7010
|
+
..._vm.root.style['chart-row-subtask-polygon'],
|
|
5326
7011
|
..._vm.task.style['base'],
|
|
5327
7012
|
..._vm.task.style['chart-row-bar-polygon']
|
|
5328
7013
|
},
|
|
@@ -5340,15 +7025,15 @@ var Milestonevue_type_template_id_4f4f8994_render = function render() {
|
|
|
5340
7025
|
}
|
|
5341
7026
|
}) : _vm._e()], 1);
|
|
5342
7027
|
};
|
|
5343
|
-
var
|
|
7028
|
+
var Subtaskvue_type_template_id_86599310_staticRenderFns = [];
|
|
5344
7029
|
|
|
5345
|
-
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-83.use[1]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/
|
|
7030
|
+
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-83.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
|
|
5346
7031
|
|
|
5347
7032
|
|
|
5348
7033
|
|
|
5349
7034
|
|
|
5350
|
-
/* harmony default export */ var
|
|
5351
|
-
name: '
|
|
7035
|
+
/* harmony default export */ var Subtaskvue_type_script_lang_js = ({
|
|
7036
|
+
name: 'Subtask',
|
|
5352
7037
|
components: {
|
|
5353
7038
|
ChartText: Text,
|
|
5354
7039
|
ProgressBar: ProgressBar,
|
|
@@ -5367,32 +7052,32 @@ var Milestonevue_type_template_id_4f4f8994_staticRenderFns = [];
|
|
|
5367
7052
|
* @returns {string}
|
|
5368
7053
|
*/
|
|
5369
7054
|
clipPathId() {
|
|
5370
|
-
return 'gantt-
|
|
7055
|
+
return 'gantt-elastic__subtask-clip-path-' + this.task.id;
|
|
5371
7056
|
},
|
|
5372
7057
|
/**
|
|
5373
|
-
* Get points
|
|
7058
|
+
* Get points (simple rectangle for subtasks)
|
|
5374
7059
|
*
|
|
5375
7060
|
* @returns {string}
|
|
5376
7061
|
*/
|
|
5377
7062
|
getPoints() {
|
|
5378
7063
|
const task = this.task;
|
|
5379
|
-
|
|
5380
|
-
|
|
5381
|
-
|
|
5382
|
-
|
|
5383
|
-
|
|
5384
|
-
|
|
5385
|
-
|
|
5386
|
-
|
|
5387
|
-
|
|
5388
|
-
|
|
5389
|
-
|
|
7064
|
+
return `0,0 ${task.width},0 ${task.width},${task.height} 0,${task.height}`;
|
|
7065
|
+
},
|
|
7066
|
+
/**
|
|
7067
|
+
* Should we display expander?
|
|
7068
|
+
*
|
|
7069
|
+
* @returns {boolean}
|
|
7070
|
+
*/
|
|
7071
|
+
displayExpander() {
|
|
7072
|
+
const expander = this.root.state.options.chart.expander;
|
|
7073
|
+
const hasChildren = this.task.allChildren && this.task.allChildren.length > 0;
|
|
7074
|
+
return (expander.display || expander.displayIfTaskListHidden && !this.root.state.options.taskList.display) && hasChildren;
|
|
5390
7075
|
}
|
|
5391
7076
|
}
|
|
5392
7077
|
});
|
|
5393
|
-
;// ./src/components/
|
|
5394
|
-
/* harmony default export */ var
|
|
5395
|
-
;// ./src/components/
|
|
7078
|
+
;// ./src/components/Chart/Row/Subtask.vue?vue&type=script&lang=js
|
|
7079
|
+
/* harmony default export */ var Row_Subtaskvue_type_script_lang_js = (Subtaskvue_type_script_lang_js);
|
|
7080
|
+
;// ./src/components/Chart/Row/Subtask.vue
|
|
5396
7081
|
|
|
5397
7082
|
|
|
5398
7083
|
|
|
@@ -5400,10 +7085,10 @@ var Milestonevue_type_template_id_4f4f8994_staticRenderFns = [];
|
|
|
5400
7085
|
|
|
5401
7086
|
/* normalize component */
|
|
5402
7087
|
;
|
|
5403
|
-
var
|
|
5404
|
-
|
|
5405
|
-
|
|
5406
|
-
|
|
7088
|
+
var Subtask_component = normalizeComponent(
|
|
7089
|
+
Row_Subtaskvue_type_script_lang_js,
|
|
7090
|
+
Subtaskvue_type_template_id_86599310_render,
|
|
7091
|
+
Subtaskvue_type_template_id_86599310_staticRenderFns,
|
|
5407
7092
|
false,
|
|
5408
7093
|
null,
|
|
5409
7094
|
null,
|
|
@@ -5411,23 +7096,23 @@ var Milestone_component = normalizeComponent(
|
|
|
5411
7096
|
|
|
5412
7097
|
)
|
|
5413
7098
|
|
|
5414
|
-
/* harmony default export */ var
|
|
5415
|
-
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-83.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/
|
|
5416
|
-
var
|
|
7099
|
+
/* harmony default export */ var Subtask = (Subtask_component.exports);
|
|
7100
|
+
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-83.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
|
|
7101
|
+
var Storyvue_type_template_id_1f59b61a_render = function render() {
|
|
5417
7102
|
var _vm = this,
|
|
5418
7103
|
_c = _vm._self._c;
|
|
5419
7104
|
return _c('g', {
|
|
5420
|
-
staticClass: "gantt-elastic__chart-row-bar-wrapper gantt-elastic__chart-row-
|
|
7105
|
+
staticClass: "gantt-elastic__chart-row-bar-wrapper gantt-elastic__chart-row-story-wrapper",
|
|
5421
7106
|
style: {
|
|
5422
7107
|
..._vm.root.style['chart-row-bar-wrapper'],
|
|
5423
|
-
..._vm.root.style['chart-row-
|
|
7108
|
+
..._vm.root.style['chart-row-story-wrapper'],
|
|
5424
7109
|
..._vm.task.style['chart-row-bar-wrapper']
|
|
5425
7110
|
}
|
|
5426
7111
|
}, [_vm.displayExpander ? _c('foreignObject', {
|
|
5427
|
-
staticClass: "gantt-elastic__chart-expander gantt-elastic__chart-expander--
|
|
7112
|
+
staticClass: "gantt-elastic__chart-expander gantt-elastic__chart-expander--story",
|
|
5428
7113
|
style: {
|
|
5429
7114
|
..._vm.root.style['chart-expander'],
|
|
5430
|
-
..._vm.root.style['chart-expander--
|
|
7115
|
+
..._vm.root.style['chart-expander--story'],
|
|
5431
7116
|
..._vm.task.style['chart-expander']
|
|
5432
7117
|
},
|
|
5433
7118
|
attrs: {
|
|
@@ -5443,10 +7128,10 @@ var Projectvue_type_template_id_38b2a86e_render = function render() {
|
|
|
5443
7128
|
"type": "chart"
|
|
5444
7129
|
}
|
|
5445
7130
|
})], 1) : _vm._e(), _c('svg', {
|
|
5446
|
-
staticClass: "gantt-elastic__chart-row-bar gantt-elastic__chart-row-
|
|
7131
|
+
staticClass: "gantt-elastic__chart-row-bar gantt-elastic__chart-row-story",
|
|
5447
7132
|
style: {
|
|
5448
7133
|
..._vm.root.style['chart-row-bar'],
|
|
5449
|
-
..._vm.root.style['chart-row-
|
|
7134
|
+
..._vm.root.style['chart-row-story'],
|
|
5450
7135
|
..._vm.task.style['chart-row-bar']
|
|
5451
7136
|
},
|
|
5452
7137
|
attrs: {
|
|
@@ -5501,10 +7186,10 @@ var Projectvue_type_template_id_38b2a86e_render = function render() {
|
|
|
5501
7186
|
"d": _vm.getPoints
|
|
5502
7187
|
}
|
|
5503
7188
|
})])]), _c('path', {
|
|
5504
|
-
staticClass: "gantt-elastic__chart-row-bar-polygon gantt-elastic__chart-row-
|
|
7189
|
+
staticClass: "gantt-elastic__chart-row-bar-polygon gantt-elastic__chart-row-story-polygon",
|
|
5505
7190
|
style: {
|
|
5506
7191
|
..._vm.root.style['chart-row-bar-polygon'],
|
|
5507
|
-
..._vm.root.style['chart-row-
|
|
7192
|
+
..._vm.root.style['chart-row-story-polygon'],
|
|
5508
7193
|
..._vm.task.style['base'],
|
|
5509
7194
|
..._vm.task.style['chart-row-bar-polygon']
|
|
5510
7195
|
},
|
|
@@ -5522,15 +7207,15 @@ var Projectvue_type_template_id_38b2a86e_render = function render() {
|
|
|
5522
7207
|
}
|
|
5523
7208
|
}) : _vm._e()], 1);
|
|
5524
7209
|
};
|
|
5525
|
-
var
|
|
7210
|
+
var Storyvue_type_template_id_1f59b61a_staticRenderFns = [];
|
|
5526
7211
|
|
|
5527
|
-
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-83.use[1]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/
|
|
7212
|
+
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-83.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
|
|
5528
7213
|
|
|
5529
7214
|
|
|
5530
7215
|
|
|
5531
7216
|
|
|
5532
|
-
/* harmony default export */ var
|
|
5533
|
-
name: '
|
|
7217
|
+
/* harmony default export */ var Storyvue_type_script_lang_js = ({
|
|
7218
|
+
name: 'Story',
|
|
5534
7219
|
components: {
|
|
5535
7220
|
ChartText: Text,
|
|
5536
7221
|
ProgressBar: ProgressBar,
|
|
@@ -5549,30 +7234,26 @@ var Projectvue_type_template_id_38b2a86e_staticRenderFns = [];
|
|
|
5549
7234
|
* @returns {string}
|
|
5550
7235
|
*/
|
|
5551
7236
|
clipPathId() {
|
|
5552
|
-
return 'gantt-
|
|
7237
|
+
return 'gantt-elastic__story-clip-path-' + this.task.id;
|
|
5553
7238
|
},
|
|
5554
7239
|
/**
|
|
5555
|
-
* Get points
|
|
7240
|
+
* Get points (rounded rectangle for stories)
|
|
5556
7241
|
*
|
|
5557
7242
|
* @returns {string}
|
|
5558
7243
|
*/
|
|
5559
7244
|
getPoints() {
|
|
5560
7245
|
const task = this.task;
|
|
5561
|
-
const
|
|
5562
|
-
|
|
5563
|
-
|
|
5564
|
-
|
|
5565
|
-
L ${task.width -
|
|
5566
|
-
|
|
5567
|
-
L ${task.width} ${bottom}
|
|
5568
|
-
L ${task.width - corner} ${task.height}
|
|
5569
|
-
L ${task.width - corner * 2} ${bottom}
|
|
5570
|
-
L ${corner * 2} ${bottom}
|
|
7246
|
+
const corner = Math.min(task.height / 4, 8); // Rounded corners
|
|
7247
|
+
return `M ${corner},0
|
|
7248
|
+
L ${task.width - corner} 0
|
|
7249
|
+
Q ${task.width} 0 ${task.width} ${corner}
|
|
7250
|
+
L ${task.width} ${task.height - corner}
|
|
7251
|
+
Q ${task.width} ${task.height} ${task.width - corner} ${task.height}
|
|
5571
7252
|
L ${corner} ${task.height}
|
|
5572
|
-
|
|
5573
|
-
L 0 ${
|
|
5574
|
-
|
|
5575
|
-
|
|
7253
|
+
Q 0 ${task.height} 0 ${task.height - corner}
|
|
7254
|
+
L 0 ${corner}
|
|
7255
|
+
Q 0 0 ${corner} 0
|
|
7256
|
+
Z`;
|
|
5576
7257
|
},
|
|
5577
7258
|
/**
|
|
5578
7259
|
* Should we display expander?
|
|
@@ -5581,13 +7262,14 @@ var Projectvue_type_template_id_38b2a86e_staticRenderFns = [];
|
|
|
5581
7262
|
*/
|
|
5582
7263
|
displayExpander() {
|
|
5583
7264
|
const expander = this.root.state.options.chart.expander;
|
|
5584
|
-
|
|
7265
|
+
const hasChildren = this.task.allChildren && this.task.allChildren.length > 0;
|
|
7266
|
+
return (expander.display || expander.displayIfTaskListHidden && !this.root.state.options.taskList.display) && hasChildren;
|
|
5585
7267
|
}
|
|
5586
7268
|
}
|
|
5587
7269
|
});
|
|
5588
|
-
;// ./src/components/
|
|
5589
|
-
/* harmony default export */ var
|
|
5590
|
-
;// ./src/components/
|
|
7270
|
+
;// ./src/components/Chart/Row/Story.vue?vue&type=script&lang=js
|
|
7271
|
+
/* harmony default export */ var Row_Storyvue_type_script_lang_js = (Storyvue_type_script_lang_js);
|
|
7272
|
+
;// ./src/components/Chart/Row/Story.vue
|
|
5591
7273
|
|
|
5592
7274
|
|
|
5593
7275
|
|
|
@@ -5595,10 +7277,10 @@ var Projectvue_type_template_id_38b2a86e_staticRenderFns = [];
|
|
|
5595
7277
|
|
|
5596
7278
|
/* normalize component */
|
|
5597
7279
|
;
|
|
5598
|
-
var
|
|
5599
|
-
|
|
5600
|
-
|
|
5601
|
-
|
|
7280
|
+
var Story_component = normalizeComponent(
|
|
7281
|
+
Row_Storyvue_type_script_lang_js,
|
|
7282
|
+
Storyvue_type_template_id_1f59b61a_render,
|
|
7283
|
+
Storyvue_type_template_id_1f59b61a_staticRenderFns,
|
|
5602
7284
|
false,
|
|
5603
7285
|
null,
|
|
5604
7286
|
null,
|
|
@@ -5606,8 +7288,11 @@ var Project_component = normalizeComponent(
|
|
|
5606
7288
|
|
|
5607
7289
|
)
|
|
5608
7290
|
|
|
5609
|
-
/* harmony default export */ var
|
|
5610
|
-
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-83.use[1]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/
|
|
7291
|
+
/* harmony default export */ var Story = (Story_component.exports);
|
|
7292
|
+
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-83.use[1]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/Chart/Chart.vue?vue&type=script&lang=js
|
|
7293
|
+
|
|
7294
|
+
|
|
7295
|
+
|
|
5611
7296
|
|
|
5612
7297
|
|
|
5613
7298
|
|
|
@@ -5621,9 +7306,12 @@ var Project_component = normalizeComponent(
|
|
|
5621
7306
|
Grid: Grid,
|
|
5622
7307
|
DependencyLines: DependencyLines,
|
|
5623
7308
|
Calendar: Calendar,
|
|
5624
|
-
|
|
5625
|
-
|
|
5626
|
-
|
|
7309
|
+
task: Task,
|
|
7310
|
+
milestone: Milestone,
|
|
7311
|
+
project: Project,
|
|
7312
|
+
epic: Epic,
|
|
7313
|
+
subtask: Subtask,
|
|
7314
|
+
story: Story,
|
|
5627
7315
|
DaysHighlight: DaysHighlight
|
|
5628
7316
|
},
|
|
5629
7317
|
inject: ['root'],
|
|
@@ -5653,9 +7341,9 @@ var Project_component = normalizeComponent(
|
|
|
5653
7341
|
}
|
|
5654
7342
|
}
|
|
5655
7343
|
});
|
|
5656
|
-
;// ./src/components/
|
|
7344
|
+
;// ./src/components/Chart/Chart.vue?vue&type=script&lang=js
|
|
5657
7345
|
/* harmony default export */ var Chart_Chartvue_type_script_lang_js = (Chartvue_type_script_lang_js);
|
|
5658
|
-
;// ./src/components/
|
|
7346
|
+
;// ./src/components/Chart/Chart.vue
|
|
5659
7347
|
|
|
5660
7348
|
|
|
5661
7349
|
|
|
@@ -5665,8 +7353,8 @@ var Project_component = normalizeComponent(
|
|
|
5665
7353
|
;
|
|
5666
7354
|
var Chart_component = normalizeComponent(
|
|
5667
7355
|
Chart_Chartvue_type_script_lang_js,
|
|
5668
|
-
|
|
5669
|
-
|
|
7356
|
+
Chartvue_type_template_id_1d5eb6d6_render,
|
|
7357
|
+
Chartvue_type_template_id_1d5eb6d6_staticRenderFns,
|
|
5670
7358
|
false,
|
|
5671
7359
|
null,
|
|
5672
7360
|
null,
|
|
@@ -5675,7 +7363,7 @@ var Chart_component = normalizeComponent(
|
|
|
5675
7363
|
)
|
|
5676
7364
|
|
|
5677
7365
|
/* harmony default export */ var Chart = (Chart_component.exports);
|
|
5678
|
-
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-83.use[1]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/
|
|
7366
|
+
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-83.use[1]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/MainView.vue?vue&type=script&lang=js
|
|
5679
7367
|
|
|
5680
7368
|
|
|
5681
7369
|
let ignoreScrollEvents = false;
|
|
@@ -5859,9 +7547,9 @@ let ignoreScrollEvents = false;
|
|
|
5859
7547
|
// document.removeEventListener('touchend', this.chartMouseUp);
|
|
5860
7548
|
// }
|
|
5861
7549
|
});
|
|
5862
|
-
;// ./src/components/
|
|
7550
|
+
;// ./src/components/MainView.vue?vue&type=script&lang=js
|
|
5863
7551
|
/* harmony default export */ var components_MainViewvue_type_script_lang_js = (MainViewvue_type_script_lang_js);
|
|
5864
|
-
;// ./src/components/
|
|
7552
|
+
;// ./src/components/MainView.vue
|
|
5865
7553
|
|
|
5866
7554
|
|
|
5867
7555
|
|
|
@@ -5871,8 +7559,8 @@ let ignoreScrollEvents = false;
|
|
|
5871
7559
|
;
|
|
5872
7560
|
var MainView_component = normalizeComponent(
|
|
5873
7561
|
components_MainViewvue_type_script_lang_js,
|
|
5874
|
-
|
|
5875
|
-
|
|
7562
|
+
MainViewvue_type_template_id_1a4b756c_render,
|
|
7563
|
+
MainViewvue_type_template_id_1a4b756c_staticRenderFns,
|
|
5876
7564
|
false,
|
|
5877
7565
|
null,
|
|
5878
7566
|
null,
|
|
@@ -5881,7 +7569,7 @@ var MainView_component = normalizeComponent(
|
|
|
5881
7569
|
)
|
|
5882
7570
|
|
|
5883
7571
|
/* harmony default export */ var MainView = (MainView_component.exports);
|
|
5884
|
-
;// ./src/
|
|
7572
|
+
;// ./src/style.js
|
|
5885
7573
|
function getStyle(fontSize = '12px', fontFamily = 'Arial, sans-serif') {
|
|
5886
7574
|
return {
|
|
5887
7575
|
fontSize,
|
|
@@ -5931,10 +7619,10 @@ function getStyle(fontSize = '12px', fontFamily = 'Arial, sans-serif') {
|
|
|
5931
7619
|
'calendar-row-rect-child': {
|
|
5932
7620
|
display: 'block',
|
|
5933
7621
|
'border-right-width': '1px',
|
|
5934
|
-
|
|
5935
|
-
'border-right-color': '#dadada',
|
|
7622
|
+
'border-right-color': '#E5E7EB',
|
|
5936
7623
|
'border-right-style': 'solid',
|
|
5937
|
-
position: 'relative'
|
|
7624
|
+
position: 'relative',
|
|
7625
|
+
'box-sizing': 'border-box'
|
|
5938
7626
|
},
|
|
5939
7627
|
'calendar-row-rect-child--month': {},
|
|
5940
7628
|
'calendar-row-rect-child--day': {
|
|
@@ -5950,11 +7638,20 @@ function getStyle(fontSize = '12px', fontFamily = 'Arial, sans-serif') {
|
|
|
5950
7638
|
//GanttElastic
|
|
5951
7639
|
color: '#606060',
|
|
5952
7640
|
display: 'inline-block',
|
|
5953
|
-
position: 'relative'
|
|
7641
|
+
position: 'relative',
|
|
7642
|
+
'text-align': 'center',
|
|
7643
|
+
'white-space': 'nowrap',
|
|
7644
|
+
'overflow': 'hidden',
|
|
7645
|
+
'text-overflow': 'ellipsis',
|
|
7646
|
+
'max-width': '100%',
|
|
7647
|
+
'width': '100%',
|
|
7648
|
+
'box-sizing': 'border-box'
|
|
5954
7649
|
},
|
|
5955
7650
|
'calendar-row-text--month': {},
|
|
5956
7651
|
'calendar-row-text--day': {},
|
|
5957
7652
|
'calendar-row-text--hour': {},
|
|
7653
|
+
'calendar-row-text--quarter': {},
|
|
7654
|
+
'calendar-row-text--week': {},
|
|
5958
7655
|
'task-list-wrapper': {},
|
|
5959
7656
|
'task-list': {
|
|
5960
7657
|
background: 'transparent',
|
|
@@ -5997,6 +7694,13 @@ function getStyle(fontSize = '12px', fontFamily = 'Arial, sans-serif') {
|
|
|
5997
7694
|
fill: '#ffffffa0',
|
|
5998
7695
|
stroke: '#000000A0'
|
|
5999
7696
|
},
|
|
7697
|
+
'task-list-expander-arrow': {
|
|
7698
|
+
fill: 'none',
|
|
7699
|
+
stroke: '#999999',
|
|
7700
|
+
'stroke-width': '2',
|
|
7701
|
+
'stroke-linecap': 'round',
|
|
7702
|
+
'stroke-linejoin': 'round'
|
|
7703
|
+
},
|
|
6000
7704
|
'chart-expander-wrapper': {
|
|
6001
7705
|
display: 'block',
|
|
6002
7706
|
'line-height': '1',
|
|
@@ -6020,6 +7724,13 @@ function getStyle(fontSize = '12px', fontFamily = 'Arial, sans-serif') {
|
|
|
6020
7724
|
fill: '#ffffffa0',
|
|
6021
7725
|
stroke: '#000000A0'
|
|
6022
7726
|
},
|
|
7727
|
+
'chart-expander-arrow': {
|
|
7728
|
+
fill: 'none',
|
|
7729
|
+
stroke: '#999999',
|
|
7730
|
+
'stroke-width': '2',
|
|
7731
|
+
'stroke-linecap': 'round',
|
|
7732
|
+
'stroke-linejoin': 'round'
|
|
7733
|
+
},
|
|
6023
7734
|
'task-list-container': {},
|
|
6024
7735
|
'task-list-header-label': {
|
|
6025
7736
|
overflow: 'hidden',
|
|
@@ -6076,7 +7787,8 @@ function getStyle(fontSize = '12px', fontFamily = 'Arial, sans-serif') {
|
|
|
6076
7787
|
overflow: 'hidden'
|
|
6077
7788
|
},
|
|
6078
7789
|
'task-list-item-value': {
|
|
6079
|
-
display: '
|
|
7790
|
+
display: 'flex',
|
|
7791
|
+
'align-items': 'center',
|
|
6080
7792
|
'flex-shrink': '100',
|
|
6081
7793
|
'font-family': fontFamily,
|
|
6082
7794
|
'font-size': fontSize,
|
|
@@ -6093,13 +7805,34 @@ function getStyle(fontSize = '12px', fontFamily = 'Arial, sans-serif') {
|
|
|
6093
7805
|
color: '#606060',
|
|
6094
7806
|
background: '#FFFFFF'
|
|
6095
7807
|
},
|
|
7808
|
+
'task-list-item-content': {
|
|
7809
|
+
'display': 'flex',
|
|
7810
|
+
'align-items': 'center',
|
|
7811
|
+
'width': '100%',
|
|
7812
|
+
'min-width': '0'
|
|
7813
|
+
},
|
|
7814
|
+
'task-list-item-icon': {
|
|
7815
|
+
'display': 'flex',
|
|
7816
|
+
'align-items': 'center',
|
|
7817
|
+
'margin-right': '6px',
|
|
7818
|
+
'flex-shrink': '0',
|
|
7819
|
+
'width': '14px',
|
|
7820
|
+
'height': '14px'
|
|
7821
|
+
},
|
|
7822
|
+
'task-list-item-text': {
|
|
7823
|
+
'flex': '1',
|
|
7824
|
+
'min-width': '0',
|
|
7825
|
+
'overflow': 'hidden',
|
|
7826
|
+
'text-overflow': 'ellipsis',
|
|
7827
|
+
'white-space': 'nowrap'
|
|
7828
|
+
},
|
|
6096
7829
|
'grid-lines': {},
|
|
6097
7830
|
'grid-line-horizontal': {
|
|
6098
|
-
stroke: '#
|
|
7831
|
+
stroke: '#F3F4F6',
|
|
6099
7832
|
'stroke-width': 1
|
|
6100
7833
|
},
|
|
6101
7834
|
'grid-line-vertical': {
|
|
6102
|
-
stroke: '#
|
|
7835
|
+
stroke: '#E5E7EB',
|
|
6103
7836
|
'stroke-width': 1
|
|
6104
7837
|
},
|
|
6105
7838
|
'grid-line-time': {
|
|
@@ -6114,13 +7847,17 @@ function getStyle(fontSize = '12px', fontFamily = 'Arial, sans-serif') {
|
|
|
6114
7847
|
'user-select': 'none',
|
|
6115
7848
|
overflow: 'hidden',
|
|
6116
7849
|
'max-width': '100%',
|
|
6117
|
-
'border-right': '1px solid #
|
|
7850
|
+
'border-right': '1px solid #E5E7EB',
|
|
7851
|
+
'position': 'relative',
|
|
7852
|
+
'z-index': 1
|
|
6118
7853
|
},
|
|
6119
7854
|
'chart-graph-container': {
|
|
6120
7855
|
'user-select': 'none',
|
|
6121
7856
|
overflow: 'hidden',
|
|
6122
7857
|
'max-width': '100%',
|
|
6123
|
-
'border-right': '1px solid #
|
|
7858
|
+
'border-right': '1px solid #E5E7EB',
|
|
7859
|
+
'position': 'relative',
|
|
7860
|
+
'z-index': 0
|
|
6124
7861
|
},
|
|
6125
7862
|
'chart-area': {},
|
|
6126
7863
|
'chart-graph': {
|
|
@@ -6128,17 +7865,23 @@ function getStyle(fontSize = '12px', fontFamily = 'Arial, sans-serif') {
|
|
|
6128
7865
|
},
|
|
6129
7866
|
'chart-row-text-wrapper': {},
|
|
6130
7867
|
'chart-row-text': {
|
|
6131
|
-
background: '#
|
|
6132
|
-
'border-radius': '
|
|
7868
|
+
background: '#ffffff',
|
|
7869
|
+
'border-radius': '4px',
|
|
6133
7870
|
'font-family': fontFamily,
|
|
6134
|
-
'font-size':
|
|
6135
|
-
'font-weight': '
|
|
6136
|
-
color: '#
|
|
7871
|
+
'font-size': '11px',
|
|
7872
|
+
'font-weight': '500',
|
|
7873
|
+
color: '#374151',
|
|
6137
7874
|
height: '100%',
|
|
6138
|
-
display: 'inline-block'
|
|
7875
|
+
display: 'inline-block',
|
|
7876
|
+
'box-shadow': '0 1px 3px rgba(0, 0, 0, 0.1)',
|
|
7877
|
+
'border': '1px solid #E5E7EB'
|
|
6139
7878
|
},
|
|
6140
7879
|
'chart-row-text-content': {
|
|
6141
|
-
padding: '
|
|
7880
|
+
padding: '2px 8px',
|
|
7881
|
+
'white-space': 'nowrap',
|
|
7882
|
+
'overflow': 'hidden',
|
|
7883
|
+
'text-overflow': 'ellipsis',
|
|
7884
|
+
'max-width': '120px'
|
|
6142
7885
|
},
|
|
6143
7886
|
'chart-row-text-content--text': {},
|
|
6144
7887
|
'chart-row-text-content--html': {},
|
|
@@ -6153,12 +7896,46 @@ function getStyle(fontSize = '12px', fontFamily = 'Arial, sans-serif') {
|
|
|
6153
7896
|
'chart-row-project-wrapper': {},
|
|
6154
7897
|
'chart-row-project': {},
|
|
6155
7898
|
'chart-row-project-polygon': {},
|
|
7899
|
+
'chart-row-epic-wrapper': {},
|
|
7900
|
+
'chart-row-epic': {},
|
|
7901
|
+
'chart-row-epic-polygon': {
|
|
7902
|
+
stroke: '#8B5CF6',
|
|
7903
|
+
'stroke-width': 2,
|
|
7904
|
+
fill: '#8B5CF6',
|
|
7905
|
+
'fill-opacity': 0.9
|
|
7906
|
+
},
|
|
7907
|
+
'chart-row-subtask-wrapper': {},
|
|
7908
|
+
'chart-row-subtask': {},
|
|
7909
|
+
'chart-row-subtask-polygon': {
|
|
7910
|
+
stroke: '#3B82F6',
|
|
7911
|
+
'stroke-width': 1,
|
|
7912
|
+
fill: '#3B82F6',
|
|
7913
|
+
'fill-opacity': 0.9
|
|
7914
|
+
},
|
|
7915
|
+
'chart-row-story-wrapper': {},
|
|
7916
|
+
'chart-row-story': {},
|
|
7917
|
+
'chart-row-story-polygon': {
|
|
7918
|
+
stroke: '#86EFAC',
|
|
7919
|
+
'stroke-width': 1,
|
|
7920
|
+
fill: '#86EFAC',
|
|
7921
|
+
'fill-opacity': 0.9
|
|
7922
|
+
},
|
|
6156
7923
|
'chart-row-milestone-wrapper': {},
|
|
6157
7924
|
'chart-row-milestone': {},
|
|
6158
|
-
'chart-row-milestone-polygon': {
|
|
7925
|
+
'chart-row-milestone-polygon': {
|
|
7926
|
+
stroke: '#CD5C5C',
|
|
7927
|
+
'stroke-width': 2,
|
|
7928
|
+
fill: '#CD5C5C',
|
|
7929
|
+
'fill-opacity': 0.9
|
|
7930
|
+
},
|
|
6159
7931
|
'chart-row-task-wrapper': {},
|
|
6160
7932
|
'chart-row-task': {},
|
|
6161
|
-
'chart-row-task-polygon': {
|
|
7933
|
+
'chart-row-task-polygon': {
|
|
7934
|
+
stroke: '#3B82F6',
|
|
7935
|
+
'stroke-width': 1,
|
|
7936
|
+
fill: '#3B82F6',
|
|
7937
|
+
'fill-opacity': 0.9
|
|
7938
|
+
},
|
|
6162
7939
|
'chart-row-progress-bar-wrapper': {},
|
|
6163
7940
|
'chart-row-progress-bar': {},
|
|
6164
7941
|
'chart-row-progress-bar-line': {
|
|
@@ -7132,8 +8909,8 @@ var index = (function () {
|
|
|
7132
8909
|
|
|
7133
8910
|
/* harmony default export */ var ResizeObserver_es = (index);
|
|
7134
8911
|
|
|
7135
|
-
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-83.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/
|
|
7136
|
-
var
|
|
8912
|
+
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-83.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
|
|
8913
|
+
var Headervue_type_template_id_7624c9ea_render = function render() {
|
|
7137
8914
|
var _vm = this,
|
|
7138
8915
|
_c = _vm._self._c;
|
|
7139
8916
|
return _c('div', {
|
|
@@ -7330,7 +9107,7 @@ var Headervue_type_template_id_63647db0_render = function render() {
|
|
|
7330
9107
|
}
|
|
7331
9108
|
}), _vm._v(" " + _vm._s(_vm.opts.locale["Display task list"]) + " ")], 1)])]);
|
|
7332
9109
|
};
|
|
7333
|
-
var
|
|
9110
|
+
var Headervue_type_template_id_7624c9ea_staticRenderFns = [];
|
|
7334
9111
|
|
|
7335
9112
|
// EXTERNAL MODULE: ./node_modules/vue-slider-component/dist/vue-slider-component.umd.min.js
|
|
7336
9113
|
var vue_slider_component_umd_min = __webpack_require__(378);
|
|
@@ -7444,7 +9221,7 @@ var switches_component = normalizeComponent(
|
|
|
7444
9221
|
)
|
|
7445
9222
|
|
|
7446
9223
|
/* harmony default export */ var switches = (switches_component.exports);
|
|
7447
|
-
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-83.use[1]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/
|
|
9224
|
+
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-83.use[1]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/Header/Header.vue?vue&type=script&lang=js
|
|
7448
9225
|
|
|
7449
9226
|
|
|
7450
9227
|
|
|
@@ -7515,7 +9292,7 @@ const defaultStyle = {
|
|
|
7515
9292
|
};
|
|
7516
9293
|
const defaultOptions = {
|
|
7517
9294
|
title: {
|
|
7518
|
-
label: "",
|
|
9295
|
+
label: "ajay",
|
|
7519
9296
|
html: true
|
|
7520
9297
|
},
|
|
7521
9298
|
locale: {
|
|
@@ -7553,6 +9330,7 @@ const defaultOptions = {
|
|
|
7553
9330
|
};
|
|
7554
9331
|
},
|
|
7555
9332
|
created() {
|
|
9333
|
+
debugger; // eslint-disable-line no-debugger
|
|
7556
9334
|
defaultOptions.title.label = this.root.projectName;
|
|
7557
9335
|
this.localScale = this.root.state.options.times.timeZoom;
|
|
7558
9336
|
this.localHeight = this.root.state.options.row.height;
|
|
@@ -7653,9 +9431,9 @@ const defaultOptions = {
|
|
|
7653
9431
|
}
|
|
7654
9432
|
}
|
|
7655
9433
|
});
|
|
7656
|
-
;// ./src/components/
|
|
9434
|
+
;// ./src/components/Header/Header.vue?vue&type=script&lang=js
|
|
7657
9435
|
/* harmony default export */ var Header_Headervue_type_script_lang_js = (Headervue_type_script_lang_js);
|
|
7658
|
-
;// ./src/components/
|
|
9436
|
+
;// ./src/components/Header/Header.vue
|
|
7659
9437
|
|
|
7660
9438
|
|
|
7661
9439
|
|
|
@@ -7665,8 +9443,8 @@ const defaultOptions = {
|
|
|
7665
9443
|
;
|
|
7666
9444
|
var Header_component = normalizeComponent(
|
|
7667
9445
|
Header_Headervue_type_script_lang_js,
|
|
7668
|
-
|
|
7669
|
-
|
|
9446
|
+
Headervue_type_template_id_7624c9ea_render,
|
|
9447
|
+
Headervue_type_template_id_7624c9ea_staticRenderFns,
|
|
7670
9448
|
false,
|
|
7671
9449
|
null,
|
|
7672
9450
|
null,
|
|
@@ -7675,7 +9453,14 @@ var Header_component = normalizeComponent(
|
|
|
7675
9453
|
)
|
|
7676
9454
|
|
|
7677
9455
|
/* harmony default export */ var Header = (Header_component.exports);
|
|
7678
|
-
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-83.use[1]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/
|
|
9456
|
+
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-83.use[1]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/GanttElastic.vue?vue&type=script&lang=js
|
|
9457
|
+
|
|
9458
|
+
|
|
9459
|
+
|
|
9460
|
+
|
|
9461
|
+
|
|
9462
|
+
|
|
9463
|
+
|
|
7679
9464
|
|
|
7680
9465
|
|
|
7681
9466
|
|
|
@@ -7688,6 +9473,7 @@ var Header_component = normalizeComponent(
|
|
|
7688
9473
|
|
|
7689
9474
|
|
|
7690
9475
|
|
|
9476
|
+
|
|
7691
9477
|
const ctx = document.createElement('canvas').getContext('2d');
|
|
7692
9478
|
// let VueInst = VueInstance;
|
|
7693
9479
|
// function initVue() {
|
|
@@ -7697,7 +9483,7 @@ const ctx = document.createElement('canvas').getContext('2d');
|
|
|
7697
9483
|
// }
|
|
7698
9484
|
// initVue();
|
|
7699
9485
|
|
|
7700
|
-
|
|
9486
|
+
let hourWidthCache = null;
|
|
7701
9487
|
|
|
7702
9488
|
/**
|
|
7703
9489
|
* Helper function to fill out empty options in user settings
|
|
@@ -7800,15 +9586,15 @@ function getOptions(userOptions) {
|
|
|
7800
9586
|
bar: false
|
|
7801
9587
|
},
|
|
7802
9588
|
text: {
|
|
7803
|
-
offset:
|
|
9589
|
+
offset: 8,
|
|
7804
9590
|
//*
|
|
7805
|
-
xPadding:
|
|
9591
|
+
xPadding: 12,
|
|
7806
9592
|
//*
|
|
7807
9593
|
display: true //*
|
|
7808
9594
|
},
|
|
7809
9595
|
expander: {
|
|
7810
9596
|
type: 'chart',
|
|
7811
|
-
display:
|
|
9597
|
+
display: true,
|
|
7812
9598
|
//*
|
|
7813
9599
|
displayIfTaskListHidden: true,
|
|
7814
9600
|
//*
|
|
@@ -7840,7 +9626,7 @@ function getOptions(userOptions) {
|
|
|
7840
9626
|
minWidth: 18,
|
|
7841
9627
|
expander: {
|
|
7842
9628
|
type: 'task-list',
|
|
7843
|
-
size:
|
|
9629
|
+
size: 18,
|
|
7844
9630
|
columnWidth: 24,
|
|
7845
9631
|
padding: 16,
|
|
7846
9632
|
margin: 10,
|
|
@@ -7929,6 +9715,30 @@ function getOptions(userOptions) {
|
|
|
7929
9715
|
return date.format('MMMM YYYY');
|
|
7930
9716
|
}
|
|
7931
9717
|
}
|
|
9718
|
+
},
|
|
9719
|
+
quarter: {
|
|
9720
|
+
height: 30,
|
|
9721
|
+
//*
|
|
9722
|
+
display: true,
|
|
9723
|
+
//*
|
|
9724
|
+
widths: [],
|
|
9725
|
+
maxWidths: {
|
|
9726
|
+
short: 0,
|
|
9727
|
+
medium: 0,
|
|
9728
|
+
long: 0
|
|
9729
|
+
},
|
|
9730
|
+
format: {
|
|
9731
|
+
//*
|
|
9732
|
+
short(date) {
|
|
9733
|
+
return date.format('Qo quarter');
|
|
9734
|
+
},
|
|
9735
|
+
medium(date) {
|
|
9736
|
+
return date.format("Qo 'YY");
|
|
9737
|
+
},
|
|
9738
|
+
long(date) {
|
|
9739
|
+
return date.format('Qo quarter YYYY');
|
|
9740
|
+
}
|
|
9741
|
+
}
|
|
7932
9742
|
}
|
|
7933
9743
|
},
|
|
7934
9744
|
locale: {
|
|
@@ -8171,7 +9981,8 @@ const GanttElastic = {
|
|
|
8171
9981
|
name: 'GanttElastic',
|
|
8172
9982
|
components: {
|
|
8173
9983
|
MainView: MainView,
|
|
8174
|
-
'gantt-header': Header
|
|
9984
|
+
'gantt-header': Header,
|
|
9985
|
+
'gantt-view-filter': GanttViewFilter
|
|
8175
9986
|
},
|
|
8176
9987
|
props: ['tasks', 'options', 'dynamicStyle', 'isHeaderVisible', 'projectName'],
|
|
8177
9988
|
provide() {
|
|
@@ -8200,7 +10011,7 @@ const GanttElastic = {
|
|
|
8200
10011
|
refs: {},
|
|
8201
10012
|
tasksById: {},
|
|
8202
10013
|
taskTree: {},
|
|
8203
|
-
ctx
|
|
10014
|
+
ctx,
|
|
8204
10015
|
emitTasksChanges: true,
|
|
8205
10016
|
// some operations may pause emitting changes to parent component
|
|
8206
10017
|
emitOptionsChanges: true,
|
|
@@ -8218,6 +10029,51 @@ const GanttElastic = {
|
|
|
8218
10029
|
methods: {
|
|
8219
10030
|
mergeDeep,
|
|
8220
10031
|
mergeDeepReactive,
|
|
10032
|
+
onViewModeChanged(mode) {
|
|
10033
|
+
// Update the calendar view mode
|
|
10034
|
+
this.options.calendar.viewMode = mode;
|
|
10035
|
+
|
|
10036
|
+
// Update the step duration based on the view mode
|
|
10037
|
+
if (this.options.times) {
|
|
10038
|
+
switch (mode) {
|
|
10039
|
+
case 'quarter':
|
|
10040
|
+
this.options.times.stepDuration = 'quarter';
|
|
10041
|
+
this.options.times.timeZoom = 15; // Reset zoom for better quarter view
|
|
10042
|
+
break;
|
|
10043
|
+
case 'month':
|
|
10044
|
+
this.options.times.stepDuration = 'month';
|
|
10045
|
+
this.options.times.timeZoom = 17; // Reset zoom for better month view
|
|
10046
|
+
break;
|
|
10047
|
+
case 'week':
|
|
10048
|
+
this.options.times.stepDuration = 'week';
|
|
10049
|
+
this.options.times.timeZoom = 19; // Reset zoom for better week view
|
|
10050
|
+
break;
|
|
10051
|
+
default:
|
|
10052
|
+
// 'day' or any other mode
|
|
10053
|
+
this.options.times.stepDuration = 'day';
|
|
10054
|
+
this.options.times.timeZoom = 21; // Reset zoom for better day view
|
|
10055
|
+
break;
|
|
10056
|
+
}
|
|
10057
|
+
}
|
|
10058
|
+
|
|
10059
|
+
// Force recalculation by triggering a reactive update
|
|
10060
|
+
this.$nextTick(() => {
|
|
10061
|
+
this.$forceUpdate();
|
|
10062
|
+
// Recalculate start date based on new view mode and trigger full recalculation
|
|
10063
|
+
if (this.$refs.ganttChart) {
|
|
10064
|
+
// Trigger recalculation of dates and times with new view mode
|
|
10065
|
+
this.$refs.ganttChart.prepareDates();
|
|
10066
|
+
this.$refs.ganttChart.initTimes();
|
|
10067
|
+
this.$refs.ganttChart.calculateSteps();
|
|
10068
|
+
this.$refs.ganttChart.computeCalendarWidths();
|
|
10069
|
+
|
|
10070
|
+
// Ensure perfect alignment between calendar and chart
|
|
10071
|
+
if (this.$refs.ganttChart.ensureCalendarChartAlignment) {
|
|
10072
|
+
this.$refs.ganttChart.ensureCalendarChartAlignment();
|
|
10073
|
+
}
|
|
10074
|
+
}
|
|
10075
|
+
});
|
|
10076
|
+
},
|
|
8221
10077
|
/**
|
|
8222
10078
|
* Calculate height of scrollbar in current browser
|
|
8223
10079
|
*
|
|
@@ -8353,7 +10209,22 @@ const GanttElastic = {
|
|
|
8353
10209
|
tasks = this.fillTasks(tasks);
|
|
8354
10210
|
this.state.tasksById = this.resetTaskTree(tasks);
|
|
8355
10211
|
this.state.taskTree = this.makeTaskTree(this.state.rootTask, tasks);
|
|
8356
|
-
|
|
10212
|
+
|
|
10213
|
+
// Get all visible tasks including parent tasks
|
|
10214
|
+
const visibleTaskIds = new Set();
|
|
10215
|
+
|
|
10216
|
+
// Add all root-level tasks (these include parent tasks that don't have parentId)
|
|
10217
|
+
this.state.taskTree.allChildren.forEach(childId => {
|
|
10218
|
+
visibleTaskIds.add(childId);
|
|
10219
|
+
});
|
|
10220
|
+
|
|
10221
|
+
// Also add any parent tasks that have children but might not be in root children
|
|
10222
|
+
tasks.forEach(task => {
|
|
10223
|
+
if (task.allChildren && task.allChildren.length > 0) {
|
|
10224
|
+
visibleTaskIds.add(task.id);
|
|
10225
|
+
}
|
|
10226
|
+
});
|
|
10227
|
+
this.state.tasks = Array.from(visibleTaskIds).map(childId => this.getTask(childId));
|
|
8357
10228
|
this.calculateTaskListColumnsDimensions();
|
|
8358
10229
|
this.state.options.scrollBarHeight = this.getScrollBarHeight();
|
|
8359
10230
|
this.state.options.outerHeight = this.state.options.height + this.state.options.scrollBarHeight;
|
|
@@ -8505,11 +10376,21 @@ const GanttElastic = {
|
|
|
8505
10376
|
if (typeof task === 'number' || typeof task === 'string') {
|
|
8506
10377
|
task = this.getTask(task);
|
|
8507
10378
|
}
|
|
10379
|
+
|
|
10380
|
+
// Always show parent tasks (tasks with children) - they need to be visible for expander functionality
|
|
10381
|
+
if (task.allChildren && task.allChildren.length > 0) {
|
|
10382
|
+
return true;
|
|
10383
|
+
}
|
|
10384
|
+
|
|
10385
|
+
// For child tasks, check if any parent is collapsed
|
|
8508
10386
|
for (let i = 0, len = task.parents.length; i < len; i++) {
|
|
8509
|
-
|
|
10387
|
+
const parentTask = this.getTask(task.parents[i]);
|
|
10388
|
+
if (parentTask && parentTask.collapsed) {
|
|
8510
10389
|
return false;
|
|
8511
10390
|
}
|
|
8512
10391
|
}
|
|
10392
|
+
|
|
10393
|
+
// Show all other tasks (root-level tasks and non-collapsed child tasks)
|
|
8513
10394
|
return true;
|
|
8514
10395
|
},
|
|
8515
10396
|
/**
|
|
@@ -8767,46 +10648,311 @@ const GanttElastic = {
|
|
|
8767
10648
|
this.$on('taskList-width-change', this.onTaskListWidthChange);
|
|
8768
10649
|
this.$on('taskList-column-width-change', this.onTaskListColumnWidthChange);
|
|
8769
10650
|
},
|
|
10651
|
+
/**
|
|
10652
|
+
* Get responsive step widths based on screen size
|
|
10653
|
+
*/
|
|
10654
|
+
getResponsiveStepWidths(stepDuration) {
|
|
10655
|
+
const clientWidth = this.state.options.clientWidth;
|
|
10656
|
+
|
|
10657
|
+
// Enhanced base step widths for different screen sizes
|
|
10658
|
+
const baseWidths = {
|
|
10659
|
+
'day': {
|
|
10660
|
+
mobile: 40,
|
|
10661
|
+
tablet: 50,
|
|
10662
|
+
desktopSmall: 60,
|
|
10663
|
+
desktopBig: 80
|
|
10664
|
+
},
|
|
10665
|
+
'week': {
|
|
10666
|
+
mobile: 80,
|
|
10667
|
+
tablet: 100,
|
|
10668
|
+
desktopSmall: 120,
|
|
10669
|
+
desktopBig: 150
|
|
10670
|
+
},
|
|
10671
|
+
'month': {
|
|
10672
|
+
mobile: 120,
|
|
10673
|
+
tablet: 140,
|
|
10674
|
+
desktopSmall: 160,
|
|
10675
|
+
desktopBig: 200
|
|
10676
|
+
},
|
|
10677
|
+
'quarter': {
|
|
10678
|
+
mobile: 200,
|
|
10679
|
+
tablet: 250,
|
|
10680
|
+
desktopSmall: 300,
|
|
10681
|
+
desktopBig: 400
|
|
10682
|
+
}
|
|
10683
|
+
};
|
|
10684
|
+
|
|
10685
|
+
// Determine screen size with desktop variants
|
|
10686
|
+
let screenSize;
|
|
10687
|
+
if (clientWidth < 768) {
|
|
10688
|
+
screenSize = 'mobile';
|
|
10689
|
+
} else if (clientWidth < 1024) {
|
|
10690
|
+
screenSize = 'tablet';
|
|
10691
|
+
} else if (clientWidth < 1440) {
|
|
10692
|
+
screenSize = 'desktopSmall';
|
|
10693
|
+
} else {
|
|
10694
|
+
screenSize = 'desktopBig';
|
|
10695
|
+
}
|
|
10696
|
+
|
|
10697
|
+
// Get responsive width for the step duration
|
|
10698
|
+
let responsiveWidth = baseWidths[stepDuration][screenSize];
|
|
10699
|
+
|
|
10700
|
+
// Calculate dynamic width based on data content
|
|
10701
|
+
const dataBasedWidth = this.getDataBasedStepWidth(stepDuration, clientWidth);
|
|
10702
|
+
|
|
10703
|
+
// Use the larger of responsive width or data-based width
|
|
10704
|
+
return Math.max(responsiveWidth, dataBasedWidth);
|
|
10705
|
+
},
|
|
10706
|
+
/**
|
|
10707
|
+
* Get step width based on data content and minimum visibility requirements
|
|
10708
|
+
*/
|
|
10709
|
+
getDataBasedStepWidth(stepDuration, clientWidth) {
|
|
10710
|
+
const estimatedSteps = this.getEstimatedStepCount(stepDuration);
|
|
10711
|
+
const taskListWidth = 300; // Account for task list width
|
|
10712
|
+
const availableWidth = clientWidth - taskListWidth;
|
|
10713
|
+
|
|
10714
|
+
// Define minimum visibility requirements
|
|
10715
|
+
const minVisibilitySteps = {
|
|
10716
|
+
'day': 30,
|
|
10717
|
+
// Show at least 30 days
|
|
10718
|
+
'week': 12,
|
|
10719
|
+
// Show at least 12 weeks (3 months)
|
|
10720
|
+
'month': 8,
|
|
10721
|
+
// Show at least 8 months
|
|
10722
|
+
'quarter': 3 // Show at least 3 quarters
|
|
10723
|
+
};
|
|
10724
|
+
|
|
10725
|
+
// Calculate minimum steps needed for good visibility
|
|
10726
|
+
const minSteps = Math.max(estimatedSteps, minVisibilitySteps[stepDuration]);
|
|
10727
|
+
|
|
10728
|
+
// Define minimum readable width per step
|
|
10729
|
+
const minReadableWidth = {
|
|
10730
|
+
'day': 30,
|
|
10731
|
+
'week': 60,
|
|
10732
|
+
'month': 80,
|
|
10733
|
+
'quarter': 120
|
|
10734
|
+
};
|
|
10735
|
+
|
|
10736
|
+
// Calculate width per step to ensure minimum visibility
|
|
10737
|
+
const minWidthPerStep = availableWidth / minSteps;
|
|
10738
|
+
|
|
10739
|
+
// Use the larger of minimum readable width or calculated width
|
|
10740
|
+
const calculatedWidth = Math.max(minWidthPerStep, minReadableWidth[stepDuration]);
|
|
10741
|
+
|
|
10742
|
+
// Define maximum reasonable width per step
|
|
10743
|
+
const maxWidthPerStep = {
|
|
10744
|
+
'day': 100,
|
|
10745
|
+
'week': 200,
|
|
10746
|
+
'month': 300,
|
|
10747
|
+
'quarter': 500
|
|
10748
|
+
};
|
|
10749
|
+
|
|
10750
|
+
// Ensure we don't exceed maximum reasonable width
|
|
10751
|
+
return Math.min(calculatedWidth, maxWidthPerStep[stepDuration]);
|
|
10752
|
+
},
|
|
10753
|
+
/**
|
|
10754
|
+
* Get maximum width multiplier based on screen size and data content
|
|
10755
|
+
*/
|
|
10756
|
+
getMaxWidthMultiplier(stepDuration, stepCount) {
|
|
10757
|
+
const clientWidth = this.state.options.clientWidth;
|
|
10758
|
+
|
|
10759
|
+
// Base multipliers for different screen sizes
|
|
10760
|
+
const baseMultipliers = {
|
|
10761
|
+
mobile: 2,
|
|
10762
|
+
// 2x viewport width on mobile
|
|
10763
|
+
tablet: 2.5,
|
|
10764
|
+
// 2.5x viewport width on tablet
|
|
10765
|
+
desktopSmall: 3,
|
|
10766
|
+
// 3x viewport width on small desktop
|
|
10767
|
+
desktopBig: 4 // 4x viewport width on big desktop
|
|
10768
|
+
};
|
|
10769
|
+
|
|
10770
|
+
// Determine screen size
|
|
10771
|
+
let screenSize;
|
|
10772
|
+
if (clientWidth < 768) {
|
|
10773
|
+
screenSize = 'mobile';
|
|
10774
|
+
} else if (clientWidth < 1024) {
|
|
10775
|
+
screenSize = 'tablet';
|
|
10776
|
+
} else if (clientWidth < 1440) {
|
|
10777
|
+
screenSize = 'desktopSmall';
|
|
10778
|
+
} else {
|
|
10779
|
+
screenSize = 'desktopBig';
|
|
10780
|
+
}
|
|
10781
|
+
let multiplier = baseMultipliers[screenSize];
|
|
10782
|
+
|
|
10783
|
+
// Adjust multiplier based on data content
|
|
10784
|
+
const minVisibilitySteps = {
|
|
10785
|
+
'day': 30,
|
|
10786
|
+
'week': 12,
|
|
10787
|
+
'month': 8,
|
|
10788
|
+
'quarter': 3
|
|
10789
|
+
};
|
|
10790
|
+
|
|
10791
|
+
// If we have more data than minimum visibility, allow more width
|
|
10792
|
+
if (stepCount > minVisibilitySteps[stepDuration]) {
|
|
10793
|
+
const dataRatio = stepCount / minVisibilitySteps[stepDuration];
|
|
10794
|
+
multiplier = Math.min(multiplier * (1 + dataRatio * 0.5), 6); // Max 6x viewport width
|
|
10795
|
+
}
|
|
10796
|
+
return multiplier;
|
|
10797
|
+
},
|
|
10798
|
+
/**
|
|
10799
|
+
* Get estimated step count for responsive calculations
|
|
10800
|
+
*/
|
|
10801
|
+
getEstimatedStepCount(stepDuration) {
|
|
10802
|
+
const totalDurationMs = dayjs_min_default()(this.state.options.times.lastTime).diff(this.state.options.times.firstTime, 'milliseconds');
|
|
10803
|
+
switch (stepDuration) {
|
|
10804
|
+
case 'quarter':
|
|
10805
|
+
return Math.ceil(dayjs_min_default()(this.state.options.times.lastTime).diff(dayjs_min_default()(this.state.options.times.firstTime), 'quarter', true));
|
|
10806
|
+
case 'month':
|
|
10807
|
+
return Math.ceil(dayjs_min_default()(this.state.options.times.lastTime).diff(dayjs_min_default()(this.state.options.times.firstTime), 'month', true));
|
|
10808
|
+
case 'week':
|
|
10809
|
+
return Math.ceil(dayjs_min_default()(this.state.options.times.lastTime).diff(dayjs_min_default()(this.state.options.times.firstTime), 'week', true));
|
|
10810
|
+
case 'day':
|
|
10811
|
+
default:
|
|
10812
|
+
return Math.ceil(dayjs_min_default()(this.state.options.times.lastTime).diff(dayjs_min_default()(this.state.options.times.firstTime), 'day', true));
|
|
10813
|
+
}
|
|
10814
|
+
},
|
|
8770
10815
|
/**
|
|
8771
10816
|
* When some action was performed (scale change for example) - recalculate time variables
|
|
8772
10817
|
*/
|
|
8773
10818
|
recalculateTimes() {
|
|
8774
|
-
|
|
8775
|
-
|
|
8776
|
-
|
|
8777
|
-
|
|
8778
|
-
|
|
8779
|
-
|
|
10819
|
+
const stepDuration = this.state.options.times.stepDuration;
|
|
10820
|
+
const timeZoom = this.state.options.times.timeZoom;
|
|
10821
|
+
|
|
10822
|
+
// Calculate base time per pixel based on step duration
|
|
10823
|
+
let baseTimePerPixel;
|
|
10824
|
+
const totalDurationMs = dayjs_min_default()(this.state.options.times.lastTime).diff(this.state.options.times.firstTime, 'milliseconds');
|
|
10825
|
+
|
|
10826
|
+
// Get responsive step width based on screen size and data content
|
|
10827
|
+
const responsiveStepWidth = this.getResponsiveStepWidths(stepDuration);
|
|
10828
|
+
|
|
10829
|
+
// Calculate how many steps we'll have
|
|
10830
|
+
const stepCount = this.getEstimatedStepCount(stepDuration);
|
|
10831
|
+
|
|
10832
|
+
// Define minimum visibility requirements
|
|
10833
|
+
const minVisibilitySteps = {
|
|
10834
|
+
'day': 30,
|
|
10835
|
+
// Show at least 30 days
|
|
10836
|
+
'week': 12,
|
|
10837
|
+
// Show at least 12 weeks (3 months)
|
|
10838
|
+
'month': 8,
|
|
10839
|
+
// Show at least 8 months
|
|
10840
|
+
'quarter': 3 // Show at least 3 quarters
|
|
10841
|
+
};
|
|
10842
|
+
|
|
10843
|
+
// Ensure we show at least the minimum number of steps
|
|
10844
|
+
const actualSteps = Math.max(stepCount, minVisibilitySteps[stepDuration]);
|
|
10845
|
+
|
|
10846
|
+
// Ensure minimum visibility for all view types
|
|
10847
|
+
if (stepCount < minVisibilitySteps[stepDuration]) {
|
|
10848
|
+
const firstTime = dayjs_min_default()(this.state.options.times.firstTime);
|
|
10849
|
+
let lastTime;
|
|
10850
|
+
switch (stepDuration) {
|
|
10851
|
+
case 'month':
|
|
10852
|
+
lastTime = firstTime.add(8, 'month');
|
|
10853
|
+
break;
|
|
10854
|
+
case 'week':
|
|
10855
|
+
lastTime = firstTime.add(12, 'week');
|
|
10856
|
+
break;
|
|
10857
|
+
case 'quarter':
|
|
10858
|
+
lastTime = firstTime.add(3, 'quarter');
|
|
10859
|
+
break;
|
|
10860
|
+
case 'day':
|
|
10861
|
+
default:
|
|
10862
|
+
lastTime = firstTime.add(30, 'day');
|
|
10863
|
+
break;
|
|
10864
|
+
}
|
|
10865
|
+
this.state.options.times.lastTime = lastTime.valueOf();
|
|
10866
|
+
// Recalculate total duration with extended range
|
|
10867
|
+
const extendedDurationMs = lastTime.diff(firstTime, 'milliseconds');
|
|
10868
|
+
const minSteps = minVisibilitySteps[stepDuration];
|
|
10869
|
+
this.state.options.times.timePerPixel = extendedDurationMs / (minSteps * responsiveStepWidth);
|
|
10870
|
+
this.state.options.times.totalViewDurationMs = extendedDurationMs;
|
|
10871
|
+
this.state.options.times.totalViewDurationPx = minSteps * responsiveStepWidth;
|
|
10872
|
+
return; // Exit early for views with extended range
|
|
10873
|
+
}
|
|
10874
|
+
|
|
10875
|
+
// Calculate total width needed for all steps
|
|
10876
|
+
const totalWidthNeeded = actualSteps * responsiveStepWidth;
|
|
10877
|
+
|
|
10878
|
+
// Calculate time per pixel to fit the content with responsive step width
|
|
10879
|
+
this.state.options.times.timePerPixel = totalDurationMs / totalWidthNeeded;
|
|
10880
|
+
|
|
10881
|
+
// Apply zoom factor (higher zoom = more compressed view)
|
|
10882
|
+
const zoomFactor = Math.pow(0.8, (timeZoom - 17) / 10); // Adjust zoom sensitivity
|
|
10883
|
+
this.state.options.times.timePerPixel *= zoomFactor;
|
|
10884
|
+
this.state.options.times.totalViewDurationMs = totalDurationMs;
|
|
8780
10885
|
this.state.options.times.totalViewDurationPx = this.state.options.times.totalViewDurationMs / this.state.options.times.timePerPixel;
|
|
8781
|
-
|
|
10886
|
+
|
|
10887
|
+
// Calculate final width
|
|
10888
|
+
const calculatedWidth = this.state.options.times.totalViewDurationPx + this.style['grid-line-vertical']['stroke-width'];
|
|
10889
|
+
|
|
10890
|
+
// Define maximum width based on screen size and data content
|
|
10891
|
+
const maxWidthMultiplier = this.getMaxWidthMultiplier(stepDuration, actualSteps);
|
|
10892
|
+
const maxWidth = this.state.options.clientWidth * maxWidthMultiplier;
|
|
10893
|
+
|
|
10894
|
+
// Ensure minimum width for scrolling when we have minimum visibility requirements
|
|
10895
|
+
const minWidthForScrolling = this.state.options.clientWidth * 1.2; // 20% more than viewport
|
|
10896
|
+
const finalWidth = Math.max(calculatedWidth, minWidthForScrolling);
|
|
10897
|
+
if (finalWidth > maxWidth) {
|
|
10898
|
+
// Only limit width if it's truly excessive
|
|
10899
|
+
this.state.options.times.timePerPixel = totalDurationMs / (maxWidth - this.style['grid-line-vertical']['stroke-width']);
|
|
10900
|
+
this.state.options.times.totalViewDurationPx = totalDurationMs / this.state.options.times.timePerPixel;
|
|
10901
|
+
this.state.options.width = maxWidth;
|
|
10902
|
+
} else {
|
|
10903
|
+
this.state.options.width = finalWidth;
|
|
10904
|
+
}
|
|
8782
10905
|
},
|
|
8783
10906
|
/**
|
|
8784
10907
|
* Initialize time variables
|
|
8785
10908
|
*/
|
|
8786
10909
|
initTimes() {
|
|
8787
|
-
|
|
10910
|
+
// Calculate dynamic start date based on the formula
|
|
10911
|
+
const minDataDate = dayjs_min_default()(this.state.options.times.firstTaskTime).startOf('day');
|
|
10912
|
+
const viewBasedStartDate = this.calculateDynamicStartDate();
|
|
10913
|
+
|
|
10914
|
+
// Use the minimum of data start date and view-based start date
|
|
10915
|
+
const dynamicStartDate = minDataDate.isBefore(viewBasedStartDate) ? minDataDate : viewBasedStartDate;
|
|
10916
|
+
this.state.options.times.firstTime = dynamicStartDate.locale(this.state.options.locale.name).subtract(this.state.options.scope.before, 'days').startOf('day').valueOf();
|
|
8788
10917
|
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();
|
|
8789
10918
|
this.recalculateTimes();
|
|
8790
10919
|
},
|
|
8791
10920
|
/**
|
|
8792
10921
|
* Calculate steps
|
|
8793
|
-
* Steps are
|
|
10922
|
+
* Steps are calculated based on stepDuration (day, week, month, quarter)
|
|
8794
10923
|
* Each step contain information about time offset and pixel offset of this time inside gantt chart
|
|
8795
10924
|
*/
|
|
8796
10925
|
calculateSteps() {
|
|
8797
10926
|
const steps = [];
|
|
8798
10927
|
const lastMs = dayjs_min_default()(this.state.options.times.lastTime).valueOf();
|
|
8799
|
-
const
|
|
10928
|
+
const stepDuration = this.state.options.times.stepDuration;
|
|
10929
|
+
|
|
10930
|
+
// Get the appropriate startOf method based on step duration
|
|
10931
|
+
const getStartOf = (date, duration) => {
|
|
10932
|
+
switch (duration) {
|
|
10933
|
+
case 'quarter':
|
|
10934
|
+
return date.startOf('quarter');
|
|
10935
|
+
case 'month':
|
|
10936
|
+
return date.startOf('month');
|
|
10937
|
+
case 'week':
|
|
10938
|
+
return date.startOf('week');
|
|
10939
|
+
case 'day':
|
|
10940
|
+
default:
|
|
10941
|
+
return date.startOf('day');
|
|
10942
|
+
}
|
|
10943
|
+
};
|
|
10944
|
+
const firstDate = dayjs_min_default()(this.state.options.times.firstTime);
|
|
8800
10945
|
steps.push({
|
|
8801
|
-
time:
|
|
10946
|
+
time: firstDate.valueOf(),
|
|
8802
10947
|
offset: {
|
|
8803
10948
|
ms: 0,
|
|
8804
10949
|
px: 0
|
|
8805
10950
|
}
|
|
8806
10951
|
});
|
|
8807
|
-
|
|
10952
|
+
let currentDate = getStartOf(firstDate.clone().add(1, stepDuration), stepDuration);
|
|
10953
|
+
while (currentDate.valueOf() <= lastMs) {
|
|
8808
10954
|
const offsetMs = currentDate.diff(this.state.options.times.firstTime, 'milliseconds');
|
|
8809
|
-
const offsetPx = offsetMs / this.state.options.times.timePerPixel;
|
|
10955
|
+
const offsetPx = Math.round(offsetMs / this.state.options.times.timePerPixel); // Round to avoid sub-pixel issues
|
|
8810
10956
|
const step = {
|
|
8811
10957
|
time: currentDate.valueOf(),
|
|
8812
10958
|
offset: {
|
|
@@ -8817,14 +10963,17 @@ const GanttElastic = {
|
|
|
8817
10963
|
const previousStep = steps[steps.length - 1];
|
|
8818
10964
|
previousStep.width = {
|
|
8819
10965
|
ms: offsetMs - previousStep.offset.ms,
|
|
8820
|
-
px: offsetPx - previousStep.offset.px
|
|
10966
|
+
px: Math.round(offsetPx - previousStep.offset.px) // Round to avoid sub-pixel issues
|
|
8821
10967
|
};
|
|
8822
10968
|
steps.push(step);
|
|
10969
|
+
|
|
10970
|
+
// Move to next step
|
|
10971
|
+
currentDate = getStartOf(currentDate.add(1, stepDuration), stepDuration);
|
|
8823
10972
|
}
|
|
8824
10973
|
const lastStep = steps[steps.length - 1];
|
|
8825
10974
|
lastStep.width = {
|
|
8826
10975
|
ms: this.state.options.times.totalViewDurationMs - lastStep.offset.ms,
|
|
8827
|
-
px: this.state.options.times.totalViewDurationPx - lastStep.offset.px
|
|
10976
|
+
px: Math.round(this.state.options.times.totalViewDurationPx - lastStep.offset.px) // Round to avoid sub-pixel issues
|
|
8828
10977
|
};
|
|
8829
10978
|
this.state.options.times.steps = steps;
|
|
8830
10979
|
},
|
|
@@ -8963,6 +11112,32 @@ const GanttElastic = {
|
|
|
8963
11112
|
currentDate = currentDate.add(1, 'month');
|
|
8964
11113
|
}
|
|
8965
11114
|
},
|
|
11115
|
+
/**
|
|
11116
|
+
* Calculate dynamic start date based on view mode and current date
|
|
11117
|
+
* 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)
|
|
11118
|
+
*/
|
|
11119
|
+
calculateDynamicStartDate() {
|
|
11120
|
+
const currentDate = dayjs_min_default()();
|
|
11121
|
+
const stepDuration = this.state.options.times.stepDuration;
|
|
11122
|
+
let viewBasedStartDate;
|
|
11123
|
+
switch (stepDuration) {
|
|
11124
|
+
case 'day':
|
|
11125
|
+
viewBasedStartDate = currentDate.startOf('day');
|
|
11126
|
+
break;
|
|
11127
|
+
case 'week':
|
|
11128
|
+
viewBasedStartDate = currentDate.subtract(1, 'week').startOf('week');
|
|
11129
|
+
break;
|
|
11130
|
+
case 'month':
|
|
11131
|
+
viewBasedStartDate = currentDate.subtract(1, 'month').startOf('month');
|
|
11132
|
+
break;
|
|
11133
|
+
case 'quarter':
|
|
11134
|
+
viewBasedStartDate = currentDate.subtract(1, 'quarter').startOf('quarter');
|
|
11135
|
+
break;
|
|
11136
|
+
default:
|
|
11137
|
+
viewBasedStartDate = currentDate.startOf('day');
|
|
11138
|
+
}
|
|
11139
|
+
return viewBasedStartDate;
|
|
11140
|
+
},
|
|
8966
11141
|
/**
|
|
8967
11142
|
* Prepare time and date variables for gantt
|
|
8968
11143
|
*/
|
|
@@ -8980,7 +11155,14 @@ const GanttElastic = {
|
|
|
8980
11155
|
}
|
|
8981
11156
|
this.state.options.times.firstTaskTime = firstTaskTime;
|
|
8982
11157
|
this.state.options.times.lastTaskTime = lastTaskTime;
|
|
8983
|
-
|
|
11158
|
+
|
|
11159
|
+
// Calculate dynamic start date based on the formula
|
|
11160
|
+
const minDataDate = dayjs_min_default()(firstTaskTime).startOf('day');
|
|
11161
|
+
const viewBasedStartDate = this.calculateDynamicStartDate();
|
|
11162
|
+
|
|
11163
|
+
// Use the minimum of data start date and view-based start date
|
|
11164
|
+
const dynamicStartDate = minDataDate.isBefore(viewBasedStartDate) ? minDataDate : viewBasedStartDate;
|
|
11165
|
+
this.state.options.times.firstTime = dynamicStartDate.locale(this.state.options.locale.name).subtract(this.state.options.scope.before, 'days').startOf('day').valueOf();
|
|
8984
11166
|
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();
|
|
8985
11167
|
},
|
|
8986
11168
|
/**
|
|
@@ -9023,6 +11205,11 @@ const GanttElastic = {
|
|
|
9023
11205
|
});
|
|
9024
11206
|
}
|
|
9025
11207
|
this.calculateTaskListColumnsDimensions();
|
|
11208
|
+
|
|
11209
|
+
// Recalculate times when window is resized to adjust step widths
|
|
11210
|
+
this.recalculateTimes();
|
|
11211
|
+
this.calculateSteps();
|
|
11212
|
+
this.computeCalendarWidths();
|
|
9026
11213
|
this.$emit('calendar-recalculate');
|
|
9027
11214
|
this.syncScrollTop();
|
|
9028
11215
|
}
|
|
@@ -9189,14 +11376,14 @@ const GanttElastic = {
|
|
|
9189
11376
|
}
|
|
9190
11377
|
};
|
|
9191
11378
|
/* harmony default export */ var GanttElasticvue_type_script_lang_js = (GanttElastic);
|
|
9192
|
-
;// ./src/
|
|
9193
|
-
/* harmony default export */ var
|
|
9194
|
-
;// ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-55.use[0]!./node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??clonedRuleSet-55.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-55.use[2]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/
|
|
11379
|
+
;// ./src/GanttElastic.vue?vue&type=script&lang=js
|
|
11380
|
+
/* harmony default export */ var src_GanttElasticvue_type_script_lang_js = (GanttElasticvue_type_script_lang_js);
|
|
11381
|
+
;// ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-55.use[0]!./node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??clonedRuleSet-55.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-55.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
|
|
9195
11382
|
// extracted by mini-css-extract-plugin
|
|
9196
11383
|
|
|
9197
|
-
;// ./src/
|
|
11384
|
+
;// ./src/GanttElastic.vue?vue&type=style&index=0&id=2767341e&prod&lang=css
|
|
9198
11385
|
|
|
9199
|
-
;// ./src/
|
|
11386
|
+
;// ./src/GanttElastic.vue
|
|
9200
11387
|
|
|
9201
11388
|
|
|
9202
11389
|
|
|
@@ -9206,7 +11393,68 @@ const GanttElastic = {
|
|
|
9206
11393
|
/* normalize component */
|
|
9207
11394
|
|
|
9208
11395
|
var GanttElastic_component = normalizeComponent(
|
|
9209
|
-
|
|
11396
|
+
src_GanttElasticvue_type_script_lang_js,
|
|
11397
|
+
GanttElasticvue_type_template_id_2767341e_render,
|
|
11398
|
+
GanttElasticvue_type_template_id_2767341e_staticRenderFns,
|
|
11399
|
+
false,
|
|
11400
|
+
null,
|
|
11401
|
+
null,
|
|
11402
|
+
null
|
|
11403
|
+
|
|
11404
|
+
)
|
|
11405
|
+
|
|
11406
|
+
/* harmony default export */ var src_GanttElastic = (GanttElastic_component.exports);
|
|
11407
|
+
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-83.use[1]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/GanttElastic.standalone.vue?vue&type=script&lang=js
|
|
11408
|
+
|
|
11409
|
+
/* harmony default export */ var GanttElastic_standalonevue_type_script_lang_js = ({
|
|
11410
|
+
name: 'GanttElasticStandalone',
|
|
11411
|
+
components: {
|
|
11412
|
+
'gantt-elastic': src_GanttElastic
|
|
11413
|
+
},
|
|
11414
|
+
props: {
|
|
11415
|
+
// Props to receive from parent
|
|
11416
|
+
tasks: {
|
|
11417
|
+
type: Array,
|
|
11418
|
+
default: () => []
|
|
11419
|
+
},
|
|
11420
|
+
options: {
|
|
11421
|
+
type: Object,
|
|
11422
|
+
default: () => ({})
|
|
11423
|
+
},
|
|
11424
|
+
dynamicStyle: {
|
|
11425
|
+
type: Object,
|
|
11426
|
+
default: () => ({})
|
|
11427
|
+
},
|
|
11428
|
+
header: {
|
|
11429
|
+
type: Object,
|
|
11430
|
+
default: () => ({})
|
|
11431
|
+
},
|
|
11432
|
+
footer: {
|
|
11433
|
+
type: Object,
|
|
11434
|
+
default: () => ({})
|
|
11435
|
+
}
|
|
11436
|
+
},
|
|
11437
|
+
data() {
|
|
11438
|
+
return {
|
|
11439
|
+
components: {
|
|
11440
|
+
header: this.header,
|
|
11441
|
+
footer: this.footer
|
|
11442
|
+
}
|
|
11443
|
+
};
|
|
11444
|
+
}
|
|
11445
|
+
});
|
|
11446
|
+
;// ./src/GanttElastic.standalone.vue?vue&type=script&lang=js
|
|
11447
|
+
/* harmony default export */ var src_GanttElastic_standalonevue_type_script_lang_js = (GanttElastic_standalonevue_type_script_lang_js);
|
|
11448
|
+
;// ./src/GanttElastic.standalone.vue
|
|
11449
|
+
|
|
11450
|
+
|
|
11451
|
+
|
|
11452
|
+
|
|
11453
|
+
|
|
11454
|
+
/* normalize component */
|
|
11455
|
+
;
|
|
11456
|
+
var GanttElastic_standalone_component = normalizeComponent(
|
|
11457
|
+
src_GanttElastic_standalonevue_type_script_lang_js,
|
|
9210
11458
|
render,
|
|
9211
11459
|
staticRenderFns,
|
|
9212
11460
|
false,
|
|
@@ -9216,12 +11464,12 @@ var GanttElastic_component = normalizeComponent(
|
|
|
9216
11464
|
|
|
9217
11465
|
)
|
|
9218
11466
|
|
|
9219
|
-
/* harmony default export */ var
|
|
11467
|
+
/* harmony default export */ var GanttElastic_standalone = (GanttElastic_standalone_component.exports);
|
|
9220
11468
|
;// ./src/index.js
|
|
9221
11469
|
|
|
9222
11470
|
/* harmony default export */ var src_0 = ({
|
|
9223
11471
|
install(app, options = {}) {
|
|
9224
|
-
app.component('tg-ganttchart',
|
|
11472
|
+
app.component('tg-ganttchart', GanttElastic_standalone);
|
|
9225
11473
|
}
|
|
9226
11474
|
});
|
|
9227
11475
|
// if (typeof window !== 'undefined' && window.Vue) {
|