File tree Expand file tree Collapse file tree 1 file changed +46
-0
lines changed Expand file tree Collapse file tree 1 file changed +46
-0
lines changed Original file line number Diff line number Diff line change @@ -695,4 +695,50 @@ public function removeColumn(...$names)
695
695
696
696
return $ this ;
697
697
}
698
+
699
+ /**
700
+ * Minify ajax url generated when using get request
701
+ * by deleting unnecessary url params.
702
+ *
703
+ * @param string $url
704
+ * @param string $script
705
+ * @param array $data
706
+ * @return $this
707
+ */
708
+ public function minifiedAjax ($ url , $ script = null , $ data = [])
709
+ {
710
+ $ appendData = $ this ->makeDataScript ($ data );
711
+ $ this ->ajax = [
712
+ 'ajax ' => $ url ,
713
+ 'data ' => "function(data) {
714
+ for (var i = 0, len = data.columns.length; i < len; i++) {
715
+ if (! data.columns[i].search.value) delete data.columns[i].search;
716
+ if (data.columns[i].searchable === true) delete data.columns[i].searchable;
717
+ if (data.columns[i].orderable === true) delete data.columns[i].orderable;
718
+ if (data.columns[i].data === data.columns[i].name) delete data.columns[i].name;
719
+ }
720
+ delete data.search.regex;
721
+ $ appendData
722
+ $ script;
723
+ } " ,
724
+ ];
725
+
726
+ return $ this ;
727
+ }
728
+
729
+ /**
730
+ * Make a data script to be appended on ajax request of dataTables.
731
+ *
732
+ * @param array $data
733
+ * @return string
734
+ */
735
+ protected function makeDataScript (array $ data )
736
+ {
737
+ $ script = '' ;
738
+ foreach ($ data as $ key => $ value ) {
739
+ $ script .= PHP_EOL ."data. {$ key } = {$ value }; " ;
740
+ }
741
+
742
+ return $ script ;
743
+ }
698
744
}
You can’t perform that action at this time.
0 commit comments