protected override void OnLoad(EventArgs e) { base.OnLoad(e); if (!Sitecore.Context.ClientPage.IsEvent) { SetTestDetailsOptions options = SetTestDetailsOptions.Parse(); DeviceId = options.DeviceId; ContextItemUri = ItemUri.Parse(options.ItemUri); RenderingUniqueId = options.RenderingUniqueId; LayoutSessionHandle = options.LayoutSessionHandle; InitVariableValues(); if (VariableValues.FindIndex(v => !string.IsNullOrEmpty(v.ReplacementComponent)) > -1) { ComponentReplacing.Checked = true; } else { Variations.Class = "hide-test-component"; } if (VariableValues.Count > 0) { ResetContainer.Visible = true; } if (Rendering != null) { Item variableItem = TestingUtil.MultiVariateTesting.GetVariableItem(Rendering, Client.ContentDatabase); if ((variableItem != null) && !variableItem.Access.CanCreate()) { NewVariation.Disabled = true; } } SetControlsState(); Render(); } }
protected override void OnOK(object sender, EventArgs args) { DeviceDefinition device = Device; Assert.IsNotNull(device, "device"); MultivariateTestDefinitionItem testDefinition = TestingUtil.MultiVariateTesting.GetTestDefinition(device, new ID( RenderingUniqueId), Client. ContentDatabase); if (testDefinition == null) { ItemUri contextItemUri = ContextItemUri; if (contextItemUri == null) { return; } Item item = Client.ContentDatabase.GetItem(contextItemUri.ToDataUri()); if (item != null) { testDefinition = TestingUtil.MultiVariateTesting.AddTestDefinition(item); } } if (testDefinition == null) { SheerResponse.Alert("The action cannot be executed because of security restrictions.", new string[0]); } else if (Rendering != null) { MultivariateTestVariableItem variableItem = TestingUtil.MultiVariateTesting.GetVariableItem(Rendering, Client.ContentDatabase); if (variableItem == null) { variableItem = TestingUtil.MultiVariateTesting.AddVariable(testDefinition, Rendering, Client.ContentDatabase); } if (variableItem == null) { SheerResponse.Alert("The action cannot be executed because of security restrictions.", new string[0]); } else { List <ID> list; if (!UpdateVariableValues(variableItem, out list)) { SheerResponse.Alert("The action cannot be executed because of security restrictions.", new string[0]); } else { SheerResponse.SetDialogValue(SetTestDetailsOptions.GetDialogResut(variableItem.ID, list)); SheerResponse.CloseWindow(); } } } }
protected void SetTest(ClientPipelineArgs args) { Assert.ArgumentNotNull(args, "args"); if (this.SelectedIndex < 0) { return; } LayoutDefinition layoutDefinition = DeviceEditorForm.GetLayoutDefinition(); DeviceDefinition device = layoutDefinition.GetDevice(this.DeviceID); ArrayList renderings = device.Renderings; if (renderings == null) { return; } RenderingDefinition renderingDefinition = renderings[this.SelectedIndex] as RenderingDefinition; if (renderingDefinition == null) { return; } if (args.IsPostBack) { if (args.HasResult) { if (args.Result == "#reset#") { renderingDefinition.MultiVariateTest = string.Empty; DeviceEditorForm.SetDefinition(layoutDefinition); this.Refresh(); return; } ID iD = SetTestDetailsOptions.ParseDialogResult(args.Result); if (ID.IsNullOrEmpty(iD)) { SheerResponse.Alert("Item not found.", new string[0]); return; } renderingDefinition.MultiVariateTest = iD.ToString(); DeviceEditorForm.SetDefinition(layoutDefinition); this.Refresh(); return; } } else { Command command = CommandManager.GetCommand("device:settestdetails"); Assert.IsNotNull(command, "deviceTestCommand"); CommandContext commandContext = new CommandContext(); commandContext.Parameters["deviceDefinitionId"] = device.ID; commandContext.Parameters["renderingDefinitionUniqueId"] = renderingDefinition.UniqueId; command.Execute(commandContext); args.WaitForPostBack(); } }
protected void SetTest(ClientPipelineArgs args) { Assert.ArgumentNotNull((object)args, "args"); if (this.SelectedIndex < 0) { return; } LayoutDefinition layoutDefinition = CustomDeviceEditor.GetLayoutDefinition(); DeviceDefinition device = layoutDefinition.GetDevice(this.DeviceID); ArrayList renderings = device.Renderings; if (renderings == null) { return; } RenderingDefinition renderingDefinition = renderings[this.SelectedIndex] as RenderingDefinition; if (renderingDefinition == null) { return; } if (args.IsPostBack) { if (!args.HasResult) { return; } if (args.Result == "#reset#") { renderingDefinition.MultiVariateTest = string.Empty; CustomDeviceEditor.SetDefinition(layoutDefinition); this.Refresh(); } else { ID dialogResult = SetTestDetailsOptions.ParseDialogResult(args.Result); if (ID.IsNullOrEmpty(dialogResult)) { SheerResponse.Alert("Item not found."); } else { renderingDefinition.MultiVariateTest = dialogResult.ToString(); CustomDeviceEditor.SetDefinition(layoutDefinition); this.Refresh(); } } } else { SheerResponse.ShowModalDialog(new SetTestDetailsOptions("SC_DEVICEEDITOR", UIUtil.GetItemFromQueryString(Client.ContentDatabase).Uri.ToString(), device.ID, renderingDefinition.UniqueId).ToUrlString().ToString(), "520px", "695px", string.Empty, true); args.WaitForPostBack(); } }
protected void SetTest(ClientPipelineArgs args) { Assert.ArgumentNotNull(args, "args"); if (this.SelectedIndex < 0) { return; } LayoutDefinition layoutDefinition = AdvancedDeviceEditorForm.GetLayoutDefinition(); DeviceDefinition device = layoutDefinition.GetDevice(this.DeviceID); ArrayList renderings = device.Renderings; if (renderings == null) { return; } RenderingDefinition item = renderings[this.SelectedIndex] as RenderingDefinition; if (item == null) { return; } if (!args.IsPostBack) { Item itemFromQueryString = UIUtil.GetItemFromQueryString(Client.ContentDatabase); SetTestDetailsOptions setTestDetailsOption = new SetTestDetailsOptions("SC_DEVICEEDITOR", itemFromQueryString.Uri.ToString(), device.ID, item.UniqueId); SheerResponse.ShowModalDialog(setTestDetailsOption.ToUrlString().ToString(), "520px", "695px", string.Empty, true); args.WaitForPostBack(); } else if (args.HasResult) { if (args.Result == "#reset#") { item.MultiVariateTest = string.Empty; AdvancedDeviceEditorForm.SetDefinition(layoutDefinition); this.Refresh(); return; } ID d = SetTestDetailsOptions.ParseDialogResult(args.Result); if (ID.IsNullOrEmpty(d)) { SheerResponse.Alert("Item not found.", new string[0]); return; } item.MultiVariateTest = d.ToString(); AdvancedDeviceEditorForm.SetDefinition(layoutDefinition); this.Refresh(); return; } }