- /**
- * Emit an event for public use.
- * Sends the event via the native DOM event handling system.
- * @param {Element} targetElement
- * @param {String} eventName
- * @param {Object} eventData
- */
- emitPublic(targetElement, eventName, eventData) {
- const event = new CustomEvent(eventName, {
- detail: eventData,
- bubbles: true
- });
- targetElement.dispatchEvent(event);
+/**
+ * Emit an event for public use.
+ * Sends the event via the native DOM event handling system.
+ * @param {Element} targetElement
+ * @param {String} eventName
+ * @param {Object} eventData
+ */
+export function emitPublic(targetElement, eventName, eventData) {
+ const event = new CustomEvent(eventName, {
+ detail: eventData,
+ bubbles: true,
+ });
+ targetElement.dispatchEvent(event);
+}
+
+/**
+ * Emit a success event with the provided message.
+ * @param {String} message
+ */
+export function success(message) {
+ emit('success', message);
+}
+
+/**
+ * Emit an error event with the provided message.
+ * @param {String} message
+ */
+export function error(message) {
+ emit('error', message);
+}
+
+/**
+ * Notify of standard server-provided validation errors.
+ * @param {Object} responseErr
+ */
+export function showValidationErrors(responseErr) {
+ if (!responseErr.status) return;
+ if (responseErr.status === 422 && responseErr.data) {
+ const message = Object.values(responseErr.data).flat().join('\n');
+ error(message);