Commit 31d8c781227b9724df9b787125e557242184d92c
Committed by
Gabriela Navarro
1 parent
decf285d
Exists in
master
and in
5 other branches
Add mask in fields cell phone and comercial phone of person
(correcoes_aderencia) Signed-off-by: Fabio Teixeira <fabio1079@gmail.com> Signed-off-by: Gustavo Jaruga <darksshades@gmail.com> Signed-off-by: Luciano Prestes Cavalcanti <lucianopcbr@gmail.com>
Showing
3 changed files
with
41 additions
and
1 deletions
Show diff stats
lib/mpog_software_plugin.rb
@@ -200,7 +200,7 @@ class MpogSoftwarePlugin < Noosfero::Plugin | @@ -200,7 +200,7 @@ class MpogSoftwarePlugin < Noosfero::Plugin | ||
200 | end | 200 | end |
201 | 201 | ||
202 | def js_files | 202 | def js_files |
203 | - ["mpog-software-validations.js", "mpog-user-validations.js", "mpog-institution-validations.js", "mpog-incomplete-registration.js", "mpog-search.js"] | 203 | + ["mpog-software-validations.js", "mpog-user-validations.js", "mpog-institution-validations.js", "mpog-incomplete-registration.js", "mpog-search.js", "jquery.maskedinput.min.js"] |
204 | end | 204 | end |
205 | 205 | ||
206 | def add_new_organization_buttons | 206 | def add_new_organization_buttons |
@@ -0,0 +1,7 @@ | @@ -0,0 +1,7 @@ | ||
1 | +/* | ||
2 | + Masked Input plugin for jQuery | ||
3 | + Copyright (c) 2007-2013 Josh Bush (digitalbush.com) | ||
4 | + Licensed under the MIT license (http://digitalbush.com/projects/masked-input-plugin/#license) | ||
5 | + Version: 1.3.1 | ||
6 | +*/ | ||
7 | +(function(e){function t(){var e=document.createElement("input"),t="onpaste";return e.setAttribute(t,""),"function"==typeof e[t]?"paste":"input"}var n,a=t()+".mask",r=navigator.userAgent,i=/iphone/i.test(r),o=/android/i.test(r);e.mask={definitions:{9:"[0-9]",a:"[A-Za-z]","*":"[A-Za-z0-9]"},dataName:"rawMaskFn",placeholder:"_"},e.fn.extend({caret:function(e,t){var n;if(0!==this.length&&!this.is(":hidden"))return"number"==typeof e?(t="number"==typeof t?t:e,this.each(function(){this.setSelectionRange?this.setSelectionRange(e,t):this.createTextRange&&(n=this.createTextRange(),n.collapse(!0),n.moveEnd("character",t),n.moveStart("character",e),n.select())})):(this[0].setSelectionRange?(e=this[0].selectionStart,t=this[0].selectionEnd):document.selection&&document.selection.createRange&&(n=document.selection.createRange(),e=0-n.duplicate().moveStart("character",-1e5),t=e+n.text.length),{begin:e,end:t})},unmask:function(){return this.trigger("unmask")},mask:function(t,r){var c,l,s,u,f,h;return!t&&this.length>0?(c=e(this[0]),c.data(e.mask.dataName)()):(r=e.extend({placeholder:e.mask.placeholder,completed:null},r),l=e.mask.definitions,s=[],u=h=t.length,f=null,e.each(t.split(""),function(e,t){"?"==t?(h--,u=e):l[t]?(s.push(RegExp(l[t])),null===f&&(f=s.length-1)):s.push(null)}),this.trigger("unmask").each(function(){function c(e){for(;h>++e&&!s[e];);return e}function d(e){for(;--e>=0&&!s[e];);return e}function m(e,t){var n,a;if(!(0>e)){for(n=e,a=c(t);h>n;n++)if(s[n]){if(!(h>a&&s[n].test(R[a])))break;R[n]=R[a],R[a]=r.placeholder,a=c(a)}b(),x.caret(Math.max(f,e))}}function p(e){var t,n,a,i;for(t=e,n=r.placeholder;h>t;t++)if(s[t]){if(a=c(t),i=R[t],R[t]=n,!(h>a&&s[a].test(i)))break;n=i}}function g(e){var t,n,a,r=e.which;8===r||46===r||i&&127===r?(t=x.caret(),n=t.begin,a=t.end,0===a-n&&(n=46!==r?d(n):a=c(n-1),a=46===r?c(a):a),k(n,a),m(n,a-1),e.preventDefault()):27==r&&(x.val(S),x.caret(0,y()),e.preventDefault())}function v(t){var n,a,i,l=t.which,u=x.caret();t.ctrlKey||t.altKey||t.metaKey||32>l||l&&(0!==u.end-u.begin&&(k(u.begin,u.end),m(u.begin,u.end-1)),n=c(u.begin-1),h>n&&(a=String.fromCharCode(l),s[n].test(a)&&(p(n),R[n]=a,b(),i=c(n),o?setTimeout(e.proxy(e.fn.caret,x,i),0):x.caret(i),r.completed&&i>=h&&r.completed.call(x))),t.preventDefault())}function k(e,t){var n;for(n=e;t>n&&h>n;n++)s[n]&&(R[n]=r.placeholder)}function b(){x.val(R.join(""))}function y(e){var t,n,a=x.val(),i=-1;for(t=0,pos=0;h>t;t++)if(s[t]){for(R[t]=r.placeholder;pos++<a.length;)if(n=a.charAt(pos-1),s[t].test(n)){R[t]=n,i=t;break}if(pos>a.length)break}else R[t]===a.charAt(pos)&&t!==u&&(pos++,i=t);return e?b():u>i+1?(x.val(""),k(0,h)):(b(),x.val(x.val().substring(0,i+1))),u?t:f}var x=e(this),R=e.map(t.split(""),function(e){return"?"!=e?l[e]?r.placeholder:e:void 0}),S=x.val();x.data(e.mask.dataName,function(){return e.map(R,function(e,t){return s[t]&&e!=r.placeholder?e:null}).join("")}),x.attr("readonly")||x.one("unmask",function(){x.unbind(".mask").removeData(e.mask.dataName)}).bind("focus.mask",function(){clearTimeout(n);var e;S=x.val(),e=y(),n=setTimeout(function(){b(),e==t.length?x.caret(0,e):x.caret(e)},10)}).bind("blur.mask",function(){y(),x.val()!=S&&x.change()}).bind("keydown.mask",g).bind("keypress.mask",v).bind(a,function(){setTimeout(function(){var e=y(!0);x.caret(e),r.completed&&e==x.val().length&&r.completed.call(x)},0)}),y()}))}})})(jQuery); | ||
0 | \ No newline at end of file | 8 | \ No newline at end of file |
public/mpog-user-validations.js
@@ -62,6 +62,33 @@ | @@ -62,6 +62,33 @@ | ||
62 | } | 62 | } |
63 | } | 63 | } |
64 | 64 | ||
65 | + function show_or_hide_phone_mask() { | ||
66 | + if(jQuery("#profile_data_country").val() == "BR") { | ||
67 | + if( (typeof jQuery("#profile_data_cell_phone").data("rawMaskFn") === 'undefined') ) { | ||
68 | + jQuery("#profile_data_cell_phone").mask("(99) 9999?9-9999"); | ||
69 | + jQuery("#profile_data_comercial_phone").mask("(99) 9999?9-9999"); | ||
70 | + } | ||
71 | + } else { | ||
72 | + jQuery("#profile_data_cell_phone").unmask(); | ||
73 | + jQuery("#profile_data_comercial_phone").unmask(); | ||
74 | + } | ||
75 | + } | ||
76 | + | ||
77 | + function fix_phone_mask_format(id) { | ||
78 | + jQuery(id).blur(function() { | ||
79 | + var last = jQuery(this).val().substr( jQuery(this).val().indexOf("-") + 1 ); | ||
80 | + | ||
81 | + if( last.length == 3 ) { | ||
82 | + var move = jQuery(this).val().substr( jQuery(this).val().indexOf("-") - 1, 1 ); | ||
83 | + var lastfour = move + last; | ||
84 | + | ||
85 | + var first = jQuery(this).val().substr( 0, 9 ); | ||
86 | + | ||
87 | + jQuery(this).val( first + '-' + lastfour ); | ||
88 | + } | ||
89 | + }); | ||
90 | + } | ||
91 | + | ||
65 | jQuery(document).ready(function(){ | 92 | jQuery(document).ready(function(){ |
66 | set_initial_form_custom_data(); | 93 | set_initial_form_custom_data(); |
67 | 94 | ||
@@ -75,5 +102,11 @@ | @@ -75,5 +102,11 @@ | ||
75 | jQuery('#secondary_email_field').blur(function() { jQuery('#secondary-email-balloon').fadeOut('slow'); }); | 102 | jQuery('#secondary_email_field').blur(function() { jQuery('#secondary-email-balloon').fadeOut('slow'); }); |
76 | 103 | ||
77 | jQuery("#user_pw").blur(verify_user_password_size); | 104 | jQuery("#user_pw").blur(verify_user_password_size); |
105 | + | ||
106 | + jQuery("#profile_data_country").blur(show_or_hide_phone_mask); | ||
107 | + show_or_hide_phone_mask(); | ||
108 | + | ||
109 | + fix_phone_mask_format("#profile_data_cell_phone"); | ||
110 | + fix_phone_mask_format("#profile_data_comercial_phone"); | ||
78 | }); | 111 | }); |
79 | })(); | 112 | })(); |
80 | \ No newline at end of file | 113 | \ No newline at end of file |