mirror of https://github.com/vector-im/riot-web
Remove SdkConfig
just take a config in MatrixChat, pass the individual things down through the chain. This may become unwieldy: let's see how it goes.pull/21833/head
parent
12816c5e1f
commit
7e8c8dd336
|
@ -1,48 +0,0 @@
|
|||
/*
|
||||
Copyright 2016 OpenMarket Ltd
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
*/
|
||||
|
||||
var DEFAULTS = {
|
||||
};
|
||||
|
||||
/**
|
||||
* Class that stores an instance of the SDK config dictionary
|
||||
* as a singleton such that it can be accessed from SDK
|
||||
* components without having to be passed deep though
|
||||
* multiple levels of React components.
|
||||
*/
|
||||
class SdkConfig {
|
||||
|
||||
static get() {
|
||||
return global.mxReactSdkConfig;
|
||||
}
|
||||
|
||||
static put(cfg) {
|
||||
var defaultKeys = Object.keys(DEFAULTS);
|
||||
for (var i = 0; i < defaultKeys.length; ++i) {
|
||||
var key = defaultKeys[i];
|
||||
if (cfg[key] === undefined) {
|
||||
cfg[key] = DEFAULTS[key];
|
||||
}
|
||||
}
|
||||
global.mxReactSdkConfig = cfg;
|
||||
}
|
||||
|
||||
static unset() {
|
||||
global.mxReactSdkConfig = undefined;
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = SdkConfig;
|
|
@ -19,7 +19,6 @@ var url = require('url');
|
|||
var Favico = require('favico.js');
|
||||
|
||||
var MatrixClientPeg = require("../../MatrixClientPeg");
|
||||
var SdkConfig = require("../../SdkConfig");
|
||||
var Notifier = require("../../Notifier");
|
||||
var ContextualMenu = require("../../ContextualMenu");
|
||||
var RoomListSorter = require("../../RoomListSorter");
|
||||
|
@ -124,7 +123,6 @@ module.exports = React.createClass({
|
|||
},
|
||||
|
||||
componentWillMount: function() {
|
||||
SdkConfig.put(this.props.config);
|
||||
this.favicon = new Favico({animation: 'none'});
|
||||
},
|
||||
|
||||
|
@ -1094,7 +1092,7 @@ module.exports = React.createClass({
|
|||
right_panel = <RightPanel roomId={this.state.currentRoom} collapsed={this.state.collapse_rhs} opacity={this.state.sideOpacity} />
|
||||
break;
|
||||
case this.PageTypes.UserSettings:
|
||||
page_element = <UserSettings onClose={this.onUserSettingsClose} version={this.state.version} />
|
||||
page_element = <UserSettings onClose={this.onUserSettingsClose} version={this.state.version} brand={this.props.config.brand} />
|
||||
right_panel = <RightPanel collapsed={this.state.collapse_rhs} opacity={this.state.sideOpacity}/>
|
||||
break;
|
||||
case this.PageTypes.CreateRoom:
|
||||
|
|
|
@ -31,7 +31,9 @@ module.exports = React.createClass({
|
|||
|
||||
propTypes: {
|
||||
version: React.PropTypes.string,
|
||||
onClose: React.PropTypes.func
|
||||
onClose: React.PropTypes.func,
|
||||
// The brand string given when creating email pushers
|
||||
brand: React.PropTypes.string,
|
||||
},
|
||||
|
||||
getDefaultProps: function() {
|
||||
|
@ -333,7 +335,7 @@ module.exports = React.createClass({
|
|||
<h3>Notifications</h3>
|
||||
|
||||
<div className="mx_UserSettings_section">
|
||||
<Notifications threepids={this.state.threepids} />
|
||||
<Notifications threepids={this.state.threepids} brand={this.props.brand} />
|
||||
</div>
|
||||
</div>);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue