Merge remote-tracking branch 'origin/dbkr/my_groups' into dbkr/groups_better_groupview
						commit
						c1833f9833
					
				|  | @ -269,17 +269,19 @@ export default React.createClass({ | |||
|                 break; | ||||
| 
 | ||||
|             case PageTypes.HomePage: | ||||
|                 // If team server config is present, pass the teamServerURL. props.teamToken
 | ||||
|                 // must also be set for the team page to be displayed, otherwise the
 | ||||
|                 // welcomePageUrl is used (which might be undefined).
 | ||||
|                 const teamServerUrl = this.props.config.teamServerConfig ? | ||||
|                     this.props.config.teamServerConfig.teamServerURL : null; | ||||
|                 { | ||||
|                     // If team server config is present, pass the teamServerURL. props.teamToken
 | ||||
|                     // must also be set for the team page to be displayed, otherwise the
 | ||||
|                     // welcomePageUrl is used (which might be undefined).
 | ||||
|                     const teamServerUrl = this.props.config.teamServerConfig ? | ||||
|                         this.props.config.teamServerConfig.teamServerURL : null; | ||||
| 
 | ||||
|                 page_element = <HomePage | ||||
|                     teamServerUrl={teamServerUrl} | ||||
|                     teamToken={this.props.teamToken} | ||||
|                     homePageUrl={this.props.config.welcomePageUrl} | ||||
|                 />; | ||||
|                     page_element = <HomePage | ||||
|                         teamServerUrl={teamServerUrl} | ||||
|                         teamToken={this.props.teamToken} | ||||
|                         homePageUrl={this.props.config.welcomePageUrl} | ||||
|                     />; | ||||
|                 } | ||||
|                 break; | ||||
| 
 | ||||
|             case PageTypes.UserView: | ||||
|  |  | |||
|  | @ -17,7 +17,7 @@ limitations under the License. | |||
| import React from 'react'; | ||||
| import sdk from '../../index'; | ||||
| import { _t, _tJsx } from '../../languageHandler'; | ||||
| import WithMatrixClient from '../../wrappers/WithMatrixClient'; | ||||
| import withMatrixClient from '../../wrappers/withMatrixClient'; | ||||
| import AccessibleButton from '../views/elements/AccessibleButton'; | ||||
| import dis from '../../dispatcher'; | ||||
| import PropTypes from 'prop-types'; | ||||
|  | @ -40,10 +40,10 @@ const GroupTile = React.createClass({ | |||
| 
 | ||||
|     render: function() { | ||||
|         return <a onClick={this.onClick} href="#">{this.props.groupId}</a>; | ||||
|     } | ||||
|     }, | ||||
| }); | ||||
| 
 | ||||
| export default WithMatrixClient(React.createClass({ | ||||
| export default withMatrixClient(React.createClass({ | ||||
|     displayName: 'MyGroups', | ||||
| 
 | ||||
|     propTypes: { | ||||
|  | @ -84,12 +84,12 @@ export default WithMatrixClient(React.createClass({ | |||
| 
 | ||||
|         let content; | ||||
|         if (this.state.groups) { | ||||
|             let groupNodes = []; | ||||
|             const groupNodes = []; | ||||
|             this.state.groups.forEach((g) => { | ||||
|                 groupNodes.push( | ||||
|                     <div key={g}> | ||||
|                         <GroupTile groupId={g} /> | ||||
|                     </div> | ||||
|                     </div>, | ||||
|                 ); | ||||
|             }); | ||||
|             content = <div> | ||||
|  | @ -117,7 +117,7 @@ export default WithMatrixClient(React.createClass({ | |||
|                     {_t( | ||||
|                         'Create a group to represent your community! '+ | ||||
|                         'Define a set of rooms and your own custom homepage '+ | ||||
|                         'to mark out your space in the Matrix universe.' | ||||
|                         'to mark out your space in the Matrix universe.', | ||||
|                     )} | ||||
|                 </div> | ||||
|                 <div className="mx_MyGroups_joinBox"> | ||||
|  |  | |||
|  | @ -38,7 +38,7 @@ export default React.createClass({ | |||
|         }; | ||||
|     }, | ||||
| 
 | ||||
|     getGroupAvatarUrl: function(props) { | ||||
|     getGroupAvatarUrl: function() { | ||||
|         return MatrixClientPeg.get().mxcUrlToHttp( | ||||
|             this.props.groupAvatarUrl, | ||||
|             this.props.width, | ||||
|  | @ -50,6 +50,8 @@ export default React.createClass({ | |||
|     render: function() { | ||||
|         const BaseAvatar = sdk.getComponent("avatars.BaseAvatar"); | ||||
|         // extract the props we use from props so we can pass any others through
 | ||||
|         // should consider adding this as a global rule in js-sdk?
 | ||||
|         /*eslint no-unused-vars: ["error", { "ignoreRestSiblings": true }]*/ | ||||
|         const {groupId, groupAvatarUrl, ...otherProps} = this.props; | ||||
| 
 | ||||
|         return ( | ||||
|  | @ -60,5 +62,5 @@ export default React.createClass({ | |||
|                 {...otherProps} | ||||
|             /> | ||||
|         ); | ||||
|     } | ||||
|     }, | ||||
| }); | ||||
|  |  | |||
|  | @ -20,7 +20,6 @@ import sdk from '../../../index'; | |||
| import dis from '../../../dispatcher'; | ||||
| import { _t } from '../../../languageHandler'; | ||||
| import MatrixClientPeg from '../../../MatrixClientPeg'; | ||||
| import AccessibleButton from '../elements/AccessibleButton'; | ||||
| 
 | ||||
| // We match fairly liberally and leave it up to the server to reject if
 | ||||
| // there are invalid characters etc.
 | ||||
|  | @ -62,14 +61,17 @@ export default React.createClass({ | |||
|         const parsedGroupId = this._parseGroupId(this.state.groupId); | ||||
|         let error = null; | ||||
|         if (parsedGroupId === null) { | ||||
|             error = _t("Group IDs must be of the form +localpart:%(domain)s", {domain: MatrixClientPeg.get().getDomain()}); | ||||
|             error = _t( | ||||
|                 "Group IDs must be of the form +localpart:%(domain)s", | ||||
|                 {domain: MatrixClientPeg.get().getDomain()}, | ||||
|             ); | ||||
|         } else { | ||||
|             const localpart = parsedGroupId[0]; | ||||
|             const domain = parsedGroupId[1]; | ||||
|             if (domain !== MatrixClientPeg.get().getDomain()) { | ||||
|                 error = _t( | ||||
|                     "It is currently only possible to create groups on your own home server: use a group ID ending with %(domain)s", | ||||
|                     {domain: MatrixClientPeg.get().getDomain()} | ||||
|                     "It is currently only possible to create groups on your own home server: "+ | ||||
|                     "use a group ID ending with %(domain)s", | ||||
|                     {domain: MatrixClientPeg.get().getDomain()}, | ||||
|                 ); | ||||
|             } | ||||
|         } | ||||
|  | @ -114,6 +116,9 @@ export default React.createClass({ | |||
|      * Parse a string that may be a group ID | ||||
|      * If the string is a valid group ID, return a list of [localpart, domain], | ||||
|      * otherwise return null. | ||||
|      * | ||||
|      * @param {string} groupId The ID of the group | ||||
|      * @return {string[]} array of localpart, domain | ||||
|      */ | ||||
|     _parseGroupId: function(groupId) { | ||||
|         const matches = GROUP_REGEX.exec(this.state.groupId); | ||||
|  |  | |||
|  | @ -24,7 +24,7 @@ var Modal = require('../../../Modal'); | |||
| 
 | ||||
| var sdk = require('../../../index'); | ||||
| var TextForEvent = require('../../../TextForEvent'); | ||||
| import WithMatrixClient from '../../../wrappers/WithMatrixClient'; | ||||
| import withMatrixClient from '../../../wrappers/withMatrixClient'; | ||||
| 
 | ||||
| var ContextualMenu = require('../../structures/ContextualMenu'); | ||||
| import dis from '../../../dispatcher'; | ||||
|  | @ -59,7 +59,7 @@ var MAX_READ_AVATARS = 5; | |||
| // |    '--------------------------------------'              |
 | ||||
| // '----------------------------------------------------------'
 | ||||
| 
 | ||||
| module.exports = WithMatrixClient(React.createClass({ | ||||
| module.exports = withMatrixClient(React.createClass({ | ||||
|     displayName: 'EventTile', | ||||
| 
 | ||||
|     propTypes: { | ||||
|  |  | |||
|  | @ -36,12 +36,12 @@ import createRoom from '../../../createRoom'; | |||
| import DMRoomMap from '../../../utils/DMRoomMap'; | ||||
| import Unread from '../../../Unread'; | ||||
| import { findReadReceiptFromUserId } from '../../../utils/Receipt'; | ||||
| import WithMatrixClient from '../../../wrappers/WithMatrixClient'; | ||||
| import withMatrixClient from '../../../wrappers/withMatrixClient'; | ||||
| import AccessibleButton from '../elements/AccessibleButton'; | ||||
| import GeminiScrollbar from 'react-gemini-scrollbar'; | ||||
| 
 | ||||
| 
 | ||||
| module.exports = WithMatrixClient(React.createClass({ | ||||
| module.exports = withMatrixClient(React.createClass({ | ||||
|     displayName: 'MemberInfo', | ||||
| 
 | ||||
|     propTypes: { | ||||
|  |  | |||
|  | @ -19,10 +19,10 @@ import { _t } from '../../../languageHandler'; | |||
| 
 | ||||
| import sdk from '../../../index'; | ||||
| import AddThreepid from '../../../AddThreepid'; | ||||
| import WithMatrixClient from '../../../wrappers/WithMatrixClient'; | ||||
| import withMatrixClient from '../../../wrappers/withMatrixClient'; | ||||
| import Modal from '../../../Modal'; | ||||
| 
 | ||||
| export default WithMatrixClient(React.createClass({ | ||||
| export default withMatrixClient(React.createClass({ | ||||
|     displayName: 'AddPhoneNumber', | ||||
| 
 | ||||
|     propTypes: { | ||||
|  |  | |||
|  | @ -1,5 +1,6 @@ | |||
| /* | ||||
| Copyright 2015, 2016 OpenMarket Ltd | ||||
| Copyright 2017 Vector Creations Ltd | ||||
| 
 | ||||
| Licensed under the Apache License, Version 2.0 (the "License"); | ||||
| you may not use this file except in compliance with the License. | ||||
|  | @ -26,7 +27,7 @@ import React from 'react'; | |||
|  */ | ||||
| export default function(WrappedComponent) { | ||||
|     return React.createClass({ | ||||
|         displayName: "WithMatrixClient<" + WrappedComponent.displayName + ">", | ||||
|         displayName: "withMatrixClient<" + WrappedComponent.displayName + ">", | ||||
| 
 | ||||
|         contextTypes: { | ||||
|             matrixClient: React.PropTypes.instanceOf(Matrix.MatrixClient).isRequired, | ||||
		Loading…
	
		Reference in New Issue
	
	 David Baker
						David Baker