':'
',t.price!==o&&(n+='
'+t.price+"
"),t.title!==o&&(n+='
'+t.title+"
"),t.description!==o&&(n+='
'+t.description+"
"),n+="
"}),n+="",t.resultPage&&(n+='
'+t.resultPage.text+""),n):!1}}}})(jQuery,window,document);
\ No newline at end of file
diff --git a/build/minified/modules/tab.min.js b/build/minified/modules/tab.min.js
index c7c5c7479..14142d415 100644
--- a/build/minified/modules/tab.min.js
+++ b/build/minified/modules/tab.min.js
@@ -1 +1 @@
-(function(e,t,n,o){e.fn.tabNavigation=function(n){var i,a,s,r,l,c=e.extend(!0,{},e.fn.tabNavigation.settings,n),u=e(this),d=e(c.context).find(c.selector.tabs),f=!0,p={},m=0,g=c.className,h=c.metadata,v=c.namespace,b=c.errors,y=u.data("module"),x=arguments[0],w=y!==o&&"string"==typeof x,C=[].slice.call(arguments,1);return r={initialize:function(){r.debug("Initializing Tabs",u),c.history&&c.path!==!1&&(e.address!==o?(r.verbose("Address library found adding state change event"),e.address.state(c.path).change(r.event.history.change)):r.error(b.state)),e.isWindow(u.get(0))||u.on("click."+v,r.event.click),u.data("module",r)},destroy:function(){r.debug("Destroying tabs",u),u.off("."+v)},event:{click:function(){r.debug("Navigation clicked");var t=e(this).data(h.tab);t!==o?t!==i&&(c.history?e.address.value(t):r.change(t)):r.debug("No tab specified")},history:{change:function(t){var n=t.pathNames.join("/")||r.get.initialPath(),i=c.templates.determineTitle(n)||!1;r.debug("History change event",n,t),s=t,n!==o&&r.change(n),i&&e.address.title(i)}}},refresh:function(){i&&(r.debug("Refreshing tab",i),r.change(i))},cache:{read:function(e){return e!==o?p[e]:p},add:function(e,t){e=e||i,r.debug("Adding cached content for",e),p[e]=t},remove:function(e){e=e||i,r.debug("Removing cached content for",e),delete p[e]}},change:function(n){var l=r.get.defaultPathArray(n);r.deactivate.all(),e.each(l,function(u,d){var m=l.slice(0,u+1),g=r.utils.arrayToPath(m),h=r.utils.last(l)==g,v=r.is.tab(g),b=!v,y=t.history&&t.history.pushState,x=y&&c.ignoreFirstLoad&&f,w=e.isPlainObject(c.apiSettings),C=r.get.tabElement(g);return r.verbose("Looking for tab",d),b?(r.verbose("Tab is not found, assuming it is a parameter",d),!0):(v&&(r.verbose("Tab was found",d),i=g,a=r.utils.filterArray(l,m),h&&w?x?(r.debug("Ignoring remote content on first tab load",g),f=!1,p[n]=C.html(),r.activate.all(g),e.proxy(c.onTabInit,C)(g,a,s)):(r.activate.navigation(g),r.content.fetch(g,c.onTabLoad)):(r.debug("Opened tab",g),r.activate.all(g),e.proxy(c.onTabLoad,C)(g,a,s))),o)})},content:{fetch:function(t){var n=r.get.tabElement(t),l=p[t]||!1,u={dataType:"html",stateContext:n,success:function(o){p[t]=o,r.content.update(t,o),t==i?(r.debug("Content loaded",t),r.activate.tab(t)):r.debug("Content loaded in background",t),e.proxy(c.onTabInit,n)(t,a,s)},urlData:{tab:t}},d=n.data(h.promise)||!1,f=d&&"pending"===d.state();c.cache&&l?(r.debug("Showing existing content",t),r.activate.tab(t),e.proxy(c.onTabLoad,n)(t,a,s)):f?(r.debug("Content is already loading",t),n.addClass(g.loading)):e.api!==o?(r.debug("Retrieving content",t),e.api(e.extend(!0,{},c.apiSettings,u))):r.error(b.api)},update:function(e,t){r.debug("Updating html for",e);var n=r.get.tabElement(e);n.html(t)}},activate:{all:function(e){r.activate.tab(e),r.activate.navigation(e)},tab:function(e){var t=r.get.tabElement(e);r.verbose("Showing tab content for",t),t.addClass(g.active)},navigation:function(e){var t=r.get.navElement(e);r.verbose("Activating tab navigation for",t),t.addClass(g.active)}},deactivate:{all:function(){r.deactivate.navigation(),r.deactivate.tabs()},navigation:function(){u.removeClass(g.active)},tabs:function(){d.removeClass(g.active+" "+g.loading)}},is:{tab:function(e){return r.get.tabElement(e).size()>0}},get:{initialPath:function(){return u.eq(0).data(h.tab)||d.eq(0).data(h.tab)},defaultPathArray:function(e){return r.utils.pathToArray(r.get.defaultPath(e))},defaultPath:function(e){var t=u.filter("[data-"+h.tab+'^="'+e+'/"]').eq(0),n=t.data(h.tab)||!1;if(n){if(r.debug("Found default tab",n),c.maxDepth>m)return m++,r.get.defaultPath(n);r.error(b.recursion)}return m=0,e},navElement:function(e){return e=e||i,u.filter("[data-"+h.tab+'="'+e+'"]')},tabElement:function(e){var t,n,o,a;return e=e||i,o=r.utils.pathToArray(e),a=r.utils.last(o),t=d.filter("[data-"+h.tab+'="'+a+'"]'),n=d.filter("[data-"+h.tab+'="'+e+'"]'),t.size()>0?t:n},tab:function(){return i}},utils:{filterArray:function(t,n){return e.grep(t,function(t){return-1==e.inArray(t,n)})},last:function(t){return e.isArray(t)?t[t.length-1]:!1},pathToArray:function(e){return e===o&&(e=i),"string"==typeof e?e.split("/"):[e]},arrayToPath:function(t){return e.isArray(t)?t.join("/"):!1}},setting:function(e,t){return t===o?c[e]:(c[e]=t,o)},verbose:function(){c.verbose&&r.debug.apply(this,arguments)},debug:function(){var e=[],t=c.moduleName+": "+arguments[0],n=[].slice.call(arguments,1),o=console.info||console.log||function(){};o=Function.prototype.bind.call(o,console),c.debug&&(e.push(t),o.apply(console,e.concat(n)))},error:function(){var e=[],t=c.moduleName+": "+arguments[0],n=[].slice.call(arguments,1),o=console.warn||console.log||function(){};o=Function.prototype.bind.call(o,console),c.debug&&(e.push(t),e.concat(n),o.apply(console,e.concat(n)))},invoke:function(t,n,i){var a,s;return i=i||[].slice.call(arguments,2),"string"==typeof t&&y!==o&&(t=t.split("."),a=t.length-1,e.each(t,function(t,n){return e.isPlainObject(y[n])&&t!=a?(y=y[n],!0):y[n]!==o?(s=y[n],!0):(r.error(c.errors.method),!1)})),e.isFunction(s)?s.apply(n,i):s}},w?l=r.invoke(x,this,C):r.initialize(),l!==o?l:this},e.tabNavigation=function(n){e(t).tabNavigation(n)},e.fn.tabNavigation.settings={moduleName:"Tab Module",verbose:!1,debug:!0,namespace:"tab",onTabInit:function(){},onTabLoad:function(){},templates:{determineTitle:function(){}},history:!1,path:!1,context:"body",maxDepth:25,ignoreFirstLoad:!0,alwaysRefresh:!1,cache:!0,apiSettings:!1,errors:{api:"You attempted to load content without API module",noContent:"The tab you specified is missing a content url.",method:"The method you called is not defined",state:"The state library has not been initialized",missingTab:"Missing tab: ",recursion:"Max recursive depth reached"},metadata:{tab:"tab",loaded:"loaded",promise:"promise"},className:{loading:"loading",active:"active"},selector:{tabs:".tab"}}})(jQuery,window,document);
\ No newline at end of file
+(function(e,t,n,o){e.fn.tabNavigation=function(n){var i,a,s,r,l,c=e.extend(!0,{},e.fn.tabNavigation.settings,n),u=e(this),d=e(c.context).find(c.selector.tabs),f=!0,m={},p=0,g=c.className,h=c.metadata,v=c.namespace,b=c.errors,y=u.data("module"),x=arguments[0],w=y!==o&&"string"==typeof x,C=[].slice.call(arguments,1);return r={initialize:function(){r.debug("Initializing Tabs",u),c.history&&c.path!==!1&&(e.address!==o?(r.verbose("Address library found adding state change event"),e.address.state(c.path).change(r.event.history.change)):r.error(b.state)),e.isWindow(u.get(0))||u.on("click."+v,r.event.click),u.data("module",r)},destroy:function(){r.debug("Destroying tabs",u),u.off("."+v)},event:{click:function(){r.debug("Navigation clicked");var t=e(this).data(h.tab);t!==o?t!==i&&(c.history?e.address.value(t):r.change(t)):r.debug("No tab specified")},history:{change:function(t){var n=t.pathNames.join("/")||r.get.initialPath(),i=c.templates.determineTitle(n)||!1;r.debug("History change event",n,t),s=t,n!==o&&r.change(n),i&&e.address.title(i)}}},refresh:function(){i&&(r.debug("Refreshing tab",i),r.change(i))},cache:{read:function(e){return e!==o?m[e]:m},add:function(e,t){e=e||i,r.debug("Adding cached content for",e),m[e]=t},remove:function(e){e=e||i,r.debug("Removing cached content for",e),delete m[e]}},change:function(n){var l=r.get.defaultPathArray(n);r.deactivate.all(),e.each(l,function(u,d){var p=l.slice(0,u+1),g=r.utils.arrayToPath(p),h=r.utils.last(l)==g,v=r.is.tab(g),b=!v,y=t.history&&t.history.pushState,x=y&&c.ignoreFirstLoad&&f,w=e.isPlainObject(c.apiSettings),C=r.get.tabElement(g);return r.verbose("Looking for tab",d),b?(r.verbose("Tab is not found, assuming it is a parameter",d),!0):(v&&(r.verbose("Tab was found",d),i=g,a=r.utils.filterArray(l,p),h&&w?x?(r.debug("Ignoring remote content on first tab load",g),f=!1,m[n]=C.html(),r.activate.all(g),e.proxy(c.onTabInit,C)(g,a,s)):(r.activate.navigation(g),r.content.fetch(g,c.onTabLoad)):(r.debug("Opened tab",g),r.activate.all(g),e.proxy(c.onTabLoad,C)(g,a,s))),o)})},content:{fetch:function(t){var n=r.get.tabElement(t),l=m[t]||!1,u={dataType:"html",stateContext:n,success:function(o){m[t]=o,r.content.update(t,o),t==i?(r.debug("Content loaded",t),r.activate.tab(t)):r.debug("Content loaded in background",t),e.proxy(c.onTabInit,n)(t,a,s)},urlData:{tab:t}},d=n.data(h.promise)||!1,f=d&&"pending"===d.state();c.cache&&l?(r.debug("Showing existing content",t),r.activate.tab(t),e.proxy(c.onTabLoad,n)(t,a,s)):f?(r.debug("Content is already loading",t),n.addClass(g.loading)):e.api!==o?(r.debug("Retrieving content",t),e.api(e.extend(!0,{},c.apiSettings,u))):r.error(b.api)},update:function(e,t){r.debug("Updating html for",e);var n=r.get.tabElement(e);n.html(t)}},activate:{all:function(e){r.activate.tab(e),r.activate.navigation(e)},tab:function(e){var t=r.get.tabElement(e);r.verbose("Showing tab content for",t),t.addClass(g.active)},navigation:function(e){var t=r.get.navElement(e);r.verbose("Activating tab navigation for",t),t.addClass(g.active)}},deactivate:{all:function(){r.deactivate.navigation(),r.deactivate.tabs()},navigation:function(){u.removeClass(g.active)},tabs:function(){d.removeClass(g.active+" "+g.loading)}},is:{tab:function(e){return r.get.tabElement(e).size()>0}},get:{initialPath:function(){return u.eq(0).data(h.tab)||d.eq(0).data(h.tab)},defaultPathArray:function(e){return r.utils.pathToArray(r.get.defaultPath(e))},defaultPath:function(e){var t=u.filter("[data-"+h.tab+'^="'+e+'/"]').eq(0),n=t.data(h.tab)||!1;if(n){if(r.debug("Found default tab",n),c.maxDepth>p)return p++,r.get.defaultPath(n);r.error(b.recursion)}return p=0,e},navElement:function(e){return e=e||i,u.filter("[data-"+h.tab+'="'+e+'"]')},tabElement:function(e){var t,n,o,a;return e=e||i,o=r.utils.pathToArray(e),a=r.utils.last(o),t=d.filter("[data-"+h.tab+'="'+a+'"]'),n=d.filter("[data-"+h.tab+'="'+e+'"]'),t.size()>0?t:n},tab:function(){return i}},utils:{filterArray:function(t,n){return e.grep(t,function(t){return-1==e.inArray(t,n)})},last:function(t){return e.isArray(t)?t[t.length-1]:!1},pathToArray:function(e){return e===o&&(e=i),"string"==typeof e?e.split("/"):[e]},arrayToPath:function(t){return e.isArray(t)?t.join("/"):!1}},setting:function(e,t){return t===o?c[e]:(c[e]=t,o)},verbose:function(){c.verbose&&r.debug.apply(this,arguments)},debug:function(){var e=[],t=c.moduleName+": "+arguments[0],n=[].slice.call(arguments,1),o=console.info||console.log||function(){};o=Function.prototype.bind.call(o,console),c.debug&&(e.push(t),o.apply(console,e.concat(n)))},error:function(){var e=[],t=c.moduleName+": "+arguments[0],n=[].slice.call(arguments,1),o=console.warn||console.log||function(){};o=Function.prototype.bind.call(o,console),c.debug&&(e.push(t),e.concat(n),o.apply(console,e.concat(n)))},invoke:function(t,n,i){var a,s;return i=i||[].slice.call(arguments,2),"string"==typeof t&&y!==o&&(t=t.split("."),a=t.length-1,e.each(t,function(t,n){return e.isPlainObject(y[n])&&t!=a?(y=y[n],!0):y[n]!==o?(s=y[n],!0):(r.error(c.errors.method),!1)})),e.isFunction(s)?s.apply(n,i):s}},w?l=r.invoke(x,this,C):r.initialize(),l!==o?l:this},e.tabNavigation=function(n){e(t).tabNavigation(n)},e.fn.tabNavigation.settings={moduleName:"Tab Module",verbose:!1,debug:!0,namespace:"tab",onTabInit:function(){},onTabLoad:function(){},templates:{determineTitle:function(){}},history:!1,path:!1,context:"body",maxDepth:25,ignoreFirstLoad:!0,alwaysRefresh:!1,cache:!0,apiSettings:!1,errors:{api:"You attempted to load content without API module",noContent:"The tab you specified is missing a content url.",method:"The method you called is not defined",state:"The state library has not been initialized",missingTab:"Missing tab: ",recursion:"Max recursive depth reached"},metadata:{tab:"tab",loaded:"loaded",promise:"promise"},className:{loading:"loading",active:"active"},selector:{tabs:".tab"}}})(jQuery,window,document);
\ No newline at end of file
diff --git a/build/packaged/modules/behavior/form.js b/build/packaged/modules/behavior/form.js
index 2d63f4c4d..b4c792dbb 100644
--- a/build/packaged/modules/behavior/form.js
+++ b/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)
diff --git a/build/packaged/modules/checkbox.js b/build/packaged/modules/checkbox.js
index 8653f8918..fb452ee1f 100644
--- a/build/packaged/modules/checkbox.js
+++ b/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,
diff --git a/build/packaged/modules/dropdown.js b/build/packaged/modules/dropdown.js
index 35cfac202..6501a2e39 100644
--- a/build/packaged/modules/dropdown.js
+++ b/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,
diff --git a/build/packaged/semantic.min.js.REMOVED.git-id b/build/packaged/semantic.min.js.REMOVED.git-id
index c071ea5bf..a9b71bbe1 100644
--- a/build/packaged/semantic.min.js.REMOVED.git-id
+++ b/build/packaged/semantic.min.js.REMOVED.git-id
@@ -1 +1 @@
-9db5cfc27a304899cd1ab4666348c271a8bb92a8
\ No newline at end of file
+631e78f155da36c7880a4d93d75faf2d08b799ad
\ No newline at end of file
diff --git a/build/uncompressed/modules/behavior/form.js b/build/uncompressed/modules/behavior/form.js
index 2d63f4c4d..b4c792dbb 100644
--- a/build/uncompressed/modules/behavior/form.js
+++ b/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)
diff --git a/build/uncompressed/modules/checkbox.js b/build/uncompressed/modules/checkbox.js
index 8653f8918..fb452ee1f 100644
--- a/build/uncompressed/modules/checkbox.js
+++ b/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,
diff --git a/build/uncompressed/modules/dropdown.js b/build/uncompressed/modules/dropdown.js
index 35cfac202..6501a2e39 100644
--- a/build/uncompressed/modules/dropdown.js
+++ b/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,
diff --git a/node/src/files/components/semantic/modules/behavior/form.js b/node/src/files/components/semantic/modules/behavior/form.js
index 2d63f4c4d..b4c792dbb 100644
--- a/node/src/files/components/semantic/modules/behavior/form.js
+++ b/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)
diff --git a/node/src/files/components/semantic/modules/checkbox.js b/node/src/files/components/semantic/modules/checkbox.js
index 8653f8918..fb452ee1f 100644
--- a/node/src/files/components/semantic/modules/checkbox.js
+++ b/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,
diff --git a/node/src/files/components/semantic/modules/dropdown.js b/node/src/files/components/semantic/modules/dropdown.js
index 35cfac202..6501a2e39 100644
--- a/node/src/files/components/semantic/modules/dropdown.js
+++ b/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,
diff --git a/src/modules/behavior/form.js b/src/modules/behavior/form.js
index 2d63f4c4d..b4c792dbb 100755
--- a/src/modules/behavior/form.js
+++ b/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)
diff --git a/src/modules/checkbox.js b/src/modules/checkbox.js
index 8653f8918..fb452ee1f 100755
--- a/src/modules/checkbox.js
+++ b/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,
diff --git a/src/modules/dropdown.js b/src/modules/dropdown.js
index 35cfac202..6501a2e39 100755
--- a/src/modules/dropdown.js
+++ b/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,