diff options
author | Andrew Arnott <andrewarnott@gmail.com> | 2010-01-31 21:35:48 -0800 |
---|---|---|
committer | Andrew Arnott <andrewarnott@gmail.com> | 2010-01-31 21:35:48 -0800 |
commit | 6a1f0a2c033cbdd652aadafcbefbcc8cdbbf2186 (patch) | |
tree | 976c28423d229e313e968fbf56d950411fc106df /samples/OpenIdProviderMvc/Scripts | |
parent | daf0b05fba9cae039ee631bbe008f8225c065ffc (diff) | |
parent | 17e1e88e7f75c86a6d4494dd2cb59eb9a7e75280 (diff) | |
download | DotNetOpenAuth-6a1f0a2c033cbdd652aadafcbefbcc8cdbbf2186.zip DotNetOpenAuth-6a1f0a2c033cbdd652aadafcbefbcc8cdbbf2186.tar.gz DotNetOpenAuth-6a1f0a2c033cbdd652aadafcbefbcc8cdbbf2186.tar.bz2 |
Merged master back into v3.4 for VS2010 support.
Merge branch 'master' into v3.4
Diffstat (limited to 'samples/OpenIdProviderMvc/Scripts')
-rw-r--r-- | samples/OpenIdProviderMvc/Scripts/MicrosoftMvcAjax.debug.js | 875 | ||||
-rw-r--r-- | samples/OpenIdProviderMvc/Scripts/MicrosoftMvcAjax.js | 59 |
2 files changed, 923 insertions, 11 deletions
diff --git a/samples/OpenIdProviderMvc/Scripts/MicrosoftMvcAjax.debug.js b/samples/OpenIdProviderMvc/Scripts/MicrosoftMvcAjax.debug.js index afd4566..2364244 100644 --- a/samples/OpenIdProviderMvc/Scripts/MicrosoftMvcAjax.debug.js +++ b/samples/OpenIdProviderMvc/Scripts/MicrosoftMvcAjax.debug.js @@ -31,6 +31,24 @@ Sys.Mvc.InsertionMode.registerEnum('Sys.Mvc.InsertionMode', false); //////////////////////////////////////////////////////////////////////////////// +// Sys.Mvc.JsonValidationField + +Sys.Mvc.$create_JsonValidationField = function Sys_Mvc_JsonValidationField() { return {}; } + + +//////////////////////////////////////////////////////////////////////////////// +// Sys.Mvc.JsonValidationOptions + +Sys.Mvc.$create_JsonValidationOptions = function Sys_Mvc_JsonValidationOptions() { return {}; } + + +//////////////////////////////////////////////////////////////////////////////// +// Sys.Mvc.JsonValidationRule + +Sys.Mvc.$create_JsonValidationRule = function Sys_Mvc_JsonValidationRule() { return {}; } + + +//////////////////////////////////////////////////////////////////////////////// // Sys.Mvc.AjaxContext Sys.Mvc.AjaxContext = function Sys_Mvc_AjaxContext(request, updateTarget, loadingElement, insertionMode) { @@ -84,6 +102,12 @@ Sys.Mvc.AjaxContext.prototype = { return this._loadingElement; }, + get_object: function Sys_Mvc_AjaxContext$get_object() { + /// <value type="Object"></value> + var executor = this.get_response(); + return (executor) ? executor.get_object() : null; + }, + get_response: function Sys_Mvc_AjaxContext$get_response() { /// <value type="Sys.Net.WebRequestExecutor"></value> return this._response; @@ -124,10 +148,473 @@ Sys.Mvc.AsyncHyperlink.handleClick = function Sys_Mvc_AsyncHyperlink$handleClick //////////////////////////////////////////////////////////////////////////////// +// Sys.Mvc.FieldValidation + +Sys.Mvc.FieldValidation = function Sys_Mvc_FieldValidation(formValidation, fieldElements, validationMessageElement, replaceValidationMessageContents) { + /// <param name="formValidation" type="Sys.Mvc.FormValidation"> + /// </param> + /// <param name="fieldElements" type="Array" elementType="Object" elementDomElement="true"> + /// </param> + /// <param name="validationMessageElement" type="Object" domElement="true"> + /// </param> + /// <param name="replaceValidationMessageContents" type="Boolean"> + /// </param> + /// <field name="_hasTextChangedTag" type="String" static="true"> + /// </field> + /// <field name="_hasValidationFiredTag" type="String" static="true"> + /// </field> + /// <field name="_inputElementErrorCss" type="String" static="true"> + /// </field> + /// <field name="_inputElementValidCss" type="String" static="true"> + /// </field> + /// <field name="_validationMessageErrorCss" type="String" static="true"> + /// </field> + /// <field name="_validationMessageValidCss" type="String" static="true"> + /// </field> + /// <field name="_onBlurHandler" type="Sys.UI.DomEventHandler"> + /// </field> + /// <field name="_onChangeHandler" type="Sys.UI.DomEventHandler"> + /// </field> + /// <field name="_onInputHandler" type="Sys.UI.DomEventHandler"> + /// </field> + /// <field name="_onPropertyChangeHandler" type="Sys.UI.DomEventHandler"> + /// </field> + /// <field name="_errors" type="Array"> + /// </field> + /// <field name="_fieldElements" type="Array" elementType="Object" elementDomElement="true"> + /// </field> + /// <field name="_formValidation" type="Sys.Mvc.FormValidation"> + /// </field> + /// <field name="_replaceValidationMessageContents" type="Boolean"> + /// </field> + /// <field name="_validationMessageElement" type="Object" domElement="true"> + /// </field> + /// <field name="_validators" type="Array"> + /// </field> + this._errors = []; + this._validators = []; + this._formValidation = formValidation; + this._fieldElements = fieldElements; + this._validationMessageElement = validationMessageElement; + this._replaceValidationMessageContents = replaceValidationMessageContents; + this._onBlurHandler = Function.createDelegate(this, this._element_OnBlur); + this._onChangeHandler = Function.createDelegate(this, this._element_OnChange); + this._onInputHandler = Function.createDelegate(this, this._element_OnInput); + this._onPropertyChangeHandler = Function.createDelegate(this, this._element_OnPropertyChange); +} +Sys.Mvc.FieldValidation.prototype = { + _onBlurHandler: null, + _onChangeHandler: null, + _onInputHandler: null, + _onPropertyChangeHandler: null, + _fieldElements: null, + _formValidation: null, + _replaceValidationMessageContents: false, + _validationMessageElement: null, + + addError: function Sys_Mvc_FieldValidation$addError(message) { + /// <param name="message" type="String"> + /// </param> + this.addErrors([ message ]); + }, + + addErrors: function Sys_Mvc_FieldValidation$addErrors(messages) { + /// <param name="messages" type="Array" elementType="String"> + /// </param> + if (!Sys.Mvc._validationUtil.arrayIsNullOrEmpty(messages)) { + Array.addRange(this._errors, messages); + this._onErrorCountChanged(); + } + }, + + addValidator: function Sys_Mvc_FieldValidation$addValidator(validator) { + /// <param name="validator" type="Sys.Mvc.Validator"> + /// </param> + Array.add(this._validators, validator); + }, + + disableDynamicValidation: function Sys_Mvc_FieldValidation$disableDynamicValidation() { + for (var i = 0; i < this._fieldElements.length; i++) { + var fieldElement = this._fieldElements[i]; + if (Sys.Mvc._validationUtil.elementSupportsEvent(fieldElement, 'onpropertychange')) { + Sys.UI.DomEvent.removeHandler(fieldElement, 'propertychange', this._onPropertyChangeHandler); + } + else { + Sys.UI.DomEvent.removeHandler(fieldElement, 'input', this._onInputHandler); + } + Sys.UI.DomEvent.removeHandler(fieldElement, 'change', this._onChangeHandler); + Sys.UI.DomEvent.removeHandler(fieldElement, 'blur', this._onBlurHandler); + } + }, + + _displayError: function Sys_Mvc_FieldValidation$_displayError() { + if (this._validationMessageElement) { + if (this._replaceValidationMessageContents) { + Sys.Mvc._validationUtil.setInnerText(this._validationMessageElement, this._errors[0]); + } + Sys.UI.DomElement.removeCssClass(this._validationMessageElement, Sys.Mvc.FieldValidation._validationMessageValidCss); + Sys.UI.DomElement.addCssClass(this._validationMessageElement, Sys.Mvc.FieldValidation._validationMessageErrorCss); + } + for (var i = 0; i < this._fieldElements.length; i++) { + var fieldElement = this._fieldElements[i]; + Sys.UI.DomElement.removeCssClass(fieldElement, Sys.Mvc.FieldValidation._inputElementValidCss); + Sys.UI.DomElement.addCssClass(fieldElement, Sys.Mvc.FieldValidation._inputElementErrorCss); + } + }, + + _displaySuccess: function Sys_Mvc_FieldValidation$_displaySuccess() { + if (this._validationMessageElement) { + if (this._replaceValidationMessageContents) { + Sys.Mvc._validationUtil.setInnerText(this._validationMessageElement, ''); + } + Sys.UI.DomElement.removeCssClass(this._validationMessageElement, Sys.Mvc.FieldValidation._validationMessageErrorCss); + Sys.UI.DomElement.addCssClass(this._validationMessageElement, Sys.Mvc.FieldValidation._validationMessageValidCss); + } + for (var i = 0; i < this._fieldElements.length; i++) { + var fieldElement = this._fieldElements[i]; + Sys.UI.DomElement.removeCssClass(fieldElement, Sys.Mvc.FieldValidation._inputElementErrorCss); + Sys.UI.DomElement.addCssClass(fieldElement, Sys.Mvc.FieldValidation._inputElementValidCss); + } + }, + + _element_OnInput: function Sys_Mvc_FieldValidation$_element_OnInput(e) { + /// <param name="e" type="Sys.UI.DomEvent"> + /// </param> + e.target[Sys.Mvc.FieldValidation._hasTextChangedTag] = true; + if (e.target[Sys.Mvc.FieldValidation._hasValidationFiredTag]) { + this.validate(); + } + }, + + _element_OnBlur: function Sys_Mvc_FieldValidation$_element_OnBlur(e) { + /// <param name="e" type="Sys.UI.DomEvent"> + /// </param> + if (e.target[Sys.Mvc.FieldValidation._hasTextChangedTag] || e.target[Sys.Mvc.FieldValidation._hasValidationFiredTag]) { + this.validate(); + } + }, + + _element_OnChange: function Sys_Mvc_FieldValidation$_element_OnChange(e) { + /// <param name="e" type="Sys.UI.DomEvent"> + /// </param> + e.target[Sys.Mvc.FieldValidation._hasTextChangedTag] = true; + }, + + _element_OnPropertyChange: function Sys_Mvc_FieldValidation$_element_OnPropertyChange(e) { + /// <param name="e" type="Sys.UI.DomEvent"> + /// </param> + if (e.rawEvent.propertyName === 'value') { + e.target[Sys.Mvc.FieldValidation._hasTextChangedTag] = true; + if (e.target[Sys.Mvc.FieldValidation._hasValidationFiredTag]) { + this.validate(); + } + } + }, + + enableDynamicValidation: function Sys_Mvc_FieldValidation$enableDynamicValidation() { + for (var i = 0; i < this._fieldElements.length; i++) { + var fieldElement = this._fieldElements[i]; + if (Sys.Mvc._validationUtil.elementSupportsEvent(fieldElement, 'onpropertychange')) { + Sys.UI.DomEvent.addHandler(fieldElement, 'propertychange', this._onPropertyChangeHandler); + } + else { + Sys.UI.DomEvent.addHandler(fieldElement, 'input', this._onInputHandler); + } + Sys.UI.DomEvent.addHandler(fieldElement, 'change', this._onChangeHandler); + Sys.UI.DomEvent.addHandler(fieldElement, 'blur', this._onBlurHandler); + } + }, + + _getStringValue: function Sys_Mvc_FieldValidation$_getStringValue() { + /// <returns type="String"></returns> + return (this._fieldElements.length > 0) ? this._fieldElements[0].value : null; + }, + + _onErrorCountChanged: function Sys_Mvc_FieldValidation$_onErrorCountChanged() { + if (!this._errors.length) { + this._displaySuccess(); + } + else { + this._displayError(); + } + }, + + removeAllErrors: function Sys_Mvc_FieldValidation$removeAllErrors() { + Array.clear(this._errors); + this._onErrorCountChanged(); + }, + + validate: function Sys_Mvc_FieldValidation$validate() { + /// <returns type="Array" elementType="String"></returns> + var allErrors = []; + for (var i = 0; i < this._validators.length; i++) { + var validator = this._validators[i]; + var thisErrors = validator.validate(this, this._fieldElements, this._getStringValue()); + if (thisErrors) { + Array.addRange(allErrors, thisErrors); + } + } + for (var i = 0; i < this._fieldElements.length; i++) { + var fieldElement = this._fieldElements[i]; + fieldElement[Sys.Mvc.FieldValidation._hasValidationFiredTag] = true; + } + this.removeAllErrors(); + this.addErrors(allErrors); + return allErrors; + } +} + + +//////////////////////////////////////////////////////////////////////////////// +// Sys.Mvc.FormValidation + +Sys.Mvc.FormValidation = function Sys_Mvc_FormValidation(formElement, validationSummaryElement) { + /// <param name="formElement" type="Object" domElement="true"> + /// </param> + /// <param name="validationSummaryElement" type="Object" domElement="true"> + /// </param> + /// <field name="_validationSummaryErrorCss" type="String" static="true"> + /// </field> + /// <field name="_validationSummaryValidCss" type="String" static="true"> + /// </field> + /// <field name="_formValidationTag" type="String" static="true"> + /// </field> + /// <field name="_onSubmitHandler" type="Sys.UI.DomEventHandler"> + /// </field> + /// <field name="_errors" type="Array"> + /// </field> + /// <field name="_fieldValidations" type="Array"> + /// </field> + /// <field name="_formElement" type="Object" domElement="true"> + /// </field> + /// <field name="_validationSummaryElement" type="Object" domElement="true"> + /// </field> + /// <field name="_validationSummaryULElement" type="Object" domElement="true"> + /// </field> + this._errors = []; + this._fieldValidations = []; + this._formElement = formElement; + this._validationSummaryElement = validationSummaryElement; + formElement[Sys.Mvc.FormValidation._formValidationTag] = this; + if (validationSummaryElement) { + var ulElements = validationSummaryElement.getElementsByTagName('ul'); + if (ulElements.length > 0) { + this._validationSummaryULElement = ulElements[0]; + } + } + this._onSubmitHandler = Function.createDelegate(this, this._form_OnSubmit); +} +Sys.Mvc.FormValidation.enableClientValidation = function Sys_Mvc_FormValidation$enableClientValidation(options, userState) { + /// <param name="options" type="Sys.Mvc.JsonValidationOptions"> + /// </param> + /// <param name="userState" type="Object"> + /// </param> + Sys.Application.add_load(Function.createDelegate(null, function(sender, e) { + Sys.Mvc.FormValidation.parseJsonOptions(options); + })); +} +Sys.Mvc.FormValidation._getFormElementsWithName = function Sys_Mvc_FormValidation$_getFormElementsWithName(formElement, name) { + /// <param name="formElement" type="Object" domElement="true"> + /// </param> + /// <param name="name" type="String"> + /// </param> + /// <returns type="Array" elementType="Object" elementDomElement="true"></returns> + var allElementsWithNameInForm = []; + var allElementsWithName = document.getElementsByName(name); + for (var i = 0; i < allElementsWithName.length; i++) { + var thisElement = allElementsWithName[i]; + if (Sys.Mvc.FormValidation._isElementInHierarchy(formElement, thisElement)) { + Array.add(allElementsWithNameInForm, thisElement); + } + } + return allElementsWithNameInForm; +} +Sys.Mvc.FormValidation.getValidationForForm = function Sys_Mvc_FormValidation$getValidationForForm(formElement) { + /// <param name="formElement" type="Object" domElement="true"> + /// </param> + /// <returns type="Sys.Mvc.FormValidation"></returns> + return formElement[Sys.Mvc.FormValidation._formValidationTag]; +} +Sys.Mvc.FormValidation._isElementInHierarchy = function Sys_Mvc_FormValidation$_isElementInHierarchy(parent, child) { + /// <param name="parent" type="Object" domElement="true"> + /// </param> + /// <param name="child" type="Object" domElement="true"> + /// </param> + /// <returns type="Boolean"></returns> + while (child) { + if (parent === child) { + return true; + } + child = child.parentNode; + } + return false; +} +Sys.Mvc.FormValidation.parseJsonOptions = function Sys_Mvc_FormValidation$parseJsonOptions(options) { + /// <param name="options" type="Sys.Mvc.JsonValidationOptions"> + /// </param> + /// <returns type="Sys.Mvc.FormValidation"></returns> + var formElement = $get(options.FormId); + var validationSummaryElement = (!Sys.Mvc._validationUtil.stringIsNullOrEmpty(options.ValidationSummaryId)) ? $get(options.ValidationSummaryId) : null; + var formValidation = new Sys.Mvc.FormValidation(formElement, validationSummaryElement); + formValidation.enableDynamicValidation(); + for (var i = 0; i < options.Fields.length; i++) { + var field = options.Fields[i]; + var fieldElements = Sys.Mvc.FormValidation._getFormElementsWithName(formElement, field.FieldName); + var validationMessageElement = (!Sys.Mvc._validationUtil.stringIsNullOrEmpty(field.ValidationMessageId)) ? $get(field.ValidationMessageId) : null; + var fieldValidation = new Sys.Mvc.FieldValidation(formValidation, fieldElements, validationMessageElement, field.ReplaceValidationMessageContents); + for (var j = 0; j < field.ValidationRules.length; j++) { + var rule = field.ValidationRules[j]; + var validator = Sys.Mvc.ValidatorRegistry.getValidator(rule); + if (validator) { + fieldValidation.addValidator(validator); + } + } + fieldValidation.enableDynamicValidation(); + formValidation.addFieldValidation(fieldValidation); + } + return formValidation; +} +Sys.Mvc.FormValidation.prototype = { + _onSubmitHandler: null, + _formElement: null, + _validationSummaryElement: null, + _validationSummaryULElement: null, + + addError: function Sys_Mvc_FormValidation$addError(message) { + /// <param name="message" type="String"> + /// </param> + this.addErrors([ message ]); + }, + + addErrors: function Sys_Mvc_FormValidation$addErrors(messages) { + /// <param name="messages" type="Array" elementType="String"> + /// </param> + if (!Sys.Mvc._validationUtil.arrayIsNullOrEmpty(messages)) { + Array.addRange(this._errors, messages); + this._onErrorCountChanged(); + } + }, + + addFieldValidation: function Sys_Mvc_FormValidation$addFieldValidation(validation) { + /// <param name="validation" type="Sys.Mvc.FieldValidation"> + /// </param> + Array.add(this._fieldValidations, validation); + }, + + disableDynamicValidation: function Sys_Mvc_FormValidation$disableDynamicValidation() { + Sys.UI.DomEvent.removeHandler(this._formElement, 'submit', this._onSubmitHandler); + }, + + _displayError: function Sys_Mvc_FormValidation$_displayError() { + if (this._validationSummaryElement) { + if (this._validationSummaryULElement) { + Sys.Mvc._validationUtil.removeAllChildren(this._validationSummaryULElement); + for (var i = 0; i < this._errors.length; i++) { + var liElement = document.createElement('li'); + Sys.Mvc._validationUtil.setInnerText(liElement, this._errors[i]); + this._validationSummaryULElement.appendChild(liElement); + } + } + Sys.UI.DomElement.removeCssClass(this._validationSummaryElement, Sys.Mvc.FormValidation._validationSummaryValidCss); + Sys.UI.DomElement.addCssClass(this._validationSummaryElement, Sys.Mvc.FormValidation._validationSummaryErrorCss); + } + }, + + _displaySuccess: function Sys_Mvc_FormValidation$_displaySuccess() { + if (this._validationSummaryElement) { + if (this._validationSummaryULElement) { + this._validationSummaryULElement.innerHTML = ''; + } + Sys.UI.DomElement.removeCssClass(this._validationSummaryElement, Sys.Mvc.FormValidation._validationSummaryErrorCss); + Sys.UI.DomElement.addCssClass(this._validationSummaryElement, Sys.Mvc.FormValidation._validationSummaryValidCss); + } + }, + + enableDynamicValidation: function Sys_Mvc_FormValidation$enableDynamicValidation() { + Sys.UI.DomEvent.addHandler(this._formElement, 'submit', this._onSubmitHandler); + }, + + _form_OnSubmit: function Sys_Mvc_FormValidation$_form_OnSubmit(e) { + /// <param name="e" type="Sys.UI.DomEvent"> + /// </param> + var form = e.target; + var errorMessages = this.validate(true); + if (!Sys.Mvc._validationUtil.arrayIsNullOrEmpty(errorMessages)) { + e.preventDefault(); + } + }, + + _onErrorCountChanged: function Sys_Mvc_FormValidation$_onErrorCountChanged() { + if (!this._errors.length) { + this._displaySuccess(); + } + else { + this._displayError(); + } + }, + + removeAllErrors: function Sys_Mvc_FormValidation$removeAllErrors() { + Array.clear(this._errors); + this._onErrorCountChanged(); + }, + + validate: function Sys_Mvc_FormValidation$validate(replaceValidationSummary) { + /// <param name="replaceValidationSummary" type="Boolean"> + /// </param> + /// <returns type="Array" elementType="String"></returns> + var allErrors = []; + for (var i = 0; i < this._fieldValidations.length; i++) { + var validation = this._fieldValidations[i]; + var thisErrors = validation.validate(); + if (thisErrors) { + Array.addRange(allErrors, thisErrors); + } + } + if (replaceValidationSummary) { + this.removeAllErrors(); + this.addErrors(allErrors); + } + return allErrors; + } +} + + +//////////////////////////////////////////////////////////////////////////////// // Sys.Mvc.MvcHelpers Sys.Mvc.MvcHelpers = function Sys_Mvc_MvcHelpers() { } +Sys.Mvc.MvcHelpers._serializeSubmitButton = function Sys_Mvc_MvcHelpers$_serializeSubmitButton(element, offsetX, offsetY) { + /// <param name="element" type="Object" domElement="true"> + /// </param> + /// <param name="offsetX" type="Number" integer="true"> + /// </param> + /// <param name="offsetY" type="Number" integer="true"> + /// </param> + /// <returns type="String"></returns> + if (element.disabled) { + return null; + } + var name = element.name; + if (name) { + var tagName = element.tagName.toUpperCase(); + var encodedName = encodeURIComponent(name); + var inputElement = element; + if (tagName === 'INPUT') { + var type = inputElement.type; + if (type === 'submit') { + return encodedName + '=' + encodeURIComponent(inputElement.value); + } + else if (type === 'image') { + return encodedName + '.x=' + offsetX + '&' + encodedName + '.y=' + offsetY; + } + } + else if ((tagName === 'BUTTON') && (name.length) && (inputElement.type === 'submit')) { + return encodedName + '=' + encodeURIComponent(inputElement.value); + } + } + return null; +} Sys.Mvc.MvcHelpers._serializeForm = function Sys_Mvc_MvcHelpers$_serializeForm(form) { /// <param name="form" type="Object" domElement="true"> /// </param> @@ -172,6 +659,11 @@ Sys.Mvc.MvcHelpers._serializeForm = function Sys_Mvc_MvcHelpers$_serializeForm(f formBody.append('&'); } } + var additionalInput = form._additionalInput; + if (additionalInput) { + formBody.append(additionalInput); + formBody.append('&'); + } return formBody.toString(); } Sys.Mvc.MvcHelpers._asyncRequest = function Sys_Mvc_MvcHelpers$_asyncRequest(url, verb, body, triggerElement, ajaxOptions) { @@ -200,8 +692,14 @@ Sys.Mvc.MvcHelpers._asyncRequest = function Sys_Mvc_MvcHelpers$_asyncRequest(url body += '&'; } body += 'X-Requested-With=XMLHttpRequest'; + var upperCaseVerb = verb.toUpperCase(); + var isGetOrPost = (upperCaseVerb === 'GET' || upperCaseVerb === 'POST'); + if (!isGetOrPost) { + body += '&'; + body += 'X-HTTP-Method-Override=' + upperCaseVerb; + } var requestBody = ''; - if (verb.toUpperCase() === 'GET' || verb.toUpperCase() === 'DELETE') { + if (upperCaseVerb === 'GET' || upperCaseVerb === 'DELETE') { if (url.indexOf('?') > -1) { if (!url.endsWith('&')) { url += '&'; @@ -218,7 +716,13 @@ Sys.Mvc.MvcHelpers._asyncRequest = function Sys_Mvc_MvcHelpers$_asyncRequest(url } var request = new Sys.Net.WebRequest(); request.set_url(url); - request.set_httpVerb(verb); + if (isGetOrPost) { + request.set_httpVerb(verb); + } + else { + request.set_httpVerb('POST'); + request.get_headers()['X-HTTP-Method-Override'] = upperCaseVerb; + } request.set_body(requestBody); if (verb.toUpperCase() === 'PUT') { request.get_headers()['Content-Type'] = 'application/x-www-form-urlencoded;'; @@ -314,6 +818,14 @@ Sys.Mvc.MvcHelpers.updateDomElement = function Sys_Mvc_MvcHelpers$updateDomEleme Sys.Mvc.AsyncForm = function Sys_Mvc_AsyncForm() { } +Sys.Mvc.AsyncForm.handleClick = function Sys_Mvc_AsyncForm$handleClick(form, evt) { + /// <param name="form" type="Object" domElement="true"> + /// </param> + /// <param name="evt" type="Sys.UI.DomEvent"> + /// </param> + var additionalInput = Sys.Mvc.MvcHelpers._serializeSubmitButton(evt.target, evt.offsetX, evt.offsetY); + form._additionalInput = additionalInput; +} Sys.Mvc.AsyncForm.handleSubmit = function Sys_Mvc_AsyncForm$handleSubmit(form, evt, ajaxOptions) { /// <param name="form" type="Object" domElement="true"> /// </param> @@ -327,10 +839,369 @@ Sys.Mvc.AsyncForm.handleSubmit = function Sys_Mvc_AsyncForm$handleSubmit(form, e } +//////////////////////////////////////////////////////////////////////////////// +// Sys.Mvc.RangeValidator + +Sys.Mvc.RangeValidator = function Sys_Mvc_RangeValidator(errorMessage, minimum, maximum) { + /// <param name="errorMessage" type="String"> + /// </param> + /// <param name="minimum" type="Number"> + /// </param> + /// <param name="maximum" type="Number"> + /// </param> + /// <field name="_errorMessage$1" type="String"> + /// </field> + /// <field name="_minimum$1" type="Number"> + /// </field> + /// <field name="_maximum$1" type="Number"> + /// </field> + Sys.Mvc.RangeValidator.initializeBase(this); + this._errorMessage$1 = errorMessage; + this._minimum$1 = minimum; + this._maximum$1 = maximum; +} +Sys.Mvc.RangeValidator._create = function Sys_Mvc_RangeValidator$_create(rule) { + /// <param name="rule" type="Sys.Mvc.JsonValidationRule"> + /// </param> + /// <returns type="Sys.Mvc.RangeValidator"></returns> + var min = rule.ValidationParameters['minimum']; + var max = rule.ValidationParameters['maximum']; + return new Sys.Mvc.RangeValidator(rule.ErrorMessage, min, max); +} +Sys.Mvc.RangeValidator.prototype = { + _errorMessage$1: null, + _minimum$1: null, + _maximum$1: null, + + validate: function Sys_Mvc_RangeValidator$validate(validation, elements, value) { + /// <param name="validation" type="Sys.Mvc.FieldValidation"> + /// </param> + /// <param name="elements" type="Array" elementType="Object" elementDomElement="true"> + /// </param> + /// <param name="value" type="String"> + /// </param> + /// <returns type="Array" elementType="String"></returns> + if (Sys.Mvc._validationUtil.stringIsNullOrEmpty(value)) { + return null; + } + var n = Number.parseLocale(value); + return (isNaN(n) || n < this._minimum$1 || n > this._maximum$1) ? [ this._errorMessage$1 ] : null; + } +} + + +//////////////////////////////////////////////////////////////////////////////// +// Sys.Mvc.RegularExpressionValidator + +Sys.Mvc.RegularExpressionValidator = function Sys_Mvc_RegularExpressionValidator(errorMessage, pattern) { + /// <param name="errorMessage" type="String"> + /// </param> + /// <param name="pattern" type="String"> + /// </param> + /// <field name="_errorMessage$1" type="String"> + /// </field> + /// <field name="_pattern$1" type="String"> + /// </field> + Sys.Mvc.RegularExpressionValidator.initializeBase(this); + this._errorMessage$1 = errorMessage; + this._pattern$1 = pattern; +} +Sys.Mvc.RegularExpressionValidator._create = function Sys_Mvc_RegularExpressionValidator$_create(rule) { + /// <param name="rule" type="Sys.Mvc.JsonValidationRule"> + /// </param> + /// <returns type="Sys.Mvc.RegularExpressionValidator"></returns> + var pattern = rule.ValidationParameters['pattern']; + return new Sys.Mvc.RegularExpressionValidator(rule.ErrorMessage, pattern); +} +Sys.Mvc.RegularExpressionValidator.prototype = { + _errorMessage$1: null, + _pattern$1: null, + + validate: function Sys_Mvc_RegularExpressionValidator$validate(validation, elements, value) { + /// <param name="validation" type="Sys.Mvc.FieldValidation"> + /// </param> + /// <param name="elements" type="Array" elementType="Object" elementDomElement="true"> + /// </param> + /// <param name="value" type="String"> + /// </param> + /// <returns type="Array" elementType="String"></returns> + if (Sys.Mvc._validationUtil.stringIsNullOrEmpty(value)) { + return null; + } + var regExp = new RegExp(this._pattern$1); + var matches = regExp.exec(value); + return (!Sys.Mvc._validationUtil.arrayIsNullOrEmpty(matches) && matches[0].length === value.length) ? null : [ this._errorMessage$1 ]; + } +} + + +//////////////////////////////////////////////////////////////////////////////// +// Sys.Mvc.RequiredValidator + +Sys.Mvc.RequiredValidator = function Sys_Mvc_RequiredValidator(errorMessage) { + /// <param name="errorMessage" type="String"> + /// </param> + /// <field name="_errorMessage$1" type="String"> + /// </field> + Sys.Mvc.RequiredValidator.initializeBase(this); + this._errorMessage$1 = errorMessage; +} +Sys.Mvc.RequiredValidator._create = function Sys_Mvc_RequiredValidator$_create(rule) { + /// <param name="rule" type="Sys.Mvc.JsonValidationRule"> + /// </param> + /// <returns type="Sys.Mvc.RequiredValidator"></returns> + return new Sys.Mvc.RequiredValidator(rule.ErrorMessage); +} +Sys.Mvc.RequiredValidator._isRadioInputElement$1 = function Sys_Mvc_RequiredValidator$_isRadioInputElement$1(element) { + /// <param name="element" type="Object" domElement="true"> + /// </param> + /// <returns type="Boolean"></returns> + if (element.tagName.toUpperCase() === 'INPUT') { + var inputType = (element.type).toUpperCase(); + if (inputType === 'RADIO') { + return true; + } + } + return false; +} +Sys.Mvc.RequiredValidator._isSelectInputElement$1 = function Sys_Mvc_RequiredValidator$_isSelectInputElement$1(element) { + /// <param name="element" type="Object" domElement="true"> + /// </param> + /// <returns type="Boolean"></returns> + if (element.tagName.toUpperCase() === 'SELECT') { + return true; + } + return false; +} +Sys.Mvc.RequiredValidator._isTextualInputElement$1 = function Sys_Mvc_RequiredValidator$_isTextualInputElement$1(element) { + /// <param name="element" type="Object" domElement="true"> + /// </param> + /// <returns type="Boolean"></returns> + if (element.tagName.toUpperCase() === 'INPUT') { + var inputType = (element.type).toUpperCase(); + switch (inputType) { + case 'TEXT': + case 'PASSWORD': + case 'FILE': + return true; + } + } + if (element.tagName.toUpperCase() === 'TEXTAREA') { + return true; + } + return false; +} +Sys.Mvc.RequiredValidator.prototype = { + _errorMessage$1: null, + + validate: function Sys_Mvc_RequiredValidator$validate(validation, elements, value) { + /// <param name="validation" type="Sys.Mvc.FieldValidation"> + /// </param> + /// <param name="elements" type="Array" elementType="Object" elementDomElement="true"> + /// </param> + /// <param name="value" type="String"> + /// </param> + /// <returns type="Array" elementType="String"></returns> + if (!elements.length) { + return null; + } + var sampleElement = elements[0]; + if (Sys.Mvc.RequiredValidator._isTextualInputElement$1(sampleElement)) { + return this._validateTextualInput$1(sampleElement); + } + if (Sys.Mvc.RequiredValidator._isRadioInputElement$1(sampleElement)) { + return this._validateRadioInput$1(elements); + } + if (Sys.Mvc.RequiredValidator._isSelectInputElement$1(sampleElement)) { + return this._validateSelectInput$1((sampleElement).options); + } + return null; + }, + + _validateRadioInput$1: function Sys_Mvc_RequiredValidator$_validateRadioInput$1(elements) { + /// <param name="elements" type="Array" elementType="Object" elementDomElement="true"> + /// </param> + /// <returns type="Array" elementType="String"></returns> + for (var i = 0; i < elements.length; i++) { + var element = elements[i]; + if (element.checked) { + return null; + } + } + return [ this._errorMessage$1 ]; + }, + + _validateSelectInput$1: function Sys_Mvc_RequiredValidator$_validateSelectInput$1(optionElements) { + /// <param name="optionElements" type="DOMElementCollection"> + /// </param> + /// <returns type="Array" elementType="String"></returns> + for (var i = 0; i < optionElements.length; i++) { + var element = optionElements[i]; + if (element.selected) { + if (!Sys.Mvc._validationUtil.stringIsNullOrEmpty(element.value)) { + return null; + } + } + } + return [ this._errorMessage$1 ]; + }, + + _validateTextualInput$1: function Sys_Mvc_RequiredValidator$_validateTextualInput$1(element) { + /// <param name="element" type="Object" domElement="true"> + /// </param> + /// <returns type="Array" elementType="String"></returns> + return (Sys.Mvc._validationUtil.stringIsNullOrEmpty(element.value)) ? [ this._errorMessage$1 ] : null; + } +} + + +//////////////////////////////////////////////////////////////////////////////// +// Sys.Mvc.StringLengthValidator + +Sys.Mvc.StringLengthValidator = function Sys_Mvc_StringLengthValidator(errorMessage, minLength, maxLength) { + /// <param name="errorMessage" type="String"> + /// </param> + /// <param name="minLength" type="Number" integer="true"> + /// </param> + /// <param name="maxLength" type="Number" integer="true"> + /// </param> + /// <field name="_errorMessage$1" type="String"> + /// </field> + /// <field name="_maxLength$1" type="Number" integer="true"> + /// </field> + /// <field name="_minLength$1" type="Number" integer="true"> + /// </field> + Sys.Mvc.StringLengthValidator.initializeBase(this); + this._errorMessage$1 = errorMessage; + this._minLength$1 = minLength; + this._maxLength$1 = maxLength; +} +Sys.Mvc.StringLengthValidator._create = function Sys_Mvc_StringLengthValidator$_create(rule) { + /// <param name="rule" type="Sys.Mvc.JsonValidationRule"> + /// </param> + /// <returns type="Sys.Mvc.StringLengthValidator"></returns> + var minLength = rule.ValidationParameters['minimumLength']; + var maxLength = rule.ValidationParameters['maximumLength']; + return new Sys.Mvc.StringLengthValidator(rule.ErrorMessage, minLength, maxLength); +} +Sys.Mvc.StringLengthValidator.prototype = { + _errorMessage$1: null, + _maxLength$1: 0, + _minLength$1: 0, + + validate: function Sys_Mvc_StringLengthValidator$validate(validation, elements, value) { + /// <param name="validation" type="Sys.Mvc.FieldValidation"> + /// </param> + /// <param name="elements" type="Array" elementType="Object" elementDomElement="true"> + /// </param> + /// <param name="value" type="String"> + /// </param> + /// <returns type="Array" elementType="String"></returns> + if (Sys.Mvc._validationUtil.stringIsNullOrEmpty(value)) { + return null; + } + return (this._minLength$1 <= value.length && value.length <= this._maxLength$1) ? null : [ this._errorMessage$1 ]; + } +} + + +//////////////////////////////////////////////////////////////////////////////// +// Sys.Mvc._validationUtil + +Sys.Mvc._validationUtil = function Sys_Mvc__validationUtil() { +} +Sys.Mvc._validationUtil.arrayIsNullOrEmpty = function Sys_Mvc__validationUtil$arrayIsNullOrEmpty(array) { + /// <param name="array" type="Array" elementType="Object"> + /// </param> + /// <returns type="Boolean"></returns> + return (!array || !array.length); +} +Sys.Mvc._validationUtil.stringIsNullOrEmpty = function Sys_Mvc__validationUtil$stringIsNullOrEmpty(value) { + /// <param name="value" type="String"> + /// </param> + /// <returns type="Boolean"></returns> + return (!value || !value.length); +} +Sys.Mvc._validationUtil.elementSupportsEvent = function Sys_Mvc__validationUtil$elementSupportsEvent(element, eventAttributeName) { + /// <param name="element" type="Object" domElement="true"> + /// </param> + /// <param name="eventAttributeName" type="String"> + /// </param> + /// <returns type="Boolean"></returns> + return (eventAttributeName in element); +} +Sys.Mvc._validationUtil.removeAllChildren = function Sys_Mvc__validationUtil$removeAllChildren(element) { + /// <param name="element" type="Object" domElement="true"> + /// </param> + while (element.firstChild) { + element.removeChild(element.firstChild); + } +} +Sys.Mvc._validationUtil.setInnerText = function Sys_Mvc__validationUtil$setInnerText(element, innerText) { + /// <param name="element" type="Object" domElement="true"> + /// </param> + /// <param name="innerText" type="String"> + /// </param> + var textNode = document.createTextNode(innerText); + Sys.Mvc._validationUtil.removeAllChildren(element); + element.appendChild(textNode); +} + + +//////////////////////////////////////////////////////////////////////////////// +// Sys.Mvc.Validator + +Sys.Mvc.Validator = function Sys_Mvc_Validator() { +} + + +//////////////////////////////////////////////////////////////////////////////// +// Sys.Mvc.ValidatorRegistry + +Sys.Mvc.ValidatorRegistry = function Sys_Mvc_ValidatorRegistry() { + /// <field name="_validators" type="Object" static="true"> + /// </field> +} +Sys.Mvc.ValidatorRegistry.get_creators = function Sys_Mvc_ValidatorRegistry$get_creators() { + /// <value type="Object"></value> + return Sys.Mvc.ValidatorRegistry._validators; +} +Sys.Mvc.ValidatorRegistry.getValidator = function Sys_Mvc_ValidatorRegistry$getValidator(rule) { + /// <param name="rule" type="Sys.Mvc.JsonValidationRule"> + /// </param> + /// <returns type="Sys.Mvc.Validator"></returns> + var creator = Sys.Mvc.ValidatorRegistry._validators[rule.ValidationType]; + return (creator) ? creator(rule) : null; +} +Sys.Mvc.ValidatorRegistry._getDefaultValidators = function Sys_Mvc_ValidatorRegistry$_getDefaultValidators() { + /// <returns type="Object"></returns> + return { required: Function.createDelegate(null, Sys.Mvc.RequiredValidator._create), stringLength: Function.createDelegate(null, Sys.Mvc.StringLengthValidator._create), regularExpression: Function.createDelegate(null, Sys.Mvc.RegularExpressionValidator._create), range: Function.createDelegate(null, Sys.Mvc.RangeValidator._create) }; +} + + Sys.Mvc.AjaxContext.registerClass('Sys.Mvc.AjaxContext'); Sys.Mvc.AsyncHyperlink.registerClass('Sys.Mvc.AsyncHyperlink'); +Sys.Mvc.FieldValidation.registerClass('Sys.Mvc.FieldValidation'); +Sys.Mvc.FormValidation.registerClass('Sys.Mvc.FormValidation'); Sys.Mvc.MvcHelpers.registerClass('Sys.Mvc.MvcHelpers'); Sys.Mvc.AsyncForm.registerClass('Sys.Mvc.AsyncForm'); +Sys.Mvc.Validator.registerClass('Sys.Mvc.Validator'); +Sys.Mvc.RangeValidator.registerClass('Sys.Mvc.RangeValidator', Sys.Mvc.Validator); +Sys.Mvc.RegularExpressionValidator.registerClass('Sys.Mvc.RegularExpressionValidator', Sys.Mvc.Validator); +Sys.Mvc.RequiredValidator.registerClass('Sys.Mvc.RequiredValidator', Sys.Mvc.Validator); +Sys.Mvc.StringLengthValidator.registerClass('Sys.Mvc.StringLengthValidator', Sys.Mvc.Validator); +Sys.Mvc._validationUtil.registerClass('Sys.Mvc._validationUtil'); +Sys.Mvc.ValidatorRegistry.registerClass('Sys.Mvc.ValidatorRegistry'); +Sys.Mvc.FieldValidation._hasTextChangedTag = '__MVC_HasTextChanged'; +Sys.Mvc.FieldValidation._hasValidationFiredTag = '__MVC_HasValidationFired'; +Sys.Mvc.FieldValidation._inputElementErrorCss = 'input-validation-error'; +Sys.Mvc.FieldValidation._inputElementValidCss = 'input-validation-valid'; +Sys.Mvc.FieldValidation._validationMessageErrorCss = 'field-validation-error'; +Sys.Mvc.FieldValidation._validationMessageValidCss = 'field-validation-valid'; +Sys.Mvc.FormValidation._validationSummaryErrorCss = 'validation-summary-errors'; +Sys.Mvc.FormValidation._validationSummaryValidCss = 'validation-summary-valid'; +Sys.Mvc.FormValidation._formValidationTag = '__MVC_FormValidation'; +Sys.Mvc.ValidatorRegistry._validators = Sys.Mvc.ValidatorRegistry._getDefaultValidators(); // ---- Do not remove this footer ---- // Generated using Script# v0.5.0.0 (http://projects.nikhilk.net) diff --git a/samples/OpenIdProviderMvc/Scripts/MicrosoftMvcAjax.js b/samples/OpenIdProviderMvc/Scripts/MicrosoftMvcAjax.js index 6d6a7e8..7bdc08b 100644 --- a/samples/OpenIdProviderMvc/Scripts/MicrosoftMvcAjax.js +++ b/samples/OpenIdProviderMvc/Scripts/MicrosoftMvcAjax.js @@ -5,19 +5,60 @@ Type.registerNamespace('Sys.Mvc');Sys.Mvc.$create_AjaxOptions=function(){return {};} Sys.Mvc.InsertionMode=function(){};Sys.Mvc.InsertionMode.prototype = {replace:0,insertBefore:1,insertAfter:2} -Sys.Mvc.InsertionMode.registerEnum('Sys.Mvc.InsertionMode',false);Sys.Mvc.AjaxContext=function(request,updateTarget,loadingElement,insertionMode){this.$3=request;this.$4=updateTarget;this.$1=loadingElement;this.$0=insertionMode;} -Sys.Mvc.AjaxContext.prototype={$0:0,$1:null,$2:null,$3:null,$4:null,get_data:function(){if(this.$2){return this.$2.get_responseData();}else{return null;}},get_insertionMode:function(){return this.$0;},get_loadingElement:function(){return this.$1;},get_response:function(){return this.$2;},set_response:function(value){this.$2=value;return value;},get_request:function(){return this.$3;},get_updateTarget:function(){return this.$4;}} +Sys.Mvc.InsertionMode.registerEnum('Sys.Mvc.InsertionMode',false);Sys.Mvc.$create_JsonValidationField=function(){return {};} +Sys.Mvc.$create_JsonValidationOptions=function(){return {};} +Sys.Mvc.$create_JsonValidationRule=function(){return {};} +Sys.Mvc.AjaxContext=function(request,updateTarget,loadingElement,insertionMode){this.$3=request;this.$4=updateTarget;this.$1=loadingElement;this.$0=insertionMode;} +Sys.Mvc.AjaxContext.prototype={$0:0,$1:null,$2:null,$3:null,$4:null,get_data:function(){if(this.$2){return this.$2.get_responseData();}else{return null;}},get_insertionMode:function(){return this.$0;},get_loadingElement:function(){return this.$1;},get_object:function(){var $0=this.get_response();return ($0)?$0.get_object():null;},get_response:function(){return this.$2;},set_response:function(value){this.$2=value;return value;},get_request:function(){return this.$3;},get_updateTarget:function(){return this.$4;}} Sys.Mvc.AsyncHyperlink=function(){} -Sys.Mvc.AsyncHyperlink.handleClick=function(anchor,evt,ajaxOptions){evt.preventDefault();Sys.Mvc.MvcHelpers.$1(anchor.href,'post','',anchor,ajaxOptions);} +Sys.Mvc.AsyncHyperlink.handleClick=function(anchor,evt,ajaxOptions){evt.preventDefault();Sys.Mvc.MvcHelpers.$2(anchor.href,'post','',anchor,ajaxOptions);} +Sys.Mvc.FieldValidation=function(formValidation,fieldElements,validationMessageElement,replaceValidationMessageContents){this.$A=[];this.$F=[];this.$C=formValidation;this.$B=fieldElements;this.$E=validationMessageElement;this.$D=replaceValidationMessageContents;this.$6=Function.createDelegate(this,this.$13);this.$7=Function.createDelegate(this,this.$14);this.$8=Function.createDelegate(this,this.$12);this.$9=Function.createDelegate(this,this.$15);} +Sys.Mvc.FieldValidation.prototype={$6:null,$7:null,$8:null,$9:null,$B:null,$C:null,$D:false,$E:null,addError:function(message){this.addErrors([message]);},addErrors:function(messages){if(!Sys.Mvc._ValidationUtil.$0(messages)){Array.addRange(this.$A,messages);this.$17();}},addValidator:function(validator){Array.add(this.$F,validator);},disableDynamicValidation:function(){for(var $0=0;$0<this.$B.length;$0++){var $1=this.$B[$0];if(Sys.Mvc._ValidationUtil.$2($1,'onpropertychange')){Sys.UI.DomEvent.removeHandler($1,'propertychange',this.$9);}else{Sys.UI.DomEvent.removeHandler($1,'input',this.$8);}Sys.UI.DomEvent.removeHandler($1,'change',this.$7);Sys.UI.DomEvent.removeHandler($1,'blur',this.$6);}},$10:function(){if(this.$E){if(this.$D){Sys.Mvc._ValidationUtil.$4(this.$E,this.$A[0]);}Sys.UI.DomElement.removeCssClass(this.$E,'field-validation-valid');Sys.UI.DomElement.addCssClass(this.$E,'field-validation-error');}for(var $0=0;$0<this.$B.length;$0++){var $1=this.$B[$0];Sys.UI.DomElement.removeCssClass($1,'input-validation-valid');Sys.UI.DomElement.addCssClass($1,'input-validation-error');}},$11:function(){if(this.$E){if(this.$D){Sys.Mvc._ValidationUtil.$4(this.$E,'');}Sys.UI.DomElement.removeCssClass(this.$E,'field-validation-error');Sys.UI.DomElement.addCssClass(this.$E,'field-validation-valid');}for(var $0=0;$0<this.$B.length;$0++){var $1=this.$B[$0];Sys.UI.DomElement.removeCssClass($1,'input-validation-error');Sys.UI.DomElement.addCssClass($1,'input-validation-valid');}},$12:function($p0){$p0.target['__MVC_HasTextChanged'] = true;if($p0.target['__MVC_HasValidationFired']){this.validate();}},$13:function($p0){if($p0.target['__MVC_HasTextChanged']||$p0.target['__MVC_HasValidationFired']){this.validate();}},$14:function($p0){$p0.target['__MVC_HasTextChanged'] = true;},$15:function($p0){if($p0.rawEvent.propertyName==='value'){$p0.target['__MVC_HasTextChanged'] = true;if($p0.target['__MVC_HasValidationFired']){this.validate();}}},enableDynamicValidation:function(){for(var $0=0;$0<this.$B.length;$0++){var $1=this.$B[$0];if(Sys.Mvc._ValidationUtil.$2($1,'onpropertychange')){Sys.UI.DomEvent.addHandler($1,'propertychange',this.$9);}else{Sys.UI.DomEvent.addHandler($1,'input',this.$8);}Sys.UI.DomEvent.addHandler($1,'change',this.$7);Sys.UI.DomEvent.addHandler($1,'blur',this.$6);}},$16:function(){return (this.$B.length>0)?this.$B[0].value:null;},$17:function(){if(!this.$A.length){this.$11();}else{this.$10();}},removeAllErrors:function(){Array.clear(this.$A);this.$17();},validate:function(){var $0=[];for(var $1=0;$1<this.$F.length;$1++){var $2=this.$F[$1];var $3=$2.validate(this,this.$B,this.$16());if($3){Array.addRange($0,$3);}}for(var $4=0;$4<this.$B.length;$4++){var $5=this.$B[$4];$5['__MVC_HasValidationFired'] = true;}this.removeAllErrors();this.addErrors($0);return $0;}} +Sys.Mvc.FormValidation=function(formElement,validationSummaryElement){this.$4=[];this.$5=[];this.$6=formElement;this.$7=validationSummaryElement;formElement['__MVC_FormValidation'] = this;if(validationSummaryElement){var $0=validationSummaryElement.getElementsByTagName('ul');if($0.length>0){this.$8=$0[0];}}this.$3=Function.createDelegate(this,this.$B);} +Sys.Mvc.FormValidation.enableClientValidation=function(options,userState){Sys.Application.add_load(Function.createDelegate(null,function($p1_0,$p1_1){ +Sys.Mvc.FormValidation.parseJsonOptions(options);}));} +Sys.Mvc.FormValidation.$C=function($p0,$p1){var $0=[];var $1=document.getElementsByName($p1);for(var $2=0;$2<$1.length;$2++){var $3=$1[$2];if(Sys.Mvc.FormValidation.$D($p0,$3)){Array.add($0,$3);}}return $0;} +Sys.Mvc.FormValidation.getValidationForForm=function(formElement){return formElement['__MVC_FormValidation'];} +Sys.Mvc.FormValidation.$D=function($p0,$p1){while($p1){if($p0===$p1){return true;}$p1=$p1.parentNode;}return false;} +Sys.Mvc.FormValidation.parseJsonOptions=function(options){var $0=$get(options.FormId);var $1=(!Sys.Mvc._ValidationUtil.$1(options.ValidationSummaryId))?$get(options.ValidationSummaryId):null;var $2=new Sys.Mvc.FormValidation($0,$1);$2.enableDynamicValidation();for(var $3=0;$3<options.Fields.length;$3++){var $4=options.Fields[$3];var $5=Sys.Mvc.FormValidation.$C($0,$4.FieldName);var $6=(!Sys.Mvc._ValidationUtil.$1($4.ValidationMessageId))?$get($4.ValidationMessageId):null;var $7=new Sys.Mvc.FieldValidation($2,$5,$6,$4.ReplaceValidationMessageContents);for(var $8=0;$8<$4.ValidationRules.length;$8++){var $9=$4.ValidationRules[$8];var $A=Sys.Mvc.ValidatorRegistry.getValidator($9);if($A){$7.addValidator($A);}}$7.enableDynamicValidation();$2.addFieldValidation($7);}return $2;} +Sys.Mvc.FormValidation.prototype={$3:null,$6:null,$7:null,$8:null,addError:function(message){this.addErrors([message]);},addErrors:function(messages){if(!Sys.Mvc._ValidationUtil.$0(messages)){Array.addRange(this.$4,messages);this.$E();}},addFieldValidation:function(validation){Array.add(this.$5,validation);},disableDynamicValidation:function(){Sys.UI.DomEvent.removeHandler(this.$6,'submit',this.$3);},$9:function(){if(this.$7){if(this.$8){Sys.Mvc._ValidationUtil.$3(this.$8);for(var $0=0;$0<this.$4.length;$0++){var $1=document.createElement('li');Sys.Mvc._ValidationUtil.$4($1,this.$4[$0]);this.$8.appendChild($1);}}Sys.UI.DomElement.removeCssClass(this.$7,'validation-summary-valid');Sys.UI.DomElement.addCssClass(this.$7,'validation-summary-errors');}},$A:function(){if(this.$7){if(this.$8){this.$8.innerHTML='';}Sys.UI.DomElement.removeCssClass(this.$7,'validation-summary-errors');Sys.UI.DomElement.addCssClass(this.$7,'validation-summary-valid');}},enableDynamicValidation:function(){Sys.UI.DomEvent.addHandler(this.$6,'submit',this.$3);},$B:function($p0){var $0=$p0.target;var $1=this.validate(true);if(!Sys.Mvc._ValidationUtil.$0($1)){$p0.preventDefault();}},$E:function(){if(!this.$4.length){this.$A();}else{this.$9();}},removeAllErrors:function(){Array.clear(this.$4);this.$E();},validate:function(replaceValidationSummary){var $0=[];for(var $1=0;$1<this.$5.length;$1++){var $2=this.$5[$1];var $3=$2.validate();if($3){Array.addRange($0,$3);}}if(replaceValidationSummary){this.removeAllErrors();this.addErrors($0);}return $0;}} Sys.Mvc.MvcHelpers=function(){} -Sys.Mvc.MvcHelpers.$0=function($p0){var $0=$p0.elements;var $1=new Sys.StringBuilder();var $2=$0.length;for(var $3=0;$3<$2;$3++){var $4=$0[$3];var $5=$4.name;if(!$5||!$5.length){continue;}var $6=$4.tagName.toUpperCase();if($6==='INPUT'){var $7=$4;var $8=$7.type;if(($8==='text')||($8==='password')||($8==='hidden')||((($8==='checkbox')||($8==='radio'))&&$4.checked)){$1.append(encodeURIComponent($5));$1.append('=');$1.append(encodeURIComponent($7.value));$1.append('&');}}else if($6==='SELECT'){var $9=$4;var $A=$9.options.length;for(var $B=0;$B<$A;$B++){var $C=$9.options[$B];if($C.selected){$1.append(encodeURIComponent($5));$1.append('=');$1.append(encodeURIComponent($C.value));$1.append('&');}}}else if($6==='TEXTAREA'){$1.append(encodeURIComponent($5));$1.append('=');$1.append(encodeURIComponent(($4.value)));$1.append('&');}}return $1.toString();} -Sys.Mvc.MvcHelpers.$1=function($p0,$p1,$p2,$p3,$p4){if($p4.confirm){if(!confirm($p4.confirm)){return;}}if($p4.url){$p0=$p4.url;}if($p4.httpMethod){$p1=$p4.httpMethod;}if($p2.length>0&&!$p2.endsWith('&')){$p2+='&';}$p2+='X-Requested-With=XMLHttpRequest';var $0='';if($p1.toUpperCase()==='GET'||$p1.toUpperCase()==='DELETE'){if($p0.indexOf('?')>-1){if(!$p0.endsWith('&')){$p0+='&';}$p0+=$p2;}else{$p0+='?';$p0+=$p2;}}else{$0=$p2;}var $1=new Sys.Net.WebRequest();$1.set_url($p0);$1.set_httpVerb($p1);$1.set_body($0);if($p1.toUpperCase()==='PUT'){$1.get_headers()['Content-Type']='application/x-www-form-urlencoded;';}$1.get_headers()['X-Requested-With']='XMLHttpRequest';var $2=null;if($p4.updateTargetId){$2=$get($p4.updateTargetId);}var $3=null;if($p4.loadingElementId){$3=$get($p4.loadingElementId);}var $4=new Sys.Mvc.AjaxContext($1,$2,$3,$p4.insertionMode);var $5=true;if($p4.onBegin){$5=$p4.onBegin($4)!==false;}if($3){Sys.UI.DomElement.setVisible($4.get_loadingElement(),true);}if($5){$1.add_completed(Function.createDelegate(null,function($p1_0){ -Sys.Mvc.MvcHelpers.$2($1,$p4,$4);}));$1.invoke();}} -Sys.Mvc.MvcHelpers.$2=function($p0,$p1,$p2){$p2.set_response($p0.get_executor());if($p1.onComplete&&$p1.onComplete($p2)===false){return;}var $0=$p2.get_response().get_statusCode();if(($0>=200&&$0<300)||$0===304||$0===1223){if($0!==204&&$0!==304&&$0!==1223){var $1=$p2.get_response().getResponseHeader('Content-Type');if(($1)&&($1.indexOf('application/x-javascript')!==-1)){eval($p2.get_data());}else{Sys.Mvc.MvcHelpers.updateDomElement($p2.get_updateTarget(),$p2.get_insertionMode(),$p2.get_data());}}if($p1.onSuccess){$p1.onSuccess($p2);}}else{if($p1.onFailure){$p1.onFailure($p2);}}if($p2.get_loadingElement()){Sys.UI.DomElement.setVisible($p2.get_loadingElement(),false);}} +Sys.Mvc.MvcHelpers.$0=function($p0,$p1,$p2){if($p0.disabled){return null;}var $0=$p0.name;if($0){var $1=$p0.tagName.toUpperCase();var $2=encodeURIComponent($0);var $3=$p0;if($1==='INPUT'){var $4=$3.type;if($4==='submit'){return $2+'='+encodeURIComponent($3.value);}else if($4==='image'){return $2+'.x='+$p1+'&'+$2+'.y='+$p2;}}else if(($1==='BUTTON')&&($0.length)&&($3.type==='submit')){return $2+'='+encodeURIComponent($3.value);}}return null;} +Sys.Mvc.MvcHelpers.$1=function($p0){var $0=$p0.elements;var $1=new Sys.StringBuilder();var $2=$0.length;for(var $4=0;$4<$2;$4++){var $5=$0[$4];var $6=$5.name;if(!$6||!$6.length){continue;}var $7=$5.tagName.toUpperCase();if($7==='INPUT'){var $8=$5;var $9=$8.type;if(($9==='text')||($9==='password')||($9==='hidden')||((($9==='checkbox')||($9==='radio'))&&$5.checked)){$1.append(encodeURIComponent($6));$1.append('=');$1.append(encodeURIComponent($8.value));$1.append('&');}}else if($7==='SELECT'){var $A=$5;var $B=$A.options.length;for(var $C=0;$C<$B;$C++){var $D=$A.options[$C];if($D.selected){$1.append(encodeURIComponent($6));$1.append('=');$1.append(encodeURIComponent($D.value));$1.append('&');}}}else if($7==='TEXTAREA'){$1.append(encodeURIComponent($6));$1.append('=');$1.append(encodeURIComponent(($5.value)));$1.append('&');}}var $3=$p0._additionalInput;if($3){$1.append($3);$1.append('&');}return $1.toString();} +Sys.Mvc.MvcHelpers.$2=function($p0,$p1,$p2,$p3,$p4){if($p4.confirm){if(!confirm($p4.confirm)){return;}}if($p4.url){$p0=$p4.url;}if($p4.httpMethod){$p1=$p4.httpMethod;}if($p2.length>0&&!$p2.endsWith('&')){$p2+='&';}$p2+='X-Requested-With=XMLHttpRequest';var $0=$p1.toUpperCase();var $1=($0==='GET'||$0==='POST');if(!$1){$p2+='&';$p2+='X-HTTP-Method-Override='+$0;}var $2='';if($0==='GET'||$0==='DELETE'){if($p0.indexOf('?')>-1){if(!$p0.endsWith('&')){$p0+='&';}$p0+=$p2;}else{$p0+='?';$p0+=$p2;}}else{$2=$p2;}var $3=new Sys.Net.WebRequest();$3.set_url($p0);if($1){$3.set_httpVerb($p1);}else{$3.set_httpVerb('POST');$3.get_headers()['X-HTTP-Method-Override']=$0;}$3.set_body($2);if($p1.toUpperCase()==='PUT'){$3.get_headers()['Content-Type']='application/x-www-form-urlencoded;';}$3.get_headers()['X-Requested-With']='XMLHttpRequest';var $4=null;if($p4.updateTargetId){$4=$get($p4.updateTargetId);}var $5=null;if($p4.loadingElementId){$5=$get($p4.loadingElementId);}var $6=new Sys.Mvc.AjaxContext($3,$4,$5,$p4.insertionMode);var $7=true;if($p4.onBegin){$7=$p4.onBegin($6)!==false;}if($5){Sys.UI.DomElement.setVisible($6.get_loadingElement(),true);}if($7){$3.add_completed(Function.createDelegate(null,function($p1_0){ +Sys.Mvc.MvcHelpers.$3($3,$p4,$6);}));$3.invoke();}} +Sys.Mvc.MvcHelpers.$3=function($p0,$p1,$p2){$p2.set_response($p0.get_executor());if($p1.onComplete&&$p1.onComplete($p2)===false){return;}var $0=$p2.get_response().get_statusCode();if(($0>=200&&$0<300)||$0===304||$0===1223){if($0!==204&&$0!==304&&$0!==1223){var $1=$p2.get_response().getResponseHeader('Content-Type');if(($1)&&($1.indexOf('application/x-javascript')!==-1)){eval($p2.get_data());}else{Sys.Mvc.MvcHelpers.updateDomElement($p2.get_updateTarget(),$p2.get_insertionMode(),$p2.get_data());}}if($p1.onSuccess){$p1.onSuccess($p2);}}else{if($p1.onFailure){$p1.onFailure($p2);}}if($p2.get_loadingElement()){Sys.UI.DomElement.setVisible($p2.get_loadingElement(),false);}} Sys.Mvc.MvcHelpers.updateDomElement=function(target,insertionMode,content){if(target){switch(insertionMode){case 0:target.innerHTML=content;break;case 1:if(content&&content.length>0){target.innerHTML=content+target.innerHTML.trimStart();}break;case 2:if(content&&content.length>0){target.innerHTML=target.innerHTML.trimEnd()+content;}break;}}} Sys.Mvc.AsyncForm=function(){} -Sys.Mvc.AsyncForm.handleSubmit=function(form,evt,ajaxOptions){evt.preventDefault();var $0=Sys.Mvc.MvcHelpers.$0(form);Sys.Mvc.MvcHelpers.$1(form.action,form.method||'post',$0,form,ajaxOptions);} -Sys.Mvc.AjaxContext.registerClass('Sys.Mvc.AjaxContext');Sys.Mvc.AsyncHyperlink.registerClass('Sys.Mvc.AsyncHyperlink');Sys.Mvc.MvcHelpers.registerClass('Sys.Mvc.MvcHelpers');Sys.Mvc.AsyncForm.registerClass('Sys.Mvc.AsyncForm'); +Sys.Mvc.AsyncForm.handleClick=function(form,evt){var $0=Sys.Mvc.MvcHelpers.$0(evt.target,evt.offsetX,evt.offsetY);form._additionalInput = $0;} +Sys.Mvc.AsyncForm.handleSubmit=function(form,evt,ajaxOptions){evt.preventDefault();var $0=Sys.Mvc.MvcHelpers.$1(form);Sys.Mvc.MvcHelpers.$2(form.action,form.method||'post',$0,form,ajaxOptions);} +Sys.Mvc.RangeValidator=function(errorMessage,minimum,maximum){Sys.Mvc.RangeValidator.initializeBase(this);this.$0=errorMessage;this.$1=minimum;this.$2=maximum;} +Sys.Mvc.RangeValidator.$3=function($p0){var $0=$p0.ValidationParameters['minimum'];var $1=$p0.ValidationParameters['maximum'];return new Sys.Mvc.RangeValidator($p0.ErrorMessage,$0,$1);} +Sys.Mvc.RangeValidator.prototype={$0:null,$1:null,$2:null,validate:function(validation,elements,value){if(Sys.Mvc._ValidationUtil.$1(value)){return null;}var $0=Number.parseLocale(value);return (isNaN($0)||$0<this.$1||$0>this.$2)?[this.$0]:null;}} +Sys.Mvc.RegularExpressionValidator=function(errorMessage,pattern){Sys.Mvc.RegularExpressionValidator.initializeBase(this);this.$0=errorMessage;this.$1=pattern;} +Sys.Mvc.RegularExpressionValidator.$2=function($p0){var $0=$p0.ValidationParameters['pattern'];return new Sys.Mvc.RegularExpressionValidator($p0.ErrorMessage,$0);} +Sys.Mvc.RegularExpressionValidator.prototype={$0:null,$1:null,validate:function(validation,elements,value){if(Sys.Mvc._ValidationUtil.$1(value)){return null;}var $0=new RegExp(this.$1);var $1=$0.exec(value);return (!Sys.Mvc._ValidationUtil.$0($1)&&$1[0].length===value.length)?null:[this.$0];}} +Sys.Mvc.RequiredValidator=function(errorMessage){Sys.Mvc.RequiredValidator.initializeBase(this);this.$0=errorMessage;} +Sys.Mvc.RequiredValidator.$1=function($p0){return new Sys.Mvc.RequiredValidator($p0.ErrorMessage);} +Sys.Mvc.RequiredValidator.$2=function($p0){if($p0.tagName.toUpperCase()==='INPUT'){var $0=($p0.type).toUpperCase();if($0==='RADIO'){return true;}}return false;} +Sys.Mvc.RequiredValidator.$3=function($p0){if($p0.tagName.toUpperCase()==='SELECT'){return true;}return false;} +Sys.Mvc.RequiredValidator.$4=function($p0){if($p0.tagName.toUpperCase()==='INPUT'){var $0=($p0.type).toUpperCase();switch($0){case 'TEXT':case 'PASSWORD':case 'FILE':return true;}}if($p0.tagName.toUpperCase()==='TEXTAREA'){return true;}return false;} +Sys.Mvc.RequiredValidator.prototype={$0:null,validate:function(validation,elements,value){if(!elements.length){return null;}var $0=elements[0];if(Sys.Mvc.RequiredValidator.$4($0)){return this.$7($0);}if(Sys.Mvc.RequiredValidator.$2($0)){return this.$5(elements);}if(Sys.Mvc.RequiredValidator.$3($0)){return this.$6(($0).options);}return null;},$5:function($p0){for(var $0=0;$0<$p0.length;$0++){var $1=$p0[$0];if($1.checked){return null;}}return [this.$0];},$6:function($p0){for(var $0=0;$0<$p0.length;$0++){var $1=$p0[$0];if($1.selected){if(!Sys.Mvc._ValidationUtil.$1($1.value)){return null;}}}return [this.$0];},$7:function($p0){return (Sys.Mvc._ValidationUtil.$1($p0.value))?[this.$0]:null;}} +Sys.Mvc.StringLengthValidator=function(errorMessage,minLength,maxLength){Sys.Mvc.StringLengthValidator.initializeBase(this);this.$0=errorMessage;this.$2=minLength;this.$1=maxLength;} +Sys.Mvc.StringLengthValidator.$3=function($p0){var $0=$p0.ValidationParameters['minimumLength'];var $1=$p0.ValidationParameters['maximumLength'];return new Sys.Mvc.StringLengthValidator($p0.ErrorMessage,$0,$1);} +Sys.Mvc.StringLengthValidator.prototype={$0:null,$1:0,$2:0,validate:function(validation,elements,value){if(Sys.Mvc._ValidationUtil.$1(value)){return null;}return (this.$2<=value.length&&value.length<=this.$1)?null:[this.$0];}} +Sys.Mvc._ValidationUtil=function(){} +Sys.Mvc._ValidationUtil.$0=function($p0){return (!$p0||!$p0.length);} +Sys.Mvc._ValidationUtil.$1=function($p0){return (!$p0||!$p0.length);} +Sys.Mvc._ValidationUtil.$2=function($p0,$p1){return ($p1 in $p0);} +Sys.Mvc._ValidationUtil.$3=function($p0){while($p0.firstChild){$p0.removeChild($p0.firstChild);}} +Sys.Mvc._ValidationUtil.$4=function($p0,$p1){var $0=document.createTextNode($p1);Sys.Mvc._ValidationUtil.$3($p0);$p0.appendChild($0);} +Sys.Mvc.Validator=function(){} +Sys.Mvc.ValidatorRegistry=function(){} +Sys.Mvc.ValidatorRegistry.get_creators=function(){return Sys.Mvc.ValidatorRegistry.$0;} +Sys.Mvc.ValidatorRegistry.getValidator=function(rule){var $0=Sys.Mvc.ValidatorRegistry.$0[rule.ValidationType];return ($0)?$0(rule):null;} +Sys.Mvc.ValidatorRegistry.$1=function(){return {required:Function.createDelegate(null,Sys.Mvc.RequiredValidator.$1),stringLength:Function.createDelegate(null,Sys.Mvc.StringLengthValidator.$3),regularExpression:Function.createDelegate(null,Sys.Mvc.RegularExpressionValidator.$2),range:Function.createDelegate(null,Sys.Mvc.RangeValidator.$3)};} +Sys.Mvc.AjaxContext.registerClass('Sys.Mvc.AjaxContext');Sys.Mvc.AsyncHyperlink.registerClass('Sys.Mvc.AsyncHyperlink');Sys.Mvc.FieldValidation.registerClass('Sys.Mvc.FieldValidation');Sys.Mvc.FormValidation.registerClass('Sys.Mvc.FormValidation');Sys.Mvc.MvcHelpers.registerClass('Sys.Mvc.MvcHelpers');Sys.Mvc.AsyncForm.registerClass('Sys.Mvc.AsyncForm');Sys.Mvc.Validator.registerClass('Sys.Mvc.Validator');Sys.Mvc.RangeValidator.registerClass('Sys.Mvc.RangeValidator',Sys.Mvc.Validator);Sys.Mvc.RegularExpressionValidator.registerClass('Sys.Mvc.RegularExpressionValidator',Sys.Mvc.Validator);Sys.Mvc.RequiredValidator.registerClass('Sys.Mvc.RequiredValidator',Sys.Mvc.Validator);Sys.Mvc.StringLengthValidator.registerClass('Sys.Mvc.StringLengthValidator',Sys.Mvc.Validator);Sys.Mvc._ValidationUtil.registerClass('Sys.Mvc._ValidationUtil');Sys.Mvc.ValidatorRegistry.registerClass('Sys.Mvc.ValidatorRegistry');Sys.Mvc.ValidatorRegistry.$0=Sys.Mvc.ValidatorRegistry.$1(); // ---- Do not remove this footer ---- // Generated using Script# v0.5.0.0 (http://projects.nikhilk.net) // ----------------------------------- |