浏览代码

Save scroll position

Dan Kaplun 10 年之前
父节点
当前提交
005ade573d

+ 7 - 1
dist/extensions/angular/bsTable.js

@@ -5,6 +5,7 @@
       restrict: 'EA',
       scope: {options: '='},
       link: function ($s, $el) {
+        var scroll;
         var options;
         $el
           .on('sort.bs.table', function (evt, sortName, sortOrder) {
@@ -19,7 +20,11 @@
           });
         $s.$watch('options', function (newOptions) {
           if (!newOptions) return;
-          if (options) $el.bootstrapTable('destroy');
+
+          if (options) {
+            scroll = $el.bootstrapTable('getScrollPosition');
+            $el.bootstrapTable('destroy');
+          }
           options = $.extend(options ? {
             sortName: options.sortName,
             sortOrder: options.sortOrder,
@@ -27,6 +32,7 @@
             pageSize: options.pageSize
           } : {}, newOptions);
           $el.bootstrapTable(options);
+          if (scroll) $el.bootstrapTable('scrollTo', scroll);
         }, true);
         $(window).resize(function () {
           if (options) $el.bootstrapTable('resetView');

文件差异内容过多而无法显示
+ 1 - 1
dist/extensions/angular/bsTable.min.js


+ 7 - 1
docs/dist/extensions/angular/bsTable.js

@@ -5,6 +5,7 @@
       restrict: 'EA',
       scope: {options: '='},
       link: function ($s, $el) {
+        var scroll;
         var options;
         $el
           .on('sort.bs.table', function (evt, sortName, sortOrder) {
@@ -19,7 +20,11 @@
           });
         $s.$watch('options', function (newOptions) {
           if (!newOptions) return;
-          if (options) $el.bootstrapTable('destroy');
+
+          if (options) {
+            scroll = $el.bootstrapTable('getScrollPosition');
+            $el.bootstrapTable('destroy');
+          }
           options = $.extend(options ? {
             sortName: options.sortName,
             sortOrder: options.sortOrder,
@@ -27,6 +32,7 @@
             pageSize: options.pageSize
           } : {}, newOptions);
           $el.bootstrapTable(options);
+          if (scroll) $el.bootstrapTable('scrollTo', scroll);
         }, true);
         $(window).resize(function () {
           if (options) $el.bootstrapTable('resetView');

文件差异内容过多而无法显示
+ 1 - 1
docs/dist/extensions/angular/bsTable.min.js


+ 7 - 1
src/extensions/angular/bsTable.js

@@ -5,6 +5,7 @@
       restrict: 'EA',
       scope: {options: '='},
       link: function ($s, $el) {
+        var scroll;
         var options;
         $el
           .on('sort.bs.table', function (evt, sortName, sortOrder) {
@@ -19,7 +20,11 @@
           });
         $s.$watch('options', function (newOptions) {
           if (!newOptions) return;
-          if (options) $el.bootstrapTable('destroy');
+
+          if (options) {
+            scroll = $el.bootstrapTable('getScrollPosition');
+            $el.bootstrapTable('destroy');
+          }
           options = $.extend(options ? {
             sortName: options.sortName,
             sortOrder: options.sortOrder,
@@ -27,6 +32,7 @@
             pageSize: options.pageSize
           } : {}, newOptions);
           $el.bootstrapTable(options);
+          if (scroll) $el.bootstrapTable('scrollTo', scroll);
         }, true);
         $(window).resize(function () {
           if (options) $el.bootstrapTable('resetView');