feat(App): remove obsolete config prop
It's obsolete now, since config is handled in Redux. Also add a "defaultUrl" prop so emdedding applications can select what the default base URL is.
This commit is contained in:
parent
893d08d614
commit
79d51bc379
|
@ -1,4 +0,0 @@
|
||||||
/* global config */
|
|
||||||
|
|
||||||
// For legacy reasons, use jitsi-meet's global variable config.
|
|
||||||
export default typeof config === 'object' ? config : undefined;
|
|
|
@ -20,6 +20,11 @@ import {
|
||||||
|
|
||||||
declare var APP: Object;
|
declare var APP: Object;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Default URL to be loaded if no other was specified using props.
|
||||||
|
*/
|
||||||
|
const DEFAULT_URL = 'https://meet.jit.si';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Base (abstract) class for main App component.
|
* Base (abstract) class for main App component.
|
||||||
*
|
*
|
||||||
|
@ -32,7 +37,14 @@ export class AbstractApp extends Component {
|
||||||
* @static
|
* @static
|
||||||
*/
|
*/
|
||||||
static propTypes = {
|
static propTypes = {
|
||||||
config: React.PropTypes.object,
|
/**
|
||||||
|
* Default URL to be loaded by the app when not in any room.
|
||||||
|
*/
|
||||||
|
defaultUrl: React.PropTypes.string,
|
||||||
|
|
||||||
|
/**
|
||||||
|
* (Optional) Redux store for this app.
|
||||||
|
*/
|
||||||
store: React.PropTypes.object,
|
store: React.PropTypes.object,
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -193,10 +205,9 @@ export class AbstractApp extends Component {
|
||||||
_createElement(component, props) {
|
_createElement(component, props) {
|
||||||
/* eslint-disable no-unused-vars, lines-around-comment */
|
/* eslint-disable no-unused-vars, lines-around-comment */
|
||||||
const {
|
const {
|
||||||
// Don't propagate the config prop(erty) because the config is
|
// The defaultUrl property was introduced to be consumed entirely by
|
||||||
// stored inside the Redux state and, thus, is visible to the
|
// AbstractApp.
|
||||||
// children anyway.
|
defaultUrl,
|
||||||
config,
|
|
||||||
// Don't propagate the dispatch and store props because they usually
|
// Don't propagate the dispatch and store props because they usually
|
||||||
// come from react-redux and programmers don't really expect them to
|
// come from react-redux and programmers don't really expect them to
|
||||||
// be inherited but rather explicitly connected.
|
// be inherited but rather explicitly connected.
|
||||||
|
@ -265,24 +276,7 @@ export class AbstractApp extends Component {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// By default, open the domain configured in the configuration file
|
return this.props.defaultUrl || DEFAULT_URL;
|
||||||
// which may be the domain at which the whole server infrastructure is
|
|
||||||
// deployed.
|
|
||||||
const { config } = this.props;
|
|
||||||
|
|
||||||
if (typeof config === 'object') {
|
|
||||||
const { hosts } = config;
|
|
||||||
|
|
||||||
if (typeof hosts === 'object') {
|
|
||||||
const { domain } = hosts;
|
|
||||||
|
|
||||||
if (domain) {
|
|
||||||
return `https://${domain}`;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return 'https://meet.jit.si';
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -14,7 +14,7 @@ export class App extends AbstractApp {
|
||||||
*
|
*
|
||||||
* @static
|
* @static
|
||||||
*/
|
*/
|
||||||
static propTypes = AbstractApp.propTypes
|
static propTypes = AbstractApp.propTypes;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Initializes a new App instance.
|
* Initializes a new App instance.
|
||||||
|
|
|
@ -2,7 +2,6 @@ import 'es6-symbol/implement';
|
||||||
import React, { Component } from 'react';
|
import React, { Component } from 'react';
|
||||||
import { AppRegistry, Linking } from 'react-native';
|
import { AppRegistry, Linking } from 'react-native';
|
||||||
|
|
||||||
import config from './config';
|
|
||||||
import { App } from './features/app';
|
import { App } from './features/app';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -65,7 +64,6 @@ class Root extends Component {
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<App
|
<App
|
||||||
config = { config }
|
|
||||||
url = { this.state.url } />
|
url = { this.state.url } />
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,7 +5,6 @@ import ReactDOM from 'react-dom';
|
||||||
|
|
||||||
import { getJitsiMeetTransport } from '../modules/transport';
|
import { getJitsiMeetTransport } from '../modules/transport';
|
||||||
|
|
||||||
import config from './config';
|
|
||||||
import { App } from './features/app';
|
import { App } from './features/app';
|
||||||
|
|
||||||
const logger = require('jitsi-meet-logger').getLogger(__filename);
|
const logger = require('jitsi-meet-logger').getLogger(__filename);
|
||||||
|
@ -20,9 +19,7 @@ document.addEventListener('DOMContentLoaded', () => {
|
||||||
logger.log('(TIME) document ready:\t', now);
|
logger.log('(TIME) document ready:\t', now);
|
||||||
|
|
||||||
// Render the main Component.
|
// Render the main Component.
|
||||||
ReactDOM.render(
|
ReactDOM.render(<App />, document.getElementById('react'));
|
||||||
<App config = { config } />,
|
|
||||||
document.getElementById('react'));
|
|
||||||
});
|
});
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
Loading…
Reference in New Issue