MaiXinRong пре 3 недеља
родитељ
комит
69c7c4ac4b
2 измењених фајлова са 45 додато и 21 уклоњено
  1. 33 7
      app/public/js/div_resizer.js
  2. 12 14
      app/public/js/file_detail.js

+ 33 - 7
app/public/js/div_resizer.js

@@ -36,6 +36,24 @@
         //     obj.css('width', '1%').css('height', '100%').css('resize', 'horizontal').css('cursor', 'w-resize').css('float', 'left');
         // }
         // 根据localStorage初始化
+
+        const refreshDivSize = function() {
+            const rType = obj.attr('r-type'), aType = obj.attr('a-type');
+            const div1 = $(obj.attr('div1')), div2 = $(obj.attr('div2'));
+            const parent = div1.parent();
+            if (aType !== 'percent') {
+                orgSize1 = div1[rType]();
+                orgSize2 = div2[rType]();
+                const parentSize = parent[rType]() * 0.99;
+                const size1 = Math.floor(orgSize1 / (orgSize1 + orgSize2) * parentSize);
+                const size2 = Math.floor(parentSize - size1);
+
+                div1[rType](size1);
+                div2[rType](size2);
+            }
+            if (setting.callback) { setting.callback(); }
+        };
+
         if (obj.attr('store-id')) {
             const rType = obj.attr('r-type'), version = obj.attr('store-version') ? ('-'+obj.attr('store-version')) : '' ;
             const objSize1 = getLocalCache('v-resize-1-' + obj.attr('store-id') + version);
@@ -46,6 +64,7 @@
             if (objSize2) {
                 $(obj.attr('div2')).css(rType, objSize2);
             }
+            refreshDivSize();
             if (setting.callback) { setting.callback(); }
         }
 
@@ -73,12 +92,12 @@
                 if(Math.abs(mouseMoveCount) >= 5){
                     if (aType === 'percent') {
                         const min = obj.attr('min') ? obj.attr('min') : 10;
-                        const max = 100 - min;
+                        const max = 99 - min;
 
                         const percent1 = Math.min(Math.max((orgSize1 + moveSize) / (orgSize1 + orgSize2) * 100, min), max);
-                        $(obj.attr('div1')).css(rType, percent1 + '%');
+                        $(obj.attr('div1')).css(rType, percent1 + '%').attr('dr-' + rType, percent1+'%');
                         const percent2 = Math.min(Math.max((orgSize2 - moveSize) / (orgSize1 + orgSize2) * 100, min), max);
-                        $(obj.attr('div2')).css(rType, percent2 + '%');
+                        $(obj.attr('div2')).css(rType, percent2 + '%').attr('dr-' + rType, percent2+'%');
                     } else {
                         const min = obj.attr('min') ? obj.attr('min') : parseInt(((orgSize1 + orgSize2) / 10).toFixed(0));
                         const max = orgSize1 + orgSize2 - min;
@@ -91,7 +110,7 @@
                         $(obj.attr('div2'))[rType](newSize2);
                     }
 
-                    if(setting.callback) { setting.callback(); }
+                    if(setting.callback) setting.callback();
                     mouseMoveCount = 0;
                 }
             }
@@ -99,12 +118,19 @@
         $('body').mouseup(function () {
             if (drag) {
                 drag = false;
-                const rType = obj.attr('r-type');
+                const rType = obj.attr('r-type'), aType = obj.attr('a-type');
                 const localId = obj.attr('store-id'), version = obj.attr('store-version') ? ('-'+obj.attr('store-version')) : '' ;
                 const div1 = $(obj.attr('div1')), div2 = $(obj.attr('div2'));
-                setLocalCache('v-resize-1-' + localId + version, div1[rType]());
-                setLocalCache('v-resize-2-' + localId + version, div2[rType]());
+                if (aType === 'percent') {
+                    setLocalCache('v-resize-1-' + localId + version, div1.attr('dr-' + rType));
+                    setLocalCache('v-resize-2-' + localId + version, div2.attr('dr-' + rType));
+                } else {
+                    setLocalCache('v-resize-1-' + localId + version, div1[rType]());
+                    setLocalCache('v-resize-2-' + localId + version, div2[rType]());
+                }
             }
         });
+
+        return { refreshDivSize };
     }
 })(jQuery);

+ 12 - 14
app/public/js/file_detail.js

@@ -1656,6 +1656,18 @@ $(document).ready(function() {
         spread: '#permission-spread',
     });
 
+    $.divResizer({
+        select: '#file-right-spr',
+        callback: function() {
+            if (fileReference) fileReference.spread.refresh();
+        },
+    });
+    $.divResizer({
+        select: '#right-spr',
+        callback: function() {
+            if (fileReference) fileReference.spread.refresh();
+        },
+    });
     class FileSearch {
         constructor() {
             this.searchResult = [];
@@ -1734,12 +1746,6 @@ $(document).ready(function() {
         }
         initSearch() {
             const self = this;
-            $.divResizer({
-                select: '#right-spr',
-                callback: function() {
-                    if (fileReference) fileReference.spread.refresh();
-                },
-            });
             $('input', '#search').bind('keydown', function (e) {
                 if (e.keyCode == 13) self.search();
             });
@@ -1885,12 +1891,4 @@ $(document).ready(function() {
             }, 100);
         });
     })('a[name=showLevel]');
-
-
-    $.divResizer({
-        select: '#file-right-spr',
-        callback: function() {
-            if (fileReference) fileReference.spread.refresh();
-        },
-    });
 });