diff options
Diffstat (limited to 'samples/OpenIdProviderMvc/Scripts/MicrosoftMvcAjax.debug.js')
-rw-r--r-- | samples/OpenIdProviderMvc/Scripts/MicrosoftMvcAjax.debug.js | 875 |
1 files changed, 873 insertions, 2 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) |