Vamos a establecer la propiedad sortable en true, y quiero que vincules la constante default call def a la propiedad default call def en el componente AG Grid React, y luego podemos anular esa propiedad sortable a false para una de las columnas si queremos. Déjame tomar este enlace y dejarlo en el chat para ti. Así que, ¿por qué no abres ese ejercicio, y luego lo haremos juntos. Vamos a abrir el ejercicio en StackBlitz. Vamos a definir una nueva constante de definición de columna predeterminada, así que hagámoslo primero. Así que voy a venir aquí. Veamos, const default. Haré punto. Y esto va a ser de tipo call def, y luego puedo especificar el genérico T data para ser mis datos de fila, y voy a establecer sortable en true. Baja a mi componente, y vamos a establecer la definición de columna predeterminada así. Y así debería poder ordenar todos estos. Ahora voy a anular eso, y voy a decir para el campo de nombre, establezcamos sortable en false. Y ahora, ¿qué hice aquí? Permitir sortable. Tal vez no se recargó. Oh, no guardé. Bien, ahora puedo, si estoy haciendo clic en el nombre, columna, encabezado, puedo ver que no puedo ordenarlo, pero aún puedo ordenar por color. Y puedes usar la definición de columna predeterminada. Lo que me gusta hacer aquí en un proyecto a menudo es que podrías tener un par de diferentes predeterminados basados en diferentes estilos o tipos de cuadrículas, pero es realmente genial poder poner esos en un módulo, o una biblioteca, o algo así, y exportar eso, y luego puedes compartir eso a través del proyecto. Si tienes como múltiples proyectos en múltiples repositorios, también puedes publicar un NPM tal vez a un repositorio interno, o algo usando un artefacto, como lo que es el artifactory, o lo que sea, tratando de pensar en el nombre del producto. Puedes tener tu propio NPM privado, o podrías, si trabajas para una gran empresa que tiene muchas cosas on-prem, puedes construir tu propio tipo de repositorio personalizado, y publicar una biblioteca, y puedes exportar esas definiciones de columna predeterminadas, usarlas en múltiples proyectos en toda tu organización, y luego si estás usando una solución, como un mono repositorio, puedes tener una biblioteca que exporta esa constante de definición de columna predeterminada, y luego puedes usar eso en todas tus implementaciones de AG Grid, y todos tus proyectos. Y eso se vuelve realmente útil solo para hacer cumplir, o para proporcionar, algo de la misma funcionalidad, porque solo estamos viendo aquí un poco los comienzos de AG Grid con sortable. Como puedes imaginar, hay muchas características, y cosas que puedes hacer con AG Grid más allá de ordenar, y con la definición de columna predeterminada es donde realmente podrías conectar y proporcionar alguna funcionalidad avanzada que quieras en todas tus cuadrículas, y compartir eso a través de tus proyectos.
Bien, entremos en algo de filtrado. Así que AG Grid viene con varios filtros proporcionados. Puedes filtrar valores de texto, números y fechas, y luego también hay algunos filtros adicionales que vienen con la Edición Enterprise, como el filtrado de conjuntos. El filtro de texto es el predeterminado, y podemos habilitar el filtrado configurando la propiedad de definición de columna filter en true. Así que solo activamos esa función en una base por columna, y por supuesto, acabamos de aprender sobre las definiciones de columna predeterminadas, así que podríamos habilitar el filtrado para todas las columnas por defecto configurando esa propiedad en nuestra definición de columna predeterminada. Bien, echemos un vistazo al filtro de texto. Así que bastante fácil aquí. Aquí está nuestra definición de columna para nuestro campo de nombre, y voy a establecer filter en true. También podemos usar explícitamente el filtro de texto proporcionado, y verás esto cuando lleguemos al filtro de fecha y al filtro de número. Los filtros se registran usando una cadena, y AG Grid proporciona algunos proporcionados, como los filtros integrados, y esos siempre comenzarán con ag en minúsculas, y puedes registrar y construir tus propios filtros. Y así en este caso, puedo establecer explícitamente el filtro para ser el filtro de columna de texto ag si quiero. Nuevamente, el valor booleano true usará el filtro de columna de texto. También podemos usar el filtro de número. Así que si queremos poder filtrar en base a enteros y flotantes, podemos usar el filtro de columna de número ag. Así que en este caso, tengo mis productos, y mi producto tiene un precio asociado, y así puedo habilitar el filtro de columna de número para esa columna de precio. De esa manera, el usuario puede filtrar en base al precio de los productos, y eso les permitirá filtrar en base a como mayor que menor que, igual a, y esos tipos de opciones de filtro. Y veremos eso aquí una vez que entremos en el ejercicio. También tengo un filtro de fecha.
Así que AG Grid viene de fábrica con un filtro de fecha proporcionado, y para usar eso establezco el filtro en filtro de columna de fecha ag. Bien, entremos directamente en un ejercicio. Así que lo que queremos hacer en este ejercicio es que vamos a establecer la columna de nombre del cliente para usar el filtro de texto. Vamos a establecer la columna de número de cuenta para usar el filtro de número. Y vamos a establecer la columna de fecha de pedido para usar el filtro de fecha proporcionado. Y luego para la columna total, también usaremos el filtro de texto. Así que adelante y configura eso. Nuevamente, vamos a configurar la propiedad filter en base a las cadenas. Así que lo que voy a hacer es darte un par de estos, voy a dejarlos en el chat. Nuevamente, siempre puedes mirar la solución si no recuerdas exactamente cómo se escriben, no espero que lo hagas. Pero déjame dejarlos en el chat para que también los tengas. Y recuerda, el filtro de texto es, ups, déjame volver. El filtro de texto, puedes simplemente configurarlo en true o puedes usar el nombre completo del filtro. También está ese. Así que volveremos a nuestro ejercicio. Adelante y abre ese ejercicio en StackBlitz. Déjame copiar ese enlace para ti. Abre ese ejercicio en StackBlitz. Y verás que tenemos un montón de columnas especificadas. Y agreguemos algunos filtros a esas columnas. Así que agreguemos el filtro de texto al nombre del cliente, filtro de número al número de cuenta, el filtro de fecha a la fecha de pedido, y el filtro de texto a la columna total. Y luego haré ese ejercicio. Lo haremos juntos aquí en un minuto o dos. ¿Por qué no tomas un par de minutos y trabajas en ese pequeño ejercicio? Como siempre, si necesitas referirte a GitHub para echar un vistazo a la solución, siéntete libre de hacerlo. Sí, es un filtro realmente agradable, poder agregar rápidamente algunos filtros a las columnas. Y por supuesto, podemos, como mencioné antes, podemos habilitar, digamos que solo queremos tener un filtro de texto disponible en todas las columnas por defecto. Y luego tal vez solo algunas de nuestras columnas, queremos anular eso para ser tipos específicos de filtros. Y de fábrica, obtienes un filtro de texto, un filtro de número y un filtro de fecha. Y vamos a hablar sobre un pequeño matiz aquí con el filtro de fecha en un segundo. Porque podrías encontrarte con un problema con ese. Pero sí, realmente agradable tener ese filtrado simple directamente de fábrica para que nuestros usuarios lo usen. Adelante y deja un pulgar arriba en el chat. Quiero asegurarme de que tengas suficiente tiempo para estos ejercicios. Al principio, me muevo un poco rápido a través de estos solo porque no quiero que, el punto de estos ejercicios no es, ¿obtienes tus músculos y tus dedos, no es un curso de mecanografía. No estoy tratando de enseñarte a escribir definiciones de columna. Así que si sientes que, ah, solo quiero ir a copiar-pegar cosas, no te preocupes, así es como se hace aquí con algunas de estas cosas. Así que sí, déjame un pulgar arriba, genial. Eso me dice que estás listo para el ejercicio. E incluso si no hiciste el ejercicio y solo estás como, sigamos adelante, Brian, creo que lo tengo. No necesito hacerlo o lo que sea. Solo dame un pulgar arriba, eso me dice que todos están listos para seguir adelante para que no me mueva demasiado rápido. Quiero asegurarme de que tengas tiempo para jugar con este producto y aprender algo de él. Bien, tengo una pregunta de Artem. ¿Podemos usar algunos componentes personalizados en los filtros? Absolutamente. Quiero decir, insertar entrada personalizada para algún campo con lógica o diseño personalizado que filtre datos en la cuadrícula. Sí, es la respuesta. Como puedes imaginar implementando eso, entraremos en algunos de los componentes personalizados hoy, pero puedes implementar componentes personalizados para filtrar, para editar, para renderizar celdas, todo tipo de cosas.
Comments