territories-dashboard-lib 0.1.23__py3-none-any.whl → 0.1.25__py3-none-any.whl
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.
Potentially problematic release.
This version of territories-dashboard-lib might be problematic. Click here for more details.
- territories_dashboard_lib/indicators_lib/format.py +8 -7
- territories_dashboard_lib/indicators_lib/views.py +1 -1
- territories_dashboard_lib/website_lib/static/territories_dashboard_lib/website/js/pages/indicators/comparaison/main-values.mjs +6 -2
- territories_dashboard_lib/website_lib/static/territories_dashboard_lib/website/js/pages/indicators/details/histogram.mjs +4 -2
- territories_dashboard_lib/website_lib/static/territories_dashboard_lib/website/js/pages/indicators/details/proportions.mjs +0 -1
- territories_dashboard_lib/website_lib/static/territories_dashboard_lib/website/js/pages/indicators/details/top10.mjs +3 -1
- territories_dashboard_lib/website_lib/static/territories_dashboard_lib/website/js/pages/indicators/format.mjs +11 -4
- territories_dashboard_lib/website_lib/static/territories_dashboard_lib/website/js/pages/indicators/theme/main-value.mjs +1 -1
- territories_dashboard_lib/website_lib/static/territories_dashboard_lib/website/js/pages/indicators/utils.mjs +3 -1
- territories_dashboard_lib/website_lib/static/territories_dashboard_lib/website/react/indicatorMap.bundle.js +1 -1
- territories_dashboard_lib/website_lib/static/territories_dashboard_lib/website/react/sankeyGraph.bundle.js +1 -1
- {territories_dashboard_lib-0.1.23.dist-info → territories_dashboard_lib-0.1.25.dist-info}/METADATA +1 -1
- {territories_dashboard_lib-0.1.23.dist-info → territories_dashboard_lib-0.1.25.dist-info}/RECORD +16 -16
- {territories_dashboard_lib-0.1.23.dist-info → territories_dashboard_lib-0.1.25.dist-info}/WHEEL +0 -0
- {territories_dashboard_lib-0.1.23.dist-info → territories_dashboard_lib-0.1.25.dist-info}/licenses/licence.md +0 -0
- {territories_dashboard_lib-0.1.23.dist-info → territories_dashboard_lib-0.1.25.dist-info}/top_level.txt +0 -0
|
@@ -8,27 +8,28 @@ def _remove_useless_0(value):
|
|
|
8
8
|
return value
|
|
9
9
|
|
|
10
10
|
|
|
11
|
-
def format_indicator_value(value, force_integer=False):
|
|
11
|
+
def format_indicator_value(value, *, force_integer=False, precise=False):
|
|
12
12
|
if value is None:
|
|
13
13
|
return "-"
|
|
14
14
|
|
|
15
15
|
abs_value = abs(value)
|
|
16
16
|
|
|
17
|
-
if abs_value >
|
|
17
|
+
if abs_value > 999 and precise:
|
|
18
|
+
nb = f"{round(value):,}".replace(",", " ")
|
|
19
|
+
elif abs_value > 999999:
|
|
18
20
|
nb = _remove_useless_0(_get_precision((value / 1_000_000), force_integer)) + "M"
|
|
19
21
|
elif abs_value > 999:
|
|
20
22
|
nb = _remove_useless_0(_get_precision((value / 1_000), force_integer)) + "k"
|
|
21
|
-
|
|
22
23
|
else:
|
|
23
24
|
nb = _remove_useless_0(_get_precision(value, force_integer))
|
|
24
25
|
return nb.replace(".", ",")
|
|
25
26
|
|
|
26
27
|
|
|
27
|
-
def _format_value(k, v):
|
|
28
|
+
def _format_value(k, v, *, precise=False):
|
|
28
29
|
if k.lower().startswith("valeur"):
|
|
29
|
-
v = format_indicator_value(v)
|
|
30
|
+
v = format_indicator_value(v, precise=precise)
|
|
30
31
|
return v
|
|
31
32
|
|
|
32
33
|
|
|
33
|
-
def format_data(data):
|
|
34
|
-
return {k: _format_value(k, v) for k, v in data.items()}
|
|
34
|
+
def format_data(data, *, precise=False):
|
|
35
|
+
return {k: _format_value(k, v, precise=precise) for k, v in data.items()}
|
|
@@ -465,7 +465,7 @@ def indicator_details_table_view(request, name, payload):
|
|
|
465
465
|
indicator = get_object_or_404(Indicator, name=name)
|
|
466
466
|
filters = get_filters(request, indicator)
|
|
467
467
|
count, data = get_count_and_data_for_indicator_table(indicator, payload, filters)
|
|
468
|
-
formated_data = [format_data(element) for element in data]
|
|
468
|
+
formated_data = [format_data(element, precise=True) for element in data]
|
|
469
469
|
keys = [
|
|
470
470
|
{"db": key, "label": get_label(payload, indicator, key)}
|
|
471
471
|
for key in (formated_data[0].keys() if formated_data else [])
|
|
@@ -17,13 +17,17 @@ function updateMainValues(indicator) {
|
|
|
17
17
|
`#card-${indicator.id} .territory-value > span:first-child`
|
|
18
18
|
);
|
|
19
19
|
|
|
20
|
-
const value = formatIndicatorValue(data.values[0].valeur
|
|
20
|
+
const value = formatIndicatorValue(data.values[0].valeur, {
|
|
21
|
+
precise: true,
|
|
22
|
+
});
|
|
21
23
|
element.innerHTML = `<strong>${params.territory_name} : </strong>${value}`;
|
|
22
24
|
|
|
23
25
|
const cmpElement = document.querySelector(
|
|
24
26
|
`#card-${indicator.id} .compared-territory-value > span:first-child`
|
|
25
27
|
);
|
|
26
|
-
const cmpValue = formatIndicatorValue(data.cmp_values[0].valeur
|
|
28
|
+
const cmpValue = formatIndicatorValue(data.cmp_values[0].valeur, {
|
|
29
|
+
precise: true,
|
|
30
|
+
});
|
|
27
31
|
cmpElement.innerHTML = `<strong>${params.cmp_territory_name} : </strong>${cmpValue}`;
|
|
28
32
|
}
|
|
29
33
|
|
|
@@ -20,7 +20,9 @@ function getDatalabels(dataset, mesh) {
|
|
|
20
20
|
weight: "bold",
|
|
21
21
|
},
|
|
22
22
|
formatter: function (value, context) {
|
|
23
|
-
const formatted = formatIndicatorValue(value.y,
|
|
23
|
+
const formatted = formatIndicatorValue(value.y, {
|
|
24
|
+
forceInteger: true,
|
|
25
|
+
});
|
|
24
26
|
if (!formatted) {
|
|
25
27
|
return "";
|
|
26
28
|
}
|
|
@@ -60,7 +62,7 @@ function getScales(labels, maxFromData) {
|
|
|
60
62
|
}
|
|
61
63
|
return formatIndicatorValue(
|
|
62
64
|
Number.parseFloat(labels[v]),
|
|
63
|
-
true
|
|
65
|
+
{ forceInteger: true }
|
|
64
66
|
);
|
|
65
67
|
}
|
|
66
68
|
if (value === labels.length - 1) {
|
|
@@ -17,7 +17,9 @@ function getPlugins(indicator) {
|
|
|
17
17
|
align: "center",
|
|
18
18
|
color: "white",
|
|
19
19
|
formatter: function (value) {
|
|
20
|
-
return formatIndicatorValue(value)
|
|
20
|
+
return `${formatIndicatorValue(value, { precise: true })} ${
|
|
21
|
+
indicator.unite
|
|
22
|
+
}`;
|
|
21
23
|
},
|
|
22
24
|
},
|
|
23
25
|
tooltip: getToolTip(indicator.unite),
|
|
@@ -24,12 +24,18 @@ function getPrecision(value, forceInteger) {
|
|
|
24
24
|
return value.toFixed(1);
|
|
25
25
|
}
|
|
26
26
|
|
|
27
|
-
function formatIndicatorValue(
|
|
28
|
-
|
|
27
|
+
function formatIndicatorValue(
|
|
28
|
+
value,
|
|
29
|
+
{ forceInteger = false, precise = false } = {}
|
|
30
|
+
) {
|
|
31
|
+
if (value === undefined || value === null || isNaN(value)) {
|
|
29
32
|
return "-";
|
|
30
33
|
}
|
|
31
34
|
let nb = null;
|
|
32
|
-
|
|
35
|
+
|
|
36
|
+
if (Math.abs(value) > 999 && precise) {
|
|
37
|
+
nb = new Intl.NumberFormat("fr-FR").format(Math.round(value));
|
|
38
|
+
} else if (Math.abs(value) > 999999) {
|
|
33
39
|
nb =
|
|
34
40
|
removeUseless0(
|
|
35
41
|
getPrecision(
|
|
@@ -48,7 +54,8 @@ function formatIndicatorValue(value, forceInteger) {
|
|
|
48
54
|
} else {
|
|
49
55
|
nb = removeUseless0(getPrecision(value, forceInteger));
|
|
50
56
|
}
|
|
51
|
-
|
|
57
|
+
nb = nb.replace(".", ",");
|
|
58
|
+
return nb;
|
|
52
59
|
}
|
|
53
60
|
|
|
54
61
|
export { formatIndicatorValue };
|
|
@@ -16,7 +16,7 @@ function updateMainValueDOM(indicator) {
|
|
|
16
16
|
removeDelaySpinner(`#card-${indicator.id} .delay-spinner`);
|
|
17
17
|
document.querySelector(
|
|
18
18
|
`#card-${indicator.id} .main-value span:first-child`
|
|
19
|
-
).textContent = `${formatIndicatorValue(val)}`;
|
|
19
|
+
).textContent = `${formatIndicatorValue(val, { precise: true })}`;
|
|
20
20
|
}
|
|
21
21
|
|
|
22
22
|
export { updateMainValueDOM };
|
|
@@ -36,7 +36,9 @@ export function getToolTip(unite) {
|
|
|
36
36
|
context.dataset.label === unite
|
|
37
37
|
? ""
|
|
38
38
|
: ` ${context.dataset.label}: `;
|
|
39
|
-
return `${prefix} ${formatIndicatorValue(value
|
|
39
|
+
return `${prefix} ${formatIndicatorValue(value, {
|
|
40
|
+
precise: true,
|
|
41
|
+
})} ${unite}`;
|
|
40
42
|
},
|
|
41
43
|
},
|
|
42
44
|
};
|