Commit Graph

32 Commits

Author SHA1 Message Date
Daniel Calviño Sánchez e39db808fb Fix rendering of the sidebar in Files app
When a view is rendered it should not be concerned with where it is
going to be placed in the document; in general this should be a
responsibility of the object using the view.

Moreover, when the details view is rendered it should simply prepare a
skeleton that includes the root elements provided by the plugins; those
elements will be updated by the plugins as needed when a file or a tab
is selected.

Finally, the details view should not be explicitly rendered. The
rendering removes the previous elements, but that is needed only when
the details view is in a dirty state, that is, when new plugins were
added since the last time that it was rendered. However, that dirty
state is internally handled, and the view is automatically rendered
again if needed when a file info is set.

Due to all that the details view is no longer explicitly rendered when
updating it with a different file. Also, as each file list has its own
details view, and each details view has its own element, but there can
be only one details view/sidebar element in the document, when the file
list updates the details view it also replaces the current one in the
document with its own details view if needed (that is, if it is not the
current one already).

Besides that, when the element of a details view is replaced with the
element of a different details view the old one should be detached from
the document, but never removed. Otherwise the event handlers would not
work when that element is attached again later (when changing to a
different section in the Files app and then going back to the previous
one).

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2018-11-22 05:58:25 +01:00
Julius Härtl 838105877c
Merge pull request #11647 from nextcloud/make-possible-for-tab-views-to-add-css-classes-to-their-container
Make possible for tab views to add CSS classes to their container
2018-10-31 15:37:48 +01:00
Roeland Jago Douma 97717ae3a7
Merge pull request #11905 from nextcloud/design/noid/tab-icons
Add icon to file sidebar tabs
2018-10-19 16:53:56 +02:00
Stefan Weil 2ad38200fb Add missing semicolons
This fixes some recommendations from LGTM:

    Avoid automated semicolon insertion (90% of all statements
    in the enclosing function have an explicit semicolon).

Signed-off-by: Stefan Weil <sw@weilnetz.de>
2018-10-19 11:24:24 +02:00
Julius Härtl 45804b5bef
Add icon to file sidebar tabs
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2018-10-18 15:54:17 +02:00
Daniel Calviño Sánchez 53aad9901d Make possible for tab views to add CSS classes to their container
In general the style of the tabs container should not change depending
on which tab is the currently selected one. However, this could be
needed in some very specific cases, so now the tab views can specify the
extra CSS classes to be used in their container when they are selected.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2018-10-04 17:56:23 +02:00
Roeland Jago Douma 187953153a
Move detailsview to compiled handlebars
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-10-04 09:53:44 +02:00
Julius Härtl 16f6c07173
Always call render to replace the app-sidebar if the detail view is updated
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2018-08-03 11:47:53 +02:00
John Molakvoæ (skjnldsv) 8d3f58c391
Jsunit fixes 1
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2018-07-20 23:38:04 +02:00
John Molakvoæ (skjnldsv) d6b718584e
Sidebar fix
Fix sidebar and scrollbar on content
Sidebar fixes, and sidebar-width + header-height variables

Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2018-07-20 23:37:00 +02:00
Kevin Ndung'u 4e1feb5c7b
Add focus indicator for file details view tabs
Signed-off-by: Kevin Ndung'u <kevgathuku@gmail.com>
2018-06-25 18:38:38 +03:00
Morris Jobke 5445b1ff17
Remove unused variables
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-11-06 09:43:45 +01:00
Jan-Christoph Borchardt 9fb37a2990 Add proper labels to various form elements and buttons
Signed-off-by: Jan-Christoph Borchardt <hey@jancborchardt.net>
2017-09-29 19:25:32 +02:00
Daniel Calviño Sánchez 0a3d9f25c1 Make possible to know the registered detail views in a details view
In some cases, an app may need to act on a detail view registered by
another app or the core, for example, to add extra elements to the
element of the detail view.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2017-06-09 03:14:23 +02:00
Vincent Petry a8fb0038e9 Hide sidebar tab headers conditionally
Added canDisplay() in DetailsTabView that should return false if the tab
header of this tab must be hidden
2015-09-28 14:57:44 +02:00
Vincent Petry 5e4a52d3c2 Fix tabs order in files sidebar 2015-09-28 12:30:12 +02:00
Vincent Petry fa725fba73 Properly show sidebar for trash and sharing sections 2015-09-22 15:28:48 +02:00
Vincent Petry 310d797284 Add versions tab to files sidebar
- move versions to a tab in the files sidebar
- added mechanism to auto-update the row in the FileList whenever values
  are set to the FileInfoModel given to the sidebar
- updated tags/favorite action to make use of that new mechanism
2015-09-03 16:47:24 +02:00
Raghu Nayyar 468bde67ff Removes unecessary divs and adds max width to longer names. 2015-08-30 14:17:18 +02:00
Vincent Petry e2549fa660 Improve right sidebar tabs behavior
Tab heads are not rendered if only one tab.

The tab contents is updated on-demand. This means that if a tab is not
visible it is not rendered at first. If the tab was already rendered
through switching, its model will not get updated until the next time it
becomes visible. This will prevent needless rerendering of invisible tab
contents, especially considering that some tabs might need extra ajax
requests.
2015-08-14 16:51:04 +02:00
Vincent Petry c964eff17b Make file actions work from sidebar
The favorite icon in the sidebar now triggers the file action and also
updates itself according to the model's state when triggered from the
file row.

The thumbnail triggers the default action.

Currently only one FileInfoModel is used for the selection and state
synchronization between views.

FileList reload now auto-closes the sidebar.
2015-08-12 17:30:20 +02:00
Vincent Petry 781ba420c9 Use own tabs impl in files sidebar
Also change style.
2015-08-07 01:22:44 +02:00
Arthur Schiwon 5af59c6871 rename sidebar element and use css and js utility functions to core 2015-08-07 01:22:43 +02:00
Arthur Schiwon f508cf40da sidebar shall not overlap but shrink the contnet 2015-08-07 01:22:43 +02:00
Arthur Schiwon 7a982872e7 Main view does not commands detail and tab views to render. Fixes JS tests.
For a predictive behaviour we need to determine who is allowed to call render
methods on the views. Either, the main view is solely allowed to call render
and views do not do anything about output until then. Or, the main view relies
on the concrete views to be ready when things are about to be shown. The latter
approach has the advantage that concrete views know when they have to update
themselves (e.g. new data arrives or information change), but the main view
has now idea of the inner workings.
2015-08-07 01:22:43 +02:00
Vincent Petry 3e44ca6dc2 Added unit tests for right sidebar 2015-08-07 01:22:43 +02:00
Vincent Petry f11946c8c0 Improve layout, fix mime icon 2015-08-07 01:22:43 +02:00
Vincent Petry deb9d4d778 Right sidebar now has its own scrollbar 2015-08-07 01:22:43 +02:00
Vincent Petry ad90ba27cd Styling fixes + hightlight in files sidebar
Sidebar scrolls with contents
Highlight currently show file
2015-08-07 01:22:43 +02:00
Vincent Petry ff614a7dbd More fixes to the right sidebar
Sidebar now works in all file list views.
Moved owner to share tab.
2015-08-07 01:22:43 +02:00
Vincent Petry 12e5f310dd Improved right sidebar
Added owner info.
Added animation, but causes scrollbal.
Default file action now when clicking on name directly.
Fixed icon.
Added empty share tab.
2015-08-07 01:22:42 +02:00
Vincent Petry 9854e71d2c Basic work for right sidebar
Adds right sidebar with registrable panels (still WIP)
2015-08-07 01:22:42 +02:00