Browse Source

finished form validation

Former-commit-id: 97e73b7d8706a9e163d7a4cd25f94e7f394dc236
Former-commit-id: ca3d3ed9b79905a895ae8d67da07c32eb98e8e0f
beta
Jack Lukic 12 years ago
parent
commit
55b3712847
  1. 73
      build/minified/modules/behavior/form.js
  2. 2
      build/minified/modules/behavior/form.min.js
  3. 27
      build/minified/modules/checkbox.js
  4. 2
      build/minified/modules/checkbox.min.js
  5. 23
      build/minified/modules/dropdown.js
  6. 2
      build/minified/modules/dropdown.min.js
  7. 2
      build/minified/modules/nag.min.js
  8. 2
      build/minified/modules/popup.min.js
  9. 2
      build/minified/modules/search.min.js
  10. 2
      build/minified/modules/tab.min.js
  11. 73
      build/packaged/modules/behavior/form.js
  12. 27
      build/packaged/modules/checkbox.js
  13. 23
      build/packaged/modules/dropdown.js
  14. 2
      build/packaged/semantic.min.js.REMOVED.git-id
  15. 73
      build/uncompressed/modules/behavior/form.js
  16. 27
      build/uncompressed/modules/checkbox.js
  17. 23
      build/uncompressed/modules/dropdown.js
  18. 73
      node/src/files/components/semantic/modules/behavior/form.js
  19. 27
      node/src/files/components/semantic/modules/checkbox.js
  20. 23
      node/src/files/components/semantic/modules/dropdown.js
  21. 73
      src/modules/behavior/form.js
  22. 27
      src/modules/checkbox.js
  23. 23
      src/modules/dropdown.js

73
build/minified/modules/behavior/form.js

