Développement de la nouvelle interface (vmi) et intégration dans Vidjil
Notes et documentation
Le module développé pour la nouvelle interface est actuellement appelé vmi, pour View Management Interface. Il est composé des fichiers vmi.js
et vmi.css
.
Une variable vmi
est définie et contient les attributs/fonctions nécessaires à la gestion des vues, notamment le constructeur vmi.View
. La documentation des différentes fonctions a été ajoutée dans vmi.js
.
Les fichiers vmi_mocker
(js et css) ne font pas partie du module à proprement parler, mais regroupent le code JavaScript et les règles CSS utilisés pendant la conception du prototype -notamment les "fausses" vues/blocs de couleur- et ne devraient à terme plus avoir d'utilité.
Le module est voulu indépendant de Vidjil et son contenu ne doit pas y être lié, les valeurs particulières et les besoins de l'application doivent figurer dans l'utilisation du module par celle-ci.
Il est en revanche dépendant de jQuery.
-
Les media queries présentes dans
vmi.css
sont certainement plus liée à Vidjil qu'à vmi. Par extension, cet aspect du responsive est sans doute différent de l'objectif de vmi ; et pourrait se retrouver dans d'autres fichiers (accompagné des changements de taille de police et d'autres adaptations nécessaires à une bonne lisibilité sur de petits écrans). D'autre part, les valeurs actuellement présentes dans ces media queries sont amenées à changer, elles ont pour l'instant permis de tester le fonctionnement attendu mais ne seront sans doute pas les plus judicieuses une fois l'interface prête. -
Le travail sur le remplissage des panels et redimensionnement des vues est à compléter (je l'avais mis de côté pour passer aux interactions avec le menu), en témoignent les espaces blancs qui apparaissent avec les vues 5 et 6 (
solid
) du mocker. -
Dans certains cas, et pour une raison que je n'ai pas encore pu déterminer, le mode "edit" (actuellement déclenché par ctrl+clic sur une vue dans le menu) ne s'active pas. Le comportement se rétablit généralement après suppression(s)/rétablissement(s) des vues.. Ca reste mystérieux, à surveiller
-
Le
menu-container
est pour l'instant copié dansindex2.html
, pour permettre au chargement des données de fonctionner et de donner des choses à afficher aux vues. C'est une solution temporaire puisque d'après ce que j'ai compris, le menu actuel est amené à bouger ou disparaître -
Les dernières modifications sur la branche
feature-c/prototype2
portent sur le problème décrit ici en commentaire et sur 2d446f4d. Les choses à surveiller à ce sujet sont les accès au DOM dans lesinit
,update
,resize
, et certaines réactions d'affichage entre les vues (par exemple le highlight des clones entre la liste, le scatterplot et le graphe). Les commits liés à l'implémentation du booléenvmi.View.on
, càd l'autre solution, ont été annulés sur cette branche mais sont toujours accessibles dansfeature-c/prototype-vmi_View_on
si besoin -
Les emplacements (
parentId
) donnés dans les appels àvmi.View
sont "arbitraires", et correspondent à l'interface actuelle, ils pourront changer -
Une fonctionnalité intéressante, une fois l'intégration de vmi au point, serait de pouvoir stocker les choix d'affichage comme "préférences utilisateur"
-
Avancement au moment d'écrire ces notes : les vues apparaissent dans le bon panel, mais leur contenu n'est pas encore opérationnel, le blocage semble venir de la récupération des données (voir les erreurs en console au chargement)
Je crois que l'essentiel y est, j'éditerai si d'autres choses me reviennent. Par ailleurs, je me tiens à votre disposition ici ou par mail, si certains points concernant vmi restent obscurs notamment, ou pour toute autre chose !