Skip to content

Commit

Permalink
Get rid of css selector duplication.
Browse files Browse the repository at this point in the history
Rename a few variables to make more sense.
Create variables for the timeout attribute
and bust cache event name.
  • Loading branch information
Darrel Portzline committed May 5, 2014
1 parent 991626f commit 1f5878a
Showing 1 changed file with 9 additions and 7 deletions.
16 changes: 9 additions & 7 deletions src/FubuMVC.Validation/content/scripts/fubuvalidation.ui.js
Original file line number Diff line number Diff line change
Expand Up @@ -471,18 +471,20 @@
return events;
};

form.find(initSelector).each(init);

var textInputs = $("input:not(:checkbox,:submit,:reset,:image,[disabled]),textarea:not([disabled])", form);
var nonTextInputs = $("input:radio:not([disabled]),input:checkbox:not([disabled]),select:not([disabled])", form);
var defaultValidationEvent = "change";
var defaultValidationTimeoutEvent = "keyup";
var timeoutAttributeName = "validation-timeout-events";
var bustCacheEventName = "validation:bustCache";
var timeoutAttributeName = "validation-timeout";
var timeoutEventsAttributeName = "validation-timeout-events";
var eventAttributeName = "validation-events";

form.find(initSelector).each(init);

textInputs.each(function () {
var control = $(this);
var timeoutEvents = determineEvents(control, timeoutAttributeName, defaultValidationTimeoutEvent);
var timeoutEvents = determineEvents(control, timeoutEventsAttributeName, defaultValidationTimeoutEvent);
var events = determineEvents(control, eventAttributeName, defaultValidationEvent);
control
.on(events, function (e) {
Expand All @@ -496,7 +498,7 @@
clearTimeout(timeout);
}

element.data("validation-timeout", setTimeout(function () {
element.data(timeoutAttributeName, setTimeout(function () {
self.elementHandler(element, form);
}, options.elementTimeout));
});
Expand All @@ -511,8 +513,8 @@
});
});

form
.on("validation:bustCache", "input:not(:checkbox,:submit,:reset,:image,[disabled]),textarea:not([disabled])", function (e) {
textInputs
.on(bustCacheEventName, function (e) {
var element = $(e.target);
var target = validation.Core.Target.forElement(element, form.attr('id'), form);
self.invalidateTarget(target, mode);
Expand Down

0 comments on commit 1f5878a

Please sign in to comment.