diff --git a/client/components/ExternalLibs/BookmarkSettings/BookmarkSettings.vue b/client/components/ExternalLibs/BookmarkSettings/BookmarkSettings.vue
index 90ca0dc6..1eeb6f3d 100644
--- a/client/components/ExternalLibs/BookmarkSettings/BookmarkSettings.vue
+++ b/client/components/ExternalLibs/BookmarkSettings/BookmarkSettings.vue
@@ -103,11 +103,14 @@ class BookmarkSettings extends BookmarkSettingsProps {
get nodes() {
const result = [];
- this.expanded = [];
+ const expanded = [];
+ this.links = {};
let i = 0;
this.libs.groups.forEach(group => {
const rkey = `${i}`;
const g = {label: group.r, key: rkey, children: []};
+ this.links[rkey] = group.r;
+
let j = 0;
group.list.forEach(link => {
const key = `${i}-${j}`;
@@ -115,8 +118,10 @@ class BookmarkSettings extends BookmarkSettingsProps {
label: (link.c ? link.c + ' ': '') + lu.removeOrigin(link.l),
key
});
- if (link.l == this.libs.startLink && this.expanded.indexOf(rkey) < 0) {
- this.expanded.push(rkey);
+
+ this.links[key] = link.l;
+ if (link.l == this.libs.startLink && expanded.indexOf(rkey) < 0) {
+ expanded.push(rkey);
}
j++;
@@ -126,6 +131,10 @@ class BookmarkSettings extends BookmarkSettingsProps {
i++;
});
+ this.$nextTick(() => {
+ this.expanded = expanded;
+ });
+
return result;
}
@@ -135,6 +144,15 @@ class BookmarkSettings extends BookmarkSettingsProps {
}
openSelected() {
+ if (!this.selected)
+ return;
+ if (this.selected.indexOf('-') < 0) {//rootLink
+ this.$emit('do-action', {action: 'setRootLink', data: this.links[this.selected]});
+ } else {//selectedLink
+ this.$emit('do-action', {action: 'setSelectedLink', data: this.links[this.selected]});
+ }
+
+ //this.close();
}
openOptions() {
diff --git a/client/components/ExternalLibs/ExternalLibs.vue b/client/components/ExternalLibs/ExternalLibs.vue
index 2439aaf5..463aa6a1 100644
--- a/client/components/ExternalLibs/ExternalLibs.vue
+++ b/client/components/ExternalLibs/ExternalLibs.vue
@@ -47,7 +47,7 @@
Вернуться на стартовую страницу
-
+
Загрузить URL во фрейм
@@ -97,7 +97,7 @@
-
+
@@ -292,6 +292,14 @@ class ExternalLibs extends Vue {
this.updateSelectedLink();
}
+ doAction(event) {
+ switch (event.action) {
+ case 'setLibs': this.commitLibs(event.data); break;
+ case 'setRootLink': this.rootLink = event.data; this.rootLinkInput(); break;
+ case 'setSelectedLink': this.selectedLink = event.data; this.selectedLinkInput(); break;
+ }
+ }
+
get mode() {
return this.$store.state.config.mode;
}