aboutsummaryrefslogtreecommitdiffstats
path: root/apps/files/src/views/Navigation.vue
diff options
context:
space:
mode:
Diffstat (limited to 'apps/files/src/views/Navigation.vue')
-rw-r--r--apps/files/src/views/Navigation.vue34
1 files changed, 22 insertions, 12 deletions
diff --git a/apps/files/src/views/Navigation.vue b/apps/files/src/views/Navigation.vue
index 0a7edc3bef9..a907fe4fbf3 100644
--- a/apps/files/src/views/Navigation.vue
+++ b/apps/files/src/views/Navigation.vue
@@ -30,14 +30,15 @@
:open="view.expanded"
:pinned="view.sticky"
:title="view.name"
- :to="{name: 'filelist', params: { view: view.id }}"
- @update:open="onToggleExpand(view)">
+ :to="generateToNavigation(view)"
+ @update:open="onToggleExpand($event, view)">
<NcAppNavigationItem v-for="child in childViews[view.id]"
:key="child.id"
:data-cy-files-navigation-item="child.id"
+ :exact="true"
:icon="child.iconClass"
:title="child.name"
- :to="{name: 'filelist', params: { view: child.id }}" />
+ :to="generateToNavigation(child)" />
</NcAppNavigationItem>
</template>
@@ -167,16 +168,13 @@ export default {
})
newAppContent.classList.remove('hidden')
- // Trigger init if not already done
- window.jQuery(newAppContent).trigger(new window.jQuery.Event('show'))
+ // Triggering legacy navigation events
+ const { dir = '/' } = OC.Util.History.parseUrlQuery()
+ const params = { itemId: view.id, dir }
- // After show, properly send the right data
- this.$nextTick(() => {
- const { dir = '/' } = OC.Util.History.parseUrlQuery()
- const params = { itemId: view.id, dir }
- window.jQuery(newAppContent).trigger(new window.jQuery.Event('show', params))
- window.jQuery(newAppContent).trigger(new window.jQuery.Event('urlChanged', params))
- })
+ logger.debug('Triggering legacy navigation event', params)
+ window.jQuery(newAppContent).trigger(new window.jQuery.Event('show', params))
+ window.jQuery(newAppContent).trigger(new window.jQuery.Event('urlChanged', params))
}
@@ -214,6 +212,18 @@ export default {
},
/**
+ * Generate the route to a view
+ * @param {Navigation} view the view to toggle
+ */
+ generateToNavigation(view) {
+ if (view.params) {
+ const { dir, fileid } = view.params
+ return { name: 'filelist', params: view.params, query: { dir, fileid } }
+ }
+ return { name: 'filelist', params: { view: view.id } }
+ },
+
+ /**
* Open the settings modal
*/
openSettings() {