@gisce/ooui 0.6.13 → 0.7.0

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.
@@ -4,5 +4,7 @@ export declare class Graph {
4
4
  get string(): string | null;
5
5
  _type?: GraphType;
6
6
  get type(): GraphType | undefined;
7
+ _timerange: string | null;
8
+ get timerange(): string | null;
7
9
  constructor(element: HTMLElement);
8
10
  }
@@ -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 };
@@ -1 +1 @@
1
- {"version":3,"file":"Graph.js","sourceRoot":"","sources":["../../src/Graph/Graph.ts"],"names":[],"mappings":"AAEA;IAWE,eAAY,OAAoB;QAVhC,YAAO,GAAkB,IAAI,CAAC;QAW5B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;IAChD,CAAC;IAXD,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;IAKH,YAAC;AAAD,CAAC,AAdD,IAcC"}
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"}
@@ -16,7 +16,10 @@ export declare const labelsForOperator: {
16
16
  min: string;
17
17
  max: string;
18
18
  };
19
- export declare const processGraphData: ({ ooui, values, fields, }: {
19
+ export declare type ProcessGraphDataOpts = {
20
+ uninformedString: string;
21
+ };
22
+ export declare const processGraphData: ({ ooui, values, fields, options, }: {
20
23
  ooui: GraphChart;
21
24
  values: {
22
25
  [key: string]: any;
@@ -24,6 +27,7 @@ export declare const processGraphData: ({ ooui, values, fields, }: {
24
27
  fields: {
25
28
  [key: string]: any;
26
29
  };
30
+ options?: ProcessGraphDataOpts | undefined;
27
31
  }) => {
28
32
  data: {
29
33
  [key: string]: any;
@@ -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",
@@ -40,7 +41,7 @@ export var labelsForOperator = {
40
41
  max: "max",
41
42
  };
42
43
  export var processGraphData = function (_a) {
43
- var ooui = _a.ooui, values = _a.values, fields = _a.fields;
44
+ var ooui = _a.ooui, values = _a.values, fields = _a.fields, options = _a.options;
44
45
  // First we group all the results by the x field. This way we will have one or more items in an array for every occurrence of ooui.x.name
45
46
  // Result of this will be an object which keys will be unique keys for values of ooui.x.name for each item
46
47
  var valuesGroupedByX = getValuesGroupedByField({
@@ -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
  });
@@ -132,8 +135,32 @@ export var processGraphData = function (_a) {
132
135
  return __assign(__assign({}, entry), { type: entry.type + " - " + entry.stacked });
133
136
  });
134
137
  }
138
+ var adjustedUninformedData = __spread(adjustedStackedData);
139
+ // If the type of the graph is pie, we have to check for "false" (uninformed) computes values
140
+ // in order to adjust the description to a localized string for "Unassigned / not introduced"
141
+ // Else, we have to ignore those entries
142
+ if (ooui.type === "pie" &&
143
+ adjustedUninformedData.some(function (entry) { return entry.x === false; })) {
144
+ adjustedUninformedData = adjustedUninformedData.map(function (entry) {
145
+ if (entry.x === false) {
146
+ return __assign(__assign({}, entry), { x: (options === null || options === void 0 ? void 0 : options.uninformedString) || "Not informed" });
147
+ }
148
+ return entry;
149
+ });
150
+ }
151
+ else if (adjustedStackedData.some(function (entry) { return entry.x === false; })) {
152
+ adjustedUninformedData = adjustedUninformedData.filter(function (entry) { return entry.x !== false; });
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
+ }
135
162
  return {
136
- data: adjustedStackedData,
163
+ data: finalData,
137
164
  isGroup: isStack || isGroup,
138
165
  isStack: isStack,
139
166
  };
@@ -1 +1 @@
1
- {"version":3,"file":"graphProcessor.js","sourceRoot":"","sources":["../../../src/Graph/processor/graphProcessor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"graphProcessor.js","sourceRoot":"","sources":["../../../src/Graph/processor/graphProcessor.ts"],"names":[],"mappings":"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"}
@@ -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,227 @@
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 finalValue = getValueForOperator({
123
+ values: valuesForKey.map(function (entry) { return entry.value; }),
124
+ operator: valuesForKey[0].operator,
125
+ });
126
+ finalValues.push(__assign(__assign({}, valuesForKey[0]), { value: finalValue }));
127
+ });
128
+ return finalValues;
129
+ }
130
+ export function adjustXValuesForTimeRage(_a) {
131
+ var values = _a.values, timerange = _a.timerange;
132
+ return values.map(function (value) {
133
+ return __assign(__assign({}, value), { x: convertDateToTimeRangeAdjusted({
134
+ date: value.x,
135
+ timerange: timerange,
136
+ }) });
137
+ });
138
+ }
139
+ export function convertDateToTimeRangeAdjusted(_a) {
140
+ var date = _a.date, timerange = _a.timerange;
141
+ var format = getDateFormat(date);
142
+ var momentDate = moment(date, format);
143
+ switch (timerange) {
144
+ case "hour": {
145
+ format = "YYYY-MM-DD HH:00";
146
+ break;
147
+ }
148
+ case "day": {
149
+ format = "YYYY-MM-DD";
150
+ break;
151
+ }
152
+ case "week": {
153
+ format = "YYYY-WW";
154
+ break;
155
+ }
156
+ case "month": {
157
+ format = "YYYY-MM";
158
+ break;
159
+ }
160
+ case "year": {
161
+ format = "YYYY";
162
+ break;
163
+ }
164
+ }
165
+ return momentDate.format(format);
166
+ }
167
+ export function getDateFormat(date) {
168
+ return date.indexOf(":") ? "YYYY-MM-DD HH:mm:ss" : "YYYY-MM-DD";
169
+ }
170
+ export function checkDatesConsecutive(dates, unit) {
171
+ var consecutive = false;
172
+ var format = getFormatForUnits(unit);
173
+ if (dates.length === 0) {
174
+ return false;
175
+ }
176
+ if (dates.length === 1) {
177
+ return true;
178
+ }
179
+ for (var i = 0; i < dates.length - 1; i++) {
180
+ var date1 = moment(dates[i], format);
181
+ var date2 = moment(dates[i + 1], format);
182
+ var diff = date2.diff(date1, unit);
183
+ if (Math.abs(diff) === 1) {
184
+ consecutive = true;
185
+ }
186
+ else {
187
+ consecutive = false;
188
+ }
189
+ }
190
+ return consecutive;
191
+ }
192
+ export function getUniqueValuesGroupedBy(_a) {
193
+ var values = _a.values, groupBy = _a.groupBy;
194
+ var uniqueValues = {};
195
+ values.forEach(function (value) {
196
+ var x = value.x;
197
+ var type = value.type;
198
+ var stacked = value.stacked;
199
+ var uniqueKey = groupBy === "all" ? x + "-" + type + "-" + stacked : type + "-" + stacked;
200
+ if (!uniqueValues[uniqueKey]) {
201
+ uniqueValues[uniqueKey] = [];
202
+ }
203
+ uniqueValues[uniqueKey].push(value);
204
+ });
205
+ return uniqueValues;
206
+ }
207
+ export function getFormatForUnits(units) {
208
+ switch (units) {
209
+ default:
210
+ case "hours": {
211
+ return "YYYY-MM-DD HH:mm";
212
+ }
213
+ case "days": {
214
+ return "YYYY-MM-DD";
215
+ }
216
+ case "weeks": {
217
+ return "YYYY-WW";
218
+ }
219
+ case "months": {
220
+ return "YYYY-MM";
221
+ }
222
+ case "years": {
223
+ return "YYYY";
224
+ }
225
+ }
226
+ }
227
+ //# 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
@@ -1,7 +1,9 @@
1
1
  {
2
2
  "name": "@gisce/ooui",
3
- "version": "0.6.13",
4
- "dependencies": {},
3
+ "version": "0.7.0",
4
+ "dependencies": {
5
+ "moment": "^2.29.3"
6
+ },
5
7
  "main": "dist/index.js",
6
8
  "types": "dist/index.d.ts",
7
9
  "files": [
@@ -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 }[] };
@@ -15,14 +16,20 @@ export const labelsForOperator = {
15
16
  max: "max",
16
17
  };
17
18
 
19
+ export type ProcessGraphDataOpts = {
20
+ uninformedString: string;
21
+ };
22
+
18
23
  export const processGraphData = ({
19
24
  ooui,
20
25
  values,
21
26
  fields,
27
+ options,
22
28
  }: {
23
29
  ooui: GraphChart;
24
30
  values: { [key: string]: any }[];
25
31
  fields: { [key: string]: any };
32
+ options?: ProcessGraphDataOpts;
26
33
  }) => {
27
34
  // First we group all the results by the x field. This way we will have one or more items in an array for every occurrence of ooui.x.name
28
35
  // Result of this will be an object which keys will be unique keys for values of ooui.x.name for each item
@@ -62,6 +69,7 @@ export const processGraphData = ({
62
69
  yAxis: yField,
63
70
  fields,
64
71
  }),
72
+ operator: yField.operator,
65
73
  stacked: yField.stacked,
66
74
  });
67
75
  }
@@ -94,6 +102,7 @@ export const processGraphData = ({
94
102
  x: xLabel || false,
95
103
  value: finalValue,
96
104
  type: label,
105
+ operator: yField.operator,
97
106
  stacked: yField.stacked,
98
107
  });
99
108
  });
@@ -130,8 +139,38 @@ export const processGraphData = ({
130
139
  });
131
140
  }
132
141
 
142
+ let adjustedUninformedData = [...adjustedStackedData];
143
+ // If the type of the graph is pie, we have to check for "false" (uninformed) computes values
144
+ // in order to adjust the description to a localized string for "Unassigned / not introduced"
145
+ // Else, we have to ignore those entries
146
+ if (
147
+ ooui.type === "pie" &&
148
+ adjustedUninformedData.some((entry) => entry.x === false)
149
+ ) {
150
+ adjustedUninformedData = adjustedUninformedData.map((entry) => {
151
+ if (entry.x === false) {
152
+ return { ...entry, x: options?.uninformedString || "Not informed" };
153
+ }
154
+ return entry;
155
+ });
156
+ } else if (adjustedStackedData.some((entry) => entry.x === false)) {
157
+ adjustedUninformedData = adjustedUninformedData.filter(
158
+ (entry) => entry.x !== false
159
+ );
160
+ }
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
+
133
172
  return {
134
- data: adjustedStackedData,
173
+ data: finalData,
135
174
  isGroup: isStack || isGroup,
136
175
  isStack,
137
176
  };