@@ -73,7 +73,7 @@ export function getColumnSort(sortBy, appId, className) {
73
73
74
74
export function getOrder ( cols , appId , className , defaultPrefs ) {
75
75
76
- let prefs = getPreferences ( appId , className ) || [ { name : 'objectId' , width : DEFAULT_WIDTH , visible : true } ] ;
76
+ let prefs = getPreferences ( appId , className ) || [ { name : 'objectId' , width : DEFAULT_WIDTH , visible : true , cached : true } ] ;
77
77
if ( defaultPrefs ) {
78
78
prefs = defaultPrefs ;
79
79
}
@@ -87,7 +87,7 @@ export function getOrder(cols, appId, className, defaultPrefs) {
87
87
for ( let name in cols ) {
88
88
requested [ name ] = true ;
89
89
if ( ! seen [ name ] ) {
90
- order . push ( { name : name , width : DEFAULT_WIDTH , visible : ! defaultPrefs , required : cols [ name ] [ 'required' ] } ) ;
90
+ order . push ( { name : name , width : DEFAULT_WIDTH , visible : ! defaultPrefs , required : cols [ name ] [ 'required' ] , cached : ! defaultPrefs } ) ;
91
91
seen [ name ] = true ;
92
92
updated = true ;
93
93
}
@@ -100,6 +100,7 @@ export function getOrder(cols, appId, className, defaultPrefs) {
100
100
// and updates the cached preferences.
101
101
if ( typeof visible === 'undefined' ) {
102
102
order [ i ] . visible = true ;
103
+ order [ i ] . cached = visible ;
103
104
updated = true ;
104
105
}
105
106
// If "required" attribute is not defined, set it to false
@@ -118,6 +119,18 @@ export function getOrder(cols, appId, className, defaultPrefs) {
118
119
return filtered ;
119
120
}
120
121
122
+ export function updateCachedColumns ( appId , className ) {
123
+ let prefs = getPreferences ( appId , className ) ;
124
+ let order = [ ] . concat ( prefs ) ;
125
+
126
+ for ( let col of order ) {
127
+ let { visible } = col ;
128
+ col . cached = visible ;
129
+ }
130
+ updatePreferences ( order , appId , className ) ;
131
+ return order ;
132
+ }
133
+
121
134
function path ( appId , className ) {
122
135
return `ParseDashboard:${ VERSION } :${ appId } :${ className } ` ;
123
136
}
0 commit comments