Wed, 14 Jul 2021 20:51:45 +0200
In product editor calculate fermentables before the first IBU calculation. In recipe editor changed to the new water calculations like in the product editor.
733
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2 | /* tslint:disable */ |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
3 | /* eslint-disable */ |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
4 | (function ($) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
5 | class DataAdapter { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
6 | constructor ( config ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
7 | if ( !config ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
8 | config = {}; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
9 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
10 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
11 | const that = Object.assign( this, config ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
12 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
13 | const generateKey = function () { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
14 | const S4 = function () { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
15 | return ( ( ( 1 + Math.random() ) * 0x10000 ) | 0 ).toString( 16 ).substring( 1 ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
16 | }; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
17 | return S4(); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
18 | }; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
19 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
20 | that.key = generateKey(); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
21 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
22 | that.boundSource = []; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
23 | that.dataItemById = []; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
24 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
25 | if ( that.allowAdd === undefined ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
26 | that.allowAdd = true; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
27 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
28 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
29 | if ( that.allowRemove === undefined ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
30 | that.allowRemove = true; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
31 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
32 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
33 | if ( that.allowUpdate === undefined ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
34 | that.allowUpdate = true; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
35 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
36 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
37 | if ( config.observable === undefined ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
38 | that.observable = true; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
39 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
40 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
41 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
42 | if ( !config.dataSource ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
43 | that.dataSource = []; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
44 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
45 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
46 | if ( !config.dataFields ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
47 | that.dataFields = []; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
48 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
49 | else { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
50 | /* if (config.dataSource && config.dataSource.length > 0) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
51 | const keys = Object.keys(config.dataSource[0]); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
52 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
53 | // that.dataFields = []; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
54 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
55 | for (let i = 0; i < keys.length; i++) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
56 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
57 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
58 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
59 | */ |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
60 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
61 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
62 | if ( !config.dataSourceType ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
63 | that.dataSourceType = 'array'; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
64 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
65 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
66 | if ( !config.id ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
67 | that.id = null; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
68 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
69 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
70 | if ( !config.autoFetch ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
71 | that.autoFetch = true; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
72 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
73 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
74 | if ( config.dataFields ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
75 | that.dataFields = config.dataFields; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
76 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
77 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
78 | Object.defineProperty( that, 'groupBy', { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
79 | configurable: false, |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
80 | enumerable: true, |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
81 | get() { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
82 | if ( !that._groupBy ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
83 | return []; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
84 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
85 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
86 | return that._groupBy; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
87 | }, |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
88 | set( value ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
89 | const updateGrouping = () => { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
90 | that.boundHierarchy = null; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
91 | that.refreshHierarchy(); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
92 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
93 | if ( that.onGroup ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
94 | that.onGroup(); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
95 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
96 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
97 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
98 | that._groupBy = [].concat(value); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
99 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
100 | if ( that.isInitialized ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
101 | updateGrouping(); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
102 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
103 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
104 | } ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
105 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
106 | if ( !config.groupBy ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
107 | that.groupBy = []; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
108 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
109 | else { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
110 | if ( config.groupBy.toArray ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
111 | that.groupBy = config.groupBy.toArray(); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
112 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
113 | else { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
114 | that.groupBy = config.groupBy; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
115 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
116 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
117 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
118 | if ( config && config.autoBind !== false ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
119 | that.dataBind(); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
120 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
121 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
122 | that.isInitialized = true; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
123 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
124 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
125 | get dataFields() { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
126 | const that = this; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
127 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
128 | return that._dataFields; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
129 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
130 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
131 | set dataFields( value ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
132 | const that = this; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
133 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
134 | that._dataFields = that._getDataFieldObjects( value ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
135 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
136 | return that._dataFields; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
137 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
138 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
139 | _getDataFieldObjects( dataFields ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
140 | //const that = this; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
141 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
142 | let dataFieldObjects = []; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
143 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
144 | if ( typeof dataFields === 'number' ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
145 | const charCode = 'A'.charCodeAt( 0 ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
146 | let prefix = ''; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
147 | let index = 0; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
148 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
149 | for ( let i = 0; i < dataFields; i++ ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
150 | const letter = String.fromCharCode( charCode + index ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
151 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
152 | index++; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
153 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
154 | const label = prefix + letter; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
155 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
156 | dataFieldObjects.push( { name: label, dataType: 'string' } ) |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
157 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
158 | if ( index >= 26 ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
159 | index = 0; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
160 | prefix += 'A'; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
161 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
162 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
163 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
164 | else if ( dataFields.length > 0 ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
165 | for ( let i = 0; i < dataFields.length; i++ ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
166 | const dataField = dataFields[ i ]; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
167 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
168 | if ( typeof dataField === 'string' ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
169 | const dataFieldParts = dataField.split( ':' ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
170 | const name = dataFieldParts[ 0 ].trim(); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
171 | const dataType = dataFieldParts.length > 1 ? dataFieldParts[ 1 ].trim() : 'string'; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
172 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
173 | dataFieldObjects.push( { name: name, dataType: dataType } ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
174 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
175 | else { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
176 | dataFieldObjects.push( dataField ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
177 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
178 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
179 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
180 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
181 | return dataFieldObjects; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
182 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
183 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
184 | get dataSource() { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
185 | const that = this; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
186 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
187 | if ( !that._dataSource ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
188 | that._dataSource = []; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
189 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
190 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
191 | return that._dataSource; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
192 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
193 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
194 | set dataSource( value ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
195 | const that = this; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
196 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
197 | that._dataSource = value; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
198 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
199 | if ( that.isInitialized ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
200 | that.boundSource = false === that.observable ? [] : new JQX.ObservableArray(); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
201 | that.dataItemById = []; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
202 | that.bindingCompleted = false; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
203 | that.dataBind(); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
204 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
205 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
206 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
207 | get canNotify() { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
208 | const that = this; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
209 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
210 | if ( that._canNotify === undefined ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
211 | that._canNotify = true; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
212 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
213 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
214 | return that._canNotify; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
215 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
216 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
217 | set canNotify( value ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
218 | const that = this; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
219 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
220 | that._canNotify = value; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
221 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
222 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
223 | _notify( changeArgs ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
224 | const that = this; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
225 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
226 | if ( !that.canNotify ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
227 | return; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
228 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
229 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
230 | if ( that.notifyFn ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
231 | that.notifyFn( changeArgs ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
232 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
233 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
234 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
235 | notify( notifyFn ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
236 | const that = this; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
237 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
238 | if ( notifyFn ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
239 | that.notifyFn = notifyFn; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
240 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
241 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
242 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
243 | toArray() { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
244 | const that = this; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
245 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
246 | return that.boundSource.toArray(); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
247 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
248 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
249 | dataBind() { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
250 | const that = this; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
251 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
252 | that.clear(); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
253 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
254 | const completed = () => { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
255 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
256 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
257 | that._onBindingComplete(); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
258 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
259 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
260 | if ( typeof that.dataSource === 'string' && ( that.dataSource.indexOf( '.json' ) >= 0 ) ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
261 | that.url = that.dataSource; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
262 | that.dataSourceType = 'json'; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
263 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
264 | new Ajax( that, ( data/*, status*/ ) => { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
265 | that.dataSource = data; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
266 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
267 | that._bindToJSON(); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
268 | } ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
269 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
270 | else if ( typeof that.dataSource === 'string' && ( that.dataSource.indexOf( '.xlsx' ) >= 0 ) ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
271 | that.url = that.dataSource; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
272 | that.dataSourceType = 'xlsx'; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
273 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
274 | new Ajax( that, ( data/*, status*/ ) => { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
275 | if ( !data[ 0 ] ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
276 | data = []; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
277 | that._bindToArray(); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
278 | completed(); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
279 | return; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
280 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
281 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
282 | const keys = Object.keys( data[ 0 ] ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
283 | const dataFieldMap = {}; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
284 | const dataRows = []; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
285 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
286 | if ( that.exportHeader !== false ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
287 | let index = 0; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
288 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
289 | for ( let key in keys ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
290 | const name = keys[ key ]; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
291 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
292 | dataFieldMap[ name ] = that.dataFields[ index++ ].name; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
293 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
294 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
295 | for ( let i = 1; i < data.length; i++ ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
296 | const row = data[ i ]; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
297 | const dataRow = {}; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
298 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
299 | for ( let key in keys ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
300 | const name = keys[ key ]; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
301 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
302 | dataRow[ dataFieldMap[ name ] ] = row[ name ]; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
303 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
304 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
305 | dataRows.push( dataRow ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
306 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
307 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
308 | that.dataSource = dataRows; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
309 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
310 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
311 | that._bindToArray(); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
312 | completed(); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
313 | } ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
314 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
315 | else if ( typeof that.dataSource === 'string' && ( that.dataSource.indexOf( '.csv' ) >= 0 ) ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
316 | that.dataSourceType = 'csv'; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
317 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
318 | new Ajax( that, (/*data, status*/ ) => { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
319 | that._bindToArray(); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
320 | } ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
321 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
322 | else if ( typeof that.dataSource === 'string' && ( that.dataSource.indexOf( '.tsv' ) >= 0 ) ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
323 | that.dataSourceType = 'tsv'; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
324 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
325 | new Ajax( that, (/*data, status*/ ) => { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
326 | } ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
327 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
328 | else if ( that.dataSourceType === 'array' ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
329 | that._bindToArray(); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
330 | completed(); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
331 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
332 | else if ( that.dataSourceType === 'json' ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
333 | that._bindToJSON(); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
334 | completed(); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
335 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
336 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
337 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
338 | _onBindingComplete() { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
339 | const that = this; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
340 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
341 | that._buildHierarchy(); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
342 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
343 | if ( that.onBindingComplete ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
344 | that.onBindingComplete( { data: that.boundSource } ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
345 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
346 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
347 | if ( that._notify ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
348 | that._notify( { action: 'bindingComplete', data: that.boundSource } ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
349 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
350 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
351 | that.bindingCompleted = true; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
352 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
353 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
354 | refreshHierarchy() { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
355 | const that = this; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
356 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
357 | that._buildHierarchy(); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
358 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
359 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
360 | find() { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
361 | const that = this; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
362 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
363 | return that.boundSource.find.apply( that.boundSource, arguments ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
364 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
365 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
366 | onVirtualDataSourceRequested( requestCallback, details ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
367 | const that = this; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
368 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
369 | let first = details ? details.first : Infinity; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
370 | let last = details ? details.last : Infinity; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
371 | let row = details ? details.row : null; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
372 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
373 | if ( undefined === first ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
374 | first = Infinity; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
375 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
376 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
377 | if ( undefined === last ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
378 | last = Infinity; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
379 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
380 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
381 | that.virtualFirstIndex = first; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
382 | that.virtualLastIndex = last; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
383 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
384 | if ( that.virtualDataSource ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
385 | const getDataSource = function ( ExcelAdapterSettings ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
386 | if ( ExcelAdapterSettings.virtualDataSourceLength !== undefined ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
387 | that.virtualDataSourceLength = ExcelAdapterSettings.virtualDataSourceLength; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
388 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
389 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
390 | new JQX.ExcelAdapter( |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
391 | { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
392 | dataSource: ExcelAdapterSettings.dataSource, |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
393 | dataFields: ExcelAdapterSettings.dataFields || that.dataFields, |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
394 | data: details, |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
395 | onBindingComplete( event ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
396 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
397 | if ( that.virtualDataSourceOnExpand && row ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
398 | if ( event.data && event.data.length > 0 ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
399 | that.add( event.data, row.$.id ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
400 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
401 | else { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
402 | row.leaf = true; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
403 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
404 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
405 | if ( that.onFilter ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
406 | that.onFilter() |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
407 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
408 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
409 | requestCallback(); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
410 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
411 | return; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
412 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
413 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
414 | if ( first === Infinity ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
415 | that.add( event.data ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
416 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
417 | else { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
418 | let items = []; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
419 | let indexes = []; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
420 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
421 | for ( let i = 0; i < event.data.length; i++ ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
422 | const item = event.data[ i ]; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
423 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
424 | if ( first + i <= last ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
425 | items.push( item ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
426 | indexes.push( first + i ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
427 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
428 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
429 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
430 | that.update( indexes, items ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
431 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
432 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
433 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
434 | if ( that.onFilter ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
435 | that.onFilter() |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
436 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
437 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
438 | requestCallback(); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
439 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
440 | } ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
441 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
442 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
443 | let hasCache = false; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
444 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
445 | const isEmpty = ( obj ) => Object.entries( obj ).length === 0 && ( obj.constructor === Object || obj.constructor === Array ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
446 | const canCache = isEmpty( details.sorting ) && isEmpty( details.filtering ) && isEmpty( details.grouping ) && !details.row && ( details.action !== 'filter' && details.action !== 'sort' && details.action !== 'group' ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
447 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
448 | if ( that.virtualDataSourceCache && first !== Infinity && canCache ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
449 | let cachedCount = 0; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
450 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
451 | for ( let i = first; i < last; i++ ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
452 | if ( !that[ i ].$.isEmpty ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
453 | cachedCount++; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
454 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
455 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
456 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
457 | if ( cachedCount === last - first ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
458 | hasCache = true; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
459 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
460 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
461 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
462 | if ( hasCache ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
463 | requestCallback(); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
464 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
465 | else { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
466 | if ( details.action === 'expand' ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
467 | that.virtualDataSourceOnExpand( getDataSource, { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
468 | first: first, |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
469 | last: last, |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
470 | row: details.row, |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
471 | sorting: details.sorting, |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
472 | filtering: details.filtering, |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
473 | grouping: details.grouping, |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
474 | action: details.action |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
475 | } ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
476 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
477 | else { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
478 | that.virtualDataSource( getDataSource, { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
479 | first: first, |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
480 | last: last, |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
481 | sorting: details.sorting, |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
482 | filtering: details.filtering, |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
483 | filterOperator: details.filterOperator || 'and', |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
484 | grouping: details.grouping, |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
485 | action: details.action |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
486 | } ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
487 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
488 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
489 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
490 | else { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
491 | requestCallback(); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
492 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
493 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
494 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
495 | add( item, parentId ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
496 | const that = this; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
497 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
498 | if ( !item ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
499 | return; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
500 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
501 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
502 | let result = true; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
503 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
504 | const addItem = function ( item ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
505 | const itemObject = that._getDataItem( item, that.boundSource.length ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
506 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
507 | that[ that.boundSource.length ] = itemObject; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
508 | that.dataItemById[ itemObject.$.id ] = itemObject; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
509 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
510 | const pushResult = that.boundSource.push( itemObject ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
511 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
512 | if ( parentId !== undefined ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
513 | itemObject.$.parentId = parentId; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
514 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
515 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
516 | if ( !pushResult ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
517 | result = false; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
518 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
519 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
520 | return itemObject; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
521 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
522 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
523 | if ( item.length ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
524 | let itemObjects = []; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
525 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
526 | for ( let i = 0; i < item.length; i++ ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
527 | const itemObject = addItem( item[ i ] ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
528 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
529 | itemObjects.push( itemObject ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
530 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
531 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
532 | that._notify( { action: 'add', data: itemObjects } ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
533 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
534 | else { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
535 | const itemObject = addItem( item ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
536 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
537 | that._notify( { action: 'add', data: itemObject } ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
538 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
539 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
540 | that.refreshHierarchy(); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
541 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
542 | return result; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
543 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
544 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
545 | refreshIndexes() { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
546 | const that = this; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
547 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
548 | for (let i = 0; i < that.boundSource.length; i++) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
549 | that[i] = that.boundSource[i]; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
550 | that[i].$.index = i; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
551 | that.dataItemById[that[i].$.id] = that[i]; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
552 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
553 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
554 | let i = that.boundSource.length; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
555 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
556 | while (that[i]) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
557 | delete that[i]; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
558 | i++; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
559 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
560 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
561 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
562 | removeLast() { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
563 | const that = this; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
564 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
565 | delete that[that.boundSource.length - 1]; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
566 | const result = that.boundSource.pop(); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
567 | delete that.dataItemById[result.$.id]; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
568 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
569 | that._notify({ action: 'removeLast', data: result }); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
570 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
571 | that.refreshHierarchy(); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
572 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
573 | return result; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
574 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
575 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
576 | removeAt(index) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
577 | const that = this; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
578 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
579 | const item = that.boundSource[index]; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
580 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
581 | if (!item) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
582 | throw new Error('Invalid Item Index'); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
583 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
584 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
585 | that.boundSource.splice(index, 1); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
586 | delete that.dataItemById[item.$.id]; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
587 | that.refreshIndexes(); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
588 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
589 | that._notify({ action: 'remove', index: index, data: item }); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
590 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
591 | that.refreshHierarchy(); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
592 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
593 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
594 | update( index, dataSourceItem ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
595 | const that = this; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
596 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
597 | if ( JQX.Utilities.Types.isArray( index ) && JQX.Utilities.Types.isArray( dataSourceItem ) ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
598 | if ( index.length === 0 && dataSourceItem.length === 0 ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
599 | that.refreshHierarchy(); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
600 | return; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
601 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
602 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
603 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
604 | if ( dataSourceItem.length && index.length ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
605 | let itemObjects = []; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
606 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
607 | for ( let i = 0; i < index.length; i++ ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
608 | const itemObject = that._getDataItem( dataSourceItem[ i ], index[ i ] ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
609 | const currentIndex = index[ i ]; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
610 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
611 | itemObjects.push( itemObject ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
612 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
613 | that.boundSource[ currentIndex ] = itemObject; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
614 | that[ currentIndex ] = that.boundSource[ currentIndex ]; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
615 | that.dataItemById[ itemObject.$.id ] = that[ currentIndex ]; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
616 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
617 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
618 | that._notify( { action: 'update', index: index, data: itemObjects } ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
619 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
620 | that.refreshHierarchy(); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
621 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
622 | return; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
623 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
624 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
625 | const itemObject = that._getDataItem( dataSourceItem, index ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
626 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
627 | that.boundSource[ index ] = itemObject; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
628 | that[ index ] = that.boundSource[ index ]; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
629 | that.dataItemById[ itemObject.$.id ] = that[ index ]; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
630 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
631 | that._notify( { action: 'update', index: index, data: itemObject } ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
632 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
633 | that.refreshHierarchy(); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
634 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
635 | return itemObject; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
636 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
637 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
638 | insert( index, item ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
639 | const that = this; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
640 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
641 | item = that._getDataItem( item, index ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
642 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
643 | const result = that.boundSource.splice( index, 0, item ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
644 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
645 | that.refreshIndexes(); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
646 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
647 | that._notify( { action: 'insert', index: index, data: item } ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
648 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
649 | that.refreshHierarchy(); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
650 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
651 | return result; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
652 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
653 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
654 | move( from, to ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
655 | if ( to > from && to - from === 1 || from === to ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
656 | return; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
657 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
658 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
659 | const that = this, |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
660 | recordToMove = that.boundSource.splice( from, 1 )[ 0 ]; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
661 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
662 | if ( to > from ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
663 | to--; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
664 | that.boundSource.splice( to, 0, recordToMove ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
665 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
666 | else { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
667 | that.boundSource.splice( to, 0, recordToMove ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
668 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
669 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
670 | that.refreshIndexes(); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
671 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
672 | that._notify( { action: 'move', index: to, data: that.boundSource[ to ] } ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
673 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
674 | that.refreshHierarchy(); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
675 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
676 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
677 | indexOf( item ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
678 | const that = this; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
679 | const index = that.boundSource.indexOf( item ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
680 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
681 | return index; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
682 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
683 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
684 | get length() { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
685 | const that = this; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
686 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
687 | if ( that.virtualDataSourceLength !== undefined ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
688 | return that.virtualDataSourceLength; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
689 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
690 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
691 | if ( that.dataSourceLength ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
692 | return that.dataSourceLength; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
693 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
694 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
695 | if ( typeof ( that.dataSource ) === 'number' ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
696 | return that.dataSource; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
697 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
698 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
699 | if ( that.bindingCompleted ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
700 | return that.boundSource.length; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
701 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
702 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
703 | if ( that.dataSource && typeof that.dataSource !== 'string' && that.dataSource.length ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
704 | return that.dataSource.length; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
705 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
706 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
707 | return that.boundSource.length; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
708 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
709 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
710 | clear() { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
711 | const that = this; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
712 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
713 | if ( !that.isInitialized ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
714 | that._cachedValues = []; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
715 | that.dataItemById = []; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
716 | return; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
717 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
718 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
719 | for ( let i = 0; i < that.boundSource.length; i++ ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
720 | delete that[ i ]; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
721 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
722 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
723 | that._cachedValues = []; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
724 | that.boundSource = that.observable ? new JQX.ObservableArray() : []; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
725 | that.dataItemById = []; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
726 | that.refreshHierarchy(); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
727 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
728 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
729 | _getId( id, item, index ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
730 | if ( id !== null && id.name !== undefined ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
731 | if ( id.name && item.getAttribute ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
732 | let result = item.getAttribute( id.name ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
733 | if ( result !== null && result.toString().length > 0 ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
734 | return result; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
735 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
736 | else if ( id.map ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
737 | try { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
738 | let result = item.getAttribute( id.map ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
739 | if ( result !== null && result.toString().length > 0 ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
740 | return result; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
741 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
742 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
743 | catch ( error ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
744 | return index; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
745 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
746 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
747 | return; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
748 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
749 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
750 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
751 | if ( id ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
752 | if ( id.toString().length > 0 && item.getAttribute ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
753 | let result = item.getAttribute( id ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
754 | if ( result !== null && result.toString().length > 0 ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
755 | return result.trim().split( ' ' ).join( '' ).replace( /([ #;?%&,.+*~\':'!^$[\]()=>|\/@])/g, '' ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
756 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
757 | else { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
758 | let splitMap = id.split( this.mapChar ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
759 | if ( splitMap.length > 1 ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
760 | let d = item; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
761 | for ( let p = 0; p < splitMap.length; p++ ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
762 | if ( d !== undefined ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
763 | d = d[ splitMap[ p ] ]; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
764 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
765 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
766 | if ( d !== undefined ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
767 | return d; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
768 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
769 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
770 | else { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
771 | if ( item[ id ] !== undefined ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
772 | return item[ id ]; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
773 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
774 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
775 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
776 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
777 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
778 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
779 | return index; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
780 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
781 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
782 | _buildHierarchy() { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
783 | const that = this; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
784 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
785 | if ( !that.reservedNames ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
786 | that.reservedNames = { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
787 | leaf: 'leaf', |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
788 | parent: 'parent', |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
789 | expanded: 'expanded', |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
790 | checked: 'checked', |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
791 | selected: 'selected', |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
792 | level: 'level', |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
793 | icon: 'icon', |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
794 | data: 'data' |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
795 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
796 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
797 | else { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
798 | const names = that.reservedNames; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
799 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
800 | if ( !names.leaf ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
801 | names.leaf = 'leaf'; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
802 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
803 | if ( !names.parent ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
804 | names.parent = 'parent'; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
805 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
806 | if ( !names.expanded ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
807 | names.expanded = 'expanded'; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
808 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
809 | if ( !names.checked ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
810 | names.checked = 'checked'; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
811 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
812 | if ( !names.selected ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
813 | names.selected = 'selected'; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
814 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
815 | if ( !names.level ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
816 | names.level = 'level'; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
817 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
818 | if ( !names.data ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
819 | names.data = 'data'; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
820 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
821 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
822 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
823 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
824 | const names = that.reservedNames; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
825 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
826 | if ( that.childrenDataField ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
827 | const hierarchy = []; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
828 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
829 | for ( let i = 0; i < that.boundSource.length; i++ ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
830 | const item = Object.assign( {}, that.boundSource[ i ] ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
831 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
832 | if ( !item ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
833 | continue; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
834 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
835 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
836 | hierarchy.push( item ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
837 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
838 | const addItems = function ( item ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
839 | const splitMap = that.childrenDataField.split( that.mapChar ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
840 | let children = null; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
841 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
842 | if ( splitMap.length > 1 ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
843 | let data = item; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
844 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
845 | for ( let p = 0; p < splitMap.length; p++ ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
846 | if ( data !== undefined ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
847 | data = data[ splitMap[ p ] ]; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
848 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
849 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
850 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
851 | children = data; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
852 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
853 | else { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
854 | children = item[ 'children' ]; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
855 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
856 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
857 | item[ 'children' ] = children; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
858 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
859 | if ( item[ 'children' ] === null || item[ 'children' ] === undefined || ( item[ 'children' ] && item[ 'children' ].length === 0 ) ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
860 | item[ names.leaf ] = true; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
861 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
862 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
863 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
864 | addItems( item ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
865 | item[ names.level ] = 0; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
866 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
867 | if ( !item.$ ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
868 | item.$ = {}; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
869 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
870 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
871 | item[ names.parent ] = null; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
872 | item[ names.data ] = item; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
873 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
874 | if ( item[ names.expanded ] === undefined ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
875 | item[ names.expanded ] = false; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
876 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
877 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
878 | const drillThrough = function ( parent, children ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
879 | if ( !children ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
880 | parent[ 'children' ] = new Array(); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
881 | return; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
882 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
883 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
884 | for ( let i = 0; i < children.length; i++ ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
885 | let item = that._getDataItem( children[ i ], i ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
886 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
887 | if ( !item ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
888 | continue; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
889 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
890 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
891 | addItems( item ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
892 | item[ names.level ] = parent[ names.level ] + 1; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
893 | item[ names.parent ] = parent; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
894 | item[ names.data ] = item; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
895 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
896 | if ( parent ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
897 | parent[ 'children' ][ i ] = item; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
898 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
899 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
900 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
901 | if ( item[ names.expanded ] === undefined ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
902 | item[ names.expanded ] = false; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
903 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
904 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
905 | drillThrough( item, item[ 'children' ] ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
906 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
907 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
908 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
909 | drillThrough( item, item[ 'children' ] ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
910 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
911 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
912 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
913 | that.boundHierarchy = hierarchy; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
914 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
915 | if ( !that._boundSourceUpdate ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
916 | for ( let i = 0; i < that.boundHierarchy.length; i++ ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
917 | const item = that.boundHierarchy[ i ]; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
918 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
919 | if ( item.children ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
920 | const drillThrough = function ( item ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
921 | if ( !that.dataItemById[ item.$.id ] ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
922 | that.boundSource.canNotify = false; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
923 | that.dataItemById[ item.$.id ] = item; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
924 | that[ that.boundSource.length ] = item; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
925 | that.boundSource.push( item ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
926 | that.boundSource.canNotify = true; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
927 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
928 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
929 | if ( item.children ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
930 | for ( let i = 0; i < item.children.length; i++ ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
931 | const child = item.children[ i ]; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
932 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
933 | if ( child.children ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
934 | drillThrough( child ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
935 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
936 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
937 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
938 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
939 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
940 | drillThrough( item ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
941 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
942 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
943 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
944 | that._boundSourceUpdate = true; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
945 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
946 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
947 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
948 | if ( that.xmlRoot && that.dataSourceType === 'xml' ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
949 | that.boundHierarchy = this._getHierarchy( 'uid', '_parentuid', 'children', null, that.boundSource ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
950 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
951 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
952 | if ( that.keyDataField && that.parentDataField ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
953 | that.boundHierarchy = this._getHierarchy( that.keyDataField, that.parentDataField, 'children', null, that.boundSource ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
954 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
955 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
956 | if ( that.groupBy && that.groupBy.length > 0 ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
957 | that.boundHierarchy = this._getGroupHierarchy( that.groupBy, 'children', 'label', null, 'data', null, 'parent', that.boundSource ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
958 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
959 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
960 | if ( that.virtualDataSourceOnExpand ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
961 | that.boundHierarchy = this._getHierarchy( 'id', 'parentId', 'children', null, that.boundSource ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
962 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
963 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
964 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
965 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
966 | _getGroupHierarchy( groups, collectionName, groupName, mappingFields, itemName, valueName, parentName, data, startIndex ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
967 | let that = this; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
968 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
969 | if ( !startIndex ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
970 | startIndex = 0; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
971 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
972 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
973 | let names = that.reservedNames; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
974 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
975 | const guid = function () { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
976 | function s4() { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
977 | return Math.floor( ( 1 + Math.random() ) * 0x10000 ) |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
978 | .toString( 16 ) |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
979 | .substring( 1 ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
980 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
981 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
982 | return s4() + s4() + '-' + s4() + '-' + s4() + '-' + s4() + '-' + s4() + s4() + s4(); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
983 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
984 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
985 | let groupHashCodes = new Array(); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
986 | for ( let iGroupColumn = 0; iGroupColumn < groups.length; iGroupColumn++ ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
987 | groupHashCodes[ iGroupColumn ] = guid(); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
988 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
989 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
990 | if ( !collectionName ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
991 | collectionName = 'children'; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
992 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
993 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
994 | if ( !groupName ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
995 | groupName = 'group'; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
996 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
997 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
998 | if ( !itemName ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
999 | itemName = 'item'; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1000 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1001 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1002 | if ( !parentName ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1003 | parentName = 'parent'; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1004 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1005 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1006 | if ( undefined === valueName ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1007 | valueName = 'value'; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1008 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1009 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1010 | const groupboundSource = new Array(); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1011 | const hashItemGroups = new Array(); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1012 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1013 | let groupboundSourceIndex = 0; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1014 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1015 | const getItem = function ( item ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1016 | let itemObj = item; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1017 | if ( mappingFields ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1018 | for ( let mappingField in mappingFields ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1019 | const mappingObject = mappingFields[ mappingField ]; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1020 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1021 | if ( mappingObject.name && mappingObject.map ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1022 | itemObj[ mappingObject.map ] = itemObj[ mappingObject.name ]; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1023 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1024 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1025 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1026 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1027 | return itemObj; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1028 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1029 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1030 | for ( let obj = 0; obj < data.length; obj++ ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1031 | let item = Object.assign( {}, getItem( data[ obj ] ) ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1032 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1033 | item[ names.leaf ] = false; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1034 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1035 | let itemKeysHierarchy = new Array(); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1036 | let keys = 0; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1037 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1038 | for ( let iGroupColumn = 0; iGroupColumn < groups.length; iGroupColumn++ ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1039 | const group = groups[ iGroupColumn ]; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1040 | const value = item[ group ]; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1041 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1042 | if ( null === value ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1043 | continue; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1044 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1045 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1046 | itemKeysHierarchy[ keys++ ] = { value: value, group: group, hash: groupHashCodes[ iGroupColumn ] }; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1047 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1048 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1049 | if ( itemKeysHierarchy.length !== groups.length ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1050 | break; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1051 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1052 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1053 | let parentItem = null; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1054 | let lookupKey = ''; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1055 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1056 | for ( let q = 0; q < itemKeysHierarchy.length; q++ ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1057 | const itemKey = itemKeysHierarchy[ q ].value; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1058 | const groupDataField = itemKeysHierarchy[ q ].group; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1059 | const columnHash = itemKeysHierarchy[ q ].hash; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1060 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1061 | lookupKey = lookupKey + '_' + columnHash + '_' + itemKey; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1062 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1063 | if ( hashItemGroups[ lookupKey ] !== undefined && hashItemGroups[ lookupKey ] !== null ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1064 | parentItem = hashItemGroups[ lookupKey ]; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1065 | continue; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1066 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1067 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1068 | if ( parentItem === null ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1069 | parentItem = { $: {} }; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1070 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1071 | parentItem[ names.level ] = 0; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1072 | parentItem[ names.leaf ] = false; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1073 | parentItem[ parentName ] = null; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1074 | parentItem[ groupName ] = itemKey; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1075 | parentItem[ itemName ] = item; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1076 | parentItem[ 'groupDataField' ] = groupDataField; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1077 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1078 | if ( !parentItem[ groupDataField ] ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1079 | parentItem[ groupDataField ] = parentItem.data[ groupDataField ]; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1080 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1081 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1082 | if ( item[ names.expanded ] !== undefined ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1083 | parentItem[ names.expanded ] = item[ names.expanded ]; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1084 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1085 | else { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1086 | parentItem[ names.expanded ] = false; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1087 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1088 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1089 | if ( valueName ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1090 | parentItem[ valueName ] = item[ valueName ]; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1091 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1092 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1093 | parentItem[ collectionName ] = new Array(); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1094 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1095 | let uid = groupboundSource.length + startIndex; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1096 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1097 | if ( !this.id || typeof item.$.id === 'number' || isFinite( item.$.id ) ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1098 | uid = 'Item' + uid; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1099 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1100 | if ( parentItem.$.id === undefined ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1101 | parentItem.$.id = uid; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1102 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1103 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1104 | groupboundSource[ groupboundSourceIndex++ ] = parentItem; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1105 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1106 | else { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1107 | const subItem = { $: {} }; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1108 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1109 | subItem[ names.level ] = parentItem[ names.level ] + 1; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1110 | subItem[ parentName ] = parentItem; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1111 | subItem[ groupName ] = itemKey; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1112 | subItem[ collectionName ] = new Array(); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1113 | subItem[ itemName ] = item; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1114 | subItem[ 'groupDataField' ] = groupDataField; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1115 | subItem[ names.leaf ] = false; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1116 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1117 | if ( !subItem[ groupDataField ] ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1118 | subItem[ groupDataField ] = subItem.data[ groupDataField ]; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1119 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1120 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1121 | if ( item[ names.expanded ] !== undefined ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1122 | subItem[ names.expanded ] = item[ names.expanded ]; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1123 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1124 | else { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1125 | subItem[ names.expanded ] = false; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1126 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1127 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1128 | if ( valueName ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1129 | subItem[ valueName ] = item[ valueName ]; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1130 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1131 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1132 | if ( subItem.$.id === undefined ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1133 | subItem.$.id = parentItem.$.id + '_' + parentItem[ collectionName ].length; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1134 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1135 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1136 | parentItem[ collectionName ][ parentItem[ collectionName ].length ] = subItem; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1137 | parentItem = subItem; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1138 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1139 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1140 | hashItemGroups[ lookupKey ] = parentItem; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1141 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1142 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1143 | if ( item ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1144 | item[ names.leaf ] = true; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1145 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1146 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1147 | if ( parentItem !== null ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1148 | if ( this.id === null ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1149 | if ( undefined === item.$.id ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1150 | item.$.id = parentItem.$.id + '_' + parentItem[ collectionName ].length; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1151 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1152 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1153 | else { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1154 | if ( undefined === item.$.id ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1155 | if ( item.$.id.toString().indexOf( parentItem.$.id ) === -1 ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1156 | item.$.id = parentItem.$.id + '_' + item.$.id; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1157 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1158 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1159 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1160 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1161 | item[ parentName ] = parentItem; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1162 | item[ names.level ] = parentItem[ names.level ] + 1; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1163 | parentItem[ collectionName ][ parentItem[ collectionName ].length ] = item; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1164 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1165 | else { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1166 | if ( undefined === item.$.id ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1167 | item.$.id = guid(); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1168 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1169 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1170 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1171 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1172 | return groupboundSource; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1173 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1174 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1175 | _getHierarchy( fieldName, parentFieldName, collectionName, mappingFields, boundSource ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1176 | const that = this; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1177 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1178 | const databoundHierarchy = new Array(); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1179 | let flatData = this.boundSource; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1180 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1181 | if ( boundSource ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1182 | flatData = boundSource; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1183 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1184 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1185 | if ( this.boundSource.length === 0 ) |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1186 | return null; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1187 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1188 | const childrenName = collectionName !== null ? collectionName : 'children'; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1189 | let items = new Array(); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1190 | let data = flatData; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1191 | let dataLength = data.length; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1192 | let names = that.reservedNames; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1193 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1194 | const getItem = function ( item ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1195 | let itemObj = item; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1196 | if ( mappingFields ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1197 | for ( let mappingField in mappingFields ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1198 | const mappingObject = mappingFields[ mappingField ]; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1199 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1200 | if ( mappingObject.name && mappingObject.map ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1201 | itemObj[ mappingObject.map ] = itemObj[ mappingObject.name ]; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1202 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1203 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1204 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1205 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1206 | return itemObj; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1207 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1208 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1209 | // build hierarchical source. |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1210 | for ( let i = 0; i < dataLength; i++ ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1211 | let item = data[ i ]; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1212 | let parentId = item[ parentFieldName ]; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1213 | let id = item[ fieldName ]; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1214 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1215 | if ( parentFieldName === 'parentId' ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1216 | parentId = item.$.parentId; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1217 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1218 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1219 | if ( fieldName === 'id' ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1220 | id = item.$.id; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1221 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1222 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1223 | item[ childrenName ] = new Array(); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1224 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1225 | items[ id ] = { parentId: parentId, item: item }; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1226 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1227 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1228 | for ( let i = 0; i < dataLength; i++ ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1229 | const item = data[ i ]; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1230 | let parentId = item[ parentFieldName ]; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1231 | let id = item[ fieldName ]; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1232 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1233 | if ( parentFieldName === 'parentId' ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1234 | parentId = item.$.parentId; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1235 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1236 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1237 | if ( fieldName === 'id' ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1238 | id = item.$.id; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1239 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1240 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1241 | if ( items[ parentId ] !== undefined ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1242 | let item = { parentId: parentId, item: items[ id ].item }; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1243 | let parentItem = items[ parentId ].item; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1244 | if ( !parentItem[ childrenName ] ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1245 | parentItem[ childrenName ] = new Array(); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1246 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1247 | let length = parentItem[ childrenName ].length; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1248 | item = item.item; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1249 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1250 | if ( !names ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1251 | if ( item.parent === undefined ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1252 | item.parent = parentItem; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1253 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1254 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1255 | else { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1256 | if ( item[ names.parent ] === undefined ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1257 | item[ names.parent ] = parentItem; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1258 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1259 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1260 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1261 | const itemObj = getItem( item ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1262 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1263 | parentItem[ childrenName ][ length ] = itemObj; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1264 | items[ parentId ].item = parentItem; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1265 | items[ id ].item = item; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1266 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1267 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1268 | else { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1269 | let item = items[ id ].item; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1270 | if ( !names ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1271 | if ( item.parent === undefined ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1272 | item.parent = null; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1273 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1274 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1275 | else { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1276 | if ( item[ names.parent ] === undefined ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1277 | item[ names.parent ] = null; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1278 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1279 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1280 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1281 | const itemObj = getItem( item ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1282 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1283 | if ( !names ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1284 | itemObj.level = 0; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1285 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1286 | else { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1287 | itemObj[ names.level ] = 0; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1288 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1289 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1290 | databoundHierarchy[ databoundHierarchy.length ] = itemObj; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1291 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1292 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1293 | if ( databoundHierarchy.length !== 0 ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1294 | let updateLevels = function ( level, children ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1295 | for ( let i = 0; i < children.length; i++ ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1296 | const child = children[ i ]; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1297 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1298 | if ( !names ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1299 | child.level = level; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1300 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1301 | else { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1302 | child[ names.level ] = level; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1303 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1304 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1305 | const childChildren = child[ childrenName ]; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1306 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1307 | if ( childChildren ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1308 | if ( childChildren.length > 0 ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1309 | updateLevels( level + 1, childChildren ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1310 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1311 | else { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1312 | if ( that.virtualDataSourceOnExpand ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1313 | if ( child.leaf === undefined ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1314 | child.leaf = false; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1315 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1316 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1317 | else { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1318 | if ( !names ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1319 | child.leaf = true; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1320 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1321 | else { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1322 | child[ names.leaf ] = true; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1323 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1324 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1325 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1326 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1327 | else { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1328 | if ( that.virtualDataSourceOnExpand ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1329 | if ( child.leaf === undefined ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1330 | child.leaf = false; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1331 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1332 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1333 | else { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1334 | if ( !names ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1335 | child.leaf = true; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1336 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1337 | else { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1338 | child[ names.leaf ] = true; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1339 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1340 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1341 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1342 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1343 | }; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1344 | updateLevels( 0, databoundHierarchy ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1345 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1346 | return databoundHierarchy; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1347 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1348 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1349 | summarize( summaryItems, boundSource ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1350 | const that = this; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1351 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1352 | if ( !Array.isArray( summaryItems ) ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1353 | summaryItems = [ summaryItems ]; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1354 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1355 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1356 | let tempSummaryItems = []; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1357 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1358 | for ( let i = 0; i < summaryItems.length; i++ ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1359 | const summaryItem = summaryItems[ i ]; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1360 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1361 | for ( let name in summaryItem ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1362 | const functions = summaryItem[ name ]; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1363 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1364 | tempSummaryItems.push( { dataField: name, functions: functions } ) |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1365 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1366 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1367 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1368 | summaryItems = tempSummaryItems; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1369 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1370 | let data = {}; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1371 | let summaryByDataField = new Array(); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1372 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1373 | if ( !boundSource ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1374 | boundSource = that.boundSource; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1375 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1376 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1377 | let length = boundSource.length; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1378 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1379 | if ( length === 0 ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1380 | return; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1381 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1382 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1383 | if ( length === undefined ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1384 | return; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1385 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1386 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1387 | for ( let i = 0; i < length; i++ ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1388 | let dataItem = boundSource[ i ]; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1389 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1390 | for ( let j = 0; j < summaryItems.length; j++ ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1391 | const summaryItem = summaryItems[ j ]; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1392 | let value = dataItem[ summaryItem.dataField ]; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1393 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1394 | if ( summaryItem.functions ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1395 | data[ summaryItem.dataField ] = data[ summaryItem.dataField ] || {}; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1396 | summaryByDataField[ summaryItem.dataField ] = summaryByDataField[ summaryItem.dataField ] || 0; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1397 | summaryByDataField[ summaryItem.dataField ]++; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1398 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1399 | const _summaryItemFunction = function ( summaryItemObject ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1400 | for ( let name in summaryItemObject ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1401 | let oldValue = data[ summaryItem.dataField ][ name ]; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1402 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1403 | if ( oldValue === null || oldValue === undefined ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1404 | data[ summaryItem.dataField ][ name ] = 0; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1405 | oldValue = 0; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1406 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1407 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1408 | if ( typeof summaryItemObject[ name ] === 'function' ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1409 | oldValue = summaryItemObject[ name ]( oldValue, value, summaryItem.dataField, dataItem ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1410 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1411 | data[ summaryItem.dataField ][ name ] = oldValue; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1412 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1413 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1414 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1415 | let canParse = parseFloat( value ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1416 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1417 | if ( isNaN( canParse ) ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1418 | canParse = false; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1419 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1420 | else { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1421 | canParse = true; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1422 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1423 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1424 | if ( canParse ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1425 | value = parseFloat( value ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1426 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1427 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1428 | if ( typeof value === 'number' && isFinite( value ) ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1429 | summaryItem.functions.forEach( function ( summaryItemFunction ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1430 | let oldValue = data[ summaryItem.dataField ][ summaryItemFunction ]; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1431 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1432 | if ( oldValue === null || oldValue === undefined ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1433 | oldValue = 0; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1434 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1435 | if ( summaryItemFunction === 'min' ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1436 | oldValue = 9999999999999; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1437 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1438 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1439 | if ( summaryItemFunction === 'max' ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1440 | oldValue = -9999999999999; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1441 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1442 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1443 | if (summaryItemFunction === 'median') { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1444 | oldValue = []; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1445 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1446 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1447 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1448 | if ( summaryItemFunction === 'sum' || summaryItemFunction === 'avg' || summaryItemFunction === 'stdev' |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1449 | || summaryItemFunction === 'stdevp' || summaryItemFunction === 'var' || summaryItemFunction === 'varp' ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1450 | oldValue += parseFloat( value ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1451 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1452 | else if ( summaryItemFunction === 'product' ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1453 | if ( i === 0 ) |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1454 | oldValue = parseFloat( value ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1455 | else |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1456 | oldValue *= parseFloat( value ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1457 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1458 | else if ( summaryItemFunction === 'min' ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1459 | oldValue = Math.min( oldValue, parseFloat( value ) ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1460 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1461 | else if ( summaryItemFunction === 'max' ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1462 | oldValue = Math.max( oldValue, parseFloat( value ) ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1463 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1464 | else if ( summaryItemFunction === 'count' ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1465 | oldValue++; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1466 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1467 | else if (summaryItemFunction === 'median') { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1468 | oldValue.push(parseFloat(value)); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1469 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1470 | else if ( typeof ( summaryItemFunction ) === 'object' ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1471 | _summaryItemFunction( summaryItemFunction ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1472 | return; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1473 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1474 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1475 | data[ summaryItem.dataField ][ summaryItemFunction ] = oldValue; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1476 | } ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1477 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1478 | else { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1479 | summaryItem.functions.forEach( function ( summaryItemFunction ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1480 | if ( summaryItemFunction === 'min' || summaryItemFunction === 'max' || summaryItemFunction === 'count' || summaryItemFunction === 'product' || summaryItemFunction === 'sum' |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1481 | || summaryItemFunction === 'avg' || summaryItemFunction === 'stdev' |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1482 | || summaryItemFunction === 'stdevp' || summaryItemFunction === 'var' || summaryItemFunction === 'varp' ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1483 | if ( value === null ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1484 | return true; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1485 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1486 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1487 | let oldValue = data[ summaryItem.dataField ][ summaryItemFunction ]; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1488 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1489 | if ( oldValue === null || oldValue === undefined ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1490 | oldValue = 0; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1491 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1492 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1493 | data[ summaryItem.dataField ][ summaryItemFunction ] = oldValue; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1494 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1495 | return true; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1496 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1497 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1498 | if ( typeof ( summaryItemFunction ) === 'object' ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1499 | _summaryItemFunction( summaryItemFunction ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1500 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1501 | } ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1502 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1503 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1504 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1505 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1506 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1507 | for ( let j = 0; j < summaryItems.length; j++ ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1508 | const summaryItem = summaryItems[ j ]; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1509 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1510 | if ( !summaryItem.functions ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1511 | continue; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1512 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1513 | if ( !data[ summaryItem.dataField ] ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1514 | data[ summaryItem.dataField ] = {}; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1515 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1516 | summaryItem.functions.forEach( function ( summaryItemFunction ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1517 | data[ summaryItem.dataField ][ summaryItemFunction ] = 0; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1518 | } ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1519 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1520 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1521 | if ( data[ summaryItem.dataField ][ 'avg' ] !== undefined ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1522 | const value = data[ summaryItem.dataField ][ 'avg' ]; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1523 | const dataValues = summaryByDataField[ summaryItem.dataField ]; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1524 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1525 | if ( dataValues === 0 || dataValues === undefined ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1526 | data[ summaryItem.dataField ][ 'avg' ] = 0; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1527 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1528 | else { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1529 | data[ summaryItem.dataField ][ 'avg' ] = value / dataValues; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1530 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1531 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1532 | else if ( data[ summaryItem.dataField ][ 'count' ] !== undefined ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1533 | data[ summaryItem.dataField ][ 'count' ] = length; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1534 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1535 | else if (data[summaryItem.dataField]['median'] !== undefined) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1536 | let population = data[summaryItem.dataField]['median']; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1537 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1538 | population.sort(function (a, b) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1539 | return a - b; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1540 | }); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1541 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1542 | data[summaryItem.dataField]['median'] = |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1543 | 0.5 * (population[Math.floor((population.length + 1) / 2) - 1] + population[Math.ceil((population.length + 1) / 2) - 1]); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1544 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1545 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1546 | // stdev, stdevp, var, varp. |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1547 | // stdev - Standard deviation on a sample. |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1548 | // varp - Variance on an entire population. |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1549 | // let - Variance on a sample. |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1550 | if ( data[ summaryItem.dataField ][ 'stdev' ] || data[ summaryItem.dataField ][ 'stdevp' ] |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1551 | || data[ summaryItem.dataField ][ 'var' ] || data[ summaryItem.dataField ][ 'varp' ] ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1552 | summaryItem.functions.forEach( function ( summaryItemFunction ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1553 | if ( summaryItemFunction === 'stdev' || summaryItemFunction === 'var' || summaryItemFunction === 'varp' || summaryItemFunction === 'stdevp' ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1554 | const value = data[ summaryItem.dataField ][ summaryItemFunction ]; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1555 | const count = length; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1556 | const average = ( value / length ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1557 | let sumSq = 0.0; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1558 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1559 | for ( let i = 0; i < length; i++ ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1560 | let dataItem = boundSource[ i ]; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1561 | let value = dataItem[ summaryItem.dataField ]; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1562 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1563 | sumSq += ( value - average ) * ( value - average ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1564 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1565 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1566 | let denominator = ( summaryItemFunction === 'stdevp' || summaryItemFunction === 'varp' ) ? count : count - 1; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1567 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1568 | if ( denominator === 0 ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1569 | denominator = 1; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1570 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1571 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1572 | if ( summaryItemFunction === 'var' || summaryItemFunction === 'varp' ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1573 | data[ summaryItem.dataField ][ summaryItemFunction ] = sumSq / denominator; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1574 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1575 | else if ( summaryItemFunction === 'stdevp' || summaryItemFunction === 'stdev' ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1576 | data[ summaryItem.dataField ][ summaryItemFunction ] = Math.sqrt( sumSq / denominator ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1577 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1578 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1579 | } ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1580 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1581 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1582 | return data; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1583 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1584 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1585 | deserialize(stringValue, type, nullable) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1586 | const nullValue = stringValue === 'null'; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1587 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1588 | if (stringValue === undefined || (nullValue && !nullable)) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1589 | return undefined; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1590 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1591 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1592 | if (nullValue && nullable) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1593 | return null; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1594 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1595 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1596 | if (type === 'boolean' || type === 'bool') { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1597 | if (stringValue === null) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1598 | return false; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1599 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1600 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1601 | // Boolean properties are set based on the presence of the attribute: if the attribute exists at all, the value is true. |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1602 | return true; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1603 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1604 | else if (type === 'number' || type === 'float') { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1605 | if (stringValue === 'NaN') { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1606 | return NaN; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1607 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1608 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1609 | if (stringValue === 'Infinity') { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1610 | return Infinity; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1611 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1612 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1613 | if (stringValue === '-Infinity') { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1614 | return -Infinity; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1615 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1616 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1617 | return parseFloat(stringValue); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1618 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1619 | else if (type === 'int' || type === 'integer') { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1620 | if (stringValue === 'NaN') { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1621 | return NaN; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1622 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1623 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1624 | if (stringValue === 'Infinity') { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1625 | return Infinity; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1626 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1627 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1628 | if (stringValue === '-Infinity') { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1629 | return -Infinity; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1630 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1631 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1632 | return parseInt(stringValue); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1633 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1634 | else if (type === 'string') { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1635 | return stringValue; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1636 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1637 | else if (type === 'any') { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1638 | return stringValue; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1639 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1640 | else if (type === 'date') { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1641 | return new Date(stringValue); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1642 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1643 | else if (type === 'function') { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1644 | if (typeof window[stringValue] === 'function') { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1645 | return window[stringValue]; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1646 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1647 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1648 | else if (type === 'array' || type === 'object') { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1649 | try { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1650 | const jsonObject = JSON.parse(stringValue); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1651 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1652 | if (jsonObject) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1653 | return jsonObject; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1654 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1655 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1656 | catch (er) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1657 | if (window[stringValue] && (typeof window[stringValue] === 'object')) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1658 | return window[stringValue]; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1659 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1660 | else if (type === 'array' && stringValue.indexOf('[') >= 0) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1661 | if (stringValue.indexOf('{') >= 0) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1662 | let array = stringValue.replace(/{/ig, '').replace('[', '').replace(']', '').replace(/'/ig, '').replace(/"/ig, '').trim(); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1663 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1664 | array = array.split('},'); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1665 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1666 | for (let i = 0; i < array.length; i++) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1667 | let parsedObject = { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1668 | }; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1669 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1670 | let parts = array[i].trim().split(','); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1671 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1672 | for (let j = 0; j < parts.length; j++) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1673 | const key = parts[j].split(':')[0].trim(); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1674 | const value = parts[j].split(':')[1].trim(); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1675 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1676 | parsedObject[key] = value; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1677 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1678 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1679 | array[i] = parsedObject; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1680 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1681 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1682 | return array; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1683 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1684 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1685 | const array = stringValue.replace('[', '').replace(']', '').replace(/'/ig, '').replace(/"/ig, '').trim().split(','); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1686 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1687 | return array; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1688 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1689 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1690 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1691 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1692 | return undefined; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1693 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1694 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1695 | _getDataItem( dataSourceItem, index ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1696 | const that = this; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1697 | const itemObject = {}; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1698 | const unboundMode = typeof ( that.dataSource ) === 'number' || that.dataSourceLength; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1699 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1700 | if ( !dataSourceItem ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1701 | return { $: { id: index, isEmpty: true, index: index } } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1702 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1703 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1704 | if ( typeof dataSourceItem === 'string' ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1705 | dataSourceItem = { '': dataSourceItem }; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1706 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1707 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1708 | if ( unboundMode ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1709 | for ( let j = 0; j < that.dataFields.length; j++ ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1710 | const dataField = that.dataFields ? that.dataFields[ j ] : {}; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1711 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1712 | itemObject[ dataField.name ] = ''; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1713 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1714 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1715 | itemObject.$ = {}; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1716 | itemObject.$.id = index; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1717 | itemObject.$.index = index; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1718 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1719 | return itemObject; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1720 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1721 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1722 | const dataItem = dataSourceItem; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1723 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1724 | if ( dataItem.expanded !== undefined ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1725 | itemObject.expanded = dataItem.expanded; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1726 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1727 | if ( dataItem.expanded === 'true' || dataItem.expanded === true || dataItem.expanded === 1 ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1728 | itemObject.expanded = true; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1729 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1730 | else { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1731 | itemObject.expanded = false; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1732 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1733 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1734 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1735 | if ( that.childrenDataField ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1736 | if ( dataItem[ that.childrenDataField ] !== undefined ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1737 | itemObject.children = dataItem[ that.childrenDataField ]; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1738 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1739 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1740 | else { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1741 | if ( dataItem.children !== undefined ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1742 | itemObject.children = dataItem.children; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1743 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1744 | else if ( dataItem.items !== undefined ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1745 | itemObject.children = dataItem.items; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1746 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1747 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1748 | if ( dataItem.leaf !== undefined ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1749 | itemObject.leaf = dataItem.leaf; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1750 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1751 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1752 | if ( dataItem.level !== undefined ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1753 | itemObject.level = dataItem.level; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1754 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1755 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1756 | if ( that.keyDataField ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1757 | if ( dataItem[ that.keyDataField ] !== undefined ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1758 | itemObject[ that.keyDataField ] = dataItem[ that.keyDataField ]; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1759 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1760 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1761 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1762 | if ( that.parentDataField ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1763 | if ( dataItem[ that.parentDataField ] !== undefined ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1764 | itemObject[ that.parentDataField ] = dataItem[ that.parentDataField ]; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1765 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1766 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1767 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1768 | if ( that.dataFields.length === 0 ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1769 | const names = Object.getOwnPropertyNames( dataSourceItem ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1770 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1771 | for ( let i = 0; i < names.length; i++ ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1772 | if ( names[ i ] === '$' ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1773 | continue; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1774 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1775 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1776 | that.dataFields.push( { name: names[ i ], dataType: 'string' } ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1777 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1778 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1779 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1780 | for ( let j = 0; j < that.dataFields.length; j++ ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1781 | const dataField = that.dataFields ? that.dataFields[ j ] : {}; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1782 | let value = ''; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1783 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1784 | dataField.dataType = dataField.type; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1785 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1786 | if ( undefined === dataField || dataField === null ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1787 | continue; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1788 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1789 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1790 | if ( dataSourceItem.length ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1791 | value = dataSourceItem[ j ]; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1792 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1793 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1794 | if ( dataField.map ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1795 | let splitMap = dataField.map.split( that.mapChar ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1796 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1797 | if ( splitMap.length > 0 ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1798 | let dataMappedItem = dataItem; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1799 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1800 | for ( let p = 0; p < splitMap.length; p++ ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1801 | if ( !dataItem ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1802 | continue; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1803 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1804 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1805 | dataMappedItem = dataMappedItem[ splitMap[ p ] ]; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1806 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1807 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1808 | value = dataMappedItem; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1809 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1810 | else { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1811 | value = dataItem[ dataField.map ]; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1812 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1813 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1814 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1815 | if ( value !== undefined && value !== null ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1816 | value = value.toString(); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1817 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1818 | else { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1819 | if ( value === undefined && value !== null ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1820 | value = ''; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1821 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1822 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1823 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1824 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1825 | let isEmptyString = false; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1826 | // searches by both selectors when necessary. |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1827 | if ( value === '' ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1828 | isEmptyString = true; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1829 | value = dataSourceItem[ dataField.name ]; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1830 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1831 | if ( value !== undefined && value !== null ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1832 | if ( dataField.dataType !== 'array' ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1833 | if ( dataField.dataType !== 'date' ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1834 | value = value.toString(); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1835 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1836 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1837 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1838 | else { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1839 | value = ''; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1840 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1841 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1842 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1843 | if ( value === '[object Object]' && dataField.map && isEmptyString ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1844 | value = ''; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1845 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1846 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1847 | if ( that._cachedValues[ '' + value + '_' + dataField.dataType ] ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1848 | value = that._cachedValues[ '' + value + '_' + dataField.dataType ]; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1849 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1850 | else { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1851 | if ( dataField.dataType === 'bool' || dataField.dataType === 'boolean' ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1852 | if ( value === 'true' || value === '1' ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1853 | value = true; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1854 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1855 | else if ( value === 'false' || value === '0' ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1856 | value = false; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1857 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1858 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1859 | else { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1860 | value = that.deserialize( '' + value, dataField.dataType, true ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1861 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1862 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1863 | that._cachedValues[ value + '_' + dataField.dataType ] = value; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1864 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1865 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1866 | if ( dataField.dataType !== 'string' && dataField.dataType !== 'boolean' && dataField.dataType !== 'bool' ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1867 | if ( isNaN( value ) || value === -Infinity || value === Infinity ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1868 | value = 0; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1869 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1870 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1871 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1872 | itemObject[ dataField.name ] = value; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1873 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1874 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1875 | let itemObjectId = index; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1876 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1877 | if ( that.id ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1878 | itemObjectId = dataItem[ that.id ]; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1879 | if ( typeof ( itemObjectId ) === 'object' ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1880 | itemObjectId = index; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1881 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1882 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1883 | else if ( !that.virtualDataSource && that.dataItemById && that.dataItemById[ itemObjectId ] ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1884 | itemObjectId = that.length; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1885 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1886 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1887 | if ( !itemObject.$ ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1888 | itemObject.$ = {}; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1889 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1890 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1891 | itemObject.$.id = itemObjectId; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1892 | itemObject.$.index = index; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1893 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1894 | return new Object( itemObject ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1895 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1896 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1897 | _bindToArray() { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1898 | const that = this; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1899 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1900 | const unboundMode = typeof ( that.dataSource ) === 'number' || that.dataSourceLength; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1901 | const dataArray = []; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1902 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1903 | that.boundSource.canNotify = false; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1904 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1905 | for ( let i = 0; i < that.length; i++ ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1906 | const dataSourceItem = unboundMode ? {} : that.dataSource[ i ]; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1907 | const itemObject = that._getDataItem( dataSourceItem, i ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1908 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1909 | dataArray.push( itemObject ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1910 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1911 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1912 | if ( unboundMode && that.dataSourceLength && that.dataSource.length > 0 ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1913 | for ( let i = 0; i < that.dataSource.length; i++ ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1914 | const cell = that.dataSource[ i ].cell; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1915 | const value = that.dataSource[ i ].value; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1916 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1917 | const row = cell.replace( /[^0-9]/g, '' ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1918 | const dataField = cell.replace( /[0-9]/g, '' ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1919 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1920 | dataArray[ row - 1 ][ dataField ] = value; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1921 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1922 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1923 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1924 | that.boundSource = dataArray; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1925 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1926 | for ( let i = 0; i < that.length; i++ ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1927 | that[ i ] = that.boundSource[ i ]; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1928 | that.dataItemById[ that[ i ].$.id ] = that[ i ]; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1929 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1930 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1931 | that.boundSource.canNotify = true; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1932 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1933 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1934 | _bindToJSON() { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1935 | const that = this; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1936 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1937 | const dataArray = []; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1938 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1939 | const dataEntries = Object.entries( that.dataSource ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1940 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1941 | that.boundSource.canNotify = false; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1942 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1943 | for ( let i = 0; i < dataEntries.length; i++ ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1944 | const dataSourceItem = dataEntries[ i ]; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1945 | const itemObject = that._getDataItem( dataSourceItem, i ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1946 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1947 | dataArray.push( itemObject ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1948 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1949 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1950 | that.boundSource = false === that.observable ? dataArray : new JQX.ObservableArray( dataArray ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1951 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1952 | for ( let i = 0; i < that.length; i++ ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1953 | that[ i ] = that.boundSource[ i ]; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1954 | that.dataItemById[ that[ i ].$.id ] = that[ i ]; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1955 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1956 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1957 | that.boundSource.canNotify = true; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1958 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1959 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1960 | sortBy( dataField, dataType, orderBy ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1961 | const that = this; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1962 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1963 | if ( !dataType ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1964 | for ( let i = 0; i < that.dataFields.length; i++ ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1965 | const field = that.dataFields[ i ]; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1966 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1967 | if ( field.name === dataField ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1968 | dataType = field.dataType; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1969 | break; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1970 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1971 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1972 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1973 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1974 | if ( that.boundHierarchy ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1975 | if ( ( !dataField || dataField.length === 0 ) && that.groupBy.length > 0 ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1976 | that.refreshHierarchy(); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1977 | return; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1978 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1979 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1980 | const sortBy = function ( hierarchy ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1981 | that._sort( hierarchy, dataField, orderBy, dataType ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1982 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1983 | for ( let i = 0; i < hierarchy.length; i++ ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1984 | const item = hierarchy[ i ]; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1985 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1986 | if ( item[ 'children' ] ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1987 | sortBy( item[ 'children' ], dataField, orderBy, dataType ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1988 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1989 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1990 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1991 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1992 | sortBy( that.boundHierarchy ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1993 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1994 | else { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1995 | that._sort( that.boundSource, dataField, orderBy, dataType ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1996 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1997 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1998 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1999 | _createFilter( dataType, filterExpressions ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2000 | const filterOperators = { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2001 | '=': 'EQUAL', |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2002 | '<>': 'NOT_EQUAL', |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2003 | '<': 'LESS_THAN', |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2004 | '>': 'GREATER_THAN', |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2005 | '<=': 'LESS_THAN_OR_EQUAL', |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2006 | '>=': 'GREATER_THAN_OR_EQUAL', |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2007 | 'equal': 'EQUAL', |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2008 | 'not equal': 'NOT_EQUAL', |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2009 | 'less than': 'LESS_THAN', |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2010 | 'greater than': 'GREATER_THAN', |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2011 | 'greater than or equal': 'GREATER_THAN_OR_EQUAL', |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2012 | 'less than or equal': 'LESS_THAN_OR_EQUAL', |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2013 | 'starts with': 'STARTS_WITH', |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2014 | 'ends with': 'ENDS_WITH', |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2015 | 'null': 'null', |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2016 | '': 'EMPTY', |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2017 | 'isblank': 'EMPTY', |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2018 | 'isnotblank': 'NOT_EMPTY', |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2019 | 'contains': 'CONTAINS', |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2020 | 'notcontains': 'DOES_NOT_CONTAIN', |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2021 | 'startswith': 'STARTS_WITH', |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2022 | 'endswith': 'ENDS_WITH', |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2023 | 'NULL': 'NULL', |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2024 | 'NOT_NULL': 'NOT_NULL' |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2025 | }; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2026 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2027 | let filterExpressionsArray = []; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2028 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2029 | for ( let i = 0; i < filterExpressions.length; i++ ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2030 | const filterExpression = filterExpressions[ i ]; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2031 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2032 | const filterExpressionParts = filterExpression.indexOf( '"' ) === -1 ? filterExpression.split( ' ' ) : filterExpression.split( '"' ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2033 | let filter = []; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2034 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2035 | for ( let j = 0; j < filterExpressionParts.length; j++ ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2036 | const part = filterExpressionParts[ j ]; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2037 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2038 | if ( part !== '' ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2039 | filter.push( part.trim() ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2040 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2041 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2042 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2043 | filterExpressionsArray.push( filter ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2044 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2045 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2046 | const filterGroup = new JQX.FilterGroup(); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2047 | const filterGroupOperators = []; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2048 | const filterSubGroups = []; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2049 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2050 | for ( let i = 0; i < filterExpressionsArray.length; i++ ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2051 | const filterExpression = filterExpressionsArray[ i ]; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2052 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2053 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2054 | if ( filterExpression.length > 1 ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2055 | const filterSubGroup = new JQX.FilterGroup(); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2056 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2057 | let operator = 'and'; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2058 | let filterExpressionPartsCounter = 0; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2059 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2060 | for ( let j = 0; j < filterExpression.length; j++ ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2061 | const value = filterExpression[ j ]; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2062 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2063 | if ( value === 'and' || value === 'or' ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2064 | operator = value; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2065 | continue; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2066 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2067 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2068 | filterExpressionPartsCounter++; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2069 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2070 | if ( filterExpressionPartsCounter === 2 ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2071 | const filter = filterSubGroup.createFilter( dataType, value, filterOperators[ filterExpression[ j - 1 ] ] ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2072 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2073 | filterExpressionPartsCounter = 0; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2074 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2075 | if ( operator ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2076 | filterSubGroup.addFilter( operator, filter ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2077 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2078 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2079 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2080 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2081 | filterSubGroups.push( filterSubGroup ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2082 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2083 | else { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2084 | const filterGroupOperator = filterExpression[ 0 ]; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2085 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2086 | if ( filterGroupOperator !== 'and' && filterGroupOperator !== 'or' ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2087 | throw new Error( 'Filter Exprresion expects "AND" or "OR", but the token is: ' + filterGroupOperator ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2088 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2089 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2090 | filterGroupOperators.push( filterGroupOperator ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2091 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2092 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2093 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2094 | let operatorsCounter = 0; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2095 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2096 | if ( filterSubGroups.length === 1 ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2097 | return filterSubGroups[ 0 ]; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2098 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2099 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2100 | for ( let i = 0; i < filterSubGroups.length; i++ ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2101 | let operator = filterGroupOperators[ operatorsCounter ]; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2102 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2103 | if ( ( i + 1 ) % 2 === 0 ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2104 | operatorsCounter++; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2105 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2106 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2107 | if ( !operator ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2108 | operator = 'and'; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2109 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2110 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2111 | filterGroup.addFilter( operator, filterSubGroups[ i ] ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2112 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2113 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2114 | return filterGroup; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2115 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2116 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2117 | filterBy( dataField, ...filterExpressions ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2118 | const that = this; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2119 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2120 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2121 | const dataType = ( () => { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2122 | for ( let i = 0; i < that.dataFields.length; i++ ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2123 | const field = that.dataFields[ i ]; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2124 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2125 | if ( field.name === dataField ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2126 | return field.dataType; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2127 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2128 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2129 | } )(); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2130 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2131 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2132 | const filterGroup = that._createFilter( dataType, filterExpressions ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2133 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2134 | let filteredData = that.boundSource.filter( ( value ) => { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2135 | const evaluation = filterGroup.evaluate( value[ dataField ] ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2136 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2137 | return evaluation; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2138 | } ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2139 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2140 | return filteredData; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2141 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2142 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2143 | _filter( filters, operator = 'and' ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2144 | const that = this; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2145 | const filterGroups = []; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2146 | const dataFields = []; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2147 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2148 | if ( filters.length === 0 ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2149 | that.clearFilter(); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2150 | return; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2151 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2152 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2153 | const dataType = ( dataField ) => { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2154 | for ( let i = 0; i < that.dataFields.length; i++ ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2155 | const field = that.dataFields[ i ]; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2156 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2157 | if ( field.name === dataField ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2158 | return field.dataType; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2159 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2160 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2161 | }; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2162 | let defaultResult, operatorSpecificEval; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2163 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2164 | if ( operator === 'and' ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2165 | defaultResult = true; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2166 | operatorSpecificEval = function ( result, filterGroup, row ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2167 | return result && filterGroup.evaluate( row[ filterGroup.dataField ] ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2168 | }; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2169 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2170 | else { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2171 | defaultResult = false; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2172 | operatorSpecificEval = function ( result, filterGroup, row ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2173 | return result || filterGroup.evaluate( row[ filterGroup.dataField ] ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2174 | }; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2175 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2176 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2177 | for ( let i = 0; i < filters.length; i++ ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2178 | const filter = filters[ i ]; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2179 | const dataField = filter[ 0 ]; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2180 | let filterGroup = null; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2181 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2182 | if ( filter[ 1 ] instanceof JQX.FilterGroup ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2183 | filterGroup = filter[ 1 ]; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2184 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2185 | else { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2186 | filterGroup = that._createFilter( dataType( dataField ), filter.splice( 1 ) ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2187 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2188 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2189 | if ( filterGroup ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2190 | dataFields.push( dataField ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2191 | filterGroup.dataField = dataField; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2192 | filterGroups.push( filterGroup ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2193 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2194 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2195 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2196 | if ( that.boundHierarchy ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2197 | const filter = function ( row ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2198 | let result = defaultResult; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2199 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2200 | for ( let j = 0; j < filterGroups.length; j++ ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2201 | const filterGroup = filterGroups[ j ]; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2202 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2203 | result = operatorSpecificEval( result, filterGroup, row ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2204 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2205 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2206 | row.$.filtered = result; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2207 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2208 | return result; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2209 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2210 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2211 | const filterBy = function ( hierarchy, parentItem, root ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2212 | let filteredCount = 0; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2213 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2214 | for ( let i = 0; i < hierarchy.length; i++ ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2215 | const item = hierarchy[ i ]; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2216 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2217 | filter( item ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2218 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2219 | if ( item.$.filtered ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2220 | filteredCount++; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2221 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2222 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2223 | if ( item[ 'children' ] ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2224 | filterBy( item[ 'children' ], item, parentItem ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2225 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2226 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2227 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2228 | if ( filteredCount > 0 && that.groupBy.length > 0 && parentItem ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2229 | parentItem.$.filtered = true; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2230 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2231 | if ( root && !root.$.filtered ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2232 | root.$.filtered = true; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2233 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2234 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2235 | else { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2236 | if ( filteredCount > 0 && filteredCount !== hierarchy.length && parentItem ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2237 | parentItem.$.filtered = null; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2238 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2239 | if ( root && !root.$.filtered ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2240 | root.$.filtered = null; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2241 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2242 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2243 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2244 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2245 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2246 | filterBy( that.boundHierarchy, null, null ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2247 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2248 | else { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2249 | for ( let i = 0; i < that.boundSource.length; i++ ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2250 | const row = that.boundSource[ i ]; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2251 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2252 | let result = defaultResult; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2253 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2254 | for ( let j = 0; j < filterGroups.length; j++ ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2255 | const filterGroup = filterGroups[ j ]; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2256 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2257 | result = operatorSpecificEval( result, filterGroup, row ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2258 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2259 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2260 | row.$.filtered = result; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2261 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2262 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2263 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2264 | if ( that.onFilter ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2265 | that.onFilter() |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2266 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2267 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2268 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2269 | clearGroup() { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2270 | const that = this; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2271 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2272 | that.groupBy = []; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2273 | that.boundHierarchy = null; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2274 | that.refreshHierarchy(); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2275 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2276 | if ( that.onGroup ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2277 | that.onGroup() |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2278 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2279 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2280 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2281 | clearFilter() { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2282 | const that = this; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2283 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2284 | for ( let i = 0; i < that.boundSource.length; i++ ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2285 | const row = that.boundSource[ i ]; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2286 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2287 | row.$.filtered = true; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2288 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2289 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2290 | if ( that.boundHierarchy ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2291 | const filterBy = function ( hierarchy, parentItem, root ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2292 | //let filteredCount = 0; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2293 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2294 | for ( let i = 0; i < hierarchy.length; i++ ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2295 | const item = hierarchy[ i ]; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2296 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2297 | item.$.filtered = true; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2298 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2299 | if ( item.$.filtered ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2300 | //filteredCount++; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2301 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2302 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2303 | if ( item[ 'children' ] ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2304 | filterBy( item[ 'children' ], item, parentItem ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2305 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2306 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2307 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2308 | if ( parentItem ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2309 | parentItem.$.filtered = true; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2310 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2311 | if ( root && !root.$.filtered ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2312 | root.$.filtered = true; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2313 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2314 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2315 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2316 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2317 | filterBy( that.boundHierarchy, null, null ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2318 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2319 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2320 | if ( that.onFilter ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2321 | that.onFilter() |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2322 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2323 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2324 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2325 | clearSort() { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2326 | const that = this; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2327 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2328 | that._sort( that.boundSource, [], [], [] ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2329 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2330 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2331 | _sort( dataSource, sortColumns, directions, dataTypes, customSortingCallback ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2332 | const that = this; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2333 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2334 | let isObservableArray = false; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2335 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2336 | if ( dataSource.length === 0 ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2337 | return; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2338 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2339 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2340 | if ( dataSource && dataSource.constructor && dataSource instanceof JQX.ObservableArray ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2341 | isObservableArray = true; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2342 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2343 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2344 | if ( !dataSource || !( Array.isArray( dataSource ) ) || dataSource.length === 0 || |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2345 | !sortColumns || Array.isArray( sortColumns ) && sortColumns.length === 0 ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2346 | if ( !isObservableArray && !that.boundHierarchy ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2347 | throw new Error( 'sort: Missing or Invalid arguments!' ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2348 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2349 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2350 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2351 | if ( typeof sortColumns === 'string' ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2352 | sortColumns = [ sortColumns ]; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2353 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2354 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2355 | const directionCoefficients = [], |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2356 | compareFunctions = []; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2357 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2358 | if ( directions === undefined ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2359 | directions = []; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2360 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2361 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2362 | const getCompareFunction = function ( a, knownDataType ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2363 | // gets data type of column (not necessary if the Grid provides this information) |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2364 | const dataType = knownDataType || typeof a; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2365 | let compareFunction; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2366 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2367 | switch ( dataType ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2368 | case 'string': |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2369 | compareFunction = new Intl.Collator().compare; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2370 | break; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2371 | case 'number': |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2372 | compareFunction = function ( a, b ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2373 | return a - b; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2374 | }; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2375 | break; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2376 | case 'boolean': |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2377 | case 'bool': |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2378 | compareFunction = function ( a, b ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2379 | if ( a === b ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2380 | return 0; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2381 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2382 | else if ( a === false ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2383 | return -1; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2384 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2385 | else { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2386 | return 1; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2387 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2388 | }; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2389 | break; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2390 | case 'date': |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2391 | case 'time': |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2392 | case 'dateTime': |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2393 | if ( a instanceof Date ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2394 | compareFunction = function ( a, b ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2395 | return a.getTime() - b.getTime(); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2396 | }; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2397 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2398 | else if ( a instanceof JQX.Utilities.DateTime || |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2399 | a instanceof JQX.Utilities.BigNumber ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2400 | compareFunction = function ( a, b ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2401 | return a.compare( b ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2402 | }; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2403 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2404 | break; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2405 | case 'object': |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2406 | if ( a instanceof Date ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2407 | compareFunction = function ( a, b ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2408 | return a.getTime() - b.getTime(); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2409 | }; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2410 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2411 | else if ( a instanceof JQX.Utilities.DateTime || |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2412 | a instanceof JQX.Utilities.BigNumber ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2413 | compareFunction = function ( a, b ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2414 | return a.compare( b ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2415 | }; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2416 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2417 | else if ( a instanceof JQX.Utilities.Complex || ( window.NIComplex && a instanceof window.NIComplex ) ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2418 | const complexNumericProcessor = new JQX.Utilities.ComplexNumericProcessor(); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2419 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2420 | compareFunction = function ( a, b ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2421 | return complexNumericProcessor.compareComplexNumbers( a, b ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2422 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2423 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2424 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2425 | break; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2426 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2427 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2428 | return compareFunction; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2429 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2430 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2431 | for ( let i = 0; i < sortColumns.length; i++ ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2432 | if ( directions[ i ] === undefined || directions[ i ] === 'asc' || directions[ i ] === 'ascending' ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2433 | directionCoefficients[ i ] = 1; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2434 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2435 | else { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2436 | directionCoefficients[ i ] = -1; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2437 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2438 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2439 | const value = dataSource[ 0 ][ sortColumns[ i ] ]; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2440 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2441 | compareFunctions[ i ] = getCompareFunction( value, dataTypes[ i ] ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2442 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2443 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2444 | if ( customSortingCallback ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2445 | customSortingCallback( dataSource, sortColumns, directions, compareFunctions ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2446 | return; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2447 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2448 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2449 | dataSource.sort( function ( a, b ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2450 | for ( let i = 0; i < sortColumns.length; i++ ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2451 | const result = compareFunctions[ i ]( a[ sortColumns[ i ] ], b[ sortColumns[ i ] ] ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2452 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2453 | if ( result === 0 ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2454 | if ( sortColumns[ i + 1 ] ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2455 | continue; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2456 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2457 | else if ( a._index !== undefined ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2458 | // makes sorting stable |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2459 | return ( a._index - b._index ) * directionCoefficients[ i ]; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2460 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2461 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2462 | return 0; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2463 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2464 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2465 | return result * directionCoefficients[ i ]; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2466 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2467 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2468 | if ( sortColumns.length === 0 ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2469 | if ( a.$.index < b.$.index ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2470 | return -1; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2471 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2472 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2473 | if ( a.$.index > b.$.index ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2474 | return 1; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2475 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2476 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2477 | return 0; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2478 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2479 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2480 | } ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2481 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2482 | for ( let i = 0; i < dataSource.length; i++ ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2483 | that[ i ] = dataSource[ i ]; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2484 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2485 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2486 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2487 | static Filter( dataSource, filterColumns, filterGroups, customFilteringCallback, operator = 'and' ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2488 | let defaultResult, operatorSpecificEval; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2489 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2490 | if ( operator === 'and' ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2491 | defaultResult = true; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2492 | operatorSpecificEval = function ( result, dataItem, filterColumn, filterGroup ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2493 | if ( customFilteringCallback ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2494 | return result && customFilteringCallback( dataItem, filterColumn, filterGroup ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2495 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2496 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2497 | return result && filterGroup.evaluate( dataItem[ filterColumn ] ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2498 | }; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2499 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2500 | else { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2501 | defaultResult = false; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2502 | operatorSpecificEval = function ( result, dataItem, filterColumn, filterGroup ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2503 | if ( customFilteringCallback ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2504 | return result || customFilteringCallback( dataItem, filterColumn, filterGroup ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2505 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2506 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2507 | return result || filterGroup.evaluate( dataItem[ filterColumn ] ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2508 | }; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2509 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2510 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2511 | const filteredData = dataSource.filter( ( dataItem ) => { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2512 | let result = defaultResult; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2513 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2514 | for ( let i = 0; i < filterGroups.length; i++ ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2515 | const filterGroup = filterGroups[ i ]; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2516 | const filterColumn = filterColumns[ i ]; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2517 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2518 | result = operatorSpecificEval( result, dataItem, filterColumn, filterGroup ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2519 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2520 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2521 | return result; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2522 | } ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2523 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2524 | return filteredData; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2525 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2526 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2527 | filter( filterColumns, filterGroups, customFilteringCallback ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2528 | JQX.ExcelAdapter.Filter( this.boundSource, filterColumns, filterGroups, customFilteringCallback ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2529 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2530 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2531 | sort( sortColumns, directions, customSortingCallback ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2532 | JQX.ExcelAdapter.Sort( this.boundSource, sortColumns, directions, customSortingCallback ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2533 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2534 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2535 | static Sort( dataSource, sortColumns, directions, customSortingCallback ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2536 | const getCompareFunction = function ( a ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2537 | // gets data type of column (not necessary if the Grid provides this information) |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2538 | const dataType = typeof a; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2539 | let compareFunction; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2540 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2541 | switch ( dataType ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2542 | case 'string': |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2543 | compareFunction = new Intl.Collator().compare; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2544 | break; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2545 | case 'number': |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2546 | compareFunction = function ( a, b ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2547 | return a - b; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2548 | }; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2549 | break; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2550 | case 'boolean': |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2551 | compareFunction = function ( a, b ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2552 | if ( a === b ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2553 | return 0; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2554 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2555 | else if ( a === false ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2556 | return -1; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2557 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2558 | else { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2559 | return 1; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2560 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2561 | }; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2562 | break; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2563 | case 'object': |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2564 | if ( a instanceof Date ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2565 | compareFunction = function ( a, b ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2566 | return a.getTime() - b.getTime(); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2567 | }; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2568 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2569 | else if ( a instanceof JQX.Utilities.DateTime || |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2570 | a instanceof BigNumberNG ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2571 | compareFunction = function ( a, b ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2572 | return a.compare( b ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2573 | }; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2574 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2575 | else if ( a instanceof JQX.Utilities.Complex || ( window.NIComplex && a instanceof window.NIComplex ) ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2576 | const complexNumericProcessor = new JQX.Utilities.ComplexNumericProcessor(); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2577 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2578 | compareFunction = function ( a, b ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2579 | return complexNumericProcessor.compareComplexNumbers( a, b ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2580 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2581 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2582 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2583 | break; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2584 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2585 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2586 | return compareFunction; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2587 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2588 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2589 | if ( !dataSource || !( Array.isArray( dataSource ) ) || dataSource.length === 0 || |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2590 | !sortColumns || Array.isArray( sortColumns ) && sortColumns.length === 0 ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2591 | return; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2592 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2593 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2594 | if ( typeof sortColumns === 'string' ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2595 | sortColumns = [ sortColumns ]; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2596 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2597 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2598 | const directionCoefficients = [], |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2599 | compareFunctions = []; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2600 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2601 | if ( directions === undefined ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2602 | directions = []; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2603 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2604 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2605 | for ( let i = 0; i < sortColumns.length; i++ ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2606 | if ( directions[ i ] === undefined || directions[ i ] === 'asc' || directions[ i ] === 'ascending' ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2607 | directionCoefficients[ i ] = 1; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2608 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2609 | else { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2610 | directionCoefficients[ i ] = -1; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2611 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2612 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2613 | compareFunctions[ i ] = getCompareFunction( dataSource[ 0 ][ sortColumns[ i ] ] ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2614 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2615 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2616 | if ( customSortingCallback ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2617 | customSortingCallback( dataSource, sortColumns, directions, compareFunctions ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2618 | return; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2619 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2620 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2621 | const sortedData = dataSource.slice( 0 ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2622 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2623 | sortedData.sort( function ( a, b ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2624 | for ( let i = 0; i < sortColumns.length; i++ ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2625 | const result = compareFunctions[ i ]( a[ sortColumns[ i ] ], b[ sortColumns[ i ] ] ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2626 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2627 | if ( result === 0 ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2628 | if ( sortColumns[ i + 1 ] ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2629 | continue; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2630 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2631 | else if ( a._index !== undefined ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2632 | // makes sorting stable |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2633 | return ( a._index - b._index ) * directionCoefficients[ i ]; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2634 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2635 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2636 | return 0; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2637 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2638 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2639 | return result * directionCoefficients[ i ]; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2640 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2641 | } ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2642 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2643 | return sortedData; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2644 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2645 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2646 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2647 | window.jqxDataSource = DataAdapter; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2648 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2649 | class Ajax { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2650 | constructor ( config, callback ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2651 | const that = this; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2652 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2653 | that.config = config; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2654 | that.callback = callback; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2655 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2656 | if ( config.autoFetch === false ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2657 | return; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2658 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2659 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2660 | that.call( config ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2661 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2662 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2663 | call( config ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2664 | const that = this; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2665 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2666 | if ( !config ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2667 | config = that.config; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2668 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2669 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2670 | let method = 'GET', |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2671 | url = config.url, |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2672 | body = null, |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2673 | async = true; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2674 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2675 | if ( config.type ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2676 | method = config.type; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2677 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2678 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2679 | if ( config.data ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2680 | if ( method === 'GET' ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2681 | url += '?'; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2682 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2683 | for ( let prop in config.data ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2684 | if ( config.data.hasOwnProperty( prop ) ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2685 | url += encodeURI( prop + '=' + config.data[ prop ] + '&' ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2686 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2687 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2688 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2689 | if ( url.charAt( url.length - 1 ) === '&' ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2690 | url = url.slice( 0, url.length - 1 ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2691 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2692 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2693 | else if ( method === 'POST' ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2694 | body = JSON.stringify( config.data ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2695 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2696 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2697 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2698 | if ( config && config.async === false && config.dataSourceType !== 'xlsx' ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2699 | async = false; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2700 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2701 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2702 | if ( window.fetch !== undefined && async ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2703 | that.ajaxFetch( config, method, url, body ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2704 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2705 | else { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2706 | that.ajaxXMLHttpRequest( config, method, url, body, async ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2707 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2708 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2709 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2710 | ajaxFetch( config, method, url, body ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2711 | // prepare fetch config |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2712 | const that = this; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2713 | const fetchInit = { method: method }; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2714 | let parseMethod; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2715 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2716 | switch ( config.dataSourceType ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2717 | case 'json': |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2718 | parseMethod = 'json'; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2719 | break; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2720 | case 'xlsx': |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2721 | parseMethod = 'arrayBuffer'; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2722 | break; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2723 | default: |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2724 | parseMethod = 'text'; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2725 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2726 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2727 | if ( config ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2728 | if ( config.contentType ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2729 | fetchInit.headers = new Headers( { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2730 | 'Content-Type': config.contentType |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2731 | } ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2732 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2733 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2734 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2735 | if ( body !== null ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2736 | fetchInit.body = body; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2737 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2738 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2739 | let status, fetchTimeout, timeouted; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2740 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2741 | if ( config.timeout ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2742 | fetchTimeout = setTimeout( function () { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2743 | timeouted = true; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2744 | }, config.timeout ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2745 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2746 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2747 | if ( config.beforeSend ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2748 | const beforeSendResult = config.beforeSend( fetchInit, config ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2749 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2750 | if ( beforeSendResult === false ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2751 | return; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2752 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2753 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2754 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2755 | // fetch resource |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2756 | fetch( url, fetchInit ) |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2757 | .then( function ( response ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2758 | if ( timeouted ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2759 | status = 408; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2760 | throw new Error( 'timeout' ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2761 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2762 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2763 | if ( fetchTimeout ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2764 | clearTimeout( fetchTimeout ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2765 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2766 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2767 | status = response.status; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2768 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2769 | if ( !response.ok ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2770 | throw new Error( response.statusText ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2771 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2772 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2773 | return response[ parseMethod ](); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2774 | } ) |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2775 | .then( function ( data ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2776 | if ( parseMethod === 'arrayBuffer' ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2777 | return JSZip.loadAsync( data ).then( function ( zipData ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2778 | // "data" represents the whole XLSX/ZIP file |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2779 | return zipData.files[ 'xl/worksheets/sheet1.xml' ].async( 'text' ).then( function ( sheet1 ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2780 | return zipData.files[ 'xl/sharedStrings.xml' ].async( 'text' ).then( function ( sharedStrings ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2781 | const parsedData = that.parseXLSXData( sheet1, sharedStrings ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2782 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2783 | that.ajaxComplete( config, parsedData, status ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2784 | } ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2785 | } ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2786 | } ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2787 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2788 | else { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2789 | that.ajaxComplete( config, data, status ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2790 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2791 | } ) |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2792 | .catch( function ( error ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2793 | if ( error.message === 'JSZip is not defined' ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2794 | error.message = 'JSZip is not defined. Please include a reference to JSZip to be able to load data from XLSX files.'; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2795 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2796 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2797 | if ( config && config.loadError ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2798 | config.loadError( status, error ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2799 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2800 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2801 | if ( that.callback ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2802 | that.callback( error, status ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2803 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2804 | } ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2805 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2806 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2807 | ajaxXMLHttpRequest( config, method, url, body, async ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2808 | const request = new XMLHttpRequest(); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2809 | const that = this; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2810 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2811 | request.open( method, url, async ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2812 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2813 | request.ontimeout = function () { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2814 | if ( config && config.loadError ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2815 | config.loadError( 408, 'timeout' ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2816 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2817 | }; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2818 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2819 | request.onload = function () { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2820 | if ( request.readyState === 4 ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2821 | const status = request.status; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2822 | let data = request.response; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2823 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2824 | if ( status >= 200 && status <= 299 ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2825 | if ( config.dataSourceType === 'json' ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2826 | data = JSON.parse( data ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2827 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2828 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2829 | that.ajaxComplete( config, data, status ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2830 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2831 | else if ( config && config.loadError ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2832 | config.loadError( status, data ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2833 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2834 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2835 | }; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2836 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2837 | request.onerror = function () { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2838 | if ( config && config.loadError ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2839 | config.loadError( request.status, request.response ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2840 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2841 | }; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2842 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2843 | if ( config && config.contentType ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2844 | request.setRequestHeader( 'Content-Type', config.contentType ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2845 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2846 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2847 | if ( async && config.timeout ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2848 | request.timeout = config.timeout; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2849 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2850 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2851 | if ( config.beforeSend ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2852 | const beforeSendResult = config.beforeSend( request, config ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2853 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2854 | if ( beforeSendResult === false ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2855 | return; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2856 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2857 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2858 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2859 | request.send( body ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2860 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2861 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2862 | ajaxComplete( config, data, status ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2863 | if ( !config ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2864 | return; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2865 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2866 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2867 | if ( config.beforeLoadComplete ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2868 | const processedData = config.beforeLoadComplete( data ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2869 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2870 | if ( processedData ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2871 | data = processedData; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2872 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2873 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2874 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2875 | if ( config.loadComplete ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2876 | config.loadComplete( data, status ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2877 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2878 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2879 | if ( this.callback ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2880 | this.callback( data, status ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2881 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2882 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2883 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2884 | parseXLSXData( sheet1, sharedStrings ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2885 | const parser = new DOMParser(), |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2886 | sharedStringsDocument = parser.parseFromString( sharedStrings, 'text/xml' ), |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2887 | sharedStringsContainers = Array.from( sharedStringsDocument.getElementsByTagName( 'si' ) ), |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2888 | sharedStringsCollection = [], |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2889 | sheet1Document = parser.parseFromString( sheet1, 'text/xml' ), |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2890 | rows = Array.from( sheet1Document.getElementsByTagName( 'row' ) ), |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2891 | parsedData = []; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2892 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2893 | sharedStringsContainers.forEach( function ( si ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2894 | let texts = si.getElementsByTagName( 't' ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2895 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2896 | if ( texts.length === 1 ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2897 | sharedStringsCollection.push( texts[ 0 ].innerHTML ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2898 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2899 | else { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2900 | let text = ''; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2901 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2902 | texts = Array.from( texts ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2903 | texts.forEach( function ( t ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2904 | text += t.innerHTML; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2905 | } ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2906 | sharedStringsCollection.push( text ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2907 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2908 | } ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2909 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2910 | rows.forEach( function ( row ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2911 | const rowObject = {}, |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2912 | cells = Array.from( row.getElementsByTagName( 'c' ) ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2913 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2914 | cells.forEach( function ( cell/*, index*/ ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2915 | const column = cell.getAttribute( 'r' ).match( /\D+/ )[ 0 ], |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2916 | type = cell.getAttribute( 't' ), |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2917 | xmlValue = cell.getElementsByTagName( 'v' )[ 0 ].innerHTML; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2918 | let value; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2919 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2920 | switch ( type ) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2921 | case 's': |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2922 | // string |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2923 | value = sharedStringsCollection[ parseFloat( xmlValue ) ]; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2924 | break; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2925 | case 'b': |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2926 | // boolean |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2927 | value = parseFloat( xmlValue ) === 1; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2928 | break; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2929 | default: |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2930 | // number or date |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2931 | value = parseFloat( xmlValue ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2932 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2933 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2934 | rowObject[ column ] = value; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2935 | } ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2936 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2937 | parsedData.push( rowObject ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2938 | } ); |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2939 | |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2940 | return parsedData; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2941 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2942 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2943 | if ($.jqx && $.jqx.dataAdapter) { |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2944 | $.jqx.dataAdapter.Importer = DataAdapter; |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2945 | } |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2946 | })(jqxBaseFramework); |