mirror of
https://github.com/element-hq/element-web
synced 2024-11-24 18:25:49 +03:00
Merge pull request #1677 from aidalgol/PropTypes
Remove use of deprecated React.PropTypes
This commit is contained in:
commit
5aed77c752
123 changed files with 750 additions and 632 deletions
|
@ -19,6 +19,7 @@ limitations under the License.
|
||||||
|
|
||||||
const React = require('react');
|
const React = require('react');
|
||||||
const ReactDOM = require('react-dom');
|
const ReactDOM = require('react-dom');
|
||||||
|
import PropTypes from 'prop-types';
|
||||||
import Analytics from './Analytics';
|
import Analytics from './Analytics';
|
||||||
import sdk from './index';
|
import sdk from './index';
|
||||||
|
|
||||||
|
@ -33,7 +34,7 @@ const AsyncWrapper = React.createClass({
|
||||||
/** A function which takes a 'callback' argument which it will call
|
/** A function which takes a 'callback' argument which it will call
|
||||||
* with the real component once it loads.
|
* with the real component once it loads.
|
||||||
*/
|
*/
|
||||||
loader: React.PropTypes.func.isRequired,
|
loader: PropTypes.func.isRequired,
|
||||||
},
|
},
|
||||||
|
|
||||||
getInitialState: function() {
|
getInitialState: function() {
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
const React = require('react');
|
const React = require('react');
|
||||||
const ReactDom = require('react-dom');
|
const ReactDom = require('react-dom');
|
||||||
|
import PropTypes from 'prop-types';
|
||||||
const Velocity = require('velocity-vector');
|
const Velocity = require('velocity-vector');
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -14,16 +15,16 @@ module.exports = React.createClass({
|
||||||
|
|
||||||
propTypes: {
|
propTypes: {
|
||||||
// either a list of child nodes, or a single child.
|
// either a list of child nodes, or a single child.
|
||||||
children: React.PropTypes.any,
|
children: PropTypes.any,
|
||||||
|
|
||||||
// optional transition information for changing existing children
|
// optional transition information for changing existing children
|
||||||
transition: React.PropTypes.object,
|
transition: PropTypes.object,
|
||||||
|
|
||||||
// a list of state objects to apply to each child node in turn
|
// a list of state objects to apply to each child node in turn
|
||||||
startStyles: React.PropTypes.array,
|
startStyles: PropTypes.array,
|
||||||
|
|
||||||
// a list of transition options from the corresponding startStyle
|
// a list of transition options from the corresponding startStyle
|
||||||
enterTransitionOpts: React.PropTypes.array,
|
enterTransitionOpts: PropTypes.array,
|
||||||
},
|
},
|
||||||
|
|
||||||
getDefaultProps: function() {
|
getDefaultProps: function() {
|
||||||
|
|
|
@ -15,6 +15,7 @@ limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
const React = require("react");
|
const React = require("react");
|
||||||
|
import PropTypes from 'prop-types';
|
||||||
import { _t } from '../../../languageHandler';
|
import { _t } from '../../../languageHandler';
|
||||||
const sdk = require('../../../index');
|
const sdk = require('../../../index');
|
||||||
const MatrixClientPeg = require("../../../MatrixClientPeg");
|
const MatrixClientPeg = require("../../../MatrixClientPeg");
|
||||||
|
@ -23,8 +24,8 @@ module.exports = React.createClass({
|
||||||
displayName: 'EncryptedEventDialog',
|
displayName: 'EncryptedEventDialog',
|
||||||
|
|
||||||
propTypes: {
|
propTypes: {
|
||||||
event: React.PropTypes.object.isRequired,
|
event: PropTypes.object.isRequired,
|
||||||
onFinished: React.PropTypes.func.isRequired,
|
onFinished: PropTypes.func.isRequired,
|
||||||
},
|
},
|
||||||
|
|
||||||
getInitialState: function() {
|
getInitialState: function() {
|
||||||
|
|
|
@ -16,6 +16,7 @@ limitations under the License.
|
||||||
|
|
||||||
import FileSaver from 'file-saver';
|
import FileSaver from 'file-saver';
|
||||||
import React from 'react';
|
import React from 'react';
|
||||||
|
import PropTypes from 'prop-types';
|
||||||
import { _t } from '../../../languageHandler';
|
import { _t } from '../../../languageHandler';
|
||||||
|
|
||||||
import * as Matrix from 'matrix-js-sdk';
|
import * as Matrix from 'matrix-js-sdk';
|
||||||
|
@ -29,8 +30,8 @@ export default React.createClass({
|
||||||
displayName: 'ExportE2eKeysDialog',
|
displayName: 'ExportE2eKeysDialog',
|
||||||
|
|
||||||
propTypes: {
|
propTypes: {
|
||||||
matrixClient: React.PropTypes.instanceOf(Matrix.MatrixClient).isRequired,
|
matrixClient: PropTypes.instanceOf(Matrix.MatrixClient).isRequired,
|
||||||
onFinished: React.PropTypes.func.isRequired,
|
onFinished: PropTypes.func.isRequired,
|
||||||
},
|
},
|
||||||
|
|
||||||
getInitialState: function() {
|
getInitialState: function() {
|
||||||
|
|
|
@ -15,6 +15,7 @@ limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import React from 'react';
|
import React from 'react';
|
||||||
|
import PropTypes from 'prop-types';
|
||||||
|
|
||||||
import * as Matrix from 'matrix-js-sdk';
|
import * as Matrix from 'matrix-js-sdk';
|
||||||
import * as MegolmExportEncryption from '../../../utils/MegolmExportEncryption';
|
import * as MegolmExportEncryption from '../../../utils/MegolmExportEncryption';
|
||||||
|
@ -40,8 +41,8 @@ export default React.createClass({
|
||||||
displayName: 'ImportE2eKeysDialog',
|
displayName: 'ImportE2eKeysDialog',
|
||||||
|
|
||||||
propTypes: {
|
propTypes: {
|
||||||
matrixClient: React.PropTypes.instanceOf(Matrix.MatrixClient).isRequired,
|
matrixClient: PropTypes.instanceOf(Matrix.MatrixClient).isRequired,
|
||||||
onFinished: React.PropTypes.func.isRequired,
|
onFinished: PropTypes.func.isRequired,
|
||||||
},
|
},
|
||||||
|
|
||||||
getInitialState: function() {
|
getInitialState: function() {
|
||||||
|
|
|
@ -15,6 +15,7 @@ limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import React from 'react';
|
import React from 'react';
|
||||||
|
import PropTypes from 'prop-types';
|
||||||
import classNames from 'classnames';
|
import classNames from 'classnames';
|
||||||
|
|
||||||
/* These were earlier stateless functional components but had to be converted
|
/* These were earlier stateless functional components but had to be converted
|
||||||
|
@ -42,10 +43,10 @@ export class TextualCompletion extends React.Component {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
TextualCompletion.propTypes = {
|
TextualCompletion.propTypes = {
|
||||||
title: React.PropTypes.string,
|
title: PropTypes.string,
|
||||||
subtitle: React.PropTypes.string,
|
subtitle: PropTypes.string,
|
||||||
description: React.PropTypes.string,
|
description: PropTypes.string,
|
||||||
className: React.PropTypes.string,
|
className: PropTypes.string,
|
||||||
};
|
};
|
||||||
|
|
||||||
export class PillCompletion extends React.Component {
|
export class PillCompletion extends React.Component {
|
||||||
|
@ -69,9 +70,9 @@ export class PillCompletion extends React.Component {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
PillCompletion.propTypes = {
|
PillCompletion.propTypes = {
|
||||||
title: React.PropTypes.string,
|
title: PropTypes.string,
|
||||||
subtitle: React.PropTypes.string,
|
subtitle: PropTypes.string,
|
||||||
description: React.PropTypes.string,
|
description: PropTypes.string,
|
||||||
initialComponent: React.PropTypes.element,
|
initialComponent: PropTypes.element,
|
||||||
className: React.PropTypes.string,
|
className: PropTypes.string,
|
||||||
};
|
};
|
||||||
|
|
|
@ -20,6 +20,7 @@ limitations under the License.
|
||||||
const classNames = require('classnames');
|
const classNames = require('classnames');
|
||||||
const React = require('react');
|
const React = require('react');
|
||||||
const ReactDOM = require('react-dom');
|
const ReactDOM = require('react-dom');
|
||||||
|
import PropTypes from 'prop-types';
|
||||||
|
|
||||||
// Shamelessly ripped off Modal.js. There's probably a better way
|
// Shamelessly ripped off Modal.js. There's probably a better way
|
||||||
// of doing reusable widgets like dialog boxes & menus where we go and
|
// of doing reusable widgets like dialog boxes & menus where we go and
|
||||||
|
@ -29,11 +30,11 @@ module.exports = {
|
||||||
ContextualMenuContainerId: "mx_ContextualMenu_Container",
|
ContextualMenuContainerId: "mx_ContextualMenu_Container",
|
||||||
|
|
||||||
propTypes: {
|
propTypes: {
|
||||||
menuWidth: React.PropTypes.number,
|
menuWidth: PropTypes.number,
|
||||||
menuHeight: React.PropTypes.number,
|
menuHeight: PropTypes.number,
|
||||||
chevronOffset: React.PropTypes.number,
|
chevronOffset: PropTypes.number,
|
||||||
menuColour: React.PropTypes.string,
|
menuColour: PropTypes.string,
|
||||||
chevronFace: React.PropTypes.string, // top, bottom, left, right
|
chevronFace: PropTypes.string, // top, bottom, left, right
|
||||||
},
|
},
|
||||||
|
|
||||||
getOrCreateContainer: function() {
|
getOrCreateContainer: function() {
|
||||||
|
|
|
@ -17,6 +17,7 @@ limitations under the License.
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
import React from 'react';
|
import React from 'react';
|
||||||
|
import PropTypes from 'prop-types';
|
||||||
import { _t } from '../../languageHandler';
|
import { _t } from '../../languageHandler';
|
||||||
import sdk from '../../index';
|
import sdk from '../../index';
|
||||||
import MatrixClientPeg from '../../MatrixClientPeg';
|
import MatrixClientPeg from '../../MatrixClientPeg';
|
||||||
|
@ -30,8 +31,8 @@ module.exports = React.createClass({
|
||||||
displayName: 'CreateRoom',
|
displayName: 'CreateRoom',
|
||||||
|
|
||||||
propTypes: {
|
propTypes: {
|
||||||
onRoomCreated: React.PropTypes.func,
|
onRoomCreated: PropTypes.func,
|
||||||
collapsedRhs: React.PropTypes.bool,
|
collapsedRhs: PropTypes.bool,
|
||||||
},
|
},
|
||||||
|
|
||||||
phases: {
|
phases: {
|
||||||
|
|
|
@ -15,6 +15,7 @@ limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import React from 'react';
|
import React from 'react';
|
||||||
|
import PropTypes from 'prop-types';
|
||||||
|
|
||||||
import Matrix from 'matrix-js-sdk';
|
import Matrix from 'matrix-js-sdk';
|
||||||
import sdk from '../../index';
|
import sdk from '../../index';
|
||||||
|
@ -28,7 +29,7 @@ const FilePanel = React.createClass({
|
||||||
displayName: 'FilePanel',
|
displayName: 'FilePanel',
|
||||||
|
|
||||||
propTypes: {
|
propTypes: {
|
||||||
roomId: React.PropTypes.string.isRequired,
|
roomId: PropTypes.string.isRequired,
|
||||||
},
|
},
|
||||||
|
|
||||||
getInitialState: function() {
|
getInitialState: function() {
|
||||||
|
|
|
@ -390,7 +390,7 @@ const FeaturedUser = React.createClass({
|
||||||
});
|
});
|
||||||
|
|
||||||
const GroupContext = {
|
const GroupContext = {
|
||||||
groupStore: React.PropTypes.instanceOf(GroupStore).isRequired,
|
groupStore: PropTypes.instanceOf(GroupStore).isRequired,
|
||||||
};
|
};
|
||||||
|
|
||||||
CategoryRoomList.contextTypes = GroupContext;
|
CategoryRoomList.contextTypes = GroupContext;
|
||||||
|
@ -408,7 +408,7 @@ export default React.createClass({
|
||||||
},
|
},
|
||||||
|
|
||||||
childContextTypes: {
|
childContextTypes: {
|
||||||
groupStore: React.PropTypes.instanceOf(GroupStore),
|
groupStore: PropTypes.instanceOf(GroupStore),
|
||||||
},
|
},
|
||||||
|
|
||||||
getChildContext: function() {
|
getChildContext: function() {
|
||||||
|
|
|
@ -18,6 +18,7 @@ import Matrix from 'matrix-js-sdk';
|
||||||
const InteractiveAuth = Matrix.InteractiveAuth;
|
const InteractiveAuth = Matrix.InteractiveAuth;
|
||||||
|
|
||||||
import React from 'react';
|
import React from 'react';
|
||||||
|
import PropTypes from 'prop-types';
|
||||||
|
|
||||||
import {getEntryComponentForLoginType} from '../views/login/InteractiveAuthEntryComponents';
|
import {getEntryComponentForLoginType} from '../views/login/InteractiveAuthEntryComponents';
|
||||||
|
|
||||||
|
@ -26,18 +27,18 @@ export default React.createClass({
|
||||||
|
|
||||||
propTypes: {
|
propTypes: {
|
||||||
// matrix client to use for UI auth requests
|
// matrix client to use for UI auth requests
|
||||||
matrixClient: React.PropTypes.object.isRequired,
|
matrixClient: PropTypes.object.isRequired,
|
||||||
|
|
||||||
// response from initial request. If not supplied, will do a request on
|
// response from initial request. If not supplied, will do a request on
|
||||||
// mount.
|
// mount.
|
||||||
authData: React.PropTypes.shape({
|
authData: PropTypes.shape({
|
||||||
flows: React.PropTypes.array,
|
flows: PropTypes.array,
|
||||||
params: React.PropTypes.object,
|
params: PropTypes.object,
|
||||||
session: React.PropTypes.string,
|
session: PropTypes.string,
|
||||||
}),
|
}),
|
||||||
|
|
||||||
// callback
|
// callback
|
||||||
makeRequest: React.PropTypes.func.isRequired,
|
makeRequest: PropTypes.func.isRequired,
|
||||||
|
|
||||||
// callback called when the auth process has finished,
|
// callback called when the auth process has finished,
|
||||||
// successfully or unsuccessfully.
|
// successfully or unsuccessfully.
|
||||||
|
@ -51,22 +52,22 @@ export default React.createClass({
|
||||||
// the auth session.
|
// the auth session.
|
||||||
// * clientSecret {string} The client secret used in auth
|
// * clientSecret {string} The client secret used in auth
|
||||||
// sessions with the ID server.
|
// sessions with the ID server.
|
||||||
onAuthFinished: React.PropTypes.func.isRequired,
|
onAuthFinished: PropTypes.func.isRequired,
|
||||||
|
|
||||||
// Inputs provided by the user to the auth process
|
// Inputs provided by the user to the auth process
|
||||||
// and used by various stages. As passed to js-sdk
|
// and used by various stages. As passed to js-sdk
|
||||||
// interactive-auth
|
// interactive-auth
|
||||||
inputs: React.PropTypes.object,
|
inputs: PropTypes.object,
|
||||||
|
|
||||||
// As js-sdk interactive-auth
|
// As js-sdk interactive-auth
|
||||||
makeRegistrationUrl: React.PropTypes.func,
|
makeRegistrationUrl: PropTypes.func,
|
||||||
sessionId: React.PropTypes.string,
|
sessionId: PropTypes.string,
|
||||||
clientSecret: React.PropTypes.string,
|
clientSecret: PropTypes.string,
|
||||||
emailSid: React.PropTypes.string,
|
emailSid: PropTypes.string,
|
||||||
|
|
||||||
// If true, poll to see if the auth flow has been completed
|
// If true, poll to see if the auth flow has been completed
|
||||||
// out-of-band
|
// out-of-band
|
||||||
poll: React.PropTypes.bool,
|
poll: PropTypes.bool,
|
||||||
},
|
},
|
||||||
|
|
||||||
getInitialState: function() {
|
getInitialState: function() {
|
||||||
|
|
|
@ -18,6 +18,7 @@ limitations under the License.
|
||||||
|
|
||||||
import * as Matrix from 'matrix-js-sdk';
|
import * as Matrix from 'matrix-js-sdk';
|
||||||
import React from 'react';
|
import React from 'react';
|
||||||
|
import PropTypes from 'prop-types';
|
||||||
import { DragDropContext } from 'react-dnd';
|
import { DragDropContext } from 'react-dnd';
|
||||||
import HTML5Backend from 'react-dnd-html5-backend';
|
import HTML5Backend from 'react-dnd-html5-backend';
|
||||||
|
|
||||||
|
@ -44,23 +45,23 @@ const LoggedInView = React.createClass({
|
||||||
displayName: 'LoggedInView',
|
displayName: 'LoggedInView',
|
||||||
|
|
||||||
propTypes: {
|
propTypes: {
|
||||||
matrixClient: React.PropTypes.instanceOf(Matrix.MatrixClient).isRequired,
|
matrixClient: PropTypes.instanceOf(Matrix.MatrixClient).isRequired,
|
||||||
page_type: React.PropTypes.string.isRequired,
|
page_type: PropTypes.string.isRequired,
|
||||||
onRoomCreated: React.PropTypes.func,
|
onRoomCreated: PropTypes.func,
|
||||||
onUserSettingsClose: React.PropTypes.func,
|
onUserSettingsClose: PropTypes.func,
|
||||||
|
|
||||||
// Called with the credentials of a registered user (if they were a ROU that
|
// Called with the credentials of a registered user (if they were a ROU that
|
||||||
// transitioned to PWLU)
|
// transitioned to PWLU)
|
||||||
onRegistered: React.PropTypes.func,
|
onRegistered: PropTypes.func,
|
||||||
|
|
||||||
teamToken: React.PropTypes.string,
|
teamToken: PropTypes.string,
|
||||||
|
|
||||||
// and lots and lots of other stuff.
|
// and lots and lots of other stuff.
|
||||||
},
|
},
|
||||||
|
|
||||||
childContextTypes: {
|
childContextTypes: {
|
||||||
matrixClient: React.PropTypes.instanceOf(Matrix.MatrixClient),
|
matrixClient: PropTypes.instanceOf(Matrix.MatrixClient),
|
||||||
authCache: React.PropTypes.object,
|
authCache: PropTypes.object,
|
||||||
},
|
},
|
||||||
|
|
||||||
getChildContext: function() {
|
getChildContext: function() {
|
||||||
|
|
|
@ -19,6 +19,7 @@ limitations under the License.
|
||||||
import Promise from 'bluebird';
|
import Promise from 'bluebird';
|
||||||
|
|
||||||
import React from 'react';
|
import React from 'react';
|
||||||
|
import PropTypes from 'prop-types';
|
||||||
import Matrix from "matrix-js-sdk";
|
import Matrix from "matrix-js-sdk";
|
||||||
|
|
||||||
import Analytics from "../../Analytics";
|
import Analytics from "../../Analytics";
|
||||||
|
@ -92,38 +93,38 @@ export default React.createClass({
|
||||||
displayName: 'MatrixChat',
|
displayName: 'MatrixChat',
|
||||||
|
|
||||||
propTypes: {
|
propTypes: {
|
||||||
config: React.PropTypes.object,
|
config: PropTypes.object,
|
||||||
ConferenceHandler: React.PropTypes.any,
|
ConferenceHandler: PropTypes.any,
|
||||||
onNewScreen: React.PropTypes.func,
|
onNewScreen: PropTypes.func,
|
||||||
registrationUrl: React.PropTypes.string,
|
registrationUrl: PropTypes.string,
|
||||||
enableGuest: React.PropTypes.bool,
|
enableGuest: PropTypes.bool,
|
||||||
|
|
||||||
// the queryParams extracted from the [real] query-string of the URI
|
// the queryParams extracted from the [real] query-string of the URI
|
||||||
realQueryParams: React.PropTypes.object,
|
realQueryParams: PropTypes.object,
|
||||||
|
|
||||||
// the initial queryParams extracted from the hash-fragment of the URI
|
// the initial queryParams extracted from the hash-fragment of the URI
|
||||||
startingFragmentQueryParams: React.PropTypes.object,
|
startingFragmentQueryParams: PropTypes.object,
|
||||||
|
|
||||||
// called when we have completed a token login
|
// called when we have completed a token login
|
||||||
onTokenLoginCompleted: React.PropTypes.func,
|
onTokenLoginCompleted: PropTypes.func,
|
||||||
|
|
||||||
// Represents the screen to display as a result of parsing the initial
|
// Represents the screen to display as a result of parsing the initial
|
||||||
// window.location
|
// window.location
|
||||||
initialScreenAfterLogin: React.PropTypes.shape({
|
initialScreenAfterLogin: PropTypes.shape({
|
||||||
screen: React.PropTypes.string.isRequired,
|
screen: PropTypes.string.isRequired,
|
||||||
params: React.PropTypes.object,
|
params: PropTypes.object,
|
||||||
}),
|
}),
|
||||||
|
|
||||||
// displayname, if any, to set on the device when logging
|
// displayname, if any, to set on the device when logging
|
||||||
// in/registering.
|
// in/registering.
|
||||||
defaultDeviceDisplayName: React.PropTypes.string,
|
defaultDeviceDisplayName: PropTypes.string,
|
||||||
|
|
||||||
// A function that makes a registration URL
|
// A function that makes a registration URL
|
||||||
makeRegistrationUrl: React.PropTypes.func.isRequired,
|
makeRegistrationUrl: PropTypes.func.isRequired,
|
||||||
},
|
},
|
||||||
|
|
||||||
childContextTypes: {
|
childContextTypes: {
|
||||||
appConfig: React.PropTypes.object,
|
appConfig: PropTypes.object,
|
||||||
},
|
},
|
||||||
|
|
||||||
AuxPanel: {
|
AuxPanel: {
|
||||||
|
|
|
@ -16,6 +16,7 @@ limitations under the License.
|
||||||
|
|
||||||
import React from 'react';
|
import React from 'react';
|
||||||
import ReactDOM from 'react-dom';
|
import ReactDOM from 'react-dom';
|
||||||
|
import PropTypes from 'prop-types';
|
||||||
import classNames from 'classnames';
|
import classNames from 'classnames';
|
||||||
import shouldHideEvent from '../../shouldHideEvent';
|
import shouldHideEvent from '../../shouldHideEvent';
|
||||||
import dis from "../../dispatcher";
|
import dis from "../../dispatcher";
|
||||||
|
@ -32,63 +33,63 @@ module.exports = React.createClass({
|
||||||
|
|
||||||
propTypes: {
|
propTypes: {
|
||||||
// true to give the component a 'display: none' style.
|
// true to give the component a 'display: none' style.
|
||||||
hidden: React.PropTypes.bool,
|
hidden: PropTypes.bool,
|
||||||
|
|
||||||
// true to show a spinner at the top of the timeline to indicate
|
// true to show a spinner at the top of the timeline to indicate
|
||||||
// back-pagination in progress
|
// back-pagination in progress
|
||||||
backPaginating: React.PropTypes.bool,
|
backPaginating: PropTypes.bool,
|
||||||
|
|
||||||
// true to show a spinner at the end of the timeline to indicate
|
// true to show a spinner at the end of the timeline to indicate
|
||||||
// forward-pagination in progress
|
// forward-pagination in progress
|
||||||
forwardPaginating: React.PropTypes.bool,
|
forwardPaginating: PropTypes.bool,
|
||||||
|
|
||||||
// the list of MatrixEvents to display
|
// the list of MatrixEvents to display
|
||||||
events: React.PropTypes.array.isRequired,
|
events: PropTypes.array.isRequired,
|
||||||
|
|
||||||
// ID of an event to highlight. If undefined, no event will be highlighted.
|
// ID of an event to highlight. If undefined, no event will be highlighted.
|
||||||
highlightedEventId: React.PropTypes.string,
|
highlightedEventId: PropTypes.string,
|
||||||
|
|
||||||
// Should we show URL Previews
|
// Should we show URL Previews
|
||||||
showUrlPreview: React.PropTypes.bool,
|
showUrlPreview: PropTypes.bool,
|
||||||
|
|
||||||
// event after which we should show a read marker
|
// event after which we should show a read marker
|
||||||
readMarkerEventId: React.PropTypes.string,
|
readMarkerEventId: PropTypes.string,
|
||||||
|
|
||||||
// whether the read marker should be visible
|
// whether the read marker should be visible
|
||||||
readMarkerVisible: React.PropTypes.bool,
|
readMarkerVisible: PropTypes.bool,
|
||||||
|
|
||||||
// the userid of our user. This is used to suppress the read marker
|
// the userid of our user. This is used to suppress the read marker
|
||||||
// for pending messages.
|
// for pending messages.
|
||||||
ourUserId: React.PropTypes.string,
|
ourUserId: PropTypes.string,
|
||||||
|
|
||||||
// true to suppress the date at the start of the timeline
|
// true to suppress the date at the start of the timeline
|
||||||
suppressFirstDateSeparator: React.PropTypes.bool,
|
suppressFirstDateSeparator: PropTypes.bool,
|
||||||
|
|
||||||
// whether to show read receipts
|
// whether to show read receipts
|
||||||
showReadReceipts: React.PropTypes.bool,
|
showReadReceipts: PropTypes.bool,
|
||||||
|
|
||||||
// true if updates to the event list should cause the scroll panel to
|
// true if updates to the event list should cause the scroll panel to
|
||||||
// scroll down when we are at the bottom of the window. See ScrollPanel
|
// scroll down when we are at the bottom of the window. See ScrollPanel
|
||||||
// for more details.
|
// for more details.
|
||||||
stickyBottom: React.PropTypes.bool,
|
stickyBottom: PropTypes.bool,
|
||||||
|
|
||||||
// callback which is called when the panel is scrolled.
|
// callback which is called when the panel is scrolled.
|
||||||
onScroll: React.PropTypes.func,
|
onScroll: PropTypes.func,
|
||||||
|
|
||||||
// callback which is called when more content is needed.
|
// callback which is called when more content is needed.
|
||||||
onFillRequest: React.PropTypes.func,
|
onFillRequest: PropTypes.func,
|
||||||
|
|
||||||
// className for the panel
|
// className for the panel
|
||||||
className: React.PropTypes.string.isRequired,
|
className: PropTypes.string.isRequired,
|
||||||
|
|
||||||
// shape parameter to be passed to EventTiles
|
// shape parameter to be passed to EventTiles
|
||||||
tileShape: React.PropTypes.string,
|
tileShape: PropTypes.string,
|
||||||
|
|
||||||
// show twelve hour timestamps
|
// show twelve hour timestamps
|
||||||
isTwelveHour: React.PropTypes.bool,
|
isTwelveHour: PropTypes.bool,
|
||||||
|
|
||||||
// show timestamps always
|
// show timestamps always
|
||||||
alwaysShowTimestamps: React.PropTypes.bool,
|
alwaysShowTimestamps: PropTypes.bool,
|
||||||
},
|
},
|
||||||
|
|
||||||
componentWillMount: function() {
|
componentWillMount: function() {
|
||||||
|
|
|
@ -15,6 +15,7 @@ limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import React from 'react';
|
import React from 'react';
|
||||||
|
import PropTypes from 'prop-types';
|
||||||
import GeminiScrollbar from 'react-gemini-scrollbar';
|
import GeminiScrollbar from 'react-gemini-scrollbar';
|
||||||
import sdk from '../../index';
|
import sdk from '../../index';
|
||||||
import { _t } from '../../languageHandler';
|
import { _t } from '../../languageHandler';
|
||||||
|
@ -26,7 +27,7 @@ export default withMatrixClient(React.createClass({
|
||||||
displayName: 'MyGroups',
|
displayName: 'MyGroups',
|
||||||
|
|
||||||
propTypes: {
|
propTypes: {
|
||||||
matrixClient: React.PropTypes.object.isRequired,
|
matrixClient: PropTypes.object.isRequired,
|
||||||
},
|
},
|
||||||
|
|
||||||
getInitialState: function() {
|
getInitialState: function() {
|
||||||
|
|
|
@ -16,6 +16,7 @@ limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import React from 'react';
|
import React from 'react';
|
||||||
|
import PropTypes from 'prop-types';
|
||||||
import Matrix from 'matrix-js-sdk';
|
import Matrix from 'matrix-js-sdk';
|
||||||
import { _t } from '../../languageHandler';
|
import { _t } from '../../languageHandler';
|
||||||
import sdk from '../../index';
|
import sdk from '../../index';
|
||||||
|
@ -41,59 +42,59 @@ module.exports = React.createClass({
|
||||||
|
|
||||||
propTypes: {
|
propTypes: {
|
||||||
// the room this statusbar is representing.
|
// the room this statusbar is representing.
|
||||||
room: React.PropTypes.object.isRequired,
|
room: PropTypes.object.isRequired,
|
||||||
|
|
||||||
// the number of messages which have arrived since we've been scrolled up
|
// the number of messages which have arrived since we've been scrolled up
|
||||||
numUnreadMessages: React.PropTypes.number,
|
numUnreadMessages: PropTypes.number,
|
||||||
|
|
||||||
// this is true if we are fully scrolled-down, and are looking at
|
// this is true if we are fully scrolled-down, and are looking at
|
||||||
// the end of the live timeline.
|
// the end of the live timeline.
|
||||||
atEndOfLiveTimeline: React.PropTypes.bool,
|
atEndOfLiveTimeline: PropTypes.bool,
|
||||||
|
|
||||||
// This is true when the user is alone in the room, but has also sent a message.
|
// This is true when the user is alone in the room, but has also sent a message.
|
||||||
// Used to suggest to the user to invite someone
|
// Used to suggest to the user to invite someone
|
||||||
sentMessageAndIsAlone: React.PropTypes.bool,
|
sentMessageAndIsAlone: PropTypes.bool,
|
||||||
|
|
||||||
// true if there is an active call in this room (means we show
|
// true if there is an active call in this room (means we show
|
||||||
// the 'Active Call' text in the status bar if there is nothing
|
// the 'Active Call' text in the status bar if there is nothing
|
||||||
// more interesting)
|
// more interesting)
|
||||||
hasActiveCall: React.PropTypes.bool,
|
hasActiveCall: PropTypes.bool,
|
||||||
|
|
||||||
// Number of names to display in typing indication. E.g. set to 3, will
|
// Number of names to display in typing indication. E.g. set to 3, will
|
||||||
// result in "X, Y, Z and 100 others are typing."
|
// result in "X, Y, Z and 100 others are typing."
|
||||||
whoIsTypingLimit: React.PropTypes.number,
|
whoIsTypingLimit: PropTypes.number,
|
||||||
|
|
||||||
// callback for when the user clicks on the 'resend all' button in the
|
// callback for when the user clicks on the 'resend all' button in the
|
||||||
// 'unsent messages' bar
|
// 'unsent messages' bar
|
||||||
onResendAllClick: React.PropTypes.func,
|
onResendAllClick: PropTypes.func,
|
||||||
|
|
||||||
// callback for when the user clicks on the 'cancel all' button in the
|
// callback for when the user clicks on the 'cancel all' button in the
|
||||||
// 'unsent messages' bar
|
// 'unsent messages' bar
|
||||||
onCancelAllClick: React.PropTypes.func,
|
onCancelAllClick: PropTypes.func,
|
||||||
|
|
||||||
// callback for when the user clicks on the 'invite others' button in the
|
// callback for when the user clicks on the 'invite others' button in the
|
||||||
// 'you are alone' bar
|
// 'you are alone' bar
|
||||||
onInviteClick: React.PropTypes.func,
|
onInviteClick: PropTypes.func,
|
||||||
|
|
||||||
// callback for when the user clicks on the 'stop warning me' button in the
|
// callback for when the user clicks on the 'stop warning me' button in the
|
||||||
// 'you are alone' bar
|
// 'you are alone' bar
|
||||||
onStopWarningClick: React.PropTypes.func,
|
onStopWarningClick: PropTypes.func,
|
||||||
|
|
||||||
// callback for when the user clicks on the 'scroll to bottom' button
|
// callback for when the user clicks on the 'scroll to bottom' button
|
||||||
onScrollToBottomClick: React.PropTypes.func,
|
onScrollToBottomClick: PropTypes.func,
|
||||||
|
|
||||||
// callback for when we do something that changes the size of the
|
// callback for when we do something that changes the size of the
|
||||||
// status bar. This is used to trigger a re-layout in the parent
|
// status bar. This is used to trigger a re-layout in the parent
|
||||||
// component.
|
// component.
|
||||||
onResize: React.PropTypes.func,
|
onResize: PropTypes.func,
|
||||||
|
|
||||||
// callback for when the status bar can be hidden from view, as it is
|
// callback for when the status bar can be hidden from view, as it is
|
||||||
// not displaying anything
|
// not displaying anything
|
||||||
onHidden: React.PropTypes.func,
|
onHidden: PropTypes.func,
|
||||||
|
|
||||||
// callback for when the status bar is displaying something and should
|
// callback for when the status bar is displaying something and should
|
||||||
// be visible
|
// be visible
|
||||||
onVisible: React.PropTypes.func,
|
onVisible: PropTypes.func,
|
||||||
},
|
},
|
||||||
|
|
||||||
getDefaultProps: function() {
|
getDefaultProps: function() {
|
||||||
|
|
|
@ -24,6 +24,7 @@ import shouldHideEvent from "../../shouldHideEvent";
|
||||||
|
|
||||||
const React = require("react");
|
const React = require("react");
|
||||||
const ReactDOM = require("react-dom");
|
const ReactDOM = require("react-dom");
|
||||||
|
import PropTypes from 'prop-types';
|
||||||
import Promise from 'bluebird';
|
import Promise from 'bluebird';
|
||||||
const classNames = require("classnames");
|
const classNames = require("classnames");
|
||||||
import { _t } from '../../languageHandler';
|
import { _t } from '../../languageHandler';
|
||||||
|
@ -58,18 +59,18 @@ if (DEBUG) {
|
||||||
module.exports = React.createClass({
|
module.exports = React.createClass({
|
||||||
displayName: 'RoomView',
|
displayName: 'RoomView',
|
||||||
propTypes: {
|
propTypes: {
|
||||||
ConferenceHandler: React.PropTypes.any,
|
ConferenceHandler: PropTypes.any,
|
||||||
|
|
||||||
// Called with the credentials of a registered user (if they were a ROU that
|
// Called with the credentials of a registered user (if they were a ROU that
|
||||||
// transitioned to PWLU)
|
// transitioned to PWLU)
|
||||||
onRegistered: React.PropTypes.func,
|
onRegistered: PropTypes.func,
|
||||||
|
|
||||||
// An object representing a third party invite to join this room
|
// An object representing a third party invite to join this room
|
||||||
// Fields:
|
// Fields:
|
||||||
// * inviteSignUrl (string) The URL used to join this room from an email invite
|
// * inviteSignUrl (string) The URL used to join this room from an email invite
|
||||||
// (given as part of the link in the invite email)
|
// (given as part of the link in the invite email)
|
||||||
// * invitedEmail (string) The email address that was invited to this room
|
// * invitedEmail (string) The email address that was invited to this room
|
||||||
thirdPartyInvite: React.PropTypes.object,
|
thirdPartyInvite: PropTypes.object,
|
||||||
|
|
||||||
// Any data about the room that would normally come from the Home Server
|
// Any data about the room that would normally come from the Home Server
|
||||||
// but has been passed out-of-band, eg. the room name and avatar URL
|
// but has been passed out-of-band, eg. the room name and avatar URL
|
||||||
|
@ -80,10 +81,10 @@ module.exports = React.createClass({
|
||||||
// * avatarUrl (string) The mxc:// avatar URL for the room
|
// * avatarUrl (string) The mxc:// avatar URL for the room
|
||||||
// * inviterName (string) The display name of the person who
|
// * inviterName (string) The display name of the person who
|
||||||
// * invited us tovthe room
|
// * invited us tovthe room
|
||||||
oobData: React.PropTypes.object,
|
oobData: PropTypes.object,
|
||||||
|
|
||||||
// is the RightPanel collapsed?
|
// is the RightPanel collapsed?
|
||||||
collapsedRhs: React.PropTypes.bool,
|
collapsedRhs: PropTypes.bool,
|
||||||
},
|
},
|
||||||
|
|
||||||
getInitialState: function() {
|
getInitialState: function() {
|
||||||
|
|
|
@ -16,6 +16,7 @@ limitations under the License.
|
||||||
|
|
||||||
const React = require("react");
|
const React = require("react");
|
||||||
const ReactDOM = require("react-dom");
|
const ReactDOM = require("react-dom");
|
||||||
|
import PropTypes from 'prop-types';
|
||||||
const GeminiScrollbar = require('react-gemini-scrollbar');
|
const GeminiScrollbar = require('react-gemini-scrollbar');
|
||||||
import Promise from 'bluebird';
|
import Promise from 'bluebird';
|
||||||
import { KeyCode } from '../../Keyboard';
|
import { KeyCode } from '../../Keyboard';
|
||||||
|
@ -86,7 +87,7 @@ module.exports = React.createClass({
|
||||||
* scroll down to show the new element, rather than preserving the
|
* scroll down to show the new element, rather than preserving the
|
||||||
* existing view.
|
* existing view.
|
||||||
*/
|
*/
|
||||||
stickyBottom: React.PropTypes.bool,
|
stickyBottom: PropTypes.bool,
|
||||||
|
|
||||||
/* startAtBottom: if set to true, the view is assumed to start
|
/* startAtBottom: if set to true, the view is assumed to start
|
||||||
* scrolled to the bottom.
|
* scrolled to the bottom.
|
||||||
|
@ -95,7 +96,7 @@ module.exports = React.createClass({
|
||||||
* behaviour stays the same for other uses of ScrollPanel.
|
* behaviour stays the same for other uses of ScrollPanel.
|
||||||
* If so, let's remove this parameter down the line.
|
* If so, let's remove this parameter down the line.
|
||||||
*/
|
*/
|
||||||
startAtBottom: React.PropTypes.bool,
|
startAtBottom: PropTypes.bool,
|
||||||
|
|
||||||
/* onFillRequest(backwards): a callback which is called on scroll when
|
/* onFillRequest(backwards): a callback which is called on scroll when
|
||||||
* the user nears the start (backwards = true) or end (backwards =
|
* the user nears the start (backwards = true) or end (backwards =
|
||||||
|
@ -110,7 +111,7 @@ module.exports = React.createClass({
|
||||||
* directon (at this time) - which will stop the pagination cycle until
|
* directon (at this time) - which will stop the pagination cycle until
|
||||||
* the user scrolls again.
|
* the user scrolls again.
|
||||||
*/
|
*/
|
||||||
onFillRequest: React.PropTypes.func,
|
onFillRequest: PropTypes.func,
|
||||||
|
|
||||||
/* onUnfillRequest(backwards): a callback which is called on scroll when
|
/* onUnfillRequest(backwards): a callback which is called on scroll when
|
||||||
* there are children elements that are far out of view and could be removed
|
* there are children elements that are far out of view and could be removed
|
||||||
|
@ -121,24 +122,24 @@ module.exports = React.createClass({
|
||||||
* first element to remove if removing from the front/bottom, and last element
|
* first element to remove if removing from the front/bottom, and last element
|
||||||
* to remove if removing from the back/top.
|
* to remove if removing from the back/top.
|
||||||
*/
|
*/
|
||||||
onUnfillRequest: React.PropTypes.func,
|
onUnfillRequest: PropTypes.func,
|
||||||
|
|
||||||
/* onScroll: a callback which is called whenever any scroll happens.
|
/* onScroll: a callback which is called whenever any scroll happens.
|
||||||
*/
|
*/
|
||||||
onScroll: React.PropTypes.func,
|
onScroll: PropTypes.func,
|
||||||
|
|
||||||
/* onResize: a callback which is called whenever the Gemini scroll
|
/* onResize: a callback which is called whenever the Gemini scroll
|
||||||
* panel is resized
|
* panel is resized
|
||||||
*/
|
*/
|
||||||
onResize: React.PropTypes.func,
|
onResize: PropTypes.func,
|
||||||
|
|
||||||
/* className: classnames to add to the top-level div
|
/* className: classnames to add to the top-level div
|
||||||
*/
|
*/
|
||||||
className: React.PropTypes.string,
|
className: PropTypes.string,
|
||||||
|
|
||||||
/* style: styles to add to the top-level div
|
/* style: styles to add to the top-level div
|
||||||
*/
|
*/
|
||||||
style: React.PropTypes.object,
|
style: PropTypes.object,
|
||||||
},
|
},
|
||||||
|
|
||||||
getDefaultProps: function() {
|
getDefaultProps: function() {
|
||||||
|
|
|
@ -19,6 +19,7 @@ import SettingsStore from "../../settings/SettingsStore";
|
||||||
|
|
||||||
const React = require('react');
|
const React = require('react');
|
||||||
const ReactDOM = require("react-dom");
|
const ReactDOM = require("react-dom");
|
||||||
|
import PropTypes from 'prop-types';
|
||||||
import Promise from 'bluebird';
|
import Promise from 'bluebird';
|
||||||
|
|
||||||
const Matrix = require("matrix-js-sdk");
|
const Matrix = require("matrix-js-sdk");
|
||||||
|
@ -58,49 +59,49 @@ var TimelinePanel = React.createClass({
|
||||||
// representing. This may or may not have a room, depending on what it's
|
// representing. This may or may not have a room, depending on what it's
|
||||||
// a timeline representing. If it has a room, we maintain RRs etc for
|
// a timeline representing. If it has a room, we maintain RRs etc for
|
||||||
// that room.
|
// that room.
|
||||||
timelineSet: React.PropTypes.object.isRequired,
|
timelineSet: PropTypes.object.isRequired,
|
||||||
|
|
||||||
showReadReceipts: React.PropTypes.bool,
|
showReadReceipts: PropTypes.bool,
|
||||||
// Enable managing RRs and RMs. These require the timelineSet to have a room.
|
// Enable managing RRs and RMs. These require the timelineSet to have a room.
|
||||||
manageReadReceipts: React.PropTypes.bool,
|
manageReadReceipts: PropTypes.bool,
|
||||||
manageReadMarkers: React.PropTypes.bool,
|
manageReadMarkers: PropTypes.bool,
|
||||||
|
|
||||||
// true to give the component a 'display: none' style.
|
// true to give the component a 'display: none' style.
|
||||||
hidden: React.PropTypes.bool,
|
hidden: PropTypes.bool,
|
||||||
|
|
||||||
// ID of an event to highlight. If undefined, no event will be highlighted.
|
// ID of an event to highlight. If undefined, no event will be highlighted.
|
||||||
// typically this will be either 'eventId' or undefined.
|
// typically this will be either 'eventId' or undefined.
|
||||||
highlightedEventId: React.PropTypes.string,
|
highlightedEventId: PropTypes.string,
|
||||||
|
|
||||||
// id of an event to jump to. If not given, will go to the end of the
|
// id of an event to jump to. If not given, will go to the end of the
|
||||||
// live timeline.
|
// live timeline.
|
||||||
eventId: React.PropTypes.string,
|
eventId: PropTypes.string,
|
||||||
|
|
||||||
// where to position the event given by eventId, in pixels from the
|
// where to position the event given by eventId, in pixels from the
|
||||||
// bottom of the viewport. If not given, will try to put the event
|
// bottom of the viewport. If not given, will try to put the event
|
||||||
// half way down the viewport.
|
// half way down the viewport.
|
||||||
eventPixelOffset: React.PropTypes.number,
|
eventPixelOffset: PropTypes.number,
|
||||||
|
|
||||||
// Should we show URL Previews
|
// Should we show URL Previews
|
||||||
showUrlPreview: React.PropTypes.bool,
|
showUrlPreview: PropTypes.bool,
|
||||||
|
|
||||||
// callback which is called when the panel is scrolled.
|
// callback which is called when the panel is scrolled.
|
||||||
onScroll: React.PropTypes.func,
|
onScroll: PropTypes.func,
|
||||||
|
|
||||||
// callback which is called when the read-up-to mark is updated.
|
// callback which is called when the read-up-to mark is updated.
|
||||||
onReadMarkerUpdated: React.PropTypes.func,
|
onReadMarkerUpdated: PropTypes.func,
|
||||||
|
|
||||||
// maximum number of events to show in a timeline
|
// maximum number of events to show in a timeline
|
||||||
timelineCap: React.PropTypes.number,
|
timelineCap: PropTypes.number,
|
||||||
|
|
||||||
// classname to use for the messagepanel
|
// classname to use for the messagepanel
|
||||||
className: React.PropTypes.string,
|
className: PropTypes.string,
|
||||||
|
|
||||||
// shape property to be passed to EventTiles
|
// shape property to be passed to EventTiles
|
||||||
tileShape: React.PropTypes.string,
|
tileShape: PropTypes.string,
|
||||||
|
|
||||||
// placeholder text to use if the timeline is empty
|
// placeholder text to use if the timeline is empty
|
||||||
empty: React.PropTypes.string,
|
empty: PropTypes.string,
|
||||||
},
|
},
|
||||||
|
|
||||||
statics: {
|
statics: {
|
||||||
|
|
|
@ -15,6 +15,7 @@ limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
const React = require('react');
|
const React = require('react');
|
||||||
|
import PropTypes from 'prop-types';
|
||||||
const ContentMessages = require('../../ContentMessages');
|
const ContentMessages = require('../../ContentMessages');
|
||||||
const dis = require('../../dispatcher');
|
const dis = require('../../dispatcher');
|
||||||
const filesize = require('filesize');
|
const filesize = require('filesize');
|
||||||
|
@ -22,7 +23,7 @@ import { _t } from '../../languageHandler';
|
||||||
|
|
||||||
module.exports = React.createClass({displayName: 'UploadBar',
|
module.exports = React.createClass({displayName: 'UploadBar',
|
||||||
propTypes: {
|
propTypes: {
|
||||||
room: React.PropTypes.object,
|
room: PropTypes.object,
|
||||||
},
|
},
|
||||||
|
|
||||||
componentDidMount: function() {
|
componentDidMount: function() {
|
||||||
|
|
|
@ -19,6 +19,7 @@ import SettingsStore, {SettingLevel} from "../../settings/SettingsStore";
|
||||||
|
|
||||||
const React = require('react');
|
const React = require('react');
|
||||||
const ReactDOM = require('react-dom');
|
const ReactDOM = require('react-dom');
|
||||||
|
import PropTypes from 'prop-types';
|
||||||
const sdk = require('../../index');
|
const sdk = require('../../index');
|
||||||
const MatrixClientPeg = require("../../MatrixClientPeg");
|
const MatrixClientPeg = require("../../MatrixClientPeg");
|
||||||
const PlatformPeg = require("../../PlatformPeg");
|
const PlatformPeg = require("../../PlatformPeg");
|
||||||
|
@ -125,8 +126,8 @@ const THEMES = [
|
||||||
|
|
||||||
const IgnoredUser = React.createClass({
|
const IgnoredUser = React.createClass({
|
||||||
propTypes: {
|
propTypes: {
|
||||||
userId: React.PropTypes.string.isRequired,
|
userId: PropTypes.string.isRequired,
|
||||||
onUnignored: React.PropTypes.func.isRequired,
|
onUnignored: PropTypes.func.isRequired,
|
||||||
},
|
},
|
||||||
|
|
||||||
_onUnignoreClick: function() {
|
_onUnignoreClick: function() {
|
||||||
|
@ -155,16 +156,16 @@ module.exports = React.createClass({
|
||||||
displayName: 'UserSettings',
|
displayName: 'UserSettings',
|
||||||
|
|
||||||
propTypes: {
|
propTypes: {
|
||||||
onClose: React.PropTypes.func,
|
onClose: PropTypes.func,
|
||||||
// The brand string given when creating email pushers
|
// The brand string given when creating email pushers
|
||||||
brand: React.PropTypes.string,
|
brand: PropTypes.string,
|
||||||
|
|
||||||
// The base URL to use in the referral link. Defaults to window.location.origin.
|
// The base URL to use in the referral link. Defaults to window.location.origin.
|
||||||
referralBaseUrl: React.PropTypes.string,
|
referralBaseUrl: PropTypes.string,
|
||||||
|
|
||||||
// Team token for the referral link. If falsy, the referral section will
|
// Team token for the referral link. If falsy, the referral section will
|
||||||
// not appear
|
// not appear
|
||||||
teamToken: React.PropTypes.string,
|
teamToken: PropTypes.string,
|
||||||
},
|
},
|
||||||
|
|
||||||
getDefaultProps: function() {
|
getDefaultProps: function() {
|
||||||
|
|
|
@ -18,6 +18,7 @@ limitations under the License.
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
import React from 'react';
|
import React from 'react';
|
||||||
|
import PropTypes from 'prop-types';
|
||||||
import { _t } from '../../../languageHandler';
|
import { _t } from '../../../languageHandler';
|
||||||
import sdk from '../../../index';
|
import sdk from '../../../index';
|
||||||
import Modal from "../../../Modal";
|
import Modal from "../../../Modal";
|
||||||
|
@ -29,13 +30,13 @@ module.exports = React.createClass({
|
||||||
displayName: 'ForgotPassword',
|
displayName: 'ForgotPassword',
|
||||||
|
|
||||||
propTypes: {
|
propTypes: {
|
||||||
defaultHsUrl: React.PropTypes.string,
|
defaultHsUrl: PropTypes.string,
|
||||||
defaultIsUrl: React.PropTypes.string,
|
defaultIsUrl: PropTypes.string,
|
||||||
customHsUrl: React.PropTypes.string,
|
customHsUrl: PropTypes.string,
|
||||||
customIsUrl: React.PropTypes.string,
|
customIsUrl: PropTypes.string,
|
||||||
onLoginClick: React.PropTypes.func,
|
onLoginClick: PropTypes.func,
|
||||||
onRegisterClick: React.PropTypes.func,
|
onRegisterClick: PropTypes.func,
|
||||||
onComplete: React.PropTypes.func.isRequired,
|
onComplete: PropTypes.func.isRequired,
|
||||||
},
|
},
|
||||||
|
|
||||||
getInitialState: function() {
|
getInitialState: function() {
|
||||||
|
|
|
@ -18,6 +18,7 @@ limitations under the License.
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
import React from 'react';
|
import React from 'react';
|
||||||
|
import PropTypes from 'prop-types';
|
||||||
import { _t } from '../../../languageHandler';
|
import { _t } from '../../../languageHandler';
|
||||||
import * as languageHandler from '../../../languageHandler';
|
import * as languageHandler from '../../../languageHandler';
|
||||||
import sdk from '../../../index';
|
import sdk from '../../../index';
|
||||||
|
@ -36,27 +37,27 @@ module.exports = React.createClass({
|
||||||
displayName: 'Login',
|
displayName: 'Login',
|
||||||
|
|
||||||
propTypes: {
|
propTypes: {
|
||||||
onLoggedIn: React.PropTypes.func.isRequired,
|
onLoggedIn: PropTypes.func.isRequired,
|
||||||
|
|
||||||
enableGuest: React.PropTypes.bool,
|
enableGuest: PropTypes.bool,
|
||||||
|
|
||||||
customHsUrl: React.PropTypes.string,
|
customHsUrl: PropTypes.string,
|
||||||
customIsUrl: React.PropTypes.string,
|
customIsUrl: PropTypes.string,
|
||||||
defaultHsUrl: React.PropTypes.string,
|
defaultHsUrl: PropTypes.string,
|
||||||
defaultIsUrl: React.PropTypes.string,
|
defaultIsUrl: PropTypes.string,
|
||||||
// Secondary HS which we try to log into if the user is using
|
// Secondary HS which we try to log into if the user is using
|
||||||
// the default HS but login fails. Useful for migrating to a
|
// the default HS but login fails. Useful for migrating to a
|
||||||
// different home server without confusing users.
|
// different home server without confusing users.
|
||||||
fallbackHsUrl: React.PropTypes.string,
|
fallbackHsUrl: PropTypes.string,
|
||||||
|
|
||||||
defaultDeviceDisplayName: React.PropTypes.string,
|
defaultDeviceDisplayName: PropTypes.string,
|
||||||
|
|
||||||
// login shouldn't know or care how registration is done.
|
// login shouldn't know or care how registration is done.
|
||||||
onRegisterClick: React.PropTypes.func.isRequired,
|
onRegisterClick: PropTypes.func.isRequired,
|
||||||
|
|
||||||
// login shouldn't care how password recovery is done.
|
// login shouldn't care how password recovery is done.
|
||||||
onForgotPasswordClick: React.PropTypes.func,
|
onForgotPasswordClick: PropTypes.func,
|
||||||
onCancelClick: React.PropTypes.func,
|
onCancelClick: PropTypes.func,
|
||||||
},
|
},
|
||||||
|
|
||||||
getInitialState: function() {
|
getInitialState: function() {
|
||||||
|
|
|
@ -17,6 +17,7 @@ limitations under the License.
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
import React from 'react';
|
import React from 'react';
|
||||||
|
import PropTypes from 'prop-types';
|
||||||
import sdk from '../../../index';
|
import sdk from '../../../index';
|
||||||
import MatrixClientPeg from '../../../MatrixClientPeg';
|
import MatrixClientPeg from '../../../MatrixClientPeg';
|
||||||
import { _t } from '../../../languageHandler';
|
import { _t } from '../../../languageHandler';
|
||||||
|
@ -25,7 +26,7 @@ module.exports = React.createClass({
|
||||||
displayName: 'PostRegistration',
|
displayName: 'PostRegistration',
|
||||||
|
|
||||||
propTypes: {
|
propTypes: {
|
||||||
onComplete: React.PropTypes.func.isRequired,
|
onComplete: PropTypes.func.isRequired,
|
||||||
},
|
},
|
||||||
|
|
||||||
getInitialState: function() {
|
getInitialState: function() {
|
||||||
|
|
|
@ -19,6 +19,7 @@ import Matrix from 'matrix-js-sdk';
|
||||||
|
|
||||||
import Promise from 'bluebird';
|
import Promise from 'bluebird';
|
||||||
import React from 'react';
|
import React from 'react';
|
||||||
|
import PropTypes from 'prop-types';
|
||||||
|
|
||||||
import sdk from '../../../index';
|
import sdk from '../../../index';
|
||||||
import ServerConfig from '../../views/login/ServerConfig';
|
import ServerConfig from '../../views/login/ServerConfig';
|
||||||
|
@ -35,31 +36,31 @@ module.exports = React.createClass({
|
||||||
displayName: 'Registration',
|
displayName: 'Registration',
|
||||||
|
|
||||||
propTypes: {
|
propTypes: {
|
||||||
onLoggedIn: React.PropTypes.func.isRequired,
|
onLoggedIn: PropTypes.func.isRequired,
|
||||||
clientSecret: React.PropTypes.string,
|
clientSecret: PropTypes.string,
|
||||||
sessionId: React.PropTypes.string,
|
sessionId: PropTypes.string,
|
||||||
makeRegistrationUrl: React.PropTypes.func.isRequired,
|
makeRegistrationUrl: PropTypes.func.isRequired,
|
||||||
idSid: React.PropTypes.string,
|
idSid: PropTypes.string,
|
||||||
customHsUrl: React.PropTypes.string,
|
customHsUrl: PropTypes.string,
|
||||||
customIsUrl: React.PropTypes.string,
|
customIsUrl: PropTypes.string,
|
||||||
defaultHsUrl: React.PropTypes.string,
|
defaultHsUrl: PropTypes.string,
|
||||||
defaultIsUrl: React.PropTypes.string,
|
defaultIsUrl: PropTypes.string,
|
||||||
brand: React.PropTypes.string,
|
brand: PropTypes.string,
|
||||||
email: React.PropTypes.string,
|
email: PropTypes.string,
|
||||||
referrer: React.PropTypes.string,
|
referrer: PropTypes.string,
|
||||||
teamServerConfig: React.PropTypes.shape({
|
teamServerConfig: PropTypes.shape({
|
||||||
// Email address to request new teams
|
// Email address to request new teams
|
||||||
supportEmail: React.PropTypes.string.isRequired,
|
supportEmail: PropTypes.string.isRequired,
|
||||||
// URL of the riot-team-server to get team configurations and track referrals
|
// URL of the riot-team-server to get team configurations and track referrals
|
||||||
teamServerURL: React.PropTypes.string.isRequired,
|
teamServerURL: PropTypes.string.isRequired,
|
||||||
}),
|
}),
|
||||||
teamSelected: React.PropTypes.object,
|
teamSelected: PropTypes.object,
|
||||||
|
|
||||||
defaultDeviceDisplayName: React.PropTypes.string,
|
defaultDeviceDisplayName: PropTypes.string,
|
||||||
|
|
||||||
// registration shouldn't know or care how login is done.
|
// registration shouldn't know or care how login is done.
|
||||||
onLoginClick: React.PropTypes.func.isRequired,
|
onLoginClick: PropTypes.func.isRequired,
|
||||||
onCancelClick: React.PropTypes.func,
|
onCancelClick: PropTypes.func,
|
||||||
},
|
},
|
||||||
|
|
||||||
getInitialState: function() {
|
getInitialState: function() {
|
||||||
|
|
|
@ -15,6 +15,7 @@ limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import React from 'react';
|
import React from 'react';
|
||||||
|
import PropTypes from 'prop-types';
|
||||||
import AvatarLogic from '../../../Avatar';
|
import AvatarLogic from '../../../Avatar';
|
||||||
import sdk from '../../../index';
|
import sdk from '../../../index';
|
||||||
import AccessibleButton from '../elements/AccessibleButton';
|
import AccessibleButton from '../elements/AccessibleButton';
|
||||||
|
@ -23,16 +24,16 @@ module.exports = React.createClass({
|
||||||
displayName: 'BaseAvatar',
|
displayName: 'BaseAvatar',
|
||||||
|
|
||||||
propTypes: {
|
propTypes: {
|
||||||
name: React.PropTypes.string.isRequired, // The name (first initial used as default)
|
name: PropTypes.string.isRequired, // The name (first initial used as default)
|
||||||
idName: React.PropTypes.string, // ID for generating hash colours
|
idName: PropTypes.string, // ID for generating hash colours
|
||||||
title: React.PropTypes.string, // onHover title text
|
title: PropTypes.string, // onHover title text
|
||||||
url: React.PropTypes.string, // highest priority of them all, shortcut to set in urls[0]
|
url: PropTypes.string, // highest priority of them all, shortcut to set in urls[0]
|
||||||
urls: React.PropTypes.array, // [highest_priority, ... , lowest_priority]
|
urls: PropTypes.array, // [highest_priority, ... , lowest_priority]
|
||||||
width: React.PropTypes.number,
|
width: PropTypes.number,
|
||||||
height: React.PropTypes.number,
|
height: PropTypes.number,
|
||||||
// XXX resizeMethod not actually used.
|
// XXX resizeMethod not actually used.
|
||||||
resizeMethod: React.PropTypes.string,
|
resizeMethod: PropTypes.string,
|
||||||
defaultToInitialLetter: React.PropTypes.bool, // true to add default url
|
defaultToInitialLetter: PropTypes.bool, // true to add default url
|
||||||
},
|
},
|
||||||
|
|
||||||
getDefaultProps: function() {
|
getDefaultProps: function() {
|
||||||
|
|
|
@ -17,6 +17,7 @@ limitations under the License.
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
const React = require('react');
|
const React = require('react');
|
||||||
|
import PropTypes from 'prop-types';
|
||||||
const Avatar = require('../../../Avatar');
|
const Avatar = require('../../../Avatar');
|
||||||
const sdk = require("../../../index");
|
const sdk = require("../../../index");
|
||||||
const dispatcher = require("../../../dispatcher");
|
const dispatcher = require("../../../dispatcher");
|
||||||
|
@ -25,15 +26,15 @@ module.exports = React.createClass({
|
||||||
displayName: 'MemberAvatar',
|
displayName: 'MemberAvatar',
|
||||||
|
|
||||||
propTypes: {
|
propTypes: {
|
||||||
member: React.PropTypes.object.isRequired,
|
member: PropTypes.object.isRequired,
|
||||||
width: React.PropTypes.number,
|
width: PropTypes.number,
|
||||||
height: React.PropTypes.number,
|
height: PropTypes.number,
|
||||||
resizeMethod: React.PropTypes.string,
|
resizeMethod: PropTypes.string,
|
||||||
// The onClick to give the avatar
|
// The onClick to give the avatar
|
||||||
onClick: React.PropTypes.func,
|
onClick: PropTypes.func,
|
||||||
// Whether the onClick of the avatar should be overriden to dispatch 'view_user'
|
// Whether the onClick of the avatar should be overriden to dispatch 'view_user'
|
||||||
viewUserOnClick: React.PropTypes.bool,
|
viewUserOnClick: PropTypes.bool,
|
||||||
title: React.PropTypes.string,
|
title: PropTypes.string,
|
||||||
},
|
},
|
||||||
|
|
||||||
getDefaultProps: function() {
|
getDefaultProps: function() {
|
||||||
|
|
|
@ -17,6 +17,7 @@
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
import React from "react";
|
import React from "react";
|
||||||
|
import PropTypes from 'prop-types';
|
||||||
import * as sdk from "../../../index";
|
import * as sdk from "../../../index";
|
||||||
import MatrixClientPeg from "../../../MatrixClientPeg";
|
import MatrixClientPeg from "../../../MatrixClientPeg";
|
||||||
import AccessibleButton from '../elements/AccessibleButton';
|
import AccessibleButton from '../elements/AccessibleButton';
|
||||||
|
@ -30,10 +31,10 @@ module.exports = React.createClass({
|
||||||
displayName: 'MemberPresenceAvatar',
|
displayName: 'MemberPresenceAvatar',
|
||||||
|
|
||||||
propTypes: {
|
propTypes: {
|
||||||
member: React.PropTypes.object.isRequired,
|
member: PropTypes.object.isRequired,
|
||||||
width: React.PropTypes.number,
|
width: PropTypes.number,
|
||||||
height: React.PropTypes.number,
|
height: PropTypes.number,
|
||||||
resizeMethod: React.PropTypes.string,
|
resizeMethod: PropTypes.string,
|
||||||
},
|
},
|
||||||
|
|
||||||
getDefaultProps: function() {
|
getDefaultProps: function() {
|
||||||
|
|
|
@ -14,6 +14,7 @@ See the License for the specific language governing permissions and
|
||||||
limitations under the License.
|
limitations under the License.
|
||||||
*/
|
*/
|
||||||
import React from "react";
|
import React from "react";
|
||||||
|
import PropTypes from 'prop-types';
|
||||||
import {ContentRepo} from "matrix-js-sdk";
|
import {ContentRepo} from "matrix-js-sdk";
|
||||||
import MatrixClientPeg from "../../../MatrixClientPeg";
|
import MatrixClientPeg from "../../../MatrixClientPeg";
|
||||||
import sdk from "../../../index";
|
import sdk from "../../../index";
|
||||||
|
@ -25,11 +26,11 @@ module.exports = React.createClass({
|
||||||
// oobData.avatarUrl should be set (else there
|
// oobData.avatarUrl should be set (else there
|
||||||
// would be nowhere to get the avatar from)
|
// would be nowhere to get the avatar from)
|
||||||
propTypes: {
|
propTypes: {
|
||||||
room: React.PropTypes.object,
|
room: PropTypes.object,
|
||||||
oobData: React.PropTypes.object,
|
oobData: PropTypes.object,
|
||||||
width: React.PropTypes.number,
|
width: PropTypes.number,
|
||||||
height: React.PropTypes.number,
|
height: PropTypes.number,
|
||||||
resizeMethod: React.PropTypes.string,
|
resizeMethod: PropTypes.string,
|
||||||
},
|
},
|
||||||
|
|
||||||
getDefaultProps: function() {
|
getDefaultProps: function() {
|
||||||
|
|
|
@ -17,11 +17,12 @@ limitations under the License.
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
import React from 'react';
|
import React from 'react';
|
||||||
|
import PropTypes from 'prop-types';
|
||||||
import { _t } from '../../../languageHandler';
|
import { _t } from '../../../languageHandler';
|
||||||
module.exports = React.createClass({
|
module.exports = React.createClass({
|
||||||
displayName: 'CreateRoomButton',
|
displayName: 'CreateRoomButton',
|
||||||
propTypes: {
|
propTypes: {
|
||||||
onCreateRoom: React.PropTypes.func,
|
onCreateRoom: PropTypes.func,
|
||||||
},
|
},
|
||||||
|
|
||||||
getDefaultProps: function() {
|
getDefaultProps: function() {
|
||||||
|
|
|
@ -17,6 +17,7 @@ limitations under the License.
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
const React = require('react');
|
const React = require('react');
|
||||||
|
import PropTypes from 'prop-types';
|
||||||
import { _t } from '../../../languageHandler';
|
import { _t } from '../../../languageHandler';
|
||||||
|
|
||||||
const Presets = {
|
const Presets = {
|
||||||
|
@ -28,8 +29,8 @@ const Presets = {
|
||||||
module.exports = React.createClass({
|
module.exports = React.createClass({
|
||||||
displayName: 'CreateRoomPresets',
|
displayName: 'CreateRoomPresets',
|
||||||
propTypes: {
|
propTypes: {
|
||||||
onChange: React.PropTypes.func,
|
onChange: PropTypes.func,
|
||||||
preset: React.PropTypes.string,
|
preset: PropTypes.string,
|
||||||
},
|
},
|
||||||
|
|
||||||
Presets: Presets,
|
Presets: Presets,
|
||||||
|
|
|
@ -15,6 +15,7 @@ limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
const React = require('react');
|
const React = require('react');
|
||||||
|
import PropTypes from 'prop-types';
|
||||||
import { _t } from '../../../languageHandler';
|
import { _t } from '../../../languageHandler';
|
||||||
|
|
||||||
module.exports = React.createClass({
|
module.exports = React.createClass({
|
||||||
|
@ -22,9 +23,9 @@ module.exports = React.createClass({
|
||||||
propTypes: {
|
propTypes: {
|
||||||
// Specifying a homeserver will make magical things happen when you,
|
// Specifying a homeserver will make magical things happen when you,
|
||||||
// e.g. start typing in the room alias box.
|
// e.g. start typing in the room alias box.
|
||||||
homeserver: React.PropTypes.string,
|
homeserver: PropTypes.string,
|
||||||
alias: React.PropTypes.string,
|
alias: PropTypes.string,
|
||||||
onChange: React.PropTypes.func,
|
onChange: PropTypes.func,
|
||||||
},
|
},
|
||||||
|
|
||||||
getDefaultProps: function() {
|
getDefaultProps: function() {
|
||||||
|
|
|
@ -15,6 +15,7 @@ limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import React from 'react';
|
import React from 'react';
|
||||||
|
import PropTypes from 'prop-types';
|
||||||
|
|
||||||
import { KeyCode } from '../../../Keyboard';
|
import { KeyCode } from '../../../Keyboard';
|
||||||
import AccessibleButton from '../elements/AccessibleButton';
|
import AccessibleButton from '../elements/AccessibleButton';
|
||||||
|
@ -31,20 +32,20 @@ export default React.createClass({
|
||||||
|
|
||||||
propTypes: {
|
propTypes: {
|
||||||
// onFinished callback to call when Escape is pressed
|
// onFinished callback to call when Escape is pressed
|
||||||
onFinished: React.PropTypes.func.isRequired,
|
onFinished: PropTypes.func.isRequired,
|
||||||
|
|
||||||
// callback to call when Enter is pressed
|
// callback to call when Enter is pressed
|
||||||
onEnterPressed: React.PropTypes.func,
|
onEnterPressed: PropTypes.func,
|
||||||
|
|
||||||
// CSS class to apply to dialog div
|
// CSS class to apply to dialog div
|
||||||
className: React.PropTypes.string,
|
className: PropTypes.string,
|
||||||
|
|
||||||
// Title for the dialog.
|
// Title for the dialog.
|
||||||
// (could probably actually be something more complicated than a string if desired)
|
// (could probably actually be something more complicated than a string if desired)
|
||||||
title: React.PropTypes.string.isRequired,
|
title: PropTypes.string.isRequired,
|
||||||
|
|
||||||
// children should be the content of the dialog
|
// children should be the content of the dialog
|
||||||
children: React.PropTypes.node,
|
children: PropTypes.node,
|
||||||
},
|
},
|
||||||
|
|
||||||
_onKeyDown: function(e) {
|
_onKeyDown: function(e) {
|
||||||
|
|
|
@ -15,6 +15,7 @@ limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import React from 'react';
|
import React from 'react';
|
||||||
|
import PropTypes from 'prop-types';
|
||||||
import sdk from '../../../index';
|
import sdk from '../../../index';
|
||||||
import { _t } from '../../../languageHandler';
|
import { _t } from '../../../languageHandler';
|
||||||
import MatrixClientPeg from '../../../MatrixClientPeg';
|
import MatrixClientPeg from '../../../MatrixClientPeg';
|
||||||
|
@ -187,9 +188,9 @@ export default class ChatCreateOrReuseDialog extends React.Component {
|
||||||
}
|
}
|
||||||
|
|
||||||
ChatCreateOrReuseDialog.propTyps = {
|
ChatCreateOrReuseDialog.propTyps = {
|
||||||
userId: React.PropTypes.string.isRequired,
|
userId: PropTypes.string.isRequired,
|
||||||
// Called when clicking outside of the dialog
|
// Called when clicking outside of the dialog
|
||||||
onFinished: React.PropTypes.func.isRequired,
|
onFinished: PropTypes.func.isRequired,
|
||||||
onNewDMClick: React.PropTypes.func.isRequired,
|
onNewDMClick: PropTypes.func.isRequired,
|
||||||
onExistingRoomSelected: React.PropTypes.func.isRequired,
|
onExistingRoomSelected: PropTypes.func.isRequired,
|
||||||
};
|
};
|
||||||
|
|
|
@ -15,6 +15,7 @@ limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import React from 'react';
|
import React from 'react';
|
||||||
|
import PropTypes from 'prop-types';
|
||||||
import { MatrixClient } from 'matrix-js-sdk';
|
import { MatrixClient } from 'matrix-js-sdk';
|
||||||
import sdk from '../../../index';
|
import sdk from '../../../index';
|
||||||
import { _t } from '../../../languageHandler';
|
import { _t } from '../../../languageHandler';
|
||||||
|
@ -33,20 +34,20 @@ export default React.createClass({
|
||||||
displayName: 'ConfirmUserActionDialog',
|
displayName: 'ConfirmUserActionDialog',
|
||||||
propTypes: {
|
propTypes: {
|
||||||
// matrix-js-sdk (room) member object. Supply either this or 'groupMember'
|
// matrix-js-sdk (room) member object. Supply either this or 'groupMember'
|
||||||
member: React.PropTypes.object,
|
member: PropTypes.object,
|
||||||
// group member object. Supply either this or 'member'
|
// group member object. Supply either this or 'member'
|
||||||
groupMember: GroupMemberType,
|
groupMember: GroupMemberType,
|
||||||
// needed if a group member is specified
|
// needed if a group member is specified
|
||||||
matrixClient: React.PropTypes.instanceOf(MatrixClient),
|
matrixClient: PropTypes.instanceOf(MatrixClient),
|
||||||
action: React.PropTypes.string.isRequired, // eg. 'Ban'
|
action: PropTypes.string.isRequired, // eg. 'Ban'
|
||||||
title: React.PropTypes.string.isRequired, // eg. 'Ban this user?'
|
title: PropTypes.string.isRequired, // eg. 'Ban this user?'
|
||||||
|
|
||||||
// Whether to display a text field for a reason
|
// Whether to display a text field for a reason
|
||||||
// If true, the second argument to onFinished will
|
// If true, the second argument to onFinished will
|
||||||
// be the string entered.
|
// be the string entered.
|
||||||
askReason: React.PropTypes.bool,
|
askReason: PropTypes.bool,
|
||||||
danger: React.PropTypes.bool,
|
danger: PropTypes.bool,
|
||||||
onFinished: React.PropTypes.func.isRequired,
|
onFinished: PropTypes.func.isRequired,
|
||||||
},
|
},
|
||||||
|
|
||||||
defaultProps: {
|
defaultProps: {
|
||||||
|
|
|
@ -15,6 +15,7 @@ limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import React from 'react';
|
import React from 'react';
|
||||||
|
import PropTypes from 'prop-types';
|
||||||
import sdk from '../../../index';
|
import sdk from '../../../index';
|
||||||
import SdkConfig from '../../../SdkConfig';
|
import SdkConfig from '../../../SdkConfig';
|
||||||
import { _t } from '../../../languageHandler';
|
import { _t } from '../../../languageHandler';
|
||||||
|
@ -22,7 +23,7 @@ import { _t } from '../../../languageHandler';
|
||||||
export default React.createClass({
|
export default React.createClass({
|
||||||
displayName: 'CreateRoomDialog',
|
displayName: 'CreateRoomDialog',
|
||||||
propTypes: {
|
propTypes: {
|
||||||
onFinished: React.PropTypes.func.isRequired,
|
onFinished: PropTypes.func.isRequired,
|
||||||
},
|
},
|
||||||
|
|
||||||
componentDidMount: function() {
|
componentDidMount: function() {
|
||||||
|
|
|
@ -15,6 +15,7 @@ limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import React from 'react';
|
import React from 'react';
|
||||||
|
import PropTypes from 'prop-types';
|
||||||
|
|
||||||
import sdk from '../../../index';
|
import sdk from '../../../index';
|
||||||
import Analytics from '../../../Analytics';
|
import Analytics from '../../../Analytics';
|
||||||
|
@ -136,5 +137,5 @@ export default class DeactivateAccountDialog extends React.Component {
|
||||||
}
|
}
|
||||||
|
|
||||||
DeactivateAccountDialog.propTypes = {
|
DeactivateAccountDialog.propTypes = {
|
||||||
onFinished: React.PropTypes.func.isRequired,
|
onFinished: PropTypes.func.isRequired,
|
||||||
};
|
};
|
||||||
|
|
|
@ -16,6 +16,7 @@ limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import React from 'react';
|
import React from 'react';
|
||||||
|
import PropTypes from 'prop-types';
|
||||||
import MatrixClientPeg from '../../../MatrixClientPeg';
|
import MatrixClientPeg from '../../../MatrixClientPeg';
|
||||||
import sdk from '../../../index';
|
import sdk from '../../../index';
|
||||||
import * as FormattingUtils from '../../../utils/FormattingUtils';
|
import * as FormattingUtils from '../../../utils/FormattingUtils';
|
||||||
|
@ -71,7 +72,7 @@ export default function DeviceVerifyDialog(props) {
|
||||||
}
|
}
|
||||||
|
|
||||||
DeviceVerifyDialog.propTypes = {
|
DeviceVerifyDialog.propTypes = {
|
||||||
userId: React.PropTypes.string.isRequired,
|
userId: PropTypes.string.isRequired,
|
||||||
device: React.PropTypes.object.isRequired,
|
device: PropTypes.object.isRequired,
|
||||||
onFinished: React.PropTypes.func.isRequired,
|
onFinished: PropTypes.func.isRequired,
|
||||||
};
|
};
|
||||||
|
|
|
@ -26,20 +26,21 @@ limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import React from 'react';
|
import React from 'react';
|
||||||
|
import PropTypes from 'prop-types';
|
||||||
import sdk from '../../../index';
|
import sdk from '../../../index';
|
||||||
import { _t } from '../../../languageHandler';
|
import { _t } from '../../../languageHandler';
|
||||||
|
|
||||||
export default React.createClass({
|
export default React.createClass({
|
||||||
displayName: 'ErrorDialog',
|
displayName: 'ErrorDialog',
|
||||||
propTypes: {
|
propTypes: {
|
||||||
title: React.PropTypes.string,
|
title: PropTypes.string,
|
||||||
description: React.PropTypes.oneOfType([
|
description: PropTypes.oneOfType([
|
||||||
React.PropTypes.element,
|
PropTypes.element,
|
||||||
React.PropTypes.string,
|
PropTypes.string,
|
||||||
]),
|
]),
|
||||||
button: React.PropTypes.string,
|
button: PropTypes.string,
|
||||||
focus: React.PropTypes.bool,
|
focus: PropTypes.bool,
|
||||||
onFinished: React.PropTypes.func.isRequired,
|
onFinished: PropTypes.func.isRequired,
|
||||||
},
|
},
|
||||||
|
|
||||||
getDefaultProps: function() {
|
getDefaultProps: function() {
|
||||||
|
|
|
@ -16,6 +16,7 @@ limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import React from 'react';
|
import React from 'react';
|
||||||
|
import PropTypes from 'prop-types';
|
||||||
|
|
||||||
import sdk from '../../../index';
|
import sdk from '../../../index';
|
||||||
import { _t } from '../../../languageHandler';
|
import { _t } from '../../../languageHandler';
|
||||||
|
@ -27,22 +28,22 @@ export default React.createClass({
|
||||||
|
|
||||||
propTypes: {
|
propTypes: {
|
||||||
// matrix client to use for UI auth requests
|
// matrix client to use for UI auth requests
|
||||||
matrixClient: React.PropTypes.object.isRequired,
|
matrixClient: PropTypes.object.isRequired,
|
||||||
|
|
||||||
// response from initial request. If not supplied, will do a request on
|
// response from initial request. If not supplied, will do a request on
|
||||||
// mount.
|
// mount.
|
||||||
authData: React.PropTypes.shape({
|
authData: PropTypes.shape({
|
||||||
flows: React.PropTypes.array,
|
flows: PropTypes.array,
|
||||||
params: React.PropTypes.object,
|
params: PropTypes.object,
|
||||||
session: React.PropTypes.string,
|
session: PropTypes.string,
|
||||||
}),
|
}),
|
||||||
|
|
||||||
// callback
|
// callback
|
||||||
makeRequest: React.PropTypes.func.isRequired,
|
makeRequest: PropTypes.func.isRequired,
|
||||||
|
|
||||||
onFinished: React.PropTypes.func.isRequired,
|
onFinished: PropTypes.func.isRequired,
|
||||||
|
|
||||||
title: React.PropTypes.string,
|
title: PropTypes.string,
|
||||||
},
|
},
|
||||||
|
|
||||||
getInitialState: function() {
|
getInitialState: function() {
|
||||||
|
|
|
@ -16,6 +16,7 @@ limitations under the License.
|
||||||
|
|
||||||
import Modal from '../../../Modal';
|
import Modal from '../../../Modal';
|
||||||
import React from 'react';
|
import React from 'react';
|
||||||
|
import PropTypes from 'prop-types';
|
||||||
import sdk from '../../../index';
|
import sdk from '../../../index';
|
||||||
|
|
||||||
import { _t, _td } from '../../../languageHandler';
|
import { _t, _td } from '../../../languageHandler';
|
||||||
|
@ -30,10 +31,10 @@ import { _t, _td } from '../../../languageHandler';
|
||||||
*/
|
*/
|
||||||
export default React.createClass({
|
export default React.createClass({
|
||||||
propTypes: {
|
propTypes: {
|
||||||
matrixClient: React.PropTypes.object.isRequired,
|
matrixClient: PropTypes.object.isRequired,
|
||||||
userId: React.PropTypes.string.isRequired,
|
userId: PropTypes.string.isRequired,
|
||||||
deviceId: React.PropTypes.string.isRequired,
|
deviceId: PropTypes.string.isRequired,
|
||||||
onFinished: React.PropTypes.func.isRequired,
|
onFinished: PropTypes.func.isRequired,
|
||||||
},
|
},
|
||||||
|
|
||||||
getInitialState: function() {
|
getInitialState: function() {
|
||||||
|
|
|
@ -16,6 +16,7 @@ limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import React from 'react';
|
import React from 'react';
|
||||||
|
import PropTypes from 'prop-types';
|
||||||
import sdk from '../../../index';
|
import sdk from '../../../index';
|
||||||
import { _t } from '../../../languageHandler';
|
import { _t } from '../../../languageHandler';
|
||||||
import classnames from 'classnames';
|
import classnames from 'classnames';
|
||||||
|
@ -23,13 +24,13 @@ import classnames from 'classnames';
|
||||||
export default React.createClass({
|
export default React.createClass({
|
||||||
displayName: 'QuestionDialog',
|
displayName: 'QuestionDialog',
|
||||||
propTypes: {
|
propTypes: {
|
||||||
title: React.PropTypes.string,
|
title: PropTypes.string,
|
||||||
description: React.PropTypes.node,
|
description: PropTypes.node,
|
||||||
extraButtons: React.PropTypes.node,
|
extraButtons: PropTypes.node,
|
||||||
button: React.PropTypes.string,
|
button: PropTypes.string,
|
||||||
danger: React.PropTypes.bool,
|
danger: PropTypes.bool,
|
||||||
focus: React.PropTypes.bool,
|
focus: PropTypes.bool,
|
||||||
onFinished: React.PropTypes.func.isRequired,
|
onFinished: PropTypes.func.isRequired,
|
||||||
},
|
},
|
||||||
|
|
||||||
getDefaultProps: function() {
|
getDefaultProps: function() {
|
||||||
|
|
|
@ -15,6 +15,7 @@ limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import React from 'react';
|
import React from 'react';
|
||||||
|
import PropTypes from 'prop-types';
|
||||||
import sdk from '../../../index';
|
import sdk from '../../../index';
|
||||||
import SdkConfig from '../../../SdkConfig';
|
import SdkConfig from '../../../SdkConfig';
|
||||||
import Modal from '../../../Modal';
|
import Modal from '../../../Modal';
|
||||||
|
@ -25,8 +26,8 @@ export default React.createClass({
|
||||||
displayName: 'SessionRestoreErrorDialog',
|
displayName: 'SessionRestoreErrorDialog',
|
||||||
|
|
||||||
propTypes: {
|
propTypes: {
|
||||||
error: React.PropTypes.string.isRequired,
|
error: PropTypes.string.isRequired,
|
||||||
onFinished: React.PropTypes.func.isRequired,
|
onFinished: PropTypes.func.isRequired,
|
||||||
},
|
},
|
||||||
|
|
||||||
_sendBugReport: function() {
|
_sendBugReport: function() {
|
||||||
|
|
|
@ -15,6 +15,7 @@ limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import React from 'react';
|
import React from 'react';
|
||||||
|
import PropTypes from 'prop-types';
|
||||||
import sdk from '../../../index';
|
import sdk from '../../../index';
|
||||||
import Email from '../../../email';
|
import Email from '../../../email';
|
||||||
import AddThreepid from '../../../AddThreepid';
|
import AddThreepid from '../../../AddThreepid';
|
||||||
|
@ -30,7 +31,7 @@ import Modal from '../../../Modal';
|
||||||
export default React.createClass({
|
export default React.createClass({
|
||||||
displayName: 'SetEmailDialog',
|
displayName: 'SetEmailDialog',
|
||||||
propTypes: {
|
propTypes: {
|
||||||
onFinished: React.PropTypes.func.isRequired,
|
onFinished: PropTypes.func.isRequired,
|
||||||
},
|
},
|
||||||
|
|
||||||
getInitialState: function() {
|
getInitialState: function() {
|
||||||
|
|
|
@ -17,6 +17,7 @@ limitations under the License.
|
||||||
|
|
||||||
import Promise from 'bluebird';
|
import Promise from 'bluebird';
|
||||||
import React from 'react';
|
import React from 'react';
|
||||||
|
import PropTypes from 'prop-types';
|
||||||
import sdk from '../../../index';
|
import sdk from '../../../index';
|
||||||
import MatrixClientPeg from '../../../MatrixClientPeg';
|
import MatrixClientPeg from '../../../MatrixClientPeg';
|
||||||
import classnames from 'classnames';
|
import classnames from 'classnames';
|
||||||
|
@ -35,11 +36,11 @@ const USERNAME_CHECK_DEBOUNCE_MS = 250;
|
||||||
export default React.createClass({
|
export default React.createClass({
|
||||||
displayName: 'SetMxIdDialog',
|
displayName: 'SetMxIdDialog',
|
||||||
propTypes: {
|
propTypes: {
|
||||||
onFinished: React.PropTypes.func.isRequired,
|
onFinished: PropTypes.func.isRequired,
|
||||||
// Called when the user requests to register with a different homeserver
|
// Called when the user requests to register with a different homeserver
|
||||||
onDifferentServerClicked: React.PropTypes.func.isRequired,
|
onDifferentServerClicked: PropTypes.func.isRequired,
|
||||||
// Called if the user wants to switch to login instead
|
// Called if the user wants to switch to login instead
|
||||||
onLoginClick: React.PropTypes.func.isRequired,
|
onLoginClick: PropTypes.func.isRequired,
|
||||||
},
|
},
|
||||||
|
|
||||||
getInitialState: function() {
|
getInitialState: function() {
|
||||||
|
|
|
@ -15,21 +15,22 @@ limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import React from 'react';
|
import React from 'react';
|
||||||
|
import PropTypes from 'prop-types';
|
||||||
import sdk from '../../../index';
|
import sdk from '../../../index';
|
||||||
import { _t } from '../../../languageHandler';
|
import { _t } from '../../../languageHandler';
|
||||||
|
|
||||||
export default React.createClass({
|
export default React.createClass({
|
||||||
displayName: 'TextInputDialog',
|
displayName: 'TextInputDialog',
|
||||||
propTypes: {
|
propTypes: {
|
||||||
title: React.PropTypes.string,
|
title: PropTypes.string,
|
||||||
description: React.PropTypes.oneOfType([
|
description: PropTypes.oneOfType([
|
||||||
React.PropTypes.element,
|
PropTypes.element,
|
||||||
React.PropTypes.string,
|
PropTypes.string,
|
||||||
]),
|
]),
|
||||||
value: React.PropTypes.string,
|
value: PropTypes.string,
|
||||||
button: React.PropTypes.string,
|
button: PropTypes.string,
|
||||||
focus: React.PropTypes.bool,
|
focus: PropTypes.bool,
|
||||||
onFinished: React.PropTypes.func.isRequired,
|
onFinished: PropTypes.func.isRequired,
|
||||||
},
|
},
|
||||||
|
|
||||||
getDefaultProps: function() {
|
getDefaultProps: function() {
|
||||||
|
|
|
@ -15,6 +15,7 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import React from 'react';
|
import React from 'react';
|
||||||
|
import PropTypes from 'prop-types';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* AccessibleButton is a generic wrapper for any element that should be treated
|
* AccessibleButton is a generic wrapper for any element that should be treated
|
||||||
|
@ -44,9 +45,9 @@ export default function AccessibleButton(props) {
|
||||||
* implemented exactly like a normal onClick handler.
|
* implemented exactly like a normal onClick handler.
|
||||||
*/
|
*/
|
||||||
AccessibleButton.propTypes = {
|
AccessibleButton.propTypes = {
|
||||||
children: React.PropTypes.node,
|
children: PropTypes.node,
|
||||||
element: React.PropTypes.string,
|
element: PropTypes.string,
|
||||||
onClick: React.PropTypes.func.isRequired,
|
onClick: PropTypes.func.isRequired,
|
||||||
};
|
};
|
||||||
|
|
||||||
AccessibleButton.defaultProps = {
|
AccessibleButton.defaultProps = {
|
||||||
|
|
|
@ -18,6 +18,7 @@ limitations under the License.
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
import React from 'react';
|
import React from 'react';
|
||||||
|
import PropTypes from 'prop-types';
|
||||||
import sdk from '../../../index';
|
import sdk from '../../../index';
|
||||||
import classNames from 'classnames';
|
import classNames from 'classnames';
|
||||||
import { UserAddressType } from '../../../UserAddress';
|
import { UserAddressType } from '../../../UserAddress';
|
||||||
|
@ -26,17 +27,17 @@ export default React.createClass({
|
||||||
displayName: 'AddressSelector',
|
displayName: 'AddressSelector',
|
||||||
|
|
||||||
propTypes: {
|
propTypes: {
|
||||||
onSelected: React.PropTypes.func.isRequired,
|
onSelected: PropTypes.func.isRequired,
|
||||||
|
|
||||||
// List of the addresses to display
|
// List of the addresses to display
|
||||||
addressList: React.PropTypes.arrayOf(UserAddressType).isRequired,
|
addressList: PropTypes.arrayOf(UserAddressType).isRequired,
|
||||||
// Whether to show the address on the address tiles
|
// Whether to show the address on the address tiles
|
||||||
showAddress: React.PropTypes.bool,
|
showAddress: PropTypes.bool,
|
||||||
truncateAt: React.PropTypes.number.isRequired,
|
truncateAt: PropTypes.number.isRequired,
|
||||||
selected: React.PropTypes.number,
|
selected: PropTypes.number,
|
||||||
|
|
||||||
// Element to put as a header on top of the list
|
// Element to put as a header on top of the list
|
||||||
header: React.PropTypes.node,
|
header: PropTypes.node,
|
||||||
},
|
},
|
||||||
|
|
||||||
getInitialState: function() {
|
getInitialState: function() {
|
||||||
|
|
|
@ -16,6 +16,7 @@ limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import React from 'react';
|
import React from 'react';
|
||||||
|
import PropTypes from 'prop-types';
|
||||||
import classNames from 'classnames';
|
import classNames from 'classnames';
|
||||||
import sdk from "../../../index";
|
import sdk from "../../../index";
|
||||||
import MatrixClientPeg from "../../../MatrixClientPeg";
|
import MatrixClientPeg from "../../../MatrixClientPeg";
|
||||||
|
@ -28,9 +29,9 @@ export default React.createClass({
|
||||||
|
|
||||||
propTypes: {
|
propTypes: {
|
||||||
address: UserAddressType.isRequired,
|
address: UserAddressType.isRequired,
|
||||||
canDismiss: React.PropTypes.bool,
|
canDismiss: PropTypes.bool,
|
||||||
onDismissed: React.PropTypes.func,
|
onDismissed: PropTypes.func,
|
||||||
justified: React.PropTypes.bool,
|
justified: PropTypes.bool,
|
||||||
},
|
},
|
||||||
|
|
||||||
getDefaultProps: function() {
|
getDefaultProps: function() {
|
||||||
|
|
|
@ -19,6 +19,7 @@ limitations under the License.
|
||||||
import url from 'url';
|
import url from 'url';
|
||||||
import qs from 'querystring';
|
import qs from 'querystring';
|
||||||
import React from 'react';
|
import React from 'react';
|
||||||
|
import PropTypes from 'prop-types';
|
||||||
import MatrixClientPeg from '../../../MatrixClientPeg';
|
import MatrixClientPeg from '../../../MatrixClientPeg';
|
||||||
import PlatformPeg from '../../../PlatformPeg';
|
import PlatformPeg from '../../../PlatformPeg';
|
||||||
import ScalarAuthClient from '../../../ScalarAuthClient';
|
import ScalarAuthClient from '../../../ScalarAuthClient';
|
||||||
|
@ -40,19 +41,19 @@ export default React.createClass({
|
||||||
displayName: 'AppTile',
|
displayName: 'AppTile',
|
||||||
|
|
||||||
propTypes: {
|
propTypes: {
|
||||||
id: React.PropTypes.string.isRequired,
|
id: PropTypes.string.isRequired,
|
||||||
url: React.PropTypes.string.isRequired,
|
url: PropTypes.string.isRequired,
|
||||||
name: React.PropTypes.string.isRequired,
|
name: PropTypes.string.isRequired,
|
||||||
room: React.PropTypes.object.isRequired,
|
room: PropTypes.object.isRequired,
|
||||||
type: React.PropTypes.string.isRequired,
|
type: PropTypes.string.isRequired,
|
||||||
// Specifying 'fullWidth' as true will render the app tile to fill the width of the app drawer continer.
|
// Specifying 'fullWidth' as true will render the app tile to fill the width of the app drawer continer.
|
||||||
// This should be set to true when there is only one widget in the app drawer, otherwise it should be false.
|
// This should be set to true when there is only one widget in the app drawer, otherwise it should be false.
|
||||||
fullWidth: React.PropTypes.bool,
|
fullWidth: PropTypes.bool,
|
||||||
// UserId of the current user
|
// UserId of the current user
|
||||||
userId: React.PropTypes.string.isRequired,
|
userId: PropTypes.string.isRequired,
|
||||||
// UserId of the entity that added / modified the widget
|
// UserId of the entity that added / modified the widget
|
||||||
creatorUserId: React.PropTypes.string,
|
creatorUserId: PropTypes.string,
|
||||||
waitForIframeLoad: React.PropTypes.bool,
|
waitForIframeLoad: PropTypes.bool,
|
||||||
},
|
},
|
||||||
|
|
||||||
getDefaultProps() {
|
getDefaultProps() {
|
||||||
|
|
|
@ -15,6 +15,7 @@ limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import React from 'react';
|
import React from 'react';
|
||||||
|
import PropTypes from 'prop-types';
|
||||||
import MatrixClientPeg from '../../../MatrixClientPeg';
|
import MatrixClientPeg from '../../../MatrixClientPeg';
|
||||||
import sdk from '../../../index';
|
import sdk from '../../../index';
|
||||||
import Modal from '../../../Modal';
|
import Modal from '../../../Modal';
|
||||||
|
@ -24,8 +25,8 @@ export default React.createClass({
|
||||||
displayName: 'DeviceVerifyButtons',
|
displayName: 'DeviceVerifyButtons',
|
||||||
|
|
||||||
propTypes: {
|
propTypes: {
|
||||||
userId: React.PropTypes.string.isRequired,
|
userId: PropTypes.string.isRequired,
|
||||||
device: React.PropTypes.object.isRequired,
|
device: PropTypes.object.isRequired,
|
||||||
},
|
},
|
||||||
|
|
||||||
getInitialState: function() {
|
getInitialState: function() {
|
||||||
|
|
|
@ -15,6 +15,7 @@ limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import React from 'react';
|
import React from 'react';
|
||||||
|
import PropTypes from 'prop-types';
|
||||||
import classnames from 'classnames';
|
import classnames from 'classnames';
|
||||||
|
|
||||||
export default class DirectorySearchBox extends React.Component {
|
export default class DirectorySearchBox extends React.Component {
|
||||||
|
@ -105,10 +106,10 @@ export default class DirectorySearchBox extends React.Component {
|
||||||
}
|
}
|
||||||
|
|
||||||
DirectorySearchBox.propTypes = {
|
DirectorySearchBox.propTypes = {
|
||||||
className: React.PropTypes.string,
|
className: PropTypes.string,
|
||||||
onChange: React.PropTypes.func,
|
onChange: PropTypes.func,
|
||||||
onClear: React.PropTypes.func,
|
onClear: PropTypes.func,
|
||||||
onJoinClick: React.PropTypes.func,
|
onJoinClick: PropTypes.func,
|
||||||
placeholder: React.PropTypes.string,
|
placeholder: PropTypes.string,
|
||||||
showJoinButton: React.PropTypes.bool,
|
showJoinButton: PropTypes.bool,
|
||||||
};
|
};
|
||||||
|
|
|
@ -15,6 +15,7 @@ limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import React from 'react';
|
import React from 'react';
|
||||||
|
import PropTypes from 'prop-types';
|
||||||
import classnames from 'classnames';
|
import classnames from 'classnames';
|
||||||
import AccessibleButton from './AccessibleButton';
|
import AccessibleButton from './AccessibleButton';
|
||||||
import { _t } from '../../../languageHandler';
|
import { _t } from '../../../languageHandler';
|
||||||
|
@ -56,14 +57,14 @@ class MenuOption extends React.Component {
|
||||||
}
|
}
|
||||||
|
|
||||||
MenuOption.propTypes = {
|
MenuOption.propTypes = {
|
||||||
children: React.PropTypes.oneOfType([
|
children: PropTypes.oneOfType([
|
||||||
React.PropTypes.arrayOf(React.PropTypes.node),
|
PropTypes.arrayOf(React.PropTypes.node),
|
||||||
React.PropTypes.node,
|
PropTypes.node,
|
||||||
]),
|
]),
|
||||||
highlighted: React.PropTypes.bool,
|
highlighted: PropTypes.bool,
|
||||||
dropdownKey: React.PropTypes.string,
|
dropdownKey: PropTypes.string,
|
||||||
onClick: React.PropTypes.func.isRequired,
|
onClick: PropTypes.func.isRequired,
|
||||||
onMouseEnter: React.PropTypes.func.isRequired,
|
onMouseEnter: PropTypes.func.isRequired,
|
||||||
};
|
};
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -322,20 +323,20 @@ Dropdown.propTypes = {
|
||||||
// The width that the dropdown should be. If specified,
|
// The width that the dropdown should be. If specified,
|
||||||
// the dropped-down part of the menu will be set to this
|
// the dropped-down part of the menu will be set to this
|
||||||
// width.
|
// width.
|
||||||
menuWidth: React.PropTypes.number,
|
menuWidth: PropTypes.number,
|
||||||
// Called when the selected option changes
|
// Called when the selected option changes
|
||||||
onOptionChange: React.PropTypes.func.isRequired,
|
onOptionChange: PropTypes.func.isRequired,
|
||||||
// Called when the value of the search field changes
|
// Called when the value of the search field changes
|
||||||
onSearchChange: React.PropTypes.func,
|
onSearchChange: PropTypes.func,
|
||||||
searchEnabled: React.PropTypes.bool,
|
searchEnabled: PropTypes.bool,
|
||||||
// Function that, given the key of an option, returns
|
// Function that, given the key of an option, returns
|
||||||
// a node representing that option to be displayed in the
|
// a node representing that option to be displayed in the
|
||||||
// box itself as the currently-selected option (ie. as
|
// box itself as the currently-selected option (ie. as
|
||||||
// opposed to in the actual dropped-down part). If
|
// opposed to in the actual dropped-down part). If
|
||||||
// unspecified, the appropriate child element is used as
|
// unspecified, the appropriate child element is used as
|
||||||
// in the dropped-down menu.
|
// in the dropped-down menu.
|
||||||
getShortOption: React.PropTypes.func,
|
getShortOption: PropTypes.func,
|
||||||
value: React.PropTypes.string,
|
value: PropTypes.string,
|
||||||
// negative for consistency with HTML
|
// negative for consistency with HTML
|
||||||
disabled: React.PropTypes.bool,
|
disabled: PropTypes.bool,
|
||||||
};
|
};
|
||||||
|
|
|
@ -17,6 +17,7 @@ limitations under the License.
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
const React = require('react');
|
const React = require('react');
|
||||||
|
import PropTypes from 'prop-types';
|
||||||
|
|
||||||
const KEY_TAB = 9;
|
const KEY_TAB = 9;
|
||||||
const KEY_SHIFT = 16;
|
const KEY_SHIFT = 16;
|
||||||
|
@ -26,18 +27,18 @@ module.exports = React.createClass({
|
||||||
displayName: 'EditableText',
|
displayName: 'EditableText',
|
||||||
|
|
||||||
propTypes: {
|
propTypes: {
|
||||||
onValueChanged: React.PropTypes.func,
|
onValueChanged: PropTypes.func,
|
||||||
initialValue: React.PropTypes.string,
|
initialValue: PropTypes.string,
|
||||||
label: React.PropTypes.string,
|
label: PropTypes.string,
|
||||||
placeholder: React.PropTypes.string,
|
placeholder: PropTypes.string,
|
||||||
className: React.PropTypes.string,
|
className: PropTypes.string,
|
||||||
labelClassName: React.PropTypes.string,
|
labelClassName: PropTypes.string,
|
||||||
placeholderClassName: React.PropTypes.string,
|
placeholderClassName: PropTypes.string,
|
||||||
// Overrides blurToSubmit if true
|
// Overrides blurToSubmit if true
|
||||||
blurToCancel: React.PropTypes.bool,
|
blurToCancel: PropTypes.bool,
|
||||||
// Will cause onValueChanged(value, true) to fire on blur
|
// Will cause onValueChanged(value, true) to fire on blur
|
||||||
blurToSubmit: React.PropTypes.bool,
|
blurToSubmit: PropTypes.bool,
|
||||||
editable: React.PropTypes.bool,
|
editable: PropTypes.bool,
|
||||||
},
|
},
|
||||||
|
|
||||||
Phases: {
|
Phases: {
|
||||||
|
|
|
@ -15,6 +15,7 @@ limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import React from 'react';
|
import React from 'react';
|
||||||
|
import PropTypes from 'prop-types';
|
||||||
import sdk from '../../../index';
|
import sdk from '../../../index';
|
||||||
import Promise from 'bluebird';
|
import Promise from 'bluebird';
|
||||||
|
|
||||||
|
@ -126,21 +127,21 @@ export default class EditableTextContainer extends React.Component {
|
||||||
|
|
||||||
EditableTextContainer.propTypes = {
|
EditableTextContainer.propTypes = {
|
||||||
/* callback to retrieve the initial value. */
|
/* callback to retrieve the initial value. */
|
||||||
getInitialValue: React.PropTypes.func,
|
getInitialValue: PropTypes.func,
|
||||||
|
|
||||||
/* initial value; used if getInitialValue is not given */
|
/* initial value; used if getInitialValue is not given */
|
||||||
initialValue: React.PropTypes.string,
|
initialValue: PropTypes.string,
|
||||||
|
|
||||||
/* placeholder text to use when the value is empty (and not being
|
/* placeholder text to use when the value is empty (and not being
|
||||||
* edited) */
|
* edited) */
|
||||||
placeholder: React.PropTypes.string,
|
placeholder: PropTypes.string,
|
||||||
|
|
||||||
/* callback to update the value. Called with a single argument: the new
|
/* callback to update the value. Called with a single argument: the new
|
||||||
* value. */
|
* value. */
|
||||||
onSubmit: React.PropTypes.func,
|
onSubmit: PropTypes.func,
|
||||||
|
|
||||||
/* should the input submit when focus is lost? */
|
/* should the input submit when focus is lost? */
|
||||||
blurToSubmit: React.PropTypes.bool,
|
blurToSubmit: PropTypes.bool,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -16,6 +16,7 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import React from 'react';
|
import React from 'react';
|
||||||
|
import PropTypes from 'prop-types';
|
||||||
import {emojifyText, containsEmoji} from '../../../HtmlUtils';
|
import {emojifyText, containsEmoji} from '../../../HtmlUtils';
|
||||||
|
|
||||||
export default function EmojiText(props) {
|
export default function EmojiText(props) {
|
||||||
|
@ -32,8 +33,8 @@ export default function EmojiText(props) {
|
||||||
}
|
}
|
||||||
|
|
||||||
EmojiText.propTypes = {
|
EmojiText.propTypes = {
|
||||||
element: React.PropTypes.string,
|
element: PropTypes.string,
|
||||||
children: React.PropTypes.string.isRequired,
|
children: PropTypes.string.isRequired,
|
||||||
};
|
};
|
||||||
|
|
||||||
EmojiText.defaultProps = {
|
EmojiText.defaultProps = {
|
||||||
|
|
|
@ -63,7 +63,7 @@ FlairAvatar.propTypes = {
|
||||||
};
|
};
|
||||||
|
|
||||||
FlairAvatar.contextTypes = {
|
FlairAvatar.contextTypes = {
|
||||||
matrixClient: React.PropTypes.instanceOf(MatrixClient).isRequired,
|
matrixClient: PropTypes.instanceOf(MatrixClient).isRequired,
|
||||||
};
|
};
|
||||||
|
|
||||||
export default class Flair extends React.Component {
|
export default class Flair extends React.Component {
|
||||||
|
@ -134,5 +134,5 @@ Flair.propTypes = {
|
||||||
// this.context.matrixClient everywhere instead of this.props.matrixClient.
|
// this.context.matrixClient everywhere instead of this.props.matrixClient.
|
||||||
// See https://github.com/vector-im/riot-web/issues/4951.
|
// See https://github.com/vector-im/riot-web/issues/4951.
|
||||||
Flair.contextTypes = {
|
Flair.contextTypes = {
|
||||||
matrixClient: React.PropTypes.instanceOf(MatrixClient).isRequired,
|
matrixClient: PropTypes.instanceOf(MatrixClient).isRequired,
|
||||||
};
|
};
|
||||||
|
|
|
@ -16,6 +16,7 @@ limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import React from 'react';
|
import React from 'react';
|
||||||
|
import PropTypes from 'prop-types';
|
||||||
|
|
||||||
import sdk from '../../../index';
|
import sdk from '../../../index';
|
||||||
import * as languageHandler from '../../../languageHandler';
|
import * as languageHandler from '../../../languageHandler';
|
||||||
|
@ -114,7 +115,7 @@ export default class LanguageDropdown extends React.Component {
|
||||||
}
|
}
|
||||||
|
|
||||||
LanguageDropdown.propTypes = {
|
LanguageDropdown.propTypes = {
|
||||||
className: React.PropTypes.string,
|
className: PropTypes.string,
|
||||||
onOptionChange: React.PropTypes.func.isRequired,
|
onOptionChange: PropTypes.func.isRequired,
|
||||||
value: React.PropTypes.string,
|
value: PropTypes.string,
|
||||||
};
|
};
|
||||||
|
|
|
@ -14,6 +14,7 @@ See the License for the specific language governing permissions and
|
||||||
limitations under the License.
|
limitations under the License.
|
||||||
*/
|
*/
|
||||||
import React from 'react';
|
import React from 'react';
|
||||||
|
import PropTypes from 'prop-types';
|
||||||
import sdk from '../../../index';
|
import sdk from '../../../index';
|
||||||
const MemberAvatar = require('../avatars/MemberAvatar.js');
|
const MemberAvatar = require('../avatars/MemberAvatar.js');
|
||||||
import { _t } from '../../../languageHandler';
|
import { _t } from '../../../languageHandler';
|
||||||
|
@ -23,19 +24,19 @@ module.exports = React.createClass({
|
||||||
|
|
||||||
propTypes: {
|
propTypes: {
|
||||||
// An array of member events to summarise
|
// An array of member events to summarise
|
||||||
events: React.PropTypes.array.isRequired,
|
events: PropTypes.array.isRequired,
|
||||||
// An array of EventTiles to render when expanded
|
// An array of EventTiles to render when expanded
|
||||||
children: React.PropTypes.array.isRequired,
|
children: PropTypes.array.isRequired,
|
||||||
// The maximum number of names to show in either each summary e.g. 2 would result "A, B and 234 others left"
|
// The maximum number of names to show in either each summary e.g. 2 would result "A, B and 234 others left"
|
||||||
summaryLength: React.PropTypes.number,
|
summaryLength: PropTypes.number,
|
||||||
// The maximum number of avatars to display in the summary
|
// The maximum number of avatars to display in the summary
|
||||||
avatarsMaxLength: React.PropTypes.number,
|
avatarsMaxLength: PropTypes.number,
|
||||||
// The minimum number of events needed to trigger summarisation
|
// The minimum number of events needed to trigger summarisation
|
||||||
threshold: React.PropTypes.number,
|
threshold: PropTypes.number,
|
||||||
// Called when the MELS expansion is toggled
|
// Called when the MELS expansion is toggled
|
||||||
onToggle: React.PropTypes.func,
|
onToggle: PropTypes.func,
|
||||||
// Whether or not to begin with state.expanded=true
|
// Whether or not to begin with state.expanded=true
|
||||||
startExpanded: React.PropTypes.bool,
|
startExpanded: PropTypes.bool,
|
||||||
},
|
},
|
||||||
|
|
||||||
getInitialState: function() {
|
getInitialState: function() {
|
||||||
|
|
|
@ -17,6 +17,7 @@ limitations under the License.
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
import React from 'react';
|
import React from 'react';
|
||||||
|
import PropTypes from 'prop-types';
|
||||||
import * as Roles from '../../../Roles';
|
import * as Roles from '../../../Roles';
|
||||||
import { _t } from '../../../languageHandler';
|
import { _t } from '../../../languageHandler';
|
||||||
|
|
||||||
|
@ -24,23 +25,23 @@ module.exports = React.createClass({
|
||||||
displayName: 'PowerSelector',
|
displayName: 'PowerSelector',
|
||||||
|
|
||||||
propTypes: {
|
propTypes: {
|
||||||
value: React.PropTypes.number.isRequired,
|
value: PropTypes.number.isRequired,
|
||||||
// The maximum value that can be set with the power selector
|
// The maximum value that can be set with the power selector
|
||||||
maxValue: React.PropTypes.number.isRequired,
|
maxValue: PropTypes.number.isRequired,
|
||||||
|
|
||||||
// Default user power level for the room
|
// Default user power level for the room
|
||||||
usersDefault: React.PropTypes.number.isRequired,
|
usersDefault: PropTypes.number.isRequired,
|
||||||
|
|
||||||
// if true, the <select/> should be a 'controlled' form element and updated by React
|
// if true, the <select/> should be a 'controlled' form element and updated by React
|
||||||
// to reflect the current value, rather than left freeform.
|
// to reflect the current value, rather than left freeform.
|
||||||
// MemberInfo uses controlled; RoomSettings uses non-controlled.
|
// MemberInfo uses controlled; RoomSettings uses non-controlled.
|
||||||
//
|
//
|
||||||
// ignored if disabled is truthy. false by default.
|
// ignored if disabled is truthy. false by default.
|
||||||
controlled: React.PropTypes.bool,
|
controlled: PropTypes.bool,
|
||||||
|
|
||||||
// should the user be able to change the value? false by default.
|
// should the user be able to change the value? false by default.
|
||||||
disabled: React.PropTypes.bool,
|
disabled: PropTypes.bool,
|
||||||
onChange: React.PropTypes.func,
|
onChange: PropTypes.func,
|
||||||
},
|
},
|
||||||
|
|
||||||
getInitialState: function() {
|
getInitialState: function() {
|
||||||
|
|
|
@ -17,12 +17,13 @@ limitations under the License.
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
const React = require('react');
|
const React = require('react');
|
||||||
|
import PropTypes from 'prop-types';
|
||||||
|
|
||||||
module.exports = React.createClass({
|
module.exports = React.createClass({
|
||||||
displayName: 'ProgressBar',
|
displayName: 'ProgressBar',
|
||||||
propTypes: {
|
propTypes: {
|
||||||
value: React.PropTypes.number,
|
value: PropTypes.number,
|
||||||
max: React.PropTypes.number,
|
max: PropTypes.number,
|
||||||
},
|
},
|
||||||
|
|
||||||
render: function() {
|
render: function() {
|
||||||
|
|
|
@ -15,23 +15,24 @@ limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import React from "react";
|
import React from "react";
|
||||||
|
import PropTypes from 'prop-types';
|
||||||
import SettingsStore from "../../../settings/SettingsStore";
|
import SettingsStore from "../../../settings/SettingsStore";
|
||||||
import { _t } from '../../../languageHandler';
|
import { _t } from '../../../languageHandler';
|
||||||
|
|
||||||
module.exports = React.createClass({
|
module.exports = React.createClass({
|
||||||
displayName: 'SettingsFlag',
|
displayName: 'SettingsFlag',
|
||||||
propTypes: {
|
propTypes: {
|
||||||
name: React.PropTypes.string.isRequired,
|
name: PropTypes.string.isRequired,
|
||||||
level: React.PropTypes.string.isRequired,
|
level: PropTypes.string.isRequired,
|
||||||
roomId: React.PropTypes.string, // for per-room settings
|
roomId: PropTypes.string, // for per-room settings
|
||||||
label: React.PropTypes.string, // untranslated
|
label: PropTypes.string, // untranslated
|
||||||
onChange: React.PropTypes.func,
|
onChange: PropTypes.func,
|
||||||
isExplicit: React.PropTypes.bool,
|
isExplicit: PropTypes.bool,
|
||||||
manualSave: React.PropTypes.bool,
|
manualSave: PropTypes.bool,
|
||||||
|
|
||||||
// If group is supplied, then this will create a radio button instead.
|
// If group is supplied, then this will create a radio button instead.
|
||||||
group: React.PropTypes.string,
|
group: PropTypes.string,
|
||||||
value: React.PropTypes.any, // the value for the radio button
|
value: PropTypes.any, // the value for the radio button
|
||||||
},
|
},
|
||||||
|
|
||||||
getInitialState: function() {
|
getInitialState: function() {
|
||||||
|
|
|
@ -39,7 +39,7 @@ export default React.createClass({
|
||||||
},
|
},
|
||||||
|
|
||||||
contextTypes: {
|
contextTypes: {
|
||||||
matrixClient: React.PropTypes.instanceOf(MatrixClient).isRequired,
|
matrixClient: PropTypes.instanceOf(MatrixClient).isRequired,
|
||||||
},
|
},
|
||||||
|
|
||||||
getInitialState() {
|
getInitialState() {
|
||||||
|
|
|
@ -18,16 +18,17 @@ limitations under the License.
|
||||||
|
|
||||||
const React = require('react');
|
const React = require('react');
|
||||||
const ReactDOM = require("react-dom");
|
const ReactDOM = require("react-dom");
|
||||||
|
import PropTypes from 'prop-types';
|
||||||
const Tinter = require("../../../Tinter");
|
const Tinter = require("../../../Tinter");
|
||||||
|
|
||||||
var TintableSvg = React.createClass({
|
var TintableSvg = React.createClass({
|
||||||
displayName: 'TintableSvg',
|
displayName: 'TintableSvg',
|
||||||
|
|
||||||
propTypes: {
|
propTypes: {
|
||||||
src: React.PropTypes.string.isRequired,
|
src: PropTypes.string.isRequired,
|
||||||
width: React.PropTypes.string.isRequired,
|
width: PropTypes.string.isRequired,
|
||||||
height: React.PropTypes.string.isRequired,
|
height: PropTypes.string.isRequired,
|
||||||
className: React.PropTypes.string,
|
className: PropTypes.string,
|
||||||
},
|
},
|
||||||
|
|
||||||
statics: {
|
statics: {
|
||||||
|
|
|
@ -17,14 +17,15 @@ limitations under the License.
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
import React from 'react';
|
import React from 'react';
|
||||||
|
import PropTypes from 'prop-types';
|
||||||
import { _t } from '../../../languageHandler';
|
import { _t } from '../../../languageHandler';
|
||||||
|
|
||||||
module.exports = React.createClass({
|
module.exports = React.createClass({
|
||||||
displayName: 'UserSelector',
|
displayName: 'UserSelector',
|
||||||
|
|
||||||
propTypes: {
|
propTypes: {
|
||||||
onChange: React.PropTypes.func,
|
onChange: PropTypes.func,
|
||||||
selected_users: React.PropTypes.arrayOf(React.PropTypes.string),
|
selected_users: PropTypes.arrayOf(React.PropTypes.string),
|
||||||
},
|
},
|
||||||
|
|
||||||
getDefaultProps: function() {
|
getDefaultProps: function() {
|
||||||
|
|
|
@ -66,7 +66,7 @@ const GroupRoomTile = React.createClass({
|
||||||
});
|
});
|
||||||
|
|
||||||
GroupRoomTile.contextTypes = {
|
GroupRoomTile.contextTypes = {
|
||||||
matrixClient: React.PropTypes.instanceOf(MatrixClient).isRequired,
|
matrixClient: PropTypes.instanceOf(MatrixClient).isRequired,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -33,7 +33,7 @@ const GroupTile = React.createClass({
|
||||||
},
|
},
|
||||||
|
|
||||||
contextTypes: {
|
contextTypes: {
|
||||||
matrixClient: React.PropTypes.instanceOf(MatrixClient).isRequired,
|
matrixClient: PropTypes.instanceOf(MatrixClient).isRequired,
|
||||||
},
|
},
|
||||||
|
|
||||||
getInitialState() {
|
getInitialState() {
|
||||||
|
|
|
@ -18,6 +18,7 @@ limitations under the License.
|
||||||
|
|
||||||
import React from 'react';
|
import React from 'react';
|
||||||
import ReactDOM from 'react-dom';
|
import ReactDOM from 'react-dom';
|
||||||
|
import PropTypes from 'prop-types';
|
||||||
import { _t } from '../../../languageHandler';
|
import { _t } from '../../../languageHandler';
|
||||||
|
|
||||||
const DIV_ID = 'mx_recaptcha';
|
const DIV_ID = 'mx_recaptcha';
|
||||||
|
@ -29,10 +30,10 @@ module.exports = React.createClass({
|
||||||
displayName: 'CaptchaForm',
|
displayName: 'CaptchaForm',
|
||||||
|
|
||||||
propTypes: {
|
propTypes: {
|
||||||
sitePublicKey: React.PropTypes.string,
|
sitePublicKey: PropTypes.string,
|
||||||
|
|
||||||
// called with the captcha response
|
// called with the captcha response
|
||||||
onCaptchaResponse: React.PropTypes.func,
|
onCaptchaResponse: PropTypes.func,
|
||||||
},
|
},
|
||||||
|
|
||||||
getDefaultProps: function() {
|
getDefaultProps: function() {
|
||||||
|
|
|
@ -17,13 +17,14 @@ limitations under the License.
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
import React from 'react';
|
import React from 'react';
|
||||||
|
import PropTypes from 'prop-types';
|
||||||
import { _t } from '../../../languageHandler';
|
import { _t } from '../../../languageHandler';
|
||||||
|
|
||||||
module.exports = React.createClass({
|
module.exports = React.createClass({
|
||||||
displayName: 'CasLogin',
|
displayName: 'CasLogin',
|
||||||
|
|
||||||
propTypes: {
|
propTypes: {
|
||||||
onSubmit: React.PropTypes.func, // fn()
|
onSubmit: PropTypes.func, // fn()
|
||||||
},
|
},
|
||||||
|
|
||||||
render: function() {
|
render: function() {
|
||||||
|
|
|
@ -15,6 +15,7 @@ limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import React from 'react';
|
import React from 'react';
|
||||||
|
import PropTypes from 'prop-types';
|
||||||
|
|
||||||
import sdk from '../../../index';
|
import sdk from '../../../index';
|
||||||
|
|
||||||
|
@ -131,11 +132,11 @@ export default class CountryDropdown extends React.Component {
|
||||||
}
|
}
|
||||||
|
|
||||||
CountryDropdown.propTypes = {
|
CountryDropdown.propTypes = {
|
||||||
className: React.PropTypes.string,
|
className: PropTypes.string,
|
||||||
isSmall: React.PropTypes.bool,
|
isSmall: PropTypes.bool,
|
||||||
// if isSmall, show +44 in the selected value
|
// if isSmall, show +44 in the selected value
|
||||||
showPrefix: React.PropTypes.bool,
|
showPrefix: PropTypes.bool,
|
||||||
onOptionChange: React.PropTypes.func.isRequired,
|
onOptionChange: PropTypes.func.isRequired,
|
||||||
value: React.PropTypes.string,
|
value: PropTypes.string,
|
||||||
disabled: React.PropTypes.bool,
|
disabled: PropTypes.bool,
|
||||||
};
|
};
|
||||||
|
|
|
@ -16,6 +16,7 @@ limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import React from 'react';
|
import React from 'react';
|
||||||
|
import PropTypes from 'prop-types';
|
||||||
import url from 'url';
|
import url from 'url';
|
||||||
import classnames from 'classnames';
|
import classnames from 'classnames';
|
||||||
|
|
||||||
|
@ -69,12 +70,12 @@ export const PasswordAuthEntry = React.createClass({
|
||||||
},
|
},
|
||||||
|
|
||||||
propTypes: {
|
propTypes: {
|
||||||
matrixClient: React.PropTypes.object.isRequired,
|
matrixClient: PropTypes.object.isRequired,
|
||||||
submitAuthDict: React.PropTypes.func.isRequired,
|
submitAuthDict: PropTypes.func.isRequired,
|
||||||
errorText: React.PropTypes.string,
|
errorText: PropTypes.string,
|
||||||
// is the auth logic currently waiting for something to
|
// is the auth logic currently waiting for something to
|
||||||
// happen?
|
// happen?
|
||||||
busy: React.PropTypes.bool,
|
busy: PropTypes.bool,
|
||||||
},
|
},
|
||||||
|
|
||||||
getInitialState: function() {
|
getInitialState: function() {
|
||||||
|
@ -158,10 +159,10 @@ export const RecaptchaAuthEntry = React.createClass({
|
||||||
},
|
},
|
||||||
|
|
||||||
propTypes: {
|
propTypes: {
|
||||||
submitAuthDict: React.PropTypes.func.isRequired,
|
submitAuthDict: PropTypes.func.isRequired,
|
||||||
stageParams: React.PropTypes.object.isRequired,
|
stageParams: PropTypes.object.isRequired,
|
||||||
errorText: React.PropTypes.string,
|
errorText: PropTypes.string,
|
||||||
busy: React.PropTypes.bool,
|
busy: PropTypes.bool,
|
||||||
},
|
},
|
||||||
|
|
||||||
_onCaptchaResponse: function(response) {
|
_onCaptchaResponse: function(response) {
|
||||||
|
@ -200,15 +201,15 @@ export const EmailIdentityAuthEntry = React.createClass({
|
||||||
},
|
},
|
||||||
|
|
||||||
propTypes: {
|
propTypes: {
|
||||||
matrixClient: React.PropTypes.object.isRequired,
|
matrixClient: PropTypes.object.isRequired,
|
||||||
submitAuthDict: React.PropTypes.func.isRequired,
|
submitAuthDict: PropTypes.func.isRequired,
|
||||||
authSessionId: React.PropTypes.string.isRequired,
|
authSessionId: PropTypes.string.isRequired,
|
||||||
clientSecret: React.PropTypes.string.isRequired,
|
clientSecret: PropTypes.string.isRequired,
|
||||||
inputs: React.PropTypes.object.isRequired,
|
inputs: PropTypes.object.isRequired,
|
||||||
stageState: React.PropTypes.object.isRequired,
|
stageState: PropTypes.object.isRequired,
|
||||||
fail: React.PropTypes.func.isRequired,
|
fail: PropTypes.func.isRequired,
|
||||||
setEmailSid: React.PropTypes.func.isRequired,
|
setEmailSid: PropTypes.func.isRequired,
|
||||||
makeRegistrationUrl: React.PropTypes.func.isRequired,
|
makeRegistrationUrl: PropTypes.func.isRequired,
|
||||||
},
|
},
|
||||||
|
|
||||||
getInitialState: function() {
|
getInitialState: function() {
|
||||||
|
@ -275,15 +276,15 @@ export const MsisdnAuthEntry = React.createClass({
|
||||||
},
|
},
|
||||||
|
|
||||||
propTypes: {
|
propTypes: {
|
||||||
inputs: React.PropTypes.shape({
|
inputs: PropTypes.shape({
|
||||||
phoneCountry: React.PropTypes.string,
|
phoneCountry: PropTypes.string,
|
||||||
phoneNumber: React.PropTypes.string,
|
phoneNumber: PropTypes.string,
|
||||||
}),
|
}),
|
||||||
fail: React.PropTypes.func,
|
fail: PropTypes.func,
|
||||||
clientSecret: React.PropTypes.func,
|
clientSecret: PropTypes.func,
|
||||||
submitAuthDict: React.PropTypes.func.isRequired,
|
submitAuthDict: PropTypes.func.isRequired,
|
||||||
matrixClient: React.PropTypes.object,
|
matrixClient: PropTypes.object,
|
||||||
submitAuthDict: React.PropTypes.func,
|
submitAuthDict: PropTypes.func,
|
||||||
},
|
},
|
||||||
|
|
||||||
getInitialState: function() {
|
getInitialState: function() {
|
||||||
|
@ -405,11 +406,11 @@ export const FallbackAuthEntry = React.createClass({
|
||||||
displayName: 'FallbackAuthEntry',
|
displayName: 'FallbackAuthEntry',
|
||||||
|
|
||||||
propTypes: {
|
propTypes: {
|
||||||
matrixClient: React.PropTypes.object.isRequired,
|
matrixClient: PropTypes.object.isRequired,
|
||||||
authSessionId: React.PropTypes.string.isRequired,
|
authSessionId: PropTypes.string.isRequired,
|
||||||
loginType: React.PropTypes.string.isRequired,
|
loginType: PropTypes.string.isRequired,
|
||||||
submitAuthDict: React.PropTypes.func.isRequired,
|
submitAuthDict: PropTypes.func.isRequired,
|
||||||
errorText: React.PropTypes.string,
|
errorText: PropTypes.string,
|
||||||
},
|
},
|
||||||
|
|
||||||
componentWillMount: function() {
|
componentWillMount: function() {
|
||||||
|
|
|
@ -16,6 +16,7 @@ limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import React from 'react';
|
import React from 'react';
|
||||||
|
import PropTypes from 'prop-types';
|
||||||
import classNames from 'classnames';
|
import classNames from 'classnames';
|
||||||
import sdk from '../../../index';
|
import sdk from '../../../index';
|
||||||
import { _t } from '../../../languageHandler';
|
import { _t } from '../../../languageHandler';
|
||||||
|
@ -256,17 +257,17 @@ PasswordLogin.LOGIN_FIELD_MXID = "login_field_mxid";
|
||||||
PasswordLogin.LOGIN_FIELD_PHONE = "login_field_phone";
|
PasswordLogin.LOGIN_FIELD_PHONE = "login_field_phone";
|
||||||
|
|
||||||
PasswordLogin.propTypes = {
|
PasswordLogin.propTypes = {
|
||||||
onSubmit: React.PropTypes.func.isRequired, // fn(username, password)
|
onSubmit: PropTypes.func.isRequired, // fn(username, password)
|
||||||
onForgotPasswordClick: React.PropTypes.func, // fn()
|
onForgotPasswordClick: PropTypes.func, // fn()
|
||||||
initialUsername: React.PropTypes.string,
|
initialUsername: PropTypes.string,
|
||||||
initialPhoneCountry: React.PropTypes.string,
|
initialPhoneCountry: PropTypes.string,
|
||||||
initialPhoneNumber: React.PropTypes.string,
|
initialPhoneNumber: PropTypes.string,
|
||||||
initialPassword: React.PropTypes.string,
|
initialPassword: PropTypes.string,
|
||||||
onUsernameChanged: React.PropTypes.func,
|
onUsernameChanged: PropTypes.func,
|
||||||
onPhoneCountryChanged: React.PropTypes.func,
|
onPhoneCountryChanged: PropTypes.func,
|
||||||
onPhoneNumberChanged: React.PropTypes.func,
|
onPhoneNumberChanged: PropTypes.func,
|
||||||
onPasswordChanged: React.PropTypes.func,
|
onPasswordChanged: PropTypes.func,
|
||||||
loginIncorrect: React.PropTypes.bool,
|
loginIncorrect: PropTypes.bool,
|
||||||
};
|
};
|
||||||
|
|
||||||
module.exports = PasswordLogin;
|
module.exports = PasswordLogin;
|
||||||
|
|
|
@ -16,6 +16,7 @@ limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import React from 'react';
|
import React from 'react';
|
||||||
|
import PropTypes from 'prop-types';
|
||||||
import { field_input_incorrect } from '../../../UiEffects';
|
import { field_input_incorrect } from '../../../UiEffects';
|
||||||
import sdk from '../../../index';
|
import sdk from '../../../index';
|
||||||
import Email from '../../../email';
|
import Email from '../../../email';
|
||||||
|
@ -40,25 +41,25 @@ module.exports = React.createClass({
|
||||||
|
|
||||||
propTypes: {
|
propTypes: {
|
||||||
// Values pre-filled in the input boxes when the component loads
|
// Values pre-filled in the input boxes when the component loads
|
||||||
defaultEmail: React.PropTypes.string,
|
defaultEmail: PropTypes.string,
|
||||||
defaultPhoneCountry: React.PropTypes.string,
|
defaultPhoneCountry: PropTypes.string,
|
||||||
defaultPhoneNumber: React.PropTypes.string,
|
defaultPhoneNumber: PropTypes.string,
|
||||||
defaultUsername: React.PropTypes.string,
|
defaultUsername: PropTypes.string,
|
||||||
defaultPassword: React.PropTypes.string,
|
defaultPassword: PropTypes.string,
|
||||||
teamsConfig: React.PropTypes.shape({
|
teamsConfig: PropTypes.shape({
|
||||||
// Email address to request new teams
|
// Email address to request new teams
|
||||||
supportEmail: React.PropTypes.string,
|
supportEmail: PropTypes.string,
|
||||||
teams: React.PropTypes.arrayOf(React.PropTypes.shape({
|
teams: PropTypes.arrayOf(React.PropTypes.shape({
|
||||||
// The displayed name of the team
|
// The displayed name of the team
|
||||||
"name": React.PropTypes.string,
|
"name": PropTypes.string,
|
||||||
// The domain of team email addresses
|
// The domain of team email addresses
|
||||||
"domain": React.PropTypes.string,
|
"domain": PropTypes.string,
|
||||||
})).required,
|
})).required,
|
||||||
}),
|
}),
|
||||||
|
|
||||||
minPasswordLength: React.PropTypes.number,
|
minPasswordLength: PropTypes.number,
|
||||||
onError: React.PropTypes.func,
|
onError: PropTypes.func,
|
||||||
onRegisterClick: React.PropTypes.func.isRequired, // onRegisterClick(Object) => ?Promise
|
onRegisterClick: PropTypes.func.isRequired, // onRegisterClick(Object) => ?Promise
|
||||||
},
|
},
|
||||||
|
|
||||||
getDefaultProps: function() {
|
getDefaultProps: function() {
|
||||||
|
|
|
@ -17,6 +17,7 @@ limitations under the License.
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
const React = require('react');
|
const React = require('react');
|
||||||
|
import PropTypes from 'prop-types';
|
||||||
const Modal = require('../../../Modal');
|
const Modal = require('../../../Modal');
|
||||||
const sdk = require('../../../index');
|
const sdk = require('../../../index');
|
||||||
import { _t } from '../../../languageHandler';
|
import { _t } from '../../../languageHandler';
|
||||||
|
@ -28,24 +29,24 @@ module.exports = React.createClass({
|
||||||
displayName: 'ServerConfig',
|
displayName: 'ServerConfig',
|
||||||
|
|
||||||
propTypes: {
|
propTypes: {
|
||||||
onServerConfigChange: React.PropTypes.func,
|
onServerConfigChange: PropTypes.func,
|
||||||
|
|
||||||
// default URLs are defined in config.json (or the hardcoded defaults)
|
// default URLs are defined in config.json (or the hardcoded defaults)
|
||||||
// they are used if the user has not overridden them with a custom URL.
|
// they are used if the user has not overridden them with a custom URL.
|
||||||
// In other words, if the custom URL is blank, the default is used.
|
// In other words, if the custom URL is blank, the default is used.
|
||||||
defaultHsUrl: React.PropTypes.string, // e.g. https://matrix.org
|
defaultHsUrl: PropTypes.string, // e.g. https://matrix.org
|
||||||
defaultIsUrl: React.PropTypes.string, // e.g. https://vector.im
|
defaultIsUrl: PropTypes.string, // e.g. https://vector.im
|
||||||
|
|
||||||
// custom URLs are explicitly provided by the user and override the
|
// custom URLs are explicitly provided by the user and override the
|
||||||
// default URLs. The user enters them via the component's input fields,
|
// default URLs. The user enters them via the component's input fields,
|
||||||
// which is reflected on these properties whenever on..UrlChanged fires.
|
// which is reflected on these properties whenever on..UrlChanged fires.
|
||||||
// They are persisted in localStorage by MatrixClientPeg, and so can
|
// They are persisted in localStorage by MatrixClientPeg, and so can
|
||||||
// override the default URLs when the component initially loads.
|
// override the default URLs when the component initially loads.
|
||||||
customHsUrl: React.PropTypes.string,
|
customHsUrl: PropTypes.string,
|
||||||
customIsUrl: React.PropTypes.string,
|
customIsUrl: PropTypes.string,
|
||||||
|
|
||||||
withToggleButton: React.PropTypes.bool,
|
withToggleButton: PropTypes.bool,
|
||||||
delayTimeMs: React.PropTypes.number, // time to wait before invoking onChanged
|
delayTimeMs: PropTypes.number, // time to wait before invoking onChanged
|
||||||
},
|
},
|
||||||
|
|
||||||
getDefaultProps: function() {
|
getDefaultProps: function() {
|
||||||
|
|
|
@ -17,6 +17,7 @@ limitations under the License.
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
import React from 'react';
|
import React from 'react';
|
||||||
|
import PropTypes from 'prop-types';
|
||||||
import filesize from 'filesize';
|
import filesize from 'filesize';
|
||||||
import MatrixClientPeg from '../../../MatrixClientPeg';
|
import MatrixClientPeg from '../../../MatrixClientPeg';
|
||||||
import sdk from '../../../index';
|
import sdk from '../../../index';
|
||||||
|
@ -191,7 +192,7 @@ module.exports = React.createClass({
|
||||||
},
|
},
|
||||||
|
|
||||||
contextTypes: {
|
contextTypes: {
|
||||||
appConfig: React.PropTypes.object,
|
appConfig: PropTypes.object,
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -17,6 +17,7 @@ limitations under the License.
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
import React from 'react';
|
import React from 'react';
|
||||||
|
import PropTypes from 'prop-types';
|
||||||
import MFileBody from './MFileBody';
|
import MFileBody from './MFileBody';
|
||||||
import MatrixClientPeg from '../../../MatrixClientPeg';
|
import MatrixClientPeg from '../../../MatrixClientPeg';
|
||||||
import ImageUtils from '../../../ImageUtils';
|
import ImageUtils from '../../../ImageUtils';
|
||||||
|
@ -33,10 +34,10 @@ module.exports = React.createClass({
|
||||||
|
|
||||||
propTypes: {
|
propTypes: {
|
||||||
/* the MatrixEvent to show */
|
/* the MatrixEvent to show */
|
||||||
mxEvent: React.PropTypes.object.isRequired,
|
mxEvent: PropTypes.object.isRequired,
|
||||||
|
|
||||||
/* called when the image has loaded */
|
/* called when the image has loaded */
|
||||||
onWidgetLoad: React.PropTypes.func.isRequired,
|
onWidgetLoad: PropTypes.func.isRequired,
|
||||||
},
|
},
|
||||||
|
|
||||||
getInitialState: function() {
|
getInitialState: function() {
|
||||||
|
|
|
@ -17,6 +17,7 @@ limitations under the License.
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
import React from 'react';
|
import React from 'react';
|
||||||
|
import PropTypes from 'prop-types';
|
||||||
import MFileBody from './MFileBody';
|
import MFileBody from './MFileBody';
|
||||||
import MatrixClientPeg from '../../../MatrixClientPeg';
|
import MatrixClientPeg from '../../../MatrixClientPeg';
|
||||||
import { decryptFile, readBlobAsDataUri } from '../../../utils/DecryptFile';
|
import { decryptFile, readBlobAsDataUri } from '../../../utils/DecryptFile';
|
||||||
|
@ -29,10 +30,10 @@ module.exports = React.createClass({
|
||||||
|
|
||||||
propTypes: {
|
propTypes: {
|
||||||
/* the MatrixEvent to show */
|
/* the MatrixEvent to show */
|
||||||
mxEvent: React.PropTypes.object.isRequired,
|
mxEvent: PropTypes.object.isRequired,
|
||||||
|
|
||||||
/* called when the video has loaded */
|
/* called when the video has loaded */
|
||||||
onWidgetLoad: React.PropTypes.func.isRequired,
|
onWidgetLoad: PropTypes.func.isRequired,
|
||||||
},
|
},
|
||||||
|
|
||||||
getInitialState: function() {
|
getInitialState: function() {
|
||||||
|
|
|
@ -17,6 +17,7 @@ limitations under the License.
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
const React = require('react');
|
const React = require('react');
|
||||||
|
import PropTypes from 'prop-types';
|
||||||
const sdk = require('../../../index');
|
const sdk = require('../../../index');
|
||||||
|
|
||||||
module.exports = React.createClass({
|
module.exports = React.createClass({
|
||||||
|
@ -24,22 +25,22 @@ module.exports = React.createClass({
|
||||||
|
|
||||||
propTypes: {
|
propTypes: {
|
||||||
/* the MatrixEvent to show */
|
/* the MatrixEvent to show */
|
||||||
mxEvent: React.PropTypes.object.isRequired,
|
mxEvent: PropTypes.object.isRequired,
|
||||||
|
|
||||||
/* a list of words to highlight */
|
/* a list of words to highlight */
|
||||||
highlights: React.PropTypes.array,
|
highlights: PropTypes.array,
|
||||||
|
|
||||||
/* link URL for the highlights */
|
/* link URL for the highlights */
|
||||||
highlightLink: React.PropTypes.string,
|
highlightLink: PropTypes.string,
|
||||||
|
|
||||||
/* should show URL previews for this event */
|
/* should show URL previews for this event */
|
||||||
showUrlPreview: React.PropTypes.bool,
|
showUrlPreview: PropTypes.bool,
|
||||||
|
|
||||||
/* callback called when dynamic content in events are loaded */
|
/* callback called when dynamic content in events are loaded */
|
||||||
onWidgetLoad: React.PropTypes.func,
|
onWidgetLoad: PropTypes.func,
|
||||||
|
|
||||||
/* the shsape of the tile, used */
|
/* the shsape of the tile, used */
|
||||||
tileShape: React.PropTypes.string,
|
tileShape: PropTypes.string,
|
||||||
},
|
},
|
||||||
|
|
||||||
getEventTileOps: function() {
|
getEventTileOps: function() {
|
||||||
|
|
|
@ -15,6 +15,7 @@ limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import React from 'react';
|
import React from 'react';
|
||||||
|
import PropTypes from 'prop-types';
|
||||||
import MatrixClientPeg from '../../../MatrixClientPeg';
|
import MatrixClientPeg from '../../../MatrixClientPeg';
|
||||||
import { ContentRepo } from 'matrix-js-sdk';
|
import { ContentRepo } from 'matrix-js-sdk';
|
||||||
import { _t } from '../../../languageHandler';
|
import { _t } from '../../../languageHandler';
|
||||||
|
@ -27,7 +28,7 @@ module.exports = React.createClass({
|
||||||
|
|
||||||
propTypes: {
|
propTypes: {
|
||||||
/* the MatrixEvent to show */
|
/* the MatrixEvent to show */
|
||||||
mxEvent: React.PropTypes.object.isRequired,
|
mxEvent: PropTypes.object.isRequired,
|
||||||
},
|
},
|
||||||
|
|
||||||
onAvatarClick: function(name) {
|
onAvatarClick: function(name) {
|
||||||
|
|
|
@ -18,6 +18,7 @@ limitations under the License.
|
||||||
|
|
||||||
import React from 'react';
|
import React from 'react';
|
||||||
import ReactDOM from 'react-dom';
|
import ReactDOM from 'react-dom';
|
||||||
|
import PropTypes from 'prop-types';
|
||||||
import highlight from 'highlight.js';
|
import highlight from 'highlight.js';
|
||||||
import * as HtmlUtils from '../../../HtmlUtils';
|
import * as HtmlUtils from '../../../HtmlUtils';
|
||||||
import * as linkify from 'linkifyjs';
|
import * as linkify from 'linkifyjs';
|
||||||
|
@ -43,19 +44,19 @@ module.exports = React.createClass({
|
||||||
|
|
||||||
propTypes: {
|
propTypes: {
|
||||||
/* the MatrixEvent to show */
|
/* the MatrixEvent to show */
|
||||||
mxEvent: React.PropTypes.object.isRequired,
|
mxEvent: PropTypes.object.isRequired,
|
||||||
|
|
||||||
/* a list of words to highlight */
|
/* a list of words to highlight */
|
||||||
highlights: React.PropTypes.array,
|
highlights: PropTypes.array,
|
||||||
|
|
||||||
/* link URL for the highlights */
|
/* link URL for the highlights */
|
||||||
highlightLink: React.PropTypes.string,
|
highlightLink: PropTypes.string,
|
||||||
|
|
||||||
/* should show URL previews for this event */
|
/* should show URL previews for this event */
|
||||||
showUrlPreview: React.PropTypes.bool,
|
showUrlPreview: PropTypes.bool,
|
||||||
|
|
||||||
/* callback for when our widget has loaded */
|
/* callback for when our widget has loaded */
|
||||||
onWidgetLoad: React.PropTypes.func,
|
onWidgetLoad: PropTypes.func,
|
||||||
},
|
},
|
||||||
|
|
||||||
getInitialState: function() {
|
getInitialState: function() {
|
||||||
|
|
|
@ -17,6 +17,7 @@ limitations under the License.
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
const React = require('react');
|
const React = require('react');
|
||||||
|
import PropTypes from 'prop-types';
|
||||||
|
|
||||||
const TextForEvent = require('../../../TextForEvent');
|
const TextForEvent = require('../../../TextForEvent');
|
||||||
import sdk from '../../../index';
|
import sdk from '../../../index';
|
||||||
|
@ -26,7 +27,7 @@ module.exports = React.createClass({
|
||||||
|
|
||||||
propTypes: {
|
propTypes: {
|
||||||
/* the MatrixEvent to show */
|
/* the MatrixEvent to show */
|
||||||
mxEvent: React.PropTypes.object.isRequired,
|
mxEvent: PropTypes.object.isRequired,
|
||||||
},
|
},
|
||||||
|
|
||||||
render: function() {
|
render: function() {
|
||||||
|
|
|
@ -16,6 +16,7 @@ limitations under the License.
|
||||||
|
|
||||||
import Promise from 'bluebird';
|
import Promise from 'bluebird';
|
||||||
const React = require('react');
|
const React = require('react');
|
||||||
|
import PropTypes from 'prop-types';
|
||||||
const ObjectUtils = require("../../../ObjectUtils");
|
const ObjectUtils = require("../../../ObjectUtils");
|
||||||
const MatrixClientPeg = require('../../../MatrixClientPeg');
|
const MatrixClientPeg = require('../../../MatrixClientPeg');
|
||||||
const sdk = require("../../../index");
|
const sdk = require("../../../index");
|
||||||
|
@ -26,11 +27,11 @@ module.exports = React.createClass({
|
||||||
displayName: 'AliasSettings',
|
displayName: 'AliasSettings',
|
||||||
|
|
||||||
propTypes: {
|
propTypes: {
|
||||||
roomId: React.PropTypes.string.isRequired,
|
roomId: PropTypes.string.isRequired,
|
||||||
canSetCanonicalAlias: React.PropTypes.bool.isRequired,
|
canSetCanonicalAlias: PropTypes.bool.isRequired,
|
||||||
canSetAliases: React.PropTypes.bool.isRequired,
|
canSetAliases: PropTypes.bool.isRequired,
|
||||||
aliasEvents: React.PropTypes.array, // [MatrixEvent]
|
aliasEvents: PropTypes.array, // [MatrixEvent]
|
||||||
canonicalAliasEvent: React.PropTypes.object, // MatrixEvent
|
canonicalAliasEvent: PropTypes.object, // MatrixEvent
|
||||||
},
|
},
|
||||||
|
|
||||||
getDefaultProps: function() {
|
getDefaultProps: function() {
|
||||||
|
|
|
@ -15,6 +15,7 @@ limitations under the License.
|
||||||
*/
|
*/
|
||||||
import Promise from 'bluebird';
|
import Promise from 'bluebird';
|
||||||
const React = require('react');
|
const React = require('react');
|
||||||
|
import PropTypes from 'prop-types';
|
||||||
|
|
||||||
const sdk = require('../../../index');
|
const sdk = require('../../../index');
|
||||||
const Tinter = require('../../../Tinter');
|
const Tinter = require('../../../Tinter');
|
||||||
|
@ -42,7 +43,7 @@ module.exports = React.createClass({
|
||||||
displayName: 'ColorSettings',
|
displayName: 'ColorSettings',
|
||||||
|
|
||||||
propTypes: {
|
propTypes: {
|
||||||
room: React.PropTypes.object.isRequired,
|
room: PropTypes.object.isRequired,
|
||||||
},
|
},
|
||||||
|
|
||||||
getInitialState: function() {
|
getInitialState: function() {
|
||||||
|
|
|
@ -15,6 +15,7 @@ limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import React from 'react';
|
import React from 'react';
|
||||||
|
import PropTypes from 'prop-types';
|
||||||
import {MatrixEvent, MatrixClient} from 'matrix-js-sdk';
|
import {MatrixEvent, MatrixClient} from 'matrix-js-sdk';
|
||||||
import sdk from '../../../index';
|
import sdk from '../../../index';
|
||||||
import { _t } from '../../../languageHandler';
|
import { _t } from '../../../languageHandler';
|
||||||
|
@ -27,13 +28,13 @@ module.exports = React.createClass({
|
||||||
displayName: 'RelatedGroupSettings',
|
displayName: 'RelatedGroupSettings',
|
||||||
|
|
||||||
propTypes: {
|
propTypes: {
|
||||||
roomId: React.PropTypes.string.isRequired,
|
roomId: PropTypes.string.isRequired,
|
||||||
canSetRelatedGroups: React.PropTypes.bool.isRequired,
|
canSetRelatedGroups: PropTypes.bool.isRequired,
|
||||||
relatedGroupsEvent: React.PropTypes.instanceOf(MatrixEvent),
|
relatedGroupsEvent: PropTypes.instanceOf(MatrixEvent),
|
||||||
},
|
},
|
||||||
|
|
||||||
contextTypes: {
|
contextTypes: {
|
||||||
matrixClient: React.PropTypes.instanceOf(MatrixClient),
|
matrixClient: PropTypes.instanceOf(MatrixClient),
|
||||||
},
|
},
|
||||||
|
|
||||||
getDefaultProps: function() {
|
getDefaultProps: function() {
|
||||||
|
|
|
@ -16,6 +16,7 @@ limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
const React = require('react');
|
const React = require('react');
|
||||||
|
import PropTypes from 'prop-types';
|
||||||
const sdk = require("../../../index");
|
const sdk = require("../../../index");
|
||||||
import { _t, _td } from '../../../languageHandler';
|
import { _t, _td } from '../../../languageHandler';
|
||||||
import SettingsStore, {SettingLevel} from "../../../settings/SettingsStore";
|
import SettingsStore, {SettingLevel} from "../../../settings/SettingsStore";
|
||||||
|
@ -25,7 +26,7 @@ module.exports = React.createClass({
|
||||||
displayName: 'UrlPreviewSettings',
|
displayName: 'UrlPreviewSettings',
|
||||||
|
|
||||||
propTypes: {
|
propTypes: {
|
||||||
room: React.PropTypes.object,
|
room: PropTypes.object,
|
||||||
},
|
},
|
||||||
|
|
||||||
saveSettings: function() {
|
saveSettings: function() {
|
||||||
|
|
|
@ -17,6 +17,7 @@ limitations under the License.
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
import React from 'react';
|
import React from 'react';
|
||||||
|
import PropTypes from 'prop-types';
|
||||||
import MatrixClientPeg from '../../../MatrixClientPeg';
|
import MatrixClientPeg from '../../../MatrixClientPeg';
|
||||||
import AppTile from '../elements/AppTile';
|
import AppTile from '../elements/AppTile';
|
||||||
import Modal from '../../../Modal';
|
import Modal from '../../../Modal';
|
||||||
|
@ -36,7 +37,7 @@ module.exports = React.createClass({
|
||||||
displayName: 'AppsDrawer',
|
displayName: 'AppsDrawer',
|
||||||
|
|
||||||
propTypes: {
|
propTypes: {
|
||||||
room: React.PropTypes.object.isRequired,
|
room: PropTypes.object.isRequired,
|
||||||
},
|
},
|
||||||
|
|
||||||
getInitialState: function() {
|
getInitialState: function() {
|
||||||
|
|
|
@ -16,6 +16,7 @@ limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import React from 'react';
|
import React from 'react';
|
||||||
|
import PropTypes from 'prop-types';
|
||||||
import MatrixClientPeg from "../../../MatrixClientPeg";
|
import MatrixClientPeg from "../../../MatrixClientPeg";
|
||||||
import sdk from '../../../index';
|
import sdk from '../../../index';
|
||||||
import dis from "../../../dispatcher";
|
import dis from "../../../dispatcher";
|
||||||
|
@ -29,26 +30,26 @@ module.exports = React.createClass({
|
||||||
|
|
||||||
propTypes: {
|
propTypes: {
|
||||||
// js-sdk room object
|
// js-sdk room object
|
||||||
room: React.PropTypes.object.isRequired,
|
room: PropTypes.object.isRequired,
|
||||||
userId: React.PropTypes.string.isRequired,
|
userId: PropTypes.string.isRequired,
|
||||||
showApps: React.PropTypes.bool,
|
showApps: PropTypes.bool,
|
||||||
|
|
||||||
// Conference Handler implementation
|
// Conference Handler implementation
|
||||||
conferenceHandler: React.PropTypes.object,
|
conferenceHandler: PropTypes.object,
|
||||||
|
|
||||||
// set to true to show the file drop target
|
// set to true to show the file drop target
|
||||||
draggingFile: React.PropTypes.bool,
|
draggingFile: PropTypes.bool,
|
||||||
|
|
||||||
// set to true to show the 'active conf call' banner
|
// set to true to show the 'active conf call' banner
|
||||||
displayConfCallNotification: React.PropTypes.bool,
|
displayConfCallNotification: PropTypes.bool,
|
||||||
|
|
||||||
// maxHeight attribute for the aux panel and the video
|
// maxHeight attribute for the aux panel and the video
|
||||||
// therein
|
// therein
|
||||||
maxHeight: React.PropTypes.number,
|
maxHeight: PropTypes.number,
|
||||||
|
|
||||||
// a callback which is called when the content of the aux panel changes
|
// a callback which is called when the content of the aux panel changes
|
||||||
// content in a way that is likely to make it change size.
|
// content in a way that is likely to make it change size.
|
||||||
onResize: React.PropTypes.func,
|
onResize: PropTypes.func,
|
||||||
},
|
},
|
||||||
|
|
||||||
shouldComponentUpdate: function(nextProps, nextState) {
|
shouldComponentUpdate: function(nextProps, nextState) {
|
||||||
|
|
|
@ -17,6 +17,7 @@ limitations under the License.
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
const React = require('react');
|
const React = require('react');
|
||||||
|
import PropTypes from 'prop-types';
|
||||||
|
|
||||||
const MatrixClientPeg = require('../../../MatrixClientPeg');
|
const MatrixClientPeg = require('../../../MatrixClientPeg');
|
||||||
const sdk = require('../../../index');
|
const sdk = require('../../../index');
|
||||||
|
@ -51,18 +52,18 @@ const EntityTile = React.createClass({
|
||||||
displayName: 'EntityTile',
|
displayName: 'EntityTile',
|
||||||
|
|
||||||
propTypes: {
|
propTypes: {
|
||||||
name: React.PropTypes.string,
|
name: PropTypes.string,
|
||||||
title: React.PropTypes.string,
|
title: PropTypes.string,
|
||||||
avatarJsx: React.PropTypes.any, // <BaseAvatar />
|
avatarJsx: PropTypes.any, // <BaseAvatar />
|
||||||
className: React.PropTypes.string,
|
className: PropTypes.string,
|
||||||
presenceState: React.PropTypes.string,
|
presenceState: PropTypes.string,
|
||||||
presenceLastActiveAgo: React.PropTypes.number,
|
presenceLastActiveAgo: PropTypes.number,
|
||||||
presenceLastTs: React.PropTypes.number,
|
presenceLastTs: PropTypes.number,
|
||||||
presenceCurrentlyActive: React.PropTypes.bool,
|
presenceCurrentlyActive: PropTypes.bool,
|
||||||
showInviteButton: React.PropTypes.bool,
|
showInviteButton: PropTypes.bool,
|
||||||
shouldComponentUpdate: React.PropTypes.func,
|
shouldComponentUpdate: PropTypes.func,
|
||||||
onClick: React.PropTypes.func,
|
onClick: PropTypes.func,
|
||||||
suppressOnHover: React.PropTypes.bool,
|
suppressOnHover: PropTypes.bool,
|
||||||
},
|
},
|
||||||
|
|
||||||
getDefaultProps: function() {
|
getDefaultProps: function() {
|
||||||
|
|
|
@ -18,6 +18,7 @@ limitations under the License.
|
||||||
|
|
||||||
|
|
||||||
const React = require('react');
|
const React = require('react');
|
||||||
|
import PropTypes from 'prop-types';
|
||||||
const classNames = require("classnames");
|
const classNames = require("classnames");
|
||||||
import { _t, _td } from '../../../languageHandler';
|
import { _t, _td } from '../../../languageHandler';
|
||||||
const Modal = require('../../../Modal');
|
const Modal = require('../../../Modal');
|
||||||
|
@ -75,65 +76,65 @@ module.exports = withMatrixClient(React.createClass({
|
||||||
|
|
||||||
propTypes: {
|
propTypes: {
|
||||||
/* MatrixClient instance for sender verification etc */
|
/* MatrixClient instance for sender verification etc */
|
||||||
matrixClient: React.PropTypes.object.isRequired,
|
matrixClient: PropTypes.object.isRequired,
|
||||||
|
|
||||||
/* the MatrixEvent to show */
|
/* the MatrixEvent to show */
|
||||||
mxEvent: React.PropTypes.object.isRequired,
|
mxEvent: PropTypes.object.isRequired,
|
||||||
|
|
||||||
/* true if mxEvent is redacted. This is a prop because using mxEvent.isRedacted()
|
/* true if mxEvent is redacted. This is a prop because using mxEvent.isRedacted()
|
||||||
* might not be enough when deciding shouldComponentUpdate - prevProps.mxEvent
|
* might not be enough when deciding shouldComponentUpdate - prevProps.mxEvent
|
||||||
* references the same this.props.mxEvent.
|
* references the same this.props.mxEvent.
|
||||||
*/
|
*/
|
||||||
isRedacted: React.PropTypes.bool,
|
isRedacted: PropTypes.bool,
|
||||||
|
|
||||||
/* true if this is a continuation of the previous event (which has the
|
/* true if this is a continuation of the previous event (which has the
|
||||||
* effect of not showing another avatar/displayname
|
* effect of not showing another avatar/displayname
|
||||||
*/
|
*/
|
||||||
continuation: React.PropTypes.bool,
|
continuation: PropTypes.bool,
|
||||||
|
|
||||||
/* true if this is the last event in the timeline (which has the effect
|
/* true if this is the last event in the timeline (which has the effect
|
||||||
* of always showing the timestamp)
|
* of always showing the timestamp)
|
||||||
*/
|
*/
|
||||||
last: React.PropTypes.bool,
|
last: PropTypes.bool,
|
||||||
|
|
||||||
/* true if this is search context (which has the effect of greying out
|
/* true if this is search context (which has the effect of greying out
|
||||||
* the text
|
* the text
|
||||||
*/
|
*/
|
||||||
contextual: React.PropTypes.bool,
|
contextual: PropTypes.bool,
|
||||||
|
|
||||||
/* a list of words to highlight, ordered by longest first */
|
/* a list of words to highlight, ordered by longest first */
|
||||||
highlights: React.PropTypes.array,
|
highlights: PropTypes.array,
|
||||||
|
|
||||||
/* link URL for the highlights */
|
/* link URL for the highlights */
|
||||||
highlightLink: React.PropTypes.string,
|
highlightLink: PropTypes.string,
|
||||||
|
|
||||||
/* should show URL previews for this event */
|
/* should show URL previews for this event */
|
||||||
showUrlPreview: React.PropTypes.bool,
|
showUrlPreview: PropTypes.bool,
|
||||||
|
|
||||||
/* is this the focused event */
|
/* is this the focused event */
|
||||||
isSelectedEvent: React.PropTypes.bool,
|
isSelectedEvent: PropTypes.bool,
|
||||||
|
|
||||||
/* callback called when dynamic content in events are loaded */
|
/* callback called when dynamic content in events are loaded */
|
||||||
onWidgetLoad: React.PropTypes.func,
|
onWidgetLoad: PropTypes.func,
|
||||||
|
|
||||||
/* a list of read-receipts we should show. Each object has a 'roomMember' and 'ts'. */
|
/* a list of read-receipts we should show. Each object has a 'roomMember' and 'ts'. */
|
||||||
readReceipts: React.PropTypes.arrayOf(React.PropTypes.object),
|
readReceipts: PropTypes.arrayOf(React.PropTypes.object),
|
||||||
|
|
||||||
/* opaque readreceipt info for each userId; used by ReadReceiptMarker
|
/* opaque readreceipt info for each userId; used by ReadReceiptMarker
|
||||||
* to manage its animations. Should be an empty object when the room
|
* to manage its animations. Should be an empty object when the room
|
||||||
* first loads
|
* first loads
|
||||||
*/
|
*/
|
||||||
readReceiptMap: React.PropTypes.object,
|
readReceiptMap: PropTypes.object,
|
||||||
|
|
||||||
/* A function which is used to check if the parent panel is being
|
/* A function which is used to check if the parent panel is being
|
||||||
* unmounted, to avoid unnecessary work. Should return true if we
|
* unmounted, to avoid unnecessary work. Should return true if we
|
||||||
* are being unmounted.
|
* are being unmounted.
|
||||||
*/
|
*/
|
||||||
checkUnmounting: React.PropTypes.func,
|
checkUnmounting: PropTypes.func,
|
||||||
|
|
||||||
/* the status of this event - ie, mxEvent.status. Denormalised to here so
|
/* the status of this event - ie, mxEvent.status. Denormalised to here so
|
||||||
* that we can tell when it changes. */
|
* that we can tell when it changes. */
|
||||||
eventSendStatus: React.PropTypes.string,
|
eventSendStatus: PropTypes.string,
|
||||||
|
|
||||||
/* the shape of the tile. by default, the layout is intended for the
|
/* the shape of the tile. by default, the layout is intended for the
|
||||||
* normal room timeline. alternative values are: "file_list", "file_grid"
|
* normal room timeline. alternative values are: "file_list", "file_grid"
|
||||||
|
@ -142,10 +143,10 @@ module.exports = withMatrixClient(React.createClass({
|
||||||
* boiilerplatey. So just make the necessary render decisions conditional
|
* boiilerplatey. So just make the necessary render decisions conditional
|
||||||
* for now.
|
* for now.
|
||||||
*/
|
*/
|
||||||
tileShape: React.PropTypes.string,
|
tileShape: PropTypes.string,
|
||||||
|
|
||||||
// show twelve hour timestamps
|
// show twelve hour timestamps
|
||||||
isTwelveHour: React.PropTypes.bool,
|
isTwelveHour: PropTypes.bool,
|
||||||
},
|
},
|
||||||
|
|
||||||
getInitialState: function() {
|
getInitialState: function() {
|
||||||
|
|
|
@ -16,6 +16,7 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import React from 'react';
|
import React from 'react';
|
||||||
|
import PropTypes from 'prop-types';
|
||||||
import { _t } from '../../../languageHandler';
|
import { _t } from '../../../languageHandler';
|
||||||
import dis from '../../../dispatcher';
|
import dis from '../../../dispatcher';
|
||||||
import { KeyCode } from '../../../Keyboard';
|
import { KeyCode } from '../../../Keyboard';
|
||||||
|
@ -25,7 +26,7 @@ module.exports = React.createClass({
|
||||||
displayName: 'ForwardMessage',
|
displayName: 'ForwardMessage',
|
||||||
|
|
||||||
propTypes: {
|
propTypes: {
|
||||||
onCancelClick: React.PropTypes.func.isRequired,
|
onCancelClick: PropTypes.func.isRequired,
|
||||||
},
|
},
|
||||||
|
|
||||||
componentWillMount: function() {
|
componentWillMount: function() {
|
||||||
|
|
|
@ -17,6 +17,7 @@ limitations under the License.
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
const React = require('react');
|
const React = require('react');
|
||||||
|
import PropTypes from 'prop-types';
|
||||||
|
|
||||||
const sdk = require('../../../index');
|
const sdk = require('../../../index');
|
||||||
const MatrixClientPeg = require('../../../MatrixClientPeg');
|
const MatrixClientPeg = require('../../../MatrixClientPeg');
|
||||||
|
@ -32,10 +33,10 @@ module.exports = React.createClass({
|
||||||
displayName: 'LinkPreviewWidget',
|
displayName: 'LinkPreviewWidget',
|
||||||
|
|
||||||
propTypes: {
|
propTypes: {
|
||||||
link: React.PropTypes.string.isRequired, // the URL being previewed
|
link: PropTypes.string.isRequired, // the URL being previewed
|
||||||
mxEvent: React.PropTypes.object.isRequired, // the Event associated with the preview
|
mxEvent: PropTypes.object.isRequired, // the Event associated with the preview
|
||||||
onCancelClick: React.PropTypes.func, // called when the preview's cancel ('hide') button is clicked
|
onCancelClick: PropTypes.func, // called when the preview's cancel ('hide') button is clicked
|
||||||
onWidgetLoad: React.PropTypes.func, // called when the preview's contents has loaded
|
onWidgetLoad: PropTypes.func, // called when the preview's contents has loaded
|
||||||
},
|
},
|
||||||
|
|
||||||
getInitialState: function() {
|
getInitialState: function() {
|
||||||
|
|
|
@ -15,6 +15,7 @@ limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import React from 'react';
|
import React from 'react';
|
||||||
|
import PropTypes from 'prop-types';
|
||||||
import sdk from '../../../index';
|
import sdk from '../../../index';
|
||||||
import { _t } from '../../../languageHandler';
|
import { _t } from '../../../languageHandler';
|
||||||
|
|
||||||
|
@ -65,6 +66,6 @@ export default class MemberDeviceInfo extends React.Component {
|
||||||
|
|
||||||
MemberDeviceInfo.displayName = 'MemberDeviceInfo';
|
MemberDeviceInfo.displayName = 'MemberDeviceInfo';
|
||||||
MemberDeviceInfo.propTypes = {
|
MemberDeviceInfo.propTypes = {
|
||||||
userId: React.PropTypes.string.isRequired,
|
userId: PropTypes.string.isRequired,
|
||||||
device: React.PropTypes.object.isRequired,
|
device: PropTypes.object.isRequired,
|
||||||
};
|
};
|
||||||
|
|
|
@ -27,6 +27,7 @@ limitations under the License.
|
||||||
* 'isTargetMod': boolean
|
* 'isTargetMod': boolean
|
||||||
*/
|
*/
|
||||||
import React from 'react';
|
import React from 'react';
|
||||||
|
import PropTypes from 'prop-types';
|
||||||
import classNames from 'classnames';
|
import classNames from 'classnames';
|
||||||
import dis from '../../../dispatcher';
|
import dis from '../../../dispatcher';
|
||||||
import Modal from '../../../Modal';
|
import Modal from '../../../Modal';
|
||||||
|
@ -45,8 +46,8 @@ module.exports = withMatrixClient(React.createClass({
|
||||||
displayName: 'MemberInfo',
|
displayName: 'MemberInfo',
|
||||||
|
|
||||||
propTypes: {
|
propTypes: {
|
||||||
matrixClient: React.PropTypes.object.isRequired,
|
matrixClient: PropTypes.object.isRequired,
|
||||||
member: React.PropTypes.object.isRequired,
|
member: PropTypes.object.isRequired,
|
||||||
},
|
},
|
||||||
|
|
||||||
getInitialState: function() {
|
getInitialState: function() {
|
||||||
|
|
|
@ -17,6 +17,7 @@ limitations under the License.
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
const React = require('react');
|
const React = require('react');
|
||||||
|
import PropTypes from 'prop-types';
|
||||||
|
|
||||||
const MatrixClientPeg = require('../../../MatrixClientPeg');
|
const MatrixClientPeg = require('../../../MatrixClientPeg');
|
||||||
const sdk = require('../../../index');
|
const sdk = require('../../../index');
|
||||||
|
@ -28,7 +29,7 @@ module.exports = React.createClass({
|
||||||
displayName: 'MemberTile',
|
displayName: 'MemberTile',
|
||||||
|
|
||||||
propTypes: {
|
propTypes: {
|
||||||
member: React.PropTypes.any.isRequired, // RoomMember
|
member: PropTypes.any.isRequired, // RoomMember
|
||||||
},
|
},
|
||||||
|
|
||||||
getInitialState: function() {
|
getInitialState: function() {
|
||||||
|
|
|
@ -15,6 +15,7 @@ See the License for the specific language governing permissions and
|
||||||
limitations under the License.
|
limitations under the License.
|
||||||
*/
|
*/
|
||||||
import React from 'react';
|
import React from 'react';
|
||||||
|
import PropTypes from 'prop-types';
|
||||||
import { _t } from '../../../languageHandler';
|
import { _t } from '../../../languageHandler';
|
||||||
import CallHandler from '../../../CallHandler';
|
import CallHandler from '../../../CallHandler';
|
||||||
import MatrixClientPeg from '../../../MatrixClientPeg';
|
import MatrixClientPeg from '../../../MatrixClientPeg';
|
||||||
|
@ -399,17 +400,17 @@ export default class MessageComposer extends React.Component {
|
||||||
MessageComposer.propTypes = {
|
MessageComposer.propTypes = {
|
||||||
// a callback which is called when the height of the composer is
|
// a callback which is called when the height of the composer is
|
||||||
// changed due to a change in content.
|
// changed due to a change in content.
|
||||||
onResize: React.PropTypes.func,
|
onResize: PropTypes.func,
|
||||||
|
|
||||||
// js-sdk Room object
|
// js-sdk Room object
|
||||||
room: React.PropTypes.object.isRequired,
|
room: PropTypes.object.isRequired,
|
||||||
|
|
||||||
// string representing the current voip call state
|
// string representing the current voip call state
|
||||||
callState: React.PropTypes.string,
|
callState: PropTypes.string,
|
||||||
|
|
||||||
// callback when a file to upload is chosen
|
// callback when a file to upload is chosen
|
||||||
uploadFile: React.PropTypes.func.isRequired,
|
uploadFile: PropTypes.func.isRequired,
|
||||||
|
|
||||||
// string representing the current room app drawer state
|
// string representing the current room app drawer state
|
||||||
showApps: React.PropTypes.bool,
|
showApps: PropTypes.bool,
|
||||||
};
|
};
|
||||||
|
|
|
@ -15,6 +15,7 @@ See the License for the specific language governing permissions and
|
||||||
limitations under the License.
|
limitations under the License.
|
||||||
*/
|
*/
|
||||||
import React from 'react';
|
import React from 'react';
|
||||||
|
import PropTypes from 'prop-types';
|
||||||
import type SyntheticKeyboardEvent from 'react/lib/SyntheticKeyboardEvent';
|
import type SyntheticKeyboardEvent from 'react/lib/SyntheticKeyboardEvent';
|
||||||
|
|
||||||
import {Editor, EditorState, RichUtils, CompositeDecorator, Modifier,
|
import {Editor, EditorState, RichUtils, CompositeDecorator, Modifier,
|
||||||
|
@ -86,15 +87,15 @@ export default class MessageComposerInput extends React.Component {
|
||||||
static propTypes = {
|
static propTypes = {
|
||||||
// a callback which is called when the height of the composer is
|
// a callback which is called when the height of the composer is
|
||||||
// changed due to a change in content.
|
// changed due to a change in content.
|
||||||
onResize: React.PropTypes.func,
|
onResize: PropTypes.func,
|
||||||
|
|
||||||
// js-sdk Room object
|
// js-sdk Room object
|
||||||
room: React.PropTypes.object.isRequired,
|
room: PropTypes.object.isRequired,
|
||||||
|
|
||||||
// called with current plaintext content (as a string) whenever it changes
|
// called with current plaintext content (as a string) whenever it changes
|
||||||
onContentChanged: React.PropTypes.func,
|
onContentChanged: PropTypes.func,
|
||||||
|
|
||||||
onInputStateChanged: React.PropTypes.func,
|
onInputStateChanged: PropTypes.func,
|
||||||
};
|
};
|
||||||
|
|
||||||
static getKeyBinding(ev: SyntheticKeyboardEvent): string {
|
static getKeyBinding(ev: SyntheticKeyboardEvent): string {
|
||||||
|
@ -1178,15 +1179,15 @@ export default class MessageComposerInput extends React.Component {
|
||||||
MessageComposerInput.propTypes = {
|
MessageComposerInput.propTypes = {
|
||||||
// a callback which is called when the height of the composer is
|
// a callback which is called when the height of the composer is
|
||||||
// changed due to a change in content.
|
// changed due to a change in content.
|
||||||
onResize: React.PropTypes.func,
|
onResize: PropTypes.func,
|
||||||
|
|
||||||
// js-sdk Room object
|
// js-sdk Room object
|
||||||
room: React.PropTypes.object.isRequired,
|
room: PropTypes.object.isRequired,
|
||||||
|
|
||||||
// called with current plaintext content (as a string) whenever it changes
|
// called with current plaintext content (as a string) whenever it changes
|
||||||
onContentChanged: React.PropTypes.func,
|
onContentChanged: PropTypes.func,
|
||||||
|
|
||||||
onFilesPasted: React.PropTypes.func,
|
onFilesPasted: PropTypes.func,
|
||||||
|
|
||||||
onInputStateChanged: React.PropTypes.func,
|
onInputStateChanged: PropTypes.func,
|
||||||
};
|
};
|
||||||
|
|
|
@ -15,6 +15,7 @@ limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import React from "react";
|
import React from "react";
|
||||||
|
import PropTypes from 'prop-types';
|
||||||
import MatrixClientPeg from "../../../MatrixClientPeg";
|
import MatrixClientPeg from "../../../MatrixClientPeg";
|
||||||
import dis from "../../../dispatcher";
|
import dis from "../../../dispatcher";
|
||||||
import AccessibleButton from "../elements/AccessibleButton";
|
import AccessibleButton from "../elements/AccessibleButton";
|
||||||
|
@ -25,9 +26,9 @@ import { _t } from '../../../languageHandler';
|
||||||
module.exports = React.createClass({
|
module.exports = React.createClass({
|
||||||
displayName: 'PinnedEventTile',
|
displayName: 'PinnedEventTile',
|
||||||
propTypes: {
|
propTypes: {
|
||||||
mxRoom: React.PropTypes.object.isRequired,
|
mxRoom: PropTypes.object.isRequired,
|
||||||
mxEvent: React.PropTypes.object.isRequired,
|
mxEvent: PropTypes.object.isRequired,
|
||||||
onUnpinned: React.PropTypes.func,
|
onUnpinned: PropTypes.func,
|
||||||
},
|
},
|
||||||
onTileClicked: function() {
|
onTileClicked: function() {
|
||||||
dis.dispatch({
|
dis.dispatch({
|
||||||
|
|
|
@ -15,6 +15,7 @@ limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import React from "react";
|
import React from "react";
|
||||||
|
import PropTypes from 'prop-types';
|
||||||
import MatrixClientPeg from "../../../MatrixClientPeg";
|
import MatrixClientPeg from "../../../MatrixClientPeg";
|
||||||
import AccessibleButton from "../elements/AccessibleButton";
|
import AccessibleButton from "../elements/AccessibleButton";
|
||||||
import PinnedEventTile from "./PinnedEventTile";
|
import PinnedEventTile from "./PinnedEventTile";
|
||||||
|
@ -25,9 +26,9 @@ module.exports = React.createClass({
|
||||||
displayName: 'PinnedEventsPanel',
|
displayName: 'PinnedEventsPanel',
|
||||||
propTypes: {
|
propTypes: {
|
||||||
// The Room from the js-sdk we're going to show pinned events for
|
// The Room from the js-sdk we're going to show pinned events for
|
||||||
room: React.PropTypes.object.isRequired,
|
room: PropTypes.object.isRequired,
|
||||||
|
|
||||||
onCancelClick: React.PropTypes.func,
|
onCancelClick: PropTypes.func,
|
||||||
},
|
},
|
||||||
|
|
||||||
getInitialState: function() {
|
getInitialState: function() {
|
||||||
|
|
|
@ -17,6 +17,7 @@ limitations under the License.
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
import React from 'react';
|
import React from 'react';
|
||||||
|
import PropTypes from 'prop-types';
|
||||||
|
|
||||||
import { _t } from '../../../languageHandler';
|
import { _t } from '../../../languageHandler';
|
||||||
|
|
||||||
|
@ -27,14 +28,14 @@ module.exports = React.createClass({
|
||||||
propTypes: {
|
propTypes: {
|
||||||
// number of milliseconds ago this user was last active.
|
// number of milliseconds ago this user was last active.
|
||||||
// zero = unknown
|
// zero = unknown
|
||||||
activeAgo: React.PropTypes.number,
|
activeAgo: PropTypes.number,
|
||||||
|
|
||||||
// if true, activeAgo is an approximation and "Now" should
|
// if true, activeAgo is an approximation and "Now" should
|
||||||
// be shown instead
|
// be shown instead
|
||||||
currentlyActive: React.PropTypes.bool,
|
currentlyActive: PropTypes.bool,
|
||||||
|
|
||||||
// offline, online, etc
|
// offline, online, etc
|
||||||
presenceState: React.PropTypes.string,
|
presenceState: PropTypes.string,
|
||||||
},
|
},
|
||||||
|
|
||||||
getDefaultProps: function() {
|
getDefaultProps: function() {
|
||||||
|
|
|
@ -18,6 +18,7 @@ limitations under the License.
|
||||||
|
|
||||||
const React = require('react');
|
const React = require('react');
|
||||||
const ReactDOM = require('react-dom');
|
const ReactDOM = require('react-dom');
|
||||||
|
import PropTypes from 'prop-types';
|
||||||
|
|
||||||
const sdk = require('../../../index');
|
const sdk = require('../../../index');
|
||||||
|
|
||||||
|
@ -40,35 +41,35 @@ module.exports = React.createClass({
|
||||||
|
|
||||||
propTypes: {
|
propTypes: {
|
||||||
// the RoomMember to show the RR for
|
// the RoomMember to show the RR for
|
||||||
member: React.PropTypes.object.isRequired,
|
member: PropTypes.object.isRequired,
|
||||||
|
|
||||||
// number of pixels to offset the avatar from the right of its parent;
|
// number of pixels to offset the avatar from the right of its parent;
|
||||||
// typically a negative value.
|
// typically a negative value.
|
||||||
leftOffset: React.PropTypes.number,
|
leftOffset: PropTypes.number,
|
||||||
|
|
||||||
// true to hide the avatar (it will still be animated)
|
// true to hide the avatar (it will still be animated)
|
||||||
hidden: React.PropTypes.bool,
|
hidden: PropTypes.bool,
|
||||||
|
|
||||||
// don't animate this RR into position
|
// don't animate this RR into position
|
||||||
suppressAnimation: React.PropTypes.bool,
|
suppressAnimation: PropTypes.bool,
|
||||||
|
|
||||||
// an opaque object for storing information about this user's RR in
|
// an opaque object for storing information about this user's RR in
|
||||||
// this room
|
// this room
|
||||||
readReceiptInfo: React.PropTypes.object,
|
readReceiptInfo: PropTypes.object,
|
||||||
|
|
||||||
// A function which is used to check if the parent panel is being
|
// A function which is used to check if the parent panel is being
|
||||||
// unmounted, to avoid unnecessary work. Should return true if we
|
// unmounted, to avoid unnecessary work. Should return true if we
|
||||||
// are being unmounted.
|
// are being unmounted.
|
||||||
checkUnmounting: React.PropTypes.func,
|
checkUnmounting: PropTypes.func,
|
||||||
|
|
||||||
// callback for clicks on this RR
|
// callback for clicks on this RR
|
||||||
onClick: React.PropTypes.func,
|
onClick: PropTypes.func,
|
||||||
|
|
||||||
// Timestamp when the receipt was read
|
// Timestamp when the receipt was read
|
||||||
timestamp: React.PropTypes.number,
|
timestamp: PropTypes.number,
|
||||||
|
|
||||||
// True to show twelve hour format, false otherwise
|
// True to show twelve hour format, false otherwise
|
||||||
showTwelveHour: React.PropTypes.bool,
|
showTwelveHour: PropTypes.bool,
|
||||||
},
|
},
|
||||||
|
|
||||||
getDefaultProps: function() {
|
getDefaultProps: function() {
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue