File: D:/HostingSpaces/blijegasten/blijegasten.be/resources/js/shop/components/errorController.js
/**
* Controls a div with an ul in it to show errors or not
*/
class ErrorController {
constructor()
{
this._classToHide = 'u-hidden';
this._errorElementIdSuffix = '_error';
}
/**
* @param {string} fieldSelector
* @param {string} error
*/
setFieldError(fieldSelector, error)
{
let selector = '#'+fieldSelector+this._errorElementIdSuffix;
let errorElement = document.querySelector(selector);
if(!errorElement) return;
errorElement.classList.remove(this._classToHide);
errorElement.innerText = error;
}
/**
* @param {string} fieldSelector
*/
clearFieldError(fieldSelector) {
let selector = '#'+fieldSelector+this._errorElementIdSuffix;
let errorElement = document.querySelector(selector);
if (!errorElement) return;
errorElement.classList.add(this._classToHide);
errorElement.innerText = '';
}
/**
* Clear all errors
*/
clearAllErrors() {
let self = this;
document.querySelectorAll('[id$='+this._errorElementIdSuffix+']').forEach(function(errorElement) {
errorElement.classList.add(self._classToHide);
errorElement.innerText = '';
})
}
}
export { ErrorController }