aboutsummaryrefslogtreecommitdiff
path: root/src/js
diff options
context:
space:
mode:
authorCamil Staps2015-05-20 15:50:55 +0200
committerCamil Staps2015-05-20 15:50:55 +0200
commita32db2aa56034f26397c17dcb65db36410f5536c (patch)
tree07216c35f3cdb8356d43525c350a254f51788f58 /src/js
parentInitial commit (diff)
parentjquery-cookie (diff)
Merge branch 'frontend-only' of ../../Botleagues_old
Diffstat (limited to 'src/js')
-rw-r--r--src/js/Botleagues.js26
-rw-r--r--src/js/BotleaguesCallback.js32
-rw-r--r--src/js/BotleaguesFrontend.js28
-rw-r--r--src/js/forms.js12
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">&times;</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