// Name: MicrosoftAjaxTimer.debug.js // Assembly: System.Web.Extensions // Version: 4.0.0.0 // FileVersion: 4.0.30319.34237 //----------------------------------------------------------------------- // Copyright (C) Microsoft Corporation. All rights reserved. //----------------------------------------------------------------------- // MicrosoftAjaxTimer.js // Sys.UI._Timer component Type._registerScript("Timer.js", ["MicrosoftAjaxComponentModel.js"]); Sys.UI._Timer = function Sys$UI$_Timer(element) { Sys.UI._Timer.initializeBase(this,[element]); this._interval = 60000; this._enabled = true; this._postbackPending = false; this._raiseTickDelegate = null; this._endRequestHandlerDelegate = null; this._timer = null; this._pageRequestManager = null; this._uniqueID = null; } function Sys$UI$_Timer$get_enabled() { /// if (arguments.length !== 0) throw Error.parameterCount(); return this._enabled; } function Sys$UI$_Timer$set_enabled(value) { var e = Function._validateParams(arguments, [{name: "value", type: Boolean}]); if (e) throw e; this._enabled = value; } function Sys$UI$_Timer$get_interval() { /// if (arguments.length !== 0) throw Error.parameterCount(); return this._interval; } function Sys$UI$_Timer$set_interval(value) { var e = Function._validateParams(arguments, [{name: "value", type: Number}]); if (e) throw e; this._interval = value; } function Sys$UI$_Timer$get_uniqueID(){ /// if (arguments.length !== 0) throw Error.parameterCount(); return this._uniqueID; } function Sys$UI$_Timer$set_uniqueID(value){ var e = Function._validateParams(arguments, [{name: "value", type: String}]); if (e) throw e; this._uniqueID = value; } function Sys$UI$_Timer$dispose(){ this._stopTimer(); if(this._pageRequestManager !== null){ this._pageRequestManager.remove_endRequest(this._endRequestHandlerDelegate); } Sys.UI._Timer.callBaseMethod(this,"dispose"); } function Sys$UI$_Timer$_doPostback(){ __doPostBack(this.get_uniqueID(),''); } function Sys$UI$_Timer$_handleEndRequest(sender, arg){ var dataItem = arg.get_dataItems()[this.get_id()]; if (dataItem){ this._update(dataItem[0],dataItem[1]); } if ((this._postbackPending === true) && (this._pageRequestManager !== null)&&(this._pageRequestManager.get_isInAsyncPostBack() === false)){ this._postbackPending = false; this._doPostback(); } } function Sys$UI$_Timer$initialize(){ Sys.UI._Timer.callBaseMethod(this, 'initialize'); this._raiseTickDelegate = Function.createDelegate(this,this._raiseTick); this._endRequestHandlerDelegate = Function.createDelegate(this,this._handleEndRequest); if (Sys.WebForms && Sys.WebForms.PageRequestManager){ this._pageRequestManager = Sys.WebForms.PageRequestManager.getInstance(); } if (this._pageRequestManager !== null ){ this._pageRequestManager.add_endRequest(this._endRequestHandlerDelegate); } if(this.get_enabled()) { this._startTimer(); } } function Sys$UI$_Timer$_raiseTick() { this._startTimer(); if ((this._pageRequestManager === null) || (!this._pageRequestManager.get_isInAsyncPostBack())){ this._doPostback(); this._postbackPending = false; } else { this._postbackPending = true; } } function Sys$UI$_Timer$_startTimer(){ this._timer = window.setTimeout(Function.createDelegate(this,this._raiseTick),this.get_interval()); } function Sys$UI$_Timer$_stopTimer(){ if (this._timer !== null){ window.clearTimeout(this._timer); this._timer = null; } } function Sys$UI$_Timer$_update(enabled,interval) { var stopped = !this.get_enabled(); var intervalChanged= (this.get_interval() !== interval); if ((!stopped) && ((!enabled)||(intervalChanged))){ this._stopTimer(); stopped = true; } this.set_enabled(enabled); this.set_interval(interval); if ((this.get_enabled()) && (stopped)){ this._startTimer(); } } Sys.UI._Timer.prototype = { get_enabled: Sys$UI$_Timer$get_enabled, set_enabled: Sys$UI$_Timer$set_enabled, get_interval: Sys$UI$_Timer$get_interval, set_interval: Sys$UI$_Timer$set_interval, get_uniqueID: Sys$UI$_Timer$get_uniqueID, set_uniqueID: Sys$UI$_Timer$set_uniqueID, dispose: Sys$UI$_Timer$dispose, _doPostback: Sys$UI$_Timer$_doPostback, _handleEndRequest: Sys$UI$_Timer$_handleEndRequest, initialize: Sys$UI$_Timer$initialize, _raiseTick: Sys$UI$_Timer$_raiseTick, _startTimer: Sys$UI$_Timer$_startTimer, _stopTimer: Sys$UI$_Timer$_stopTimer, _update: Sys$UI$_Timer$_update } Sys.UI._Timer.registerClass('Sys.UI._Timer', Sys.UI.Control);