Skip to content

Commit cfe2ad1

Browse files
dcramermattrobenolt
authored andcommitted
Improve visibility into bulk actions
1 parent 83cf077 commit cfe2ad1

File tree

1 file changed

+19
-0
lines changed

1 file changed

+19
-0
lines changed

src/sentry/static/sentry/app/views/stream/actions.jsx

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -140,6 +140,18 @@ const StreamActions = React.createClass({
140140
render() {
141141
// TODO(mitsuhiko): very unclear how to translate this
142142
let numIssues = SelectedGroupStore.getSelectedIds().size;
143+
let extraDescription = null;
144+
if (this.state.allInQuerySelected) {
145+
extraDescription = (this.props.query ? (
146+
<div>
147+
<p>{t('This will apply to the current search query:')}</p>
148+
<pre>{this.props.query}</pre>
149+
</div>
150+
) : (
151+
<p className="error"><strong>{t('This will apply to ALL issues in this project!')}</strong></p>
152+
));
153+
}
154+
143155
return (
144156
<div>
145157
<div className="stream-actions row">
@@ -155,6 +167,7 @@ const StreamActions = React.createClass({
155167
disabled={!this.state.anySelected}
156168
onAction={this.onUpdate.bind(this, {status: 'resolved'})}
157169
buttonTitle={t('Resolve')}
170+
extraDescription={extraDescription}
158171
confirmationQuestion={
159172
this.state.allInQuerySelected
160173
? t('Are you sure you want to resolve all issues matching this search query?')
@@ -181,6 +194,7 @@ const StreamActions = React.createClass({
181194
disabled={!this.state.anySelected}
182195
onAction={this.onUpdate.bind(this, {isBookmarked: true})}
183196
buttonTitle={t('Bookmark')}
197+
extraDescription={extraDescription}
184198
confirmationQuestion={
185199
this.state.allInQuerySelected
186200
? t('Are you sure you want to bookmark all issues matching this search query?')
@@ -214,6 +228,7 @@ const StreamActions = React.createClass({
214228
className="action-merge"
215229
disabled={!this.state.anySelected}
216230
onAction={this.onMerge}
231+
extraDescription={extraDescription}
217232
confirmationQuestion={
218233
this.state.allInQuerySelected
219234
? t('Are you sure you want to merge all issues matching this search query?')
@@ -239,6 +254,7 @@ const StreamActions = React.createClass({
239254
className="action-remove-bookmark"
240255
disabled={!this.state.anySelected}
241256
onAction={this.onUpdate.bind(this, {isBookmarked: false})}
257+
extraDescription={extraDescription}
242258
confirmationQuestion={
243259
this.state.allInQuerySelected
244260
? t('Are you sure you want to remove all issues matching this search query from your bookmarks?')
@@ -266,6 +282,7 @@ const StreamActions = React.createClass({
266282
className="action-unresolve"
267283
disabled={!this.state.anySelected}
268284
onAction={this.onUpdate.bind(this, {status: 'unresolved'})}
285+
extraDescription={extraDescription}
269286
confirmationQuestion={
270287
this.state.allInQuerySelected
271288
? t('Are you sure you want to unresolve all issues matching this search query?')
@@ -293,6 +310,7 @@ const StreamActions = React.createClass({
293310
className="action-mute"
294311
disabled={!this.state.anySelected}
295312
onAction={this.onUpdate.bind(this, {status: 'muted'})}
313+
extraDescription={extraDescription}
296314
confirmationQuestion={
297315
this.state.allInQuerySelected
298316
? t('Are you sure you want to mute all issues matching this search query?')
@@ -320,6 +338,7 @@ const StreamActions = React.createClass({
320338
className="action-delete"
321339
disabled={!this.state.anySelected || this.state.allInQuerySelected}
322340
onAction={this.onDelete}
341+
extraDescription={extraDescription}
323342
confirmationQuestion={
324343
(count) =>
325344
tn('Are you sure you want to delete %d issue?',

0 commit comments

Comments
 (0)