comindware.core.ui
Version:
Comindware Core UI provides the basic components like editors, lists, dropdowns, popups that we so desperately need while creating Marionette-based single-page applications.
25 lines (20 loc) • 1 kB
JavaScript
import { validationSeverityTypes, validationSeverityClasses } from 'Meta';
import template from './templates/errorButton.hbs';
export default Marionette.View.extend({
initialize() {
const errorCollection = this.model?.get('errorCollection');
if (errorCollection) {
this.listenTo(errorCollection, 'add remove reset', () => (this.el.className = this.className()));
}
},
template: Handlebars.compile(template),
className() {
let severityPart = validationSeverityClasses.ERROR;
const errorCollection = this.model?.get('errorCollection');
if (errorCollection?.length && errorCollection.every(error => error.has('severity') && error.get('severity')?.toLowerCase() === validationSeverityTypes.WARNING)) {
severityPart = validationSeverityClasses.WARNING;
}
return `js-field-error-button form-label__${severityPart}-button fa fa-exclamation-circle`;
},
tagName: 'i'
});