list-style: none;
}
-.list-inline > li {
+ul.list-inline > li,
+div.list-inline > div {
display: inline-block;
vertical-align: top;
padding-right: 5px;
*/
import * as React from 'react';
import QualifierIcon from 'sonar-ui-common/components/icons/QualifierIcon';
+import { translateWithParameters } from 'sonar-ui-common/helpers/l10n';
import { collapsePath, limitComponentName } from 'sonar-ui-common/helpers/path';
import { getSelectedLocation } from '../utils';
const componentName = selectedLocation ? selectedLocation.componentName : issue.componentLongName;
return (
- <div className="component-name text-ellipsis">
+ <div
+ aria-label={translateWithParameters(
+ 'issues.on_file_x',
+ `${displayProject ? issue.projectName + ', ' : ''}${componentName}`
+ )}
+ className="component-name text-ellipsis">
<QualifierIcon className="spacer-right" qualifier={issue.componentQualifier} />
{displayProject && (
}
return (
- <div>
+ <ul>
{issues.map((issue, index) => (
<ListItem
branchLike={branchLike}
selected={selectedIssue != null && selectedIssue.key === issue.key}
/>
))}
- </div>
+ </ul>
);
}
}
const displayComponent = !previousIssue || previousIssue.component !== issue.component;
return (
- <div className="issues-workspace-list-item">
+ <li className="issues-workspace-list-item">
{displayComponent && (
<div className="issues-workspace-list-component note">
<ComponentBreadcrumbs component={component} issue={this.props.issue} />
openPopup={this.props.openPopup}
selected={this.props.selected}
/>
- </div>
+ </li>
);
}
}
exports[`renders 1`] = `
<div
+ aria-label="issues.on_file_x.proj-name, comp-name"
className="component-name text-ellipsis"
>
<QualifierIcon
exports[`renders with sub-project 1`] = `
<div
+ aria-label="issues.on_file_x.proj-name, comp-name"
className="component-name text-ellipsis"
>
<QualifierIcon
`;
exports[`should render correctly 2`] = `
-<div>
+<ul>
<ListItem
checked={false}
issue={
}
selected={false}
/>
-</div>
+</ul>
`;
});
return (
- <div
- className={issueClass}
- data-issue={issue.key}
- onClick={this.handleClick}
- role="listitem"
- tabIndex={0}>
+ <div className={issueClass} data-issue={issue.key} onClick={this.handleClick} role="group">
<IssueTitleBar
branchLike={this.props.branchLike}
currentPopup={this.props.currentPopup}
className="issue hotspot selected"
data-issue="AVsae-CQS-9G3txfbFN2"
onClick={[Function]}
- role="listitem"
- tabIndex={0}
+ role="group"
>
<IssueTitleBar
issue={
className="issue selected"
data-issue="AVsae-CQS-9G3txfbFN2"
onClick={[Function]}
- role="listitem"
- tabIndex={0}
+ role="group"
>
<IssueTitleBar
issue={
return (
<div className="issue-actions">
- <ul className="issue-meta-list">
- <li className="issue-meta">
+ <div className="issue-meta-list">
+ <div className="issue-meta">
<IssueType
canSetType={canSetType}
isOpen={this.props.currentPopup === 'set-type' && canSetType}
setIssueProperty={this.setIssueProperty}
togglePopup={this.props.togglePopup}
/>
- </li>
+ </div>
{!isSecurityHotspot && (
- <li className="issue-meta">
+ <div className="issue-meta">
<IssueSeverity
canSetSeverity={canSetSeverity}
isOpen={this.props.currentPopup === 'set-severity' && canSetSeverity}
setIssueProperty={this.setIssueProperty}
togglePopup={this.props.togglePopup}
/>
- </li>
+ </div>
)}
- <li className="issue-meta">
+ <div className="issue-meta">
<IssueTransition
hasTransitions={hasTransitions}
isOpen={this.props.currentPopup === 'transition' && hasTransitions}
onChange={this.handleTransition}
togglePopup={this.props.togglePopup}
/>
- </li>
- <li className="issue-meta">
+ </div>
+ <div className="issue-meta">
<IssueAssign
canAssign={canAssign}
isOpen={this.props.currentPopup === 'assign' && canAssign}
onAssign={this.props.onAssign}
togglePopup={this.props.togglePopup}
/>
- </li>
+ </div>
{!isSecurityHotspot && issue.effort && (
- <li className="issue-meta">
+ <div className="issue-meta">
<span className="issue-meta-label">
{translateWithParameters('issue.x_effort', issue.effort)}
</span>
- </li>
+ </div>
)}
{canComment && (
<IssueCommentAction
toggleComment={this.toggleComment}
/>
)}
- </ul>
- <ul className="list-inline">
- <li className="issue-meta js-issue-tags">
+ </div>
+ <div className="list-inline">
+ <div className="issue-meta js-issue-tags">
<IssueTags
canSetTags={canSetTags}
isOpen={this.props.currentPopup === 'edit-tags' && canSetTags}
onChange={this.props.onChange}
togglePopup={this.props.togglePopup}
/>
- </li>
- </ul>
+ </div>
+ </div>
</div>
);
}
<Avatar
className="little-spacer-right"
hash={issue.assigneeAvatar}
- name={issue.assigneeName || issue.assignee}
+ name={assigneeName}
size={16}
/>
</span>
}
render() {
- if (this.props.canAssign) {
+ const { canAssign, isOpen, issue } = this.props;
+ const assigneeName = issue.assigneeName || issue.assignee;
+
+ if (canAssign) {
return (
<div className="dropdown">
<Toggler
closeOnEscape={true}
onRequestClose={this.handleClose}
- open={this.props.isOpen && this.props.canAssign}
+ open={isOpen}
overlay={<SetAssigneePopup onSelect={this.props.onAssign} />}>
<ButtonLink
+ aria-expanded={isOpen}
+ aria-label={
+ assigneeName
+ ? translateWithParameters(
+ 'issue.assign.assigned_to_x_click_to_change',
+ assigneeName
+ )
+ : translate('issue.assign.unassigned_click_to_assign')
+ }
className="issue-action issue-action-with-options js-issue-assign"
onClick={this.toggleAssign}>
{this.renderAssignee()}
</Toggler>
</div>
);
- } else {
- return this.renderAssignee();
}
+
+ return this.renderAssignee();
}
}
open={this.props.isOpen}
overlay={<ChangelogPopup issue={this.props.issue} />}>
<ButtonLink
+ aria-expanded={this.props.isOpen}
className="issue-action issue-action-with-options js-issue-show-changelog"
onClick={this.handleClick}>
<span className="issue-meta-label">
toggleComment={this.props.toggleComment}
/>
}>
- <ButtonLink className="issue-action js-issue-comment" onClick={this.handleCommentClick}>
+ <ButtonLink
+ aria-expanded={this.props.currentPopup === 'comment'}
+ aria-label={translate('issue.comment.add_comment')}
+ className="issue-action js-issue-comment"
+ onClick={this.handleCommentClick}>
<span className="issue-meta-label">{translate('issue.comment.formlink')}</span>
</ButtonLink>
</Toggler>
import Toggler from 'sonar-ui-common/components/controls/Toggler';
import DateFromNow from 'sonar-ui-common/components/intl/DateFromNow';
import { PopupPlacement } from 'sonar-ui-common/components/ui/popups';
-import { translateWithParameters } from 'sonar-ui-common/helpers/l10n';
+import { translate, translateWithParameters } from 'sonar-ui-common/helpers/l10n';
import Avatar from '../../ui/Avatar';
import CommentDeletePopup from '../popups/CommentDeletePopup';
import CommentPopup from '../popups/CommentPopup';
dangerouslySetInnerHTML={{ __html: sanitize(comment.htmlText) }}
/>
<div className="issue-comment-age">
+ <span className="a11y-hidden">{translate('issue.comment.posted_on')}</span>
<DateFromNow date={comment.createdAt} />
</div>
<div className="issue-comment-actions">
/>
}>
<EditButton
+ aria-label={translate('issue.comment.edit')}
className="js-issue-comment-edit button-small"
onClick={this.toggleEditPopup}
/>
open={this.state.openPopup === 'delete'}
overlay={<CommentDeletePopup onDelete={this.handleDelete} />}>
<DeleteButton
+ aria-label={translate('issue.comment.delete')}
className="js-issue-comment-delete button-small"
onClick={this.toggleDeletePopup}
/>
import { ButtonLink } from 'sonar-ui-common/components/controls/buttons';
import Toggler from 'sonar-ui-common/components/controls/Toggler';
import DropdownIcon from 'sonar-ui-common/components/icons/DropdownIcon';
+import { translate, translateWithParameters } from 'sonar-ui-common/helpers/l10n';
import { setIssueSeverity } from '../../../api/issues';
import { IssueResponse } from '../../../types/issues';
import SeverityHelper from '../../shared/SeverityHelper';
open={this.props.isOpen && this.props.canSetSeverity}
overlay={<SetSeverityPopup issue={issue} onSelect={this.setSeverity} />}>
<ButtonLink
+ aria-label={translateWithParameters(
+ 'issue.severity.severity_x_click_to_change',
+ translate('severity', issue.severity)
+ )}
+ aria-expanded={this.props.isOpen}
className="issue-action issue-action-with-options js-issue-set-severity"
onClick={this.toggleSetSeverity}>
<SeverityHelper className="issue-meta-label" severity={issue.severity} />
</Toggler>
</div>
);
- } else {
- return <SeverityHelper className="issue-meta-label" severity={issue.severity} />;
}
+
+ return <SeverityHelper className="issue-meta-label" severity={issue.severity} />;
}
}
open={this.props.isOpen}
overlay={<SetIssueTagsPopup selectedTags={tags} setTags={this.setTags} />}>
<ButtonLink
+ aria-expanded={this.props.isOpen}
className="issue-action issue-action-with-options js-issue-edit-tags"
onClick={this.toggleSetTags}>
<TagsList
</Toggler>
</div>
);
- } else {
- return (
- <TagsList
- allowUpdate={this.props.canSetTags}
- className="note"
- tags={issue.tags && issue.tags.length > 0 ? issue.tags : [translate('issue.no_tag')]}
- />
- );
}
+
+ return (
+ <TagsList
+ allowUpdate={this.props.canSetTags}
+ className="note"
+ tags={issue.tags && issue.tags.length > 0 ? issue.tags : [translate('issue.no_tag')]}
+ />
+ );
}
}
</WorkspaceContext.Consumer>
<div className="issue-row-meta">
- <ul className="issue-meta-list">
- <li className="issue-meta">
+ <div className="issue-meta-list">
+ <div className="issue-meta">
<IssueChangelog
creationDate={issue.creationDate}
isOpen={props.currentPopup === 'changelog'}
issue={issue}
togglePopup={props.togglePopup}
/>
- </li>
+ </div>
{issue.textRange != null && (
- <li className="issue-meta">
+ <div className="issue-meta">
<span className="issue-meta-label" title={translate('line_number')}>
L{issue.textRange.endLine}
</span>
- </li>
+ </div>
)}
{displayLocations && (
- <li className="issue-meta">
+ <div className="issue-meta">
{props.displayLocationsLink ? (
<Link target="_blank" to={issueUrl}>
{locationsBadge}
) : (
locationsBadge
)}
- </li>
+ </div>
)}
- <li className="issue-meta">
+ <div className="issue-meta">
<Link
className="js-issue-permalink link-no-underline"
target="_blank"
to={issueUrl}>
<LinkIcon />
</Link>
- </li>
+ </div>
{hasSimilarIssuesFilter && (
- <li className="issue-meta">
+ <div className="issue-meta">
<SimilarIssuesFilter
isOpen={props.currentPopup === 'similarIssues'}
issue={issue}
onFilter={props.onFilter}
togglePopup={props.togglePopup}
/>
- </li>
+ </div>
)}
- </ul>
+ </div>
</div>
</div>
);
import { ButtonLink } from 'sonar-ui-common/components/controls/buttons';
import Toggler from 'sonar-ui-common/components/controls/Toggler';
import DropdownIcon from 'sonar-ui-common/components/icons/DropdownIcon';
+import { translate, translateWithParameters } from 'sonar-ui-common/helpers/l10n';
import { setIssueTransition } from '../../../api/issues';
import StatusHelper from '../../shared/StatusHelper';
import { updateIssue } from '../actions';
/>
}>
<ButtonLink
+ aria-label={translateWithParameters(
+ 'issue.transition.status_x_click_to_change',
+ translate('issue.status', issue.status)
+ )}
+ aria-expanded={this.props.isOpen}
className="issue-action issue-action-with-options js-issue-transition"
onClick={this.toggleSetTransition}>
<StatusHelper
</Toggler>
</div>
);
- } else {
- return (
- <StatusHelper
- className="issue-meta-label"
- resolution={issue.resolution}
- status={issue.status}
- />
- );
}
+
+ return (
+ <StatusHelper
+ className="issue-meta-label"
+ resolution={issue.resolution}
+ status={issue.status}
+ />
+ );
}
}
import Toggler from 'sonar-ui-common/components/controls/Toggler';
import DropdownIcon from 'sonar-ui-common/components/icons/DropdownIcon';
import IssueTypeIcon from 'sonar-ui-common/components/icons/IssueTypeIcon';
-import { translate } from 'sonar-ui-common/helpers/l10n';
+import { translate, translateWithParameters } from 'sonar-ui-common/helpers/l10n';
import { setIssueType } from '../../../api/issues';
import { colors } from '../../../app/theme';
import { IssueResponse } from '../../../types/issues';
open={this.props.isOpen && this.props.canSetType}
overlay={<SetTypePopup issue={issue} onSelect={this.setType} />}>
<ButtonLink
+ aria-label={translateWithParameters(
+ 'issue.type.type_x_click_to_change',
+ translate('issue.type', issue.type)
+ )}
+ aria-expanded={this.props.isOpen}
className="issue-action issue-action-with-options js-issue-set-type"
onClick={this.toggleSetType}>
<IssueTypeIcon
</Toggler>
</div>
);
- } else {
- return (
- <span>
- <IssueTypeIcon className="little-spacer-right" query={issue.type} />
- {translate('issue.type', issue.type)}
- </span>
- );
}
+
+ return (
+ <span>
+ <IssueTypeIcon className="little-spacer-right" query={issue.type} />
+ {translate('issue.type', issue.type)}
+ </span>
+ );
}
}
overlay={<SimilarIssuesPopup issue={this.props.issue} onFilter={this.handleFilter} />}>
<ButtonLink
aria-label={translate('issue.filter_similar_issues')}
+ aria-expanded={this.props.isOpen}
className="issue-action issue-action-with-options js-issue-filter"
onClick={this.togglePopup}
title={translate('issue.filter_similar_issues')}>
<div
className="issue-actions"
>
- <ul
+ <div
className="issue-meta-list"
>
- <li
+ <div
className="issue-meta"
>
<IssueType
setIssueProperty={[Function]}
togglePopup={[MockFunction]}
/>
- </li>
- <li
+ </div>
+ <div
className="issue-meta"
>
<IssueSeverity
setIssueProperty={[Function]}
togglePopup={[MockFunction]}
/>
- </li>
- <li
+ </div>
+ <div
className="issue-meta"
>
<IssueTransition
onChange={[Function]}
togglePopup={[MockFunction]}
/>
- </li>
- <li
+ </div>
+ <div
className="issue-meta"
>
<IssueAssign
onAssign={[MockFunction]}
togglePopup={[MockFunction]}
/>
- </li>
+ </div>
<IssueCommentAction
commentAutoTriggered={false}
commentPlaceholder=""
onChange={[MockFunction]}
toggleComment={[Function]}
/>
- </ul>
- <ul
+ </div>
+ <div
className="list-inline"
>
- <li
+ <div
className="issue-meta js-issue-tags"
>
<IssueTags
onChange={[MockFunction]}
togglePopup={[MockFunction]}
/>
- </li>
- </ul>
+ </div>
+ </div>
</div>
`;
<div
className="issue-actions"
>
- <ul
+ <div
className="issue-meta-list"
>
- <li
+ <div
className="issue-meta"
>
<IssueType
setIssueProperty={[Function]}
togglePopup={[MockFunction]}
/>
- </li>
- <li
+ </div>
+ <div
className="issue-meta"
>
<IssueSeverity
setIssueProperty={[Function]}
togglePopup={[MockFunction]}
/>
- </li>
- <li
+ </div>
+ <div
className="issue-meta"
>
<IssueTransition
onChange={[Function]}
togglePopup={[MockFunction]}
/>
- </li>
- <li
+ </div>
+ <div
className="issue-meta"
>
<IssueAssign
onAssign={[MockFunction]}
togglePopup={[MockFunction]}
/>
- </li>
- <li
+ </div>
+ <div
className="issue-meta"
>
<span
>
issue.x_effort.great
</span>
- </li>
- </ul>
- <ul
+ </div>
+ </div>
+ <div
className="list-inline"
>
- <li
+ <div
className="issue-meta js-issue-tags"
>
<IssueTags
onChange={[MockFunction]}
togglePopup={[MockFunction]}
/>
- </li>
- </ul>
+ </div>
+ </div>
</div>
`;
<div
className="issue-actions"
>
- <ul
+ <div
className="issue-meta-list"
>
- <li
+ <div
className="issue-meta"
>
<IssueType
setIssueProperty={[Function]}
togglePopup={[MockFunction]}
/>
- </li>
- <li
+ </div>
+ <div
className="issue-meta"
>
<IssueSeverity
setIssueProperty={[Function]}
togglePopup={[MockFunction]}
/>
- </li>
- <li
+ </div>
+ <div
className="issue-meta"
>
<IssueTransition
onChange={[Function]}
togglePopup={[MockFunction]}
/>
- </li>
- <li
+ </div>
+ <div
className="issue-meta"
>
<IssueAssign
onAssign={[MockFunction]}
togglePopup={[MockFunction]}
/>
- </li>
- </ul>
- <ul
+ </div>
+ </div>
+ <div
className="list-inline"
>
- <li
+ <div
className="issue-meta js-issue-tags"
>
<IssueTags
onChange={[MockFunction]}
togglePopup={[MockFunction]}
/>
- </li>
- </ul>
+ </div>
+ </div>
</div>
`;
<div
className="issue-actions"
>
- <ul
+ <div
className="issue-meta-list"
>
- <li
+ <div
className="issue-meta"
>
<IssueType
setIssueProperty={[Function]}
togglePopup={[MockFunction]}
/>
- </li>
- <li
+ </div>
+ <div
className="issue-meta"
>
<IssueTransition
onChange={[Function]}
togglePopup={[MockFunction]}
/>
- </li>
- <li
+ </div>
+ <div
className="issue-meta"
>
<IssueAssign
onAssign={[MockFunction]}
togglePopup={[MockFunction]}
/>
- </li>
- </ul>
- <ul
+ </div>
+ </div>
+ <div
className="list-inline"
>
- <li
+ <div
className="issue-meta js-issue-tags"
>
<IssueTags
onChange={[MockFunction]}
togglePopup={[MockFunction]}
/>
- </li>
- </ul>
+ </div>
+ </div>
</div>
`;
}
>
<ButtonLink
+ aria-expanded={true}
+ aria-label="issue.assign.assigned_to_x_click_to_change.John Doe"
className="issue-action issue-action-with-options js-issue-assign"
onClick={[Function]}
>
}
>
<ButtonLink
+ aria-expanded={false}
+ aria-label="issue.assign.unassigned_click_to_assign"
className="issue-action issue-action-with-options js-issue-assign"
onClick={[Function]}
>
}
>
<ButtonLink
+ aria-expanded={false}
+ aria-label="issue.assign.assigned_to_x_click_to_change.John Doe"
className="issue-action issue-action-with-options js-issue-assign"
onClick={[Function]}
>
}
>
<ButtonLink
+ aria-expanded={true}
className="issue-action issue-action-with-options js-issue-show-changelog"
onClick={[Function]}
>
}
>
<ButtonLink
+ aria-expanded={false}
className="issue-action issue-action-with-options js-issue-show-changelog"
onClick={[Function]}
>
}
>
<ButtonLink
+ aria-expanded={true}
+ aria-label="issue.comment.add_comment"
className="issue-action js-issue-comment"
onClick={[Function]}
>
}
>
<ButtonLink
+ aria-expanded={false}
+ aria-label="issue.comment.add_comment"
className="issue-action js-issue-comment"
onClick={[Function]}
>
<div
className="issue-comment-age"
>
+ <span
+ className="a11y-hidden"
+ >
+ issue.comment.posted_on
+ </span>
<DateFromNow
date="2017-03-01T09:36:01+0100"
/>
}
>
<EditButton
+ aria-label="issue.comment.edit"
className="js-issue-comment-edit button-small"
onClick={[Function]}
/>
}
>
<DeleteButton
+ aria-label="issue.comment.delete"
className="js-issue-comment-delete button-small"
onClick={[Function]}
/>
<div
className="issue-comment-age"
>
+ <span
+ className="a11y-hidden"
+ >
+ issue.comment.posted_on
+ </span>
<DateFromNow
date="2017-03-01T09:36:01+0100"
/>
<div
className="issue-comment-age"
>
+ <span
+ className="a11y-hidden"
+ >
+ issue.comment.posted_on
+ </span>
<DateFromNow
date="2017-03-01T09:36:01+0100"
/>
}
>
<EditButton
+ aria-label="issue.comment.edit"
className="js-issue-comment-edit button-small"
onClick={[Function]}
/>
}
>
<DeleteButton
+ aria-label="issue.comment.delete"
className="js-issue-comment-delete button-small"
onClick={[Function]}
/>
}
>
<ButtonLink
+ aria-expanded={true}
+ aria-label="issue.severity.severity_x_click_to_change.severity.BLOCKER"
className="issue-action issue-action-with-options js-issue-set-severity"
onClick={[Function]}
>
}
>
<ButtonLink
+ aria-expanded={false}
+ aria-label="issue.severity.severity_x_click_to_change.severity.BLOCKER"
className="issue-action issue-action-with-options js-issue-set-severity"
onClick={[Function]}
>
}
>
<ButtonLink
+ aria-expanded={true}
className="issue-action issue-action-with-options js-issue-edit-tags"
onClick={[Function]}
>
}
>
<ButtonLink
+ aria-expanded={false}
className="issue-action issue-action-with-options js-issue-edit-tags"
onClick={[Function]}
>
<div
className="issue-row-meta"
>
- <ul
+ <div
className="issue-meta-list"
>
- <li
+ <div
className="issue-meta"
>
<IssueChangelog
}
togglePopup={[MockFunction]}
/>
- </li>
- <li
+ </div>
+ <div
className="issue-meta"
>
<span
L
26
</span>
- </li>
- <li
+ </div>
+ <div
className="issue-meta"
>
<Link
>
<LinkIcon />
</Link>
- </li>
- </ul>
+ </div>
+ </div>
</div>
</div>
`;
<div
className="issue-row-meta"
>
- <ul
+ <div
className="issue-meta-list"
>
- <li
+ <div
className="issue-meta"
>
<IssueChangelog
}
togglePopup={[MockFunction]}
/>
- </li>
- <li
+ </div>
+ <div
className="issue-meta"
>
<span
L
26
</span>
- </li>
- <li
+ </div>
+ <div
className="issue-meta"
>
<Link
>
<LinkIcon />
</Link>
- </li>
- <li
+ </div>
+ <div
className="issue-meta"
>
<SimilarIssuesFilter
onFilter={[MockFunction]}
togglePopup={[MockFunction]}
/>
- </li>
- </ul>
+ </div>
+ </div>
</div>
</div>
`;
<div
className="issue-row-meta"
>
- <ul
+ <div
className="issue-meta-list"
>
- <li
+ <div
className="issue-meta"
>
<IssueChangelog
}
togglePopup={[MockFunction]}
/>
- </li>
- <li
+ </div>
+ <div
className="issue-meta"
>
<span
L
26
</span>
- </li>
- <li
+ </div>
+ <div
className="issue-meta"
>
<Tooltip
7
</LocationIndex>
</Tooltip>
- </li>
- <li
+ </div>
+ <div
className="issue-meta"
>
<Link
>
<LinkIcon />
</Link>
- </li>
- </ul>
+ </div>
+ </div>
</div>
</div>
`;
<div
className="issue-row-meta"
>
- <ul
+ <div
className="issue-meta-list"
>
- <li
+ <div
className="issue-meta"
>
<IssueChangelog
}
togglePopup={[MockFunction]}
/>
- </li>
- <li
+ </div>
+ <div
className="issue-meta"
>
<span
L
26
</span>
- </li>
- <li
+ </div>
+ <div
className="issue-meta"
>
<Link
</LocationIndex>
</Tooltip>
</Link>
- </li>
- <li
+ </div>
+ <div
className="issue-meta"
>
<Link
>
<LinkIcon />
</Link>
- </li>
- </ul>
+ </div>
+ </div>
</div>
</div>
`;
}
>
<ButtonLink
+ aria-expanded={true}
+ aria-label="issue.transition.status_x_click_to_change.issue.status.OPEN"
className="issue-action issue-action-with-options js-issue-transition"
onClick={[Function]}
>
}
>
<ButtonLink
+ aria-expanded={false}
+ aria-label="issue.transition.status_x_click_to_change.issue.status.RESOLVED"
className="issue-action issue-action-with-options js-issue-transition"
onClick={[Function]}
>
}
>
<ButtonLink
+ aria-expanded={false}
+ aria-label="issue.transition.status_x_click_to_change.issue.status.OPEN"
className="issue-action issue-action-with-options js-issue-transition"
onClick={[Function]}
>
}
>
<ButtonLink
+ aria-expanded={true}
+ aria-label="issue.type.type_x_click_to_change.issue.type.BUG"
className="issue-action issue-action-with-options js-issue-set-type"
onClick={[Function]}
>
}
>
<ButtonLink
+ aria-expanded={false}
+ aria-label="issue.type.type_x_click_to_change.issue.type.BUG"
className="issue-action issue-action-with-options js-issue-set-type"
onClick={[Function]}
>
#
#------------------------------------------------------------------------------
+issues.on_file_x=Issues on file {0}
issue.add_tags=Add Tags
issue.remove_tags=Remove Tags
issue.no_tag=No tags
+issue.assign.assigned_to_x_click_to_change=Assigned to {0}, click to change
+issue.assign.unassigned_click_to_assign=Unassigned, click to assign issue
issue.assign.formlink=Assign
issue.assign.to_me=to me
+issue.comment.add_comment=Add Comment
issue.comment.formlink=Comment
issue.comment.submit=Comment
issue.comment.explain_why=Consider explaining why
+issue.comment.posted_on=Comment posted on
+issue.comment.edit=Edit comment
+issue.comment.delete=Delete comment
issue.comment.delete_confirm_message=Do you want to delete this comment?
issue.manual_vulnerability=Manual
issue.manual_vulnerability.description=This Vulnerability was created from a Security Hotspot and has its own issue workflow.
issue.send_notifications=Send Notifications
issue.why_this_issue=Why is this an issue?
issue.why_this_issue.long=Why is this an issue? Open the rule's details at the bottom of the page.
+issue.type.type_x_click_to_change=Type: {0}, click to change
+issue.severity.severity_x_click_to_change=Severity: {0}, click to change
+issue.transition.status_x_click_to_change=Issue status: {0}, click to change
issue.transition=Transition
issue.transition.confirm=Confirm
issue.transition.confirm.description=This issue has been reviewed and something should be done eventually to handle it.