Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTimothy Andrew <mail@timothyandrew.net>2017-06-15 15:13:30 +0300
committerTimothy Andrew <mail@timothyandrew.net>2017-07-06 09:30:05 +0300
commitd705a2548ceebe0fc63356e3e5b0afc54a109d9f (patch)
tree3064a6c82ab24d67ca535056983a34a90ba7a287 /app/assets/javascripts/oauth_remember_me.js
parent43337c120de9f88b8141b0f8073bfa04a4e23776 (diff)
Move OAuth "remember me" javascript logic into a class.
Diffstat (limited to 'app/assets/javascripts/oauth_remember_me.js')
-rw-r--r--app/assets/javascripts/oauth_remember_me.js31
1 files changed, 31 insertions, 0 deletions
diff --git a/app/assets/javascripts/oauth_remember_me.js b/app/assets/javascripts/oauth_remember_me.js
new file mode 100644
index 00000000000..3048f6fec90
--- /dev/null
+++ b/app/assets/javascripts/oauth_remember_me.js
@@ -0,0 +1,31 @@
+/**
+ * OAuth-based login buttons have a separate "remember me" checkbox.
+ *
+ * Toggling this checkbox adds/removes a `remember_me` parameter to the
+ * login buttons' href, which is passed on to the omniauth callback.
+ **/
+
+export default class OAuthRememberMe {
+ constructor(opts = {}) {
+ this.container = opts.container || '';
+ this.loginLinkSelector = '.oauth-login';
+ }
+
+ bindEvents() {
+ this.container.on('click', this.toggleRememberMe);
+ }
+
+ toggleRememberMe(event) {
+ var rememberMe = $(event.target).is(":checked");
+
+ $('.oauth-login').each(function(i, element) {
+ var href = $(element).attr('href');
+
+ if (rememberMe) {
+ $(element).attr('href', href + '?remember_me=1');
+ } else {
+ $(element).attr('href', href.replace('?remember_me=1', ''));
+ }
+ });
+ }
+}