UNPKG

2.83 kBJavaScriptView Raw
1'use strict';
2
3Object.defineProperty(exports, "__esModule", {
4 value: true
5});
6/**
7 * Module : kero dataTable data
8 * Author : liuyk(liuyk@yonyou.com)
9 * Date : 2016-07-30 14:34:01
10 */
11
12/**
13 *设置数据
14 *
15 */
16var setData = function setData(data, options) {
17 if (data.pageIndex || data.pageIndex === 0) {
18 var newIndex = data.pageIndex;
19 } else {
20 var newIndex = this.pageIndex();
21 }
22 if (data.pageSize || data.pageSize === 0) {
23 var newSize = data.pageSize;
24 } else {
25 var newSize = this.pageSize();
26 }
27 if (data.totalPages || data.totalPages === 0) {
28 var newTotalPages = data.totalPages;
29 } else {
30 var newTotalPages = this.totalPages();
31 }
32 if (data.totalRow || data.totalRow === 0) {
33 var newTotalRow = data.totalRow;
34 } else {
35 if (data.rows) var newTotalRow = data.rows.length;else var newTotalRow = this.totalRow();
36 }
37 var select,
38 focus,
39 unSelect = options ? options.unSelect : false;
40
41 this.pageIndex(newIndex);
42 this.pageSize(newSize);
43
44 this.pageCache = data.pageCache || this.pageCache;
45 if (this.pageCache === true) {
46 this.updatePages(data.pages);
47 if (newIndex != this.pageIndex()) {
48 this.setCurrentPage(newIndex, true);
49 this.totalPages(newTotalPages);
50 this.totalRow(newTotalRow + this.newCount);
51 return;
52 } else {
53 // 首先删除数据,然后将当前页数据插入
54 this.removeAllRows();
55 select = this.getPage(newIndex).selectedIndices;
56 focus = this.getPage(newIndex).focus;
57 var rows = this.setRows(this.getPage(newIndex).rows, options);
58 this.getPage(newIndex).rows = rows;
59 }
60 // 后台传入totalPages及totalRow才进行更新
61 if (data.totalPages) {
62 this.totalPages(data.totalPages);
63 }
64 if (data.totalRow || data.totalRow === 0) {
65 this.totalRow(data.totalRow + this.newCount);
66 }
67 } else {
68 select = data.select || (!unSelect ? [0] : []);
69 focus = data.focus !== undefined ? data.focus : data.current;
70 this.setRows(data.rows, options);
71 this.totalPages(newTotalPages);
72 this.totalRow(newTotalRow);
73 }
74
75 this.updateSelectedIndices();
76
77 if (select && select.length > 0 && this.rows().length > 0) this.setRowsSelect(select);
78 if (focus !== undefined && this.getRow(focus)) this.setRowFocus(focus);
79};
80
81var setValue = function setValue(fieldName, value, row, ctx) {
82 if (arguments.length === 1) {
83 value = fieldName;
84 fieldName = '$data';
85 }
86
87 row = row ? row : this.getCurrentRow();
88 if (row) row.setValue(fieldName, value, ctx);
89};
90
91exports.setData = setData;
92exports.setValue = setValue;
\No newline at end of file