1 var EcommerceOrders = function() {
2
3 var initPickers = function() {
4 //init date pickers
5 $('.date-picker').datepicker({
6 rtl: App.isRTL(),
7 autoclose: true
8 });
9 }
10
11 var handleOrders = function() {
12
13 var grid = new Datatable();
14 grid.init({
15 src: $("#datatable_orders"),
16 onSuccess: function(grid) {
17 // execute some code after table records loaded
18 },
19 onError: function(grid) {
20 // execute some code on network or other general error
21 },
22 dataTable: {// here you can define a typical datatable settings from http://datatables.net/usage/options
23 //"sDom": '<"top"i>rt<"bottom"flp><"clear">', //显示布局
24 "aLengthMenu": [
25 [20, 50, 100, 150, -1],
26 [20, 50, 100, 150, "All"] //["每页10条", "每页25条", "每页50条", "显示所有数据", "不显示数据"]],//设置每页显示记录的下拉菜单
27 ],
28 "iDisplayLength": 2, // default record count per page
29 // "iCookieDuration":7200, //指定用于存储客户端信息到cookie中的时间长度,超过这个时间后,自动过期
30 "bProcessing": true,
31 "bServerSide": true, //是否启动服务器端数据导入,即要和sAjaxSource结合使用
32 //"bLengthChange":false,//改变每页显示数据数量
33 //"bPaginate": false, //翻页功能
34 "bFilter":true, //全文过滤开关,过滤功能
35 //"bSort": false, //排序功能
36 //"bInfo": false //页脚信息
37 //"bAutoWidth": true, //自动宽度
38 //"bStateSave": true, //保存当前页面信息为cookie,默认关闭
39 //"bScrollCollapse": false, ////当显示的数据不足以支撑表格的默认的高度时,依然显示纵向的滚动条。(默认是false)
40 // "bJQueryUI": true, /*是否开启主题*/
41
42 "sAjaxSource": "test/dataProvider", // ajax source
43 // "sPaginationType": "full_numbers", //修改默认分页显示样式
44 // "sScrollX": "100%",//表格的宽度
45 // "sScrollXInner": "100%", //表格的内容宽度
46 // "sScrollY": "200px",
47 // "sUrl": "media/language/de_DE.txt" ,//也可以直接指定语言包,文件格式和上面一样
48 //"sServerMethod": "GET", //传递方式
49 "oLanguage": {
50 "sLengthMenu": "每页显示 _MENU_条",
51 "sZeroRecords": "没有找到符合条件的数据",
52 "sProcessing": "<img src=’./loading.gif’ />",
53 "sInfo": "当前第 _START_ - _END_ 条 共计 _TOTAL_ 条",
54 "sInfoEmpty": "木有记录",
55 "sInfoFiltered": "(从 _MAX_ 条记录中过滤)",
56 "sSearch": "搜索:",
57 "oPaginate": {
58 "sFirst": "首页",
59 "sPrevious": "前一页",
60 "sNext": "后一页",
61 "sLast": "尾页"
62 }
63 },
64 // "oSearch":{"sSearch":"keyword1 keyword2 keyword3","bRegex":true},
65 // "asStripClasses": ['odd', 'even'], //指定要被应用到各行的class风格,会自动循环
66 "aaSorting": [[1, "asc"]] ,// //给列表排序 ,第一个参数表示数组 (由0开始)。1 表示Browser列。第二个参数为 desc或是asc
67 // "aoColumnDefs": [
68 // {"bSearchable": false, "bSort": false,"bVisible": true, "aTargets": [1]}, //bSearchable:是否可搜索;bVisible:是否可见;aTargets:哪一列
69 // {"bVisible": true, "aTargets": [2]}//
70 // ],
71 "aoColumnDefs": [{
72 "sClass": "center",
73 "aTargets": ['_all']
74 }, {
75 "bSearchable": false,
76 "aTargets": [0, 1,2]//['_all']
77 }, {
78 "bSortable": false, //指定不支持排序的列
79 "aTargets": ['_all']//['_all']
80 }, {
81 "sWidth": "5%", //指定列宽
82 "aTargets": [0, 1]//['_all']
83 }],
84
85 // "aoSearchCols": [
86 // null,
87 // {"sSearch": "keyword", "bRegex": true},
88 // null,
89 // {"sSearch": "keyword2", "bRegex": false}
90 // ],
91
92 // "aoColumns": [
93 // {"sClass": "center", "sName": "Id"},
94 // {"sClass": "center", "sName": "Title1"},
95 // {"sClass": "center", "sName": "CategoryId"},
96 // {"sClass": "center", "sName": "Click"}
97 // ],
98 }
99 });
100
101 // handle group actionsubmit button click
102 grid.getTableWrapper().on('click', '.table-group-action-submit', function(e) {
103 e.preventDefault();
104 var action = $(".table-group-action-input", grid.getTableWrapper());
105 if (action.val() != "" && grid.getSelectedRowsCount() > 0) {
106 grid.addAjaxParam("sAction", "group_action");
107 grid.addAjaxParam("sGroupActionName", action.val());
108 var records = grid.getSelectedRows();
109 for (var i in records) {
110 grid.addAjaxParam(records[i]["name"], records[i]["value"]);
111 }
112 grid.getDataTable().fnDraw();
113 grid.clearAjaxParams();
114 } else if (action.val() == "") {
115 App.alert({type: 'danger', icon: 'warning', message: 'Please select an action', container: grid.getTableWrapper(), place: 'prepend'});
116 } else if (grid.getSelectedRowsCount() === 0) {
117 App.alert({type: 'danger', icon: 'warning', message: 'No record selected', container: grid.getTableWrapper(), place: 'prepend'});
118 }
119 });
120
121 //用于每一列搜索过滤
122 // var asInitVals = new Array();
123 // $(".filter input").keyup(function() {
124 // grid.fnFilter(this.value, $(".filter input").index(this));
125 // });
126 // $(".filter input").each(function(i) {
127 // asInitVals[i] = this.value;
128 // });
129 // $(".filter input").focus(function() {
130 // if (this.className == "search_init")
131 // {
132 // this.className = "";
133 // this.value = "";
134 // }
135 // });
136 // $(".filter input").blur(function(i) {
137 // if (this.value == "")
138 // {
139 // this.className = "search_init";
140 // this.value = asInitVals[$(".filter input").index(this)];
141 // }
142 // });
143
144 }
145
146 return {
147 //main function to initiate the module
148 init: function() {
149
150 initPickers();
151 handleOrders();
152 }
153
154 };
155
156 }();