From 3565d0c362646d681cbac605924fcf7984b05a92 Mon Sep 17 00:00:00 2001 From: Zaran Date: Thu, 19 May 2011 18:31:47 +0200 Subject: Client-side user registration. Send a registration request on connect: * if the user is already registered, set the rsa key from the information sent by the server component. * if not, display the registration form. The forms contains a link to generate a new rsa public/private key (and encrypt the private with the user's password). --- webclient/lib/jquery.forms.js | 71 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100644 webclient/lib/jquery.forms.js (limited to 'webclient/lib/jquery.forms.js') diff --git a/webclient/lib/jquery.forms.js b/webclient/lib/jquery.forms.js new file mode 100644 index 0000000..e9a5258 --- /dev/null +++ b/webclient/lib/jquery.forms.js @@ -0,0 +1,71 @@ +/** + * Form manipulation with jQuery + */ +(function( $ ){ + + var methods = { + + render: function(){ + var result = $('
'); + if ( this.find('title').length !== 0 ){ + result.append('

' + this.find('title') + '

'); + } + + if ( this.find('instructions').length !== 0 ){ + result.append('

' + + this.find('instructions') + '

'); + } + + this.find('field').each(function(index){ + var type = $(this).attr("type"); + var name = $(this).attr("var"); + var required = $(this).find('required').length !== 0; + + if ( $(this).find('desc').length !== 0 ){ + result.append('

' + + $(this).find('desc').text() + + '

'); + } + + if ( $(this).attr('label') !== undefined ){ + result.append(''); + } + + switch(type){ + case("text-single"): + var input = $(''); + input.attr('type', 'text'); + input.attr('name', name); + input.attr('id', 'form-' + name); + + if ( $(this).find('value').length !== 0 ){ + input.attr('value', $(this).find('value').text()); + } + result.append(input); + result.append('
'); + } + }); + return result; + } + }; + + /* + * Register the 'xmppForm' method to the jQuery objects + * the first argument of this method is the submethod + * you want to call + */ + $.fn.xmppForm = function(method) { + if ( methods[method] ) { + return methods[method].apply(this, Array.prototype.slice + .call(arguments, 1)); + } else if ( typeof method === 'object' || !method ) { + return methods.init.apply(this, arguments); + } else { + $.error('Method ' + method + ' does not exist on jQuery.xmppForm'); + } + }; + +})(jQuery); \ No newline at end of file -- cgit v1.2.3-70-g09d2