diff options
author | Camil Staps | 2015-05-20 15:50:55 +0200 |
---|---|---|
committer | Camil Staps | 2015-05-20 15:50:55 +0200 |
commit | a32db2aa56034f26397c17dcb65db36410f5536c (patch) | |
tree | 07216c35f3cdb8356d43525c350a254f51788f58 /src/js | |
parent | Initial commit (diff) | |
parent | jquery-cookie (diff) |
Merge branch 'frontend-only' of ../../Botleagues_old
Diffstat (limited to 'src/js')
-rw-r--r-- | src/js/Botleagues.js | 26 | ||||
-rw-r--r-- | src/js/BotleaguesCallback.js | 32 | ||||
-rw-r--r-- | src/js/BotleaguesFrontend.js | 28 | ||||
-rw-r--r-- | src/js/forms.js | 12 |
4 files changed, 98 insertions, 0 deletions
diff --git a/src/js/Botleagues.js b/src/js/Botleagues.js new file mode 100644 index 0000000..f9d34b7 --- /dev/null +++ b/src/js/Botleagues.js @@ -0,0 +1,26 @@ +function Botleagues(){} + +Botleagues.url = 'https://api.local.botleagues.camilstaps.nl'; + +Botleagues.request = function(user_options, callback) { + var options = { + endpoint: null, + method: 'GET', + dataType: 'json', + complete: function(data) { + callback(data.responseJSON); + } + }; + for (var name in user_options) { + options[name] = user_options[name]; + } + + var url = Botleagues.url + '/' + options['endpoint']; + delete options['endpoint']; + + jQuery.ajax(url, options); +}; + +Botleagues.redirect = function(user_options) { + window.location = Botleagues.url + '/' + user_options['endpoint']; +};
\ No newline at end of file diff --git a/src/js/BotleaguesCallback.js b/src/js/BotleaguesCallback.js new file mode 100644 index 0000000..f162e7c --- /dev/null +++ b/src/js/BotleaguesCallback.js @@ -0,0 +1,32 @@ +function BotleaguesCallback(){} + +BotleaguesCallback.register = function(data) { + $('form.form-register .form-group') + .removeClass('has-feedback has-success has-warning, has-error') + .find('.form-control-feedback').remove(); + + if (typeof data.error !== 'undefined') { + BotleaguesFrontend.error({message: data.error, prepend_to: $('form.form-register')}); + if (typeof data.errors !== 'undefined') { + for (var key in data.errors) { + var error_msg = data.errors[key].join('; '); + + $('#register-' + key) + .attr('title', error_msg) + .parent() + .addClass('has-feedback has-error') + .append( + $('<span>') + .addClass('glyphicon glyphicon-remove form-control-feedback') + .attr('aria-hidden', true) + ) + .find('label') + .append( + $('<span>') + .addClass('pull-right text-danger') + .text(error_msg) + ); + } + } + } +};
\ No newline at end of file diff --git a/src/js/BotleaguesFrontend.js b/src/js/BotleaguesFrontend.js new file mode 100644 index 0000000..e9ab570 --- /dev/null +++ b/src/js/BotleaguesFrontend.js @@ -0,0 +1,28 @@ +function BotleaguesFrontend(){} + +BotleaguesFrontend.error = function(user_options) { + options = { + dismissable: true, + prepend_to: $('#messages'), + type: 'danger' + }; + for (var key in user_options) { + options[key] = user_options[key]; + } + + var html = '<div class="alert alert-' + options.type + '">'; + if (options.dismissable === true) + html += '<a href="#" class="close" data-dismiss="alert">×</a>'; + html += options.message; + html += '</div>'; + + html = $(html); + + html.prependTo(options.prepend_to).delay(3000).fadeOut().queue(html.remove); +}; + +BotleaguesFrontend.login = function() { + Botleagues.redirect({ + endpoint: 'user/login?redirect=http://local.botleagues.camilstaps.nl/' + }); +};
\ No newline at end of file diff --git a/src/js/forms.js b/src/js/forms.js new file mode 100644 index 0000000..24f0f43 --- /dev/null +++ b/src/js/forms.js @@ -0,0 +1,12 @@ +$('form.form-register').submit(function(){ + Botleagues.request({ + endpoint: 'user', + method: 'POST', + data: { + email: $(this).find('input[name="email"]').val(), + password: $(this).find('input[name="password"]').val() + } + }, BotleaguesCallback.register); + + event.preventDefault(); +});
\ No newline at end of file |