forked from rwjblue/pivot.js
/
init.js
39 lines (29 loc) · 1.19 KB
/
init.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
'use strict';
var fields, filters, rawData, data, dataFilters, displayFields, results, resultsColumns;
init();
function init(options){
rawData = [], data = [], dataFilters = {}, fields = {}, filters = {};
displayFields = {rowLabels: {}, columnLabels: {}, summaries: {}};
if (options === undefined) options = {};
if (options.fields !== undefined) setFields(options.fields);
if (options.filters !== undefined) setFilters(options.filters);
if (options.rowLabels !== undefined) setRowLabelDisplayFields(options.rowLabels);
if (options.columnLabels !== undefined) setColumnLabelDisplayFields(options.columnLabels);
if (options.summaries !== undefined) setSummaryDisplayFields(options.summaries);
if (options.csv !== undefined)
processCSV(options.csv)
if (options.json !== undefined)
processJSON(options.json)
return pivot;
}
function reset(){
return init();
};
function config(){
return { fields: cloneFields(),
filters: filters,
rowLabels: objectKeys(displayFields.rowLabels),
columnLabels: objectKeys(displayFields.columnLabels),
summaries: objectKeys(displayFields.summaries)
};
};