Skip to content
This repository has been archived by the owner on Sep 11, 2024. It is now read-only.

Commit

Permalink
Fix a bunch of lint complaints
Browse files Browse the repository at this point in the history
  • Loading branch information
richvdh committed Jan 24, 2017
1 parent 8627645 commit 770820e
Show file tree
Hide file tree
Showing 11 changed files with 43 additions and 25 deletions.
1 change: 1 addition & 0 deletions .eslintignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
src/component-index.js
2 changes: 1 addition & 1 deletion src/components/structures/UserSettings.js
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ var UserSettingsStore = require('../../UserSettingsStore');
var GeminiScrollbar = require('react-gemini-scrollbar');
var Email = require('../../email');
var AddThreepid = require('../../AddThreepid');
var AccessibleButton = require('../views/elements/AccessibleButton');
import AccessibleButton from '../views/elements/AccessibleButton';

// if this looks like a release, use the 'version' from package.json; else use
// the git sha.
Expand Down
2 changes: 1 addition & 1 deletion src/components/views/avatars/BaseAvatar.js
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ limitations under the License.
var React = require('react');
var AvatarLogic = require("../../../Avatar");
import sdk from '../../../index';
var AccessibleButton = require('../elements/AccessibleButton');
import AccessibleButton from '../elements/AccessibleButton';

