@massimo-cassandro/minimo 1.4.3 → 1.4.5

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/charts/TODO.md CHANGED
@@ -1,2 +1,4 @@
1
1
  completare
2
2
  aggionare la documentazione e aggiungere i test a demo (in _wrk)
3
+
4
+ implementare tooltip nativo nei file svg, ora viene aggiunto un data-title, ma non è gestito
@@ -39,7 +39,7 @@ export async function cartesianAxis(chartInstance, {
39
39
  // se true le etichette sono posizionate in corrispondenza dei ticks
40
40
  // altrimenti sono centrate nello spazio corispondente a stepX_size
41
41
  xLabelsOnTicks = true,
42
- labelYFormatter = null // funzione
42
+ labelYFormatter = null, // funzione
43
43
  }) {
44
44
 
45
45
  try {
@@ -14,8 +14,8 @@ export function parseStdAxisOpts(params = {} ) {
14
14
  try {
15
15
 
16
16
 
17
- // TODO eti_asseX_height e eti_asseY_width capire se è possibile inserire un calcolo dinamico delle dimensioni
18
- // mettere quindi auto (o null) come default che innesci il calcolo automatico
17
+ // TODO eti_asseX_height e eti_asseY_width capire se è possibile inserire un calcolo dinamico delle dimensioni
18
+ // mettere quindi auto (o null) come default che innesci il calcolo automatico
19
19
  const parsed = {};
20
20
 
21
21
  // default
@@ -65,7 +65,6 @@ export function parseStdAxisOpts(params = {} ) {
65
65
  const legenda_height = params.legenda?.height?? 0;
66
66
  const gap_legenda = legenda_height? 10 : 0; // spazio tra legenda e grafico
67
67
 
68
- console.log(params.eti_asseY_width, params.ticksLength, params.padding);
69
68
 
70
69
  // =>> chart area
71
70
  // coordinate e dimensioni del rettangolo interno all'svg entro cui viene disegnato il grafico
@@ -157,7 +157,8 @@ const default_params = {
157
157
  */
158
158
  data_lines_widths: null,
159
159
 
160
-
160
+ // aggiiunge un attributo data-title in corrispondenza dei punti
161
+ addValuesTitle: true,
161
162
 
162
163
  /**
163
164
  Funzione per formattare le etichette dei valori dell'asse Y.
@@ -353,7 +354,8 @@ export async function lines(params) {
353
354
  fill: params.data_lines_attrs[idx].stroke,
354
355
  cx: point[0],
355
356
  cy: point[1],
356
- 'data-debug-info': params.debug? `Valore: ${params.values[idx][coord_idx]}` : null
357
+ 'data-debug-info': params.debug? `Valore: ${params.values[idx][coord_idx]}` : null,
358
+ // 'data-title': params.addValuesTitle? params.values[idx][coord_idx] : null // TODO ricontrollare correttezza indici
357
359
  });
358
360
  });
359
361
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@massimo-cassandro/minimo",
3
- "version": "1.4.3",
3
+ "version": "1.4.5",
4
4
  "description": "Light css framework & utilities",
5
5
  "type": "module",
6
6
  "homepage": "https://github.com/massimo-cassandro/minimo#readme",
@@ -587,13 +587,13 @@ class SimpleDatatableAdapter extends HTMLElement {
587
587
  col_item.render = null; // se presente lo annulla ad evitare conflitti
588
588
  value = resolveTemplate(col_item._cellRender, row, { nullAs, warnColIdx: col_idx });
589
589
 
590
- } else if (col_item._renderMode === 'sf_datetime' && value != null) {
590
+ // sf_date o sf_datetime -> si prende il solo valore di date
591
+ } else if ((col_item._renderMode === 'sf_datetime' || col_item._renderMode === 'sf_date') && value != null) {
591
592
  value = value.date.replace(' ', 'T') +
592
593
  (value.timezone === 'UTC' ? 'Z' : '');
593
594
  }
594
595
 
595
-
596
- // TODO rendere più snella la gestione di questoi casi (???)
596
+ // TODO rendere più snella la gestione di questi casi (???)
597
597
  // TODO pasare il valore `nullAs` al render predefinito
598
598
  // Applica _renderNullAs al valore della cella se null/undefined
599
599
  // e la cella non ha già un template che gestisce la visualizzazione.
@@ -10,7 +10,7 @@ import checkIcon from '../../../icons/check-bold.svg?inline';
10
10
  import xIcon from '../../../icons/x-bold.svg?inline';
11
11
 
12
12
  // col_obj è l'oggetto che descrive una singola colonna del datatable
13
- // vine utilizzato per produrre l'oggetto columns di simple-datatable
13
+ // viene utilizzato per produrre l'oggetto columns di simple-datatable
14
14
  export function parseCols(col_obj){
15
15
 
16
16
 
@@ -70,8 +70,12 @@ export function parseCols(col_obj){
70
70
  }
71
71
  };
72
72
 
73
- // gestione campi data symfony
74
- } else if(col_obj._renderMode === 'sf_datetime') {
73
+ // campi date e datetime, symfony e no
74
+ // nel caso di datetime/date symfony, il valore è stato già preelaborato da _load
75
+ } else if(['sf_datetime', 'sf_date', 'date', 'datetime'].includes(col_obj._renderMode)) {
76
+
77
+ const _isDatetime = ['sf_datetime', 'datetime'].includes(col_obj._renderMode);
78
+
75
79
  return {
76
80
  ...col_obj,
77
81
  type: 'string',
@@ -85,27 +89,29 @@ export function parseCols(col_obj){
85
89
  "timezone": "UTC"
86
90
  } */
87
91
 
88
-
89
92
  if(value == null) {
90
93
  cell.attributes['data-order'] = ' ';
91
94
  return '\u2014';
92
95
 
93
96
  } else {
94
97
 
95
- cell.attributes['data-order'] = value;
96
-
97
98
  const dateObj = new Date(value);
98
99
 
100
+
101
+ cell.attributes['data-order'] = _isDatetime? value : value.substring(0,10);
102
+
99
103
  return `<span class="text-nowrap">${dateObj.toLocaleString('it-IT', {
100
104
  year: '2-digit',
101
105
  month: 'short',
102
106
  day: 'numeric',
103
107
  })}</span>` +
104
- `\u2009<span class="text-xs">${dateObj.toLocaleString('it-IT', {
105
- hour12: false,
106
- hour:'2-digit',
107
- minute:'2-digit'
108
- })}</span>`;
108
+ (_isDatetime
109
+ ? `\u2009<span class="text-xs">${dateObj.toLocaleString('it-IT', {
110
+ hour12: false,
111
+ hour:'2-digit',
112
+ minute:'2-digit'
113
+ })}</span>`
114
+ : '');
109
115
  }
110
116
 
111
117
  }