diff --git a/client/components/ExternalLibs/BookmarkSettings/BookmarkSettings.vue b/client/components/ExternalLibs/BookmarkSettings/BookmarkSettings.vue
index 0094cd83..e591c26b 100644
--- a/client/components/ExternalLibs/BookmarkSettings/BookmarkSettings.vue
+++ b/client/components/ExternalLibs/BookmarkSettings/BookmarkSettings.vue
@@ -4,7 +4,7 @@
Настроить закладки
-
+
Открыть выбранную закладку
@@ -17,8 +17,8 @@
-
-
+
+
Добавить закладку
@@ -36,20 +36,25 @@
Установить по умолчанию
+
-
+
+
+
+
{{ p.node.label }}
@@ -83,7 +88,8 @@ export default @Component({
Window,
},
watch: {
- libs: function() {
+ ticked: function() {
+ this.checkAllTicked();
},
}
})
@@ -92,6 +98,7 @@ class BookmarkSettings extends BookmarkSettingsProps {
selected = '';
ticked = [];
expanded = [];
+ tickAll = false;
created() {
this.afterInit = true;
@@ -141,6 +148,30 @@ class BookmarkSettings extends BookmarkSettingsProps {
return result;
}
+ makeTickAll() {
+ if (this.tickAll) {
+ const newTicked = [];
+ for (const key of Object.keys(this.links)) {
+ if (key.indexOf('r-') != 0)
+ newTicked.push(key);
+ }
+ this.ticked = newTicked;
+ } else {
+ this.ticked = [];
+ }
+ }
+
+ checkAllTicked() {
+ const ticked = new Set(this.ticked);
+
+ let newTickAll = !!(this.nodes.length);
+ for (const key of Object.keys(this.links)) {
+ if (key.indexOf('r-') != 0 && !ticked.has(key))
+ newTickAll = false;
+ }
+ this.tickAll = newTickAll;
+ }
+
resetSearch() {
this.search = '';
this.$refs.search.focus();
@@ -287,15 +318,30 @@ class BookmarkSettings extends BookmarkSettingsProps {
.left-panel {
width: 60px;
+ height: 100%;
border-right: 1px solid gray;
- padding: 10px 0 10px 0;
+ overflow-x: hidden;
+ overflow-y: auto;
}
.tree {
- padding: 10px;
+ padding: 0px 10px 10px 10px;
+ overflow-x: auto;
+ overflow-y: auto;
}
.selected {
text-shadow: 0 0 20px yellow, 0 0 15px yellow, 0 0 10px yellow, 0 0 10px yellow, 0 0 5px yellow;
}
+
+.checkbox-tick-all {
+ border-bottom: 1px solid #bbbbbb;
+ margin-bottom: 7px;
+ padding: 5px 5px 2px 16px;
+}
+
+.space {
+ min-height: 1px;
+ width: 1px;
+}
diff --git a/client/components/ExternalLibs/ExternalLibs.vue b/client/components/ExternalLibs/ExternalLibs.vue
index 27f48aab..df35430c 100644
--- a/client/components/ExternalLibs/ExternalLibs.vue
+++ b/client/components/ExternalLibs/ExternalLibs.vue
@@ -379,7 +379,7 @@ class ExternalLibs extends Vue {
} else {
this.rootLink = '';
this.selectedLink = '';
- this.debouncedGoToLink(this.selectedLink, force);
+ this.debouncedGoToLink(this.selectedLink, true);
}
}