@@ -27,7 +27,6 @@ limitations under the License.
27
27
*/
28
28
var React = require ( 'react' ) ;
29
29
var classNames = require ( 'classnames' ) ;
30
- var MatrixClientPeg = require ( "../../../MatrixClientPeg" ) ;
31
30
var dis = require ( "../../../dispatcher" ) ;
32
31
var Modal = require ( "../../../Modal" ) ;
33
32
var sdk = require ( '../../../index' ) ;
@@ -36,11 +35,13 @@ var createRoom = require('../../../createRoom');
36
35
var DMRoomMap = require ( '../../../utils/DMRoomMap' ) ;
37
36
var Unread = require ( '../../../Unread' ) ;
38
37
var Receipt = require ( '../../../utils/Receipt' ) ;
38
+ var WithMatrixClient = require ( '../../../wrappers/WithMatrixClient' ) ;
39
39
40
- module . exports = React . createClass ( {
40
+ module . exports = WithMatrixClient ( React . createClass ( {
41
41
displayName : 'MemberInfo' ,
42
42
43
43
propTypes : {
44
+ matrixClient : React . PropTypes . object . isRequired ,
44
45
member : React . PropTypes . object . isRequired ,
45
46
onFinished : React . PropTypes . func ,
46
47
} ,
@@ -72,10 +73,10 @@ module.exports = React.createClass({
72
73
73
74
// only display the devices list if our client supports E2E *and* the
74
75
// feature is enabled in the user settings
75
- this . _enableDevices = MatrixClientPeg . get ( ) . isCryptoEnabled ( ) &&
76
+ this . _enableDevices = this . props . matrixClient . isCryptoEnabled ( ) &&
76
77
UserSettingsStore . isFeatureEnabled ( "e2e_encryption" ) ;
77
78
78
- const cli = MatrixClientPeg . get ( ) ;
79
+ const cli = this . props . matrixClient ;
79
80
cli . on ( "deviceVerificationChanged" , this . onDeviceVerificationChanged ) ;
80
81
cli . on ( "Room" , this . onRoom ) ;
81
82
cli . on ( "deleteRoom" , this . onDeleteRoom ) ;
@@ -98,7 +99,7 @@ module.exports = React.createClass({
98
99
} ,
99
100
100
101
componentWillUnmount : function ( ) {
101
- var client = MatrixClientPeg . get ( ) ;
102
+ var client = this . props . matrixClient ;
102
103
if ( client ) {
103
104
client . removeListener ( "deviceVerificationChanged" , this . onDeviceVerificationChanged ) ;
104
105
client . removeListener ( "Room" , this . onRoom ) ;
@@ -140,7 +141,7 @@ module.exports = React.createClass({
140
141
if ( userId == this . props . member . userId ) {
141
142
// no need to re-download the whole thing; just update our copy of
142
143
// the list.
143
- var devices = MatrixClientPeg . get ( ) . getStoredDevicesForUser ( userId ) ;
144
+ var devices = this . props . matrixClient . getStoredDevicesForUser ( userId ) ;
144
145
this . setState ( { devices : devices } ) ;
145
146
}
146
147
} ,
@@ -165,7 +166,7 @@ module.exports = React.createClass({
165
166
onRoomReceipt : function ( receiptEvent , room ) {
166
167
// because if we read a notification, it will affect notification count
167
168
// only bother updating if there's a receipt from us
168
- if ( Receipt . findReadReceiptFromUserId ( receiptEvent , MatrixClientPeg . get ( ) . credentials . userId ) ) {
169
+ if ( Receipt . findReadReceiptFromUserId ( receiptEvent , this . props . matrixClient . credentials . userId ) ) {
169
170
this . forceUpdate ( ) ;
170
171
}
171
172
} ,
@@ -206,7 +207,7 @@ module.exports = React.createClass({
206
207
var cancelled = false ;
207
208
this . _cancelDeviceList = function ( ) { cancelled = true ; }
208
209
209
- var client = MatrixClientPeg . get ( ) ;
210
+ var client = this . props . matrixClient ;
210
211
var self = this ;
211
212
client . downloadKeys ( [ member . userId ] , true ) . finally ( function ( ) {
212
213
self . _cancelDeviceList = null ;
@@ -229,7 +230,7 @@ module.exports = React.createClass({
229
230
var roomId = this . props . member . roomId ;
230
231
var target = this . props . member . userId ;
231
232
this . setState ( { updating : this . state . updating + 1 } ) ;
232
- MatrixClientPeg . get ( ) . kick ( roomId , target ) . then ( function ( ) {
233
+ this . props . matrixClient . kick ( roomId , target ) . then ( function ( ) {
233
234
// NO-OP; rely on the m.room.member event coming down else we could
234
235
// get out of sync if we force setState here!
235
236
console . log ( "Kick success" ) ;
@@ -250,7 +251,7 @@ module.exports = React.createClass({
250
251
var roomId = this . props . member . roomId ;
251
252
var target = this . props . member . userId ;
252
253
this . setState ( { updating : this . state . updating + 1 } ) ;
253
- MatrixClientPeg . get ( ) . ban ( roomId , target ) . then (
254
+ this . props . matrixClient . ban ( roomId , target ) . then (
254
255
function ( ) {
255
256
// NO-OP; rely on the m.room.member event coming down else we could
256
257
// get out of sync if we force setState here!
@@ -271,7 +272,7 @@ module.exports = React.createClass({
271
272
var ErrorDialog = sdk . getComponent ( "dialogs.ErrorDialog" ) ;
272
273
var roomId = this . props . member . roomId ;
273
274
var target = this . props . member . userId ;
274
- var room = MatrixClientPeg . get ( ) . getRoom ( roomId ) ;
275
+ var room = this . props . matrixClient . getRoom ( roomId ) ;
275
276
if ( ! room ) {
276
277
this . props . onFinished ( ) ;
277
278
return ;
@@ -300,7 +301,7 @@ module.exports = React.createClass({
300
301
301
302
if ( level !== NaN ) {
302
303
this . setState ( { updating : this . state . updating + 1 } ) ;
303
- MatrixClientPeg . get ( ) . setPowerLevel ( roomId , target , level , powerLevelEvent ) . then (
304
+ this . props . matrixClient . setPowerLevel ( roomId , target , level , powerLevelEvent ) . then (
304
305
function ( ) {
305
306
// NO-OP; rely on the m.room.member event coming down else we could
306
307
// get out of sync if we force setState here!
@@ -322,7 +323,7 @@ module.exports = React.createClass({
322
323
var ErrorDialog = sdk . getComponent ( "dialogs.ErrorDialog" ) ;
323
324
var roomId = this . props . member . roomId ;
324
325
var target = this . props . member . userId ;
325
- var room = MatrixClientPeg . get ( ) . getRoom ( roomId ) ;
326
+ var room = this . props . matrixClient . getRoom ( roomId ) ;
326
327
if ( ! room ) {
327
328
this . props . onFinished ( ) ;
328
329
return ;
@@ -334,7 +335,7 @@ module.exports = React.createClass({
334
335
this . props . onFinished ( ) ;
335
336
return ;
336
337
}
337
- var me = room . getMember ( MatrixClientPeg . get ( ) . credentials . userId ) ;
338
+ var me = room . getMember ( this . props . matrixClient . credentials . userId ) ;
338
339
if ( ! me ) {
339
340
this . props . onFinished ( ) ;
340
341
return ;
@@ -345,7 +346,7 @@ module.exports = React.createClass({
345
346
// toggle the level
346
347
var newLevel = this . state . isTargetMod ? defaultLevel : modLevel ;
347
348
this . setState ( { updating : this . state . updating + 1 } ) ;
348
- MatrixClientPeg . get ( ) . setPowerLevel ( roomId , target , parseInt ( newLevel ) , powerLevelEvent ) . then (
349
+ this . props . matrixClient . setPowerLevel ( roomId , target , parseInt ( newLevel ) , powerLevelEvent ) . then (
349
350
function ( ) {
350
351
// NO-OP; rely on the m.room.member event coming down else we could
351
352
// get out of sync if we force setState here!
@@ -372,7 +373,7 @@ module.exports = React.createClass({
372
373
373
374
_applyPowerChange : function ( roomId , target , powerLevel , powerLevelEvent ) {
374
375
this . setState ( { updating : this . state . updating + 1 } ) ;
375
- MatrixClientPeg . get ( ) . setPowerLevel ( roomId , target , parseInt ( powerLevel ) , powerLevelEvent ) . then (
376
+ this . props . matrixClient . setPowerLevel ( roomId , target , parseInt ( powerLevel ) , powerLevelEvent ) . then (
376
377
function ( ) {
377
378
// NO-OP; rely on the m.room.member event coming down else we could
378
379
// get out of sync if we force setState here!
@@ -393,7 +394,7 @@ module.exports = React.createClass({
393
394
var ErrorDialog = sdk . getComponent ( "dialogs.ErrorDialog" ) ;
394
395
var roomId = this . props . member . roomId ;
395
396
var target = this . props . member . userId ;
396
- var room = MatrixClientPeg . get ( ) . getRoom ( roomId ) ;
397
+ var room = this . props . matrixClient . getRoom ( roomId ) ;
397
398
var self = this ;
398
399
if ( ! room ) {
399
400
this . props . onFinished ( ) ;
@@ -407,7 +408,7 @@ module.exports = React.createClass({
407
408
return ;
408
409
}
409
410
if ( powerLevelEvent . getContent ( ) . users ) {
410
- var myPower = powerLevelEvent . getContent ( ) . users [ MatrixClientPeg . get ( ) . credentials . userId ] ;
411
+ var myPower = powerLevelEvent . getContent ( ) . users [ this . props . matrixClient . credentials . userId ] ;
411
412
if ( parseInt ( myPower ) === parseInt ( powerLevel ) ) {
412
413
var QuestionDialog = sdk . getComponent ( "dialogs.QuestionDialog" ) ;
413
414
Modal . createDialog ( QuestionDialog , {
@@ -459,7 +460,7 @@ module.exports = React.createClass({
459
460
muted : false ,
460
461
modifyLevel : false
461
462
} ;
462
- var room = MatrixClientPeg . get ( ) . getRoom ( member . roomId ) ;
463
+ var room = this . props . matrixClient . getRoom ( member . roomId ) ;
463
464
if ( ! room ) {
464
465
return defaultPerms ;
465
466
}
@@ -469,7 +470,7 @@ module.exports = React.createClass({
469
470
if ( ! powerLevels ) {
470
471
return defaultPerms ;
471
472
}
472
- var me = room . getMember ( MatrixClientPeg . get ( ) . credentials . userId ) ;
473
+ var me = room . getMember ( this . props . matrixClient . credentials . userId ) ;
473
474
if ( ! me ) {
474
475
return defaultPerms ;
475
476
}
@@ -534,7 +535,7 @@ module.exports = React.createClass({
534
535
var avatarUrl = this . props . member . user ? this . props . member . user . avatarUrl : this . props . member . events . member . getContent ( ) . avatar_url ;
535
536
if ( ! avatarUrl ) return ;
536
537
537
- var httpUrl = MatrixClientPeg . get ( ) . mxcUrlToHttp ( avatarUrl ) ;
538
+ var httpUrl = this . props . matrixClient . mxcUrlToHttp ( avatarUrl ) ;
538
539
var ImageView = sdk . getComponent ( "elements.ImageView" ) ;
539
540
var params = {
540
541
src : httpUrl ,
@@ -582,17 +583,17 @@ module.exports = React.createClass({
582
583
583
584
render : function ( ) {
584
585
var startChat , kickButton , banButton , muteButton , giveModButton , spinner ;
585
- if ( this . props . member . userId !== MatrixClientPeg . get ( ) . credentials . userId ) {
586
- const dmRoomMap = new DMRoomMap ( MatrixClientPeg . get ( ) ) ;
586
+ if ( this . props . member . userId !== this . props . matrixClient . credentials . userId ) {
587
+ const dmRoomMap = new DMRoomMap ( this . props . matrixClient ) ;
587
588
const dmRooms = dmRoomMap . getDMRoomsForUserId ( this . props . member . userId ) ;
588
589
589
590
const RoomTile = sdk . getComponent ( "rooms.RoomTile" ) ;
590
591
591
592
const tiles = [ ] ;
592
593
for ( const roomId of dmRooms ) {
593
- const room = MatrixClientPeg . get ( ) . getRoom ( roomId ) ;
594
+ const room = this . props . matrixClient . getRoom ( roomId ) ;
594
595
if ( room ) {
595
- const me = room . getMember ( MatrixClientPeg . get ( ) . credentials . userId ) ;
596
+ const me = room . getMember ( this . props . matrixClient . credentials . userId ) ;
596
597
const highlight = (
597
598
room . getUnreadNotificationCount ( 'highlight' ) > 0 ||
598
599
me . membership == "invite"
@@ -709,4 +710,4 @@ module.exports = React.createClass({
709
710
</ div >
710
711
) ;
711
712
}
712
- } ) ;
713
+ } ) ) ;
0 commit comments