forked from matrix/element-web
Move CreateRoom to react-sdk
This commit is contained in:
parent
07001ae35e
commit
450b2d4d67
|
@ -29,6 +29,9 @@ skin['elements.ImageView'] = require('../../components/views/elements/ImageView'
|
||||||
skin['messages.MessageTimestamp'] = require('../../components/views/messages/MessageTimestamp');
|
skin['messages.MessageTimestamp'] = require('../../components/views/messages/MessageTimestamp');
|
||||||
skin['rooms.RoomTile'] = require('../../components/views/rooms/RoomDNDView');
|
skin['rooms.RoomTile'] = require('../../components/views/rooms/RoomDNDView');
|
||||||
|
|
||||||
|
|
||||||
|
skin['structures.CreateRoom'] = require('matrix-react-sdk/lib/components/structures/CreateRoom');
|
||||||
|
|
||||||
// TODO: Fix this so matrix-react-sdk stuff is in react SDK skindex?
|
// TODO: Fix this so matrix-react-sdk stuff is in react SDK skindex?
|
||||||
skin['avatars.RoomAvatar'] = require('matrix-react-sdk/lib/components/views/avatars/RoomAvatar');
|
skin['avatars.RoomAvatar'] = require('matrix-react-sdk/lib/components/views/avatars/RoomAvatar');
|
||||||
skin['avatars.MemberAvatar'] = require('matrix-react-sdk/lib/components/views/avatars/MemberAvatar');
|
skin['avatars.MemberAvatar'] = require('matrix-react-sdk/lib/components/views/avatars/MemberAvatar');
|
||||||
|
@ -82,7 +85,6 @@ skin['molecules.RoomDropTarget'] = require('./views/molecules/RoomDropTarget');
|
||||||
skin['molecules.RoomTooltip'] = require('./views/molecules/RoomTooltip');
|
skin['molecules.RoomTooltip'] = require('./views/molecules/RoomTooltip');
|
||||||
skin['molecules.SearchBar'] = require('./views/molecules/SearchBar');
|
skin['molecules.SearchBar'] = require('./views/molecules/SearchBar');
|
||||||
skin['molecules.SenderProfile'] = require('./views/molecules/SenderProfile');
|
skin['molecules.SenderProfile'] = require('./views/molecules/SenderProfile');
|
||||||
skin['organisms.CreateRoom'] = require('./views/organisms/CreateRoom');
|
|
||||||
skin['organisms.ErrorDialog'] = require('./views/organisms/ErrorDialog');
|
skin['organisms.ErrorDialog'] = require('./views/organisms/ErrorDialog');
|
||||||
skin['organisms.LeftPanel'] = require('./views/organisms/LeftPanel');
|
skin['organisms.LeftPanel'] = require('./views/organisms/LeftPanel');
|
||||||
skin['organisms.LogoutPrompt'] = require('./views/organisms/LogoutPrompt');
|
skin['organisms.LogoutPrompt'] = require('./views/organisms/LogoutPrompt');
|
||||||
|
|
|
@ -1,173 +0,0 @@
|
||||||
/*
|
|
||||||
Copyright 2015 OpenMarket Ltd
|
|
||||||
|
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
you may not use this file except in compliance with the License.
|
|
||||||
You may obtain a copy of the License at
|
|
||||||
|
|
||||||
http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
|
|
||||||
Unless required by applicable law or agreed to in writing, software
|
|
||||||
distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
See the License for the specific language governing permissions and
|
|
||||||
limitations under the License.
|
|
||||||
*/
|
|
||||||
|
|
||||||
'use strict';
|
|
||||||
|
|
||||||
var React = require('react');
|
|
||||||
|
|
||||||
var CreateRoomController = require('matrix-react-sdk/lib/controllers/organisms/CreateRoom')
|
|
||||||
|
|
||||||
var sdk = require('matrix-react-sdk')
|
|
||||||
|
|
||||||
var PresetValues = {
|
|
||||||
PrivateChat: "private_chat",
|
|
||||||
PublicChat: "public_chat",
|
|
||||||
Custom: "custom",
|
|
||||||
};
|
|
||||||
|
|
||||||
module.exports = React.createClass({
|
|
||||||
displayName: 'CreateRoom',
|
|
||||||
mixins: [CreateRoomController],
|
|
||||||
|
|
||||||
getPreset: function() {
|
|
||||||
return this.refs.presets.getPreset();
|
|
||||||
},
|
|
||||||
|
|
||||||
getName: function() {
|
|
||||||
return this.refs.name_textbox.getName();
|
|
||||||
},
|
|
||||||
|
|
||||||
getTopic: function() {
|
|
||||||
return this.refs.topic.getTopic();
|
|
||||||
},
|
|
||||||
|
|
||||||
getAliasLocalpart: function() {
|
|
||||||
return this.refs.alias.getAliasLocalpart();
|
|
||||||
},
|
|
||||||
|
|
||||||
getInvitedUsers: function() {
|
|
||||||
return this.refs.user_selector.getUserIds();
|
|
||||||
},
|
|
||||||
|
|
||||||
onPresetChanged: function(preset) {
|
|
||||||
switch (preset) {
|
|
||||||
case PresetValues.PrivateChat:
|
|
||||||
this.setState({
|
|
||||||
preset: preset,
|
|
||||||
is_private: true,
|
|
||||||
share_history: false,
|
|
||||||
});
|
|
||||||
break;
|
|
||||||
case PresetValues.PublicChat:
|
|
||||||
this.setState({
|
|
||||||
preset: preset,
|
|
||||||
is_private: false,
|
|
||||||
share_history: true,
|
|
||||||
});
|
|
||||||
break;
|
|
||||||
case PresetValues.Custom:
|
|
||||||
this.setState({
|
|
||||||
preset: preset,
|
|
||||||
});
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
onPrivateChanged: function(ev) {
|
|
||||||
this.setState({
|
|
||||||
preset: PresetValues.Custom,
|
|
||||||
is_private: ev.target.checked,
|
|
||||||
});
|
|
||||||
},
|
|
||||||
|
|
||||||
onShareHistoryChanged: function(ev) {
|
|
||||||
this.setState({
|
|
||||||
preset: PresetValues.Custom,
|
|
||||||
share_history: ev.target.checked,
|
|
||||||
});
|
|
||||||
},
|
|
||||||
|
|
||||||
onTopicChange: function(ev) {
|
|
||||||
this.setState({
|
|
||||||
topic: ev.target.value,
|
|
||||||
});
|
|
||||||
},
|
|
||||||
|
|
||||||
onNameChange: function(ev) {
|
|
||||||
this.setState({
|
|
||||||
room_name: ev.target.value,
|
|
||||||
});
|
|
||||||
},
|
|
||||||
|
|
||||||
onInviteChanged: function(invited_users) {
|
|
||||||
this.setState({
|
|
||||||
invited_users: invited_users,
|
|
||||||
});
|
|
||||||
},
|
|
||||||
|
|
||||||
onAliasChanged: function(alias) {
|
|
||||||
this.setState({
|
|
||||||
alias: alias
|
|
||||||
})
|
|
||||||
},
|
|
||||||
|
|
||||||
onEncryptChanged: function(ev) {
|
|
||||||
this.setState({
|
|
||||||
encrypt: ev.target.checked,
|
|
||||||
});
|
|
||||||
},
|
|
||||||
|
|
||||||
render: function() {
|
|
||||||
var curr_phase = this.state.phase;
|
|
||||||
if (curr_phase == this.phases.CREATING) {
|
|
||||||
var Loader = sdk.getComponent("elements.Spinner");
|
|
||||||
return (
|
|
||||||
<Loader/>
|
|
||||||
);
|
|
||||||
} else {
|
|
||||||
var error_box = "";
|
|
||||||
if (curr_phase == this.phases.ERROR) {
|
|
||||||
error_box = (
|
|
||||||
<div className="mx_Error">
|
|
||||||
An error occured: {this.state.error_string}
|
|
||||||
</div>
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
var CreateRoomButton = sdk.getComponent("create_room.CreateRoomButton");
|
|
||||||
var RoomAlias = sdk.getComponent("create_room.RoomAlias");
|
|
||||||
var Presets = sdk.getComponent("create_room.Presets");
|
|
||||||
var UserSelector = sdk.getComponent("elements.UserSelector");
|
|
||||||
var RoomHeader = sdk.getComponent("rooms.RoomHeader");
|
|
||||||
|
|
||||||
return (
|
|
||||||
<div className="mx_CreateRoom">
|
|
||||||
<RoomHeader simpleHeader="Create room" />
|
|
||||||
<div className="mx_CreateRoom_body">
|
|
||||||
<input type="text" ref="room_name" value={this.state.room_name} onChange={this.onNameChange} placeholder="Name"/> <br />
|
|
||||||
<textarea className="mx_CreateRoom_description" ref="topic" value={this.state.topic} onChange={this.onTopicChange} placeholder="Topic"/> <br />
|
|
||||||
<RoomAlias ref="alias" alias={this.state.alias} onChange={this.onAliasChanged}/> <br />
|
|
||||||
<UserSelector ref="user_selector" selected_users={this.state.invited_users} onChange={this.onInviteChanged}/> <br />
|
|
||||||
<Presets ref="presets" onChange={this.onPresetChanged} preset={this.state.preset}/> <br />
|
|
||||||
<div>
|
|
||||||
<label><input type="checkbox" ref="is_private" checked={this.state.is_private} onChange={this.onPrivateChanged}/> Make this room private</label>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<label><input type="checkbox" ref="share_history" checked={this.state.share_history} onChange={this.onShareHistoryChanged}/> Share message history with new users</label>
|
|
||||||
</div>
|
|
||||||
<div className="mx_CreateRoom_encrypt">
|
|
||||||
<label><input type="checkbox" ref="encrypt" checked={this.state.encrypt} onChange={this.onEncryptChanged}/> Encrypt room</label>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<CreateRoomButton onCreateRoom={this.onCreateRoom} /> <br />
|
|
||||||
</div>
|
|
||||||
{error_box}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
|
@ -129,7 +129,7 @@ module.exports = React.createClass({
|
||||||
var RoomView = sdk.getComponent('organisms.RoomView');
|
var RoomView = sdk.getComponent('organisms.RoomView');
|
||||||
var RightPanel = sdk.getComponent('organisms.RightPanel');
|
var RightPanel = sdk.getComponent('organisms.RightPanel');
|
||||||
var UserSettings = sdk.getComponent('organisms.UserSettings');
|
var UserSettings = sdk.getComponent('organisms.UserSettings');
|
||||||
var CreateRoom = sdk.getComponent('organisms.CreateRoom');
|
var CreateRoom = sdk.getComponent('structures.CreateRoom');
|
||||||
var RoomDirectory = sdk.getComponent('organisms.RoomDirectory');
|
var RoomDirectory = sdk.getComponent('organisms.RoomDirectory');
|
||||||
var MatrixToolbar = sdk.getComponent('molecules.MatrixToolbar');
|
var MatrixToolbar = sdk.getComponent('molecules.MatrixToolbar');
|
||||||
var Notifier = sdk.getComponent('organisms.Notifier');
|
var Notifier = sdk.getComponent('organisms.Notifier');
|
||||||
|
|
Loading…
Reference in New Issue