diff Agendas/trunk/src/Agendas.Web/Scripts/MicrosoftMvcAjax.debug.js @ 10:c62b77fc33f4

website inicial
author nelo@MTEySS.neluz.int
date Sun, 13 Mar 2011 18:51:06 -0300
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Agendas/trunk/src/Agendas.Web/Scripts/MicrosoftMvcAjax.debug.js	Sun Mar 13 18:51:06 2011 -0300
@@ -0,0 +1,408 @@
+//!----------------------------------------------------------
+//! Copyright (C) Microsoft Corporation. All rights reserved.
+//!----------------------------------------------------------
+//! MicrosoftMvcAjax.js
+
+Type.registerNamespace('Sys.Mvc');
+
+////////////////////////////////////////////////////////////////////////////////
+// Sys.Mvc.AjaxOptions
+
+Sys.Mvc.$create_AjaxOptions = function Sys_Mvc_AjaxOptions() { return {}; }
+
+
+////////////////////////////////////////////////////////////////////////////////
+// Sys.Mvc.InsertionMode
+
+Sys.Mvc.InsertionMode = function() { 
+    /// <field name="replace" type="Number" integer="true" static="true">
+    /// </field>
+    /// <field name="insertBefore" type="Number" integer="true" static="true">
+    /// </field>
+    /// <field name="insertAfter" type="Number" integer="true" static="true">
+    /// </field>
+};
+Sys.Mvc.InsertionMode.prototype = {
+    replace: 0, 
+    insertBefore: 1, 
+    insertAfter: 2
+}
+Sys.Mvc.InsertionMode.registerEnum('Sys.Mvc.InsertionMode', false);
+
+
+////////////////////////////////////////////////////////////////////////////////
+// Sys.Mvc.AjaxContext
+
+Sys.Mvc.AjaxContext = function Sys_Mvc_AjaxContext(request, updateTarget, loadingElement, insertionMode) {
+    /// <param name="request" type="Sys.Net.WebRequest">
+    /// </param>
+    /// <param name="updateTarget" type="Object" domElement="true">
+    /// </param>
+    /// <param name="loadingElement" type="Object" domElement="true">
+    /// </param>
+    /// <param name="insertionMode" type="Sys.Mvc.InsertionMode">
+    /// </param>
+    /// <field name="_insertionMode" type="Sys.Mvc.InsertionMode">
+    /// </field>
+    /// <field name="_loadingElement" type="Object" domElement="true">
+    /// </field>
+    /// <field name="_response" type="Sys.Net.WebRequestExecutor">
+    /// </field>
+    /// <field name="_request" type="Sys.Net.WebRequest">
+    /// </field>
+    /// <field name="_updateTarget" type="Object" domElement="true">
+    /// </field>
+    this._request = request;
+    this._updateTarget = updateTarget;
+    this._loadingElement = loadingElement;
+    this._insertionMode = insertionMode;
+}
+Sys.Mvc.AjaxContext.prototype = {
+    _insertionMode: 0,
+    _loadingElement: null,
+    _response: null,
+    _request: null,
+    _updateTarget: null,
+    
+    get_data: function Sys_Mvc_AjaxContext$get_data() {
+        /// <value type="String"></value>
+        if (this._response) {
+            return this._response.get_responseData();
+        }
+        else {
+            return null;
+        }
+    },
+    
+    get_insertionMode: function Sys_Mvc_AjaxContext$get_insertionMode() {
+        /// <value type="Sys.Mvc.InsertionMode"></value>
+        return this._insertionMode;
+    },
+    
+    get_loadingElement: function Sys_Mvc_AjaxContext$get_loadingElement() {
+        /// <value type="Object" domElement="true"></value>
+        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;
+    },
+    set_response: function Sys_Mvc_AjaxContext$set_response(value) {
+        /// <value type="Sys.Net.WebRequestExecutor"></value>
+        this._response = value;
+        return value;
+    },
+    
+    get_request: function Sys_Mvc_AjaxContext$get_request() {
+        /// <value type="Sys.Net.WebRequest"></value>
+        return this._request;
+    },
+    
+    get_updateTarget: function Sys_Mvc_AjaxContext$get_updateTarget() {
+        /// <value type="Object" domElement="true"></value>
+        return this._updateTarget;
+    }
+}
+
+
+////////////////////////////////////////////////////////////////////////////////
+// Sys.Mvc.AsyncHyperlink
+
+Sys.Mvc.AsyncHyperlink = function Sys_Mvc_AsyncHyperlink() {
+}
+Sys.Mvc.AsyncHyperlink.handleClick = function Sys_Mvc_AsyncHyperlink$handleClick(anchor, evt, ajaxOptions) {
+    /// <param name="anchor" type="Object" domElement="true">
+    /// </param>
+    /// <param name="evt" type="Sys.UI.DomEvent">
+    /// </param>
+    /// <param name="ajaxOptions" type="Sys.Mvc.AjaxOptions">
+    /// </param>
+    evt.preventDefault();
+    Sys.Mvc.MvcHelpers._asyncRequest(anchor.href, 'post', '', anchor, ajaxOptions);
+}
+
+
+////////////////////////////////////////////////////////////////////////////////
+// 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>
+    /// <returns type="String"></returns>
+    var formElements = form.elements;
+    var formBody = new Sys.StringBuilder();
+    var count = formElements.length;
+    for (var i = 0; i < count; i++) {
+        var element = formElements[i];
+        var name = element.name;
+        if (!name || !name.length) {
+            continue;
+        }
+        var tagName = element.tagName.toUpperCase();
+        if (tagName === 'INPUT') {
+            var inputElement = element;
+            var type = inputElement.type;
+            if ((type === 'text') || (type === 'password') || (type === 'hidden') || (((type === 'checkbox') || (type === 'radio')) && element.checked)) {
+                formBody.append(encodeURIComponent(name));
+                formBody.append('=');
+                formBody.append(encodeURIComponent(inputElement.value));
+                formBody.append('&');
+            }
+        }
+        else if (tagName === 'SELECT') {
+            var selectElement = element;
+            var optionCount = selectElement.options.length;
+            for (var j = 0; j < optionCount; j++) {
+                var optionElement = selectElement.options[j];
+                if (optionElement.selected) {
+                    formBody.append(encodeURIComponent(name));
+                    formBody.append('=');
+                    formBody.append(encodeURIComponent(optionElement.value));
+                    formBody.append('&');
+                }
+            }
+        }
+        else if (tagName === 'TEXTAREA') {
+            formBody.append(encodeURIComponent(name));
+            formBody.append('=');
+            formBody.append(encodeURIComponent((element.value)));
+            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) {
+    /// <param name="url" type="String">
+    /// </param>
+    /// <param name="verb" type="String">
+    /// </param>
+    /// <param name="body" type="String">
+    /// </param>
+    /// <param name="triggerElement" type="Object" domElement="true">
+    /// </param>
+    /// <param name="ajaxOptions" type="Sys.Mvc.AjaxOptions">
+    /// </param>
+    if (ajaxOptions.confirm) {
+        if (!confirm(ajaxOptions.confirm)) {
+            return;
+        }
+    }
+    if (ajaxOptions.url) {
+        url = ajaxOptions.url;
+    }
+    if (ajaxOptions.httpMethod) {
+        verb = ajaxOptions.httpMethod;
+    }
+    if (body.length > 0 && !body.endsWith('&')) {
+        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 (upperCaseVerb === 'GET' || upperCaseVerb === 'DELETE') {
+        if (url.indexOf('?') > -1) {
+            if (!url.endsWith('&')) {
+                url += '&';
+            }
+            url += body;
+        }
+        else {
+            url += '?';
+            url += body;
+        }
+    }
+    else {
+        requestBody = body;
+    }
+    var request = new Sys.Net.WebRequest();
+    request.set_url(url);
+    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;';
+    }
+    request.get_headers()['X-Requested-With'] = 'XMLHttpRequest';
+    var updateElement = null;
+    if (ajaxOptions.updateTargetId) {
+        updateElement = $get(ajaxOptions.updateTargetId);
+    }
+    var loadingElement = null;
+    if (ajaxOptions.loadingElementId) {
+        loadingElement = $get(ajaxOptions.loadingElementId);
+    }
+    var ajaxContext = new Sys.Mvc.AjaxContext(request, updateElement, loadingElement, ajaxOptions.insertionMode);
+    var continueRequest = true;
+    if (ajaxOptions.onBegin) {
+        continueRequest = ajaxOptions.onBegin(ajaxContext) !== false;
+    }
+    if (loadingElement) {
+        Sys.UI.DomElement.setVisible(ajaxContext.get_loadingElement(), true);
+    }
+    if (continueRequest) {
+        request.add_completed(Function.createDelegate(null, function(executor) {
+            Sys.Mvc.MvcHelpers._onComplete(request, ajaxOptions, ajaxContext);
+        }));
+        request.invoke();
+    }
+}
+Sys.Mvc.MvcHelpers._onComplete = function Sys_Mvc_MvcHelpers$_onComplete(request, ajaxOptions, ajaxContext) {
+    /// <param name="request" type="Sys.Net.WebRequest">
+    /// </param>
+    /// <param name="ajaxOptions" type="Sys.Mvc.AjaxOptions">
+    /// </param>
+    /// <param name="ajaxContext" type="Sys.Mvc.AjaxContext">
+    /// </param>
+    ajaxContext.set_response(request.get_executor());
+    if (ajaxOptions.onComplete && ajaxOptions.onComplete(ajaxContext) === false) {
+        return;
+    }
+    var statusCode = ajaxContext.get_response().get_statusCode();
+    if ((statusCode >= 200 && statusCode < 300) || statusCode === 304 || statusCode === 1223) {
+        if (statusCode !== 204 && statusCode !== 304 && statusCode !== 1223) {
+            var contentType = ajaxContext.get_response().getResponseHeader('Content-Type');
+            if ((contentType) && (contentType.indexOf('application/x-javascript') !== -1)) {
+                eval(ajaxContext.get_data());
+            }
+            else {
+                Sys.Mvc.MvcHelpers.updateDomElement(ajaxContext.get_updateTarget(), ajaxContext.get_insertionMode(), ajaxContext.get_data());
+            }
+        }
+        if (ajaxOptions.onSuccess) {
+            ajaxOptions.onSuccess(ajaxContext);
+        }
+    }
+    else {
+        if (ajaxOptions.onFailure) {
+            ajaxOptions.onFailure(ajaxContext);
+        }
+    }
+    if (ajaxContext.get_loadingElement()) {
+        Sys.UI.DomElement.setVisible(ajaxContext.get_loadingElement(), false);
+    }
+}
+Sys.Mvc.MvcHelpers.updateDomElement = function Sys_Mvc_MvcHelpers$updateDomElement(target, insertionMode, content) {
+    /// <param name="target" type="Object" domElement="true">
+    /// </param>
+    /// <param name="insertionMode" type="Sys.Mvc.InsertionMode">
+    /// </param>
+    /// <param name="content" type="String">
+    /// </param>
+    if (target) {
+        switch (insertionMode) {
+            case Sys.Mvc.InsertionMode.replace:
+                target.innerHTML = content;
+                break;
+            case Sys.Mvc.InsertionMode.insertBefore:
+                if (content && content.length > 0) {
+                    target.innerHTML = content + target.innerHTML.trimStart();
+                }
+                break;
+            case Sys.Mvc.InsertionMode.insertAfter:
+                if (content && content.length > 0) {
+                    target.innerHTML = target.innerHTML.trimEnd() + content;
+                }
+                break;
+        }
+    }
+}
+
+
+////////////////////////////////////////////////////////////////////////////////
+// Sys.Mvc.AsyncForm
+
+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>
+    /// <param name="evt" type="Sys.UI.DomEvent">
+    /// </param>
+    /// <param name="ajaxOptions" type="Sys.Mvc.AjaxOptions">
+    /// </param>
+    evt.preventDefault();
+    var validationCallbacks = form.validationCallbacks;
+    if (validationCallbacks) {
+        for (var i = 0; i < validationCallbacks.length; i++) {
+            var callback = validationCallbacks[i];
+            if (!callback()) {
+                return;
+            }
+        }
+    }
+    var body = Sys.Mvc.MvcHelpers._serializeForm(form);
+    Sys.Mvc.MvcHelpers._asyncRequest(form.action, form.method || 'post', body, 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');
+
+// ---- Do not remove this footer ----
+// Generated using Script# v0.5.0.0 (http://projects.nikhilk.net)
+// -----------------------------------