mirror of
https://github.com/scinote-eln/scinote-web.git
synced 2025-10-31 00:19:20 +08:00
Add option to reload navigator and all expanded children [SCI-10345]
This commit is contained in:
parent
338782de1e
commit
312fb80d44
5 changed files with 37 additions and 8 deletions
|
|
@ -8,7 +8,8 @@ function addNavigationNavigatorContainer() {
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
reloadCurrentLevel: false,
|
reloadCurrentLevel: false,
|
||||||
reloadChildrenLevel: false
|
reloadChildrenLevel: false,
|
||||||
|
reloadExpandedChildrenLevel: false
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
|
|
@ -25,6 +26,14 @@ function addNavigationNavigatorContainer() {
|
||||||
|
|
||||||
// refresh action toolbar width on navigator toggle, take into account transition time of .4s
|
// refresh action toolbar width on navigator toggle, take into account transition time of .4s
|
||||||
if (window.actionToolbarComponent) setTimeout(window.actionToolbarComponent.setWidth, 401);
|
if (window.actionToolbarComponent) setTimeout(window.actionToolbarComponent.setWidth, 401);
|
||||||
|
},
|
||||||
|
reloadNavigator(withExpandedChildren = false) {
|
||||||
|
this.reloadCurrentLevel = true;
|
||||||
|
if (withExpandedChildren) {
|
||||||
|
this.reloadExpandedChildrenLevel = true;
|
||||||
|
} else {
|
||||||
|
this.reloadChildrenLevel = true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
watch: {
|
watch: {
|
||||||
|
|
@ -41,6 +50,13 @@ function addNavigationNavigatorContainer() {
|
||||||
this.reloadChildrenLevel = false;
|
this.reloadChildrenLevel = false;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
reloadExpandedChildrenLevel() {
|
||||||
|
if (this.reloadExpandedChildrenLevel) {
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.reloadExpandedChildrenLevel = false;
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
|
||||||
|
|
@ -30,6 +30,7 @@
|
||||||
:reloadCurrentLevel="reloadCurrentLevel"
|
:reloadCurrentLevel="reloadCurrentLevel"
|
||||||
:paddingLeft="0"
|
:paddingLeft="0"
|
||||||
:reloadChildrenLevel="reloadChildrenLevel"
|
:reloadChildrenLevel="reloadChildrenLevel"
|
||||||
|
:reloadExpandedChildrenLevel="reloadExpandedChildrenLevel"
|
||||||
:archived="archived" />
|
:archived="archived" />
|
||||||
</perfect-scrollbar>
|
</perfect-scrollbar>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -62,7 +63,8 @@ export default {
|
||||||
},
|
},
|
||||||
props: {
|
props: {
|
||||||
reloadCurrentLevel: Boolean,
|
reloadCurrentLevel: Boolean,
|
||||||
reloadChildrenLevel: Boolean
|
reloadChildrenLevel: Boolean,
|
||||||
|
reloadExpandedChildrenLevel: Boolean
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
sortedMenuItems() {
|
sortedMenuItems() {
|
||||||
|
|
|
||||||
|
|
@ -33,6 +33,7 @@
|
||||||
:paddingLeft="24 + paddingLeft"
|
:paddingLeft="24 + paddingLeft"
|
||||||
:reloadCurrentLevel="reloadCurrentLevel"
|
:reloadCurrentLevel="reloadCurrentLevel"
|
||||||
:reloadChildrenLevel="reloadChildrenLevel"
|
:reloadChildrenLevel="reloadChildrenLevel"
|
||||||
|
:reloadExpandedChildrenLevel="reloadExpandedChildrenLevel"
|
||||||
:item="item"
|
:item="item"
|
||||||
:archived="archived" />
|
:archived="archived" />
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -52,7 +53,8 @@ export default {
|
||||||
archived: Boolean,
|
archived: Boolean,
|
||||||
paddingLeft: Number,
|
paddingLeft: Number,
|
||||||
reloadCurrentLevel: Boolean,
|
reloadCurrentLevel: Boolean,
|
||||||
reloadChildrenLevel: Boolean
|
reloadChildrenLevel: Boolean,
|
||||||
|
reloadExpandedChildrenLevel: Boolean
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
|
@ -112,6 +114,11 @@ export default {
|
||||||
this.loadChildren();
|
this.loadChildren();
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
reloadExpandedChildrenLevel() {
|
||||||
|
if (this.reloadExpandedChildrenLevel && this.childrenExpanded) {
|
||||||
|
this.loadChildren();
|
||||||
|
}
|
||||||
|
},
|
||||||
reloadCurrentLevel() {
|
reloadCurrentLevel() {
|
||||||
if (this.reloadCurrentLevel && this.children.find((item) => item.id == this.currentItemId)) {
|
if (this.reloadCurrentLevel && this.children.find((item) => item.id == this.currentItemId)) {
|
||||||
this.loadChildren();
|
this.loadChildren();
|
||||||
|
|
|
||||||
|
|
@ -44,18 +44,18 @@
|
||||||
ref="exportModal"
|
ref="exportModal"
|
||||||
></ConfirmationModal>
|
></ConfirmationModal>
|
||||||
<EditProjectModal v-if="editProject" :userRolesUrl="userRolesUrl"
|
<EditProjectModal v-if="editProject" :userRolesUrl="userRolesUrl"
|
||||||
:project="editProject" @close="editProject = null" @update="updateTable" />
|
:project="editProject" @close="editProject = null" @update="updateTable(); updateNavigator()" />
|
||||||
<EditFolderModal v-if="editFolder" :folder="editFolder"
|
<EditFolderModal v-if="editFolder" :folder="editFolder"
|
||||||
@close="editFolder = null" @update="updateTable" />
|
@close="editFolder = null" @update="updateTable(); updateNavigator()" />
|
||||||
<NewProjectModal v-if="newProject" :createUrl="createUrl"
|
<NewProjectModal v-if="newProject" :createUrl="createUrl"
|
||||||
:currentFolderId="currentFolderId" :userRolesUrl="userRolesUrl"
|
:currentFolderId="currentFolderId" :userRolesUrl="userRolesUrl"
|
||||||
@close="newProject = false" @create="updateTable" />
|
@close="newProject = false" @create="updateTable(); updateNavigator()" />
|
||||||
<NewFolderModal v-if="newFolder" :createFolderUrl="createFolderUrl"
|
<NewFolderModal v-if="newFolder" :createFolderUrl="createFolderUrl"
|
||||||
:currentFolderId="currentFolderId" :viewMode="currentViewMode"
|
:currentFolderId="currentFolderId" :viewMode="currentViewMode"
|
||||||
@close="newFolder = false" @create="updateTable" />
|
@close="newFolder = false" @create="updateTable(); updateNavigator()" />
|
||||||
<MoveModal v-if="objectsToMove" :moveToUrl="moveToUrl"
|
<MoveModal v-if="objectsToMove" :moveToUrl="moveToUrl"
|
||||||
:selectedObjects="objectsToMove" :foldersTreeUrl="foldersTreeUrl"
|
:selectedObjects="objectsToMove" :foldersTreeUrl="foldersTreeUrl"
|
||||||
@close="objectsToMove = null" @move="updateTable" />
|
@close="objectsToMove = null" @move="updateTable(); updateNavigator(true)" />
|
||||||
<AccessModal v-if="accessModalParams" :params="accessModalParams"
|
<AccessModal v-if="accessModalParams" :params="accessModalParams"
|
||||||
@close="accessModalParams = null" @refresh="this.reloadingTable = true" />
|
@close="accessModalParams = null" @refresh="this.reloadingTable = true" />
|
||||||
</template>
|
</template>
|
||||||
|
|
@ -305,6 +305,9 @@ export default {
|
||||||
this.objectsToMove = null;
|
this.objectsToMove = null;
|
||||||
this.reloadingTable = true;
|
this.reloadingTable = true;
|
||||||
},
|
},
|
||||||
|
updateNavigator(withExpanedChildren = false) {
|
||||||
|
window.navigatorContainer.reloadNavigator(withExpanedChildren);
|
||||||
|
},
|
||||||
async deleteFolder(event, rows) {
|
async deleteFolder(event, rows) {
|
||||||
const description = `
|
const description = `
|
||||||
<p>${this.i18n.t('projects.index.modal_delete_folders.description_1_html', { number: rows.length })}</p>
|
<p>${this.i18n.t('projects.index.modal_delete_folders.description_1_html', { number: rows.length })}</p>
|
||||||
|
|
|
||||||
|
|
@ -11,5 +11,6 @@
|
||||||
@navigator:colapse="toggleNavigatorState(true)"
|
@navigator:colapse="toggleNavigatorState(true)"
|
||||||
:reload-current-level="reloadCurrentLevel"
|
:reload-current-level="reloadCurrentLevel"
|
||||||
:reload-children-level="reloadChildrenLevel"
|
:reload-children-level="reloadChildrenLevel"
|
||||||
|
:reload-expanded-children-level="reloadExpandedChildrenLevel"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue