public static void DeleteTab(string reference)
        {
            PortalDefinition pd = PortalDefinition.Load();

            PortalDefinition.Tab t = pd.GetTab(reference);

            if (t.parent == null) // Root Tab
            {
                for (int i = 0; i < pd.tabs.Count; i++)
                {
                    if (((PortalDefinition.Tab)pd.tabs[i]).reference == reference)
                    {
                        pd.tabs.RemoveAt(i);
                        break;
                    }
                }
            }
            else
            {
                PortalDefinition.Tab pt = t.parent;
                for (int i = 0; i < pt.tabs.Count; i++)
                {
                    if (((PortalDefinition.Tab)pt.tabs[i]).reference == reference)
                    {
                        pt.tabs.RemoveAt(i);
                        break;
                    }
                }
            }

            pd.Save();
        }
Exemple #2
0
        protected void OnAddTab(object sender, EventArgs args)
        {
            PortalDefinition pd = PortalDefinition.Load();

            PortalDefinition.Tab t = PortalDefinition.Tab.Create();

            pd.GetTab(Request["TabRef"]).tabs.Add(t);

            pd.Save();

            Response.Redirect(Helper.GetEditTabLink(t.reference));
        }
Exemple #3
0
        protected void OnAddRightModule(object sender, EventArgs args)
        {
            PortalDefinition pd = PortalDefinition.Load();

            // Do NOT use GetCurrentTab! You will be unable to save
            PortalDefinition.Tab t = pd.GetTab(Request["TabRef"]);

            PortalDefinition.Module m = PortalDefinition.Module.Create();
            t.right.Add(m);

            pd.Save();

            Response.Redirect(Helper.GetEditModuleLink(m.reference));
        }
        protected void OnAddMiddleModule(object sender, EventArgs args)
        {
            PortalDefinition pd = PortalDefinition.Load();

            // Do NOT use GetCurrentTab! You will be unable to save
            PortalDefinition.Tab t = pd.GetTab(Request["TabRef"]);

            PortalDefinition.Module m = new PortalDefinition.Module();
            m.reference = Guid.NewGuid().ToString();
            t.middle.Add(m);

            pd.Save();

            Response.Redirect(Helper.GetEditModuleLink(m.reference));
        }
        protected void OnMoveRight(object sender, System.EventArgs args)
        {
            PortalDefinition pd = PortalDefinition.Load();

            PortalDefinition.Tab t = pd.GetTab(Request["TabRef"]);

            for (int i = 0; i < 2; i++)
            {
                ArrayList a = null;
                switch (i)
                {
                case 0:
                    a = t.left;
                    break;

                case 1:
                    a = t.middle;
                    break;
                }

                for (int idx = 0; idx < a.Count; idx++)
                {
                    if (((PortalDefinition.Module)a[idx]).reference == ModuleDef.reference)
                    {
                        PortalDefinition.Module m = (PortalDefinition.Module)a[idx];
                        a.RemoveAt(idx);
                        if (i == 0)
                        {
                            t.middle.Insert(t.middle.Count, m);
                        }
                        else if (i == 1)
                        {
                            t.right.Insert(t.right.Count, m);
                        }
                        else
                        {
                            throw new InvalidOperationException("Invalid Column");
                        }

                        pd.Save();
                        Server.Transfer(Request.Url.PathAndQuery);
                        return;
                    }
                }
            }
        }
        protected void OnMoveDown(object sender, System.EventArgs args)
        {
            PortalDefinition pd = PortalDefinition.Load();

            PortalDefinition.Tab t = pd.GetTab(Request["TabRef"]);

            for (int i = 0; i < 3; i++)
            {
                ArrayList a = null;
                switch (i)
                {
                case 0:
                    a = t.left;
                    break;

                case 1:
                    a = t.middle;
                    break;

                case 2:
                    a = t.right;
                    break;
                }

                for (int idx = 0; idx < a.Count; idx++)
                {
                    if (((PortalDefinition.Module)a[idx]).reference == ModuleDef.reference)
                    {
                        if (idx >= a.Count - 1)
                        {
                            return;
                        }

                        PortalDefinition.Module m = (PortalDefinition.Module)a[idx];
                        a.RemoveAt(idx);
                        a.Insert(idx + 1, m);

                        pd.Save();
                        Server.Transfer(Request.Url.PathAndQuery);
                        return;
                    }
                }
            }
        }