Présentation sur HN : DataSheetGrid, un composant React au format Airtable
(react-datasheet-grid.netlify.app)Présentation de React Datasheet Grid
- React Datasheet Grid est un composant React similaire à Airtable, qui permet de créer de magnifiques feuilles de calcul.
- Partenariat avec Tggl.io, qui aide les équipes produit et techniques à lancer plus rapidement des produits de meilleure qualité et à améliorer les taux de conversion.
- Fournit le composant
DataSheetGrid, simple à utiliser : il suffit de le connecter à l’état.
Facilité d’utilisation
React Datasheet Gridest plus facile à utiliser qu’un<input />.- Permet de gérer et de modifier l’état des lignes du tableur avec
useState.
Performances
- Vitesse optimisée grâce à une architecture virtualisée, capable de gérer facilement plusieurs centaines de milliers de lignes.
- Performances optimisées avec un rendu minimal ; suivez le guide de performance pour tirer le maximum de DSG.
Personnalisation
- Permet de contrôler tous les comportements du tableur, d’implémenter vos propres widgets et de personnaliser le style de DSG pour l’adapter à votre application.
Richesse fonctionnelle
- Prend en charge le copier-coller depuis Excel, Google Sheets, Notion, etc.
- Prise en charge complète de la navigation clavier et des raccourcis.
- Prise en charge du clic droit et des menus contextuels personnalisés.
- Prise en charge du glisser du coin pour étendre la sélection.
- Animations fluides.
- Construit avec Typescript.
L’avis de GN⁺
Le plus important avec React Datasheet Grid, c’est sa facilité d’utilisation, ses excellentes performances, ses possibilités de personnalisation et sa richesse fonctionnelle. Ce composant peut permettre aux développeurs d’implémenter rapidement et efficacement des fonctions de tableur, contribuant ainsi à améliorer l’expérience utilisateur et à réduire le temps de développement produit. Pour ces raisons, cela peut devenir un outil très intéressant pour les développeurs logiciels.
1 commentaires
Commentaires Hacker News
C'est une décision très judicieuse d'avoir axé l'objectif du projet non pas sur la course aux fonctionnalités, mais sur la facilité d'extension.
Cette semaine, nous avons commencé à utiliser dans un projet une interface « édition de chaque ligne dans une boîte de dialogue » en remplacement d'un mode d'édition de tableau inline. Cela a très bien fonctionné tel quel, et j'ai écrit mon propre composant de colonne pour gérer la validation avec un popover sur chaque cellule.
Le composant DataSheetGrid est considéré comme le Graal de l'UX/UI, mais il est vraiment complexe d'y inclure tous les détails. Je lui souhaite toute la réussite et tout le financement possible. On voit cette histoire se répéter, que ce soit sur le web ou sur desktop, au-delà même de la plateforme de base.
Ce composant a l'air bien, mais il lui manque quelques fonctionnalités clés présentes dans Airtable ou MUI DataGrid (tri/filtrage, gel des lignes/colonnes, ligne d'agrégation, pivot, etc.).
À première vue, ça a l'air chouette, mais le texte héro qui change en permanence en haut de la page fait bouger la page de haut en bas, ce qui rend le reste difficile à lire. (sur Firefox iOS)
Quelqu'un se souvient-il de ce qui est arrivé à DataTables ? Cet outil était mauvais mais tellement utilisé que son auteur faisait payer le support.
La façon dont le rectangle de focus se déplace réellement d'un endroit à l'autre quand on clique sur une autre cellule est agaçante. Si on clique quelques cases plus loin, on peut voir le rectangle de focus bleu filer rapidement vers la nouvelle cible. Google ne fait pas ça.
Ce composant a vraiment l'air très bien, et j'en aurais eu besoin il y a un mois. Je vais l'essayer.
Sur iOS, on ne peut pas coller dans une cellule, mais on peut taper. Est-ce le comportement prévu ou un bug ? Le collage fonctionne-t-il sur la version desktop ?
Merci à @nick-keller. J'ai découvert ça il y a un mois, et cela semblait très prometteur. La sélection de plage est disponible par défaut (fonctionnalité pro sur certaines solutions alternatives), et les cellules sont personnalisables. En revanche, il n'y a pas de démo montrant ce qu'il est réellement possible de faire, donc les meilleurs exemples ne sont montrés qu'en captures d'écran sur la landing page de la section « personnalisable ». J'ai eu du mal à créer des en-têtes personnalisés et des menus d'en-tête, puis je suis passé à AG-Grid où j'ai implémenté ma propre sélection de plage.