module.exports = React.createClass({
displayName: 'BaseAvatar',
Expand Down
5 changes: 3 additions & 2 deletions src/components/views/dialogs/ChatInviteDialog.js
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ var DMRoomMap = require('../../../utils/DMRoomMap');
var rate_limited_func = require("../../../ratelimitedfunc");
var dis = require("../../../dispatcher");
var Modal = require('../../../Modal');
var AccessibleButton = require('../elements/AccessibleButton');
import AccessibleButton from '../elements/AccessibleButton';

const TRUNCATE_QUERY_LIST = 40;

Expand Down Expand Up @@ -437,7 +437,8 @@ module.exports = React.createClass({
<div className="mx_Dialog_title">
{this.props.title}
</div>
<AccessibleButton className="mx_ChatInviteDialog_cancel" onClick={this.onCancel} >
<AccessibleButton className="mx_ChatInviteDialog_cancel"
onClick={this.onCancel} >
<TintableSvg src="img/icons-close-button.svg" width="35" height="35" />
</AccessibleButton>
<div className="mx_ChatInviteDialog_label">
Expand Down
12 changes: 8 additions & 4 deletions src/components/views/elements/AccessibleButton.js
Original file line number Diff line number Diff line change
Expand Up @@ -17,16 +17,20 @@
import React from 'react';

/**
* AccessibleButton is a generic wrapper for any element that should be treated as a button.
* Identifies the element as a button, setting proper tab indexing and keyboard activation behavior.
* AccessibleButton is a generic wrapper for any element that should be treated
* as a button. Identifies the element as a button, setting proper tab
* indexing and keyboard activation behavior.
*
* @param {Object} props react element properties
* @returns {Object} rendered react
*/
export default function AccessibleButton(props) {
const {element, onClick, children, ...restProps} = props;
restProps.onClick = onClick;
restProps.onKeyDown = function(e) {
if (e.keyCode == 13 || e.keyCode == 32) return onClick();
};
restProps.tabIndex = restProps.tabIndex || "0";
restProps.tabIndex = restProps.tabIndex || "0";
restProps.role = "button";
return React.createElement(element, restProps, children);
}
Expand All @@ -44,7 +48,7 @@ AccessibleButton.propTypes = {
};

AccessibleButton.defaultProps = {
element: 'div'
element: 'div',
};

AccessibleButton.displayName = "AccessibleButton";
2 changes: 1 addition & 1 deletion src/components/views/rooms/EntityTile.js
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ var React = require('react');

var MatrixClientPeg = require('../../../MatrixClientPeg');
var sdk = require('../../../index');
var AccessibleButton = require('../elements/AccessibleButton');
import AccessibleButton from '../elements/AccessibleButton';


var PRESENCE_CLASS = {
Expand Down
33 changes: 22 additions & 11 deletions src/components/views/rooms/MemberInfo.js
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ var DMRoomMap = require('../../../utils/DMRoomMap');
var Unread = require('../../../Unread');
var Receipt = require('../../../utils/Receipt');
var WithMatrixClient = require('../../../wrappers/WithMatrixClient');
var AccessibleButton = require('../elements/AccessibleButton');
import AccessibleButton from '../elements/AccessibleButton';

module.exports = WithMatrixClient(React.createClass({
displayName: 'MemberInfo',
Expand Down Expand Up @@ -636,20 +636,31 @@ module.exports = WithMatrixClient(React.createClass({
}

if (this.state.can.kick) {
kickButton = <AccessibleButton className="mx_MemberInfo_field" onClick={this.onKick}>
{ this.props.member.membership === "invite" ? "Disinvite" : "Kick" }
</AccessibleButton>;
const membership = this.props.member.membership;
const kickLabel = membership === "invite" ? "Disinvite" : "Kick";
kickButton = (
<AccessibleButton className="mx_MemberInfo_field"
onClick={this.onKick}>
{kickLabel}
</AccessibleButton>
);
}
if (this.state.can.ban) {
banButton = <AccessibleButton className="mx_MemberInfo_field" onClick={this.onBan}>
Ban
</AccessibleButton>;
banButton = (
<AccessibleButton className="mx_MemberInfo_field"
onClick={this.onBan}>
Ban
</AccessibleButton>
);
}
if (this.state.can.mute) {
var muteLabel = this.state.muted ? "Unmute" : "Mute";
muteButton = <AccessibleButton className="mx_MemberInfo_field" onClick={this.onMuteToggle}>
{muteLabel}
</AccessibleButton>;
const muteLabel = this.state.muted ? "Unmute" : "Mute";
muteButton = (
<AccessibleButton className="mx_MemberInfo_field"
onClick={this.onMuteToggle}>
{muteLabel}
</AccessibleButton>
);
}
if (this.state.can.toggleMod) {
var giveOpLabel = this.state.isTargetMod ? "Revoke Moderator" : "Make Moderator";
Expand Down
2 changes: 1 addition & 1 deletion src/components/views/rooms/RoomHeader.js
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ var rate_limited_func = require('../../../ratelimitedfunc');
var linkify = require('linkifyjs');
var linkifyElement = require('linkifyjs/element');
var linkifyMatrix = require('../../../linkify-matrix');
var AccessibleButton = require('../elements/AccessibleButton');
import AccessibleButton from '../elements/AccessibleButton';

linkifyMatrix(linkify);

Expand Down
2 changes: 1 addition & 1 deletion src/components/views/rooms/RoomTile.js
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ var sdk = require('../../../index');
var ContextualMenu = require('../../structures/ContextualMenu');
var RoomNotifs = require('../../../RoomNotifs');
var FormattingUtils = require('../../../utils/FormattingUtils');
var AccessibleButton = require('../elements/AccessibleButton');
import AccessibleButton from '../elements/AccessibleButton';
var UserSettingsStore = require('../../../UserSettingsStore');

module.exports = React.createClass({
Expand Down
2 changes: 1 addition & 1 deletion src/components/views/rooms/SimpleRoomHeader.js
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ limitations under the License.
var React = require('react');
var sdk = require('../../../index');
var dis = require("../../../dispatcher");
var AccessibleButton = require('../elements/AccessibleButton');
import AccessibleButton from '../elements/AccessibleButton';

/*
* A stripped-down room header used for things like the user settings
Expand Down
5 changes: 3 additions & 2 deletions src/components/views/settings/ChangePassword.js
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ limitations under the License.
var React = require('react');
var MatrixClientPeg = require("../../../MatrixClientPeg");
var sdk = require("../../../index");
var AccessibleButton = require('../elements/AccessibleButton');
import AccessibleButton from '../elements/AccessibleButton';

module.exports = React.createClass({
displayName: 'ChangePassword',
Expand Down Expand Up @@ -137,7 +137,8 @@ module.exports = React.createClass({
<input id="password2" type="password" ref="confirm_input" />
</div>
</div>
<AccessibleButton className={buttonClassName} onClick={this.onClickChange}>
<AccessibleButton className={buttonClassName}
onClick={this.onClickChange}>
Change Password
</AccessibleButton>
</div>
Expand Down

0 comments on commit 770820e

Please sign in to comment.