From b722f0a3c60db701988db6452226104f02a2845a Mon Sep 17 00:00:00 2001
From: Kevin Ditscheid <kevin.ditscheid@sgalinski.de>
Date: Tue, 12 Jun 2018 19:26:44 +0200
Subject: [PATCH] [TASK] Scroll to the first form error

---
 Resources/Public/JavaScript/sgJobs.js | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/Resources/Public/JavaScript/sgJobs.js b/Resources/Public/JavaScript/sgJobs.js
index 48157e31..9822eba9 100644
--- a/Resources/Public/JavaScript/sgJobs.js
+++ b/Resources/Public/JavaScript/sgJobs.js
@@ -16,6 +16,9 @@ export default class SgJobs {
 		$('#apply-cover-letter').on('change', SgJobs._checkFileSize);
 		$('#apply-cv').on('change', SgJobs._checkFileSize);
 		$('#apply-certificate').on('change', SgJobs._checkFileSize);
+		if ($('.sg-jobs-validation-error').children().length > 0) {
+			this._scrollToFirstError();
+		}
 	}
 
 	/**
@@ -39,6 +42,17 @@ export default class SgJobs {
 		});
 	}
 
+	/**
+	 * Scroll to the first error of the form
+	 *
+	 * @private
+	 */
+	_scrollToFirstError() {
+		let $errors = $('.sg-jobs-validation-error:has(li)'),
+			errorOffset = $errors.parent().offset();
+		$(window).scrollTop(errorOffset.top);
+	}
+
 	/**
 	 * Filter for the joblist, simply apply the form
 	 *
-- 
GitLab