浏览代码

Небольшие доработки

Book Pauk 4 年之前
父节点
当前提交
32bafedaad
共有 1 个文件被更改,包括 22 次插入3 次删除
  1. 22 3
      client/components/ExternalLibs/ExternalLibs.vue

+ 22 - 3
client/components/ExternalLibs/ExternalLibs.vue

@@ -420,9 +420,15 @@ class ExternalLibs extends Vue {
         }
     }
 
-    okAddBookmark() {
+    async okAddBookmark() {
         const link = this.addProtocol(this.bookmarkLink);
-        let index = this.getRootIndexByUrl(this.libs.groups, link);
+        let index = -1;
+        try {
+            index = this.getRootIndexByUrl(this.libs.groups, link);
+        } catch (e) {
+            await this.$root.stdDialog.alert('Неверный формат ссылки', 'Ошибка');
+            return;
+        }
 
         //есть группа в закладках
         if (index >= 0) {
@@ -431,17 +437,30 @@ class ExternalLibs extends Vue {
             if (!item || item.c != this.bookmarkDesc) {
                 //добавляем
                 let libs = _.cloneDeep(this.libs);
+
+                if (libs.groups[index].list.length >= 100) {
+                    await this.$root.stdDialog.alert('Достигнут предел количества закладок для этого сайта', 'Ошибка');
+                    return;
+                }
+
                 libs.groups[index].list.push({l: link, c: this.bookmarkDesc});
                 this.commitLibs(libs);
             }
         } else {//нет группы в закладках
-            //добавляем сначала группу
             let libs = _.cloneDeep(this.libs);
+
+            if (libs.groups.length >= 100) {
+                await this.$root.stdDialog.alert('Достигнут предел количества различных сайтов в закладках', 'Ошибка');
+                return;
+            }
+
+            //добавляем сначала группу
             libs.groups.push({r: this.getOrigin(link), s: link, list: []});
             
             index = this.getRootIndexByUrl(libs.groups, link);
             if (index >= 0)
                 libs.groups[index].list.push({l: link, c: this.bookmarkDesc});
+
             this.commitLibs(libs);
         }