blob: 8d2d5d41f6a60ecbe0969eace784cbb9f460139d (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
import $ from 'jquery';
import { mergeUrlParams, removeParams } from '~/lib/utils/url_utility';
/**
* OAuth-based login buttons have a separate "remember me" checkbox.
*
* Toggling this checkbox adds/removes a `remember_me` parameter to the
* login buttons' parent form action, which is passed on to the omniauth callback.
*/
export default class OAuthRememberMe {
constructor(opts = {}) {
this.container = opts.container || '';
}
bindEvents() {
$('#remember_me', this.container).on('click', this.toggleRememberMe);
}
toggleRememberMe(event) {
const rememberMe = $(event.target).is(':checked');
$('.oauth-login', this.container).each((i, element) => {
const $form = $(element).parent('form');
const href = $form.attr('action');
if (rememberMe) {
$form.attr('action', mergeUrlParams({ remember_me: 1 }, href));
} else {
$form.attr('action', removeParams(['remember_me'], href));
}
});
}
}
|