make FilePanel work, superficially at least
parent
24351537d2
commit
1f19ee88c6
|
@ -62,7 +62,7 @@ module.exports = React.createClass({
|
||||||
},
|
},
|
||||||
|
|
||||||
onMemberListButtonClick: function() {
|
onMemberListButtonClick: function() {
|
||||||
if (this.props.collapsed) {
|
if (this.props.collapsed || this.state.phase !== this.Phase.MemberList) {
|
||||||
this.setState({ phase: this.Phase.MemberList });
|
this.setState({ phase: this.Phase.MemberList });
|
||||||
dis.dispatch({
|
dis.dispatch({
|
||||||
action: 'show_right_panel',
|
action: 'show_right_panel',
|
||||||
|
@ -75,6 +75,20 @@ module.exports = React.createClass({
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
onFileListButtonClick: function() {
|
||||||
|
if (this.props.collapsed || this.state.phase !== this.Phase.FilePanel) {
|
||||||
|
this.setState({ phase: this.Phase.FilePanel });
|
||||||
|
dis.dispatch({
|
||||||
|
action: 'show_right_panel',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
dis.dispatch({
|
||||||
|
action: 'hide_right_panel',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
onRoomStateMember: function(ev, state, member) {
|
onRoomStateMember: function(ev, state, member) {
|
||||||
// redraw the badge on the membership list
|
// redraw the badge on the membership list
|
||||||
if (this.state.phase == this.Phase.MemberList && member.roomId === this.props.roomId) {
|
if (this.state.phase == this.Phase.MemberList && member.roomId === this.props.roomId) {
|
||||||
|
@ -120,6 +134,7 @@ module.exports = React.createClass({
|
||||||
render: function() {
|
render: function() {
|
||||||
var MemberList = sdk.getComponent('rooms.MemberList');
|
var MemberList = sdk.getComponent('rooms.MemberList');
|
||||||
var NotificationPanel = sdk.getComponent('structures.NotificationPanel');
|
var NotificationPanel = sdk.getComponent('structures.NotificationPanel');
|
||||||
|
var FilePanel = sdk.getComponent('structures.FilePanel');
|
||||||
var TintableSvg = sdk.getComponent("elements.TintableSvg");
|
var TintableSvg = sdk.getComponent("elements.TintableSvg");
|
||||||
var buttonGroup;
|
var buttonGroup;
|
||||||
var panel;
|
var panel;
|
||||||
|
@ -144,7 +159,7 @@ module.exports = React.createClass({
|
||||||
var cli = MatrixClientPeg.get();
|
var cli = MatrixClientPeg.get();
|
||||||
var room = cli.getRoom(this.props.roomId);
|
var room = cli.getRoom(this.props.roomId);
|
||||||
if (room) {
|
if (room) {
|
||||||
membersBadge = <div className="mx_RightPanel_headerButton_badge">{ room.getJoinedMembers().length }</div>;
|
membersBadge = room.getJoinedMembers().length;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -152,15 +167,17 @@ module.exports = React.createClass({
|
||||||
buttonGroup =
|
buttonGroup =
|
||||||
<div className="mx_RightPanel_headerButtonGroup">
|
<div className="mx_RightPanel_headerButtonGroup">
|
||||||
<div className="mx_RightPanel_headerButton" title="Members" onClick={ this.onMemberListButtonClick }>
|
<div className="mx_RightPanel_headerButton" title="Members" onClick={ this.onMemberListButtonClick }>
|
||||||
{ membersBadge }
|
<div className="mx_RightPanel_headerButton_badge">{ membersBadge ? membersBadge : <span> </span>}</div>
|
||||||
<TintableSvg src="img/icons-people.svg" width="25" height="25"/>
|
<TintableSvg src="img/icons-people.svg" width="25" height="25"/>
|
||||||
{ membersHighlight }
|
{ membersHighlight }
|
||||||
</div>
|
</div>
|
||||||
<div className="mx_RightPanel_headerButton mx_RightPanel_filebutton" title="Files">
|
<div className="mx_RightPanel_headerButton mx_RightPanel_filebutton" title="Files" onClick={ this.onFileListButtonClick }>
|
||||||
<TintableSvg src="img/files.svg" width="17" height="22"/>
|
<div className="mx_RightPanel_headerButton_badge"> </div>
|
||||||
|
<TintableSvg src="img/icons-files.svg" width="25" height="25"/>
|
||||||
{ filesHighlight }
|
{ filesHighlight }
|
||||||
</div>
|
</div>
|
||||||
<div className="mx_RightPanel_headerButton mx_RightPanel_notificationbutton" title="Notifications">
|
<div className="mx_RightPanel_headerButton mx_RightPanel_notificationbutton" title="Notifications">
|
||||||
|
<div className="mx_RightPanel_headerButton_badge"> </div>
|
||||||
<TintableSvg src="img/icons-notifications.svg" width="25" height="25"/>
|
<TintableSvg src="img/icons-notifications.svg" width="25" height="25"/>
|
||||||
{ notificationsHighlight }
|
{ notificationsHighlight }
|
||||||
</div>
|
</div>
|
||||||
|
@ -179,7 +196,7 @@ module.exports = React.createClass({
|
||||||
panel = <NotificationPanel />
|
panel = <NotificationPanel />
|
||||||
}
|
}
|
||||||
else if (this.state.phase == this.Phase.FilePanel) {
|
else if (this.state.phase == this.Phase.FilePanel) {
|
||||||
panel = <FilesPanel roomId={this.props.roomId} />
|
panel = <FilePanel roomId={this.props.roomId} />
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -46,15 +46,15 @@ limitations under the License.
|
||||||
margin-top: 6px;
|
margin-top: 6px;
|
||||||
float: left;
|
float: left;
|
||||||
background-color: #fff;
|
background-color: #fff;
|
||||||
margin-left: -4px;
|
margin-left: 0px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.mx_RightPanel_headerButton {
|
.mx_RightPanel_headerButton {
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
display: table-cell;
|
display: table-cell;
|
||||||
vertical-align: middle;
|
vertical-align: top;
|
||||||
padding-left: 15px;
|
padding-left: 4px;
|
||||||
padding-right: 15px;
|
padding-right: 5px;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
position: relative;
|
position: relative;
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,29 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<svg width="25px" height="25px" viewBox="0 0 25 25" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||||
|
<!-- Generator: sketchtool 39.1 (31720) - http://www.bohemiancoding.com/sketch -->
|
||||||
|
<title>7C98C075-AB4D-45A3-85F9-CCD46F84DA7F</title>
|
||||||
|
<desc>Created with sketchtool.</desc>
|
||||||
|
<defs>
|
||||||
|
<path d="M0,2.00276013 C0,0.896666251 0.889186576,0 1.99983124,0 L4.84793814,0 C4.84793814,0 9.25,4.54127763 9.25,4.54127763 L9.25,10.9954009 C9.25,12.1025104 8.36307111,13 7.24288777,13 L2.00711223,13 C0.898614756,13 0,12.1064574 0,10.9972399 L0,2.00276013 Z" id="path-1"></path>
|
||||||
|
<mask id="mask-2" maskContentUnits="userSpaceOnUse" maskUnits="objectBoundingBox" x="0" y="0" width="9.25" height="13" fill="white">
|
||||||
|
<use xlink:href="#path-1"></use>
|
||||||
|
</mask>
|
||||||
|
<path d="M9.28225806,5 L5.82322134,5 C4.97217082,5 4.28225806,4.31002094 4.28225806,3.45903672 L4.28225806,0" id="path-3"></path>
|
||||||
|
<mask id="mask-4" maskContentUnits="userSpaceOnUse" maskUnits="objectBoundingBox" x="0" y="0" width="5" height="5" fill="white">
|
||||||
|
<use xlink:href="#path-3"></use>
|
||||||
|
</mask>
|
||||||
|
</defs>
|
||||||
|
<g id="Symbols" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||||
|
<g id="Right-panel/Header" transform="translate(-66.000000, -23.000000)">
|
||||||
|
<g id="icons_files" transform="translate(66.000000, 23.000000)">
|
||||||
|
<g id="Group-5-Copy-2" fill="#76CFA6">
|
||||||
|
<path d="M12.5,25 C19.4035594,25 25,19.4035594 25,12.5 C25,5.59644063 19.4035594,0 12.5,0 C5.59644063,0 0,5.59644063 0,12.5 C0,19.4035594 5.59644063,25 12.5,25 Z" id="Oval-1-Copy-7"></path>
|
||||||
|
</g>
|
||||||
|
<g id="Rectangle-5-+-Rectangle-6-Copy-2" transform="translate(8.000000, 6.000000)" stroke="#FFFFFF" stroke-width="2">
|
||||||
|
<use id="Rectangle-5" mask="url(#mask-2)" opacity="0.8" xlink:href="#path-1"></use>
|
||||||
|
<use id="Rectangle-6" mask="url(#mask-4)" xlink:href="#path-3"></use>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 2.1 KiB |
Loading…
Reference in New Issue