@gisce/ooui 0.5.2 → 0.6.3
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/Float.js +17 -1
- package/dist/Float.js.map +1 -1
- package/dist/Graph/GraphAxis.d.ts +5 -12
- package/dist/Graph/GraphAxis.js +1 -17
- package/dist/Graph/GraphAxis.js.map +1 -1
- package/dist/Graph/GraphChart.d.ts +5 -5
- package/dist/Graph/GraphXAxis.d.ts +6 -0
- package/dist/Graph/GraphXAxis.js +24 -0
- package/dist/Graph/GraphXAxis.js.map +1 -0
- package/dist/Graph/GraphYAxis.d.ts +13 -0
- package/dist/Graph/GraphYAxis.js +41 -0
- package/dist/Graph/GraphYAxis.js.map +1 -0
- package/dist/Graph/graphHelper.d.ts +3 -3
- package/dist/Graph/graphHelper.js +22 -12
- package/dist/Graph/graphHelper.js.map +1 -1
- package/dist/Graph/index.d.ts +2 -0
- package/dist/Graph/index.js +2 -0
- package/dist/Graph/index.js.map +1 -1
- package/dist/Graph/processor/fieldUtils.d.ts +16 -0
- package/dist/Graph/processor/fieldUtils.js +43 -0
- package/dist/Graph/processor/fieldUtils.js.map +1 -0
- package/dist/Graph/processor/graphProcessor.d.ts +49 -0
- package/dist/Graph/processor/graphProcessor.js +201 -0
- package/dist/Graph/processor/graphProcessor.js.map +1 -0
- package/dist/helpers/attributeParser.js +45 -8
- package/dist/helpers/attributeParser.js.map +1 -1
- package/dist/helpers/domainParser.js +17 -1
- package/dist/helpers/domainParser.js.map +1 -1
- package/dist/helpers/stateParser.js +71 -16
- package/dist/helpers/stateParser.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/src/Graph/GraphAxis.ts +5 -28
- package/src/Graph/GraphChart.ts +5 -5
- package/src/Graph/GraphXAxis.ts +7 -0
- package/src/Graph/GraphYAxis.ts +29 -0
- package/src/Graph/graphHelper.ts +28 -15
- package/src/Graph/index.ts +2 -0
- package/src/Graph/processor/fieldUtils.ts +60 -0
- package/src/Graph/processor/graphProcessor.ts +221 -0
- package/src/index.ts +4 -0
- package/src/spec/Graph.spec.ts +11 -5
- package/src/spec/graphProcessor.spec.ts +250 -0
- package/src/spec/mockData/graphs/Lectura.ts +620 -0
- package/src/spec/mockData/graphs/Polissa.ts +4996 -0
- package/src/spec/mockData/graphs/index.ts +4 -0
package/dist/Float.js
CHANGED
|
@@ -11,6 +11,22 @@ var __extends = (this && this.__extends) || (function () {
|
|
|
11
11
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
12
12
|
};
|
|
13
13
|
})();
|
|
14
|
+
var __read = (this && this.__read) || function (o, n) {
|
|
15
|
+
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
16
|
+
if (!m) return o;
|
|
17
|
+
var i = m.call(o), r, ar = [], e;
|
|
18
|
+
try {
|
|
19
|
+
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
20
|
+
}
|
|
21
|
+
catch (error) { e = { error: error }; }
|
|
22
|
+
finally {
|
|
23
|
+
try {
|
|
24
|
+
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
25
|
+
}
|
|
26
|
+
finally { if (e) throw e.error; }
|
|
27
|
+
}
|
|
28
|
+
return ar;
|
|
29
|
+
};
|
|
14
30
|
import Field from "./Field";
|
|
15
31
|
/**
|
|
16
32
|
* Float input
|
|
@@ -32,7 +48,7 @@ var Float = /** @class */ (function (_super) {
|
|
|
32
48
|
*/
|
|
33
49
|
_this._decimalDigits = 2;
|
|
34
50
|
if (props === null || props === void 0 ? void 0 : props.digits) {
|
|
35
|
-
var _a = props.digits, integers = _a[0], decimals = _a[1];
|
|
51
|
+
var _a = __read(props.digits, 2), integers = _a[0], decimals = _a[1];
|
|
36
52
|
_this._integerDigits = integers;
|
|
37
53
|
_this._decimalDigits = decimals;
|
|
38
54
|
}
|
package/dist/Float.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Float.js","sourceRoot":"","sources":["../src/Float.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Float.js","sourceRoot":"","sources":["../src/Float.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,KAAK,MAAM,SAAS,CAAC;AAE5B;;GAEG;AACH;IAAoB,yBAAK;IA4BvB,eAAY,KAAW;QAAvB,YACE,kBAAM,KAAK,CAAC,SAOb;QAlCD;;;;WAIG;QACH,oBAAc,GAAW,EAAE,CAAC;QAQ5B;;;;WAIG;QACH,oBAAc,GAAW,CAAC,CAAC;QAWzB,IAAI,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,MAAM,EAAE;YACX,IAAA,KAAA,OAAuB,KAAK,CAAC,MAAM,IAAA,EAAlC,QAAQ,QAAA,EAAE,QAAQ,QAAgB,CAAC;YAC1C,KAAI,CAAC,cAAc,GAAG,QAAQ,CAAC;YAC/B,KAAI,CAAC,cAAc,GAAG,QAAQ,CAAC;SAChC;;IACH,CAAC;IA5BD,sBAAI,gCAAa;aAAjB;YACE,OAAO,IAAI,CAAC,cAAc,CAAC;QAC7B,CAAC;aACD,UAAkB,KAAa;YAC7B,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAC9B,CAAC;;;OAHA;IAWD,sBAAI,gCAAa;aAAjB;YACE,OAAO,IAAI,CAAC,cAAc,CAAC;QAC7B,CAAC;aACD,UAAkB,KAAa;YAC7B,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAC9B,CAAC;;;OAHA;IAcH,YAAC;AAAD,CAAC,AArCD,CAAoB,KAAK,GAqCxB;AAED,eAAe,KAAK,CAAC"}
|
|
@@ -1,18 +1,11 @@
|
|
|
1
1
|
export declare type Axis = "x" | "y";
|
|
2
|
-
export declare type Operator = "count" | "+" | "-" | "*" | "min" | "max" | "avg";
|
|
3
2
|
export declare class GraphAxis {
|
|
4
|
-
_name: string
|
|
5
|
-
get name(): string
|
|
6
|
-
_axis: Axis
|
|
7
|
-
get axis(): Axis
|
|
8
|
-
|
|
9
|
-
get operator(): Operator | undefined;
|
|
10
|
-
_label: string | undefined;
|
|
11
|
-
get label(): string | undefined;
|
|
12
|
-
constructor({ name, axis, operator, label, }: {
|
|
3
|
+
_name: string;
|
|
4
|
+
get name(): string;
|
|
5
|
+
_axis: Axis;
|
|
6
|
+
get axis(): Axis;
|
|
7
|
+
constructor({ name, axis }: {
|
|
13
8
|
name: string;
|
|
14
9
|
axis: Axis;
|
|
15
|
-
operator?: Operator;
|
|
16
|
-
label: string | undefined;
|
|
17
10
|
});
|
|
18
11
|
}
|
package/dist/Graph/GraphAxis.js
CHANGED
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
var GraphAxis = /** @class */ (function () {
|
|
2
2
|
function GraphAxis(_a) {
|
|
3
|
-
var name = _a.name, axis = _a.axis
|
|
3
|
+
var name = _a.name, axis = _a.axis;
|
|
4
4
|
this._name = name;
|
|
5
5
|
this._axis = axis;
|
|
6
|
-
this._operator = operator;
|
|
7
|
-
this._label = label;
|
|
8
6
|
}
|
|
9
7
|
Object.defineProperty(GraphAxis.prototype, "name", {
|
|
10
8
|
get: function () {
|
|
@@ -20,20 +18,6 @@ var GraphAxis = /** @class */ (function () {
|
|
|
20
18
|
enumerable: false,
|
|
21
19
|
configurable: true
|
|
22
20
|
});
|
|
23
|
-
Object.defineProperty(GraphAxis.prototype, "operator", {
|
|
24
|
-
get: function () {
|
|
25
|
-
return this._operator;
|
|
26
|
-
},
|
|
27
|
-
enumerable: false,
|
|
28
|
-
configurable: true
|
|
29
|
-
});
|
|
30
|
-
Object.defineProperty(GraphAxis.prototype, "label", {
|
|
31
|
-
get: function () {
|
|
32
|
-
return this._label;
|
|
33
|
-
},
|
|
34
|
-
enumerable: false,
|
|
35
|
-
configurable: true
|
|
36
|
-
});
|
|
37
21
|
return GraphAxis;
|
|
38
22
|
}());
|
|
39
23
|
export { GraphAxis };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GraphAxis.js","sourceRoot":"","sources":["../../src/Graph/GraphAxis.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"GraphAxis.js","sourceRoot":"","sources":["../../src/Graph/GraphAxis.ts"],"names":[],"mappings":"AAEA;IAWE,mBAAY,EAA4C;YAA1C,IAAI,UAAA,EAAE,IAAI,UAAA;QACtB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACpB,CAAC;IAZD,sBAAI,2BAAI;aAAR;YACE,OAAO,IAAI,CAAC,KAAK,CAAC;QACpB,CAAC;;;OAAA;IAGD,sBAAI,2BAAI;aAAR;YACE,OAAO,IAAI,CAAC,KAAK,CAAC;QACpB,CAAC;;;OAAA;IAMH,gBAAC;AAAD,CAAC,AAfD,IAeC"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { GraphXAxis, GraphYAxis } from ".";
|
|
2
2
|
import { Graph, GraphType } from "./Graph";
|
|
3
3
|
export declare class GraphChart extends Graph {
|
|
4
|
-
_x:
|
|
5
|
-
get x():
|
|
6
|
-
_y:
|
|
7
|
-
get y():
|
|
4
|
+
_x: GraphXAxis;
|
|
5
|
+
get x(): GraphXAxis;
|
|
6
|
+
_y: GraphYAxis[];
|
|
7
|
+
get y(): GraphYAxis[];
|
|
8
8
|
constructor(type: GraphType, element: HTMLElement);
|
|
9
9
|
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
var __extends = (this && this.__extends) || (function () {
|
|
2
|
+
var extendStatics = function (d, b) {
|
|
3
|
+
extendStatics = Object.setPrototypeOf ||
|
|
4
|
+
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
5
|
+
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
|
6
|
+
return extendStatics(d, b);
|
|
7
|
+
};
|
|
8
|
+
return function (d, b) {
|
|
9
|
+
extendStatics(d, b);
|
|
10
|
+
function __() { this.constructor = d; }
|
|
11
|
+
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
12
|
+
};
|
|
13
|
+
})();
|
|
14
|
+
import { GraphAxis } from ".";
|
|
15
|
+
var GraphXAxis = /** @class */ (function (_super) {
|
|
16
|
+
__extends(GraphXAxis, _super);
|
|
17
|
+
function GraphXAxis(_a) {
|
|
18
|
+
var name = _a.name;
|
|
19
|
+
return _super.call(this, { name: name, axis: "x" }) || this;
|
|
20
|
+
}
|
|
21
|
+
return GraphXAxis;
|
|
22
|
+
}(GraphAxis));
|
|
23
|
+
export { GraphXAxis };
|
|
24
|
+
//# sourceMappingURL=GraphXAxis.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GraphXAxis.js","sourceRoot":"","sources":["../../src/Graph/GraphXAxis.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,GAAG,CAAC;AAE9B;IAAgC,8BAAS;IACvC,oBAAY,EAA0B;YAAxB,IAAI,UAAA;eAChB,kBAAM,EAAE,IAAI,MAAA,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;IAC5B,CAAC;IACH,iBAAC;AAAD,CAAC,AAJD,CAAgC,SAAS,GAIxC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { GraphAxis } from ".";
|
|
2
|
+
export declare type Operator = "count" | "+" | "-" | "*" | "min" | "max" | "avg";
|
|
3
|
+
export declare class GraphYAxis extends GraphAxis {
|
|
4
|
+
_operator: Operator;
|
|
5
|
+
get operator(): Operator;
|
|
6
|
+
_label: string | undefined;
|
|
7
|
+
get label(): string | undefined;
|
|
8
|
+
constructor({ name, operator, label, }: {
|
|
9
|
+
name: string;
|
|
10
|
+
operator: Operator;
|
|
11
|
+
label?: string;
|
|
12
|
+
});
|
|
13
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
var __extends = (this && this.__extends) || (function () {
|
|
2
|
+
var extendStatics = function (d, b) {
|
|
3
|
+
extendStatics = Object.setPrototypeOf ||
|
|
4
|
+
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
5
|
+
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
|
6
|
+
return extendStatics(d, b);
|
|
7
|
+
};
|
|
8
|
+
return function (d, b) {
|
|
9
|
+
extendStatics(d, b);
|
|
10
|
+
function __() { this.constructor = d; }
|
|
11
|
+
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
12
|
+
};
|
|
13
|
+
})();
|
|
14
|
+
import { GraphAxis } from ".";
|
|
15
|
+
var GraphYAxis = /** @class */ (function (_super) {
|
|
16
|
+
__extends(GraphYAxis, _super);
|
|
17
|
+
function GraphYAxis(_a) {
|
|
18
|
+
var name = _a.name, operator = _a.operator, label = _a.label;
|
|
19
|
+
var _this = _super.call(this, { name: name, axis: "y" }) || this;
|
|
20
|
+
_this._operator = operator;
|
|
21
|
+
_this._label = label;
|
|
22
|
+
return _this;
|
|
23
|
+
}
|
|
24
|
+
Object.defineProperty(GraphYAxis.prototype, "operator", {
|
|
25
|
+
get: function () {
|
|
26
|
+
return this._operator;
|
|
27
|
+
},
|
|
28
|
+
enumerable: false,
|
|
29
|
+
configurable: true
|
|
30
|
+
});
|
|
31
|
+
Object.defineProperty(GraphYAxis.prototype, "label", {
|
|
32
|
+
get: function () {
|
|
33
|
+
return this._label;
|
|
34
|
+
},
|
|
35
|
+
enumerable: false,
|
|
36
|
+
configurable: true
|
|
37
|
+
});
|
|
38
|
+
return GraphYAxis;
|
|
39
|
+
}(GraphAxis));
|
|
40
|
+
export { GraphYAxis };
|
|
41
|
+
//# sourceMappingURL=GraphYAxis.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GraphYAxis.js","sourceRoot":"","sources":["../../src/Graph/GraphYAxis.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,GAAG,CAAC;AAI9B;IAAgC,8BAAS;IAWvC,oBAAY,EAQX;YAPC,IAAI,UAAA,EACJ,QAAQ,cAAA,EACR,KAAK,WAAA;QAHP,YASE,kBAAM,EAAE,IAAI,MAAA,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,SAG3B;QAFC,KAAI,CAAC,SAAS,GAAG,QAAS,CAAC;QAC3B,KAAI,CAAC,MAAM,GAAG,KAAK,CAAC;;IACtB,CAAC;IArBD,sBAAI,gCAAQ;aAAZ;YACE,OAAO,IAAI,CAAC,SAAS,CAAC;QACxB,CAAC;;;OAAA;IAGD,sBAAI,6BAAK;aAAT;YACE,OAAO,IAAI,CAAC,MAAM,CAAC;QACrB,CAAC;;;OAAA;IAeH,iBAAC;AAAD,CAAC,AAxBD,CAAgC,SAAS,GAwBxC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { GraphXAxis, GraphYAxis } from ".";
|
|
2
2
|
export declare type XYAxis = {
|
|
3
|
-
x:
|
|
4
|
-
y:
|
|
3
|
+
x: GraphXAxis;
|
|
4
|
+
y: GraphYAxis[];
|
|
5
5
|
};
|
|
6
6
|
export declare const parseXYAxis: (nodes: NodeListOf<ChildNode>) => XYAxis;
|
|
@@ -1,32 +1,42 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { GraphXAxis, GraphYAxis } from ".";
|
|
2
2
|
export var parseXYAxis = function (nodes) {
|
|
3
|
-
var
|
|
3
|
+
var yAxisElements = [];
|
|
4
|
+
var xAxis;
|
|
4
5
|
Array.prototype.forEach.call(nodes, function (child) {
|
|
5
6
|
if (child.nodeType === child.ELEMENT_NODE && child.nodeName === "field") {
|
|
6
7
|
var axis = child.getAttribute("axis");
|
|
7
8
|
var operator = child.getAttribute("operator");
|
|
8
9
|
var name_1 = child.getAttribute("name");
|
|
9
|
-
var label = child.getAttribute("label");
|
|
10
|
+
var label = child.getAttribute("label") || undefined;
|
|
10
11
|
if (!axis) {
|
|
11
12
|
throw new Error("Field " + name_1 + " doesn't have an axis");
|
|
12
13
|
}
|
|
13
14
|
if (!name_1) {
|
|
14
15
|
throw new Error("Missing name attribute for field");
|
|
15
16
|
}
|
|
16
|
-
var graphAxis = new GraphAxis({
|
|
17
|
-
axis: axis,
|
|
18
|
-
name: name_1,
|
|
19
|
-
operator: operator,
|
|
20
|
-
label: label || undefined,
|
|
21
|
-
});
|
|
22
17
|
if (axis === "x") {
|
|
23
|
-
|
|
18
|
+
xAxis = new GraphXAxis({
|
|
19
|
+
name: name_1,
|
|
20
|
+
});
|
|
24
21
|
}
|
|
25
22
|
else if (axis === "y") {
|
|
26
|
-
|
|
23
|
+
yAxisElements.push(new GraphYAxis({
|
|
24
|
+
name: name_1,
|
|
25
|
+
operator: operator,
|
|
26
|
+
label: label,
|
|
27
|
+
}));
|
|
27
28
|
}
|
|
28
29
|
}
|
|
29
30
|
});
|
|
30
|
-
|
|
31
|
+
if (!xAxis) {
|
|
32
|
+
throw new Error("No x axis found");
|
|
33
|
+
}
|
|
34
|
+
if (!yAxisElements.length) {
|
|
35
|
+
throw new Error("No y axis found. At least we need one y axis");
|
|
36
|
+
}
|
|
37
|
+
return {
|
|
38
|
+
x: xAxis,
|
|
39
|
+
y: yAxisElements,
|
|
40
|
+
};
|
|
31
41
|
};
|
|
32
42
|
//# sourceMappingURL=graphHelper.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graphHelper.js","sourceRoot":"","sources":["../../src/Graph/graphHelper.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"graphHelper.js","sourceRoot":"","sources":["../../src/Graph/graphHelper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAY,MAAM,GAAG,CAAC;AAOrD,MAAM,CAAC,IAAM,WAAW,GAAG,UAAC,KAA4B;IACtD,IAAM,aAAa,GAAiB,EAAE,CAAC;IACvC,IAAI,KAAK,CAAC;IAEV,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,UAAC,KAAc;QACjD,IAAI,KAAK,CAAC,QAAQ,KAAK,KAAK,CAAC,YAAY,IAAI,KAAK,CAAC,QAAQ,KAAK,OAAO,EAAE;YACvE,IAAM,IAAI,GAAG,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;YACxC,IAAM,QAAQ,GAAG,KAAK,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;YAChD,IAAM,MAAI,GAAG,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;YACxC,IAAM,KAAK,GAAG,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,SAAS,CAAC;YAEvD,IAAI,CAAC,IAAI,EAAE;gBACT,MAAM,IAAI,KAAK,CAAC,WAAS,MAAI,0BAAuB,CAAC,CAAC;aACvD;YAED,IAAI,CAAC,MAAI,EAAE;gBACT,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;aACrD;YAED,IAAI,IAAI,KAAK,GAAG,EAAE;gBAChB,KAAK,GAAG,IAAI,UAAU,CAAC;oBACrB,IAAI,QAAA;iBACL,CAAC,CAAC;aACJ;iBAAM,IAAI,IAAI,KAAK,GAAG,EAAE;gBACvB,aAAa,CAAC,IAAI,CAChB,IAAI,UAAU,CAAC;oBACb,IAAI,QAAA;oBACJ,QAAQ,EAAE,QAAoB;oBAC9B,KAAK,OAAA;iBACN,CAAC,CACH,CAAC;aACH;SACF;IACH,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,KAAK,EAAE;QACV,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;KACpC;IAED,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE;QACzB,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;KACjE;IAED,OAAO;QACL,CAAC,EAAE,KAAK;QACR,CAAC,EAAE,aAAa;KACjB,CAAC;AACJ,CAAC,CAAC"}
|
package/dist/Graph/index.d.ts
CHANGED
package/dist/Graph/index.js
CHANGED
package/dist/Graph/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/Graph/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/Graph/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { GraphChart } from "../GraphChart";
|
|
2
|
+
export declare const getFieldsToRetrieve: ({ ooui }: {
|
|
3
|
+
ooui: GraphChart;
|
|
4
|
+
}) => string[];
|
|
5
|
+
export declare function getValueAndLabelForField({ fields, values, fieldName, }: {
|
|
6
|
+
fields: {
|
|
7
|
+
[key: string]: any;
|
|
8
|
+
};
|
|
9
|
+
values: {
|
|
10
|
+
[key: string]: any;
|
|
11
|
+
};
|
|
12
|
+
fieldName: string;
|
|
13
|
+
}): {
|
|
14
|
+
value: any;
|
|
15
|
+
label: any;
|
|
16
|
+
};
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
export var getFieldsToRetrieve = function (_a) {
|
|
2
|
+
var ooui = _a.ooui;
|
|
3
|
+
var xField = ooui.x.name;
|
|
4
|
+
var fields = [xField];
|
|
5
|
+
if (!ooui.y) {
|
|
6
|
+
return [];
|
|
7
|
+
}
|
|
8
|
+
ooui.y.forEach(function (y) {
|
|
9
|
+
if (y.operator !== "count" && !fields.includes(y.name)) {
|
|
10
|
+
fields.push(y.name);
|
|
11
|
+
}
|
|
12
|
+
if (y.label && !fields.includes(y.label)) {
|
|
13
|
+
fields.push(y.label);
|
|
14
|
+
}
|
|
15
|
+
});
|
|
16
|
+
return fields;
|
|
17
|
+
};
|
|
18
|
+
export function getValueAndLabelForField(_a) {
|
|
19
|
+
var fields = _a.fields, values = _a.values, fieldName = _a.fieldName;
|
|
20
|
+
var xFieldData = fields[fieldName];
|
|
21
|
+
var value = values[fieldName];
|
|
22
|
+
if (!xFieldData) {
|
|
23
|
+
throw new Error("Field " + fieldName + " not found");
|
|
24
|
+
}
|
|
25
|
+
if (xFieldData.type === "many2one") {
|
|
26
|
+
if (!value) {
|
|
27
|
+
return { value: false, label: undefined };
|
|
28
|
+
}
|
|
29
|
+
return { value: value[0], label: value[1] };
|
|
30
|
+
}
|
|
31
|
+
else if (xFieldData.type === "selection") {
|
|
32
|
+
var selectionValues = xFieldData.selection;
|
|
33
|
+
var valuePair = selectionValues.find(function (selectionPair) {
|
|
34
|
+
return selectionPair[0] === value;
|
|
35
|
+
});
|
|
36
|
+
if (!valuePair) {
|
|
37
|
+
return { value: false, label: undefined };
|
|
38
|
+
}
|
|
39
|
+
return { value: value, label: valuePair[1] };
|
|
40
|
+
}
|
|
41
|
+
return { value: value, label: value };
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=fieldUtils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fieldUtils.js","sourceRoot":"","sources":["../../../src/Graph/processor/fieldUtils.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,IAAM,mBAAmB,GAAG,UAAC,EAA8B;QAA5B,IAAI,UAAA;IACxC,IAAM,MAAM,GAAW,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IACnC,IAAM,MAAM,GAAG,CAAC,MAAM,CAAC,CAAC;IAExB,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE;QACX,OAAO,EAAE,CAAC;KACX;IAED,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,UAAC,CAAC;QACf,IAAI,CAAC,CAAC,QAAQ,KAAK,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE;YACtD,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;SACrB;QAED,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE;YACxC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;SACtB;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEF,MAAM,UAAU,wBAAwB,CAAC,EAQxC;QAPC,MAAM,YAAA,EACN,MAAM,YAAA,EACN,SAAS,eAAA;IAMT,IAAM,UAAU,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;IACrC,IAAM,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;IAEhC,IAAI,CAAC,UAAU,EAAE;QACf,MAAM,IAAI,KAAK,CAAC,WAAS,SAAS,eAAY,CAAC,CAAC;KACjD;IAED,IAAI,UAAU,CAAC,IAAI,KAAK,UAAU,EAAE;QAClC,IAAI,CAAC,KAAK,EAAE;YACV,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;SAC3C;QACD,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;KAC7C;SAAM,IAAI,UAAU,CAAC,IAAI,KAAK,WAAW,EAAE;QAC1C,IAAM,eAAe,GAAuB,UAAU,CAAC,SAAS,CAAC;QAEjE,IAAM,SAAS,GAAG,eAAe,CAAC,IAAI,CAAC,UAAC,aAAa;YACnD,OAAO,aAAa,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC;QACpC,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,SAAS,EAAE;YACd,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;SAC3C;QAED,OAAO,EAAE,KAAK,OAAA,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;KACvC;IAED,OAAO,EAAE,KAAK,OAAA,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;AACjC,CAAC"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { GraphChart, GraphYAxis, Operator } from "..";
|
|
2
|
+
export declare type GroupedValues = {
|
|
3
|
+
[key: string]: {
|
|
4
|
+
label: string;
|
|
5
|
+
entries: {
|
|
6
|
+
[key: string]: any;
|
|
7
|
+
}[];
|
|
8
|
+
};
|
|
9
|
+
};
|
|
10
|
+
export declare const labelsForOperator: {
|
|
11
|
+
count: string;
|
|
12
|
+
"+": string;
|
|
13
|
+
"-": string;
|
|
14
|
+
"*": string;
|
|
15
|
+
avg: string;
|
|
16
|
+
min: string;
|
|
17
|
+
max: string;
|
|
18
|
+
};
|
|
19
|
+
export declare const processGraphData: ({ ooui, values, fields, }: {
|
|
20
|
+
ooui: GraphChart;
|
|
21
|
+
values: {
|
|
22
|
+
[key: string]: any;
|
|
23
|
+
}[];
|
|
24
|
+
fields: {
|
|
25
|
+
[key: string]: any;
|
|
26
|
+
};
|
|
27
|
+
}) => {
|
|
28
|
+
xField: string;
|
|
29
|
+
yFields: string[];
|
|
30
|
+
seriesFields: (string | undefined)[] | undefined;
|
|
31
|
+
data: {
|
|
32
|
+
[key: string]: any;
|
|
33
|
+
}[];
|
|
34
|
+
};
|
|
35
|
+
export declare function getValueForOperator({ operator, values, }: {
|
|
36
|
+
operator: Operator;
|
|
37
|
+
values: any[];
|
|
38
|
+
}): number;
|
|
39
|
+
export declare function getValuesGroupedByField({ fieldName, fields, values, }: {
|
|
40
|
+
fieldName: string;
|
|
41
|
+
values: {
|
|
42
|
+
[key: string]: any;
|
|
43
|
+
}[];
|
|
44
|
+
fields: {
|
|
45
|
+
[key: string]: any;
|
|
46
|
+
};
|
|
47
|
+
}): GroupedValues;
|
|
48
|
+
export declare function getAllObjectsInGroupedValues(grouped: GroupedValues): any[];
|
|
49
|
+
export declare function getYAxisFieldname(y: GraphYAxis): string;
|
|
@@ -0,0 +1,201 @@
|
|
|
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
|
+
var __read = (this && this.__read) || function (o, n) {
|
|
13
|
+
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
14
|
+
if (!m) return o;
|
|
15
|
+
var i = m.call(o), r, ar = [], e;
|
|
16
|
+
try {
|
|
17
|
+
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
18
|
+
}
|
|
19
|
+
catch (error) { e = { error: error }; }
|
|
20
|
+
finally {
|
|
21
|
+
try {
|
|
22
|
+
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
23
|
+
}
|
|
24
|
+
finally { if (e) throw e.error; }
|
|
25
|
+
}
|
|
26
|
+
return ar;
|
|
27
|
+
};
|
|
28
|
+
var __spread = (this && this.__spread) || function () {
|
|
29
|
+
for (var ar = [], i = 0; i < arguments.length; i++) ar = ar.concat(__read(arguments[i]));
|
|
30
|
+
return ar;
|
|
31
|
+
};
|
|
32
|
+
import { getValueAndLabelForField } from "./fieldUtils";
|
|
33
|
+
export var labelsForOperator = {
|
|
34
|
+
count: "count",
|
|
35
|
+
"+": "sum",
|
|
36
|
+
"-": "subtract",
|
|
37
|
+
"*": "multiply",
|
|
38
|
+
avg: "average",
|
|
39
|
+
min: "min",
|
|
40
|
+
max: "max",
|
|
41
|
+
};
|
|
42
|
+
export var processGraphData = function (_a) {
|
|
43
|
+
var ooui = _a.ooui, values = _a.values, fields = _a.fields;
|
|
44
|
+
var valuesGroupedByX = getValuesGroupedByField({
|
|
45
|
+
fieldName: ooui.x.name,
|
|
46
|
+
values: values,
|
|
47
|
+
fields: fields,
|
|
48
|
+
});
|
|
49
|
+
var fieldsData = {
|
|
50
|
+
xField: ooui.x.name,
|
|
51
|
+
yFields: __spread(new Set(ooui.y.map(function (item) { return getYAxisFieldname(item); }))),
|
|
52
|
+
seriesFields: ooui.y.filter(function (yField) { return yField.label; }).length !== 0
|
|
53
|
+
? __spread(new Set(ooui.y.map(function (item) { return item.label; }))) : undefined,
|
|
54
|
+
};
|
|
55
|
+
var data = [];
|
|
56
|
+
ooui.y.forEach(function (yField) {
|
|
57
|
+
Object.keys(valuesGroupedByX).forEach(function (xValue) {
|
|
58
|
+
var _a;
|
|
59
|
+
var xLabel = valuesGroupedByX[xValue].label;
|
|
60
|
+
var objectsForXValue = valuesGroupedByX[xValue].entries;
|
|
61
|
+
if (yField.label) {
|
|
62
|
+
var valuesGroupedByYLabel_1 = getValuesGroupedByField({
|
|
63
|
+
fieldName: yField.label,
|
|
64
|
+
values: objectsForXValue,
|
|
65
|
+
fields: fields,
|
|
66
|
+
});
|
|
67
|
+
Object.keys(valuesGroupedByYLabel_1).forEach(function (yUniqueValue) {
|
|
68
|
+
var _a;
|
|
69
|
+
var entries = valuesGroupedByYLabel_1[yUniqueValue].entries;
|
|
70
|
+
var label = valuesGroupedByYLabel_1[yUniqueValue].label;
|
|
71
|
+
var valuesForYField = entries
|
|
72
|
+
.map(function (obj) {
|
|
73
|
+
return getValueAndLabelForField({
|
|
74
|
+
fieldName: yField.name,
|
|
75
|
+
values: obj,
|
|
76
|
+
fields: fields,
|
|
77
|
+
});
|
|
78
|
+
})
|
|
79
|
+
.map(function (_a) {
|
|
80
|
+
var value = _a.value, label = _a.label;
|
|
81
|
+
return label;
|
|
82
|
+
});
|
|
83
|
+
var finalValue = getValueForOperator({
|
|
84
|
+
values: valuesForYField,
|
|
85
|
+
operator: yField.operator,
|
|
86
|
+
});
|
|
87
|
+
data.push((_a = {},
|
|
88
|
+
_a[ooui.x.name] = xLabel || false,
|
|
89
|
+
_a[yField.name + "_" + labelsForOperator[yField.operator]] = finalValue,
|
|
90
|
+
_a[yField.label] = label,
|
|
91
|
+
_a));
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
else {
|
|
95
|
+
var valuesForYField = objectsForXValue
|
|
96
|
+
.map(function (obj) {
|
|
97
|
+
return getValueAndLabelForField({
|
|
98
|
+
fieldName: yField.name,
|
|
99
|
+
values: obj,
|
|
100
|
+
fields: fields,
|
|
101
|
+
});
|
|
102
|
+
})
|
|
103
|
+
.map(function (_a) {
|
|
104
|
+
var value = _a.value, label = _a.label;
|
|
105
|
+
return label;
|
|
106
|
+
});
|
|
107
|
+
var finalValue = getValueForOperator({
|
|
108
|
+
values: valuesForYField,
|
|
109
|
+
operator: yField.operator,
|
|
110
|
+
});
|
|
111
|
+
data.push((_a = {},
|
|
112
|
+
_a[ooui.x.name] = xLabel || false,
|
|
113
|
+
_a[getYAxisFieldname(yField)] = finalValue,
|
|
114
|
+
_a));
|
|
115
|
+
}
|
|
116
|
+
});
|
|
117
|
+
});
|
|
118
|
+
// If we don't have y axis fields with label specified, we need to,
|
|
119
|
+
// merge the results with the same name key
|
|
120
|
+
if (ooui.y.filter(function (yField) { return yField.label; }).length === 0) {
|
|
121
|
+
var uniqueXkeys = __spread(new Set(data.map(function (item) { return item[ooui.x.name]; })));
|
|
122
|
+
var processedData = uniqueXkeys.map(function (key) {
|
|
123
|
+
var mergedRecord = {};
|
|
124
|
+
var valuesForKey = data.filter(function (item) { return item[ooui.x.name] === key; });
|
|
125
|
+
valuesForKey.forEach(function (item) {
|
|
126
|
+
Object.assign(mergedRecord, item);
|
|
127
|
+
});
|
|
128
|
+
return mergedRecord;
|
|
129
|
+
});
|
|
130
|
+
return __assign({ data: processedData }, fieldsData);
|
|
131
|
+
}
|
|
132
|
+
return __assign({ data: data }, fieldsData);
|
|
133
|
+
};
|
|
134
|
+
export function getValueForOperator(_a) {
|
|
135
|
+
var operator = _a.operator, values = _a.values;
|
|
136
|
+
switch (operator) {
|
|
137
|
+
case "count": {
|
|
138
|
+
return values.length;
|
|
139
|
+
}
|
|
140
|
+
case "+": {
|
|
141
|
+
return roundNumber(values.reduce(function (previousValue, currentValue) {
|
|
142
|
+
return previousValue + currentValue;
|
|
143
|
+
}));
|
|
144
|
+
}
|
|
145
|
+
case "-": {
|
|
146
|
+
return roundNumber(values.reduce(function (previousValue, currentValue) {
|
|
147
|
+
return previousValue - currentValue;
|
|
148
|
+
}));
|
|
149
|
+
}
|
|
150
|
+
case "*": {
|
|
151
|
+
return roundNumber(values.reduce(function (previousValue, currentValue) {
|
|
152
|
+
return previousValue * currentValue;
|
|
153
|
+
}));
|
|
154
|
+
}
|
|
155
|
+
case "avg": {
|
|
156
|
+
var sum = values.reduce(function (a, b) { return a + b; }, 0);
|
|
157
|
+
var avg = sum / values.length || 0;
|
|
158
|
+
return roundNumber(avg);
|
|
159
|
+
}
|
|
160
|
+
case "min": {
|
|
161
|
+
return Math.min.apply(Math, __spread(values));
|
|
162
|
+
}
|
|
163
|
+
case "max": {
|
|
164
|
+
return Math.max.apply(Math, __spread(values));
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
function roundNumber(num) {
|
|
169
|
+
return Math.round((num + Number.EPSILON) * 100) / 100;
|
|
170
|
+
}
|
|
171
|
+
export function getValuesGroupedByField(_a) {
|
|
172
|
+
var fieldName = _a.fieldName, fields = _a.fields, values = _a.values;
|
|
173
|
+
var groupedValues = {};
|
|
174
|
+
values.forEach(function (entry) {
|
|
175
|
+
var _a = getValueAndLabelForField({
|
|
176
|
+
fields: fields,
|
|
177
|
+
values: entry,
|
|
178
|
+
fieldName: fieldName,
|
|
179
|
+
}), value = _a.value, label = _a.label;
|
|
180
|
+
if (!groupedValues[value]) {
|
|
181
|
+
groupedValues[value] = { label: label, entries: [] };
|
|
182
|
+
}
|
|
183
|
+
groupedValues[value].entries.push(entry);
|
|
184
|
+
});
|
|
185
|
+
return groupedValues;
|
|
186
|
+
}
|
|
187
|
+
export function getAllObjectsInGroupedValues(grouped) {
|
|
188
|
+
var totalObjects = [];
|
|
189
|
+
Object.keys(grouped).forEach(function (key) {
|
|
190
|
+
var group = grouped[key];
|
|
191
|
+
totalObjects = totalObjects.concat(group.entries);
|
|
192
|
+
});
|
|
193
|
+
return totalObjects;
|
|
194
|
+
}
|
|
195
|
+
export function getYAxisFieldname(y) {
|
|
196
|
+
if (y.operator) {
|
|
197
|
+
return y.name + "_" + labelsForOperator[y.operator];
|
|
198
|
+
}
|
|
199
|
+
return y.name;
|
|
200
|
+
}
|
|
201
|
+
//# sourceMappingURL=graphProcessor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"graphProcessor.js","sourceRoot":"","sources":["../../../src/Graph/processor/graphProcessor.ts"],"names":[],"mappings":"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"}
|