logitude-dashboard-library 1.4.60 → 1.4.61
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/index.js +287 -58
- package/dist/index.js.map +1 -1
- package/dist/index.modern.js +287 -58
- package/dist/index.modern.js.map +1 -1
- package/dist/types/KpiChart.d.ts +1 -0
- package/dist/types/SeriesMeasure.d.ts +4 -0
- package/package.json +1 -1
- package/dist/delete-icon~HsiaSdfs.svg +0 -3
- package/dist/delete-icon~eciVlkBl.svg +0 -3
- package/dist/edit-icon~roheEGno.svg +0 -3
- package/dist/edit-icon~xptiVoWp.svg +0 -3
- package/dist/red-warning~UVfiDPMR.svg +0 -18
- package/dist/red-warning~bbFYcIcE.svg +0 -18
- package/dist/red-warning~bferuATT.svg +0 -18
- package/dist/red-warning~zsxGhaaS.svg +0 -18
package/dist/index.js
CHANGED
|
@@ -17,16 +17,19 @@ function _extends() {
|
|
|
17
17
|
_extends = Object.assign ? Object.assign.bind() : function (target) {
|
|
18
18
|
for (var i = 1; i < arguments.length; i++) {
|
|
19
19
|
var source = arguments[i];
|
|
20
|
+
|
|
20
21
|
for (var key in source) {
|
|
21
22
|
if (Object.prototype.hasOwnProperty.call(source, key)) {
|
|
22
23
|
target[key] = source[key];
|
|
23
24
|
}
|
|
24
25
|
}
|
|
25
26
|
}
|
|
27
|
+
|
|
26
28
|
return target;
|
|
27
29
|
};
|
|
28
30
|
return _extends.apply(this, arguments);
|
|
29
31
|
}
|
|
32
|
+
|
|
30
33
|
function _unsupportedIterableToArray(o, minLen) {
|
|
31
34
|
if (!o) return;
|
|
32
35
|
if (typeof o === "string") return _arrayLikeToArray(o, minLen);
|
|
@@ -35,14 +38,19 @@ function _unsupportedIterableToArray(o, minLen) {
|
|
|
35
38
|
if (n === "Map" || n === "Set") return Array.from(o);
|
|
36
39
|
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
|
|
37
40
|
}
|
|
41
|
+
|
|
38
42
|
function _arrayLikeToArray(arr, len) {
|
|
39
43
|
if (len == null || len > arr.length) len = arr.length;
|
|
44
|
+
|
|
40
45
|
for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
|
|
46
|
+
|
|
41
47
|
return arr2;
|
|
42
48
|
}
|
|
49
|
+
|
|
43
50
|
function _createForOfIteratorHelperLoose(o, allowArrayLike) {
|
|
44
51
|
var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
|
|
45
52
|
if (it) return (it = it.call(o)).next.bind(it);
|
|
53
|
+
|
|
46
54
|
if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") {
|
|
47
55
|
if (it) o = it;
|
|
48
56
|
var i = 0;
|
|
@@ -56,6 +64,7 @@ function _createForOfIteratorHelperLoose(o, allowArrayLike) {
|
|
|
56
64
|
};
|
|
57
65
|
};
|
|
58
66
|
}
|
|
67
|
+
|
|
59
68
|
throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
60
69
|
}
|
|
61
70
|
|
|
@@ -63,8 +72,10 @@ var Session = function Session() {};
|
|
|
63
72
|
|
|
64
73
|
var Tools = /*#__PURE__*/function () {
|
|
65
74
|
function Tools() {}
|
|
75
|
+
|
|
66
76
|
Tools.GetLogitudeURL = function GetLogitudeURL() {
|
|
67
77
|
var logitude_url = location.href.replace('index.html', '');
|
|
78
|
+
|
|
68
79
|
if (location.href.indexOf('localhost') > -1) {
|
|
69
80
|
logitude_url = 'http://localhost:9996';
|
|
70
81
|
} else {
|
|
@@ -73,19 +84,24 @@ var Tools = /*#__PURE__*/function () {
|
|
|
73
84
|
url = url.replace(url.substring(url.lastIndexOf('/'), url.length), "");
|
|
74
85
|
logitude_url = url;
|
|
75
86
|
}
|
|
87
|
+
|
|
76
88
|
return logitude_url;
|
|
77
89
|
};
|
|
90
|
+
|
|
78
91
|
Tools.Map = function Map(from, to) {
|
|
79
92
|
if (!from) return;
|
|
80
93
|
if (!to) to = {};
|
|
81
94
|
var keys = Object.keys(from);
|
|
95
|
+
|
|
82
96
|
for (var _i = 0, _keys = keys; _i < _keys.length; _i++) {
|
|
83
97
|
var k = _keys[_i];
|
|
98
|
+
|
|
84
99
|
if (from[k]) {
|
|
85
100
|
to[k] = from[k];
|
|
86
101
|
}
|
|
87
102
|
}
|
|
88
103
|
};
|
|
104
|
+
|
|
89
105
|
return Tools;
|
|
90
106
|
}();
|
|
91
107
|
|
|
@@ -93,7 +109,9 @@ var ApiServices = /*#__PURE__*/function () {
|
|
|
93
109
|
function ApiServices() {
|
|
94
110
|
this._apiUrl = Tools.GetLogitudeURL();
|
|
95
111
|
}
|
|
112
|
+
|
|
96
113
|
var _proto = ApiServices.prototype;
|
|
114
|
+
|
|
97
115
|
_proto.getByFilters = function getByFilters(api, filters) {
|
|
98
116
|
var token = this.getTokenFromStorage();
|
|
99
117
|
var apiURL = "" + this._apiUrl + api;
|
|
@@ -105,6 +123,7 @@ var ApiServices = /*#__PURE__*/function () {
|
|
|
105
123
|
}
|
|
106
124
|
});
|
|
107
125
|
};
|
|
126
|
+
|
|
108
127
|
_proto.get = function get(api) {
|
|
109
128
|
var token = this.getTokenFromStorage();
|
|
110
129
|
var apiURL = "" + this._apiUrl + api;
|
|
@@ -115,6 +134,7 @@ var ApiServices = /*#__PURE__*/function () {
|
|
|
115
134
|
}
|
|
116
135
|
});
|
|
117
136
|
};
|
|
137
|
+
|
|
118
138
|
_proto.post = function post(api, date) {
|
|
119
139
|
var token = this.getTokenFromStorage();
|
|
120
140
|
var apiURL = "" + this._apiUrl + api;
|
|
@@ -125,32 +145,41 @@ var ApiServices = /*#__PURE__*/function () {
|
|
|
125
145
|
}
|
|
126
146
|
});
|
|
127
147
|
};
|
|
148
|
+
|
|
128
149
|
_proto.getTokenFromStorage = function getTokenFromStorage() {
|
|
129
150
|
return Session.Token || '';
|
|
130
151
|
};
|
|
152
|
+
|
|
131
153
|
_proto.ConcatFiltersToURL = function ConcatFiltersToURL(filters, urlparameters) {
|
|
132
154
|
var mykeys = Object.keys(filters);
|
|
133
155
|
var addtionalFiltersValues = null;
|
|
156
|
+
|
|
134
157
|
for (var i in mykeys) {
|
|
135
158
|
var propName = mykeys[i];
|
|
136
159
|
var propValue = filters[propName];
|
|
137
160
|
var ignoreFilter = propName.indexOf("Operator") > 0 && propValue == "Equals" || propName == "AdditionalFilters";
|
|
161
|
+
|
|
138
162
|
if (urlparameters != "?") {
|
|
139
163
|
urlparameters = urlparameters.concat('&');
|
|
140
164
|
}
|
|
165
|
+
|
|
141
166
|
if (!ignoreFilter) {
|
|
142
167
|
propValue = propValue ? encodeURIComponent(propValue) : '';
|
|
143
168
|
urlparameters = urlparameters.concat(propName.concat('=').concat(propValue));
|
|
144
169
|
}
|
|
170
|
+
|
|
145
171
|
if (propName == "AdditionalFilters" && propValue.length > 0) {
|
|
146
172
|
addtionalFiltersValues = JSON.stringify(propValue);
|
|
147
173
|
}
|
|
148
174
|
}
|
|
175
|
+
|
|
149
176
|
if (addtionalFiltersValues) {
|
|
150
177
|
urlparameters = urlparameters.concat("&AdditionalFilters=").concat(addtionalFiltersValues);
|
|
151
178
|
}
|
|
179
|
+
|
|
152
180
|
return urlparameters;
|
|
153
181
|
};
|
|
182
|
+
|
|
154
183
|
return ApiServices;
|
|
155
184
|
}();
|
|
156
185
|
|
|
@@ -159,31 +188,39 @@ var DashboardAnalyticsService = /*#__PURE__*/function () {
|
|
|
159
188
|
this.controller = 'DashboardAnalytics';
|
|
160
189
|
this._ApiServices = new ApiServices();
|
|
161
190
|
}
|
|
191
|
+
|
|
162
192
|
var _proto = DashboardAnalyticsService.prototype;
|
|
193
|
+
|
|
163
194
|
_proto.getData = function getData(widget) {
|
|
164
195
|
return this._ApiServices.post("/api/" + this.controller + "/PostGetDataAnalytic", widget);
|
|
165
196
|
};
|
|
197
|
+
|
|
166
198
|
_proto.getKpiData = function getKpiData(widget) {
|
|
167
199
|
return this._ApiServices.post("/api/" + this.controller + "/PostGetKpiData", widget);
|
|
168
200
|
};
|
|
201
|
+
|
|
169
202
|
return DashboardAnalyticsService;
|
|
170
203
|
}();
|
|
171
204
|
|
|
172
205
|
var _path;
|
|
206
|
+
|
|
173
207
|
function _extends$1() {
|
|
174
208
|
_extends$1 = Object.assign ? Object.assign.bind() : function (target) {
|
|
175
209
|
for (var i = 1; i < arguments.length; i++) {
|
|
176
210
|
var source = arguments[i];
|
|
211
|
+
|
|
177
212
|
for (var key in source) {
|
|
178
213
|
if (Object.prototype.hasOwnProperty.call(source, key)) {
|
|
179
214
|
target[key] = source[key];
|
|
180
215
|
}
|
|
181
216
|
}
|
|
182
217
|
}
|
|
218
|
+
|
|
183
219
|
return target;
|
|
184
220
|
};
|
|
185
221
|
return _extends$1.apply(this, arguments);
|
|
186
222
|
}
|
|
223
|
+
|
|
187
224
|
function SvgRedWarning(props) {
|
|
188
225
|
return /*#__PURE__*/React.createElement("svg", _extends$1({
|
|
189
226
|
xmlns: "http://www.w3.org/2000/svg",
|
|
@@ -204,59 +241,79 @@ var DateGroupCodes = {
|
|
|
204
241
|
Month_Year: 'Month & Year',
|
|
205
242
|
Quarter_Year: 'Quarter & Year'
|
|
206
243
|
};
|
|
244
|
+
|
|
207
245
|
var getDateFormat = function getDateFormat(label, _format) {
|
|
208
246
|
if (!label) return label;
|
|
247
|
+
|
|
209
248
|
var _date = moment(label);
|
|
249
|
+
|
|
210
250
|
if (!_date || !_date.isValid()) return label;
|
|
211
251
|
return _date.format(_format);
|
|
212
252
|
};
|
|
253
|
+
|
|
213
254
|
var getQuarterYearFormat = function getQuarterYearFormat(label) {
|
|
214
255
|
if (!label) return label;
|
|
256
|
+
|
|
215
257
|
if (label.includes("/")) {
|
|
216
258
|
var result = label.split("/");
|
|
217
259
|
var quarterVal = result && result[1] ? result[1] : "";
|
|
218
260
|
var yearVal = result && result[0] ? result[0] : "";
|
|
219
261
|
return quarterVal + " " + yearVal;
|
|
220
262
|
}
|
|
263
|
+
|
|
221
264
|
return label;
|
|
222
265
|
};
|
|
266
|
+
|
|
223
267
|
var getLabelFormatByDateGroupType = function getLabelFormatByDateGroupType(label, widget, isSecondGrouping) {
|
|
224
268
|
if (isSecondGrouping === void 0) {
|
|
225
269
|
isSecondGrouping = false;
|
|
226
270
|
}
|
|
271
|
+
|
|
227
272
|
if (!widget) return label;
|
|
228
273
|
var groupFieldDataType = isSecondGrouping ? widget.SecondaryDateGroupCode : widget.DateGroupCode;
|
|
229
274
|
if (!groupFieldDataType) return label;
|
|
275
|
+
|
|
230
276
|
switch (groupFieldDataType) {
|
|
231
277
|
case DateGroupCodes.Full_Date:
|
|
232
278
|
return getDateFormat(label, "DD MMM YYYY");
|
|
279
|
+
|
|
233
280
|
case DateGroupCodes.Month:
|
|
234
281
|
return getDateFormat(label, "MMM");
|
|
282
|
+
|
|
235
283
|
case DateGroupCodes.Quarter:
|
|
236
284
|
return label;
|
|
285
|
+
|
|
237
286
|
case DateGroupCodes.Year:
|
|
238
287
|
return getDateFormat(label, "YYYY");
|
|
288
|
+
|
|
239
289
|
case DateGroupCodes.Month_Year:
|
|
240
290
|
return getDateFormat(label, "MMM YYYY");
|
|
291
|
+
|
|
241
292
|
case DateGroupCodes.Quarter_Year:
|
|
242
293
|
return getQuarterYearFormat(label);
|
|
294
|
+
|
|
243
295
|
default:
|
|
244
296
|
return label;
|
|
245
297
|
}
|
|
246
298
|
};
|
|
247
299
|
|
|
248
300
|
var KpiChart = function KpiChart(props) {
|
|
249
|
-
var _widget$
|
|
301
|
+
var _widget$current4;
|
|
302
|
+
|
|
250
303
|
var _useState = React.useState(false),
|
|
251
|
-
|
|
252
|
-
|
|
304
|
+
dataLoaded = _useState[0],
|
|
305
|
+
setDataLoaded = _useState[1];
|
|
306
|
+
|
|
253
307
|
var _useState2 = React.useState(),
|
|
254
|
-
|
|
255
|
-
|
|
308
|
+
error = _useState2[0],
|
|
309
|
+
setError = _useState2[1];
|
|
310
|
+
|
|
256
311
|
var widget = React.useRef();
|
|
312
|
+
|
|
257
313
|
var _useState3 = React.useState(),
|
|
258
|
-
|
|
259
|
-
|
|
314
|
+
data = _useState3[0],
|
|
315
|
+
setData = _useState3[1];
|
|
316
|
+
|
|
260
317
|
React.useEffect(function () {
|
|
261
318
|
widget.current = props.customChartProps.widget;
|
|
262
319
|
setDataLoaded(false);
|
|
@@ -264,6 +321,7 @@ var KpiChart = function KpiChart(props) {
|
|
|
264
321
|
RefreshData();
|
|
265
322
|
}, 500);
|
|
266
323
|
}, []);
|
|
324
|
+
|
|
267
325
|
var RefreshData = function RefreshData() {
|
|
268
326
|
if (Session.Tenant == 0) {
|
|
269
327
|
var emptyData = {};
|
|
@@ -272,28 +330,39 @@ var KpiChart = function KpiChart(props) {
|
|
|
272
330
|
setDataLoaded(true);
|
|
273
331
|
return;
|
|
274
332
|
}
|
|
333
|
+
|
|
275
334
|
var dashboardAnalyticsService = new DashboardAnalyticsService();
|
|
335
|
+
|
|
276
336
|
var postWidget = _extends({}, widget.current);
|
|
337
|
+
|
|
277
338
|
postWidget.onChange = undefined;
|
|
278
339
|
dashboardAnalyticsService.getKpiData(postWidget).then(function (result) {
|
|
279
340
|
setData(result.data);
|
|
280
341
|
setDataLoaded(true);
|
|
281
342
|
}, function (error) {
|
|
282
343
|
var _error$response, _error$response$data, _error$response2, _error$response2$data;
|
|
344
|
+
|
|
283
345
|
console.log('error', error);
|
|
284
346
|
if (error !== null && error !== void 0 && (_error$response = error.response) !== null && _error$response !== void 0 && (_error$response$data = _error$response.data) !== null && _error$response$data !== void 0 && _error$response$data.ErrorMessage) setError(error === null || error === void 0 ? void 0 : (_error$response2 = error.response) === null || _error$response2 === void 0 ? void 0 : (_error$response2$data = _error$response2.data) === null || _error$response2$data === void 0 ? void 0 : _error$response2$data.ErrorMessage);else setError(error.message);
|
|
285
347
|
setDataLoaded(true);
|
|
286
348
|
});
|
|
287
349
|
};
|
|
350
|
+
|
|
288
351
|
var kpiClick = function kpiClick() {
|
|
289
|
-
var _widget$current, _widget$current2, _widget$
|
|
352
|
+
var _widget$current, _widget$current2, _widget$current3, _widget$current3$Widg;
|
|
353
|
+
|
|
290
354
|
var measureFieldId;
|
|
291
|
-
|
|
355
|
+
var currentWidgetMeasure = widget === null || widget === void 0 ? void 0 : (_widget$current = widget.current) === null || _widget$current === void 0 ? void 0 : _widget$current.WidgetMeasures[0];
|
|
356
|
+
if (widget !== null && widget !== void 0 && (_widget$current2 = widget.current) !== null && _widget$current2 !== void 0 && _widget$current2.WidgetMeasures) measureFieldId = widget === null || widget === void 0 ? void 0 : (_widget$current3 = widget.current) === null || _widget$current3 === void 0 ? void 0 : (_widget$current3$Widg = _widget$current3.WidgetMeasures[0]) === null || _widget$current3$Widg === void 0 ? void 0 : _widget$current3$Widg.MeasureFieldId;
|
|
292
357
|
props.customChartProps.onSelectDataPoint({
|
|
293
358
|
MeasureFieldId: measureFieldId,
|
|
294
|
-
Widget: widget.current
|
|
359
|
+
Widget: widget.current,
|
|
360
|
+
MeasureCode: currentWidgetMeasure.MeasureCode,
|
|
361
|
+
Formula: currentWidgetMeasure.Formula,
|
|
362
|
+
GroupById: data === null || data === void 0 ? void 0 : data.GroupById
|
|
295
363
|
});
|
|
296
364
|
};
|
|
365
|
+
|
|
297
366
|
function getRatioComponent() {
|
|
298
367
|
if (!(data !== null && data !== void 0 && data.CompareWithPrevious)) return null;
|
|
299
368
|
return React__default.createElement("div", {
|
|
@@ -302,6 +371,7 @@ var KpiChart = function KpiChart(props) {
|
|
|
302
371
|
className: 'dl-kpi-ratio-text'
|
|
303
372
|
}, data === null || data === void 0 ? void 0 : data.Ratio, " %"));
|
|
304
373
|
}
|
|
374
|
+
|
|
305
375
|
function getArrowComponent() {
|
|
306
376
|
if (!data) return null;
|
|
307
377
|
if ((data === null || data === void 0 ? void 0 : data.Ratio) == 0 || data.Value == data.ComparisonValue || (data.Value == "0" || data.Value == 0) && (data.ComparisonValue == "0" || data.ComparisonValue == 0)) return React__default.createElement("div", {
|
|
@@ -336,6 +406,7 @@ var KpiChart = function KpiChart(props) {
|
|
|
336
406
|
}));
|
|
337
407
|
return null;
|
|
338
408
|
}
|
|
409
|
+
|
|
339
410
|
function getPreviousValueComponent() {
|
|
340
411
|
if (!(data !== null && data !== void 0 && data.CompareWithPrevious)) return null;
|
|
341
412
|
var prevtext = !(data !== null && data !== void 0 && data.ComparisonValue) ? '' : data === null || data === void 0 ? void 0 : data.ComparisonValue;
|
|
@@ -349,6 +420,7 @@ var KpiChart = function KpiChart(props) {
|
|
|
349
420
|
className: "dl-kpi-prev-abbreviationSymbol"
|
|
350
421
|
}, data === null || data === void 0 ? void 0 : data.ComparisonAbbreviationSymbol));
|
|
351
422
|
}
|
|
423
|
+
|
|
352
424
|
function getValueData() {
|
|
353
425
|
if ((data === null || data === void 0 ? void 0 : data.Value) == null) return React__default.createElement("div", {
|
|
354
426
|
className: "dl-kpi-no-data"
|
|
@@ -357,6 +429,7 @@ var KpiChart = function KpiChart(props) {
|
|
|
357
429
|
className: "dl-kpi-value dl-kpi-textTrimming"
|
|
358
430
|
}, data === null || data === void 0 ? void 0 : data.Value);
|
|
359
431
|
}
|
|
432
|
+
|
|
360
433
|
function getValueComponent() {
|
|
361
434
|
return React__default.createElement("div", {
|
|
362
435
|
className: "dl-kpi-sub-container"
|
|
@@ -366,14 +439,16 @@ var KpiChart = function KpiChart(props) {
|
|
|
366
439
|
className: "dl-kpi-unit"
|
|
367
440
|
}, data === null || data === void 0 ? void 0 : data.Unit), getRatioComponent());
|
|
368
441
|
}
|
|
442
|
+
|
|
369
443
|
function getLabel() {
|
|
370
444
|
var labelFormated = getLabelFormatByDateGroupType(data.Label, widget.current, false);
|
|
371
445
|
return React__default.createElement("div", {
|
|
372
446
|
className: "dl-kpi-label-container"
|
|
373
447
|
}, React__default.createElement("span", {
|
|
374
|
-
className: "dl-kpi-label-span"
|
|
448
|
+
className: "dl-kpi-label-span dl-kpi-textTrimming"
|
|
375
449
|
}, labelFormated));
|
|
376
450
|
}
|
|
451
|
+
|
|
377
452
|
return !dataLoaded ? React__default.createElement("div", {
|
|
378
453
|
className: 'dl-full-hight dl-flex-content-center spinner-custome'
|
|
379
454
|
}, React__default.createElement(progressspinner.ProgressSpinner, {
|
|
@@ -385,7 +460,7 @@ var KpiChart = function KpiChart(props) {
|
|
|
385
460
|
animationDuration: "2s"
|
|
386
461
|
})) : !error ? React__default.createElement("div", {
|
|
387
462
|
onClick: kpiClick,
|
|
388
|
-
className: ((_widget$
|
|
463
|
+
className: ((_widget$current4 = widget.current) === null || _widget$current4 === void 0 ? void 0 : _widget$current4.Alighnment) == "Left" ? "dl-kpi-container-click" : "dl-kpi-container-click dl-kpi-center-container"
|
|
389
464
|
}, React__default.createElement("div", {
|
|
390
465
|
className: "dl-kpi-container"
|
|
391
466
|
}, getLabel(), getValueComponent(), getPreviousValueComponent())) : React__default.createElement("div", {
|
|
@@ -405,15 +480,18 @@ var KpiChart = function KpiChart(props) {
|
|
|
405
480
|
var CustomChart = function CustomChart(props) {
|
|
406
481
|
var project = function project() {
|
|
407
482
|
var _props$widget;
|
|
483
|
+
|
|
408
484
|
switch ((_props$widget = props.widget) === null || _props$widget === void 0 ? void 0 : _props$widget.TypeCode) {
|
|
409
485
|
case "kpi":
|
|
410
486
|
return React__default.createElement(KpiChart, {
|
|
411
487
|
customChartProps: props
|
|
412
488
|
});
|
|
489
|
+
|
|
413
490
|
default:
|
|
414
491
|
return React__default.createElement("div", null, "Invalid Type");
|
|
415
492
|
}
|
|
416
493
|
};
|
|
494
|
+
|
|
417
495
|
return React__default.createElement("div", {
|
|
418
496
|
className: "dl-custom-chart-container"
|
|
419
497
|
}, project());
|
|
@@ -431,18 +509,25 @@ function getSeriesPositionColor(position) {
|
|
|
431
509
|
switch (position) {
|
|
432
510
|
case 1:
|
|
433
511
|
return mainBlueColor;
|
|
512
|
+
|
|
434
513
|
case 2:
|
|
435
514
|
return mainGreenColor;
|
|
515
|
+
|
|
436
516
|
case 3:
|
|
437
517
|
return mainYellowColor;
|
|
518
|
+
|
|
438
519
|
case 4:
|
|
439
520
|
return mainTurquoiseColor;
|
|
521
|
+
|
|
440
522
|
case 5:
|
|
441
523
|
return mainPurpleColor;
|
|
524
|
+
|
|
442
525
|
case 6:
|
|
443
526
|
return mainOrangeColor;
|
|
527
|
+
|
|
444
528
|
case 7:
|
|
445
529
|
return mainRedColor;
|
|
530
|
+
|
|
446
531
|
default:
|
|
447
532
|
return null;
|
|
448
533
|
}
|
|
@@ -452,18 +537,22 @@ function buildToolTip(widget, value, seriesName, label, index) {
|
|
|
452
537
|
var padding = widget.TypeCode == 'line' && index > 0 ? 'padding-top: 3px' : '';
|
|
453
538
|
return "\n <div style=\"min-width: 108px;" + padding + "\">\n <div style=\"display: flex;align-items: center;margin-bottom: 6px;\">\n <span style=\"margin: 0; height: 10px; width: 10px; background-color: #A4A4A4; border-radius: 50%; display: inline-block;\"></span>\n <p style=\" margin: 0; margin-left: 4px;font-family: 'Manrope'; font-style: normal;font-weight: 400; font-size: 11px; line-height: 100%; color: #323232; flex: none; order: 1;flex-grow: 0;\"> " + getTooltiplabel(label) + "</p>\n </div>\n <hr style=\"margin: 0;border-top: 1px solid #F0F0F0;\">\n <div style=\"display: flex;align-items: center;margin:0;margin-top: 6px;\">\n <p style=\"margin: 0;font-family: 'Manrope';font-style: normal;font-weight: 400; font-size: 11px;line-height: 100%;color: #A4A4A4;flex: none;order: 0;flex-grow: 0;\"> " + getMeasureType(seriesName) + "</p>\n <p style=\"margin: 0;margin-left: 6px;font-family: 'Manrope';font-style: normal;font-weight: 500;font-size: 11px;line-height: 100%; color: #323232;flex: none; order: 1;flex-grow: 0;\">" + getTooltipValue(value) + "</p>\n " + getTooltipPercentage(widget) + " </div>\n </div>\n ";
|
|
454
539
|
}
|
|
540
|
+
|
|
455
541
|
function getTooltipPercentage(widget) {
|
|
456
542
|
if (widget.TypeCode != "donut" && widget.TypeCode != "pie") return "";
|
|
457
543
|
return "\n <p style=\"margin: 0;margin-left: 2px;font-family: 'Manrope';font-style: normal;font-weight: 500;font-size: 11px;line-height: 100%; color: #A4A4A4;flex: none; order: 1;flex-grow: 0;\">($percentValue)</p>\n ";
|
|
458
544
|
}
|
|
545
|
+
|
|
459
546
|
function getTooltiplabel(value) {
|
|
460
547
|
if (value) return value;
|
|
461
548
|
return '$label';
|
|
462
549
|
}
|
|
550
|
+
|
|
463
551
|
function getTooltipValue(value) {
|
|
464
552
|
if (value) return value;
|
|
465
553
|
return '$dataValue';
|
|
466
554
|
}
|
|
555
|
+
|
|
467
556
|
function getMeasureType(seriesName) {
|
|
468
557
|
if (!seriesName) return "Count:";
|
|
469
558
|
return seriesName.replace(/ .*/, '') + ":";
|
|
@@ -495,6 +584,7 @@ function getSimpleDataSource(chartInfo, seriesMeasures, widget) {
|
|
|
495
584
|
data: buildDataSource(seriesMeasures, widget)
|
|
496
585
|
};
|
|
497
586
|
}
|
|
587
|
+
|
|
498
588
|
function handelNullLabels(seriesMeasures) {
|
|
499
589
|
seriesMeasures.forEach(function (element) {
|
|
500
590
|
element.Values.forEach(function (value) {
|
|
@@ -502,6 +592,7 @@ function handelNullLabels(seriesMeasures) {
|
|
|
502
592
|
});
|
|
503
593
|
});
|
|
504
594
|
}
|
|
595
|
+
|
|
505
596
|
function seriesMeasuresIsEmpty(seriesMeasures) {
|
|
506
597
|
if (!seriesMeasures || seriesMeasures.length == 0) return true;
|
|
507
598
|
var hasValue = false;
|
|
@@ -510,6 +601,7 @@ function seriesMeasuresIsEmpty(seriesMeasures) {
|
|
|
510
601
|
});
|
|
511
602
|
return !hasValue;
|
|
512
603
|
}
|
|
604
|
+
|
|
513
605
|
function buildDataSource(values, widget) {
|
|
514
606
|
var data = [];
|
|
515
607
|
if (!values || !values[0]) return data;
|
|
@@ -520,7 +612,9 @@ function buildDataSource(values, widget) {
|
|
|
520
612
|
label: getLabelFormatByDateGroupType(e.Label, widget, false),
|
|
521
613
|
id: {
|
|
522
614
|
GroupById: e.GroupById,
|
|
523
|
-
MeasureFieldId: series.MeasureFieldId
|
|
615
|
+
MeasureFieldId: series.MeasureFieldId,
|
|
616
|
+
MeasureCode: series.MeasureCode,
|
|
617
|
+
Formula: series.Formula
|
|
524
618
|
},
|
|
525
619
|
tooltext: buildToolTip(widget, null, series.Name, e.Label, 0),
|
|
526
620
|
color: getSeriesPositionColor(index + 1)
|
|
@@ -529,6 +623,7 @@ function buildDataSource(values, widget) {
|
|
|
529
623
|
});
|
|
530
624
|
return data;
|
|
531
625
|
}
|
|
626
|
+
|
|
532
627
|
function buildDataSet(seriesMeasures, widget) {
|
|
533
628
|
var dataSet = [];
|
|
534
629
|
var seriesPosition = 1;
|
|
@@ -538,7 +633,9 @@ function buildDataSet(seriesMeasures, widget) {
|
|
|
538
633
|
value: e.Value,
|
|
539
634
|
id: {
|
|
540
635
|
GroupById: e.GroupById,
|
|
541
|
-
MeasureFieldId: seriesMeasure.MeasureFieldId
|
|
636
|
+
MeasureFieldId: seriesMeasure.MeasureFieldId,
|
|
637
|
+
MeasureCode: seriesMeasure.MeasureCode,
|
|
638
|
+
Formula: seriesMeasure.Formula
|
|
542
639
|
},
|
|
543
640
|
tooltext: buildToolTip(widget, e.Value, seriesMeasure.Name, null, index)
|
|
544
641
|
};
|
|
@@ -559,6 +656,7 @@ function buildDataSet(seriesMeasures, widget) {
|
|
|
559
656
|
});
|
|
560
657
|
return dataSet;
|
|
561
658
|
}
|
|
659
|
+
|
|
562
660
|
function buildStackedDataSet(seriesMeasures, widget) {
|
|
563
661
|
var dataSet = [];
|
|
564
662
|
var seriesPosition = 1;
|
|
@@ -583,11 +681,13 @@ function buildStackedDataSet(seriesMeasures, widget) {
|
|
|
583
681
|
});
|
|
584
682
|
return dataSet;
|
|
585
683
|
}
|
|
684
|
+
|
|
586
685
|
function buildStackedGroupData(secGroup, series, widget) {
|
|
587
686
|
var uniqueGroups = getUniqueGroupOrderdList(series);
|
|
588
687
|
var data = [];
|
|
589
688
|
uniqueGroups.forEach(function (group) {
|
|
590
689
|
var _series$Values$find;
|
|
690
|
+
|
|
591
691
|
data.push({
|
|
592
692
|
value: (_series$Values$find = series.Values.find(function (x) {
|
|
593
693
|
return x.GroupById == group.code && x.GroupByIdSec == secGroup.code;
|
|
@@ -602,6 +702,7 @@ function buildStackedGroupData(secGroup, series, widget) {
|
|
|
602
702
|
});
|
|
603
703
|
return data;
|
|
604
704
|
}
|
|
705
|
+
|
|
605
706
|
function buildCategories(seriesMeasures, widget) {
|
|
606
707
|
var categories = seriesMeasures[0].Values.map(function (e) {
|
|
607
708
|
return {
|
|
@@ -614,6 +715,7 @@ function buildCategories(seriesMeasures, widget) {
|
|
|
614
715
|
});
|
|
615
716
|
return result;
|
|
616
717
|
}
|
|
718
|
+
|
|
617
719
|
function buildStackedCategories(seriesMeasures, widget) {
|
|
618
720
|
var uniqueGroups = getUniqueGroupOrderdList(seriesMeasures[0]);
|
|
619
721
|
var categories = uniqueGroups.map(function (e) {
|
|
@@ -627,6 +729,7 @@ function buildStackedCategories(seriesMeasures, widget) {
|
|
|
627
729
|
});
|
|
628
730
|
return result;
|
|
629
731
|
}
|
|
732
|
+
|
|
630
733
|
function getUniqueGroupOrderdList(series) {
|
|
631
734
|
var uniqueGroups = [];
|
|
632
735
|
series.Values.forEach(function (element) {
|
|
@@ -648,20 +751,26 @@ function BuildFusionChartObject(seriesMeasures, widget) {
|
|
|
648
751
|
case 'bar':
|
|
649
752
|
if (!widget.SecondaryGroupById) return getBarObject(seriesMeasures, widget);
|
|
650
753
|
return getStackedBarObject(seriesMeasures, widget);
|
|
754
|
+
|
|
651
755
|
case 'line':
|
|
652
756
|
if (!widget.SecondaryGroupById) return getLineObject(seriesMeasures, widget);
|
|
653
757
|
return getClusteredLineObject(seriesMeasures, widget);
|
|
758
|
+
|
|
654
759
|
case 'pie':
|
|
655
760
|
return getPieObject(seriesMeasures, widget);
|
|
761
|
+
|
|
656
762
|
case 'donut':
|
|
657
763
|
return getDonutObject(seriesMeasures, widget);
|
|
764
|
+
|
|
658
765
|
case 'column':
|
|
659
766
|
if (!widget.SecondaryGroupById) return getColumnObject(seriesMeasures, widget);
|
|
660
767
|
return getClusteredColumnObject(seriesMeasures, widget);
|
|
768
|
+
|
|
661
769
|
default:
|
|
662
770
|
return {};
|
|
663
771
|
}
|
|
664
772
|
}
|
|
773
|
+
|
|
665
774
|
function getBarObject(seriesMeasures, widget) {
|
|
666
775
|
var chart = getDefaultChartobject();
|
|
667
776
|
chart.type = "scrollbar2d";
|
|
@@ -677,6 +786,7 @@ function getBarObject(seriesMeasures, widget) {
|
|
|
677
786
|
chart.dataSource = getCategoriesBasedDataSource(chartInfo, seriesMeasures, widget);
|
|
678
787
|
return chart;
|
|
679
788
|
}
|
|
789
|
+
|
|
680
790
|
function getStackedBarObject(seriesMeasures, widget) {
|
|
681
791
|
var chart = getDefaultChartobject();
|
|
682
792
|
chart.type = widget.IsStacked ? "scrollstackedbar2d" : "scrollbar2d";
|
|
@@ -692,6 +802,7 @@ function getStackedBarObject(seriesMeasures, widget) {
|
|
|
692
802
|
chart.dataSource = getStackedDataSource(chartInfo, seriesMeasures, widget);
|
|
693
803
|
return chart;
|
|
694
804
|
}
|
|
805
|
+
|
|
695
806
|
function getClusteredColumnObject(seriesMeasures, widget) {
|
|
696
807
|
var chart = getDefaultChartobject();
|
|
697
808
|
chart.type = widget.IsStacked ? "scrollstackedcolumn2d" : "scrollcolumn2d";
|
|
@@ -707,6 +818,7 @@ function getClusteredColumnObject(seriesMeasures, widget) {
|
|
|
707
818
|
chart.dataSource = getStackedDataSource(chartInfo, seriesMeasures, widget);
|
|
708
819
|
return chart;
|
|
709
820
|
}
|
|
821
|
+
|
|
710
822
|
function getClusteredLineObject(seriesMeasures, widget) {
|
|
711
823
|
var chart = getDefaultChartobject();
|
|
712
824
|
chart.type = "msline";
|
|
@@ -722,6 +834,7 @@ function getClusteredLineObject(seriesMeasures, widget) {
|
|
|
722
834
|
chart.dataSource = getStackedDataSource(chartInfo, seriesMeasures, widget);
|
|
723
835
|
return chart;
|
|
724
836
|
}
|
|
837
|
+
|
|
725
838
|
function getLineObject(seriesMeasures, widget) {
|
|
726
839
|
var chart = getDefaultChartobject();
|
|
727
840
|
chart.type = "scrollline2d";
|
|
@@ -742,6 +855,7 @@ function getLineObject(seriesMeasures, widget) {
|
|
|
742
855
|
chart.dataSource = getCategoriesBasedDataSource(chartInfo, seriesMeasures, widget);
|
|
743
856
|
return chart;
|
|
744
857
|
}
|
|
858
|
+
|
|
745
859
|
function getDonutObject(seriesMeasures, widget) {
|
|
746
860
|
var chart = getDefaultChartobject();
|
|
747
861
|
chart.type = "doughnut2d";
|
|
@@ -756,6 +870,7 @@ function getDonutObject(seriesMeasures, widget) {
|
|
|
756
870
|
chart.dataSource = getSimpleDataSource(chartInfo, seriesMeasures, widget);
|
|
757
871
|
return chart;
|
|
758
872
|
}
|
|
873
|
+
|
|
759
874
|
function getPieObject(seriesMeasures, widget) {
|
|
760
875
|
var chart = getDefaultChartobject();
|
|
761
876
|
chart.type = "pie2d";
|
|
@@ -770,6 +885,7 @@ function getPieObject(seriesMeasures, widget) {
|
|
|
770
885
|
chartInfo.legendPosition = getWidgetLegendPosition(widget);
|
|
771
886
|
return chart;
|
|
772
887
|
}
|
|
888
|
+
|
|
773
889
|
function getColumnObject(seriesMeasures, widget) {
|
|
774
890
|
var chart = getDefaultChartobject();
|
|
775
891
|
chart.type = "scrollcombidy2d";
|
|
@@ -789,6 +905,7 @@ function getColumnObject(seriesMeasures, widget) {
|
|
|
789
905
|
chartInfo.legendPosition = getWidgetLegendPosition(widget);
|
|
790
906
|
return chart;
|
|
791
907
|
}
|
|
908
|
+
|
|
792
909
|
function setLineDash(chartInfo) {
|
|
793
910
|
chartInfo.divLineDashed = "1";
|
|
794
911
|
chartInfo.divLineDashLen = "5";
|
|
@@ -797,6 +914,7 @@ function setLineDash(chartInfo) {
|
|
|
797
914
|
chartInfo.divLineAlpha = "100";
|
|
798
915
|
chartInfo.divLineThickness = "1";
|
|
799
916
|
}
|
|
917
|
+
|
|
800
918
|
function getDefaultChartobject() {
|
|
801
919
|
var chart = {};
|
|
802
920
|
chart.type = "column2d";
|
|
@@ -805,6 +923,7 @@ function getDefaultChartobject() {
|
|
|
805
923
|
chart.dataFormat = "json";
|
|
806
924
|
return chart;
|
|
807
925
|
}
|
|
926
|
+
|
|
808
927
|
function getDefaultChartInfo(widget) {
|
|
809
928
|
var chart = {};
|
|
810
929
|
chart.theme = "fusion";
|
|
@@ -838,15 +957,19 @@ function getDefaultChartInfo(widget) {
|
|
|
838
957
|
chart.showValues = widget.ShowValue ? "1" : '0';
|
|
839
958
|
chart.valuePosition = widget.ShowValue && widget.ValuePosition ? widget.ValuePosition : 'Outside';
|
|
840
959
|
var isValuePositionInside = widget.ShowValue && widget.ValuePosition && widget.ValuePosition.toLowerCase() == 'inside';
|
|
960
|
+
|
|
841
961
|
if (widget.ShowValue && widget.ValuePosition && isColumnOrBarChart(widget)) {
|
|
842
962
|
chart.placeValuesInside = widget.ValuePosition.toLowerCase() == 'inside' ? "1" : "0";
|
|
843
963
|
}
|
|
964
|
+
|
|
844
965
|
if (widget.IsStacked && isValuePositionInside && isColumnOrBarChart(widget)) {
|
|
845
966
|
chart.minPlotHeightForValue = "15";
|
|
846
967
|
}
|
|
968
|
+
|
|
847
969
|
if (isValuePositionInside && isPieOrDonutChart(widget)) {
|
|
848
970
|
chart.minAngleForValue = "15";
|
|
849
971
|
}
|
|
972
|
+
|
|
850
973
|
chart.enableSlicing = "0";
|
|
851
974
|
chart.enableRotation = "0";
|
|
852
975
|
chart.chartTopMargin = "10";
|
|
@@ -860,24 +983,29 @@ function getDefaultChartInfo(widget) {
|
|
|
860
983
|
chart.plotColorinTooltip = "0";
|
|
861
984
|
return chart;
|
|
862
985
|
}
|
|
986
|
+
|
|
863
987
|
function setPieDonutLegends(chart, widget) {
|
|
864
988
|
chart.showLabels = widget.LabelsPosition == 'InLegend' ? '0' : '1';
|
|
865
989
|
chart.showLegend = widget.ShowLegend ? '1' : '0';
|
|
866
990
|
setOnChartLegend(chart, widget);
|
|
867
991
|
setChartInLegend(chart, widget);
|
|
868
992
|
}
|
|
993
|
+
|
|
869
994
|
function getWidgetLegendPosition(widget) {
|
|
870
995
|
if (widget.LegendPosition) return widget.LegendPosition;
|
|
871
996
|
return widget.TypeCode == 'pie' || widget.TypeCode == 'donut' ? "right" : "bottom";
|
|
872
997
|
}
|
|
998
|
+
|
|
873
999
|
function isColumnOrBarChart(widget) {
|
|
874
1000
|
if (!widget) return false;
|
|
875
1001
|
return widget.TypeCode == 'column' || widget.TypeCode == 'bar';
|
|
876
1002
|
}
|
|
1003
|
+
|
|
877
1004
|
function isPieOrDonutChart(widget) {
|
|
878
1005
|
if (!widget) return false;
|
|
879
1006
|
return widget.TypeCode == 'pie' || widget.TypeCode == 'donut';
|
|
880
1007
|
}
|
|
1008
|
+
|
|
881
1009
|
function setOnChartLegend(chart, widget) {
|
|
882
1010
|
if (widget.LabelsPosition != 'InLegend') return;
|
|
883
1011
|
chart.legendPosition = getWidgetLegendPosition(widget);
|
|
@@ -890,12 +1018,15 @@ function setOnChartLegend(chart, widget) {
|
|
|
890
1018
|
chart.showPercentValues = "0";
|
|
891
1019
|
chart.chartRightMargin = "20";
|
|
892
1020
|
}
|
|
1021
|
+
|
|
893
1022
|
function setChartInLegend(chart, widget) {
|
|
894
1023
|
if (widget.LabelsPosition == 'InLegend') return;
|
|
895
1024
|
chart.pieRadius = "70%";
|
|
896
1025
|
}
|
|
1026
|
+
|
|
897
1027
|
function setDualyAxis(chartInfo, widget, seriesMeasures) {
|
|
898
1028
|
var _seriesMeasures$, _seriesMeasures$2;
|
|
1029
|
+
|
|
899
1030
|
chartInfo.showSecondaryLimits = "0";
|
|
900
1031
|
chartInfo.showDivLineSecondaryValue = "0";
|
|
901
1032
|
if (!widget) return;
|
|
@@ -910,6 +1041,7 @@ function setDualyAxis(chartInfo, widget, seriesMeasures) {
|
|
|
910
1041
|
chartInfo.pYAxisName = getTitle((_seriesMeasures$ = seriesMeasures[0]) === null || _seriesMeasures$ === void 0 ? void 0 : _seriesMeasures$.Name, textLength);
|
|
911
1042
|
chartInfo.sYAxisname = getTitle((_seriesMeasures$2 = seriesMeasures[1]) === null || _seriesMeasures$2 === void 0 ? void 0 : _seriesMeasures$2.Name, textLength);
|
|
912
1043
|
}
|
|
1044
|
+
|
|
913
1045
|
function getTitle(text, maxLenght) {
|
|
914
1046
|
var textLenght = text.length;
|
|
915
1047
|
if (textLenght >= maxLenght) return text.replace(/\s+/g, ' ');
|
|
@@ -924,15 +1056,20 @@ var FusionChartHelper = /*#__PURE__*/function () {
|
|
|
924
1056
|
this.chart = chart;
|
|
925
1057
|
this.widget = widget;
|
|
926
1058
|
}
|
|
1059
|
+
|
|
927
1060
|
var _proto = FusionChartHelper.prototype;
|
|
1061
|
+
|
|
928
1062
|
_proto.getPieRadius = function getPieRadius() {
|
|
929
1063
|
return this.pieRadius;
|
|
930
1064
|
};
|
|
1065
|
+
|
|
931
1066
|
_proto.getLegendWidth = function getLegendWidth() {
|
|
932
1067
|
return this.legendWidth;
|
|
933
1068
|
};
|
|
1069
|
+
|
|
934
1070
|
_proto.trimChartLabels = function trimChartLabels(chartWidth, chartHeight) {
|
|
935
1071
|
var _this$chart;
|
|
1072
|
+
|
|
936
1073
|
if (!this.widget || this.widget.TypeCode != "pie" && this.widget.TypeCode != "donut") return;
|
|
937
1074
|
if (!this.chart) return;
|
|
938
1075
|
var dataSource = (_this$chart = this.chart) === null || _this$chart === void 0 ? void 0 : _this$chart.dataSource;
|
|
@@ -940,6 +1077,7 @@ var FusionChartHelper = /*#__PURE__*/function () {
|
|
|
940
1077
|
var chartInfo = dataSource.chart;
|
|
941
1078
|
if (this.widget.LabelsPosition == 'InLegend') this.handleLegendWidth(chartWidth, chartHeight, chartInfo);else this.handlePieRadius(chartHeight, chartInfo);
|
|
942
1079
|
};
|
|
1080
|
+
|
|
943
1081
|
_proto.handlePieRadius = function handlePieRadius(chartHeight, chartInfo) {
|
|
944
1082
|
var chartMinumunHeight = 236;
|
|
945
1083
|
var startPercantage = 70;
|
|
@@ -948,23 +1086,27 @@ var FusionChartHelper = /*#__PURE__*/function () {
|
|
|
948
1086
|
if (step < 0) step = 0;
|
|
949
1087
|
var pieRadius = startPercantage - step * 10;
|
|
950
1088
|
if (pieRadius < 60) pieRadius = 60;
|
|
1089
|
+
|
|
951
1090
|
if (window.innerWidth > 1700) {
|
|
952
1091
|
this.pieRadius = pieRadius;
|
|
953
1092
|
chartInfo.pieRadius = pieRadius + "%";
|
|
954
1093
|
return;
|
|
955
1094
|
}
|
|
1095
|
+
|
|
956
1096
|
var reducedValue = Math.floor((1700 - window.innerWidth) / 100) + 1;
|
|
957
1097
|
if (reducedValue > 5) reducedValue = 5;
|
|
958
1098
|
pieRadius = pieRadius - reducedValue * 5;
|
|
959
1099
|
this.pieRadius = pieRadius;
|
|
960
1100
|
chartInfo.pieRadius = pieRadius + "%";
|
|
961
1101
|
};
|
|
1102
|
+
|
|
962
1103
|
_proto.handleLegendWidth = function handleLegendWidth(chartWidth, chartHeight, chartInfo) {
|
|
963
1104
|
if (chartWidth < 730) chartInfo.legendWidth = "200";
|
|
964
1105
|
if (chartWidth >= 730) chartInfo.legendWidth = "400";
|
|
965
1106
|
if (chartWidth >= 1000) chartInfo.legendWidth = "500";
|
|
966
1107
|
this.legendWidth = chartInfo.legendWidth;
|
|
967
1108
|
};
|
|
1109
|
+
|
|
968
1110
|
return FusionChartHelper;
|
|
969
1111
|
}();
|
|
970
1112
|
|
|
@@ -975,18 +1117,23 @@ FusionCharts.options['license']({
|
|
|
975
1117
|
});
|
|
976
1118
|
var FusionChart = React.forwardRef(function (props, comRef) {
|
|
977
1119
|
var _useState = React.useState(false),
|
|
978
|
-
|
|
979
|
-
|
|
1120
|
+
dataLoaded = _useState[0],
|
|
1121
|
+
setDataLoaded = _useState[1];
|
|
1122
|
+
|
|
980
1123
|
var _useState2 = React.useState(),
|
|
981
|
-
|
|
982
|
-
|
|
1124
|
+
error = _useState2[0],
|
|
1125
|
+
setError = _useState2[1];
|
|
1126
|
+
|
|
983
1127
|
var widget = React.useRef();
|
|
1128
|
+
|
|
984
1129
|
var _useState3 = React.useState({}),
|
|
985
|
-
|
|
986
|
-
|
|
1130
|
+
args = _useState3[0],
|
|
1131
|
+
setArgs = _useState3[1];
|
|
1132
|
+
|
|
987
1133
|
var _useState4 = React.useState(),
|
|
988
|
-
|
|
989
|
-
|
|
1134
|
+
fChart = _useState4[0],
|
|
1135
|
+
setFchart = _useState4[1];
|
|
1136
|
+
|
|
990
1137
|
var id = (Math.random() + 1).toString(36).substring(7);
|
|
991
1138
|
var progressRef = React.useRef(null);
|
|
992
1139
|
var fusionRef = React.useRef(null);
|
|
@@ -999,12 +1146,14 @@ var FusionChart = React.forwardRef(function (props, comRef) {
|
|
|
999
1146
|
}, []);
|
|
1000
1147
|
React.useEffect(function () {
|
|
1001
1148
|
var timeout;
|
|
1149
|
+
|
|
1002
1150
|
var handleResize = function handleResize() {
|
|
1003
1151
|
clearTimeout(timeout);
|
|
1004
1152
|
timeout = setTimeout(function () {
|
|
1005
1153
|
HandleSizeChange();
|
|
1006
1154
|
}, 200);
|
|
1007
1155
|
};
|
|
1156
|
+
|
|
1008
1157
|
window.addEventListener("resize", handleResize);
|
|
1009
1158
|
return function () {
|
|
1010
1159
|
return window.removeEventListener("resize", handleResize);
|
|
@@ -1017,11 +1166,14 @@ var FusionChart = React.forwardRef(function (props, comRef) {
|
|
|
1017
1166
|
}
|
|
1018
1167
|
};
|
|
1019
1168
|
});
|
|
1169
|
+
|
|
1020
1170
|
var HandleSizeChange = function HandleSizeChange() {
|
|
1021
1171
|
var _widget$current, _widget$current2;
|
|
1172
|
+
|
|
1022
1173
|
if (!widget || ((_widget$current = widget.current) === null || _widget$current === void 0 ? void 0 : _widget$current.TypeCode) != "pie" && ((_widget$current2 = widget.current) === null || _widget$current2 === void 0 ? void 0 : _widget$current2.TypeCode) != "donut") return;
|
|
1023
1174
|
setTimeout(function () {
|
|
1024
1175
|
var _fusionChartHelper$cu, _fusionChartHelper$cu2, _fusionChartHelper$cu3, _fusionRef$current, _fusionRef$current2, _widget$current3, _fusionChartHelper$cu4, _widget$current4, _fusionChartHelper$cu5;
|
|
1176
|
+
|
|
1025
1177
|
var oldPieRadius = fusionChartHelper === null || fusionChartHelper === void 0 ? void 0 : (_fusionChartHelper$cu = fusionChartHelper.current) === null || _fusionChartHelper$cu === void 0 ? void 0 : _fusionChartHelper$cu.getPieRadius();
|
|
1026
1178
|
var oldLegendWidth = fusionChartHelper === null || fusionChartHelper === void 0 ? void 0 : (_fusionChartHelper$cu2 = fusionChartHelper.current) === null || _fusionChartHelper$cu2 === void 0 ? void 0 : _fusionChartHelper$cu2.getLegendWidth();
|
|
1027
1179
|
fusionChartHelper === null || fusionChartHelper === void 0 ? void 0 : (_fusionChartHelper$cu3 = fusionChartHelper.current) === null || _fusionChartHelper$cu3 === void 0 ? void 0 : _fusionChartHelper$cu3.trimChartLabels(fusionRef === null || fusionRef === void 0 ? void 0 : (_fusionRef$current = fusionRef.current) === null || _fusionRef$current === void 0 ? void 0 : _fusionRef$current.offsetWidth, fusionRef === null || fusionRef === void 0 ? void 0 : (_fusionRef$current2 = fusionRef.current) === null || _fusionRef$current2 === void 0 ? void 0 : _fusionRef$current2.offsetHeight);
|
|
@@ -1033,51 +1185,65 @@ var FusionChart = React.forwardRef(function (props, comRef) {
|
|
|
1033
1185
|
}, 100);
|
|
1034
1186
|
}, 100);
|
|
1035
1187
|
};
|
|
1188
|
+
|
|
1036
1189
|
var RefreshData = function RefreshData() {
|
|
1037
1190
|
if (Session.Tenant == 0) {
|
|
1038
1191
|
handleData(null);
|
|
1039
1192
|
return;
|
|
1040
1193
|
}
|
|
1194
|
+
|
|
1041
1195
|
var dashboardAnalyticsService = new DashboardAnalyticsService();
|
|
1196
|
+
|
|
1042
1197
|
var postWidget = _extends({}, widget.current);
|
|
1198
|
+
|
|
1043
1199
|
postWidget.onChange = undefined;
|
|
1044
1200
|
dashboardAnalyticsService.getData(postWidget).then(function (result) {
|
|
1045
1201
|
handleData(result === null || result === void 0 ? void 0 : result.data);
|
|
1046
1202
|
}, function (error) {
|
|
1047
1203
|
var _error$response, _error$response$data, _error$response2, _error$response2$data;
|
|
1204
|
+
|
|
1048
1205
|
console.log('error', error);
|
|
1049
1206
|
if (error !== null && error !== void 0 && (_error$response = error.response) !== null && _error$response !== void 0 && (_error$response$data = _error$response.data) !== null && _error$response$data !== void 0 && _error$response$data.ErrorMessage) setError(error === null || error === void 0 ? void 0 : (_error$response2 = error.response) === null || _error$response2 === void 0 ? void 0 : (_error$response2$data = _error$response2.data) === null || _error$response2$data === void 0 ? void 0 : _error$response2$data.ErrorMessage);else setError(error.message);
|
|
1050
1207
|
setDataLoaded(true);
|
|
1051
1208
|
});
|
|
1052
1209
|
};
|
|
1210
|
+
|
|
1053
1211
|
var handleData = function handleData(data) {
|
|
1054
1212
|
var _progressRef$current, _progressRef$current2;
|
|
1213
|
+
|
|
1055
1214
|
var chart = BuildFusionChartObject(data, widget.current);
|
|
1056
1215
|
fusionChartHelper.current = new FusionChartHelper(widget.current, chart);
|
|
1057
1216
|
fusionChartHelper === null || fusionChartHelper === void 0 ? void 0 : fusionChartHelper.current.trimChartLabels(progressRef === null || progressRef === void 0 ? void 0 : (_progressRef$current = progressRef.current) === null || _progressRef$current === void 0 ? void 0 : _progressRef$current.offsetWidth, progressRef === null || progressRef === void 0 ? void 0 : (_progressRef$current2 = progressRef.current) === null || _progressRef$current2 === void 0 ? void 0 : _progressRef$current2.offsetHeight);
|
|
1058
1217
|
setArgs(chart);
|
|
1059
1218
|
setDataLoaded(true);
|
|
1060
1219
|
};
|
|
1220
|
+
|
|
1061
1221
|
var dataplotClick = function dataplotClick(eventObj, dataObj) {
|
|
1062
1222
|
props.onSelectDataPoint({
|
|
1063
1223
|
GroupById: dataObj.id.groupbyid,
|
|
1064
1224
|
MeasureFieldId: dataObj.id.measurefieldid,
|
|
1225
|
+
MeasureCode: dataObj.id.measurecode,
|
|
1226
|
+
Formula: dataObj.id.formula,
|
|
1065
1227
|
Widget: widget.current,
|
|
1066
1228
|
GroupByIdSec: dataObj.id.groupbyidsec
|
|
1067
1229
|
});
|
|
1068
1230
|
};
|
|
1231
|
+
|
|
1069
1232
|
var renderComplete = function renderComplete(chart) {
|
|
1070
1233
|
setFchart(chart);
|
|
1071
1234
|
};
|
|
1235
|
+
|
|
1072
1236
|
var drawComplete = function drawComplete(event) {};
|
|
1237
|
+
|
|
1073
1238
|
var _useResizeObserver = useResizeObserver({
|
|
1074
|
-
|
|
1075
|
-
|
|
1239
|
+
onResize: function onResize(_ref) {
|
|
1240
|
+
var width = _ref.width,
|
|
1076
1241
|
height = _ref.height;
|
|
1077
|
-
|
|
1078
|
-
|
|
1079
|
-
|
|
1080
|
-
|
|
1242
|
+
fChart === null || fChart === void 0 ? void 0 : fChart.resizeTo(width, height);
|
|
1243
|
+
}
|
|
1244
|
+
}),
|
|
1245
|
+
ref = _useResizeObserver.ref;
|
|
1246
|
+
|
|
1081
1247
|
return !dataLoaded ? React__default.createElement("div", {
|
|
1082
1248
|
ref: progressRef,
|
|
1083
1249
|
className: 'dl-full-hight dl-flex-content-center spinner-custome'
|
|
@@ -1118,20 +1284,24 @@ var isNullOrUndefined = function isNullOrUndefined(val) {
|
|
|
1118
1284
|
};
|
|
1119
1285
|
|
|
1120
1286
|
var _path$1;
|
|
1287
|
+
|
|
1121
1288
|
function _extends$2() {
|
|
1122
1289
|
_extends$2 = Object.assign ? Object.assign.bind() : function (target) {
|
|
1123
1290
|
for (var i = 1; i < arguments.length; i++) {
|
|
1124
1291
|
var source = arguments[i];
|
|
1292
|
+
|
|
1125
1293
|
for (var key in source) {
|
|
1126
1294
|
if (Object.prototype.hasOwnProperty.call(source, key)) {
|
|
1127
1295
|
target[key] = source[key];
|
|
1128
1296
|
}
|
|
1129
1297
|
}
|
|
1130
1298
|
}
|
|
1299
|
+
|
|
1131
1300
|
return target;
|
|
1132
1301
|
};
|
|
1133
1302
|
return _extends$2.apply(this, arguments);
|
|
1134
1303
|
}
|
|
1304
|
+
|
|
1135
1305
|
function SvgDeleteIcon(props) {
|
|
1136
1306
|
return /*#__PURE__*/React.createElement("svg", _extends$2({
|
|
1137
1307
|
viewBox: "0 0 20 20",
|
|
@@ -1144,20 +1314,24 @@ function SvgDeleteIcon(props) {
|
|
|
1144
1314
|
}
|
|
1145
1315
|
|
|
1146
1316
|
var _path$2;
|
|
1317
|
+
|
|
1147
1318
|
function _extends$3() {
|
|
1148
1319
|
_extends$3 = Object.assign ? Object.assign.bind() : function (target) {
|
|
1149
1320
|
for (var i = 1; i < arguments.length; i++) {
|
|
1150
1321
|
var source = arguments[i];
|
|
1322
|
+
|
|
1151
1323
|
for (var key in source) {
|
|
1152
1324
|
if (Object.prototype.hasOwnProperty.call(source, key)) {
|
|
1153
1325
|
target[key] = source[key];
|
|
1154
1326
|
}
|
|
1155
1327
|
}
|
|
1156
1328
|
}
|
|
1329
|
+
|
|
1157
1330
|
return target;
|
|
1158
1331
|
};
|
|
1159
1332
|
return _extends$3.apply(this, arguments);
|
|
1160
1333
|
}
|
|
1334
|
+
|
|
1161
1335
|
function SvgEditIcon(props) {
|
|
1162
1336
|
return /*#__PURE__*/React.createElement("svg", _extends$3({
|
|
1163
1337
|
viewBox: "0 0 20 20",
|
|
@@ -1171,24 +1345,33 @@ function SvgEditIcon(props) {
|
|
|
1171
1345
|
|
|
1172
1346
|
var WidgetCard = React.forwardRef(function (props, comRef) {
|
|
1173
1347
|
var _widget$current2, _widget$current3, _widget$current4, _widget$current5, _widget$current6, _widget$current7, _widget$current8;
|
|
1348
|
+
|
|
1174
1349
|
var widget = React.useRef();
|
|
1350
|
+
|
|
1175
1351
|
var _useState = React.useState(false),
|
|
1176
|
-
|
|
1177
|
-
|
|
1352
|
+
isLoading = _useState[0],
|
|
1353
|
+
setIsLoading = _useState[1];
|
|
1354
|
+
|
|
1178
1355
|
var _useState2 = React.useState(false),
|
|
1179
|
-
|
|
1180
|
-
|
|
1356
|
+
isWidgetHovered = _useState2[0],
|
|
1357
|
+
setIsWidgetHovered = _useState2[1];
|
|
1358
|
+
|
|
1181
1359
|
var _useState3 = React.useState(false),
|
|
1182
|
-
|
|
1360
|
+
showTooltip = _useState3[1];
|
|
1361
|
+
|
|
1183
1362
|
var fusionChartRef = React.useRef(null);
|
|
1363
|
+
|
|
1184
1364
|
var editWidget = function editWidget() {
|
|
1185
1365
|
props.editBtnClicked(widget.current);
|
|
1186
1366
|
};
|
|
1367
|
+
|
|
1187
1368
|
React.useEffect(function () {
|
|
1188
1369
|
var _props$dataBinding;
|
|
1370
|
+
|
|
1189
1371
|
widget.current = props.widget;
|
|
1190
1372
|
(_props$dataBinding = props.dataBinding) === null || _props$dataBinding === void 0 ? void 0 : _props$dataBinding.onEditWidget.subscribe(function (e) {
|
|
1191
1373
|
var _widget$current;
|
|
1374
|
+
|
|
1192
1375
|
if ((e === null || e === void 0 ? void 0 : e.key) != ((_widget$current = widget.current) === null || _widget$current === void 0 ? void 0 : _widget$current.key)) return;
|
|
1193
1376
|
setIsLoading(true);
|
|
1194
1377
|
widget.current = _extends({}, e);
|
|
@@ -1199,19 +1382,24 @@ var WidgetCard = React.forwardRef(function (props, comRef) {
|
|
|
1199
1382
|
return {
|
|
1200
1383
|
onResizeFinish: function onResizeFinish() {
|
|
1201
1384
|
var _fusionChartRef$curre;
|
|
1385
|
+
|
|
1202
1386
|
fusionChartRef === null || fusionChartRef === void 0 ? void 0 : (_fusionChartRef$curre = fusionChartRef.current) === null || _fusionChartRef$curre === void 0 ? void 0 : _fusionChartRef$curre.onResizeFinish();
|
|
1203
1387
|
}
|
|
1204
1388
|
};
|
|
1205
1389
|
});
|
|
1390
|
+
|
|
1206
1391
|
var getCSSPropertyValue = function getCSSPropertyValue(widgetData, propName, propUnit, propDefaultVal) {
|
|
1207
1392
|
if (propUnit === void 0) {
|
|
1208
1393
|
propUnit = "";
|
|
1209
1394
|
}
|
|
1395
|
+
|
|
1210
1396
|
if (propDefaultVal === void 0) {
|
|
1211
1397
|
propDefaultVal = "";
|
|
1212
1398
|
}
|
|
1399
|
+
|
|
1213
1400
|
return widgetData && propName && !isNullOrUndefined(widgetData[propName]) ? widgetData[propName] + propUnit : propDefaultVal || "";
|
|
1214
1401
|
};
|
|
1402
|
+
|
|
1215
1403
|
return React__default.createElement("div", {
|
|
1216
1404
|
className: "dl-panel",
|
|
1217
1405
|
key: props.el.i,
|
|
@@ -1267,6 +1455,7 @@ var WidgetCard = React.forwardRef(function (props, comRef) {
|
|
|
1267
1455
|
}), React__default.createElement(SvgDeleteIcon, {
|
|
1268
1456
|
onClick: function onClick() {
|
|
1269
1457
|
var _props$widget;
|
|
1458
|
+
|
|
1270
1459
|
return props.deleteBtnClicked((_props$widget = props.widget) === null || _props$widget === void 0 ? void 0 : _props$widget.key);
|
|
1271
1460
|
}
|
|
1272
1461
|
})) : null), React__default.createElement("div", {
|
|
@@ -1278,8 +1467,10 @@ var WidgetCard = React.forwardRef(function (props, comRef) {
|
|
|
1278
1467
|
})), React__default.createElement("div", {
|
|
1279
1468
|
className: "dl-dashboard-widget"
|
|
1280
1469
|
}, " ", GetChartComponent(), " "));
|
|
1470
|
+
|
|
1281
1471
|
function GetChartComponent() {
|
|
1282
1472
|
var _widget$current9, _widget$current10;
|
|
1473
|
+
|
|
1283
1474
|
if (isLoading || !((_widget$current9 = widget.current) !== null && _widget$current9 !== void 0 && _widget$current9.TypeCode)) return null;
|
|
1284
1475
|
if (((_widget$current10 = widget.current) === null || _widget$current10 === void 0 ? void 0 : _widget$current10.TypeCode) == "kpi") return React__default.createElement(CustomChart, {
|
|
1285
1476
|
dataBinding: props.dataBinding,
|
|
@@ -1302,32 +1493,40 @@ function deepClone(obj) {
|
|
|
1302
1493
|
}
|
|
1303
1494
|
|
|
1304
1495
|
var ResponsiveReactGridLayout = reactGridLayout.WidthProvider(reactGridLayout.Responsive);
|
|
1496
|
+
|
|
1305
1497
|
var DashboardDesigner = function DashboardDesigner(props) {
|
|
1306
1498
|
var array12 = Array.from({
|
|
1307
1499
|
length: 12
|
|
1308
1500
|
}).fill(null);
|
|
1309
1501
|
var minimumPlaceholderRowsCount = 12;
|
|
1502
|
+
|
|
1310
1503
|
var _useState = React.useState({
|
|
1311
|
-
|
|
1312
|
-
|
|
1313
|
-
|
|
1314
|
-
|
|
1504
|
+
lg: []
|
|
1505
|
+
}),
|
|
1506
|
+
layouts = _useState[0],
|
|
1507
|
+
setLayouts = _useState[1];
|
|
1508
|
+
|
|
1315
1509
|
var _useState2 = React.useState(Array.from({
|
|
1316
|
-
|
|
1317
|
-
|
|
1318
|
-
|
|
1319
|
-
|
|
1510
|
+
length: minimumPlaceholderRowsCount
|
|
1511
|
+
}).fill(null)),
|
|
1512
|
+
placeholderRowsArray = _useState2[0],
|
|
1513
|
+
setplaceholderRowsArray = _useState2[1];
|
|
1514
|
+
|
|
1320
1515
|
var _useState3 = React.useState(undefined),
|
|
1321
|
-
|
|
1516
|
+
dateFilter = _useState3[0];
|
|
1517
|
+
|
|
1322
1518
|
var _useState4 = React.useState(false),
|
|
1323
|
-
|
|
1324
|
-
|
|
1519
|
+
isInEditMode = _useState4[0],
|
|
1520
|
+
setisInEditMode = _useState4[1];
|
|
1521
|
+
|
|
1325
1522
|
var widgetsDictionaryRef = React.useRef({});
|
|
1523
|
+
|
|
1326
1524
|
var _useState5 = React.useState({
|
|
1327
|
-
|
|
1328
|
-
|
|
1329
|
-
|
|
1330
|
-
|
|
1525
|
+
lg: []
|
|
1526
|
+
}),
|
|
1527
|
+
widgets = _useState5[0],
|
|
1528
|
+
setWidgets = _useState5[1];
|
|
1529
|
+
|
|
1331
1530
|
var gridLayoutComponent = React.useRef(null);
|
|
1332
1531
|
var entered = React.useRef(false);
|
|
1333
1532
|
var widgetCardRef = React.useRef([]);
|
|
@@ -1336,12 +1535,14 @@ var DashboardDesigner = function DashboardDesigner(props) {
|
|
|
1336
1535
|
}, [props.Widgetlayouts]);
|
|
1337
1536
|
React.useEffect(function () {
|
|
1338
1537
|
var _props$dataBinding;
|
|
1538
|
+
|
|
1339
1539
|
(_props$dataBinding = props.dataBinding) === null || _props$dataBinding === void 0 ? void 0 : _props$dataBinding.onDeleteWidgetConfirmed.subscribe(function (deleteProps) {
|
|
1340
1540
|
if (deleteProps) {
|
|
1341
1541
|
deletePanel(deleteProps);
|
|
1342
1542
|
}
|
|
1343
1543
|
});
|
|
1344
1544
|
}, []);
|
|
1545
|
+
|
|
1345
1546
|
var FillLayout = function FillLayout(dashboardLayouts) {
|
|
1346
1547
|
var clone = deepClone(dashboardLayouts);
|
|
1347
1548
|
var layout = createLayout(clone);
|
|
@@ -1350,12 +1551,14 @@ var DashboardDesigner = function DashboardDesigner(props) {
|
|
|
1350
1551
|
setLayouts(layout);
|
|
1351
1552
|
UpdatePlaceholderDimensions(layout);
|
|
1352
1553
|
};
|
|
1554
|
+
|
|
1353
1555
|
var FillWidgetDictionary = function FillWidgetDictionary(clone) {
|
|
1354
1556
|
for (var _iterator = _createForOfIteratorHelperLoose(clone.lg), _step; !(_step = _iterator()).done;) {
|
|
1355
1557
|
var item = _step.value;
|
|
1356
1558
|
widgetsDictionaryRef.current[item.key] = item;
|
|
1357
1559
|
}
|
|
1358
1560
|
};
|
|
1561
|
+
|
|
1359
1562
|
var createLayout = function createLayout(dashboardLayouts) {
|
|
1360
1563
|
var layout = {
|
|
1361
1564
|
lg: []
|
|
@@ -1367,33 +1570,42 @@ var DashboardDesigner = function DashboardDesigner(props) {
|
|
|
1367
1570
|
});
|
|
1368
1571
|
return layout;
|
|
1369
1572
|
};
|
|
1573
|
+
|
|
1370
1574
|
React.useEffect(function () {
|
|
1371
1575
|
setisInEditMode(props.editMode);
|
|
1372
1576
|
}, [props.editMode]);
|
|
1577
|
+
|
|
1373
1578
|
function onLayoutChange(layout, changedLayouts) {
|
|
1374
1579
|
UpdateWidget(changedLayouts);
|
|
1375
1580
|
setLayouts(changedLayouts);
|
|
1376
1581
|
UpdatePlaceholderDimensions(changedLayouts);
|
|
1582
|
+
|
|
1377
1583
|
if (entered.current == false) {
|
|
1378
1584
|
entered.current = true;
|
|
1379
1585
|
return;
|
|
1380
1586
|
}
|
|
1587
|
+
|
|
1381
1588
|
props.onLayoutChange(changedLayouts);
|
|
1382
1589
|
}
|
|
1590
|
+
|
|
1383
1591
|
function onResizeStop(event, oldItem) {
|
|
1384
1592
|
var _widgetCardRef$curren, _widgetCardRef$curren2;
|
|
1593
|
+
|
|
1385
1594
|
widgetCardRef === null || widgetCardRef === void 0 ? void 0 : (_widgetCardRef$curren = widgetCardRef.current) === null || _widgetCardRef$curren === void 0 ? void 0 : (_widgetCardRef$curren2 = _widgetCardRef$curren.find(function (x) {
|
|
1386
1595
|
return x.i == oldItem.i;
|
|
1387
1596
|
})) === null || _widgetCardRef$curren2 === void 0 ? void 0 : _widgetCardRef$curren2.ref.onResizeFinish(widgetsDictionaryRef.current[oldItem.i].key);
|
|
1388
1597
|
}
|
|
1598
|
+
|
|
1389
1599
|
function UpdateWidget(changedLayouts) {
|
|
1390
1600
|
for (var _iterator2 = _createForOfIteratorHelperLoose(changedLayouts.lg), _step2; !(_step2 = _iterator2()).done;) {
|
|
1391
1601
|
var item = _step2.value;
|
|
1602
|
+
|
|
1392
1603
|
if (widgetsDictionaryRef.current[item.i]) {
|
|
1393
1604
|
widgetsDictionaryRef.current[item.i].Layout = item;
|
|
1394
1605
|
}
|
|
1395
1606
|
}
|
|
1396
1607
|
}
|
|
1608
|
+
|
|
1397
1609
|
var confirmDeleteWidget = function confirmDeleteWidget(id) {
|
|
1398
1610
|
var deleteWidgetProps = {
|
|
1399
1611
|
id: id,
|
|
@@ -1402,6 +1614,7 @@ var DashboardDesigner = function DashboardDesigner(props) {
|
|
|
1402
1614
|
};
|
|
1403
1615
|
props.onWidgetDelete(deleteWidgetProps);
|
|
1404
1616
|
};
|
|
1617
|
+
|
|
1405
1618
|
function deletePanel(deleteProps) {
|
|
1406
1619
|
var newLayouts = {
|
|
1407
1620
|
lg: deleteProps.layouts.lg.filter(function (e) {
|
|
@@ -1418,23 +1631,28 @@ var DashboardDesigner = function DashboardDesigner(props) {
|
|
|
1418
1631
|
setWidgets(newWidgets);
|
|
1419
1632
|
props.onLayoutChange(newLayouts);
|
|
1420
1633
|
}
|
|
1634
|
+
|
|
1421
1635
|
function editWidget(widget) {
|
|
1422
1636
|
widget.ChangeSetOp = 'Update';
|
|
1423
1637
|
props.openEditWidget(widget);
|
|
1424
1638
|
}
|
|
1639
|
+
|
|
1425
1640
|
function UpdatePlaceholderDimensions(layouts) {
|
|
1426
1641
|
if (!layouts) return;
|
|
1427
1642
|
var max = minimumPlaceholderRowsCount;
|
|
1643
|
+
|
|
1428
1644
|
for (var _iterator3 = _createForOfIteratorHelperLoose(layouts['lg']), _step3; !(_step3 = _iterator3()).done;) {
|
|
1429
1645
|
var layout = _step3.value;
|
|
1430
1646
|
if (layout.y + layout.h > max) max = layout.y + layout.h;
|
|
1431
1647
|
}
|
|
1648
|
+
|
|
1432
1649
|
var newPlaceholderRows = max + 2;
|
|
1433
1650
|
newPlaceholderRows = newPlaceholderRows < minimumPlaceholderRowsCount ? minimumPlaceholderRowsCount : newPlaceholderRows;
|
|
1434
1651
|
setplaceholderRowsArray(Array.from({
|
|
1435
1652
|
length: newPlaceholderRows
|
|
1436
1653
|
}).fill(null));
|
|
1437
1654
|
}
|
|
1655
|
+
|
|
1438
1656
|
return React__default.createElement("div", {
|
|
1439
1657
|
className: "dl-full-hight-scroll"
|
|
1440
1658
|
}, React__default.createElement("div", {
|
|
@@ -1467,6 +1685,7 @@ var DashboardDesigner = function DashboardDesigner(props) {
|
|
|
1467
1685
|
onLayoutChange: onLayoutChange
|
|
1468
1686
|
}), widgets.lg.map(function (widget, i) {
|
|
1469
1687
|
var _widget$Layout, _widget$Layout2;
|
|
1688
|
+
|
|
1470
1689
|
return React__default.createElement("div", {
|
|
1471
1690
|
key: (_widget$Layout = widget.Layout) === null || _widget$Layout === void 0 ? void 0 : _widget$Layout.i
|
|
1472
1691
|
}, React__default.createElement(WidgetCard, {
|
|
@@ -1482,6 +1701,7 @@ var DashboardDesigner = function DashboardDesigner(props) {
|
|
|
1482
1701
|
onSelectDataPoint: props.onSelectDataPoint,
|
|
1483
1702
|
ref: function ref(el) {
|
|
1484
1703
|
var _widget$Layout3;
|
|
1704
|
+
|
|
1485
1705
|
widgetCardRef.current[i] = {
|
|
1486
1706
|
ref: el,
|
|
1487
1707
|
i: (_widget$Layout3 = widget.Layout) === null || _widget$Layout3 === void 0 ? void 0 : _widget$Layout3.i
|
|
@@ -1490,6 +1710,7 @@ var DashboardDesigner = function DashboardDesigner(props) {
|
|
|
1490
1710
|
}));
|
|
1491
1711
|
}))))));
|
|
1492
1712
|
};
|
|
1713
|
+
|
|
1493
1714
|
var layoutGridProps = {
|
|
1494
1715
|
rowHeight: 50,
|
|
1495
1716
|
className: "layout",
|
|
@@ -1505,23 +1726,29 @@ var layoutGridProps = {
|
|
|
1505
1726
|
|
|
1506
1727
|
var Dashboard = function Dashboard(props) {
|
|
1507
1728
|
var _previewWidget$Layout, _previewWidget$Layout2;
|
|
1729
|
+
|
|
1508
1730
|
var Widgetlayouts = React.useRef({
|
|
1509
1731
|
lg: []
|
|
1510
1732
|
});
|
|
1733
|
+
|
|
1511
1734
|
var _useState = React.useState({
|
|
1512
|
-
|
|
1513
|
-
|
|
1514
|
-
|
|
1515
|
-
|
|
1735
|
+
lg: []
|
|
1736
|
+
}),
|
|
1737
|
+
widgetlayoutsState = _useState[0],
|
|
1738
|
+
setWidgetlayoutsState = _useState[1];
|
|
1739
|
+
|
|
1516
1740
|
var _useState2 = React.useState(false),
|
|
1517
|
-
|
|
1518
|
-
|
|
1741
|
+
isInEditMode = _useState2[0],
|
|
1742
|
+
setIsInEditMode = _useState2[1];
|
|
1743
|
+
|
|
1519
1744
|
var _useState3 = React.useState(props.isPreviewMode !== undefined ? props.isPreviewMode : false),
|
|
1520
|
-
|
|
1521
|
-
|
|
1745
|
+
isPreviewModeActive = _useState3[0],
|
|
1746
|
+
setIsPreviewModeActive = _useState3[1];
|
|
1747
|
+
|
|
1522
1748
|
var _useState4 = React.useState(props.widgetData),
|
|
1523
|
-
|
|
1524
|
-
|
|
1749
|
+
previewWidget = _useState4[0],
|
|
1750
|
+
setPreviewWidgett = _useState4[1];
|
|
1751
|
+
|
|
1525
1752
|
React.useEffect(function () {
|
|
1526
1753
|
Session.CurrentUserId = props.userId;
|
|
1527
1754
|
Session.Tenant = props.tenant;
|
|
@@ -1544,6 +1771,7 @@ var Dashboard = function Dashboard(props) {
|
|
|
1544
1771
|
setPreviewWidgett(JSON.parse(JSON.stringify(props.widgetData)));
|
|
1545
1772
|
}
|
|
1546
1773
|
}, [props.widgetData]);
|
|
1774
|
+
|
|
1547
1775
|
var updateWidgets = function updateWidgets(layouts) {
|
|
1548
1776
|
var layoutsDic = {};
|
|
1549
1777
|
Object.keys(layouts).forEach(function (sizeType) {
|
|
@@ -1568,6 +1796,7 @@ var Dashboard = function Dashboard(props) {
|
|
|
1568
1796
|
};
|
|
1569
1797
|
props.onChangeLayouts(Widgetlayouts.current);
|
|
1570
1798
|
};
|
|
1799
|
+
|
|
1571
1800
|
return isPreviewModeActive && previewWidget ? React.createElement("div", {
|
|
1572
1801
|
style: {
|
|
1573
1802
|
width: "420px",
|