@ -47,7 +47,6 @@ $.fn.form = function(fields, parameters) {
instance = $module.data('module-' + settings.namespace),
namespace = settings.namespace,
selector = settings.selector,
metadata = settings.metadata,
className = settings.className,
errors = settings.errors,
@ -81,12 +80,14 @@ $.fn.form = function(fields, parameters) {
},
refresh: function() {
$field = $module.find(selector.field);
$field = $module.find(settings.selector.field);
},
submit: function() {
module.verbose('Submitting form', $module);
$module.submit();
$module
.submit()
;
},
event: {
@ -102,9 +103,11 @@ $.fn.form = function(fields, parameters) {
;
if( key == keyCode.escape) {
module.verbose('Escape key pressed blurring field');
$field.blur();
$field
.blur()
;
}
if( key == keyCode.enter && $field.is(selector.input) ) {
if( key == keyCode.enter && $field.is(settings.selector.input) ) {
module.debug('Enter key pressed, submitting form');
$submit
.addClass(className.down)
@ -140,6 +143,7 @@ $.fn.form = function(fields, parameters) {
get: {
field: function(identifier) {
module.verbose('Finding field with identifier', identifier);
if( $field.filter('#' + identifier).size() > 0 ) {
return $field.filter('#' + identifier);
}
@ -164,12 +168,30 @@ $.fn.form = function(fields, parameters) {
}
},
has: {
field: function(identifier) {
module.verbose('Checking for existence of a field with identifier', identifier);
if( $field.filter('#' + identifier).size() > 0 ) {
return true;
}
else if( $field.filter('[name="' + identifier +'"]').size() > 0 ) {
return true
}
else if( $field.filter('[data-' + metadata.validate + '="'+ identifier +'"]').size() > 0 ) {
return true
}
return false;
}
},
add: {
prompt: function(field, errors) {
var
$field = module.get.field(field.identifier),
$fieldGroup = $field.closest($group),
$prompt = $fieldGroup.find(selector.prompt),
$prompt = $fieldGroup.find(settings.selector.prompt),
promptExists = ($prompt.size() !== 0)
;
module.verbose('Adding inline validation prompt');
@ -188,7 +210,9 @@ $.fn.form = function(fields, parameters) {
.html(errors[0])
;
if($prompt.is(':not(:visible)')) {
$prompt.fadeIn(200);
$prompt
.fadeIn(settings.animateSpeed)
;
}
}
},
@ -230,7 +254,10 @@ $.fn.form = function(fields, parameters) {
}
});
if(allValid) {
$module.removeClass(className.error);
$module
.removeClass(className.error)
.addClass(className.success)
;
$.proxy(settings.onSuccess, this)(event);
}
else {
@ -251,7 +278,7 @@ $.fn.form = function(fields, parameters) {
;
if(field.rules !== undefined) {
$.each(field.rules, function(index, rule) {
if( !( module.validate.rule(field, rule) ) ) {
if( module.has.field(field.identifier) && !( module.validate.rule(field, rule) ) ) {
module.debug('Field is invalid', field.identifier, rule.type);
fieldErrors.push(rule.prompt);
fieldValid = false;
@ -329,14 +356,22 @@ $.fn.form = function(fields, parameters) {
},
debug: function() {
if(settings.debug) {
module.performance.log(arguments[0]);
module.debug = Function.prototype.bind.call(console.info, console, settings.moduleName + ':');
if(settings.performance) {
module.performance.log(arguments);
}
else {
module.debug = Function.prototype.bind.call(console.info, console, settings.moduleName + ':');
}
}
},
verbose: function() {
if(settings.verbose && settings.debug) {
module.performance.log(arguments[0]);
module.verbose = Function.prototype.bind.call(console.info, console, settings.moduleName + ':');
if(settings.performance) {
module.performance.log(arguments);
}
else {
module.verbose = Function.prototype.bind.call(console.info, console, settings.moduleName + ':');
}
}
},
error: function() {
@ -356,7 +391,8 @@ $.fn.form = function(fields, parameters) {
time = currentTime;
performance.push({
'Element' : element,
'Name' : message,
'Name' : message[0],
'Arguments' : message[1] || 'None',
'Execution Time' : executionTime
});
clearTimeout(module.performance.timer);
@ -370,7 +406,7 @@ $.fn.form = function(fields, parameters) {
totalExecutionTime = 0
;
if(selector) {
title += 'Performance (' + selector + ')';
title += ' Performance (' + selector + ')';
}
if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) {
console.groupCollapsed(title);
@ -446,9 +482,10 @@ $.fn.form = function(fields, parameters) {
$.fn.form.settings = {
// module info
moduleName : 'Validate Form Module',
moduleName : 'Form',
debug : true,
verbose : true,
performance : true,
namespace : 'validate',
keyboardShortcuts : true,
@ -477,6 +514,7 @@ $.fn.form.settings = {
className : {
error : 'error',
success: 'success',
down : 'down',
label : 'ui label prompt'
},
@ -603,6 +641,9 @@ $.fn.form.settings = {
not: function(value, notValue) {
return (value != notValue);
},
is: function(value, text) {
return (value == text);
},
maxLength: function(value, maxLength) {
return (value !== undefined)
? (value.length <= maxLength)

2
build/minified/modules/behavior/form.min.js

File diff suppressed because one or more lines are too long

27
build/minified/modules/checkbox.js

@ -156,20 +156,26 @@ $.fn.checkbox = function(parameters) {
},
debug: function() {
if(settings.debug) {
module.performance.log(arguments[0]);
module.debug = Function.prototype.bind.call(console.info, console, settings.moduleName + ':');
if(settings.performance) {
module.performance.log(arguments);
}
else {
module.debug = Function.prototype.bind.call(console.info, console, settings.moduleName + ':');
}
}
},
verbose: function() {
if(settings.verbose && settings.debug) {
module.performance.log(arguments[0]);
module.verbose = Function.prototype.bind.call(console.info, console, settings.moduleName + ':');
if(settings.performance) {
module.performance.log(arguments);
}
else {
module.verbose = Function.prototype.bind.call(console.info, console, settings.moduleName + ':');
}
}
},
error: function() {
if(console.log !== undefined) {
module.error = Function.prototype.bind.call(console.log, console, settings.moduleName + ':');
}
module.error = Function.prototype.bind.call(console.log, console, settings.moduleName + ':');
},
performance: {
log: function(message) {
@ -185,7 +191,8 @@ $.fn.checkbox = function(parameters) {
time = currentTime;
performance.push({
'Element' : element,
'Name' : message,
'Name' : message[0],
'Arguments' : message[1] || 'None',
'Execution Time' : executionTime
});
clearTimeout(module.performance.timer);
@ -199,7 +206,7 @@ $.fn.checkbox = function(parameters) {
totalExecutionTime = 0
;
if(selector) {
title += 'Performance (' + selector + ')';
title += ' Performance (' + selector + ')';
}
if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) {
console.groupCollapsed(title);
@ -279,7 +286,7 @@ $.fn.checkbox.settings = {
verbose : true,
debug : true,
performance : false,
performance : true,
// delegated event context
context : false,

2
build/minified/modules/checkbox.min.js

@ -1 +1 @@
(function(e,t,n,o){e.fn.checkbox=function(t){var n,a=e(this),i=e.extend(!0,{},e.fn.checkbox.settings,t),s="."+i.namespace,r="module-"+i.namespace,l=(a.selector||"",(new Date).getTime()),c=[],u=arguments[0],d="string"==typeof u,f=[].slice.call(arguments,1);return a.each(function(){var t,m=e(this),p=e(this).find(i.selector.input),g=m.selector||"",h=this,v=m.data("module-"+i.namespace),b=i.className,y=i.namespace,x=i.errors;t={initialize:function(){i.context&&""!==g?(t.verbose("Initializing checkbox with delegated events",m),e(h,i.context).on(g,"click"+s,t.toggle).data(r,t)):(t.verbose("Initializing checkbox with bound events",m),m.on("click"+s,t.toggle).data(r,t))},destroy:function(){t.verbose("Destroying previous module for",m),m.off(y)},is:{radio:function(){return m.hasClass(b.radio)}},can:{disable:function(){return"boolean"==typeof i.required?i.required:!t.is.radio()}},enable:function(){t.debug("Enabling checkbox"),m.addClass(b.active),p.prop("checked",!0),e.proxy(i.onChange,p.get())(),e.proxy(i.onEnable,p.get())()},disable:function(){t.debug("Disabling checkbox"),m.removeClass(b.active),p.prop("checked",!1),e.proxy(i.onChange,p.get())(),e.proxy(i.onDisable,p.get())()},toggle:function(){t.verbose("Toggling checkbox state"),p.prop("checked")!==o&&p.prop("checked")?t.can.disable()&&t.disable():t.enable()},setting:function(n,a){return a===o?i[n]:(e.isPlainObject(n)?(t.verbose("Modifying settings object",n,a),e.extend(!0,i,n)):(t.verbose("Modifying setting",n,a),i[n]=a),o)},internal:function(n,a){return a===o?t[n]:(e.isPlainObject(n)?(t.verbose("Modifying internal property",n,a),e.extend(!0,t,n)):(t.verbose("Changing internal method to",a),t[n]=a),o)},debug:function(){i.debug&&(t.performance.log(arguments[0]),t.debug=Function.prototype.bind.call(console.info,console,i.moduleName+":"))},verbose:function(){i.verbose&&i.debug&&(t.performance.log(arguments[0]),t.verbose=Function.prototype.bind.call(console.info,console,i.moduleName+":"))},error:function(){console.log!==o&&(t.error=Function.prototype.bind.call(console.log,console,i.moduleName+":"))},performance:{log:function(e){var n,o,a;i.performance&&(n=(new Date).getTime(),a=l||n,o=n-a,l=n,c.push({Element:h,Name:e,"Execution Time":o}),clearTimeout(t.performance.timer),t.performance.timer=setTimeout(t.performance.display,100))},display:function(){var t=i.moduleName,n=(i.moduleName+": "+g+"("+a.size()+" elements)",0);g&&(t+="Performance ("+g+")"),(console.group!==o||console.table!==o)&&c.length>0&&(console.groupCollapsed(t),console.table?(e.each(c,function(e,t){n+=t["Execution Time"]}),console.table(c)):e.each(c,function(e,t){n+=t["Execution Time"]}),console.log("Total Execution Time:",n+"ms"),console.groupEnd(),c=[],l=!1)}},invoke:function(n,a,i){var s,r;return a=a||f,i=h||i,"string"==typeof n&&v!==o&&(n=n.split("."),s=n.length-1,e.each(n,function(n,a){return e.isPlainObject(v[a])&&n!=s?(v=v[a],!0):v[a]!==o?(r=v[a],!0):(t.error(x.method),!1)})),e.isFunction(r)?(t.verbose("Executing invoked function",r),r.apply(i,a)):r||!1}},d?(v===o&&t.initialize(),n=t.invoke(u)):(v!==o&&t.destroy(),t.initialize())}),n?n:this},e.fn.checkbox.settings={moduleName:"Checkbox Module",namespace:"checkbox",verbose:!0,debug:!0,performance:!1,context:!1,required:"auto",onChange:function(){},onEnable:function(){},onDisable:function(){},errors:{method:"The method you called is not defined."},selector:{input:"input"},className:{active:"active",radio:"radio"}}})(jQuery,window,document);
(function(e,t,n,o){e.fn.checkbox=function(t){var n,a=e(this),i=e.extend(!0,{},e.fn.checkbox.settings,t),s="."+i.namespace,r="module-"+i.namespace,l=(a.selector||"",(new Date).getTime()),c=[],u=arguments[0],d="string"==typeof u,f=[].slice.call(arguments,1);return a.each(function(){var t,m=e(this),p=e(this).find(i.selector.input),g=m.selector||"",h=this,v=m.data("module-"+i.namespace),b=i.className,y=i.namespace,x=i.errors;t={initialize:function(){i.context&&""!==g?(t.verbose("Initializing checkbox with delegated events",m),e(h,i.context).on(g,"click"+s,t.toggle).data(r,t)):(t.verbose("Initializing checkbox with bound events",m),m.on("click"+s,t.toggle).data(r,t))},destroy:function(){t.verbose("Destroying previous module for",m),m.off(y)},is:{radio:function(){return m.hasClass(b.radio)}},can:{disable:function(){return"boolean"==typeof i.required?i.required:!t.is.radio()}},enable:function(){t.debug("Enabling checkbox"),m.addClass(b.active),p.prop("checked",!0),e.proxy(i.onChange,p.get())(),e.proxy(i.onEnable,p.get())()},disable:function(){t.debug("Disabling checkbox"),m.removeClass(b.active),p.prop("checked",!1),e.proxy(i.onChange,p.get())(),e.proxy(i.onDisable,p.get())()},toggle:function(){t.verbose("Toggling checkbox state"),p.prop("checked")!==o&&p.prop("checked")?t.can.disable()&&t.disable():t.enable()},setting:function(n,a){return a===o?i[n]:(e.isPlainObject(n)?(t.verbose("Modifying settings object",n,a),e.extend(!0,i,n)):(t.verbose("Modifying setting",n,a),i[n]=a),o)},internal:function(n,a){return a===o?t[n]:(e.isPlainObject(n)?(t.verbose("Modifying internal property",n,a),e.extend(!0,t,n)):(t.verbose("Changing internal method to",a),t[n]=a),o)},debug:function(){i.debug&&(i.performance?t.performance.log(arguments):t.debug=Function.prototype.bind.call(console.info,console,i.moduleName+":"))},verbose:function(){i.verbose&&i.debug&&(i.performance?t.performance.log(arguments):t.verbose=Function.prototype.bind.call(console.info,console,i.moduleName+":"))},error:function(){t.error=Function.prototype.bind.call(console.log,console,i.moduleName+":")},performance:{log:function(e){var n,o,a;i.performance&&(n=(new Date).getTime(),a=l||n,o=n-a,l=n,c.push({Element:h,Name:e[0],Arguments:e[1]||"None","Execution Time":o}),clearTimeout(t.performance.timer),t.performance.timer=setTimeout(t.performance.display,100))},display:function(){var t=i.moduleName,n=(i.moduleName+": "+g+"("+a.size()+" elements)",0);g&&(t+=" Performance ("+g+")"),(console.group!==o||console.table!==o)&&c.length>0&&(console.groupCollapsed(t),console.table?(e.each(c,function(e,t){n+=t["Execution Time"]}),console.table(c)):e.each(c,function(e,t){n+=t["Execution Time"]}),console.log("Total Execution Time:",n+"ms"),console.groupEnd(),c=[],l=!1)}},invoke:function(n,a,i){var s,r;return a=a||f,i=h||i,"string"==typeof n&&v!==o&&(n=n.split("."),s=n.length-1,e.each(n,function(n,a){return e.isPlainObject(v[a])&&n!=s?(v=v[a],!0):v[a]!==o?(r=v[a],!0):(t.error(x.method),!1)})),e.isFunction(r)?(t.verbose("Executing invoked function",r),r.apply(i,a)):r||!1}},d?(v===o&&t.initialize(),n=t.invoke(u)):(v!==o&&t.destroy(),t.initialize())}),n?n:this},e.fn.checkbox.settings={moduleName:"Checkbox Module",namespace:"checkbox",verbose:!0,debug:!0,performance:!0,context:!1,required:"auto",onChange:function(){},onEnable:function(){},onDisable:function(){},errors:{method:"The method you called is not defined."},selector:{input:"input"},className:{active:"active",radio:"radio"}}})(jQuery,window,document);

23
build/minified/modules/dropdown.js

@ -393,14 +393,22 @@ $.fn.dropdown = function(parameters) {
},
debug: function() {
if(settings.debug) {
module.performance.log(arguments[0]);
module.debug = Function.prototype.bind.call(console.info, console, settings.moduleName + ':');
if(settings.performance) {
module.performance.log(arguments);
}
else {
module.debug = Function.prototype.bind.call(console.info, console, settings.moduleName + ':');
}
}
},
verbose: function() {
if(settings.verbose && settings.debug) {
module.performance.log(arguments[0]);
module.verbose = Function.prototype.bind.call(console.info, console, settings.moduleName + ':');
if(settings.performance) {
module.performance.log(arguments);
}
else {
module.verbose = Function.prototype.bind.call(console.info, console, settings.moduleName + ':');
}
}
},
error: function() {
@ -420,7 +428,8 @@ $.fn.dropdown = function(parameters) {
time = currentTime;
performance.push({
'Element' : element,
'Name' : message,
'Name' : message[0],
'Arguments' : message[1] || 'None',
'Execution Time' : executionTime
});
clearTimeout(module.performance.timer);
@ -434,7 +443,7 @@ $.fn.dropdown = function(parameters) {
totalExecutionTime = 0
;
if(selector) {
title += 'Performance (' + selector + ')';
title += ' Performance (' + selector + ')';
}
if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) {
console.groupCollapsed(title);
@ -514,7 +523,7 @@ $.fn.dropdown.settings = {
verbose : true,
debug : true,
performance : false,
performance : true,
on : 'click',
gracePeriod : 300,

2
build/minified/modules/dropdown.min.js

File diff suppressed because one or more lines are too long

2
build/minified/modules/nag.min.js

@ -1 +1 @@
(function(e,t,n,o){e.fn.nag=function(n){var i=e.extend(!0,{},e.fn.nag.settings,n),a=arguments||!1;return e(this).each(function(){var n,s,r,l,c,u,d,m,f,p=e(this),g=p.find(i.selector.close),h=e(i.context),v=p.data("module"),b=i.className,y=t.requestAnimationFrame||t.mozRequestAnimationFrame||t.webkitRequestAnimationFrame||t.msRequestAnimationFrame||function(e){setTimeout(e,0)};return f={initialize:function(){n=p.offset(),s=p.outerHeight(),r=h.outerWidth(),l=h.outerHeight(),c=h.offset(),p.data("module",f),g.on("mouseenter mouseleave",f.event.hover).on("click",f.dismiss),i.context==t&&"fixed"==i.position&&p.addClass(b.fixed),i.sticky&&("absolute"==i.position?h.on("scroll resize",f.event.scroll):e(t).on("scroll resize",f.event.scroll),e.proxy(f.event.scroll,this)()),i.followLink&&p.on("mouseenter mouseleave",f.event.hover).on("click",f.followLink),i.displayTime>0&&setTimeout(f.hide,i.displayTime),f.should.show()?p.is(":visible")||f.show():f.hide()},refresh:function(){n=p.offset(),s=p.outerHeight(),r=h.outerWidth(),l=h.outerHeight(),c=h.offset()},show:function(){e.fn.popIn!==o?p.popIn(i.duration):p.fadeIn(i.duration,i.easing)},hide:function(){p.fadeOut(i.duration,i.easing)},stick:function(){if(f.refresh(),"fixed"==i.position){var n=e(t).prop("pageYOffset")||e(t).scrollTop(),o=p.hasClass(b.bottom)?c.top+(l-s)-n:c.top-n;p.css({position:"fixed",top:o,left:c.left,width:r-i.scrollBarWidth})}else p.css({top:d})},unStick:function(){p.css({top:""})},dismiss:function(){i.storageMethod&&f.storage.set(i.storedKey,i.storedValue),f.hide()},should:{show:function(){return f.storage.get(i.storedKey)==i.storedValue?!1:!0},stick:function(){return u=h.prop("pageYOffset")||h.scrollTop(),d=p.hasClass(b.bottom)?l-p.outerHeight()+u:u,d>n.top?!0:"fixed"==i.position?!0:!1}},followLink:function(){e.fn.followLink!==o&&p.followLink()},storage:{set:function(t,n){"local"==i.storageMethod&&store!==o?store.set(t,n):e.cookie!==o?e.cookie(t,n):f.error(i.errors.noStorage)},get:function(t){return"local"==i.storageMethod&&store!==o?store.get(t):e.cookie!==o?e.cookie(t):(f.error(i.errors.noStorage),o)}},event:{hover:function(){e(this).toggleClass(b.hover)},scroll:function(){m!==o&&clearTimeout(m),m=setTimeout(function(){f.should.stick()?y(f.stick):f.unStick()},i.lag)}},error:function(e){console.log("Nag Module:"+e)},invoke:function(t,n,a){var s;return a=a||Array.prototype.slice.call(arguments,2),"string"==typeof t&&v!==o&&(t=t.split("."),e.each(t,function(t,n){return e.isPlainObject(v[n])?(v=v[n],!0):e.isFunction(v[n])?(s=v[n],!0):(f.error(i.errors.method),!1)})),e.isFunction(s)?s.apply(n,a):s}},v!==o&&a?("invoke"==a[0]&&(a=Array.prototype.slice.call(a,1)),f.invoke(a[0],this,Array.prototype.slice.call(a,1))):(f.initialize(),o)}),this},e.fn.nag.settings={displayTime:0,followLink:!0,position:"fixed",scrollBarWidth:18,storageMethod:"cookie",storedKey:"nag",storedValue:"dismiss",sticky:!0,lag:0,context:t,errors:{noStorage:"Neither $.cookie or store is defined. A storage solution is required for storing state",followLink:"Follow link is set but the plugin is not included"},className:{bottom:"bottom",hover:"hover",fixed:"fixed"},selector:{close:".icon.close"},speed:500,easing:"easeOutQuad"}})(jQuery,window,document);
(function(e,t,n,o){e.fn.nag=function(n){var i=e.extend(!0,{},e.fn.nag.settings,n),a=arguments||!1;return e(this).each(function(){var n,s,r,c,l,u,d,f,m,p=e(this),g=p.find(i.selector.close),h=e(i.context),v=p.data("module"),b=i.className,y=t.requestAnimationFrame||t.mozRequestAnimationFrame||t.webkitRequestAnimationFrame||t.msRequestAnimationFrame||function(e){setTimeout(e,0)};return m={initialize:function(){n=p.offset(),s=p.outerHeight(),r=h.outerWidth(),c=h.outerHeight(),l=h.offset(),p.data("module",m),g.on("mouseenter mouseleave",m.event.hover).on("click",m.dismiss),i.context==t&&"fixed"==i.position&&p.addClass(b.fixed),i.sticky&&("absolute"==i.position?h.on("scroll resize",m.event.scroll):e(t).on("scroll resize",m.event.scroll),e.proxy(m.event.scroll,this)()),i.followLink&&p.on("mouseenter mouseleave",m.event.hover).on("click",m.followLink),i.displayTime>0&&setTimeout(m.hide,i.displayTime),m.should.show()?p.is(":visible")||m.show():m.hide()},refresh:function(){n=p.offset(),s=p.outerHeight(),r=h.outerWidth(),c=h.outerHeight(),l=h.offset()},show:function(){e.fn.popIn!==o?p.popIn(i.duration):p.fadeIn(i.duration,i.easing)},hide:function(){p.fadeOut(i.duration,i.easing)},stick:function(){if(m.refresh(),"fixed"==i.position){var n=e(t).prop("pageYOffset")||e(t).scrollTop(),o=p.hasClass(b.bottom)?l.top+(c-s)-n:l.top-n;p.css({position:"fixed",top:o,left:l.left,width:r-i.scrollBarWidth})}else p.css({top:d})},unStick:function(){p.css({top:""})},dismiss:function(){i.storageMethod&&m.storage.set(i.storedKey,i.storedValue),m.hide()},should:{show:function(){return m.storage.get(i.storedKey)==i.storedValue?!1:!0},stick:function(){return u=h.prop("pageYOffset")||h.scrollTop(),d=p.hasClass(b.bottom)?c-p.outerHeight()+u:u,d>n.top?!0:"fixed"==i.position?!0:!1}},followLink:function(){e.fn.followLink!==o&&p.followLink()},storage:{set:function(t,n){"local"==i.storageMethod&&store!==o?store.set(t,n):e.cookie!==o?e.cookie(t,n):m.error(i.errors.noStorage)},get:function(t){return"local"==i.storageMethod&&store!==o?store.get(t):e.cookie!==o?e.cookie(t):(m.error(i.errors.noStorage),o)}},event:{hover:function(){e(this).toggleClass(b.hover)},scroll:function(){f!==o&&clearTimeout(f),f=setTimeout(function(){m.should.stick()?y(m.stick):m.unStick()},i.lag)}},error:function(e){console.log("Nag Module:"+e)},invoke:function(t,n,a){var s;return a=a||Array.prototype.slice.call(arguments,2),"string"==typeof t&&v!==o&&(t=t.split("."),e.each(t,function(t,n){return e.isPlainObject(v[n])?(v=v[n],!0):e.isFunction(v[n])?(s=v[n],!0):(m.error(i.errors.method),!1)})),e.isFunction(s)?s.apply(n,a):s}},v!==o&&a?("invoke"==a[0]&&(a=Array.prototype.slice.call(a,1)),m.invoke(a[0],this,Array.prototype.slice.call(a,1))):(m.initialize(),o)}),this},e.fn.nag.settings={displayTime:0,followLink:!0,position:"fixed",scrollBarWidth:18,storageMethod:"cookie",storedKey:"nag",storedValue:"dismiss",sticky:!0,lag:0,context:t,errors:{noStorage:"Neither $.cookie or store is defined. A storage solution is required for storing state",followLink:"Follow link is set but the plugin is not included"},className:{bottom:"bottom",hover:"hover",fixed:"fixed"},selector:{close:".icon.close"},speed:500,easing:"easeOutQuad"}})(jQuery,window,document);

2
build/minified/modules/popup.min.js

File diff suppressed because one or more lines are too long

2
build/minified/modules/search.min.js

File diff suppressed because one or more lines are too long

2
build/minified/modules/tab.min.js

File diff suppressed because one or more lines are too long

73
build/packaged/modules/behavior/form.js

@ -47,7 +47,6 @@ $.fn.form = function(fields, parameters) {
instance = $module.data('module-' + settings.namespace),
namespace = settings.namespace,
selector = settings.selector,
metadata = settings.metadata,
className = settings.className,
errors = settings.errors,
@ -81,12 +80,14 @@ $.fn.form = function(fields, parameters) {
},
refresh: function() {
$field = $module.find(selector.field);
$field = $module.find(settings.selector.field);
},
submit: function() {
module.verbose('Submitting form', $module);
$module.submit();
$module
.submit()
;
},
event: {
@ -102,9 +103,11 @@ $.fn.form = function(fields, parameters) {
;
if( key == keyCode.escape) {
module.verbose('Escape key pressed blurring field');
$field.blur();
$field
.blur()
;
}
if( key == keyCode.enter && $field.is(selector.input) ) {
if( key == keyCode.enter && $field.is(settings.selector.input) ) {
module.debug('Enter key pressed, submitting form');
$submit
.addClass(className.down)
@ -140,6 +143,7 @@ $.fn.form = function(fields, parameters) {
get: {
field: function(identifier) {
module.verbose('Finding field with identifier', identifier);
if( $field.filter('#' + identifier).size() > 0 ) {
return $field.filter('#' + identifier);
}
@ -164,12 +168,30 @@ $.fn.form = function(fields, parameters) {
}
},
has: {
field: function(identifier) {
module.verbose('Checking for existence of a field with identifier', identifier);
if( $field.filter('#' + identifier).size() > 0 ) {
return true;
}
else if( $field.filter('[name="' + identifier +'"]').size() > 0 ) {
return true
}
else if( $field.filter('[data-' + metadata.validate + '="'+ identifier +'"]').size() > 0 ) {
return true
}
return false;
}
},
add: {
prompt: function(field, errors) {
var
$field = module.get.field(field.identifier),
$fieldGroup = $field.closest($group),
$prompt = $fieldGroup.find(selector.prompt),
$prompt = $fieldGroup.find(settings.selector.prompt),
promptExists = ($prompt.size() !== 0)
;
module.verbose('Adding inline validation prompt');
@ -188,7 +210,9 @@ $.fn.form = function(fields, parameters) {
.html(errors[0])
;
if($prompt.is(':not(:visible)')) {
$prompt.fadeIn(200);
$prompt
.fadeIn(settings.animateSpeed)
;
}
}
},
@ -230,7 +254,10 @@ $.fn.form = function(fields, parameters) {
}
});
if(allValid) {
$module.removeClass(className.error);
$module
.removeClass(className.error)
.addClass(className.success)
;
$.proxy(settings.onSuccess, this)(event);
}
else {
@ -251,7 +278,7 @@ $.fn.form = function(fields, parameters) {
;
if(field.rules !== undefined) {
$.each(field.rules, function(index, rule) {
if( !( module.validate.rule(field, rule) ) ) {
if( module.has.field(field.identifier) && !( module.validate.rule(field, rule) ) ) {
module.debug('Field is invalid', field.identifier, rule.type);
fieldErrors.push(rule.prompt);
fieldValid = false;
@ -329,14 +356,22 @@ $.fn.form = function(fields, parameters) {
},
debug: function() {
if(settings.debug) {
module.performance.log(arguments[0]);
module.debug = Function.prototype.bind.call(console.info, console, settings.moduleName + ':');
if(settings.performance) {
module.performance.log(arguments);
}
else {
module.debug = Function.prototype.bind.call(console.info, console, settings.moduleName + ':');
}
}
},
verbose: function() {
if(settings.verbose && settings.debug) {
module.performance.log(arguments[0]);
module.verbose = Function.prototype.bind.call(console.info, console, settings.moduleName + ':');
if(settings.performance) {
module.performance.log(arguments);
}
else {
module.verbose = Function.prototype.bind.call(console.info, console, settings.moduleName + ':');
}
}
},
error: function() {
@ -356,7 +391,8 @@ $.fn.form = function(fields, parameters) {
time = currentTime;
performance.push({
'Element' : element,
'Name' : message,
'Name' : message[0],
'Arguments' : message[1] || 'None',
'Execution Time' : executionTime
});
clearTimeout(module.performance.timer);
@ -370,7 +406,7 @@ $.fn.form = function(fields, parameters) {
totalExecutionTime = 0
;
if(selector) {
title += 'Performance (' + selector + ')';
title += ' Performance (' + selector + ')';
}
if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) {
console.groupCollapsed(title);
@ -446,9 +482,10 @@ $.fn.form = function(fields, parameters) {
$.fn.form.settings = {
// module info
moduleName : 'Validate Form Module',
moduleName : 'Form',
debug : true,
verbose : true,
performance : true,
namespace : 'validate',
keyboardShortcuts : true,
@ -477,6 +514,7 @@ $.fn.form.settings = {
className : {
error : 'error',
success: 'success',
down : 'down',
label : 'ui label prompt'
},
@ -603,6 +641,9 @@ $.fn.form.settings = {
not: function(value, notValue) {
return (value != notValue);
},
is: function(value, text) {
return (value == text);
},
maxLength: function(value, maxLength) {
return (value !== undefined)
? (value.length <= maxLength)

27
build/packaged/modules/checkbox.js

@ -156,20 +156,26 @@ $.fn.checkbox = function(parameters) {
},
debug: function() {
if(settings.debug) {
module.performance.log(arguments[0]);
module.debug = Function.prototype.bind.call(console.info, console, settings.moduleName + ':');
if(settings.performance) {
module.performance.log(arguments);
}
else {
module.debug = Function.prototype.bind.call(console.info, console, settings.moduleName + ':');
}
}
},
verbose: function() {
if(settings.verbose && settings.debug) {
module.performance.log(arguments[0]);
module.verbose = Function.prototype.bind.call(console.info, console, settings.moduleName + ':');
if(settings.performance) {
module.performance.log(arguments);
}
else {
module.verbose = Function.prototype.bind.call(console.info, console, settings.moduleName + ':');
}
}
},
error: function() {
if(console.log !== undefined) {
module.error = Function.prototype.bind.call(console.log, console, settings.moduleName + ':');
}
module.error = Function.prototype.bind.call(console.log, console, settings.moduleName + ':');
},
performance: {
log: function(message) {
@ -185,7 +191,8 @@ $.fn.checkbox = function(parameters) {
time = currentTime;
performance.push({
'Element' : element,
'Name' : message,
'Name' : message[0],
'Arguments' : message[1] || 'None',
'Execution Time' : executionTime
});
clearTimeout(module.performance.timer);
@ -199,7 +206,7 @@ $.fn.checkbox = function(parameters) {
totalExecutionTime = 0
;
if(selector) {
title += 'Performance (' + selector + ')';
title += ' Performance (' + selector + ')';
}
if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) {
console.groupCollapsed(title);
@ -279,7 +286,7 @@ $.fn.checkbox.settings = {
verbose : true,
debug : true,
performance : false,
performance : true,
// delegated event context
context : false,

23
build/packaged/modules/dropdown.js

@ -393,14 +393,22 @@ $.fn.dropdown = function(parameters) {
},
debug: function() {
if(settings.debug) {
module.performance.log(arguments[0]);
module.debug = Function.prototype.bind.call(console.info, console, settings.moduleName + ':');
if(settings.performance) {
module.performance.log(arguments);
}
else {
module.debug = Function.prototype.bind.call(console.info, console, settings.moduleName + ':');
}
}
},
verbose: function() {
if(settings.verbose && settings.debug) {
module.performance.log(arguments[0]);
module.verbose = Function.prototype.bind.call(console.info, console, settings.moduleName + ':');
if(settings.performance) {
module.performance.log(arguments);
}
else {
module.verbose = Function.prototype.bind.call(console.info, console, settings.moduleName + ':');
}
}
},
error: function() {
@ -420,7 +428,8 @@ $.fn.dropdown = function(parameters) {
time = currentTime;
performance.push({
'Element' : element,
'Name' : message,
'Name' : message[0],
'Arguments' : message[1] || 'None',
'Execution Time' : executionTime
});
clearTimeout(module.performance.timer);
@ -434,7 +443,7 @@ $.fn.dropdown = function(parameters) {
totalExecutionTime = 0
;
if(selector) {
title += 'Performance (' + selector + ')';
title += ' Performance (' + selector + ')';
}
if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) {
console.groupCollapsed(title);
@ -514,7 +523,7 @@ $.fn.dropdown.settings = {
verbose : true,
debug : true,
performance : false,
performance : true,
on : 'click',
gracePeriod : 300,

2
build/packaged/semantic.min.js.REMOVED.git-id

@ -1 +1 @@
9db5cfc27a304899cd1ab4666348c271a8bb92a8
631e78f155da36c7880a4d93d75faf2d08b799ad

73
build/uncompressed/modules/behavior/form.js

@ -47,7 +47,6 @@ $.fn.form = function(fields, parameters) {
instance = $module.data('module-' + settings.namespace),
namespace = settings.namespace,
selector = settings.selector,
metadata = settings.metadata,
className = settings.className,
errors = settings.errors,
@ -81,12 +80,14 @@ $.fn.form = function(fields, parameters) {
},
refresh: function() {
$field = $module.find(selector.field);
$field = $module.find(settings.selector.field);
},
submit: function() {
module.verbose('Submitting form', $module);
$module.submit();
$module
.submit()
;
},
event: {
@ -102,9 +103,11 @@ $.fn.form = function(fields, parameters) {
;
if( key == keyCode.escape) {
module.verbose('Escape key pressed blurring field');
$field.blur();
$field
.blur()
;
}
if( key == keyCode.enter && $field.is(selector.input) ) {
if( key == keyCode.enter && $field.is(settings.selector.input) ) {
module.debug('Enter key pressed, submitting form');
$submit
.addClass(className.down)
@ -140,6 +143,7 @@ $.fn.form = function(fields, parameters) {
get: {
field: function(identifier) {
module.verbose('Finding field with identifier', identifier);
if( $field.filter('#' + identifier).size() > 0 ) {
return $field.filter('#' + identifier);
}
@ -164,12 +168,30 @@ $.fn.form = function(fields, parameters) {
}
},
has: {
field: function(identifier) {
module.verbose('Checking for existence of a field with identifier', identifier);
if( $field.filter('#' + identifier).size() > 0 ) {
return true;
}
else if( $field.filter('[name="' + identifier +'"]').size() > 0 ) {
return true
}
else if( $field.filter('[data-' + metadata.validate + '="'+ identifier +'"]').size() > 0 ) {
return true
}
return false;
}
},
add: {
prompt: function(field, errors) {
var
$field = module.get.field(field.identifier),
$fieldGroup = $field.closest($group),
$prompt = $fieldGroup.find(selector.prompt),
$prompt = $fieldGroup.find(settings.selector.prompt),
promptExists = ($prompt.size() !== 0)
;
module.verbose('Adding inline validation prompt');
@ -188,7 +210,9 @@ $.fn.form = function(fields, parameters) {
.html(errors[0])
;
if($prompt.is(':not(:visible)')) {
$prompt.fadeIn(200);
$prompt
.fadeIn(settings.animateSpeed)
;
}
}
},
@ -230,7 +254,10 @@ $.fn.form = function(fields, parameters) {
}
});
if(allValid) {
$module.removeClass(className.error);
$module
.removeClass(className.error)
.addClass(className.success)
;
$.proxy(settings.onSuccess, this)(event);
}
else {
@ -251,7 +278,7 @@ $.fn.form = function(fields, parameters) {
;
if(field.rules !== undefined) {
$.each(field.rules, function(index, rule) {
if( !( module.validate.rule(field, rule) ) ) {
if( module.has.field(field.identifier) && !( module.validate.rule(field, rule) ) ) {
module.debug('Field is invalid', field.identifier, rule.type);
fieldErrors.push(rule.prompt);
fieldValid = false;
@ -329,14 +356,22 @@ $.fn.form = function(fields, parameters) {
},
debug: function() {
if(settings.debug) {
module.performance.log(arguments[0]);
module.debug = Function.prototype.bind.call(console.info, console, settings.moduleName + ':');
if(settings.performance) {
module.performance.log(arguments);
}
else {
module.debug = Function.prototype.bind.call(console.info, console, settings.moduleName + ':');
}
}
},
verbose: function() {
if(settings.verbose && settings.debug) {
module.performance.log(arguments[0]);
module.verbose = Function.prototype.bind.call(console.info, console, settings.moduleName + ':');
if(settings.performance) {
module.performance.log(arguments);
}
else {
module.verbose = Function.prototype.bind.call(console.info, console, settings.moduleName + ':');
}
}
},
error: function() {
@ -356,7 +391,8 @@ $.fn.form = function(fields, parameters) {
time = currentTime;
performance.push({
'Element' : element,
'Name' : message,
'Name' : message[0],
'Arguments' : message[1] || 'None',
'Execution Time' : executionTime
});
clearTimeout(module.performance.timer);
@ -370,7 +406,7 @@ $.fn.form = function(fields, parameters) {
totalExecutionTime = 0
;
if(selector) {
title += 'Performance (' + selector + ')';
title += ' Performance (' + selector + ')';
}
if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) {
console.groupCollapsed(title);
@ -446,9 +482,10 @@ $.fn.form = function(fields, parameters) {
$.fn.form.settings = {
// module info
moduleName : 'Validate Form Module',
moduleName : 'Form',
debug : true,
verbose : true,
performance : true,
namespace : 'validate',
keyboardShortcuts : true,
@ -477,6 +514,7 @@ $.fn.form.settings = {
className : {
error : 'error',
success: 'success',
down : 'down',
label : 'ui label prompt'
},
@ -603,6 +641,9 @@ $.fn.form.settings = {
not: function(value, notValue) {
return (value != notValue);
},
is: function(value, text) {
return (value == text);
},
maxLength: function(value, maxLength) {
return (value !== undefined)
? (value.length <= maxLength)

27
build/uncompressed/modules/checkbox.js

@ -156,20 +156,26 @@ $.fn.checkbox = function(parameters) {
},
debug: function() {
if(settings.debug) {
module.performance.log(arguments[0]);
module.debug = Function.prototype.bind.call(console.info, console, settings.moduleName + ':');
if(settings.performance) {
module.performance.log(arguments);
}
else {
module.debug = Function.prototype.bind.call(console.info, console, settings.moduleName + ':');
}
}
},
verbose: function() {
if(settings.verbose && settings.debug) {
module.performance.log(arguments[0]);
module.verbose = Function.prototype.bind.call(console.info, console, settings.moduleName + ':');
if(settings.performance) {
module.performance.log(arguments);
}
else {
module.verbose = Function.prototype.bind.call(console.info, console, settings.moduleName + ':');
}
}
},
error: function() {
if(console.log !== undefined) {
module.error = Function.prototype.bind.call(console.log, console, settings.moduleName + ':');
}
module.error = Function.prototype.bind.call(console.log, console, settings.moduleName + ':');
},
performance: {
log: function(message) {
@ -185,7 +191,8 @@ $.fn.checkbox = function(parameters) {
time = currentTime;
performance.push({
'Element' : element,
'Name' : message,
'Name' : message[0],
'Arguments' : message[1] || 'None',
'Execution Time' : executionTime
});
clearTimeout(module.performance.timer);
@ -199,7 +206,7 @@ $.fn.checkbox = function(parameters) {
totalExecutionTime = 0
;
if(selector) {
title += 'Performance (' + selector + ')';
title += ' Performance (' + selector + ')';
}
if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) {
console.groupCollapsed(title);
@ -279,7 +286,7 @@ $.fn.checkbox.settings = {
verbose : true,
debug : true,
performance : false,
performance : true,
// delegated event context
context : false,

23
build/uncompressed/modules/dropdown.js

@ -393,14 +393,22 @@ $.fn.dropdown = function(parameters) {
},
debug: function() {
if(settings.debug) {
module.performance.log(arguments[0]);
module.debug = Function.prototype.bind.call(console.info, console, settings.moduleName + ':');
if(settings.performance) {
module.performance.log(arguments);
}
else {
module.debug = Function.prototype.bind.call(console.info, console, settings.moduleName + ':');
}
}
},
verbose: function() {
if(settings.verbose && settings.debug) {
module.performance.log(arguments[0]);
module.verbose = Function.prototype.bind.call(console.info, console, settings.moduleName + ':');
if(settings.performance) {
module.performance.log(arguments);
}
else {
module.verbose = Function.prototype.bind.call(console.info, console, settings.moduleName + ':');
}
}
},
error: function() {
@ -420,7 +428,8 @@ $.fn.dropdown = function(parameters) {
time = currentTime;
performance.push({
'Element' : element,
'Name' : message,
'Name' : message[0],
'Arguments' : message[1] || 'None',
'Execution Time' : executionTime
});
clearTimeout(module.performance.timer);
@ -434,7 +443,7 @@ $.fn.dropdown = function(parameters) {
totalExecutionTime = 0
;
if(selector) {
title += 'Performance (' + selector + ')';
title += ' Performance (' + selector + ')';
}
if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) {
console.groupCollapsed(title);
@ -514,7 +523,7 @@ $.fn.dropdown.settings = {
verbose : true,
debug : true,
performance : false,
performance : true,
on : 'click',
gracePeriod : 300,

73
node/src/files/components/semantic/modules/behavior/form.js

@ -47,7 +47,6 @@ $.fn.form = function(fields, parameters) {
instance = $module.data('module-' + settings.namespace),
namespace = settings.namespace,
selector = settings.selector,
metadata = settings.metadata,
className = settings.className,
errors = settings.errors,
@ -81,12 +80,14 @@ $.fn.form = function(fields, parameters) {
},
refresh: function() {
$field = $module.find(selector.field);
$field = $module.find(settings.selector.field);
},
submit: function() {
module.verbose('Submitting form', $module);
$module.submit();
$module
.submit()
;
},
event: {
@ -102,9 +103,11 @@ $.fn.form = function(fields, parameters) {
;
if( key == keyCode.escape) {
module.verbose('Escape key pressed blurring field');
$field.blur();
$field
.blur()
;
}
if( key == keyCode.enter && $field.is(selector.input) ) {
if( key == keyCode.enter && $field.is(settings.selector.input) ) {
module.debug('Enter key pressed, submitting form');
$submit
.addClass(className.down)
@ -140,6 +143,7 @@ $.fn.form = function(fields, parameters) {
get: {
field: function(identifier) {
module.verbose('Finding field with identifier', identifier);
if( $field.filter('#' + identifier).size() > 0 ) {
return $field.filter('#' + identifier);
}
@ -164,12 +168,30 @@ $.fn.form = function(fields, parameters) {
}
},
has: {
field: function(identifier) {
module.verbose('Checking for existence of a field with identifier', identifier);
if( $field.filter('#' + identifier).size() > 0 ) {
return true;
}
else if( $field.filter('[name="' + identifier +'"]').size() > 0 ) {
return true
}
else if( $field.filter('[data-' + metadata.validate + '="'+ identifier +'"]').size() > 0 ) {
return true
}
return false;
}
},
add: {
prompt: function(field, errors) {
var
$field = module.get.field(field.identifier),
$fieldGroup = $field.closest($group),
$prompt = $fieldGroup.find(selector.prompt),
$prompt = $fieldGroup.find(settings.selector.prompt),
promptExists = ($prompt.size() !== 0)
;
module.verbose('Adding inline validation prompt');
@ -188,7 +210,9 @@ $.fn.form = function(fields, parameters) {
.html(errors[0])
;
if($prompt.is(':not(:visible)')) {
$prompt.fadeIn(200);
$prompt
.fadeIn(settings.animateSpeed)
;
}
}
},
@ -230,7 +254,10 @@ $.fn.form = function(fields, parameters) {
}
});
if(allValid) {
$module.removeClass(className.error);
$module
.removeClass(className.error)
.addClass(className.success)
;
$.proxy(settings.onSuccess, this)(event);
}
else {
@ -251,7 +278,7 @@ $.fn.form = function(fields, parameters) {
;
if(field.rules !== undefined) {
$.each(field.rules, function(index, rule) {
if( !( module.validate.rule(field, rule) ) ) {
if( module.has.field(field.identifier) && !( module.validate.rule(field, rule) ) ) {
module.debug('Field is invalid', field.identifier, rule.type);
fieldErrors.push(rule.prompt);
fieldValid = false;
@ -329,14 +356,22 @@ $.fn.form = function(fields, parameters) {
},
debug: function() {
if(settings.debug) {
module.performance.log(arguments[0]);
module.debug = Function.prototype.bind.call(console.info, console, settings.moduleName + ':');
if(settings.performance) {
module.performance.log(arguments);
}
else {
module.debug = Function.prototype.bind.call(console.info, console, settings.moduleName + ':');
}
}
},
verbose: function() {
if(settings.verbose && settings.debug) {
module.performance.log(arguments[0]);
module.verbose = Function.prototype.bind.call(console.info, console, settings.moduleName + ':');
if(settings.performance) {
module.performance.log(arguments);
}
else {
module.verbose = Function.prototype.bind.call(console.info, console, settings.moduleName + ':');
}
}
},
error: function() {
@ -356,7 +391,8 @@ $.fn.form = function(fields, parameters) {
time = currentTime;
performance.push({
'Element' : element,
'Name' : message,
'Name' : message[0],
'Arguments' : message[1] || 'None',
'Execution Time' : executionTime
});
clearTimeout(module.performance.timer);
@ -370,7 +406,7 @@ $.fn.form = function(fields, parameters) {
totalExecutionTime = 0
;
if(selector) {
title += 'Performance (' + selector + ')';
title += ' Performance (' + selector + ')';
}
if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) {
console.groupCollapsed(title);
@ -446,9 +482,10 @@ $.fn.form = function(fields, parameters) {
$.fn.form.settings = {
// module info
moduleName : 'Validate Form Module',
moduleName : 'Form',
debug : true,
verbose : true,
performance : true,
namespace : 'validate',
keyboardShortcuts : true,
@ -477,6 +514,7 @@ $.fn.form.settings = {
className : {
error : 'error',
success: 'success',
down : 'down',
label : 'ui label prompt'
},
@ -603,6 +641,9 @@ $.fn.form.settings = {
not: function(value, notValue) {
return (value != notValue);
},
is: function(value, text) {
return (value == text);
},
maxLength: function(value, maxLength) {
return (value !== undefined)
? (value.length <= maxLength)

27
node/src/files/components/semantic/modules/checkbox.js

@ -156,20 +156,26 @@ $.fn.checkbox = function(parameters) {
},
debug: function() {
if(settings.debug) {
module.performance.log(arguments[0]);
module.debug = Function.prototype.bind.call(console.info, console, settings.moduleName + ':');
if(settings.performance) {
module.performance.log(arguments);
}
else {
module.debug = Function.prototype.bind.call(console.info, console, settings.moduleName + ':');
}
}
},
verbose: function() {
if(settings.verbose && settings.debug) {
module.performance.log(arguments[0]);
module.verbose = Function.prototype.bind.call(console.info, console, settings.moduleName + ':');
if(settings.performance) {
module.performance.log(arguments);
}
else {
module.verbose = Function.prototype.bind.call(console.info, console, settings.moduleName + ':');
}
}
},
error: function() {
if(console.log !== undefined) {
module.error = Function.prototype.bind.call(console.log, console, settings.moduleName + ':');
}
module.error = Function.prototype.bind.call(console.log, console, settings.moduleName + ':');
},
performance: {
log: function(message) {
@ -185,7 +191,8 @@ $.fn.checkbox = function(parameters) {
time = currentTime;
performance.push({
'Element' : element,
'Name' : message,
'Name' : message[0],
'Arguments' : message[1] || 'None',
'Execution Time' : executionTime
});
clearTimeout(module.performance.timer);
@ -199,7 +206,7 @@ $.fn.checkbox = function(parameters) {
totalExecutionTime = 0
;
if(selector) {
title += 'Performance (' + selector + ')';
title += ' Performance (' + selector + ')';
}
if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) {
console.groupCollapsed(title);
@ -279,7 +286,7 @@ $.fn.checkbox.settings = {
verbose : true,
debug : true,
performance : false,
performance : true,
// delegated event context
context : false,

23
node/src/files/components/semantic/modules/dropdown.js

@ -393,14 +393,22 @@ $.fn.dropdown = function(parameters) {
},
debug: function() {
if(settings.debug) {
module.performance.log(arguments[0]);
module.debug = Function.prototype.bind.call(console.info, console, settings.moduleName + ':');
if(settings.performance) {
module.performance.log(arguments);
}
else {
module.debug = Function.prototype.bind.call(console.info, console, settings.moduleName + ':');
}
}
},
verbose: function() {
if(settings.verbose && settings.debug) {
module.performance.log(arguments[0]);
module.verbose = Function.prototype.bind.call(console.info, console, settings.moduleName + ':');
if(settings.performance) {
module.performance.log(arguments);
}
else {
module.verbose = Function.prototype.bind.call(console.info, console, settings.moduleName + ':');
}
}
},
error: function() {
@ -420,7 +428,8 @@ $.fn.dropdown = function(parameters) {
time = currentTime;
performance.push({
'Element' : element,
'Name' : message,
'Name' : message[0],
'Arguments' : message[1] || 'None',
'Execution Time' : executionTime
});
clearTimeout(module.performance.timer);
@ -434,7 +443,7 @@ $.fn.dropdown = function(parameters) {
totalExecutionTime = 0
;
if(selector) {
title += 'Performance (' + selector + ')';
title += ' Performance (' + selector + ')';
}
if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) {
console.groupCollapsed(title);
@ -514,7 +523,7 @@ $.fn.dropdown.settings = {
verbose : true,
debug : true,
performance : false,
performance : true,
on : 'click',
gracePeriod : 300,

73
src/modules/behavior/form.js

@ -47,7 +47,6 @@ $.fn.form = function(fields, parameters) {
instance = $module.data('module-' + settings.namespace),
namespace = settings.namespace,
selector = settings.selector,
metadata = settings.metadata,
className = settings.className,
errors = settings.errors,
@ -81,12 +80,14 @@ $.fn.form = function(fields, parameters) {
},
refresh: function() {
$field = $module.find(selector.field);
$field = $module.find(settings.selector.field);
},
submit: function() {
module.verbose('Submitting form', $module);
$module.submit();
$module
.submit()
;
},
event: {
@ -102,9 +103,11 @@ $.fn.form = function(fields, parameters) {
;
if( key == keyCode.escape) {
module.verbose('Escape key pressed blurring field');
$field.blur();
$field
.blur()
;
}
if( key == keyCode.enter && $field.is(selector.input) ) {
if( key == keyCode.enter && $field.is(settings.selector.input) ) {
module.debug('Enter key pressed, submitting form');
$submit
.addClass(className.down)
@ -140,6 +143,7 @@ $.fn.form = function(fields, parameters) {
get: {
field: function(identifier) {
module.verbose('Finding field with identifier', identifier);
if( $field.filter('#' + identifier).size() > 0 ) {
return $field.filter('#' + identifier);
}
@ -164,12 +168,30 @@ $.fn.form = function(fields, parameters) {
}
},
has: {
field: function(identifier) {
module.verbose('Checking for existence of a field with identifier', identifier);
if( $field.filter('#' + identifier).size() > 0 ) {
return true;
}
else if( $field.filter('[name="' + identifier +'"]').size() > 0 ) {
return true
}
else if( $field.filter('[data-' + metadata.validate + '="'+ identifier +'"]').size() > 0 ) {
return true
}
return false;
}
},
add: {
prompt: function(field, errors) {
var
$field = module.get.field(field.identifier),
$fieldGroup = $field.closest($group),
$prompt = $fieldGroup.find(selector.prompt),
$prompt = $fieldGroup.find(settings.selector.prompt),
promptExists = ($prompt.size() !== 0)
;
module.verbose('Adding inline validation prompt');
@ -188,7 +210,9 @@ $.fn.form = function(fields, parameters) {
.html(errors[0])
;
if($prompt.is(':not(:visible)')) {
$prompt.fadeIn(200);
$prompt
.fadeIn(settings.animateSpeed)
;
}
}
},
@ -230,7 +254,10 @@ $.fn.form = function(fields, parameters) {
}
});
if(allValid) {
$module.removeClass(className.error);
$module
.removeClass(className.error)
.addClass(className.success)
;
$.proxy(settings.onSuccess, this)(event);
}
else {
@ -251,7 +278,7 @@ $.fn.form = function(fields, parameters) {
;
if(field.rules !== undefined) {
$.each(field.rules, function(index, rule) {
if( !( module.validate.rule(field, rule) ) ) {
if( module.has.field(field.identifier) && !( module.validate.rule(field, rule) ) ) {
module.debug('Field is invalid', field.identifier, rule.type);
fieldErrors.push(rule.prompt);
fieldValid = false;
@ -329,14 +356,22 @@ $.fn.form = function(fields, parameters) {
},
debug: function() {
if(settings.debug) {
module.performance.log(arguments[0]);
module.debug = Function.prototype.bind.call(console.info, console, settings.moduleName + ':');
if(settings.performance) {
module.performance.log(arguments);
}
else {
module.debug = Function.prototype.bind.call(console.info, console, settings.moduleName + ':');
}
}
},
verbose: function() {
if(settings.verbose && settings.debug) {
module.performance.log(arguments[0]);
module.verbose = Function.prototype.bind.call(console.info, console, settings.moduleName + ':');
if(settings.performance) {
module.performance.log(arguments);
}
else {
module.verbose = Function.prototype.bind.call(console.info, console, settings.moduleName + ':');
}
}
},
error: function() {
@ -356,7 +391,8 @@ $.fn.form = function(fields, parameters) {
time = currentTime;
performance.push({
'Element' : element,
'Name' : message,
'Name' : message[0],
'Arguments' : message[1] || 'None',
'Execution Time' : executionTime
});
clearTimeout(module.performance.timer);
@ -370,7 +406,7 @@ $.fn.form = function(fields, parameters) {
totalExecutionTime = 0
;
if(selector) {
title += 'Performance (' + selector + ')';
title += ' Performance (' + selector + ')';
}
if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) {
console.groupCollapsed(title);
@ -446,9 +482,10 @@ $.fn.form = function(fields, parameters) {
$.fn.form.settings = {
// module info
moduleName : 'Validate Form Module',
moduleName : 'Form',
debug : true,
verbose : true,
performance : true,
namespace : 'validate',
keyboardShortcuts : true,
@ -477,6 +514,7 @@ $.fn.form.settings = {
className : {
error : 'error',
success: 'success',
down : 'down',
label : 'ui label prompt'
},
@ -603,6 +641,9 @@ $.fn.form.settings = {
not: function(value, notValue) {
return (value != notValue);
},
is: function(value, text) {
return (value == text);
},
maxLength: function(value, maxLength) {
return (value !== undefined)
? (value.length <= maxLength)

27
src/modules/checkbox.js

@ -156,20 +156,26 @@ $.fn.checkbox = function(parameters) {
},
debug: function() {
if(settings.debug) {
module.performance.log(arguments[0]);
module.debug = Function.prototype.bind.call(console.info, console, settings.moduleName + ':');
if(settings.performance) {
module.performance.log(arguments);
}
else {
module.debug = Function.prototype.bind.call(console.info, console, settings.moduleName + ':');
}
}
},
verbose: function() {
if(settings.verbose && settings.debug) {
module.performance.log(arguments[0]);
module.verbose = Function.prototype.bind.call(console.info, console, settings.moduleName + ':');
if(settings.performance) {
module.performance.log(arguments);
}
else {
module.verbose = Function.prototype.bind.call(console.info, console, settings.moduleName + ':');
}
}
},
error: function() {
if(console.log !== undefined) {
module.error = Function.prototype.bind.call(console.log, console, settings.moduleName + ':');
}
module.error = Function.prototype.bind.call(console.log, console, settings.moduleName + ':');
},
performance: {
log: function(message) {
@ -185,7 +191,8 @@ $.fn.checkbox = function(parameters) {
time = currentTime;
performance.push({
'Element' : element,
'Name' : message,
'Name' : message[0],
'Arguments' : message[1] || 'None',
'Execution Time' : executionTime
});
clearTimeout(module.performance.timer);
@ -199,7 +206,7 @@ $.fn.checkbox = function(parameters) {
totalExecutionTime = 0
;
if(selector) {
title += 'Performance (' + selector + ')';
title += ' Performance (' + selector + ')';
}
if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) {
console.groupCollapsed(title);
@ -279,7 +286,7 @@ $.fn.checkbox.settings = {
verbose : true,
debug : true,
performance : false,
performance : true,
// delegated event context
context : false,

23
src/modules/dropdown.js

@ -393,14 +393,22 @@ $.fn.dropdown = function(parameters) {
},
debug: function() {
if(settings.debug) {
module.performance.log(arguments[0]);
module.debug = Function.prototype.bind.call(console.info, console, settings.moduleName + ':');
if(settings.performance) {
module.performance.log(arguments);
}
else {
module.debug = Function.prototype.bind.call(console.info, console, settings.moduleName + ':');
}
}
},
verbose: function() {
if(settings.verbose && settings.debug) {
module.performance.log(arguments[0]);
module.verbose = Function.prototype.bind.call(console.info, console, settings.moduleName + ':');
if(settings.performance) {
module.performance.log(arguments);
}
else {
module.verbose = Function.prototype.bind.call(console.info, console, settings.moduleName + ':');
}
}
},
error: function() {
@ -420,7 +428,8 @@ $.fn.dropdown = function(parameters) {
time = currentTime;
performance.push({
'Element' : element,
'Name' : message,
'Name' : message[0],
'Arguments' : message[1] || 'None',
'Execution Time' : executionTime
});
clearTimeout(module.performance.timer);
@ -434,7 +443,7 @@ $.fn.dropdown = function(parameters) {
totalExecutionTime = 0
;
if(selector) {
title += 'Performance (' + selector + ')';
title += ' Performance (' + selector + ')';
}
if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) {
console.groupCollapsed(title);
@ -514,7 +523,7 @@ $.fn.dropdown.settings = {
verbose : true,
debug : true,
performance : false,
performance : true,
on : 'click',
gracePeriod : 300,

Loading…
Cancel
Save