@datarailsshared/dr_renderer 1.2.171-dragons → 1.2.173-dragons
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/package.json +1 -1
- package/src/highcharts_renderer.js +77 -22
package/package.json
CHANGED
|
@@ -1391,6 +1391,7 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
1391
1391
|
tmoobj.visible = false;
|
|
1392
1392
|
}
|
|
1393
1393
|
tmoobj.y = value;
|
|
1394
|
+
tmoobj.colKeys = [lodash.unescape(col_n_keys[col_index - 1]), lodash.unescape(col_n_value)];
|
|
1394
1395
|
resultObject.data.push(tmoobj);
|
|
1395
1396
|
}
|
|
1396
1397
|
}
|
|
@@ -7883,6 +7884,16 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
7883
7884
|
|
|
7884
7885
|
};
|
|
7885
7886
|
|
|
7887
|
+
highchartsRenderer.createDateFromString = function (dateString, format) {
|
|
7888
|
+
if ((format && !highchartsRenderer.isDateFormat(dateString, format)) || !highchartsRenderer.isDate(dateString)) {
|
|
7889
|
+
return null;
|
|
7890
|
+
}
|
|
7891
|
+
const utcDate = format
|
|
7892
|
+
? moment_lib.utc(dateString, format, true)
|
|
7893
|
+
: moment_lib.utc(dateString);
|
|
7894
|
+
return utcDate.startOf('day').unix();
|
|
7895
|
+
}
|
|
7896
|
+
|
|
7886
7897
|
highchartsRenderer.prepareDrillDownFilters = function (r_keys, c_keys, widget) {
|
|
7887
7898
|
let row_key = r_keys;
|
|
7888
7899
|
let col_key = c_keys;
|
|
@@ -7896,26 +7907,46 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
7896
7907
|
|
|
7897
7908
|
let filters = [];
|
|
7898
7909
|
|
|
7899
|
-
|
|
7900
|
-
|
|
7901
|
-
|
|
7902
|
-
|
|
7903
|
-
|
|
7910
|
+
if (widget.chart_type === CHART_TYPES.WATERFALL_BREAKDOWN) {
|
|
7911
|
+
const colFilter = highchartsRenderer.createFilterObject(widget.cols[0]);
|
|
7912
|
+
const labels = [];
|
|
7913
|
+
colFilter.values = [];
|
|
7914
|
+
lodash.forEach(col_key, function (col_value) {
|
|
7915
|
+
if (widget.cols[0].type === 'Date') {
|
|
7916
|
+
let date = highchartsRenderer.createDateFromString(
|
|
7904
7917
|
col_value,
|
|
7905
|
-
highchartsRenderer.getDateFieldFormat(widget, widget.cols[
|
|
7918
|
+
highchartsRenderer.getDateFieldFormat(widget, widget.cols[0])
|
|
7906
7919
|
);
|
|
7907
|
-
|
|
7908
|
-
if ($.isEmptyObject(datetrange)) {
|
|
7909
|
-
return;
|
|
7910
|
-
}
|
|
7911
|
-
temp.values = datetrange;
|
|
7912
|
-
temp.values.label = col_value;
|
|
7920
|
+
colFilter.values.push(date);
|
|
7913
7921
|
} else {
|
|
7914
|
-
|
|
7922
|
+
colFilter.values.push(col_value);
|
|
7915
7923
|
}
|
|
7916
|
-
|
|
7917
|
-
}
|
|
7918
|
-
|
|
7924
|
+
labels.push(col_value);
|
|
7925
|
+
});
|
|
7926
|
+
colFilter.value_to_show = labels.join(', ');
|
|
7927
|
+
filters.push(colFilter);
|
|
7928
|
+
} else {
|
|
7929
|
+
lodash.forEach(col_key, function (col_value, index) {
|
|
7930
|
+
if (widget && widget.cols[index]) {
|
|
7931
|
+
let temp = highchartsRenderer.createFilterObject(widget.cols[index]);
|
|
7932
|
+
if (widget.cols[index].type === 'Date') {
|
|
7933
|
+
let datetrange = highchartsRenderer.createDateTypeFromValue(
|
|
7934
|
+
col_value,
|
|
7935
|
+
highchartsRenderer.getDateFieldFormat(widget, widget.cols[index])
|
|
7936
|
+
);
|
|
7937
|
+
|
|
7938
|
+
if ($.isEmptyObject(datetrange)) {
|
|
7939
|
+
return;
|
|
7940
|
+
}
|
|
7941
|
+
temp.values = datetrange;
|
|
7942
|
+
temp.values.label = col_value;
|
|
7943
|
+
} else {
|
|
7944
|
+
temp.values = [col_value];
|
|
7945
|
+
}
|
|
7946
|
+
filters.push(temp);
|
|
7947
|
+
}
|
|
7948
|
+
});
|
|
7949
|
+
}
|
|
7919
7950
|
|
|
7920
7951
|
lodash.forEach(row_key, function (row_value, index) {
|
|
7921
7952
|
if (widget && widget.rows[index]) {
|
|
@@ -7960,6 +7991,9 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
7960
7991
|
});
|
|
7961
7992
|
|
|
7962
7993
|
lodash.forEach(filters, function (filter) {
|
|
7994
|
+
if (filter.value_to_show) {
|
|
7995
|
+
return;
|
|
7996
|
+
}
|
|
7963
7997
|
if (Array.isArray(filter.values)) {
|
|
7964
7998
|
if (filter.type) {
|
|
7965
7999
|
for (let i = 0; i < filter.values.length; i++) {
|
|
@@ -7998,15 +8032,36 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
7998
8032
|
filters.push(highchartsRenderer.createDrillDownFilterObject(widget, widget.rows[i], rowKey[i]))
|
|
7999
8033
|
}
|
|
8000
8034
|
}
|
|
8001
|
-
|
|
8002
|
-
|
|
8035
|
+
|
|
8036
|
+
if (widget.chart_type === CHART_TYPES.WATERFALL_BREAKDOWN) {
|
|
8037
|
+
let filter = lodash.find(filters, {name: widget.cols[0].name});
|
|
8003
8038
|
if (filter) {
|
|
8004
8039
|
filter.is_excluded = false;
|
|
8005
|
-
filter.values = widget.cols[i].type === 'Date' ?
|
|
8006
|
-
highchartsRenderer.createDateTypeFromValue(colKey[i], highchartsRenderer.getDateFieldFormat(widget, widget.cols[i])) :
|
|
8007
|
-
[colKey[i]];
|
|
8008
8040
|
} else {
|
|
8009
|
-
|
|
8041
|
+
filter = highchartsRenderer.createDrillDownFilterObject(widget, widget.cols[0], colKey[0]);
|
|
8042
|
+
}
|
|
8043
|
+
filter.values = [];
|
|
8044
|
+
for (let i = 0; i < colKey.length; i++) {
|
|
8045
|
+
filter.values.push(
|
|
8046
|
+
widget.cols[0].type === 'Date'
|
|
8047
|
+
? highchartsRenderer.createDateFromString(
|
|
8048
|
+
colKey[i],
|
|
8049
|
+
highchartsRenderer.getDateFieldFormat(widget, widget.cols[0])
|
|
8050
|
+
)
|
|
8051
|
+
: colKey[i]
|
|
8052
|
+
);
|
|
8053
|
+
}
|
|
8054
|
+
} else {
|
|
8055
|
+
for (let i = 0; i < colKey.length; i++) {
|
|
8056
|
+
let filter = lodash.find(filters, {name: widget.cols[i].name});
|
|
8057
|
+
if (filter) {
|
|
8058
|
+
filter.is_excluded = false;
|
|
8059
|
+
filter.values = widget.cols[i].type === 'Date' ?
|
|
8060
|
+
highchartsRenderer.createDateTypeFromValue(colKey[i], highchartsRenderer.getDateFieldFormat(widget, widget.cols[i])) :
|
|
8061
|
+
[colKey[i]];
|
|
8062
|
+
} else {
|
|
8063
|
+
filters.push(highchartsRenderer.createDrillDownFilterObject(widget, widget.cols[i], colKey[i]))
|
|
8064
|
+
}
|
|
8010
8065
|
}
|
|
8011
8066
|
}
|
|
8012
8067
|
return filters;
|