Ordonnement des tables de liens par glisser déposer
Depuis l'intégration d'ordoc, Le plugin Médias contient une base qui est presque générique pour ordonner par glisser déposer sur n'importe quelle table de liens : des scripts JS qui s'occupent du glisser déposer, et des fonctions PHP pour l'ordonnement.
Il devrait sans doute être possible de sortir ces éléments du plugin pour les mettre directement dans le core, en les rendant vraiment génériques. Il y aurait donc une API et des scripts pour l'ordonnement dans le core.
Ensuite pour les objets qui souhaiteraient en bénéficier, il y aurait juste à faire ceci pour les cas simples :
- Ajouter une colonne de rang sur la table de liens.
rang_lien
semble être un bon candidat pour le nom par défaut puisque déjà employé sur les documents. - Ajouter les attributs et éléments nécessaires dans le HTML des listes de liens.
Dans le core et les plugins dist, ça pourrait être implémenté sur les auteurs et les mots par exemple.
Et pour les plugins de la zone, plus besoin de réimplémenter les mêmes choses à chaque fois : sélections éditoriales, etc.
Je ne rentre pas plus dans le détail pour l'instant : il y a des limites et des cas spéciaux à prévoir, des choses à finir de formaliser, etc. J'en parlerai après.
Ça serait peut-être jouable pour SPIP 5.
Enfin, pour l'instant je limite la proposition aux tables de liens. Peut-être que ça pourrait être étendu aux tables principales par la suite, à voir plus tard (en attendant il y a le plugin Rang de toute façon).
Nb : en lien notamment avec mots#4399 et spip-contrib-extensions/encarts#3