Remove javascript from href attributes

[MAILPOET-2438]
This commit is contained in:
Rostislav Wolny
2019-10-07 14:54:29 +02:00
committed by Jack Kitterhing
parent e4dd097090
commit 6668be4a03
11 changed files with 84 additions and 36 deletions

View File

@@ -191,7 +191,6 @@ class FormList extends React.Component {
{' '}
<button
className="page-title-action"
href="javascript:;"
onClick={this.createForm}
data-automation-id="create_new_form"
type="button"

View File

@@ -26,9 +26,12 @@ class ListingGroups extends React.Component {
<li key={group.name}>
{(index > 0) ? ' |' : ''}
<a
href="javascript:;"
href="#"
className={classes}
onClick={() => this.handleSelect(group.name)}
onClick={(event) => {
event.preventDefault();
this.handleSelect(group.name);
}}
data-automation-id={`filters_${group.label.replace(' ', '_').toLowerCase()}`}
>
{group.label}

View File

@@ -77,8 +77,11 @@ class ListingItem extends React.Component {
{(!isFirst) ? ' | ' : ''}
<a
type="button"
href="javascript:;"
onClick={() => this.handleTrashItem(this.props.item.id)}
href="#"
onClick={(event) => {
event.preventDefault();
this.handleTrashItem(this.props.item.id);
}}
>
{MailPoet.I18n.t('moveToTrash')}
</a>
@@ -122,12 +125,13 @@ class ListingItem extends React.Component {
>
{(!isFirst) ? ' | ' : ''}
<a
href="javascript:;"
onClick={
(action.onClick !== undefined)
? () => action.onClick(this.props.item, this.props.onRefreshItems)
: false
}
href="#"
onClick={(event) => {
event.preventDefault();
if (action.onClick !== undefined) {
action.onClick(this.props.item, this.props.onRefreshItems);
}
}}
>
{ action.label }
</a>
@@ -157,8 +161,11 @@ class ListingItem extends React.Component {
<div className="row-actions">
<span>
<a
href="javascript:;"
onClick={() => this.handleRestoreItem(this.props.item.id)}
href="#"
onClick={(event) => {
event.preventDefault();
this.handleRestoreItem(this.props.item.id);
}}
>
{MailPoet.I18n.t('restore')}
</a>
@@ -167,8 +174,11 @@ class ListingItem extends React.Component {
<span className="delete">
<a
className="submitdelete"
href="javascript:;"
onClick={() => this.handleDeleteItem(this.props.item.id)}
href="#"
onClick={(event) => {
event.preventDefault();
this.handleDeleteItem(this.props.item.id);
}}
>
{MailPoet.I18n.t('deletePermanently')}
</a>

View File

@@ -62,8 +62,11 @@ class ListingItems extends React.Component { // eslint-disable-line react/prefer
}
&nbsp;
<a
onClick={this.props.onSelectAll}
href="javascript:;"
href="#"
onClick={(event) => {
event.preventDefault();
this.props.onSelectAll(event);
}}
>
{
(this.props.selection !== 'all')

View File

@@ -84,9 +84,12 @@ const MailerError = (props) => {
{ props.mta_method === 'PHPMail' ? <PHPMailerCheckSettingsNotice /> : <MailerCheckSettingsNotice /> }
<p>
<a
href="javascript:;"
href="#"
className="button button-primary"
onClick={resumeMailerSending}
onClick={(event) => {
event.preventDefault();
resumeMailerSending(event);
}}
>
{ MailPoet.I18n.t('mailerResumeSendingButton') }
</a>

View File

@@ -78,8 +78,11 @@ class ListingPages extends React.Component {
if (this.props.page > 1) {
previousPage = (
<a
href="javascript:;"
onClick={this.setPreviousPage}
href="#"
onClick={(event) => {
event.preventDefault();
this.setPreviousPage(event);
}}
className="prev-page button"
>
<span className="screen-reader-text">{MailPoet.I18n.t('previousPage')}</span>
@@ -91,8 +94,11 @@ class ListingPages extends React.Component {
if (this.props.page > 2) {
firstPage = (
<a
href="javascript:;"
onClick={this.setFirstPage}
href="#"
onClick={(event) => {
event.preventDefault();
this.setFirstPage(event);
}}
className="first-page button"
>
<span className="screen-reader-text">{MailPoet.I18n.t('firstPage')}</span>
@@ -104,8 +110,11 @@ class ListingPages extends React.Component {
if (this.props.page < this.getLastPage()) {
nextPage = (
<a
href="javascript:;"
onClick={this.setNextPage}
href="#"
onClick={(event) => {
event.preventDefault();
this.setNextPage(event);
}}
className="next-page button"
>
<span className="screen-reader-text">{MailPoet.I18n.t('nextPage')}</span>
@@ -117,8 +126,11 @@ class ListingPages extends React.Component {
if (this.props.page < this.getLastPage() - 1) {
lastPage = (
<a
href="javascript:;"
onClick={this.setLastPage}
href="#"
onClick={(event) => {
event.preventDefault();
this.setLastPage();
}}
className="last-page button"
>
<span className="screen-reader-text">{MailPoet.I18n.t('lastPage')}</span>

View File

@@ -72,8 +72,11 @@ const LinkButton = ({ className, onClick, children }) => (
<a
className={classNames('button', className)}
style={{ display: 'inline-block' }}
href="javascript:;"
onClick={onClick}
href="#"
onClick={(event) => {
event.preventDefault();
onClick(event);
}}
>
{children}
</a>

View File

@@ -193,8 +193,11 @@ class NewsletterListStandard extends React.Component {
<strong>
<a
className="row-title"
href="javascript:;"
onClick={() => confirmEdit(newsletter)}
href="#"
onClick={(event) => {
event.preventDefault();
confirmEdit(newsletter);
}}
>
{ newsletter.queue.newsletter_rendered_subject || newsletter.subject }
</a>

View File

@@ -152,8 +152,11 @@ const ListingItem = ({
<br />
<a
className="button"
href="javascript:;"
onClick={resend}
href="#"
onClick={(event) => {
event.preventDefault();
resend();
}}
>
{MailPoet.I18n.t('resend')}
</a>

View File

@@ -7,9 +7,12 @@ const Tabs = ({ tabs, selected, select }) => (
{tabs.map(({ name, label }) => (
<li key={name}>
<a
href="javascript:"
href="#"
className={selected === name ? 'current' : ''}
onClick={() => select(name)}
onClick={(event) => {
event.preventDefault();
select(name);
}}
>
{' '}
{label}

View File

@@ -104,7 +104,13 @@ class TemplateBox extends React.Component {
let preview = '';
if (typeof thumbnail === 'string' && thumbnail.length > 0) {
preview = (
<a href="javascript:;" onClick={this.onPreview}>
<a
href="#"
onClick={(event) => {
event.preventDefault();
this.onPreview(event);
}}
>
<img src={thumbnail} alt={MailPoet.I18n.t('templatePreview')} loading="lazy" />
<div className="mailpoet_overlay">
<p className="mailpoet_more_details">{MailPoet.I18n.t('zoom')}</p>