@gisce/ooui 0.6.14 → 0.7.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Graph/Graph.d.ts +2 -0
- package/dist/Graph/Graph.js +9 -0
- package/dist/Graph/Graph.js.map +1 -1
- package/dist/Graph/processor/graphProcessor.js +12 -1
- package/dist/Graph/processor/graphProcessor.js.map +1 -1
- package/dist/Graph/processor/timerangeHelper.d.ts +33 -0
- package/dist/Graph/processor/timerangeHelper.js +228 -0
- package/dist/Graph/processor/timerangeHelper.js.map +1 -0
- package/package.json +4 -2
- package/src/Graph/Graph.ts +6 -0
- package/src/Graph/processor/graphProcessor.ts +14 -1
- package/src/Graph/processor/timerangeHelper.ts +290 -0
- package/src/spec/Graph.spec.ts +11 -0
- package/src/spec/graphProcessor.spec.ts +24 -0
- package/src/spec/timerangeHelper.spec.ts +603 -0
package/dist/Graph/Graph.d.ts
CHANGED
package/dist/Graph/Graph.js
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
var Graph = /** @class */ (function () {
|
|
2
2
|
function Graph(element) {
|
|
3
3
|
this._string = null;
|
|
4
|
+
this._timerange = null;
|
|
4
5
|
this._string = element.getAttribute("string");
|
|
6
|
+
this._timerange = element.getAttribute("timerange");
|
|
5
7
|
}
|
|
6
8
|
Object.defineProperty(Graph.prototype, "string", {
|
|
7
9
|
get: function () {
|
|
@@ -17,6 +19,13 @@ var Graph = /** @class */ (function () {
|
|
|
17
19
|
enumerable: false,
|
|
18
20
|
configurable: true
|
|
19
21
|
});
|
|
22
|
+
Object.defineProperty(Graph.prototype, "timerange", {
|
|
23
|
+
get: function () {
|
|
24
|
+
return this._timerange;
|
|
25
|
+
},
|
|
26
|
+
enumerable: false,
|
|
27
|
+
configurable: true
|
|
28
|
+
});
|
|
20
29
|
return Graph;
|
|
21
30
|
}());
|
|
22
31
|
export { Graph };
|
package/dist/Graph/Graph.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Graph.js","sourceRoot":"","sources":["../../src/Graph/Graph.ts"],"names":[],"mappings":"AAEA;
|
|
1
|
+
{"version":3,"file":"Graph.js","sourceRoot":"","sources":["../../src/Graph/Graph.ts"],"names":[],"mappings":"AAEA;IAgBE,eAAY,OAAoB;QAfhC,YAAO,GAAkB,IAAI,CAAC;QAU9B,eAAU,GAAkB,IAAI,CAAC;QAM/B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QAC9C,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;IACtD,CAAC;IAjBD,sBAAI,yBAAM;aAAV;YACE,OAAO,IAAI,CAAC,OAAO,CAAC;QACtB,CAAC;;;OAAA;IAGD,sBAAI,uBAAI;aAAR;YACE,OAAO,IAAI,CAAC,KAAK,CAAC;QACpB,CAAC;;;OAAA;IAGD,sBAAI,4BAAS;aAAb;YACE,OAAO,IAAI,CAAC,UAAU,CAAC;QACzB,CAAC;;;OAAA;IAMH,YAAC;AAAD,CAAC,AApBD,IAoBC"}
|
|
@@ -30,6 +30,7 @@ var __spread = (this && this.__spread) || function () {
|
|
|
30
30
|
return ar;
|
|
31
31
|
};
|
|
32
32
|
import { getValueAndLabelForField } from "./fieldUtils";
|
|
33
|
+
import { processTimerangeData } from "./timerangeHelper";
|
|
33
34
|
export var labelsForOperator = {
|
|
34
35
|
count: "count",
|
|
35
36
|
"+": "sum",
|
|
@@ -74,6 +75,7 @@ export var processGraphData = function (_a) {
|
|
|
74
75
|
yAxis: yField,
|
|
75
76
|
fields: fields,
|
|
76
77
|
}),
|
|
78
|
+
operator: yField.operator,
|
|
77
79
|
stacked: yField.stacked,
|
|
78
80
|
});
|
|
79
81
|
}
|
|
@@ -103,6 +105,7 @@ export var processGraphData = function (_a) {
|
|
|
103
105
|
x: xLabel || false,
|
|
104
106
|
value: finalValue,
|
|
105
107
|
type: label,
|
|
108
|
+
operator: yField.operator,
|
|
106
109
|
stacked: yField.stacked,
|
|
107
110
|
});
|
|
108
111
|
});
|
|
@@ -148,8 +151,16 @@ export var processGraphData = function (_a) {
|
|
|
148
151
|
else if (adjustedStackedData.some(function (entry) { return entry.x === false; })) {
|
|
149
152
|
adjustedUninformedData = adjustedUninformedData.filter(function (entry) { return entry.x !== false; });
|
|
150
153
|
}
|
|
154
|
+
// If we have a timerange parameter defined in ooui, we must fill the gaps with the desired units and group results too
|
|
155
|
+
var finalData = adjustedUninformedData;
|
|
156
|
+
if (ooui.timerange) {
|
|
157
|
+
finalData = processTimerangeData({
|
|
158
|
+
values: finalData,
|
|
159
|
+
timerange: ooui.timerange,
|
|
160
|
+
});
|
|
161
|
+
}
|
|
151
162
|
return {
|
|
152
|
-
data:
|
|
163
|
+
data: finalData,
|
|
153
164
|
isGroup: isStack || isGroup,
|
|
154
165
|
isStack: isStack,
|
|
155
166
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graphProcessor.js","sourceRoot":"","sources":["../../../src/Graph/processor/graphProcessor.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,OAAO,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"graphProcessor.js","sourceRoot":"","sources":["../../../src/Graph/processor/graphProcessor.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,OAAO,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAMzD,MAAM,CAAC,IAAM,iBAAiB,GAAG;IAC/B,KAAK,EAAE,OAAO;IACd,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,UAAU;IACf,GAAG,EAAE,UAAU;IACf,GAAG,EAAE,SAAS;IACd,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,KAAK;CACX,CAAC;AAMF,MAAM,CAAC,IAAM,gBAAgB,GAAG,UAAC,EAUhC;QATC,IAAI,UAAA,EACJ,MAAM,YAAA,EACN,MAAM,YAAA,EACN,OAAO,aAAA;IAOP,yIAAyI;IACzI,0GAA0G;IAC1G,IAAM,gBAAgB,GAAG,uBAAuB,CAAC;QAC/C,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI;QACtB,MAAM,QAAA;QACN,MAAM,QAAA;KACP,CAAC,CAAC;IAEH,IAAM,IAAI,GAA6B,EAAE,CAAC;IAE1C,+DAA+D;IAC/D,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,UAAC,MAAM;QACpB,kEAAkE;QAClE,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC,UAAC,MAAM;YAC3C,IAAM,MAAM,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC;YAC9C,IAAM,gBAAgB,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;YAE1D,0CAA0C;YAC1C,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE;gBACjB,sEAAsE;gBACtE,IAAM,eAAe,GAAG,kBAAkB,CAAC;oBACzC,OAAO,EAAE,gBAAgB;oBACzB,MAAM,QAAA;oBACN,SAAS,EAAE,MAAM,CAAC,IAAI;iBACvB,CAAC,CAAC;gBAEH,IAAM,UAAU,GAAG,mBAAmB,CAAC;oBACrC,MAAM,EAAE,eAAe;oBACvB,QAAQ,EAAE,MAAM,CAAC,QAAQ;iBAC1B,CAAC,CAAC;gBAEH,IAAI,CAAC,IAAI,CAAC;oBACR,CAAC,EAAE,MAAM,IAAI,KAAK;oBAClB,KAAK,EAAE,UAAU;oBACjB,IAAI,EAAE,iBAAiB,CAAC;wBACtB,KAAK,EAAE,MAAM;wBACb,MAAM,QAAA;qBACP,CAAC;oBACF,QAAQ,EAAE,MAAM,CAAC,QAAQ;oBACzB,OAAO,EAAE,MAAM,CAAC,OAAO;iBACxB,CAAC,CAAC;aACJ;YACD,sBAAsB;iBACjB;gBACH,0EAA0E;gBAC1E,IAAM,uBAAqB,GAAG,uBAAuB,CAAC;oBACpD,SAAS,EAAE,MAAM,CAAC,KAAK;oBACvB,MAAM,EAAE,gBAAgB;oBACxB,MAAM,QAAA;iBACP,CAAC,CAAC;gBAEH,gDAAgD;gBAChD,MAAM,CAAC,IAAI,CAAC,uBAAqB,CAAC,CAAC,OAAO,CAAC,UAAC,YAAY;oBACtD,IAAM,OAAO,GAAG,uBAAqB,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC;oBAC5D,IAAM,KAAK,GAAG,uBAAqB,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC;oBAExD,sEAAsE;oBACtE,IAAM,eAAe,GAAG,kBAAkB,CAAC;wBACzC,OAAO,SAAA;wBACP,MAAM,QAAA;wBACN,SAAS,EAAE,MAAM,CAAC,IAAI;qBACvB,CAAC,CAAC;oBAEH,IAAM,UAAU,GAAG,mBAAmB,CAAC;wBACrC,MAAM,EAAE,eAAe;wBACvB,QAAQ,EAAE,MAAM,CAAC,QAAQ;qBAC1B,CAAC,CAAC;oBACH,IAAI,CAAC,IAAI,CAAC;wBACR,CAAC,EAAE,MAAM,IAAI,KAAK;wBAClB,KAAK,EAAE,UAAU;wBACjB,IAAI,EAAE,KAAK;wBACX,QAAQ,EAAE,MAAM,CAAC,QAAQ;wBACzB,OAAO,EAAE,MAAM,CAAC,OAAO;qBACxB,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;aACJ;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,mCAAmC;IACnC,IAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,KAAK,KAAK,SAAS,EAArB,CAAqB,CAAC,CAAC;IAE1D,qCAAqC;IACrC,IAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,UAAC,KAAK,IAAK,OAAA,KAAK,CAAC,OAAO,KAAK,SAAS,EAA3B,CAA2B,CAAC,CAAC;IAEpE,wBAAwB;IACxB,IAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,UAAC,CAAC,EAAE,CAAC;QAChC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE;YACnB,OAAO,CAAC,CAAC,CAAC;SACX;QACD,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE;YACnB,OAAO,CAAC,CAAC;SACV;QACD,OAAO,CAAC,CAAC;IACX,CAAC,CAAC,CAAC;IAEH,IAAI,mBAAmB,YAAO,UAAU,CAAC,CAAC;IAC1C,2HAA2H;IAC3H,oBAAoB;IACpB,IACE,OAAO;QACP,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,UAAC,KAAK,IAAK,OAAA,KAAK,CAAC,OAAO,KAAK,SAAS,EAA3B,CAA2B,CAAC,CAAC,MAAM,GAAG,CAAC,EAChE;QACA,mBAAmB,GAAG,mBAAmB,CAAC,GAAG,CAAC,UAAC,KAAK;YAClD,6BAAY,KAAK,KAAE,IAAI,EAAK,KAAK,CAAC,IAAI,WAAM,KAAK,CAAC,OAAS,IAAG;QAChE,CAAC,CAAC,CAAC;KACJ;IAED,IAAI,sBAAsB,YAAO,mBAAmB,CAAC,CAAC;IACtD,6FAA6F;IAC7F,6FAA6F;IAC7F,wCAAwC;IACxC,IACE,IAAI,CAAC,IAAI,KAAK,KAAK;QACnB,sBAAsB,CAAC,IAAI,CAAC,UAAC,KAAK,IAAK,OAAA,KAAK,CAAC,CAAC,KAAK,KAAK,EAAjB,CAAiB,CAAC,EACzD;QACA,sBAAsB,GAAG,sBAAsB,CAAC,GAAG,CAAC,UAAC,KAAK;YACxD,IAAI,KAAK,CAAC,CAAC,KAAK,KAAK,EAAE;gBACrB,6BAAY,KAAK,KAAE,CAAC,EAAE,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,gBAAgB,KAAI,cAAc,IAAG;aACrE;YACD,OAAO,KAAK,CAAC;QACf,CAAC,CAAC,CAAC;KACJ;SAAM,IAAI,mBAAmB,CAAC,IAAI,CAAC,UAAC,KAAK,IAAK,OAAA,KAAK,CAAC,CAAC,KAAK,KAAK,EAAjB,CAAiB,CAAC,EAAE;QACjE,sBAAsB,GAAG,sBAAsB,CAAC,MAAM,CACpD,UAAC,KAAK,IAAK,OAAA,KAAK,CAAC,CAAC,KAAK,KAAK,EAAjB,CAAiB,CAC7B,CAAC;KACH;IAED,uHAAuH;IACvH,IAAI,SAAS,GAAG,sBAAsB,CAAC;IAEvC,IAAI,IAAI,CAAC,SAAS,EAAE;QAClB,SAAS,GAAG,oBAAoB,CAAC;YAC/B,MAAM,EAAE,SAAS;YACjB,SAAS,EAAE,IAAI,CAAC,SAAU;SAC3B,CAAC,CAAC;KACJ;IAED,OAAO;QACL,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,OAAO,IAAI,OAAO;QAC3B,OAAO,SAAA;KACR,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,UAAU,kBAAkB,CAAC,EAQlC;QAPC,OAAO,aAAA,EACP,SAAS,eAAA,EACT,MAAM,YAAA;IAMN,OAAO,OAAO;SACX,GAAG,CAAC,UAAC,GAAG;QACP,OAAO,wBAAwB,CAAC;YAC9B,SAAS,EAAE,SAAS;YACpB,MAAM,EAAE,GAAG;YACX,MAAM,EAAE,MAAM;SACf,CAAC,CAAC;IACL,CAAC,CAAC;SACD,GAAG,CAAC,UAAC,EAAgB;YAAd,KAAK,WAAA,EAAE,KAAK,WAAA;QAClB,OAAO,KAAK,CAAC;IACf,CAAC,CAAC,CAAC;AACP,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,EAMnC;QALC,QAAQ,cAAA,EACR,MAAM,YAAA;IAKN,QAAQ,QAAQ,EAAE;QAChB,KAAK,OAAO,CAAC,CAAC;YACZ,OAAO,MAAM,CAAC,MAAM,CAAC;SACtB;QACD,KAAK,GAAG,CAAC,CAAC;YACR,OAAO,WAAW,CAChB,MAAM,CAAC,MAAM,CAAC,UAAU,aAAkB,EAAE,YAAiB;gBAC3D,OAAO,aAAa,GAAG,YAAY,CAAC;YACtC,CAAC,CAAC,CACH,CAAC;SACH;QACD,KAAK,GAAG,CAAC,CAAC;YACR,OAAO,WAAW,CAChB,MAAM,CAAC,MAAM,CAAC,UAAU,aAAkB,EAAE,YAAiB;gBAC3D,OAAO,aAAa,GAAG,YAAY,CAAC;YACtC,CAAC,CAAC,CACH,CAAC;SACH;QACD,KAAK,GAAG,CAAC,CAAC;YACR,OAAO,WAAW,CAChB,MAAM,CAAC,MAAM,CAAC,UAAU,aAAkB,EAAE,YAAiB;gBAC3D,OAAO,aAAa,GAAG,YAAY,CAAC;YACtC,CAAC,CAAC,CACH,CAAC;SACH;QACD,KAAK,KAAK,CAAC,CAAC;YACV,IAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,UAAC,CAAM,EAAE,CAAM,IAAK,OAAA,CAAC,GAAG,CAAC,EAAL,CAAK,EAAE,CAAC,CAAC,CAAC;YACxD,IAAM,GAAG,GAAG,GAAG,GAAG,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC;YACrC,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC;SACzB;QACD,KAAK,KAAK,CAAC,CAAC;YACV,OAAO,IAAI,CAAC,GAAG,OAAR,IAAI,WAAQ,MAAM,GAAE;SAC5B;QACD,KAAK,KAAK,CAAC,CAAC;YACV,OAAO,IAAI,CAAC,GAAG,OAAR,IAAI,WAAQ,MAAM,GAAE;SAC5B;KACF;AACH,CAAC;AAED,SAAS,WAAW,CAAC,GAAW;IAC9B,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;AACxD,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,EAQvC;QAPC,SAAS,eAAA,EACT,MAAM,YAAA,EACN,MAAM,YAAA;IAMN,IAAM,aAAa,GAAkB,EAAE,CAAC;IAExC,MAAM,CAAC,OAAO,CAAC,UAAC,KAAK;QACb,IAAA,KAAmB,wBAAwB,CAAC;YAChD,MAAM,QAAA;YACN,MAAM,EAAE,KAAK;YACb,SAAS,WAAA;SACV,CAAC,EAJM,KAAK,WAAA,EAAE,KAAK,WAIlB,CAAC;QAEH,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE;YACzB,aAAa,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,OAAA,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;SAC/C;QAED,aAAa,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;IAEH,OAAO,aAAa,CAAC;AACvB,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,OAAsB;IACjE,IAAI,YAAY,GAAU,EAAE,CAAC;IAC7B,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,UAAC,GAAG;QAC/B,IAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;QAC3B,YAAY,GAAG,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;IACH,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,EAMjC;QALC,KAAK,WAAA,EACL,MAAM,YAAA;IAKN,IAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAEtC,IAAI,UAAU,IAAI,UAAU,CAAC,MAAM,EAAE;QACnC,wEAAwE;QACxE,OAAO,UAAU,CAAC,MAAM,CAAC;KAC1B;IAED,+DAA+D;IAC/D,OAAO,KAAK,CAAC,IAAI,CAAC;AACpB,CAAC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
export declare function processTimerangeData({ values, timerange, }: {
|
|
2
|
+
values: any[];
|
|
3
|
+
timerange: string;
|
|
4
|
+
}): any[];
|
|
5
|
+
export declare function fillGapsInTimerangeData({ values, timerange, }: {
|
|
6
|
+
values: any[];
|
|
7
|
+
timerange: string;
|
|
8
|
+
}): any[];
|
|
9
|
+
export declare function getMissingConsecutiveDates({ dates, timerange, }: {
|
|
10
|
+
dates: string[];
|
|
11
|
+
timerange: string;
|
|
12
|
+
}): string[];
|
|
13
|
+
export declare function combineValuesForTimerange({ values, timerange, }: {
|
|
14
|
+
values: any[];
|
|
15
|
+
timerange: string;
|
|
16
|
+
}): any[];
|
|
17
|
+
export declare function adjustXValuesForTimeRage({ values, timerange, }: {
|
|
18
|
+
values: any[];
|
|
19
|
+
timerange: string;
|
|
20
|
+
}): any[];
|
|
21
|
+
export declare function convertDateToTimeRangeAdjusted({ date, timerange, }: {
|
|
22
|
+
date: string;
|
|
23
|
+
timerange: string;
|
|
24
|
+
}): string;
|
|
25
|
+
export declare function getDateFormat(date: string): "YYYY-MM-DD" | "YYYY-MM-DD HH:mm:ss";
|
|
26
|
+
export declare function checkDatesConsecutive(dates: string[], unit: "hours" | "days" | "weeks" | "months" | "years"): boolean;
|
|
27
|
+
export declare function getUniqueValuesGroupedBy({ values, groupBy, }: {
|
|
28
|
+
values: any[];
|
|
29
|
+
groupBy: "all" | "type-stacked";
|
|
30
|
+
}): {
|
|
31
|
+
[key: string]: any;
|
|
32
|
+
};
|
|
33
|
+
export declare function getFormatForUnits(units: string): "YYYY-MM-DD HH:mm" | "YYYY-MM-DD" | "YYYY-WW" | "YYYY-MM" | "YYYY";
|
|
@@ -0,0 +1,228 @@
|
|
|
1
|
+
var __assign = (this && this.__assign) || function () {
|
|
2
|
+
__assign = Object.assign || function(t) {
|
|
3
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
4
|
+
s = arguments[i];
|
|
5
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
6
|
+
t[p] = s[p];
|
|
7
|
+
}
|
|
8
|
+
return t;
|
|
9
|
+
};
|
|
10
|
+
return __assign.apply(this, arguments);
|
|
11
|
+
};
|
|
12
|
+
import moment from "moment";
|
|
13
|
+
import { getValueForOperator } from "./graphProcessor";
|
|
14
|
+
export function processTimerangeData(_a) {
|
|
15
|
+
var values = _a.values, timerange = _a.timerange;
|
|
16
|
+
var combinedValues = combineValuesForTimerange({
|
|
17
|
+
values: values,
|
|
18
|
+
timerange: timerange,
|
|
19
|
+
});
|
|
20
|
+
// Fill the gaps
|
|
21
|
+
var filledValues = fillGapsInTimerangeData({
|
|
22
|
+
values: combinedValues,
|
|
23
|
+
timerange: timerange,
|
|
24
|
+
});
|
|
25
|
+
return filledValues;
|
|
26
|
+
}
|
|
27
|
+
export function fillGapsInTimerangeData(_a) {
|
|
28
|
+
var values = _a.values, timerange = _a.timerange;
|
|
29
|
+
var finalValues = [];
|
|
30
|
+
var uniqueValues = getUniqueValuesGroupedBy({
|
|
31
|
+
values: values,
|
|
32
|
+
groupBy: "type-stacked",
|
|
33
|
+
});
|
|
34
|
+
var units = timerange + "s";
|
|
35
|
+
Object.keys(uniqueValues).forEach(function (key) {
|
|
36
|
+
var valuesForKey = uniqueValues[key];
|
|
37
|
+
var _loop_1 = function (i) {
|
|
38
|
+
var value = valuesForKey[i];
|
|
39
|
+
finalValues.push(value);
|
|
40
|
+
// If it's the last item
|
|
41
|
+
if (i === valuesForKey.length - 1) {
|
|
42
|
+
return { value: void 0 };
|
|
43
|
+
}
|
|
44
|
+
var date = value.x;
|
|
45
|
+
var nextDate = valuesForKey[i + 1].x;
|
|
46
|
+
if (!checkDatesConsecutive([date, nextDate], units)) {
|
|
47
|
+
var missingDates = getMissingConsecutiveDates({
|
|
48
|
+
dates: [date, nextDate],
|
|
49
|
+
timerange: timerange,
|
|
50
|
+
});
|
|
51
|
+
finalValues = finalValues.concat(missingDates.map(function (stringDate) {
|
|
52
|
+
return {
|
|
53
|
+
x: stringDate,
|
|
54
|
+
value: 0,
|
|
55
|
+
type: value.type,
|
|
56
|
+
stacked: value.stacked,
|
|
57
|
+
};
|
|
58
|
+
}));
|
|
59
|
+
}
|
|
60
|
+
};
|
|
61
|
+
for (var i = 0; i < valuesForKey.length; i++) {
|
|
62
|
+
var state_1 = _loop_1(i);
|
|
63
|
+
if (typeof state_1 === "object")
|
|
64
|
+
return state_1.value;
|
|
65
|
+
}
|
|
66
|
+
});
|
|
67
|
+
var sortedData = finalValues.sort(function (a, b) {
|
|
68
|
+
if (a["x"] < b["x"]) {
|
|
69
|
+
return -1;
|
|
70
|
+
}
|
|
71
|
+
if (a["x"] > b["x"]) {
|
|
72
|
+
return 1;
|
|
73
|
+
}
|
|
74
|
+
return 0;
|
|
75
|
+
});
|
|
76
|
+
return sortedData;
|
|
77
|
+
}
|
|
78
|
+
export function getMissingConsecutiveDates(_a) {
|
|
79
|
+
var dates = _a.dates, timerange = _a.timerange;
|
|
80
|
+
var missingDates = [];
|
|
81
|
+
var units = timerange + "s";
|
|
82
|
+
if (dates.length === 1) {
|
|
83
|
+
return dates;
|
|
84
|
+
}
|
|
85
|
+
var sortedDates = dates.sort(function (a, b) {
|
|
86
|
+
if (a < b) {
|
|
87
|
+
return -1;
|
|
88
|
+
}
|
|
89
|
+
if (a > b) {
|
|
90
|
+
return 1;
|
|
91
|
+
}
|
|
92
|
+
return 0;
|
|
93
|
+
});
|
|
94
|
+
for (var i = 0; i < sortedDates.length - 1; i++) {
|
|
95
|
+
var date1 = sortedDates[i];
|
|
96
|
+
var date2 = sortedDates[i + 1];
|
|
97
|
+
if (!checkDatesConsecutive([date1, date2], units)) {
|
|
98
|
+
var iDate = moment(date1, getFormatForUnits(units)).add(1, units);
|
|
99
|
+
var fDate = moment(date2, getFormatForUnits(units));
|
|
100
|
+
while (iDate.isBefore(fDate)) {
|
|
101
|
+
missingDates.push(iDate.format(getFormatForUnits(units)));
|
|
102
|
+
iDate.add(1, units);
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
return missingDates;
|
|
107
|
+
}
|
|
108
|
+
export function combineValuesForTimerange(_a) {
|
|
109
|
+
var values = _a.values, timerange = _a.timerange;
|
|
110
|
+
var adjustedValues = adjustXValuesForTimeRage({
|
|
111
|
+
values: values,
|
|
112
|
+
timerange: timerange,
|
|
113
|
+
});
|
|
114
|
+
var finalValues = [];
|
|
115
|
+
// group by x, type and stacked
|
|
116
|
+
var uniqueValues = getUniqueValuesGroupedBy({
|
|
117
|
+
values: adjustedValues,
|
|
118
|
+
groupBy: "all",
|
|
119
|
+
});
|
|
120
|
+
Object.keys(uniqueValues).forEach(function (key) {
|
|
121
|
+
var valuesForKey = uniqueValues[key];
|
|
122
|
+
var operator = valuesForKey[0].operator === "count" ? "+" : valuesForKey[0].operator;
|
|
123
|
+
var finalValue = getValueForOperator({
|
|
124
|
+
values: valuesForKey.map(function (entry) { return entry.value; }),
|
|
125
|
+
operator: operator,
|
|
126
|
+
});
|
|
127
|
+
finalValues.push(__assign(__assign({}, valuesForKey[0]), { value: finalValue }));
|
|
128
|
+
});
|
|
129
|
+
return finalValues;
|
|
130
|
+
}
|
|
131
|
+
export function adjustXValuesForTimeRage(_a) {
|
|
132
|
+
var values = _a.values, timerange = _a.timerange;
|
|
133
|
+
return values.map(function (value) {
|
|
134
|
+
return __assign(__assign({}, value), { x: convertDateToTimeRangeAdjusted({
|
|
135
|
+
date: value.x,
|
|
136
|
+
timerange: timerange,
|
|
137
|
+
}) });
|
|
138
|
+
});
|
|
139
|
+
}
|
|
140
|
+
export function convertDateToTimeRangeAdjusted(_a) {
|
|
141
|
+
var date = _a.date, timerange = _a.timerange;
|
|
142
|
+
var format = getDateFormat(date);
|
|
143
|
+
var momentDate = moment(date, format);
|
|
144
|
+
switch (timerange) {
|
|
145
|
+
case "hour": {
|
|
146
|
+
format = "YYYY-MM-DD HH:00";
|
|
147
|
+
break;
|
|
148
|
+
}
|
|
149
|
+
case "day": {
|
|
150
|
+
format = "YYYY-MM-DD";
|
|
151
|
+
break;
|
|
152
|
+
}
|
|
153
|
+
case "week": {
|
|
154
|
+
format = "YYYY-WW";
|
|
155
|
+
break;
|
|
156
|
+
}
|
|
157
|
+
case "month": {
|
|
158
|
+
format = "YYYY-MM";
|
|
159
|
+
break;
|
|
160
|
+
}
|
|
161
|
+
case "year": {
|
|
162
|
+
format = "YYYY";
|
|
163
|
+
break;
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
return momentDate.format(format);
|
|
167
|
+
}
|
|
168
|
+
export function getDateFormat(date) {
|
|
169
|
+
return date.indexOf(":") ? "YYYY-MM-DD HH:mm:ss" : "YYYY-MM-DD";
|
|
170
|
+
}
|
|
171
|
+
export function checkDatesConsecutive(dates, unit) {
|
|
172
|
+
var consecutive = false;
|
|
173
|
+
var format = getFormatForUnits(unit);
|
|
174
|
+
if (dates.length === 0) {
|
|
175
|
+
return false;
|
|
176
|
+
}
|
|
177
|
+
if (dates.length === 1) {
|
|
178
|
+
return true;
|
|
179
|
+
}
|
|
180
|
+
for (var i = 0; i < dates.length - 1; i++) {
|
|
181
|
+
var date1 = moment(dates[i], format);
|
|
182
|
+
var date2 = moment(dates[i + 1], format);
|
|
183
|
+
var diff = date2.diff(date1, unit);
|
|
184
|
+
if (Math.abs(diff) === 1) {
|
|
185
|
+
consecutive = true;
|
|
186
|
+
}
|
|
187
|
+
else {
|
|
188
|
+
consecutive = false;
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
return consecutive;
|
|
192
|
+
}
|
|
193
|
+
export function getUniqueValuesGroupedBy(_a) {
|
|
194
|
+
var values = _a.values, groupBy = _a.groupBy;
|
|
195
|
+
var uniqueValues = {};
|
|
196
|
+
values.forEach(function (value) {
|
|
197
|
+
var x = value.x;
|
|
198
|
+
var type = value.type;
|
|
199
|
+
var stacked = value.stacked;
|
|
200
|
+
var uniqueKey = groupBy === "all" ? x + "-" + type + "-" + stacked : type + "-" + stacked;
|
|
201
|
+
if (!uniqueValues[uniqueKey]) {
|
|
202
|
+
uniqueValues[uniqueKey] = [];
|
|
203
|
+
}
|
|
204
|
+
uniqueValues[uniqueKey].push(value);
|
|
205
|
+
});
|
|
206
|
+
return uniqueValues;
|
|
207
|
+
}
|
|
208
|
+
export function getFormatForUnits(units) {
|
|
209
|
+
switch (units) {
|
|
210
|
+
default:
|
|
211
|
+
case "hours": {
|
|
212
|
+
return "YYYY-MM-DD HH:mm";
|
|
213
|
+
}
|
|
214
|
+
case "days": {
|
|
215
|
+
return "YYYY-MM-DD";
|
|
216
|
+
}
|
|
217
|
+
case "weeks": {
|
|
218
|
+
return "YYYY-WW";
|
|
219
|
+
}
|
|
220
|
+
case "months": {
|
|
221
|
+
return "YYYY-MM";
|
|
222
|
+
}
|
|
223
|
+
case "years": {
|
|
224
|
+
return "YYYY";
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
//# sourceMappingURL=timerangeHelper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"timerangeHelper.js","sourceRoot":"","sources":["../../../src/Graph/processor/timerangeHelper.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/Graph/Graph.ts
CHANGED
|
@@ -11,7 +11,13 @@ export class Graph {
|
|
|
11
11
|
return this._type;
|
|
12
12
|
}
|
|
13
13
|
|
|
14
|
+
_timerange: string | null = null;
|
|
15
|
+
get timerange(): string | null {
|
|
16
|
+
return this._timerange;
|
|
17
|
+
}
|
|
18
|
+
|
|
14
19
|
constructor(element: HTMLElement) {
|
|
15
20
|
this._string = element.getAttribute("string");
|
|
21
|
+
this._timerange = element.getAttribute("timerange");
|
|
16
22
|
}
|
|
17
23
|
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { GraphChart, GraphYAxis, Operator } from "..";
|
|
2
2
|
import { getValueAndLabelForField } from "./fieldUtils";
|
|
3
|
+
import { processTimerangeData } from "./timerangeHelper";
|
|
3
4
|
|
|
4
5
|
export type GroupedValues = {
|
|
5
6
|
[key: string]: { label: string; entries: { [key: string]: any }[] };
|
|
@@ -68,6 +69,7 @@ export const processGraphData = ({
|
|
|
68
69
|
yAxis: yField,
|
|
69
70
|
fields,
|
|
70
71
|
}),
|
|
72
|
+
operator: yField.operator,
|
|
71
73
|
stacked: yField.stacked,
|
|
72
74
|
});
|
|
73
75
|
}
|
|
@@ -100,6 +102,7 @@ export const processGraphData = ({
|
|
|
100
102
|
x: xLabel || false,
|
|
101
103
|
value: finalValue,
|
|
102
104
|
type: label,
|
|
105
|
+
operator: yField.operator,
|
|
103
106
|
stacked: yField.stacked,
|
|
104
107
|
});
|
|
105
108
|
});
|
|
@@ -156,8 +159,18 @@ export const processGraphData = ({
|
|
|
156
159
|
);
|
|
157
160
|
}
|
|
158
161
|
|
|
162
|
+
// If we have a timerange parameter defined in ooui, we must fill the gaps with the desired units and group results too
|
|
163
|
+
let finalData = adjustedUninformedData;
|
|
164
|
+
|
|
165
|
+
if (ooui.timerange) {
|
|
166
|
+
finalData = processTimerangeData({
|
|
167
|
+
values: finalData,
|
|
168
|
+
timerange: ooui.timerange!,
|
|
169
|
+
});
|
|
170
|
+
}
|
|
171
|
+
|
|
159
172
|
return {
|
|
160
|
-
data:
|
|
173
|
+
data: finalData,
|
|
161
174
|
isGroup: isStack || isGroup,
|
|
162
175
|
isStack,
|
|
163
176
|
};
|