Browse Source

print extension - retain UI filtering and sort order (#2696)

* print extension - retain UI filtering and sort order

* print extension - printAsFilteredAndSortedOnUI option update README.md
Yaron 8 years ago
parent
commit
bc6de177ac
2 changed files with 10 additions and 1 deletions
  1. 6 0
      src/extensions/print/README.md
  2. 4 1
      src/extensions/print/bootstrap-table-print.js

+ 6 - 0
src/extensions/print/README.md

@@ -16,6 +16,12 @@ Adds a button to the toolbar for printing the table in a predefined configurable
 * description: Set true to show the Print button on the toolbar.
 * default: `false`
 
+### printAsFilteredAndSortedOnUI
+
+* type: Boolean
+* description: When true - print table as sorted and filtered on UI. Please note that if true is set, along with explicit predefined print options for filtering and sorting (printFilter, printSortOrder, printSortColumn)- then they will be applied on data already filtered and sorted by UI controls. For printing data as filtered and sorted on UI - do not set these 3 options: printFilter, printSortOrder, printSortColumn
+* default: `true`
+
 ### printSortColumn
 
 * type: String

+ 4 - 1
src/extensions/print/bootstrap-table-print.js

@@ -21,6 +21,9 @@
     }
     $.extend($.fn.bootstrapTable.defaults, {
         showPrint: false,
+        printAsFilteredAndSortedOnUI: true, //boolean, when true - print table as sorted and filtered on UI.
+                                            //Please note that if true is set, along with explicit predefined print options for filtering and sorting (printFilter, printSortOrder, printSortColumn)- then they will be applied on data already filtered and sorted by UI controls.
+                                            //For printing data as filtered and sorted on UI - do not set these 3 options:printFilter, printSortOrder, printSortColumn
         printSortColumn: undefined  , //String, set column field name to be sorted by
         printSortOrder: 'asc', //String: 'asc' , 'desc'  - relevant only if printSortColumn is set
         printPageBuilder: function(table){return printPageBuilderDefault(table)} // function, receive html <table> element as string, returns html string for printing. by default delegates to function printPageBuilderDefault(table). used for styling and adding header or footer
@@ -122,7 +125,7 @@
                         newWin.print();
                         newWin.close();
                     };
-                    doPrint(that.options.data.slice(0));
+                    doPrint(that.options.printAsFilteredAndSortedOnUI? that.getData() : that.options.data.slice(0));
                 });
             }
         }