Additional refactor to further modularise the context menus

This commit is contained in:
wmwragg 2016-07-27 11:26:36 +01:00
parent 5cf164fcc1
commit dab707a893
5 changed files with 74 additions and 14 deletions

View File

@ -95,7 +95,7 @@ module.exports = React.createClass({
if (eventStatus === 'not_sent') { if (eventStatus === 'not_sent') {
resendButton = ( resendButton = (
<div className="mx_ContextualMenu_field" onClick={this.onResendClick}> <div className="mx_MessageContextMenu_field" onClick={this.onResendClick}>
Resend Resend
</div> </div>
); );
@ -103,7 +103,7 @@ module.exports = React.createClass({
if (!eventStatus) { // sent if (!eventStatus) { // sent
redactButton = ( redactButton = (
<div className="mx_ContextualMenu_field" onClick={this.onRedactClick}> <div className="mx_MessageContextMenu_field" onClick={this.onRedactClick}>
Redact Redact
</div> </div>
); );
@ -111,14 +111,14 @@ module.exports = React.createClass({
if (eventStatus === "queued" || eventStatus === "not_sent") { if (eventStatus === "queued" || eventStatus === "not_sent") {
cancelButton = ( cancelButton = (
<div className="mx_ContextualMenu_field" onClick={this.onCancelSendClick}> <div className="mx_MessageContextMenu_field" onClick={this.onCancelSendClick}>
Cancel Sending Cancel Sending
</div> </div>
); );
} }
viewSourceButton = ( viewSourceButton = (
<div className="mx_ContextualMenu_field" onClick={this.onViewSourceClick}> <div className="mx_MessageContextMenu_field" onClick={this.onViewSourceClick}>
View Source View Source
</div> </div>
); );
@ -126,7 +126,7 @@ module.exports = React.createClass({
if (this.props.eventTileOps) { if (this.props.eventTileOps) {
if (this.props.eventTileOps.isWidgetHidden()) { if (this.props.eventTileOps.isWidgetHidden()) {
unhidePreviewButton = ( unhidePreviewButton = (
<div className="mx_ContextualMenu_field" onClick={this.onUnhidePreviewClick}> <div className="mx_MessageContextMenu_field" onClick={this.onUnhidePreviewClick}>
Unhide Preview Unhide Preview
</div> </div>
) )
@ -136,7 +136,7 @@ module.exports = React.createClass({
// XXX: this should be https://matrix.to. // XXX: this should be https://matrix.to.
// XXX: if we use room ID, we should also include a server where the event can be found (other than in the domain of the event ID) // XXX: if we use room ID, we should also include a server where the event can be found (other than in the domain of the event ID)
permalinkButton = ( permalinkButton = (
<div className="mx_ContextualMenu_field"> <div className="mx_MessageContextMenu_field">
<a href={ "#/room/" + this.props.mxEvent.getRoomId() +"/"+ this.props.mxEvent.getId() } <a href={ "#/room/" + this.props.mxEvent.getRoomId() +"/"+ this.props.mxEvent.getId() }
onClick={ this.onPermalinkClick }>Permalink</a> onClick={ this.onPermalinkClick }>Permalink</a>
</div> </div>

View File

@ -98,13 +98,13 @@ module.exports = React.createClass({
var cli = MatrixClientPeg.get(); var cli = MatrixClientPeg.get();
var allNotifsClasses = classNames({ var allNotifsClasses = classNames({
'mx_ContextualMenu_field': true, 'mx_NotificationStateContextMenu_field': true,
'mx_ContextualMenu_fieldSet': !this.state.areNotifsMuted, 'mx_NotificationStateContextMenu_fieldSet': !this.state.areNotifsMuted,
}); });
var muteNotifsClasses = classNames({ var muteNotifsClasses = classNames({
'mx_ContextualMenu_field': true, 'mx_NotificationStateContextMenu_field': true,
'mx_ContextualMenu_fieldSet': this.state.areNotifsMuted, 'mx_NotificationStateContextMenu_fieldSet': this.state.areNotifsMuted,
}); });
return ( return (

View File

@ -1,3 +1,19 @@
/*
Copyright 2015, 2016 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.
*/
.mx_ContextualMenu_background { .mx_ContextualMenu_background {
position: fixed; position: fixed;
top: 0; top: 0;
@ -70,10 +86,6 @@
cursor: pointer; cursor: pointer;
} }
.mx_ContextualMenu_field.mx_ContextualMenu_fieldSet {
font-weight: bold;
}
.mx_ContextualMenu_spinner { .mx_ContextualMenu_spinner {
display: block; display: block;
margin: 0 auto; margin: 0 auto;

View File

@ -0,0 +1,24 @@
/*
Copyright 2015, 2016 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.
*/
.mx_MessageContextMenu_field {
padding: 3px 6px 3px 6px;
cursor: pointer;
}
.mx_MessageContextMenu_field.mx_MessageContextMenu_fieldSet {
font-weight: bold;
}

View File

@ -0,0 +1,24 @@
/*
Copyright 2015, 2016 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.
*/
.mx_NotificationStateContextMenu_field {
padding: 3px 6px 3px 6px;
cursor: pointer;
}
.mx_NotificationStateContextMenu_field.mx_NotificationStateContextMenu_fieldSet {
font-weight: bold;
}