React propTypes as static class properties
This commit is contained in:
parent
9f26270a98
commit
0db33bb45c
|
@ -52,6 +52,7 @@
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"babel-core": "*",
|
"babel-core": "*",
|
||||||
|
"babel-eslint": "^7.1.1",
|
||||||
"babel-loader": "^6.2.8",
|
"babel-loader": "^6.2.8",
|
||||||
"babel-polyfill": "*",
|
"babel-polyfill": "*",
|
||||||
"babel-preset-es2015": "^6.18.0",
|
"babel-preset-es2015": "^6.18.0",
|
||||||
|
|
|
@ -4,6 +4,7 @@ module.exports = {
|
||||||
'commonjs': true,
|
'commonjs': true,
|
||||||
'es6': true
|
'es6': true
|
||||||
},
|
},
|
||||||
|
'parser': 'babel-eslint',
|
||||||
'parserOptions': {
|
'parserOptions': {
|
||||||
'ecmaFeatures': {
|
'ecmaFeatures': {
|
||||||
'experimentalObjectRestSpread': true,
|
'experimentalObjectRestSpread': true,
|
||||||
|
|
|
@ -29,6 +29,21 @@ const DEFAULT_CONFIG = {
|
||||||
* @abstract
|
* @abstract
|
||||||
*/
|
*/
|
||||||
export class AbstractApp extends Component {
|
export class AbstractApp extends Component {
|
||||||
|
/**
|
||||||
|
* AbstractApp component's property types.
|
||||||
|
*
|
||||||
|
* @static
|
||||||
|
*/
|
||||||
|
static propTypes = {
|
||||||
|
config: React.PropTypes.object,
|
||||||
|
store: React.PropTypes.object,
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The URL, if any, with which the app was launched.
|
||||||
|
*/
|
||||||
|
url: React.PropTypes.string
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Init lib-jitsi-meet and create local participant when component is going
|
* Init lib-jitsi-meet and create local participant when component is going
|
||||||
* to be mounted.
|
* to be mounted.
|
||||||
|
@ -113,18 +128,3 @@ export class AbstractApp extends Component {
|
||||||
this.props.store.dispatch(appNavigate(url));
|
this.props.store.dispatch(appNavigate(url));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* AbstractApp component's property types.
|
|
||||||
*
|
|
||||||
* @static
|
|
||||||
*/
|
|
||||||
AbstractApp.propTypes = {
|
|
||||||
config: React.PropTypes.object,
|
|
||||||
store: React.PropTypes.object,
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The URL, if any, with which the app was launched.
|
|
||||||
*/
|
|
||||||
url: React.PropTypes.string
|
|
||||||
};
|
|
||||||
|
|
|
@ -11,6 +11,13 @@ import { AbstractApp } from './AbstractApp';
|
||||||
* @extends AbstractApp
|
* @extends AbstractApp
|
||||||
*/
|
*/
|
||||||
export class App extends AbstractApp {
|
export class App extends AbstractApp {
|
||||||
|
/**
|
||||||
|
* App component's property types.
|
||||||
|
*
|
||||||
|
* @static
|
||||||
|
*/
|
||||||
|
static propTypes = AbstractApp.propTypes
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Initializes a new App instance.
|
* Initializes a new App instance.
|
||||||
*
|
*
|
||||||
|
@ -126,10 +133,3 @@ export class App extends AbstractApp {
|
||||||
this._openURL(event.url);
|
this._openURL(event.url);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* App component's property types.
|
|
||||||
*
|
|
||||||
* @static
|
|
||||||
*/
|
|
||||||
App.propTypes = AbstractApp.propTypes;
|
|
||||||
|
|
|
@ -18,6 +18,13 @@ import { AbstractApp } from './AbstractApp';
|
||||||
* @extends AbstractApp
|
* @extends AbstractApp
|
||||||
*/
|
*/
|
||||||
export class App extends AbstractApp {
|
export class App extends AbstractApp {
|
||||||
|
/**
|
||||||
|
* App component's property types.
|
||||||
|
*
|
||||||
|
* @static
|
||||||
|
*/
|
||||||
|
static propTypes = AbstractApp.propTypes
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Initializes a new App instance.
|
* Initializes a new App instance.
|
||||||
*
|
*
|
||||||
|
@ -148,10 +155,3 @@ export class App extends AbstractApp {
|
||||||
return this._createElement(component, props);
|
return this._createElement(component, props);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* App component's property types.
|
|
||||||
*
|
|
||||||
* @static
|
|
||||||
*/
|
|
||||||
App.propTypes = AbstractApp.propTypes;
|
|
||||||
|
|
|
@ -11,6 +11,24 @@ import { Video } from './_';
|
||||||
* @abstract
|
* @abstract
|
||||||
*/
|
*/
|
||||||
export class AbstractVideoTrack extends Component {
|
export class AbstractVideoTrack extends Component {
|
||||||
|
/**
|
||||||
|
* AbstractVideoTrack component's property types.
|
||||||
|
*
|
||||||
|
* @static
|
||||||
|
*/
|
||||||
|
static propTypes = {
|
||||||
|
dispatch: React.PropTypes.func,
|
||||||
|
videoTrack: React.PropTypes.object,
|
||||||
|
waitForVideoStarted: React.PropTypes.bool,
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The z-order of the Video of AbstractVideoTrack in the stacking space
|
||||||
|
* of all Videos. For more details, refer to the zOrder property of the
|
||||||
|
* Video class for React Native.
|
||||||
|
*/
|
||||||
|
zOrder: React.PropTypes.number
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Initializes a new AbstractVideoTrack instance.
|
* Initializes a new AbstractVideoTrack instance.
|
||||||
*
|
*
|
||||||
|
@ -116,24 +134,6 @@ export class AbstractVideoTrack extends Component {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* AbstractVideoTrack component's property types.
|
|
||||||
*
|
|
||||||
* @static
|
|
||||||
*/
|
|
||||||
AbstractVideoTrack.propTypes = {
|
|
||||||
dispatch: React.PropTypes.func,
|
|
||||||
videoTrack: React.PropTypes.object,
|
|
||||||
waitForVideoStarted: React.PropTypes.bool,
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The z-order of the Video of AbstractVideoTrack in the stacking space of
|
|
||||||
* all Videos. For more details, refer to the zOrder property of the Video
|
|
||||||
* class for React Native.
|
|
||||||
*/
|
|
||||||
zOrder: React.PropTypes.number
|
|
||||||
};
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns null if a specific value is falsy; otherwise, returns the specified
|
* Returns null if a specific value is falsy; otherwise, returns the specified
|
||||||
* value.
|
* value.
|
||||||
|
|
|
@ -5,6 +5,16 @@ import React, { Component } from 'react';
|
||||||
* around react-native-webrtc's RTCView.
|
* around react-native-webrtc's RTCView.
|
||||||
*/
|
*/
|
||||||
export class Audio extends Component {
|
export class Audio extends Component {
|
||||||
|
/**
|
||||||
|
* Audio component's property types.
|
||||||
|
*
|
||||||
|
* @static
|
||||||
|
*/
|
||||||
|
static propTypes = {
|
||||||
|
muted: React.PropTypes.bool,
|
||||||
|
stream: React.PropTypes.object
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Implements React's {@link Component#render()}.
|
* Implements React's {@link Component#render()}.
|
||||||
*
|
*
|
||||||
|
@ -18,13 +28,3 @@ export class Audio extends Component {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Audio component's property types.
|
|
||||||
*
|
|
||||||
* @static
|
|
||||||
*/
|
|
||||||
Audio.propTypes = {
|
|
||||||
muted: React.PropTypes.bool,
|
|
||||||
stream: React.PropTypes.object
|
|
||||||
};
|
|
||||||
|
|
|
@ -18,6 +18,43 @@ const RTCVIEW_SUPPORTS_MIRROR = Platform.OS === 'android';
|
||||||
* around react-native-webrtc's RTCView.
|
* around react-native-webrtc's RTCView.
|
||||||
*/
|
*/
|
||||||
export class Video extends Component {
|
export class Video extends Component {
|
||||||
|
/**
|
||||||
|
* Video component's property types.
|
||||||
|
*
|
||||||
|
* @static
|
||||||
|
*/
|
||||||
|
static propTypes = {
|
||||||
|
mirror: React.PropTypes.bool,
|
||||||
|
muted: React.PropTypes.bool,
|
||||||
|
onPlaying: React.PropTypes.func,
|
||||||
|
stream: React.PropTypes.object,
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Similarly to the CSS property z-index, specifies the z-order of this
|
||||||
|
* Video in the stacking space of all Videos. When Videos overlap,
|
||||||
|
* zOrder determines which one covers the other. A Video with a larger
|
||||||
|
* zOrder generally covers a Video with a lower one.
|
||||||
|
*
|
||||||
|
* Non-overlapping Videos may safely share a z-order (because one does
|
||||||
|
* not have to cover the other).
|
||||||
|
*
|
||||||
|
* The support for zOrder is platform-dependent and/or
|
||||||
|
* implementation-specific. Thus, specifying a value for zOrder is to be
|
||||||
|
* thought of as giving a hint rather than as imposing a requirement.
|
||||||
|
* For example, video renderers such as Video are commonly implemented
|
||||||
|
* using OpenGL and OpenGL views may have different numbers of layers in
|
||||||
|
* their stacking space. Android has three: a layer bellow the window
|
||||||
|
* (aka default), a layer bellow the window again but above the previous
|
||||||
|
* layer (aka media overlay), and above the window. Consequently, it is
|
||||||
|
* advisable to limit the number of utilized layers in the stacking
|
||||||
|
* space to the minimum sufficient for the desired display. For example,
|
||||||
|
* a video call application usually needs a maximum of two zOrder
|
||||||
|
* values: 0 for the remote video(s) which appear in the background, and
|
||||||
|
* 1 for the local video(s) which appear above the remote video(s).
|
||||||
|
*/
|
||||||
|
zOrder: React.PropTypes.number
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* React Component method that executes once component is mounted.
|
* React Component method that executes once component is mounted.
|
||||||
*
|
*
|
||||||
|
@ -86,40 +123,3 @@ export class Video extends Component {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Video component's property types.
|
|
||||||
*
|
|
||||||
* @static
|
|
||||||
*/
|
|
||||||
Video.propTypes = {
|
|
||||||
mirror: React.PropTypes.bool,
|
|
||||||
muted: React.PropTypes.bool,
|
|
||||||
onPlaying: React.PropTypes.func,
|
|
||||||
stream: React.PropTypes.object,
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Similarly to the CSS property z-index, specifies the z-order of this
|
|
||||||
* Video in the stacking space of all Videos. When Videos overlap, zOrder
|
|
||||||
* determines which one covers the other. A Video with a larger zOrder
|
|
||||||
* generally covers a Video with a lower one.
|
|
||||||
*
|
|
||||||
* Non-overlapping Videos may safely share a z-order (because one does not
|
|
||||||
* have to cover the other).
|
|
||||||
*
|
|
||||||
* The support for zOrder is platform-dependent and/or
|
|
||||||
* implementation-specific. Thus, specifying a value for zOrder is to be
|
|
||||||
* thought of as giving a hint rather than as imposing a requirement. For
|
|
||||||
* example, video renderers such as Video are commonly implemented using
|
|
||||||
* OpenGL and OpenGL views may have different numbers of layers in their
|
|
||||||
* stacking space. Android has three: a layer bellow the window (aka
|
|
||||||
* default), a layer bellow the window again but above the previous layer
|
|
||||||
* (aka media overlay), and above the window. Consequently, it is advisable
|
|
||||||
* to limit the number of utilized layers in the stacking space to the
|
|
||||||
* minimum sufficient for the desired display. For example, a video call
|
|
||||||
* application usually needs a maximum of two zOrder values: 0 for the
|
|
||||||
* remote video(s) which appear in the background, and 1 for the local
|
|
||||||
* video(s) which appear above the remote video(s).
|
|
||||||
*/
|
|
||||||
zOrder: React.PropTypes.number
|
|
||||||
};
|
|
||||||
|
|
|
@ -11,6 +11,13 @@ import { styles } from './styles';
|
||||||
* @extends AbstractVideoTrack
|
* @extends AbstractVideoTrack
|
||||||
*/
|
*/
|
||||||
class VideoTrack extends AbstractVideoTrack {
|
class VideoTrack extends AbstractVideoTrack {
|
||||||
|
/**
|
||||||
|
* VideoTrack component's property types.
|
||||||
|
*
|
||||||
|
* @static
|
||||||
|
*/
|
||||||
|
static propTypes = AbstractVideoTrack.propTypes
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Initializes a new VideoTrack instance.
|
* Initializes a new VideoTrack instance.
|
||||||
*
|
*
|
||||||
|
@ -153,11 +160,4 @@ class VideoTrack extends AbstractVideoTrack {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* VideoTrack component's property types.
|
|
||||||
*
|
|
||||||
* @static
|
|
||||||
*/
|
|
||||||
VideoTrack.propTypes = AbstractVideoTrack.propTypes;
|
|
||||||
|
|
||||||
export default connect()(VideoTrack);
|
export default connect()(VideoTrack);
|
||||||
|
|
|
@ -6,6 +6,40 @@ import React, { Component } from 'react';
|
||||||
* @extends Component
|
* @extends Component
|
||||||
*/
|
*/
|
||||||
export default class AbstractContainer extends Component {
|
export default class AbstractContainer extends Component {
|
||||||
|
/**
|
||||||
|
* AbstractContainer component's property types.
|
||||||
|
*
|
||||||
|
* @static
|
||||||
|
*/
|
||||||
|
static propTypes = {
|
||||||
|
children: React.PropTypes.node,
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The event handler/listener to be invoked when this AbstractContainer
|
||||||
|
* is clicked on Web or pressed on React Native. If onClick is defined
|
||||||
|
* and touchFeedback is undefined, touchFeedback is considered defined
|
||||||
|
* as true.
|
||||||
|
*/
|
||||||
|
onClick: React.PropTypes.func,
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The style (as in stylesheet) to be applied to this AbstractContainer.
|
||||||
|
*/
|
||||||
|
style: React.PropTypes.object,
|
||||||
|
|
||||||
|
/**
|
||||||
|
* True if this instance is to provide visual feedback when touched;
|
||||||
|
* otherwise, false. If touchFeedback is undefined and onClick is
|
||||||
|
* defined, touchFeedback is considered defined as true.
|
||||||
|
*/
|
||||||
|
touchFeedback: React.PropTypes.bool,
|
||||||
|
|
||||||
|
/**
|
||||||
|
* True if this AbstractContainer is to be visible or false if this
|
||||||
|
* instance is to be hidden or not rendered at all.
|
||||||
|
*/
|
||||||
|
visible: React.PropTypes.bool
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Renders this AbstractContainer as a React Component of a specific type.
|
* Renders this AbstractContainer as a React Component of a specific type.
|
||||||
|
@ -38,37 +72,3 @@ export default class AbstractContainer extends Component {
|
||||||
return React.createElement(type, filteredProps, children);
|
return React.createElement(type, filteredProps, children);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* AbstractContainer component's property types.
|
|
||||||
*
|
|
||||||
* @static
|
|
||||||
*/
|
|
||||||
AbstractContainer.propTypes = {
|
|
||||||
children: React.PropTypes.node,
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The event handler/listener to be invoked when this AbstractContainer is
|
|
||||||
* clicked on Web or pressed on React Native. If onClick is defined and
|
|
||||||
* touchFeedback is undefined, touchFeedback is considered defined as true.
|
|
||||||
*/
|
|
||||||
onClick: React.PropTypes.func,
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The style (as in stylesheet) to be applied to this AbstractContainer.
|
|
||||||
*/
|
|
||||||
style: React.PropTypes.object,
|
|
||||||
|
|
||||||
/**
|
|
||||||
* True if this instance is to provide visual feedback when touched;
|
|
||||||
* otherwise, false. If touchFeedback is undefined and onClick is defined,
|
|
||||||
* touchFeedback is considered defined as true.
|
|
||||||
*/
|
|
||||||
touchFeedback: React.PropTypes.bool,
|
|
||||||
|
|
||||||
/**
|
|
||||||
* True if this AbstractContainer is to be visible or false if this instance
|
|
||||||
* is to be hidden or not rendered at all.
|
|
||||||
*/
|
|
||||||
visible: React.PropTypes.bool
|
|
||||||
};
|
|
||||||
|
|
|
@ -14,6 +14,12 @@ import AbstractContainer from './AbstractContainer';
|
||||||
* @extends AbstractContainer
|
* @extends AbstractContainer
|
||||||
*/
|
*/
|
||||||
export class Container extends AbstractContainer {
|
export class Container extends AbstractContainer {
|
||||||
|
/**
|
||||||
|
* Container component's property types.
|
||||||
|
*
|
||||||
|
* @static
|
||||||
|
*/
|
||||||
|
static propTypes = AbstractContainer.propTypes
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Implements React's {@link Component#render()}.
|
* Implements React's {@link Component#render()}.
|
||||||
|
@ -74,10 +80,3 @@ export class Container extends AbstractContainer {
|
||||||
return component;
|
return component;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Container component's property types.
|
|
||||||
*
|
|
||||||
* @static
|
|
||||||
*/
|
|
||||||
Container.propTypes = AbstractContainer.propTypes;
|
|
||||||
|
|
|
@ -6,6 +6,33 @@ import { Linking, Text } from 'react-native';
|
||||||
* and its href attribute.
|
* and its href attribute.
|
||||||
*/
|
*/
|
||||||
export class Link extends Component {
|
export class Link extends Component {
|
||||||
|
/**
|
||||||
|
* Link component's property types.
|
||||||
|
*
|
||||||
|
* @static
|
||||||
|
*/
|
||||||
|
static propTypes = {
|
||||||
|
/**
|
||||||
|
* The children to be displayed within this Link.
|
||||||
|
*/
|
||||||
|
children: React.PropTypes.node,
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Notifies that this Link failed to open the URL associated with it.
|
||||||
|
*/
|
||||||
|
onLinkingOpenURLRejected: React.PropTypes.func,
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The CSS style to be applied to this Link for the purposes of display.
|
||||||
|
*/
|
||||||
|
style: React.PropTypes.object,
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The URL to be opened when this Link is clicked/pressed.
|
||||||
|
*/
|
||||||
|
url: React.PropTypes.string
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Initializes a new Link instance.
|
* Initializes a new Link instance.
|
||||||
*
|
*
|
||||||
|
@ -60,28 +87,3 @@ export class Link extends Component {
|
||||||
.catch(reason => this._onLinkingOpenURLRejected(reason));
|
.catch(reason => this._onLinkingOpenURLRejected(reason));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Link component's property types.
|
|
||||||
*/
|
|
||||||
Link.propTypes = {
|
|
||||||
/**
|
|
||||||
* The children to be displayed within this Link.
|
|
||||||
*/
|
|
||||||
children: React.PropTypes.node,
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Notifies that this Link failed to open the URL associated with it.
|
|
||||||
*/
|
|
||||||
onLinkingOpenURLRejected: React.PropTypes.func,
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The CSS style to be applied to this Link for the purposes of display.
|
|
||||||
*/
|
|
||||||
style: React.PropTypes.object,
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The URL to be opened when this Link is clicked/pressed.
|
|
||||||
*/
|
|
||||||
url: React.PropTypes.string
|
|
||||||
};
|
|
||||||
|
|
|
@ -7,6 +7,20 @@ import { styles } from './styles';
|
||||||
* Display a participant avatar.
|
* Display a participant avatar.
|
||||||
*/
|
*/
|
||||||
export default class Avatar extends Component {
|
export default class Avatar extends Component {
|
||||||
|
/**
|
||||||
|
* Avatar component's property types.
|
||||||
|
*
|
||||||
|
* @static
|
||||||
|
*/
|
||||||
|
static propTypes = {
|
||||||
|
/**
|
||||||
|
* The optional style to add to an Avatar in order to customize its base
|
||||||
|
* look (and feel).
|
||||||
|
*/
|
||||||
|
style: React.PropTypes.object,
|
||||||
|
uri: React.PropTypes.string
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Implements React's {@link Component#render()}.
|
* Implements React's {@link Component#render()}.
|
||||||
*
|
*
|
||||||
|
@ -23,18 +37,3 @@ export default class Avatar extends Component {
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Avatar component's property types.
|
|
||||||
*
|
|
||||||
* @static
|
|
||||||
*/
|
|
||||||
Avatar.propTypes = {
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The optional style to add to an Avatar in order to customize its base
|
|
||||||
* look (and feel).
|
|
||||||
*/
|
|
||||||
style: React.PropTypes.object,
|
|
||||||
uri: React.PropTypes.string
|
|
||||||
};
|
|
||||||
|
|
|
@ -21,6 +21,14 @@ const TOOLBAR_TIMEOUT_MS = 5000;
|
||||||
* The conference page of the application.
|
* The conference page of the application.
|
||||||
*/
|
*/
|
||||||
class Conference extends Component {
|
class Conference extends Component {
|
||||||
|
/**
|
||||||
|
* Conference component's property types.
|
||||||
|
*
|
||||||
|
* @static
|
||||||
|
*/
|
||||||
|
static propTypes = {
|
||||||
|
dispatch: React.PropTypes.func
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Initializes a new Conference instance.
|
* Initializes a new Conference instance.
|
||||||
|
@ -125,13 +133,4 @@ class Conference extends Component {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Conference component's property types.
|
|
||||||
*
|
|
||||||
* @static
|
|
||||||
*/
|
|
||||||
Conference.propTypes = {
|
|
||||||
dispatch: React.PropTypes.func
|
|
||||||
};
|
|
||||||
|
|
||||||
export default reactReduxConnect()(Conference);
|
export default reactReduxConnect()(Conference);
|
||||||
|
|
|
@ -20,6 +20,63 @@ import { styles } from './styles';
|
||||||
* @extends Component
|
* @extends Component
|
||||||
*/
|
*/
|
||||||
class ParticipantView extends Component {
|
class ParticipantView extends Component {
|
||||||
|
/**
|
||||||
|
* ParticipantView component's property types.
|
||||||
|
*
|
||||||
|
* @static
|
||||||
|
*/
|
||||||
|
static propTypes = {
|
||||||
|
/**
|
||||||
|
* The source (e.g. URI, URL) of the avatar image of the participant
|
||||||
|
* with {@link #participantId}.
|
||||||
|
*
|
||||||
|
* @private
|
||||||
|
*/
|
||||||
|
_avatar: React.PropTypes.string,
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The video Track of the participant with {@link #participantId}.
|
||||||
|
*/
|
||||||
|
_videoTrack: React.PropTypes.object,
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The style, if any, of the avatar in addition to the default style.
|
||||||
|
*/
|
||||||
|
avatarStyle: React.PropTypes.object,
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The ID of the participant (to be) depicted by ParticipantView.
|
||||||
|
*
|
||||||
|
* @public
|
||||||
|
*/
|
||||||
|
participantId: React.PropTypes.string,
|
||||||
|
|
||||||
|
/**
|
||||||
|
* True if the avatar of the depicted participant is to be shown should
|
||||||
|
* the avatar be available and the video of the participant is not to be
|
||||||
|
* shown; otherwise, false. If undefined, defaults to true.
|
||||||
|
*/
|
||||||
|
showAvatar: React.PropTypes.bool,
|
||||||
|
|
||||||
|
/**
|
||||||
|
* True if the video of the depicted participant is to be shown should
|
||||||
|
* the video be available. If undefined, defaults to true.
|
||||||
|
*/
|
||||||
|
showVideo: React.PropTypes.bool,
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The style, if any, to apply to ParticipantView in addition to its
|
||||||
|
* default style.
|
||||||
|
*/
|
||||||
|
style: React.PropTypes.object,
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The z-order of the Video of ParticipantView in the stacking space of
|
||||||
|
* all Videos. For more details, refer to the zOrder property of the
|
||||||
|
* Video class for React Native.
|
||||||
|
*/
|
||||||
|
zOrder: React.PropTypes.number
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Implements React's {@link Component#render()}.
|
* Implements React's {@link Component#render()}.
|
||||||
|
@ -77,65 +134,6 @@ class ParticipantView extends Component {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* ParticipantView component's property types.
|
|
||||||
*
|
|
||||||
* @static
|
|
||||||
*/
|
|
||||||
ParticipantView.propTypes = {
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The source (e.g. URI, URL) of the avatar image of the participant with
|
|
||||||
* {@link #participantId}.
|
|
||||||
*
|
|
||||||
* @private
|
|
||||||
*/
|
|
||||||
_avatar: React.PropTypes.string,
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The video Track of the participant with {@link #participantId}.
|
|
||||||
*/
|
|
||||||
_videoTrack: React.PropTypes.object,
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The style, if any, of the avatar in addition to the default style.
|
|
||||||
*/
|
|
||||||
avatarStyle: React.PropTypes.object,
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The ID of the participant (to be) depicted by ParticipantView.
|
|
||||||
*
|
|
||||||
* @public
|
|
||||||
*/
|
|
||||||
participantId: React.PropTypes.string,
|
|
||||||
|
|
||||||
/**
|
|
||||||
* True if the avatar of the depicted participant is to be shown should the
|
|
||||||
* avatar be available and the video of the participant is not to be shown;
|
|
||||||
* otherwise, false. If undefined, defaults to true.
|
|
||||||
*/
|
|
||||||
showAvatar: React.PropTypes.bool,
|
|
||||||
|
|
||||||
/**
|
|
||||||
* True if the video of the depicted participant is to be shown should the
|
|
||||||
* video be available. If undefined, defaults to true.
|
|
||||||
*/
|
|
||||||
showVideo: React.PropTypes.bool,
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The style, if any, to apply to ParticipantView in addition to its default
|
|
||||||
* style.
|
|
||||||
*/
|
|
||||||
style: React.PropTypes.object,
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The z-order of the Video of ParticipantView in the stacking space of all
|
|
||||||
* Videos. For more details, refer to the zOrder property of the Video class
|
|
||||||
* for React Native.
|
|
||||||
*/
|
|
||||||
zOrder: React.PropTypes.number
|
|
||||||
};
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Converts the specified value to a boolean value. If the specified value is
|
* Converts the specified value to a boolean value. If the specified value is
|
||||||
* undefined, returns the boolean value of undefinedValue.
|
* undefined, returns the boolean value of undefinedValue.
|
||||||
|
|
|
@ -13,6 +13,16 @@ import { styles } from './_';
|
||||||
* @extends Component
|
* @extends Component
|
||||||
*/
|
*/
|
||||||
class FilmStrip extends Component {
|
class FilmStrip extends Component {
|
||||||
|
/**
|
||||||
|
* FilmStrip component's property types.
|
||||||
|
*
|
||||||
|
* @static
|
||||||
|
*/
|
||||||
|
static propTypes = {
|
||||||
|
participants: React.PropTypes.array,
|
||||||
|
visible: React.PropTypes.bool.isRequired
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Implements React's {@link Component#render()}.
|
* Implements React's {@link Component#render()}.
|
||||||
*
|
*
|
||||||
|
@ -79,16 +89,6 @@ class FilmStrip extends Component {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* FilmStrip component's property types.
|
|
||||||
*
|
|
||||||
* @static
|
|
||||||
*/
|
|
||||||
FilmStrip.propTypes = {
|
|
||||||
participants: React.PropTypes.array,
|
|
||||||
visible: React.PropTypes.bool.isRequired
|
|
||||||
};
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Function that maps parts of Redux state tree into component props.
|
* Function that maps parts of Redux state tree into component props.
|
||||||
*
|
*
|
||||||
|
|
|
@ -26,6 +26,19 @@ import {
|
||||||
* @extends Component
|
* @extends Component
|
||||||
*/
|
*/
|
||||||
class Thumbnail extends Component {
|
class Thumbnail extends Component {
|
||||||
|
/**
|
||||||
|
* Thumbnail component's property types.
|
||||||
|
*
|
||||||
|
* @static
|
||||||
|
*/
|
||||||
|
static propTypes = {
|
||||||
|
audioTrack: React.PropTypes.object,
|
||||||
|
dispatch: React.PropTypes.func,
|
||||||
|
largeVideo: React.PropTypes.object,
|
||||||
|
participant: React.PropTypes.object,
|
||||||
|
videoTrack: React.PropTypes.object
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Initializes new Video Thumbnail component.
|
* Initializes new Video Thumbnail component.
|
||||||
*
|
*
|
||||||
|
@ -119,19 +132,6 @@ class Thumbnail extends Component {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Thumbnail component's property types.
|
|
||||||
*
|
|
||||||
* @static
|
|
||||||
*/
|
|
||||||
Thumbnail.propTypes = {
|
|
||||||
audioTrack: React.PropTypes.object,
|
|
||||||
dispatch: React.PropTypes.func,
|
|
||||||
largeVideo: React.PropTypes.object,
|
|
||||||
participant: React.PropTypes.object,
|
|
||||||
videoTrack: React.PropTypes.object
|
|
||||||
};
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Function that maps parts of Redux state tree into component props.
|
* Function that maps parts of Redux state tree into component props.
|
||||||
*
|
*
|
||||||
|
|
|
@ -11,6 +11,20 @@ import { styles } from './styles';
|
||||||
* @extends Component
|
* @extends Component
|
||||||
*/
|
*/
|
||||||
class LargeVideo extends Component {
|
class LargeVideo extends Component {
|
||||||
|
/**
|
||||||
|
* LargeVideo component's property types.
|
||||||
|
*
|
||||||
|
* @static
|
||||||
|
*/
|
||||||
|
static propTypes = {
|
||||||
|
/**
|
||||||
|
* The ID of the participant (to be) depicted by LargeVideo.
|
||||||
|
*
|
||||||
|
* @private
|
||||||
|
*/
|
||||||
|
_participantId: React.PropTypes.string
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Implements React's {@link Component#render()}.
|
* Implements React's {@link Component#render()}.
|
||||||
*
|
*
|
||||||
|
@ -28,21 +42,6 @@ class LargeVideo extends Component {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* LargeVideo component's property types.
|
|
||||||
*
|
|
||||||
* @static
|
|
||||||
*/
|
|
||||||
LargeVideo.propTypes = {
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The ID of the participant (to be) depicted by LargeVideo.
|
|
||||||
*
|
|
||||||
* @private
|
|
||||||
*/
|
|
||||||
_participantId: React.PropTypes.string
|
|
||||||
};
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Maps (parts of) the Redux state to the associated LargeVideo's props.
|
* Maps (parts of) the Redux state to the associated LargeVideo's props.
|
||||||
*
|
*
|
||||||
|
|
|
@ -15,6 +15,18 @@ import { styles } from './styles';
|
||||||
* @abstract
|
* @abstract
|
||||||
*/
|
*/
|
||||||
export class AbstractToolbar extends Component {
|
export class AbstractToolbar extends Component {
|
||||||
|
/**
|
||||||
|
* AbstractToolbar component's property types.
|
||||||
|
*
|
||||||
|
* @static
|
||||||
|
*/
|
||||||
|
static propTypes = {
|
||||||
|
audioMuted: React.PropTypes.bool,
|
||||||
|
dispatch: React.PropTypes.func,
|
||||||
|
videoMuted: React.PropTypes.bool,
|
||||||
|
visible: React.PropTypes.bool.isRequired
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Initializes a new AbstractToolbar instance.
|
* Initializes a new AbstractToolbar instance.
|
||||||
*
|
*
|
||||||
|
@ -104,18 +116,6 @@ export class AbstractToolbar extends Component {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* AbstractToolbar component's property types.
|
|
||||||
*
|
|
||||||
* @static
|
|
||||||
*/
|
|
||||||
AbstractToolbar.propTypes = {
|
|
||||||
audioMuted: React.PropTypes.bool,
|
|
||||||
dispatch: React.PropTypes.func,
|
|
||||||
videoMuted: React.PropTypes.bool,
|
|
||||||
visible: React.PropTypes.bool.isRequired
|
|
||||||
};
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Maps parts of media state to component props.
|
* Maps parts of media state to component props.
|
||||||
*
|
*
|
||||||
|
|
|
@ -6,6 +6,29 @@ import React, { Component } from 'react';
|
||||||
* @abstract
|
* @abstract
|
||||||
*/
|
*/
|
||||||
export default class AbstractToolbarButton extends Component {
|
export default class AbstractToolbarButton extends Component {
|
||||||
|
/**
|
||||||
|
* AbstractToolbarButton component's property types.
|
||||||
|
*
|
||||||
|
* @static
|
||||||
|
*/
|
||||||
|
static propTypes = {
|
||||||
|
/**
|
||||||
|
* The name of the Icon of this AbstractToolbarButton.
|
||||||
|
*/
|
||||||
|
iconName: React.PropTypes.string,
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The style of the Icon of this AbstractToolbarButton.
|
||||||
|
*/
|
||||||
|
iconStyle: React.PropTypes.object,
|
||||||
|
onClick: React.PropTypes.func,
|
||||||
|
style:
|
||||||
|
React.PropTypes.oneOfType([
|
||||||
|
React.PropTypes.array,
|
||||||
|
React.PropTypes.object
|
||||||
|
]),
|
||||||
|
underlayColor: React.PropTypes.any
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Implements React's {@link Component#render()}.
|
* Implements React's {@link Component#render()}.
|
||||||
|
@ -34,28 +57,3 @@ export default class AbstractToolbarButton extends Component {
|
||||||
return React.createElement(type, props);
|
return React.createElement(type, props);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* AbstractToolbarButton component's property types.
|
|
||||||
*
|
|
||||||
* @static
|
|
||||||
*/
|
|
||||||
AbstractToolbarButton.propTypes = {
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The name of the Icon of this AbstractToolbarButton.
|
|
||||||
*/
|
|
||||||
iconName: React.PropTypes.string,
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The style of the Icon of this AbstractToolbarButton.
|
|
||||||
*/
|
|
||||||
iconStyle: React.PropTypes.object,
|
|
||||||
onClick: React.PropTypes.func,
|
|
||||||
style:
|
|
||||||
React.PropTypes.oneOfType([
|
|
||||||
React.PropTypes.array,
|
|
||||||
React.PropTypes.object
|
|
||||||
]),
|
|
||||||
underlayColor: React.PropTypes.any
|
|
||||||
};
|
|
||||||
|
|
|
@ -22,6 +22,13 @@ import ToolbarButton from './ToolbarButton';
|
||||||
* @extends AbstractToolbar
|
* @extends AbstractToolbar
|
||||||
*/
|
*/
|
||||||
class Toolbar extends AbstractToolbar {
|
class Toolbar extends AbstractToolbar {
|
||||||
|
/**
|
||||||
|
* Toolbar component's property types.
|
||||||
|
*
|
||||||
|
* @static
|
||||||
|
*/
|
||||||
|
static propTypes = AbstractToolbar.propTypes
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Initializes a new Toolbar instance.
|
* Initializes a new Toolbar instance.
|
||||||
*
|
*
|
||||||
|
@ -116,11 +123,4 @@ Object.assign(Toolbar.prototype, {
|
||||||
videoMutedIcon: 'camera-disabled'
|
videoMutedIcon: 'camera-disabled'
|
||||||
});
|
});
|
||||||
|
|
||||||
/**
|
|
||||||
* Toolbar component's property types.
|
|
||||||
*
|
|
||||||
* @static
|
|
||||||
*/
|
|
||||||
Toolbar.propTypes = AbstractToolbar.propTypes;
|
|
||||||
|
|
||||||
export default connect(mapStateToProps)(Toolbar);
|
export default connect(mapStateToProps)(Toolbar);
|
||||||
|
|
|
@ -11,6 +11,12 @@ import AbstractToolbarButton from './AbstractToolbarButton';
|
||||||
* @extends AbstractToolbarButton
|
* @extends AbstractToolbarButton
|
||||||
*/
|
*/
|
||||||
export default class ToolbarButton extends AbstractToolbarButton {
|
export default class ToolbarButton extends AbstractToolbarButton {
|
||||||
|
/**
|
||||||
|
* ToolbarButton component's property types.
|
||||||
|
*
|
||||||
|
* @static
|
||||||
|
*/
|
||||||
|
static propTypes = AbstractToolbarButton.propTypes
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Renders the button of this Toolbar button.
|
* Renders the button of this Toolbar button.
|
||||||
|
@ -39,10 +45,3 @@ export default class ToolbarButton extends AbstractToolbarButton {
|
||||||
return super._renderIcon(Icon);
|
return super._renderIcon(Icon);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* ToolbarButton component's property types.
|
|
||||||
*
|
|
||||||
* @static
|
|
||||||
*/
|
|
||||||
ToolbarButton.propTypes = AbstractToolbarButton.propTypes;
|
|
||||||
|
|
|
@ -11,6 +11,17 @@ import { getLocalVideoTrack } from '../../base/tracks';
|
||||||
* @abstract
|
* @abstract
|
||||||
*/
|
*/
|
||||||
export class AbstractWelcomePage extends Component {
|
export class AbstractWelcomePage extends Component {
|
||||||
|
/**
|
||||||
|
* AbstractWelcomePage component's property types.
|
||||||
|
*
|
||||||
|
* @static
|
||||||
|
*/
|
||||||
|
static propTypes = {
|
||||||
|
dispatch: React.PropTypes.func,
|
||||||
|
localVideoTrack: React.PropTypes.object,
|
||||||
|
room: React.PropTypes.string
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Initializes a new AbstractWelcomePage instance, including the initial
|
* Initializes a new AbstractWelcomePage instance, including the initial
|
||||||
* state of the room name input.
|
* state of the room name input.
|
||||||
|
@ -91,17 +102,6 @@ export class AbstractWelcomePage extends Component {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* AbstractWelcomePage component's property types.
|
|
||||||
*
|
|
||||||
* @static
|
|
||||||
*/
|
|
||||||
AbstractWelcomePage.propTypes = {
|
|
||||||
dispatch: React.PropTypes.func,
|
|
||||||
localVideoTrack: React.PropTypes.object,
|
|
||||||
room: React.PropTypes.string
|
|
||||||
};
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Selects local video track from tracks in state, local participant and room
|
* Selects local video track from tracks in state, local participant and room
|
||||||
* and maps them to component props. It seems it's not possible to 'connect'
|
* and maps them to component props. It seems it's not possible to 'connect'
|
||||||
|
|
|
@ -25,6 +25,13 @@ const TERMS_OF_SERVICE_URL
|
||||||
* @extends AbstractWelcomePage
|
* @extends AbstractWelcomePage
|
||||||
*/
|
*/
|
||||||
class WelcomePage extends AbstractWelcomePage {
|
class WelcomePage extends AbstractWelcomePage {
|
||||||
|
/**
|
||||||
|
* WelcomePage component's property types.
|
||||||
|
*
|
||||||
|
* @static
|
||||||
|
*/
|
||||||
|
static propTypes = AbstractWelcomePage.propTypes
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Renders a prompt for entering a room name.
|
* Renders a prompt for entering a room name.
|
||||||
*
|
*
|
||||||
|
@ -90,11 +97,4 @@ class WelcomePage extends AbstractWelcomePage {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* WelcomePage component's property types.
|
|
||||||
*
|
|
||||||
* @static
|
|
||||||
*/
|
|
||||||
WelcomePage.propTypes = AbstractWelcomePage.propTypes;
|
|
||||||
|
|
||||||
export default connect(mapStateToProps)(WelcomePage);
|
export default connect(mapStateToProps)(WelcomePage);
|
||||||
|
|
Loading…
Reference in New Issue