Découpage en containers et components - vue thread
Opened this issue · 0 comments
Affichage d'une discussion
7 composants (ou conteneurs - à rediscuter) :
1. ViewHeadBar
Parameters :
- background color (default to black)
- foreground color (default to white)
- icon (eg 'fa-comments fa-invert')
- label
Callbacks to be usable
- onclick on close button
Note: this is a generic component. We do not have a ThreadViewHeadBar but instantiate a ViewHeadBar with right parameters
2. ViewToolbar
Parameters:
- list of buttons (icon, title, callback)
Note: this is a generic component. We do not have a ThreadViewToolbar but we will instantiate a ThreadToolbarBar with 3 buttons : archive, delete, change status buttons
3. AvatarBubble
Parameters :
- url of the image
- name of the personn (eg. : Damien Accorsi)
Behavior : if no url found, show first letter of the name (D in the previous example) with a background color computed using a hash:
int hash = name.getHashCode();
int r = (hash & 0xFF0000) >> 16;
int g = (hash & 0x00FF00) >> 8;
int b = hash & 0x0000FF;
example taken from https://stackoverflow.com/questions/11120840/hash-string-into-rgb-color
4. MessageBubble
Parameters :
- background-color
- foreground-color
- message (html)
5. MessageEntryForm
Parameters :
- text (for edit case)
- validate button label
Callback :
- onclick du bouton
Affiche un formulaire de saisie de texte avec le bouton envoyer
Note :
- sur PC l'affichage sera le rich text (tinymce) avec bascule possible
- sur tablette ou mobile, l'affichage sera en mode "text simple"
Idéalement, ce n'est pas lié à la taille de l'écran mais au type de device (ie avec ou sans clavier)
Autre note : ce composant devrait utiliser un composant RichTextEntry qui lui encapsule l'éditeur riche TinyMCE
6. HistoryPanel
Parameters :
- items : liste d'items composant l'history (des composants de type #8 ou autre)
Cet élément contient les éléments d'historique sans permettre aucune action (à part qu'il est scrollable)
7. ThreadView
C'est le composant / container qui représente le contenu réel
Celui ci est spécialisé par type de contenu car selon le type de contenu il va paramétrer le menu différemment, la liste d'historique aussi, etc, etc
8. HistoryMessageView
Paramètres :
- avatar (Component)
- message_bubble (Component)
- left_or_right