fix broken merge and revert some of 243b2e45
and document evil magic numbers
This commit is contained in:
parent
7cc5925ec4
commit
4a2c2d9656
3 changed files with 61 additions and 15 deletions
|
@ -1189,7 +1189,11 @@ module.exports = React.createClass({
|
||||||
// a maxHeight on the underlying remote video tag.
|
// a maxHeight on the underlying remote video tag.
|
||||||
|
|
||||||
// header + footer + status + give us at least 100px of scrollback at all times.
|
// header + footer + status + give us at least 100px of scrollback at all times.
|
||||||
var auxPanelMaxHeight = window.innerHeight - (83 + 72 + 36 + 100);
|
var auxPanelMaxHeight = window.innerHeight -
|
||||||
|
(83 + // height of RoomHeader
|
||||||
|
36 + // height of the status area
|
||||||
|
72 + // minimum height of the message compmoser
|
||||||
|
100); // amount of desired scrollback
|
||||||
|
|
||||||
// XXX: this is a bit of a hack and might possibly cause the video to push out the page anyway
|
// XXX: this is a bit of a hack and might possibly cause the video to push out the page anyway
|
||||||
// but it's better than the video going missing entirely
|
// but it's better than the video going missing entirely
|
||||||
|
@ -1198,16 +1202,6 @@ module.exports = React.createClass({
|
||||||
if (this.refs.callView) {
|
if (this.refs.callView) {
|
||||||
var video = this.refs.callView.getVideoView().getRemoteVideoElement();
|
var video = this.refs.callView.getVideoView().getRemoteVideoElement();
|
||||||
|
|
||||||
// header + footer + status + give us at least 100px of scrollback at all times.
|
|
||||||
auxPanelMaxHeight = window.innerHeight -
|
|
||||||
(83 + 72 +
|
|
||||||
sdk.getComponent('rooms.MessageComposer').MAX_HEIGHT +
|
|
||||||
100);
|
|
||||||
|
|
||||||
// XXX: this is a bit of a hack and might possibly cause the video to push out the page anyway
|
|
||||||
// but it's better than the video going missing entirely
|
|
||||||
if (auxPanelMaxHeight < 50) auxPanelMaxHeight = 50;
|
|
||||||
|
|
||||||
video.style.maxHeight = auxPanelMaxHeight + "px";
|
video.style.maxHeight = auxPanelMaxHeight + "px";
|
||||||
|
|
||||||
// the above might have made the video panel resize itself, so now
|
// the above might have made the video panel resize itself, so now
|
||||||
|
|
|
@ -90,6 +90,32 @@ module.exports = React.createClass({
|
||||||
this.setState({ topic : value });
|
this.setState({ topic : value });
|
||||||
},
|
},
|
||||||
|
|
||||||
|
onAvatarPickerClick: function(ev) {
|
||||||
|
if (this.refs.file_label) {
|
||||||
|
this.refs.file_label.click();
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
onAvatarSelected: function(ev) {
|
||||||
|
var self = this;
|
||||||
|
var changeAvatar = this.refs.changeAvatar;
|
||||||
|
if (!changeAvatar) {
|
||||||
|
console.error("No ChangeAvatar found to upload image to!");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
changeAvatar.onFileSelected(ev).done(function() {
|
||||||
|
// dunno if the avatar changed, re-check it.
|
||||||
|
self._refreshFromServer();
|
||||||
|
}, function(err) {
|
||||||
|
var errMsg = (typeof err === "string") ? err : (err.error || "");
|
||||||
|
var ErrorDialog = sdk.getComponent("dialogs.ErrorDialog");
|
||||||
|
Modal.createDialog(ErrorDialog, {
|
||||||
|
title: "Error",
|
||||||
|
description: "Failed to set avatar. " + errMsg
|
||||||
|
});
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
getRoomName: function() {
|
getRoomName: function() {
|
||||||
return this.state.name;
|
return this.state.name;
|
||||||
},
|
},
|
||||||
|
@ -100,7 +126,8 @@ module.exports = React.createClass({
|
||||||
|
|
||||||
render: function() {
|
render: function() {
|
||||||
var EditableText = sdk.getComponent("elements.EditableText");
|
var EditableText = sdk.getComponent("elements.EditableText");
|
||||||
var RoomAvatar = sdk.getComponent('avatars.RoomAvatar');
|
var RoomAvatar = sdk.getComponent("avatars.RoomAvatar");
|
||||||
|
var ChangeAvatar = sdk.getComponent("settings.ChangeAvatar");
|
||||||
var TintableSvg = sdk.getComponent("elements.TintableSvg");
|
var TintableSvg = sdk.getComponent("elements.TintableSvg");
|
||||||
|
|
||||||
var header;
|
var header;
|
||||||
|
@ -184,9 +211,26 @@ module.exports = React.createClass({
|
||||||
|
|
||||||
var roomAvatar = null;
|
var roomAvatar = null;
|
||||||
if (this.props.room) {
|
if (this.props.room) {
|
||||||
roomAvatar = (
|
if (this.props.editing) {
|
||||||
<RoomAvatar room={this.props.room} width="48" height="48" />
|
roomAvatar = (
|
||||||
);
|
<div onClick={ this.onAvatarPickerClick }>
|
||||||
|
<ChangeAvatar room={this.props.room} showUploadSection={false} width={48} height={48} />
|
||||||
|
<div className="mx_RoomHeader_avatarPicker_edit">
|
||||||
|
<label htmlFor="avatarInput" ref="file_label">
|
||||||
|
<img src="img/camera.svg"
|
||||||
|
alt="Upload avatar" title="Upload avatar"
|
||||||
|
width="17" height="15" />
|
||||||
|
</label>
|
||||||
|
<input id="avatarInput" type="file" onChange={ this.onAvatarSelected }/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
roomAvatar = (
|
||||||
|
<RoomAvatar room={this.props.room} width="48" height="48" />
|
||||||
|
);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
var leave_button;
|
var leave_button;
|
||||||
|
|
|
@ -366,6 +366,12 @@ module.exports = React.createClass({
|
||||||
</div>;
|
</div>;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var create_event = this.props.room.currentState.getStateEvents('m.room.create', '');
|
||||||
|
var unfederatable_section;
|
||||||
|
if (create_event.getContent()["m.federate"] === false) {
|
||||||
|
unfederatable_section = <div>Ths room is not accessible by remote Matrix servers</div>.
|
||||||
|
}
|
||||||
|
|
||||||
// TODO: support editing custom events_levels
|
// TODO: support editing custom events_levels
|
||||||
// TODO: support editing custom user_levels
|
// TODO: support editing custom user_levels
|
||||||
|
|
||||||
|
@ -383,6 +389,8 @@ module.exports = React.createClass({
|
||||||
</label> <br/>
|
</label> <br/>
|
||||||
<label className="mx_RoomSettings_encrypt"><input type="checkbox" /> Encrypt room</label>
|
<label className="mx_RoomSettings_encrypt"><input type="checkbox" /> Encrypt room</label>
|
||||||
|
|
||||||
|
{ unfederatable_section }
|
||||||
|
|
||||||
{ room_colors_section }
|
{ room_colors_section }
|
||||||
|
|
||||||
{ aliases_section }
|
{ aliases_section }
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue