Beispiel #1
0
        protected void Add(ClientPipelineArgs args)
        {
            Assert.ArgumentNotNull((object)args, "args");
            if (args.IsPostBack)
            {
                if (!args.HasResult)
                {
                    return;
                }
                string[]            strArray            = args.Result.Split(',');
                string              str1                = strArray[0];
                string              str2                = strArray[1].Replace("-c-", ",");
                bool                flag                = strArray[2] == "1";
                LayoutDefinition    layoutDefinition    = CustomDeviceEditor.GetLayoutDefinition();
                DeviceDefinition    device              = layoutDefinition.GetDevice(this.DeviceID);
                RenderingDefinition renderingDefinition = new RenderingDefinition()
                {
                    ItemID      = str1,
                    Placeholder = str2
                };
                device.AddRendering(renderingDefinition);
                CustomDeviceEditor.SetDefinition(layoutDefinition);
                this.Refresh();
                if (flag)
                {
                    ArrayList renderings = device.Renderings;
                    if (renderings != null)
                    {
                        this.SelectedIndex = renderings.Count - 1;
                        Context.ClientPage.SendMessage((object)this, "device:edit");
                    }
                }
                Registry.SetString("/Current_User/SelectRendering/Selected", str1);
            }
            else
            {
                Item itm = UIUtil.GetItemFromQueryString(Sitecore.Client.ContentDatabase);
                SelectRenderingOptions renderingOptions = new SelectRenderingOptions()
                {
                    ShowOpenProperties  = true,
                    ShowPlaceholderName = true,
                    PlaceholderName     = string.Empty
                };
                string @string = Registry.GetString("/Current_User/SelectRendering/Selected");
                if (!string.IsNullOrEmpty(@string))
                {
                    renderingOptions.SelectedItem = Client.ContentDatabase.GetItem(@string);
                }

                //Modify the following line to include id and deviceid parameters
                SheerResponse.ShowModalDialog(renderingOptions.ToUrlString(Sitecore.Client.ContentDatabase).ToString() + "&ciId=" +
                                              System.Web.HttpUtility.UrlEncode(itm.ID.ToString()) + "&deviceid=" +
                                              System.Web.HttpUtility.UrlEncode(this.DeviceID), true);

                //SheerResponse.ShowModalDialog(renderingOptions.ToUrlString(Client.ContentDatabase).ToString(), true);

                args.WaitForPostBack();
            }
        }
Beispiel #2
0
        protected void Change(ClientPipelineArgs args)
        {
            Assert.ArgumentNotNull(args, "args");
            if (this.SelectedIndex < 0)
            {
                return;
            }
            LayoutDefinition layoutDefinition = DeviceEditorForm.GetLayoutDefinition();
            DeviceDefinition device           = layoutDefinition.GetDevice(this.DeviceID);

            System.Collections.ArrayList renderings = device.Renderings;
            if (renderings == null)
            {
                return;
            }
            RenderingDefinition renderingDefinition = renderings[this.SelectedIndex] as RenderingDefinition;

            if (renderingDefinition == null)
            {
                return;
            }
            if (string.IsNullOrEmpty(renderingDefinition.ItemID))
            {
                return;
            }
            if (args.IsPostBack)
            {
                if (args.HasResult)
                {
                    string[] array = args.Result.Split(new char[]
                    {
                        ','
                    });
                    renderingDefinition.ItemID = array[0];
                    bool flag = array[2] == "1";
                    DeviceEditorForm.SetDefinition(layoutDefinition);
                    this.Refresh();
                    if (flag)
                    {
                        Context.ClientPage.SendMessage(this, "device:edit");
                        return;
                    }
                }
            }
            else
            {
                SelectRenderingOptions selectRenderingOptions = new SelectRenderingOptions
                {
                    ShowOpenProperties  = true,
                    ShowPlaceholderName = false,
                    PlaceholderName     = string.Empty,
                    SelectedItem        = Client.ContentDatabase.GetItem(renderingDefinition.ItemID)
                };
                string url = selectRenderingOptions.ToUrlString(Client.ContentDatabase).ToString();
                SheerResponse.ShowModalDialog(url, true);
                args.WaitForPostBack();
            }
        }
