kopia lustrzana https://github.com/wagtail/wagtail
Move repeated error message handling code into an include
rodzic
ff70382ebb
commit
c66b86b756
|
@ -8,6 +8,10 @@ import {
|
|||
} from './BaseSequenceBlock';
|
||||
import { escapeHtml as h } from '../../../utils/text';
|
||||
import { range } from '../../../utils/range';
|
||||
import {
|
||||
addErrorMessages,
|
||||
removeErrorMessages,
|
||||
} from '../../../includes/streamFieldErrors';
|
||||
|
||||
/* global $ */
|
||||
|
||||
|
@ -256,19 +260,10 @@ export class ListBlock extends BaseSequenceBlock {
|
|||
|
||||
// Non block errors
|
||||
const container = this.container[0];
|
||||
container
|
||||
.querySelectorAll(':scope > .help-block.help-critical')
|
||||
.forEach((element) => element.remove());
|
||||
removeErrorMessages(container);
|
||||
|
||||
if (error.messages) {
|
||||
// Add a help block for each error raised
|
||||
error.messages.forEach((message) => {
|
||||
const errorElement = document.createElement('p');
|
||||
errorElement.classList.add('help-block');
|
||||
errorElement.classList.add('help-critical');
|
||||
errorElement.innerHTML = h(message);
|
||||
container.insertBefore(errorElement, container.childNodes[0]);
|
||||
});
|
||||
addErrorMessages(container, error.messages);
|
||||
}
|
||||
|
||||
if (error.blockErrors) {
|
||||
|
|
|
@ -18,6 +18,10 @@ import ComboBox, {
|
|||
comboBoxTriggerLabel,
|
||||
} from '../../ComboBox/ComboBox';
|
||||
import { hideTooltipOnEsc } from '../../../includes/initTooltips';
|
||||
import {
|
||||
addErrorMessages,
|
||||
removeErrorMessages,
|
||||
} from '../../../includes/streamFieldErrors';
|
||||
|
||||
/* global $ */
|
||||
|
||||
|
@ -401,19 +405,10 @@ export class StreamBlock extends BaseSequenceBlock {
|
|||
|
||||
// Non block errors (messages applying to the block as a whole)
|
||||
const container = this.container[0];
|
||||
container
|
||||
.querySelectorAll(':scope > .help-block.help-critical')
|
||||
.forEach((element) => element.remove());
|
||||
removeErrorMessages(container);
|
||||
|
||||
if (error.messages) {
|
||||
// Add a help block for each error raised
|
||||
error.messages.forEach((message) => {
|
||||
const errorElement = document.createElement('p');
|
||||
errorElement.classList.add('help-block');
|
||||
errorElement.classList.add('help-critical');
|
||||
errorElement.innerHTML = h(message);
|
||||
container.insertBefore(errorElement, container.childNodes[0]);
|
||||
});
|
||||
addErrorMessages(container, error.messages);
|
||||
}
|
||||
|
||||
if (error.blockErrors) {
|
||||
|
|
|
@ -2,6 +2,10 @@
|
|||
|
||||
import { escapeHtml as h } from '../../../utils/text';
|
||||
import { hasOwn } from '../../../utils/hasOwn';
|
||||
import {
|
||||
addErrorMessages,
|
||||
removeErrorMessages,
|
||||
} from '../../../includes/streamFieldErrors';
|
||||
|
||||
export class StructBlock {
|
||||
constructor(blockDef, placeholder, prefix, initialState, initialError) {
|
||||
|
@ -90,21 +94,12 @@ export class StructBlock {
|
|||
|
||||
setError(error) {
|
||||
if (!error) return;
|
||||
|
||||
// Non block errors
|
||||
const container = this.container[0];
|
||||
container
|
||||
.querySelectorAll(':scope > .help-block.help-critical')
|
||||
.forEach((element) => element.remove());
|
||||
|
||||
removeErrorMessages(container);
|
||||
if (error.messages) {
|
||||
// Add a help block for each error raised
|
||||
error.messages.forEach((message) => {
|
||||
const errorElement = document.createElement('p');
|
||||
errorElement.classList.add('help-block');
|
||||
errorElement.classList.add('help-critical');
|
||||
errorElement.innerHTML = h(message);
|
||||
container.insertBefore(errorElement, container.childNodes[0]);
|
||||
});
|
||||
addErrorMessages(container, error.messages);
|
||||
}
|
||||
|
||||
if (error.blockErrors) {
|
||||
|
|
|
@ -3,6 +3,10 @@
|
|||
|
||||
import { escapeHtml as h } from '../../../utils/text';
|
||||
import { range } from '../../../utils/range';
|
||||
import {
|
||||
addErrorMessages,
|
||||
removeErrorMessages,
|
||||
} from '../../../includes/streamFieldErrors';
|
||||
|
||||
export class TypedTableBlock {
|
||||
constructor(blockDef, placeholder, prefix, initialState, initialError) {
|
||||
|
@ -458,19 +462,10 @@ export class TypedTableBlock {
|
|||
|
||||
// Non block errors
|
||||
const container = this.container[0];
|
||||
container
|
||||
.querySelectorAll(':scope > .help-block.help-critical')
|
||||
.forEach((element) => element.remove());
|
||||
removeErrorMessages(container);
|
||||
|
||||
if (error.messages) {
|
||||
// Add a help block for each error raised
|
||||
error.messages.forEach((message) => {
|
||||
const errorElement = document.createElement('p');
|
||||
errorElement.classList.add('help-block');
|
||||
errorElement.classList.add('help-critical');
|
||||
errorElement.innerHTML = h(message);
|
||||
container.insertBefore(errorElement, container.childNodes[0]);
|
||||
});
|
||||
addErrorMessages(container, error.messages);
|
||||
}
|
||||
|
||||
if (error.blockErrors) {
|
||||
|
|
|
@ -0,0 +1,19 @@
|
|||
import { escapeHtml as h } from '../utils/text';
|
||||
|
||||
const removeErrorMessages = (container) => {
|
||||
container
|
||||
.querySelectorAll(':scope > .help-block.help-critical')
|
||||
.forEach((element) => element.remove());
|
||||
};
|
||||
|
||||
const addErrorMessages = (container, messages) => {
|
||||
messages.forEach((message) => {
|
||||
const errorElement = document.createElement('p');
|
||||
errorElement.classList.add('help-block');
|
||||
errorElement.classList.add('help-critical');
|
||||
errorElement.innerHTML = h(message);
|
||||
container.insertBefore(errorElement, container.childNodes[0]);
|
||||
});
|
||||
};
|
||||
|
||||
export { removeErrorMessages, addErrorMessages };
|
Ładowanie…
Reference in New Issue