<Context>Container:- injecte le bon composant
<Context>Toolbar - injecte des props de contexte :
canSort,canDrop,canUpload,canCreateFolder,isTrashContext(pas heureuse celle-là...) - injecte les actions sur une sélection, qui sont aussi utilisées pour l'action menu.
FolderView:- layout
- passe des éléments de contexte à la Toolbar :
folderId,canUpload... - passe 1 élément de contexte à
FileList:canSort... - passe les actions sur une sélection en prop à
SelectionBaretFileList
- injecte le bon composant
<Context>Toolbar(composant container ou connecté) :- injecte des actions redux (actions sur les fichiers et actions d'UI comme
showSelectionBar) qui sont utilisés par les items du menu more et les boutons - injecte des props de contexte de partage (via un wrapper
SharedDocument) commeisShared,hasWriteAccess.. ET une action relative au partage et utilisée dans le menu more :onLeave<Context>Toolbar:- layout (boutons, destinataires de partage (éventuellement), menu more) : le responsive est géré en pur CSS
- contenu du menu more en fonction des props de contexte
- injecte des actions redux (actions sur les fichiers et actions d'UI comme
FolderView: layoutToolbar, wrappé par unFolderContextqui injecte des props de contexte :canSort,canDrop,canUpload,canCreateFolder,isTrashView,isRecentsView,isShared,hasWriteAccess, ... => décide de laToolbarà afficher :RootFolderToolbar,FolderToolbar,SharedFolderToolbar,TrashToolbar...FolderToolbar: layout et surtout contenu du menu more<Action>MenuItem: entrée de menu connecté à l'action (redux ou non), par exSelectFilesMenuItem
FileList, wrappé par unFolderContent(?) qui injecte la liste des fichiers, lecanSort(?), les actions possibles sur un item ou une sélection en fonction du contexte