Beispiel #3
0
 protected void Add(ClientPipelineArgs args)
 {
     Assert.ArgumentNotNull(args, "args");
     if (args.IsPostBack)
     {
         if (args.HasResult)
         {
             string[] array = args.Result.Split(new char[]
             {
                 ','
             });
             string              text                = array[0];
             string              placeholder         = array[1].Replace("-c-", ",");
             bool                flag                = array[2] == "1";
             LayoutDefinition    layoutDefinition    = DeviceEditorForm.GetLayoutDefinition();
             DeviceDefinition    device              = layoutDefinition.GetDevice(this.DeviceID);
             RenderingDefinition renderingDefinition = new RenderingDefinition
             {
                 ItemID      = text,
                 Placeholder = placeholder
             };
             device.AddRendering(renderingDefinition);
             DeviceEditorForm.SetDefinition(layoutDefinition);
             this.Refresh();
             if (flag)
             {
                 System.Collections.ArrayList renderings = device.Renderings;
                 if (renderings != null)
                 {
                     this.SelectedIndex = renderings.Count - 1;
                     Context.ClientPage.SendMessage(this, "device:edit");
                 }
             }
             Registry.SetString("/Current_User/SelectRendering/Selected", text);
             return;
         }
     }
     else
     {
         SelectRenderingOptions selectRenderingOptions = new SelectRenderingOptions
         {
             ShowOpenProperties  = true,
             ShowPlaceholderName = true,
             PlaceholderName     = string.Empty
         };
         string @string = Registry.GetString("/Current_User/SelectRendering/Selected");
         if (!string.IsNullOrEmpty(@string))
         {
             selectRenderingOptions.SelectedItem = Client.ContentDatabase.GetItem(@string);
         }
         string url = selectRenderingOptions.ToUrlString(Client.ContentDatabase).ToString();
         SheerResponse.ShowModalDialog(url, true);
         args.WaitForPostBack();
     }
 }
