24 lines
622 B
JavaScript
24 lines
622 B
JavaScript
import { addFilter } from '@wordpress/hooks';
|
|
|
|
const NOOPENER_DEFAULT = 'noopener noreferrer';
|
|
|
|
addFilter(
|
|
'vpf.editor.controls-on-change',
|
|
'vpf/editor/controls-on-change/link-rel',
|
|
(newAttributes, control, val, attributes) => {
|
|
if (control.name === 'items_click_action_url_target') {
|
|
if (val === '_blank' && !attributes.items_click_action_url_rel) {
|
|
newAttributes.items_click_action_url_rel = NOOPENER_DEFAULT;
|
|
}
|
|
if (
|
|
val !== '_blank' &&
|
|
NOOPENER_DEFAULT === attributes.items_click_action_url_rel
|
|
) {
|
|
newAttributes.items_click_action_url_rel = '';
|
|
}
|
|
}
|
|
|
|
return newAttributes;
|
|
}
|
|
);
|