¿Construyendo una biblioteca Angular que contenga un proveedor para chart.js con complementos?

Resuelto Ole asked hace 7 meses • 0 respuestas

Estoy intentando crear una biblioteca independiente de Angular para chart.js que incluirá complementos.

Parece que chart.js modifica el ChartConfigurationtipo cuando se registran los complementos para permitir la configuración del complemento.

Si chart.js no hiciera esto, se producirían errores de linting como se muestra en esta pregunta. .

Entonces, por ejemplo, si el complemento de gradiente está registrado así:

import gradient from 'chartjs-plugin-gradient';

Chart.register(...registerables);
Chart.register(gradient);

¿Hay alguna forma de exportar el tipo de configuración de gráfico modificado ( ChartConfiguration) desde una biblioteca Angular de modo que los clientes puedan configurar chart.js con soporte para complementos empaquetados con el proveedor?

De esta manera los clientes podrán importar la configuración modificada de esta manera:

import { ChartConfiguration } from 'angular-chartjs-library';

Y cree instancias de configuración/opción de chart.js que sean compatibles con el tipo de espacio de nombres en ChartConfiguration.

Ole avatar Feb 17 '24 02:02 Ole
Aceptado

Incluso si el servicio empaquetado registra chartjs-plugin-gradient, los clientes que quieran usarlo junto con ChartConfigurationpara obtener soporte escrito para el complemento aún necesitan importarlo chartjs-plugin-gradient, porque agrega el soporte a través de la función de fusión de declaraciones de Typecript .

Entonces, para obtener soporte de escritura para un complemento que se usa con Chart.js, simplemente impórtelo de esta manera y se agregará el soporte:

import gradient from 'chartjs-plugin-gradient';
Naren Murali avatar Feb 17 '2024 04:02 Naren Murali