This commit is contained in:
2024-11-05 10:47:20 -07:00
parent c801b1ff51
commit 5315c47fcd
276 changed files with 2990 additions and 6370 deletions

View File

@@ -13,6 +13,9 @@ Sys.Extended.UI.Animation.UpdatePanelAnimationBehavior = function(element) {
this._pageLoadedHandler = null;
this._alwaysFinishOnUpdatingAnimation = null;
this._triggerControlsClientID = null;
this._updatePanelID = "";
this._updatePanelClientID = "";
this._childrenAsTriggers = false;
};
Sys.Extended.UI.Animation.UpdatePanelAnimationBehavior.prototype = {
initialize: function() {
@@ -67,8 +70,8 @@ Sys.Extended.UI.Animation.UpdatePanelAnimationBehavior.prototype = {
Sys.Extended.UI.Animation.UpdatePanelAnimationBehavior.callBaseMethod(this, '_partialUpdateBeginRequest', [sender, beginRequestEventArgs]);
if(!this._postBackPending) {
if(this._triggerControlsClientID.indexOf(sender._activeElement.id) != -1)
{
if(this._isTriggeredByTriggerControl(beginRequestEventArgs._postBackElement.id)
|| this._isTriggeredByChildControl(sender, beginRequestEventArgs)) {
this._postBackPending = true;
this._onUpdated.quit();
this._onUpdating.play();
@@ -76,6 +79,30 @@ Sys.Extended.UI.Animation.UpdatePanelAnimationBehavior.prototype = {
}
},
_isTriggeredByTriggerControl: function(postBackElementID) {
return this._triggerControlsClientID.length
&& this._triggerControlsClientID.indexOf(postBackElementID) != -1;
},
_isTriggeredByChildControl: function (sender, beginRequestEventArgs) {
if(!this.get_childrenAsTriggers())
return false;
if(!beginRequestEventArgs._updatePanelsToUpdate)
return false;
if(beginRequestEventArgs._updatePanelsToUpdate.indexOf(this.get_updatePanelID()) === -1)
return false;
var panelIndex = sender._updatePanelIDs.indexOf(this.get_updatePanelID());
if(!sender._updatePanelHasChildrenAsTriggers[panelIndex])
return false;
var postBackElement = document.getElementById(beginRequestEventArgs._postBackElement.id);
return postBackElement.parentElement.id === this.get_updatePanelClientID();
},
_pageLoaded: function(sender, args) {
// Method that will be called when a partial update (via an UpdatePanel) finishes
// "sender" - sender
@@ -86,7 +113,7 @@ Sys.Extended.UI.Animation.UpdatePanelAnimationBehavior.prototype = {
var element = this.get_element();
var panels = args.get_panelsUpdated();
for(var i = 0; i < panels.length; i++) {
if(panels[i].parentNode == element)
if(panels[i].parentNode == element) {
if(this._alwaysFinishOnUpdatingAnimation) {
this._tryAndStopOnUpdating();
}
@@ -94,7 +121,8 @@ Sys.Extended.UI.Animation.UpdatePanelAnimationBehavior.prototype = {
this._onUpdating.quit();
this._onUpdated.play();
}
break;
break;
}
}
}
},
@@ -218,7 +246,7 @@ Sys.Extended.UI.Animation.UpdatePanelAnimationBehavior.prototype = {
/// <setter>set_triggerControlsClientID</setter>
/// <member name="cP:AjaxControlToolkit.UpdatePanelAnimationExtender.triggerControlsClientID" />
get_triggerControlsClientID: function() {
return this._triggerControlsClientID;;
return this._triggerControlsClientID;
},
set_triggerControlsClientID: function(value) {
if(this._triggerControlsClientID != value) {
@@ -234,6 +262,55 @@ Sys.Extended.UI.Animation.UpdatePanelAnimationBehavior.prototype = {
set_TriggerControlsClientID: function(value) {
Sys.Extended.Deprecated("set_TriggerControlsClientID(value)", "set_triggerControlsClientID(value)");
this.set_triggerControlsClientID(value);
},
/// <summary>
/// ID of the target update panel
/// </summary>
/// <getter>get_updatePanelID</getter>
/// <setter>set_updatePanelID</setter>
/// <member name="cP:AjaxControlToolkit.UpdatePanelAnimationExtender.updatePanelID" />
get_updatePanelID: function () {
return this._updatePanelID;
},
set_updatePanelID: function (value) {
if(this._updatePanelID != value) {
this._updatePanelID = value;
this.raisePropertyChanged('updatePanelID');
}
},
/// <summary>
/// Client ID of the target update panel
/// </summary>
/// <getter>get_updatePanelClientID</getter>
/// <setter>set_updatePanelClientID</setter>
/// <member name="cP:AjaxControlToolkit.UpdatePanelAnimationExtender.updatePanelClientID" />
get_updatePanelClientID: function () {
return this._updatePanelClientID;
},
set_updatePanelClientID: function (value) {
if(this._updatePanelClientID != value) {
this._updatePanelClientID = value;
this.raisePropertyChanged('updatePanelClientID');
}
},
/// <summary>
/// An optional property that enables update panel animation
/// if the postback is caused by a panel's immediate children
/// </summary>
/// <getter>get_childrenAsTriggers</getter>
/// <setter>set_childrenAsTriggers</setter>
/// <member name="cP:AjaxControlToolkit.UpdatePanelAnimationExtender.childrenAsTriggers" />
get_childrenAsTriggers: function () {
return this._childrenAsTriggers;
},
set_childrenAsTriggers: function (value) {
if(this._childrenAsTriggers != value) {
this._childrenAsTriggers = value;
this.raisePropertyChanged('childrenAsTriggers');
}
}
};
Sys.Extended.UI.Animation.UpdatePanelAnimationBehavior.registerClass('Sys.Extended.UI.Animation.UpdatePanelAnimationBehavior', Sys.Extended.UI.BehaviorBase);