Beispiel #4
0
        protected void Change(ClientPipelineArgs args)
        {
            Assert.ArgumentNotNull((object)args, "args");
            if (this.SelectedIndex < 0)
            {
                return;
            }
            LayoutDefinition layoutDefinition = CustomDeviceEditor.GetLayoutDefinition();
            ArrayList        renderings       = layoutDefinition.GetDevice(this.DeviceID).Renderings;

            if (renderings == null)
            {
                return;
            }
            RenderingDefinition renderingDefinition = renderings[this.SelectedIndex] as RenderingDefinition;

            if (renderingDefinition == null || string.IsNullOrEmpty(renderingDefinition.ItemID))
            {
                return;
            }
            if (args.IsPostBack)
            {
                if (!args.HasResult)
                {
                    return;
                }
                string[] strArray = args.Result.Split(',');
                renderingDefinition.ItemID = strArray[0];
                bool flag = strArray[2] == "1";
                CustomDeviceEditor.SetDefinition(layoutDefinition);
                this.Refresh();
                if (!flag)
                {
                    return;
                }
                Context.ClientPage.SendMessage((object)this, "device:edit");
            }
            else
            {
                SelectRenderingOptions renderingOptions = new SelectRenderingOptions();
                renderingOptions.ShowOpenProperties  = true;
                renderingOptions.ShowPlaceholderName = false;
                renderingOptions.PlaceholderName     = string.Empty;
                renderingOptions.SelectedItem        = Client.ContentDatabase.GetItem(renderingDefinition.ItemID);
                SheerResponse.ShowModalDialog(renderingOptions.ToUrlString(Client.ContentDatabase).ToString(), true);
                args.WaitForPostBack();
            }
        }
        protected override void OnLoad(EventArgs e)
        {
            Assert.ArgumentNotNull((object)e, "e");
            IsOpenPropertiesChecked = Registry.GetBool("/Current_User/SelectRendering/IsOpenPropertiesChecked");
            SelectRenderingOptions renderingOptions = SelectItemOptions.Parse <SelectRenderingOptions>();

            base.OnLoad(e);
            if (Context.ClientPage.IsEvent)
            {
                return;
            }

            var groupedRenderings = renderingOptions.Items?.GroupBy(i => i.Parent.Name).ToArray() ?? new IGrouping <string, Item> [0];

            if (renderingOptions.ShowTree || groupedRenderings.Length == 0)
            {
                var gridPanel = Renderings.Parent as GridPanel;
                gridPanel?.SetExtensibleProperty(Tabs, "class", "scDisplayNone");
            }
            else
            {
                foreach (var renderingGroup in groupedRenderings)
                {
                    var newTab = new Tab
                    {
                        Header   = renderingGroup.Key,
                        CssClass = "scTabPage"
                    };
                    newTab.Controls.Add(new LiteralControl(RenderPreviews(renderingGroup)));
                    Tabs.Controls.Add(newTab);
                }

                Renderings.Visible = false;
                var gridPanel = Renderings.Parent as GridPanel;
                gridPanel?.SetExtensibleProperty(Renderings, "class", "scDisplayNone");
            }
        }
 protected void Change(ClientPipelineArgs args)
 {
     Assert.ArgumentNotNull(args, "args");
     if (this.SelectedIndex < 0)
     {
         return;
     }
     LayoutDefinition layoutDefinition = AdvancedDeviceEditorForm.GetLayoutDefinition();
     ArrayList renderings = layoutDefinition.GetDevice(this.DeviceID).Renderings;
     if (renderings == null)
     {
         return;
     }
     RenderingDefinition item = renderings[this.SelectedIndex] as RenderingDefinition;
     if (item == null)
     {
         return;
     }
     if (string.IsNullOrEmpty(item.ItemID))
     {
         return;
     }
     if (!args.IsPostBack)
     {
         SelectRenderingOptions selectRenderingOption = new SelectRenderingOptions()
         {
             ShowOpenProperties = true,
             ShowPlaceholderName = false,
             PlaceholderName = string.Empty,
             SelectedItem = Client.ContentDatabase.GetItem(item.ItemID)
         };
         string str = selectRenderingOption.ToUrlString(Client.ContentDatabase).ToString();
         SheerResponse.ShowModalDialog(str, true);
         args.WaitForPostBack();
     }
     else if (args.HasResult)
     {
         string[] strArrays = args.Result.Split(new char[] { ',' });
         item.ItemID = strArrays[0];
         bool flag = strArrays[2] == "1";
         AdvancedDeviceEditorForm.SetDefinition(layoutDefinition);
         this.Refresh();
         if (flag)
         {
             Context.ClientPage.SendMessage(this, "device:edit");
             return;
         }
     }
 }
 protected void Add(ClientPipelineArgs args)
 {
     Assert.ArgumentNotNull(args, "args");
     if (!args.IsPostBack)
     {
         SelectRenderingOptions selectRenderingOption = new SelectRenderingOptions()
         {
             ShowOpenProperties = true,
             ShowPlaceholderName = true,
             PlaceholderName = string.Empty
         };
         SelectRenderingOptions item = selectRenderingOption;
         string str = Registry.GetString("/Current_User/SelectRendering/Selected");
         if (!string.IsNullOrEmpty(str))
         {
             item.SelectedItem = Client.ContentDatabase.GetItem(str);
         }
         string str1 = item.ToUrlString(Client.ContentDatabase).ToString();
         SheerResponse.ShowModalDialog(str1, true);
         args.WaitForPostBack();
     }
     else if (args.HasResult)
     {
         string[] strArrays = args.Result.Split(new char[] { ',' });
         string str2 = strArrays[0];
         string str3 = strArrays[1].Replace("-c-", ",");
         bool flag = strArrays[2] == "1";
         LayoutDefinition layoutDefinition = AdvancedDeviceEditorForm.GetLayoutDefinition();
         DeviceDefinition device = layoutDefinition.GetDevice(this.DeviceID);
         RenderingDefinition renderingDefinition = new RenderingDefinition()
         {
             ItemID = str2,
             Placeholder = str3
         };
         device.AddRendering(renderingDefinition);
         AdvancedDeviceEditorForm.SetDefinition(layoutDefinition);
         this.Refresh();
         if (flag)
         {
             ArrayList renderings = device.Renderings;
             if (renderings != null)
             {
                 this.SelectedIndex = renderings.Count - 1;
                 Context.ClientPage.SendMessage(this, "device:edit");
             }
         }
         Registry.SetString("/Current_User/SelectRendering/Selected", str2);
         return;
     }
 }
