var _____WB$wombat$assign$function_____ = function(name) {return (self._wb_wombat && self._wb_wombat.local_init && self._wb_wombat.local_init(name)) || self[name]; }; if (!self.__WB_pmw) { self.__WB_pmw = function(obj) { this.__WB_source = obj; return this; } } { let window = _____WB$wombat$assign$function_____("window"); let self = _____WB$wombat$assign$function_____("self"); let document = _____WB$wombat$assign$function_____("document"); let location = _____WB$wombat$assign$function_____("location"); let top = _____WB$wombat$assign$function_____("top"); let parent = _____WB$wombat$assign$function_____("parent"); let frames = _____WB$wombat$assign$function_____("frames"); let opener = _____WB$wombat$assign$function_____("opener"); var ASPxClientDockPanelBag = _aspxCreateClass(null, { constructor: function () { this.panels = {}; }, RegisterPanel: function (panel) { this.panels[panel.panelUID] = panel; }, GetPanelByUID: function (panelUID) { return this.panels[panelUID]; }, ForEachPanel: function (action) { for (var key in this.panels) { if (!this.panels.hasOwnProperty(key)) continue; action(this.panels[key]); } }, GetPanelList: function () { var panelList = []; this.ForEachPanel(function (panel) { panelList.push(panel); }); return panelList; } }); ASPxClientDockPanelBag.instance = null; ASPxClientDockPanelBag.Get = function () { if (!ASPxClientDockPanelBag.instance) ASPxClientDockPanelBag.instance = new ASPxClientDockPanelBag(); return ASPxClientDockPanelBag.instance; }; ASPxClientDockManager = _aspxCreateClass(ASPxClientControl, { BeforeDockServerEventName: "BeforeDock", AfterDockServerEventName: "AfterDock", BeforeFloatServerEventName: "BeforeFloat", AfterFloatServerEventName: "AfterFloat", RaiseBeforeDockEventCommand: "EBD", RaiseAfterDockEventCommand: "EAD", RaiseBeforeFloatEventCommand: "EBF", RaiseAfterFloatEventCommand: "EAF", constructor: function (name) { this.constructor.prototype.constructor.call(this, name); if (!ASPxClientDockManager.instance) ASPxClientDockManager.instance = this; this.inPostback = false; this.cookieName = ''; this.clientLayoutState = {}; this.BeforeDock = new ASPxClientEvent(); this.AfterDock = new ASPxClientEvent(); this.BeforeFloat = new ASPxClientEvent(); this.AfterFloat = new ASPxClientEvent(); this.StartPanelDragging = new ASPxClientEvent(); this.EndPanelDragging = new ASPxClientEvent(); this.PanelClosing = new ASPxClientEvent(); this.PanelCloseUp = new ASPxClientEvent(); this.PanelPopUp = new ASPxClientEvent(); this.PanelShown = new ASPxClientEvent(); this.PanelResize = new ASPxClientEvent(); }, PerformCallback: function (parameter) { if (!_aspxIsExists(parameter)) parameter = ""; this.CreateCallback(parameter); }, SendPostBack: function (params) { if (!this.inPostback) { this.inPostback = true; ASPxClientControl.prototype.SendPostBack.call(this, params); } }, UpdatePanelLayoutState: function(panel) { this.clientLayoutState[panel.panelUID] = panel.GetLayoutStateObject(); }, UpdatePanelsLayoutState: function () { var instance = this; var panelBag = ASPxClientDockPanelBag.Get(); panelBag.ForEachPanel(function(panel) { instance.UpdatePanelLayoutState(panel); }); if (this.cookieName && this.cookieName !== '') { _aspxDelCookie(this.cookieName); _aspxSetCookie(this.cookieName, _aspxToJson(this.clientLayoutState)); } }, GetBeforeDockPostbackArgs: function (panel, zone) { return [ this.RaiseBeforeDockEventCommand, panel.panelUID, zone.zoneUID, zone.GetPanelAfterPlaceholderVisibleIndex() + 1 ]; }, GetAfterDockPostbackArgs: function (panel, zone) { return [ this.RaiseAfterDockEventCommand, panel.panelUID, zone.zoneUID ]; }, GetBeforeFloatPostbackArgs: function (panel, zone) { return [ this.RaiseBeforeFloatEventCommand, panel.panelUID, zone.zoneUID ]; }, GetAfterFloatPostbackArgs: function (panel, zone) { return [ this.RaiseAfterFloatEventCommand, panel.panelUID, zone.zoneUID ]; }, RaiseBeforeDock: function (panel, zone) { var processOnServer = this.IsServerEventAssigned(this.BeforeDockServerEventName); var args = new ASPxClientDockManagerProcessingModeCancelEventArgs(processOnServer, panel, zone); if (!this.BeforeDock.IsEmpty()) this.BeforeDock.FireEvent(this, args); if (!args.cancel && args.processOnServer && this.isInitialized) { var postbackArgs = this.GetBeforeDockPostbackArgs(panel, zone); this.SendPostBack(_aspxToJson(postbackArgs)); return; } return !args.cancel; }, RaiseAfterDock: function (panel, zone) { var processOnServer = this.IsServerEventAssigned(this.AfterDockServerEventName); var args = new ASPxClientDockManagerProcessingModeEventArgs(processOnServer, panel, zone); if (!this.AfterDock.IsEmpty()) this.AfterDock.FireEvent(this, args); if (args.processOnServer && this.isInitialized) { var postbackArgs = this.GetAfterDockPostbackArgs(panel, zone); this.SendPostBack(_aspxToJson(postbackArgs)); return; } }, RaiseBeforeFloat: function (panel, zone) { var processOnServer = this.IsServerEventAssigned(this.BeforeFloatServerEventName); var args = new ASPxClientDockManagerProcessingModeCancelEventArgs(processOnServer, panel, zone); if (!this.BeforeFloat.IsEmpty()) this.BeforeFloat.FireEvent(this, args); if (!args.cancel && args.processOnServer && this.isInitialized) { var postbackArgs = this.GetBeforeFloatPostbackArgs(panel, zone); this.SendPostBack(_aspxToJson(postbackArgs)); return; } return !args.cancel; }, RaiseAfterFloat: function (panel, zone) { var processOnServer = this.IsServerEventAssigned(this.AfterFloatServerEventName); var args = new ASPxClientDockManagerProcessingModeEventArgs(processOnServer, panel, zone); if (!this.AfterFloat.IsEmpty()) this.AfterFloat.FireEvent(this, args); if (args.processOnServer && this.isInitialized) { var postbackArgs = this.GetAfterFloatPostbackArgs(panel, zone); this.SendPostBack(_aspxToJson(postbackArgs)); return; } }, RaiseStartPanelDragging: function (panel) { if (!this.StartPanelDragging.IsEmpty()) this.StartPanelDragging.FireEvent(this, new ASPxClientDockManagerEventArgs(panel)); }, RaiseEndPanelDragging: function (panel) { if (!this.EndPanelDragging.IsEmpty()) this.EndPanelDragging.FireEvent(this, new ASPxClientDockManagerEventArgs(panel)); }, RaisePanelClosing: function (panel) { if (this.PanelClosing.IsEmpty()) return false; var args = new ASPxClientDockManagerCancelEventArgs(panel); this.PanelClosing.FireEvent(this, args); return args.cancel; }, RaisePanelCloseUp: function (panel) { if (!this.PanelCloseUp.IsEmpty()) this.PanelCloseUp.FireEvent(this, new ASPxClientDockManagerEventArgs(panel)); }, RaisePanelPopUp: function (panel) { if (!this.PanelPopUp.IsEmpty()) this.PanelPopUp.FireEvent(this, new ASPxClientDockManagerEventArgs(panel)); }, RaisePanelShown: function (panel) { if (!this.PanelShown.IsEmpty()) this.PanelShown.FireEvent(this, new ASPxClientDockManagerEventArgs(panel)); }, RaisePanelResize: function (panel) { if (!this.PanelResize.IsEmpty()) this.PanelResize.FireEvent(this, new ASPxClientDockManagerEventArgs(panel)); }, GetZoneByUID: function (zoneUID) { var zoneBag = ASPxClientDockZoneBag.Get(); return zoneBag.GetZoneByUID(zoneUID); }, GetPanelByUID: function (panelUID) { var panelBag = ASPxClientDockPanelBag.Get(); return panelBag.GetPanelByUID(panelUID); }, GetPanels: function (filterPredicate) { var panelBag = ASPxClientDockPanelBag.Get(); return _aspxRetrieveByPredicate(panelBag.GetPanelList(), filterPredicate); }, GetZones: function (filterPredicate) { var zoneBag = ASPxClientDockZoneBag.Get(); return _aspxRetrieveByPredicate(zoneBag.GetZoneList(), filterPredicate); } }); ASPxClientDockManager.instance = null; ASPxClientDockManager.Get = function () { return ASPxClientDockManager.instance; }; ASPxClientDockManager.Cast = ASPxClientControl.Cast; ASPxClientDockManagerProcessingModeCancelEventArgs = _aspxCreateClass(ASPxClientProcessingModeCancelEventArgs, { constructor: function (processOnServer, panel, zone) { this.constructor.prototype.constructor.call(this, processOnServer); this.panel = panel; this.zone = zone; } }); ASPxClientDockManagerProcessingModeEventArgs = _aspxCreateClass(ASPxClientProcessingModeEventArgs, { constructor: function (processOnServer, panel, zone) { this.constructor.prototype.constructor.call(this, processOnServer); this.panel = panel; this.zone = zone; } }); ASPxClientDockManagerEventArgs = _aspxCreateClass(ASPxClientEventArgs, { constructor: function (panel) { this.constructor.prototype.constructor.call(this); this.panel = panel; } }); ASPxClientDockManagerCancelEventArgs = _aspxCreateClass(ASPxClientCancelEventArgs, { constructor: function (panel) { this.constructor.prototype.constructor.call(this); this.panel = panel; } }); } /* playback timings (ms): captures_list: 274.466 exclusion.robots: 0.097 exclusion.robots.policy: 0.09 RedisCDXSource: 5.747 esindex: 0.008 LoadShardBlock: 250.295 (3) PetaboxLoader3.datanode: 121.079 (4) CDXLines.iter: 15.831 (3) load_resource: 104.888 PetaboxLoader3.resolve: 38.121 */