Skip to content
This repository has been archived by the owner on Dec 15, 2022. It is now read-only.

Commit

Permalink
Merge pull request #1534 from atom/tt-18-jun-tap-target
Browse files Browse the repository at this point in the history
Make entire component for push/pull tile in status bar clickable.
  • Loading branch information
Tilde Ann Thurium committed Jun 19, 2018
2 parents b37e15e + 99ba550 commit 61c95c2
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 21 deletions.
14 changes: 5 additions & 9 deletions lib/views/push-pull-view.js
Original file line number Diff line number Diff line change
Expand Up @@ -195,18 +195,14 @@ export default class PushPullView extends React.Component {
tileState = tileStates.detached;
}

const Tag = tileState.onClick ? 'a' : 'span';

return (
<div
onClick={tileState.onClick}
ref={this.refTileNode.setter}
className={cx('github-PushPull', 'inline-block', {'github-branch-detached': isDetached})}>
{tileState && (
<Fragment>
<Tag
onClick={tileState.onClick}
className="push-pull-target"
key="push-pull-target">
<span>
{tileState.secondaryText && (
<span className="secondary">
<span className={getIconClass(tileState.secondaryIcon)} />
Expand All @@ -215,14 +211,14 @@ export default class PushPullView extends React.Component {
)}
<span className={getIconClass(tileState.icon, tileState.iconAnimation)} />
{tileState.text}
</Tag>
</span>
<Tooltip
key="tooltip"
manager={this.props.tooltipManager}
target={this.refTileNode}
title={`<div style="text-align: left; line-height: 1.2em;">${tileState.tooltip}</div>`}
showDelay={200}
hideDelay={100}
showDelay={atom.tooltips.hoverDefaults.delay.show}
hideDelay={atom.tooltips.hoverDefaults.delay.hide}
/>
</Fragment>
)}
Expand Down
24 changes: 12 additions & 12 deletions test/controllers/status-bar-tile-controller.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -321,15 +321,15 @@ describe('StatusBarTileController', function() {
});

it('pushes the current branch when clicked', function() {
statusBarTile.find('.push-pull-target').simulate('click');
statusBarTile.find('.github-PushPull').simulate('click');
assert.isTrue(repository.push.called);
});

it('does nothing when clicked and currently pushing', async function() {
repository.getOperationStates().setPushInProgress(true);
await assert.async.strictEqual(statusBarTile.update().find('.github-PushPull').text().trim(), 'Pushing');

statusBarTile.find('.push-pull-target').simulate('click');
statusBarTile.find('.github-PushPull').simulate('click');
assert.isFalse(repository.fetch.called);
assert.isFalse(repository.push.called);
assert.isFalse(repository.pull.called);
Expand All @@ -356,15 +356,15 @@ describe('StatusBarTileController', function() {
});

it('fetches from remote when clicked', function() {
statusBarTile.find('.push-pull-target').simulate('click');
statusBarTile.find('.github-PushPull').simulate('click');
assert.isTrue(repository.fetch.called);
});

it('does nothing when clicked and currently fetching', async function() {
repository.getOperationStates().setFetchInProgress(true);
await assert.async.strictEqual(statusBarTile.update().find('.github-PushPull').text().trim(), 'Fetching');

statusBarTile.find('.push-pull-target').simulate('click');
statusBarTile.find('.github-PushPull').simulate('click');
assert.isFalse(repository.fetch.called);
assert.isFalse(repository.push.called);
assert.isFalse(repository.pull.called);
Expand Down Expand Up @@ -392,15 +392,15 @@ describe('StatusBarTileController', function() {
});

it('pushes when clicked', function() {
statusBarTile.find('.push-pull-target').simulate('click');
statusBarTile.find('.github-PushPull').simulate('click');
assert.isTrue(repository.push.called);
});

it('does nothing when clicked and is currently pushing', async function() {
repository.getOperationStates().setPushInProgress(true);
await assert.async.strictEqual(statusBarTile.find('.github-PushPull').text().trim(), 'Pushing');

statusBarTile.find('.push-pull-target').simulate('click');
statusBarTile.find('.github-PushPull').simulate('click');
assert.isFalse(repository.fetch.called);
assert.isFalse(repository.push.called);
assert.isFalse(repository.pull.called);
Expand Down Expand Up @@ -428,15 +428,15 @@ describe('StatusBarTileController', function() {
});

it('pulls when clicked', function() {
statusBarTile.find('.push-pull-target').simulate('click');
statusBarTile.find('.github-PushPull').simulate('click');
assert.isTrue(repository.pull.called);
});

it('does nothing when clicked and is currently pulling', async function() {
repository.getOperationStates().setPullInProgress(true);
await assert.async.strictEqual(statusBarTile.update().find('.github-PushPull').text().trim(), 'Pulling');

statusBarTile.find('.push-pull-target').simulate('click');
statusBarTile.find('.github-PushPull').simulate('click');
assert.isFalse(repository.fetch.called);
assert.isFalse(repository.push.called);
assert.isFalse(repository.pull.called);
Expand Down Expand Up @@ -465,7 +465,7 @@ describe('StatusBarTileController', function() {
});

it('pulls when clicked', function() {
statusBarTile.find('.push-pull-target').simulate('click');
statusBarTile.find('.github-PushPull').simulate('click');
assert.isTrue(repository.pull.called);
assert.isFalse(repository.fetch.called);
assert.isFalse(repository.push.called);
Expand All @@ -475,7 +475,7 @@ describe('StatusBarTileController', function() {
repository.getOperationStates().setPullInProgress(true);
await assert.async.strictEqual(statusBarTile.update().find('.github-PushPull').text().trim(), 'Pulling');

statusBarTile.find('.push-pull-target').simulate('click');
statusBarTile.find('.github-PushPull').simulate('click');
assert.isFalse(repository.fetch.called);
assert.isFalse(repository.push.called);
assert.isFalse(repository.pull.called);
Expand Down Expand Up @@ -503,7 +503,7 @@ describe('StatusBarTileController', function() {
});

it('does nothing when clicked', function() {
statusBarTile.find('.push-pull-target').simulate('click');
statusBarTile.find('.github-PushPull').simulate('click');
assert.equal(statusBarTile.find('.github-PushPull').text().trim(), 'Not on branch');
assert.isFalse(repository.fetch.called);
assert.isFalse(repository.push.called);
Expand Down Expand Up @@ -532,7 +532,7 @@ describe('StatusBarTileController', function() {
});

it('does nothing when clicked', function() {
statusBarTile.find('.push-pull-target').simulate('click');
statusBarTile.find('.github-PushPull').simulate('click');
assert.equal(statusBarTile.find('.github-PushPull').text().trim(), 'No remote');
assert.isFalse(repository.fetch.called);
assert.isFalse(repository.push.called);
Expand Down

0 comments on commit 61c95c2

Please sign in to comment.