Beispiel #8
0
        protected override void OnLoad(EventArgs e)
        {
            Assert.ArgumentNotNull((object)e, "e");
            base.OnLoad(e);
            if (Context.ClientPage.IsEvent)
            {
                return;
            }
            IsOpenPropertiesChecked = Registry.GetBool("/Current_User/SelectRendering/IsOpenPropertiesChecked");
            SelectRenderingOptions renderingOptions = SelectItemOptions.Parse <SelectRenderingOptions>();

            if (renderingOptions.ShowOpenProperties)
            {
                OpenPropertiesBorder.Visible = true;
                OpenProperties.Checked       = IsOpenPropertiesChecked;
            }
            if (renderingOptions.ShowPlaceholderName)
            {
                PlaceholderNameBorder.Visible = true;
                PlaceholderName.Value         = renderingOptions.PlaceholderName;
            }
            if (!renderingOptions.ShowTree)
            {
                TreeviewContainer.Class   = string.Empty;
                TreeviewContainer.Visible = false;
                TreeSplitter.Visible      = false;
                GridPanel gridPanel = TreeviewContainer.Parent as GridPanel;
                if (gridPanel != null)
                {
                    gridPanel.SetExtensibleProperty(TreeviewContainer, "class",
                                                    "scDisplayNone");
                }

                //Line of Code that does grouping
                var gruppedSublayouts = renderingOptions.Items.GroupBy(i => i.Parent.Name);

                //Add new tab for each folder
                foreach (IGrouping <string, Item> gruppedSublayout in gruppedSublayouts)
                {
                    var newTab = new Tab();
                    newTab.Header = gruppedSublayout.Key;
                    var newScrollbox = new Scrollbox();
                    newScrollbox.Class      = "scScrollbox scFixSize scFixSize4";
                    newScrollbox.Background = "white";
                    newScrollbox.Padding    = "0px";
                    newScrollbox.Width      = new Unit(100, UnitType.Percentage);
                    newScrollbox.Height     = new Unit(100, UnitType.Percentage);
                    newScrollbox.InnerHtml  = RenderPreviews(gruppedSublayout);
                    newTab.Controls.Add(newScrollbox);
                    Tabs.Controls.Add(newTab);
                }

                gridPanel = Renderings.Parent as GridPanel;
                if (gridPanel != null)
                {
                    gridPanel.SetExtensibleProperty(Renderings, "class",
                                                    "scDisplayNone");
                }
            }
            else
            {
                var gridPanel = Renderings.Parent as GridPanel;
                if (gridPanel != null)
                {
                    gridPanel.SetExtensibleProperty(Tabs, "class",
                                                    "scDisplayNone");
                }
            }
            //end of new code
            SetOpenPropertiesState(renderingOptions.SelectedItem);
        }
        /// <summary>
        /// Raises the load event.
        /// </summary>
        /// <param name="e">The <see cref="T:System.EventArgs"/> instance containing the event data.</param>
        protected override void OnLoad(EventArgs e)
        {
            Assert.ArgumentNotNull((object)e, "e");
            base.OnLoad(e);
            if (Context.ClientPage.IsEvent)
            {
                return;
            }
            this.IsOpenPropertiesChecked = Registry.GetBool("/Current_User/SelectRendering/IsOpenPropertiesChecked");
            SelectRenderingOptions renderingOptions = SelectItemOptions.Parse <SelectRenderingOptions>();

            if (renderingOptions.ShowOpenProperties)
            {
                this.OpenPropertiesBorder.Visible = true;
                this.OpenProperties.Checked       = this.IsOpenPropertiesChecked;
            }
            if (renderingOptions.ShowPlaceholderName)
            {
                this.PlaceholderNameBorder.Visible = true;
                this.PlaceholderName.Value         = renderingOptions.PlaceholderName;
            }
            if (!renderingOptions.ShowTree)
            {
                this.TreeviewContainer.Class   = string.Empty;
                this.TreeviewContainer.Visible = false;
                this.TreeSplitter.Visible      = false;
                GridPanel gridPanel = this.TreeviewContainer.Parent as GridPanel;
                if (gridPanel != null)
                {
                    gridPanel.SetExtensibleProperty((System.Web.UI.Control) this.TreeviewContainer, "class", "scDisplayNone");
                }
                this.Renderings.InnerHtml = this.RenderPreviews((IEnumerable <Item>)renderingOptions.Items);

                // Start custom code
                this.TabbedGridPanel.Visible  = true;
                this.DefaultGridPanel.Visible = false;
                var renderingGroups = renderingOptions.Items.GroupBy(i => i.Parent.Name);

                foreach (IGrouping <string, Item> rendering in renderingGroups)
                {
                    var newTab = new Tab();
                    newTab.Header = rendering.Key;
                    var newScrollbox = new Scrollbox();
                    newScrollbox.Class      = "scScrollbox scFixSize scFixSize4";
                    newScrollbox.Background = "white";
                    newScrollbox.Padding    = "0px";
                    newScrollbox.Width      = new Unit(100, UnitType.Percentage);
                    newScrollbox.Height     = new Unit(100, UnitType.Percentage);
                    newScrollbox.InnerHtml  = RenderPreviews(rendering);
                    newTab.Controls.Add(newScrollbox);
                    Tabs.Controls.Add(newTab);
                }
                gridPanel = Renderings.Parent as GridPanel;
                if (gridPanel != null)
                {
                    gridPanel.SetExtensibleProperty(Renderings, "class",
                                                    "scDisplayNone");
                }
                // End custom code
            }
            else
            {
                this.MainGridPanel.Controls.RemoveAt(0);
                this.DefaultGridPanel.Visible = true;
                this.TabbedGridPanel.Visible  = false;
            }
            this.SetOpenPropertiesState(renderingOptions.SelectedItem);
        }