Yayaw
Documentation
Intégrations

Mettre à jour le code copié

Intégrer les évolutions en préservant vos adaptations locales.

Traitez une mise à jour du registre comme une modification de sources. Enregistrez vos fichiers actuels, inspectez le diff puis vérifiez le comportement intégré dans votre application.

Ordre de mise à jour

  1. Identifiez l’utilisation du registre courant ou d’un instantané.

  2. Lisez le changelog et le diff du registre.

  3. Mettez à jour sources et dépendances ensemble.

  4. Réconciliez explicitement les personnalisations.

  5. Vérifiez les types, la recherche, les mutations, les vues et les exports.

  6. Notez la version ou le commit installé pour la prochaine mise à jour.

Points de compatibilité connus

TanStack Table 9 remplace les API internes v8 ; importez les types liés au tableau via l’adaptateur copié lors d’une extension. Yayaw continue de sérialiser left et right pour l’épinglage alors que le moteur v9 utilise start et end. Fournissez le QueryClient partagé requis par React. Actualisez les styles Vue avec les composants et installez les nouvelles dépendances Shadcn comme Empty.

Préserver les états enregistrés

Changer un libellé conserve la compatibilité lorsque l’identifiant de colonne reste stable. Renommer ou supprimer cet identifiant impose de vérifier filtres, ordre, groupement et réglages des cartes qui le référencent. Gardez les données sérialisables des vues distinctes du code de rendu. Consultez la compatibilité avant d’utiliser des exemples d’une distribution plus récente.

Le clic sur une ligne ouvre désormais la vue enregistrement

Avec rowClickMode: 'default' (la valeur par défaut), un clic sur une ligne ouvre désormais la vue enregistrement dans tous les modes d’affichage, au lieu de ne rien faire quand aucune édition, aucun lien ni aucun gestionnaire onRowActivate n’était configuré. Les applications qui comptaient sur l’absence d’effet d’un simple clic doivent passer details={false} (:details="false" en Vue) et omettre onOpenDetails/onRowActivate, ou définir rowClickMode: 'none', pour conserver des clics inertes après la mise à jour.

Les règles de date portent des jours (v3.8.0)

FilterValues<"date"> vaut désormais CalendarDay | [CalendarDay, CalendarDay], où CalendarDay est une chaîne AAAA-MM-JJ, au lieu de Date | [Date, Date]. DateFilter et CompactDateFilter appellent onValueChange avec des jours et lisent toujours les anciennes valeurs, DateRangeShortcuts appelle onSelect avec des jours, et getDefaultFilterValue retourne le jour courant. Le code qui construit des règles de date avec des objets Date doit passer des jours à la place ; les anciennes valeurs Date sont toujours lues comme les jours du lecteur. Sur votre serveur, comparez des jours comme le décrit Règles de date, et faites passer les règles enregistrées par normalizeDateFilterRules là où aucun navigateur ne les lit d’abord.

Les tableaux de bord passent en version 2 (v3.8.0)

Dashboard est désormais le JSON en version 2 : des sections placent ses widgets. Typez les littéraux en version 1 avec DashboardV1 (ou unknown lorsqu’ils viennent du stockage) ; dashboard.layout est désormais le layout d’une section en grille ; applyGridLayout(section, items) prend une section, et applyDashboardSectionLayout(dashboard, sectionId, items) modifie un document. validateDashboard retourne ok et migratedFrom, et chaque problème a une severity et un path. Les documents en version 1 enregistrés se chargent toujours et sont enregistrés en version 2, que v3.7.0 refuse : mettez d’abord à jour tout ce qui lit vos tableaux de bord. Le name d’un bloc est désormais son label, et DashboardBlockDefinition devient DashboardBlockSchema. Voir Tableau de bord.

Ordre des vues et débordement « … » (v3.9.0)

Chaque personne peut ordonner ses vues enregistrées ; voir Ordre des vues. TableViewActions.list répond désormais TableViewListResult ({ data, order? }), et l’action facultative setOrder garde l’ordre sur votre serveur ; sans elle, l’ordre reste dans le navigateur. createLocalTableViewActions() retourne LocalTableViewActions, sans setOrder : le code qui la typait en Required<TableViewActions> utilise le nouveau type. Le débordement des onglets est désormais un bouton à icône nommé views.more (Vue moreViews) : traduisez-le par « Plus de vues ». Les nouvelles clés sont listées dans Traductions des onglets de vues.

L’éditeur d’écran (v3.9.0)

La fenêtre de widget du tableau de bord remplace AddWidgetDialog en React (dashboard-dialogs.tsx) et DashboardAddWidget.vue en Vue. addDashboardWidget et moveWidgetToSection prennent blocks, pour qu’un bloc arrive là où son placement le permet. ToolbarActionContext gagne getViewConfig(), et DashboardBlockProps gagne setFilter et filterRules : le code qui construit l’un ou l’autre lui-même, comme un test, les ajoute. L’élément tableau de bord de React installe désormais les composants shadcn alert-dialog et command. Voir Modifier un écran.

Pages, premier chargement et ordre des colonnes (v3.9.1, v3.9.2)

Aucune API ne disparaît, mais vérifiez trois contrats. Votre action list répond à une page au-delà de la dernière avec meta.totalCount et meta.pageCount et aucune ligne, pas une erreur : la table passe alors à la dernière page que donnent ces comptes (voir La page affichée). Un mode d’affichage personnalisé charge ses données au montage, puis de nouveau quand revision ou la requête de listParams change : React le monte une seule fois, avec la première page, et lui passe les mêmes rows tant que les données ne changent pas ; en Vue, revision ne bouge plus pendant le chargement de la première page. L’option getRowId de useTableUrlData est ignorée en React : les lignes gardent l’ordre que renvoie list, et {tableId}-order ne contient que l’ordre des colonnes.

Une table React démarre désormais dans son columns.order, comme en Vue, et n’écrit aucun ordre de colonnes d’elle-même dans l’URL : seuls le déplacement d’une colonne ou l’application d’une vue en écrivent un. Une table dont le columns.order diffère de ses définitions affiche ses colonnes dans cet ordre et s’ouvre sur le favori ou une vue isDefault (voir État URL) ; le menu Propriétés et l’export groupé suivent le même ordre. Appliquer une vue enregistrée ou masquer une colonne ne remonte plus la table React.