@@ -30,7 +30,8 @@ class Config extends TableView {
30
30
modalOpen : false ,
31
31
modalParam : '' ,
32
32
modalType : 'String' ,
33
- modalValue : ''
33
+ modalValue : '' ,
34
+ modalMasterKeyOnly : false
34
35
} ;
35
36
}
36
37
@@ -58,13 +59,16 @@ class Config extends TableView {
58
59
if ( ! this . state . modalOpen ) {
59
60
return null ;
60
61
}
62
+ const { currentApp = { } } = this . context ;
61
63
return (
62
64
< ConfigDialog
63
65
onConfirm = { this . saveParam . bind ( this ) }
64
66
onCancel = { ( ) => this . setState ( { modalOpen : false } ) }
65
67
param = { this . state . modalParam }
66
68
type = { this . state . modalType }
67
- value = { this . state . modalValue } />
69
+ value = { this . state . modalValue }
70
+ masterKeyOnly = { this . state . modalMasterKeyOnly }
71
+ parseServerVersion = { currentApp . serverInfo && currentApp . serverInfo . parseServerVersion } />
68
72
) ;
69
73
}
70
74
@@ -103,9 +107,11 @@ class Config extends TableView {
103
107
modalOpen : true ,
104
108
modalParam : data . param ,
105
109
modalType : type ,
106
- modalValue : modalValue
110
+ modalValue : modalValue ,
111
+ modalMasterKeyOnly : data . masterKeyOnly
107
112
} ) ;
108
- let columnStyle = { width : '30%' , cursor : 'pointer' } ;
113
+ let columnStyleLarge = { width : '30%' , cursor : 'pointer' } ;
114
+ let columnStyleSmall = { width : '15%' , cursor : 'pointer' } ;
109
115
110
116
let openModalValueColumn = ( ) => {
111
117
if ( data . value instanceof Parse . File ) {
@@ -116,9 +122,10 @@ class Config extends TableView {
116
122
117
123
return (
118
124
< tr key = { data . param } >
119
- < td style = { columnStyle } onClick = { openModal } > { data . param } </ td >
120
- < td style = { columnStyle } onClick = { openModal } > { type } </ td >
121
- < td style = { columnStyle } onClick = { openModalValueColumn } > { value } </ td >
125
+ < td style = { columnStyleLarge } onClick = { openModal } > { data . param } </ td >
126
+ < td style = { columnStyleSmall } onClick = { openModal } > { type } </ td >
127
+ < td style = { columnStyleLarge } onClick = { openModalValueColumn } > { value } </ td >
128
+ < td style = { columnStyleSmall } onClick = { openModal } > { data . masterKeyOnly . toString ( ) } </ td >
122
129
< td style = { { textAlign : 'center' } } >
123
130
< a onClick = { this . deleteParam . bind ( this , data . param ) } >
124
131
< Icon width = { 16 } height = { 16 } name = 'trash-solid' fill = '#ff395e' />
@@ -131,8 +138,9 @@ class Config extends TableView {
131
138
renderHeaders ( ) {
132
139
return [
133
140
< TableHeader key = 'parameter' width = { 30 } > Parameter</ TableHeader > ,
134
- < TableHeader key = 'type' width = { 30 } > Type</ TableHeader > ,
135
- < TableHeader key = 'value' width = { 30 } > Value</ TableHeader >
141
+ < TableHeader key = 'type' width = { 15 } > Type</ TableHeader > ,
142
+ < TableHeader key = 'value' width = { 30 } > Value</ TableHeader > ,
143
+ < TableHeader key = 'masterKeyOnly' width = { 15 } > Master key only</ TableHeader >
136
144
] ;
137
145
}
138
146
@@ -151,20 +159,20 @@ class Config extends TableView {
151
159
let data = undefined ;
152
160
if ( this . props . config . data ) {
153
161
let params = this . props . config . data . get ( 'params' ) ;
162
+ let masterKeyOnlyParams = this . props . config . data . get ( 'masterKeyOnly' ) || { } ;
154
163
if ( params ) {
155
164
data = [ ] ;
156
165
params . forEach ( ( value , param ) => {
166
+ let masterKeyOnly = masterKeyOnlyParams . get ( param ) || false ;
157
167
let type = typeof value ;
158
168
if ( type === 'object' && value . __type == 'File' ) {
159
169
value = Parse . File . fromJSON ( value ) ;
160
170
}
161
171
else if ( type === 'object' && value . __type == 'GeoPoint' ) {
162
172
value = new Parse . GeoPoint ( value ) ;
163
173
}
164
-
165
- data . push ( { param : param , value : value } )
174
+ data . push ( { param : param , value : value , masterKeyOnly : masterKeyOnly } )
166
175
} ) ;
167
-
168
176
data . sort ( ( object1 , object2 ) => {
169
177
return object1 . param . localeCompare ( object2 . param ) ;
170
178
} ) ;
@@ -173,10 +181,10 @@ class Config extends TableView {
173
181
return data ;
174
182
}
175
183
176
- saveParam ( { name, value } ) {
184
+ saveParam ( { name, value, masterKeyOnly } ) {
177
185
this . props . config . dispatch (
178
186
ActionTypes . SET ,
179
- { param : name , value : value }
187
+ { param : name , value : value , masterKeyOnly : masterKeyOnly }
180
188
) . then ( ( ) => {
181
189
this . setState ( { modalOpen : false } ) ;
182
190
} , ( ) => {
@@ -196,7 +204,8 @@ class Config extends TableView {
196
204
modalOpen : true ,
197
205
modalParam : '' ,
198
206
modalType : 'String' ,
199
- modalValue : ''
207
+ modalValue : '' ,
208
+ modalMasterKeyOnly : false
200
209
} ) ;
201
210
}
202
211
}
0 commit comments