data-suggestions 1.0.2 → 2.0.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.
package/README.md CHANGED
@@ -1,241 +1,241 @@
1
- # Data Suggestions Library
2
-
3
- Librería Angular para generar y mostrar sugerencias de visualización a partir de:
4
-
5
- - un conjunto de datos (`dataset`)
6
- - un objetivo de comunicación (`goal`)
7
-
8
- La librería incluye ficheros JSON de recomendaciones y los carga desde la aplicación consumidora mediante `/assets/...`.
9
-
10
- ---
11
-
12
- ## Requisitos
13
-
14
- - Angular (standalone o con módulos)
15
- - Node.js y npm
16
-
17
- ---
18
-
19
- ## Estructura de assets
20
-
21
- Los ficheros de recomendaciones se encuentran en la librería en la siguiente ruta:
22
-
23
- ```
24
- projects/data-suggestions/src/assets/recomendaciones/*.json
25
- ```
26
-
27
- Ejemplo:
28
-
29
- ```
30
- projects/data-suggestions/src/assets/recomendaciones/destacar-valores-mas-altos.json
31
- ```
32
-
33
- ---
34
-
35
- ## Build de la librería (incluyendo assets)
36
-
37
- ### 1) Configurar ng-packagr para empaquetar assets
38
-
39
- Asegúrate de tener este archivo en la librería:
40
-
41
- `projects/data-suggestions/ng-package.json`
42
-
43
- con el siguiente contenido:
44
-
45
- ```json
46
- {
47
- "$schema": "../../node_modules/ng-packagr/ng-package.schema.json",
48
- "dest": "../../dist/data-suggestions",
49
- "lib": {
50
- "entryFile": "src/public-api.ts"
51
- },
52
- "assets": ["src/assets"]
53
- }
54
- ```
55
-
56
- ---
57
-
58
- ### 2) Compilar la librería
59
-
60
- Desde la raíz del workspace:
61
-
62
- ```bash
63
- ng build data-suggestions
64
- ```
65
-
66
- Verifica que los assets se han copiado correctamente:
67
-
68
- ```bash
69
- ls dist/data-suggestions/assets/recomendaciones | head
70
- ```
71
-
72
- ---
73
-
74
- ## Versionado de la librería
75
-
76
- La versión del paquete se define en el `package.json` fuente de la librería:
77
-
78
- `projects/data-suggestions/package.json`
79
-
80
- Ejemplo:
81
-
82
- ```json
83
- {
84
- "name": "data-suggestions",
85
- "version": "0.0.2"
86
- }
87
- ```
88
-
89
- Después de cambiar la versión, vuelve a compilar:
90
-
91
- ```bash
92
- ng build data-suggestions
93
- ```
94
-
95
- ---
96
-
97
- ## Empaquetar la librería (npm pack)
98
-
99
- En la carpeta de salida del build:
100
-
101
- ```bash
102
- cd dist/data-suggestions
103
- npm pack
104
- ```
105
-
106
- Esto generará un archivo similar a:
107
-
108
- ```
109
- data-suggestions-0.0.2.tgz
110
- ```
111
-
112
- ---
113
-
114
- ## Instalar la librería en una aplicación Angular
115
-
116
- En la aplicación Angular que vaya a consumir la librería:
117
-
118
- ```bash
119
- npm install /ruta/al/workspace/dist/data-suggestions/data-suggestions-0.0.2.tgz
120
- ```
121
-
122
- Comprueba que la instalación se ha realizado correctamente:
123
-
124
- ```bash
125
- npm ls data-suggestions
126
- ```
127
-
128
- ---
129
-
130
- ## Configuración de assets en la aplicación consumidora (OBLIGATORIO)
131
-
132
- Para que la aplicación pueda acceder a los JSON de recomendaciones, es necesario configurar la copia de assets desde la librería.
133
-
134
- Edita el archivo `angular.json` de la aplicación consumidora y añade la siguiente entrada en:
135
-
136
- ```
137
- projects -> <NOMBRE_APP> -> architect -> build -> options -> assets
138
- ```
139
-
140
- Ejemplo completo:
141
-
142
- ```json
143
- "assets": [
144
- "src/favicon.ico",
145
- "src/assets",
146
- {
147
- "glob": "**/*",
148
- "input": "node_modules/data-suggestions/assets",
149
- "output": "assets"
150
- }
151
- ]
152
- ```
153
-
154
- Después de modificar `angular.json`, reinicia el servidor de desarrollo:
155
-
156
- ```bash
157
- CTRL+C
158
- ng serve
159
- ```
160
-
161
- ---
162
-
163
- ## Comprobación de assets
164
-
165
- Abre en el navegador (ajusta el nombre del fichero si es necesario):
166
-
167
- ```
168
- http://localhost:4200/assets/recomendaciones/destacar-valores-mas-altos.json
169
- ```
170
-
171
- Si el fichero se muestra correctamente, la configuración es correcta.
172
-
173
- ---
174
-
175
- ## Uso de la librería (Angular standalone)
176
-
177
- ```ts
178
- import { Component } from '@angular/core';
179
- import { DataSuggestionsTableComponent } from 'data-suggestions';
180
-
181
- @Component({
182
- selector: 'app-root',
183
- standalone: true,
184
- imports: [DataSuggestionsTableComponent],
185
- template: `
186
- <data-suggestions-table [dataset]="dataset" [goal]="goal"> </data-suggestions-table>
187
- `,
188
- })
189
- export class AppComponent {
190
- dataset = [
191
- { key: 'A', value: 10 },
192
- { key: 'B', value: 30 },
193
- { key: 'C', value: 20 },
194
- ];
195
-
196
- goal = 'destacar-valores-mas-altos';
197
- }
198
- ```
199
-
200
- ---
201
-
202
- ## HttpClient en aplicaciones standalone
203
-
204
- Si la librería utiliza `HttpClient`, la aplicación consumidora debe proveerlo explícitamente.
205
-
206
- ```ts
207
- import { ApplicationConfig } from '@angular/core';
208
- import { provideHttpClient } from '@angular/common/http';
209
-
210
- export const appConfig: ApplicationConfig = {
211
- providers: [provideHttpClient()],
212
- };
213
- ```
214
-
215
- ---
216
-
217
- ## Problemas comunes
218
-
219
- ### Error 404 al cargar los JSON
220
-
221
- - Verifica la configuración de `assets` en `angular.json`.
222
- - Reinicia `ng serve` tras cualquier cambio.
223
-
224
- ### Cambios en la librería no se reflejan
225
-
226
- - Incrementa la versión.
227
- - Rebuild + npm pack.
228
- - Reinstala el `.tgz`.
229
-
230
- ---
231
-
232
- ## API del componente
233
-
234
- ```html
235
- <data-suggestions-table [dataset]="dataset" [goal]="goal"> </data-suggestions-table>
236
- ```
237
-
238
- Inputs:
239
-
240
- - `dataset`: `{ key: string; value: number }[]`
241
- - `goal`: `string`
1
+ # Data Suggestions Library
2
+
3
+ Librería Angular para generar y mostrar sugerencias de visualización a partir de:
4
+
5
+ - un conjunto de datos (`dataset`)
6
+ - un objetivo de comunicación (`goal`)
7
+
8
+ La librería incluye ficheros JSON de recomendaciones y los carga desde la aplicación consumidora mediante `/assets/...`.
9
+
10
+ ---
11
+
12
+ ## Requisitos
13
+
14
+ - Angular (standalone o con módulos)
15
+ - Node.js y npm
16
+
17
+ ---
18
+
19
+ ## Estructura de assets
20
+
21
+ Los ficheros de recomendaciones se encuentran en la librería en la siguiente ruta:
22
+
23
+ ```
24
+ projects/data-suggestions/src/assets/recomendaciones/*.json
25
+ ```
26
+
27
+ Ejemplo:
28
+
29
+ ```
30
+ projects/data-suggestions/src/assets/recomendaciones/destacar-valores-mas-altos.json
31
+ ```
32
+
33
+ ---
34
+
35
+ ## Build de la librería (incluyendo assets)
36
+
37
+ ### 1) Configurar ng-packagr para empaquetar assets
38
+
39
+ Asegúrate de tener este archivo en la librería:
40
+
41
+ `projects/data-suggestions/ng-package.json`
42
+
43
+ con el siguiente contenido:
44
+
45
+ ```json
46
+ {
47
+ "$schema": "../../node_modules/ng-packagr/ng-package.schema.json",
48
+ "dest": "../../dist/data-suggestions",
49
+ "lib": {
50
+ "entryFile": "src/public-api.ts"
51
+ },
52
+ "assets": ["src/assets"]
53
+ }
54
+ ```
55
+
56
+ ---
57
+
58
+ ### 2) Compilar la librería
59
+
60
+ Desde la raíz del workspace:
61
+
62
+ ```bash
63
+ ng build data-suggestions
64
+ ```
65
+
66
+ Verifica que los assets se han copiado correctamente:
67
+
68
+ ```bash
69
+ ls dist/data-suggestions/assets/recomendaciones | head
70
+ ```
71
+
72
+ ---
73
+
74
+ ## Versionado de la librería
75
+
76
+ La versión del paquete se define en el `package.json` fuente de la librería:
77
+
78
+ `projects/data-suggestions/package.json`
79
+
80
+ Ejemplo:
81
+
82
+ ```json
83
+ {
84
+ "name": "data-suggestions",
85
+ "version": "0.0.2"
86
+ }
87
+ ```
88
+
89
+ Después de cambiar la versión, vuelve a compilar:
90
+
91
+ ```bash
92
+ ng build data-suggestions
93
+ ```
94
+
95
+ ---
96
+
97
+ ## Empaquetar la librería (npm pack)
98
+
99
+ En la carpeta de salida del build:
100
+
101
+ ```bash
102
+ cd dist/data-suggestions
103
+ npm pack
104
+ ```
105
+
106
+ Esto generará un archivo similar a:
107
+
108
+ ```
109
+ data-suggestions-0.0.2.tgz
110
+ ```
111
+
112
+ ---
113
+
114
+ ## Instalar la librería en una aplicación Angular
115
+
116
+ En la aplicación Angular que vaya a consumir la librería:
117
+
118
+ ```bash
119
+ npm install /ruta/al/workspace/dist/data-suggestions/data-suggestions-0.0.2.tgz
120
+ ```
121
+
122
+ Comprueba que la instalación se ha realizado correctamente:
123
+
124
+ ```bash
125
+ npm ls data-suggestions
126
+ ```
127
+
128
+ ---
129
+
130
+ ## Configuración de assets en la aplicación consumidora (OBLIGATORIO)
131
+
132
+ Para que la aplicación pueda acceder a los JSON de recomendaciones, es necesario configurar la copia de assets desde la librería.
133
+
134
+ Edita el archivo `angular.json` de la aplicación consumidora y añade la siguiente entrada en:
135
+
136
+ ```
137
+ projects -> <NOMBRE_APP> -> architect -> build -> options -> assets
138
+ ```
139
+
140
+ Ejemplo completo:
141
+
142
+ ```json
143
+ "assets": [
144
+ "src/favicon.ico",
145
+ "src/assets",
146
+ {
147
+ "glob": "**/*",
148
+ "input": "node_modules/data-suggestions/assets",
149
+ "output": "assets"
150
+ }
151
+ ]
152
+ ```
153
+
154
+ Después de modificar `angular.json`, reinicia el servidor de desarrollo:
155
+
156
+ ```bash
157
+ CTRL+C
158
+ ng serve
159
+ ```
160
+
161
+ ---
162
+
163
+ ## Comprobación de assets
164
+
165
+ Abre en el navegador (ajusta el nombre del fichero si es necesario):
166
+
167
+ ```
168
+ http://localhost:4200/assets/recomendaciones/destacar-valores-mas-altos.json
169
+ ```
170
+
171
+ Si el fichero se muestra correctamente, la configuración es correcta.
172
+
173
+ ---
174
+
175
+ ## Uso de la librería (Angular standalone)
176
+
177
+ ```ts
178
+ import { Component } from '@angular/core';
179
+ import { DataSuggestionsTableComponent } from 'data-suggestions';
180
+
181
+ @Component({
182
+ selector: 'app-root',
183
+ standalone: true,
184
+ imports: [DataSuggestionsTableComponent],
185
+ template: `
186
+ <data-suggestions-table [dataset]="dataset" [goal]="goal"> </data-suggestions-table>
187
+ `,
188
+ })
189
+ export class AppComponent {
190
+ dataset = [
191
+ { key: 'A', value: 10 },
192
+ { key: 'B', value: 30 },
193
+ { key: 'C', value: 20 },
194
+ ];
195
+
196
+ goal = 'destacar-valores-mas-altos';
197
+ }
198
+ ```
199
+
200
+ ---
201
+
202
+ ## HttpClient en aplicaciones standalone
203
+
204
+ Si la librería utiliza `HttpClient`, la aplicación consumidora debe proveerlo explícitamente.
205
+
206
+ ```ts
207
+ import { ApplicationConfig } from '@angular/core';
208
+ import { provideHttpClient } from '@angular/common/http';
209
+
210
+ export const appConfig: ApplicationConfig = {
211
+ providers: [provideHttpClient()],
212
+ };
213
+ ```
214
+
215
+ ---
216
+
217
+ ## Problemas comunes
218
+
219
+ ### Error 404 al cargar los JSON
220
+
221
+ - Verifica la configuración de `assets` en `angular.json`.
222
+ - Reinicia `ng serve` tras cualquier cambio.
223
+
224
+ ### Cambios en la librería no se reflejan
225
+
226
+ - Incrementa la versión.
227
+ - Rebuild + npm pack.
228
+ - Reinstala el `.tgz`.
229
+
230
+ ---
231
+
232
+ ## API del componente
233
+
234
+ ```html
235
+ <data-suggestions-table [dataset]="dataset" [goal]="goal"> </data-suggestions-table>
236
+ ```
237
+
238
+ Inputs:
239
+
240
+ - `dataset`: `{ key: string; value: number }[]`
241
+ - `goal`: `string`
@@ -121,7 +121,7 @@
121
121
  },
122
122
  {
123
123
  "visualVariable": "Order",
124
- "sampleSize": "6-9",
124
+ "sampleSize": "5-10",
125
125
  "variability": "High",
126
126
  "recommendation": "Unordered"
127
127
  },
@@ -151,7 +151,7 @@
151
151
  },
152
152
  {
153
153
  "visualVariable": "Grid lines",
154
- "sampleSize": "6-9",
154
+ "sampleSize": "5-10",
155
155
  "variability": "Moderate",
156
156
  "recommendation": "With grid lines"
157
157
  }