Пример #1
0
    /// <summary>
    /// Sets the browser class to the body class.
    /// </summary>
    /// <param name="bodyClass">The body class.</param>
    /// <param name="generateCultureClass">if set to true generate culture class.</param>
    internal static string EnsureBodyClass(string bodyClass, bool generateCultureClass = true)
    {
        // Add browser type
#pragma warning disable CS0618 // Type or member is obsolete
        string browserClass = BrowserHelper.GetBrowserClass();
#pragma warning restore CS0618 // Type or member is obsolete
        if (!String.IsNullOrEmpty(browserClass))
        {
            bodyClass = string.Format("{0} {1}", bodyClass, browserClass).Trim();
        }

        if (generateCultureClass)
        {
            // Add culture type
            string cultureClass = DocumentContext.GetUICultureClass();
            if (!String.IsNullOrEmpty(cultureClass))
            {
                bodyClass = string.Format("{0} {1}", bodyClass, cultureClass).Trim();
            }
        }
        // Add bootstrap
        PortalUIHelper.EnsureBootstrapBodyClass(ref bodyClass, PortalContext.ViewMode, PageContext.CurrentPage);

        return(bodyClass);
    }
    /// <summary>
    /// PreInit event handler.
    /// </summary>
    protected void PreInit_Setting(object sender, EventArgs e)
    {
        mBodyClass = BrowserHelper.GetBrowserClass();

        // Initialize the control
        widgetProperties.AliasPath      = aliasPath;
        widgetProperties.CultureCode    = QueryHelper.GetString("culture", CMSContext.PreferredCultureCode);
        widgetProperties.PageTemplateId = templateId;
        widgetProperties.WidgetId       = QueryHelper.GetString("widgetid", "");
        widgetProperties.ZoneId         = QueryHelper.GetString("zoneid", "");
        widgetProperties.InstanceGUID   = QueryHelper.GetGuid("instanceguid", Guid.Empty);
        widgetProperties.IsNewWidget    = QueryHelper.GetBoolean("isnew", false);
        widgetProperties.IsNewVariant   = QueryHelper.GetBoolean("isnewvariant", false);
        widgetProperties.IsInline       = QueryHelper.GetBoolean("Inline", false);
        widgetProperties.VariantID      = QueryHelper.GetInteger("variantid", 0);
        widgetProperties.VariantMode    = VariantModeFunctions.GetVariantModeEnum(QueryHelper.GetString("variantmode", string.Empty));
        widgetProperties.ZoneType       = WidgetZoneTypeCode.ToEnum(QueryHelper.GetString("zonetype", ""));
        widgetProperties.IsLiveSite     = false;

        // Ensure the design mode for the dialog
        if (String.IsNullOrEmpty(aliasPath))
        {
            PortalContext.SetRequestViewMode(ViewModeEnum.Design);
        }

        widgetProperties.OnNotAllowed += widgetProperties_OnNotAllowed;
    }
    protected void Page_PreRender(object sender, EventArgs e)
    {
        // Set browser class
        SpellingBody.Attributes.Add("class", BrowserHelper.GetBrowserClass());

        // Register the scripts
        string script = String.Format("initialize(\"{0}\", \"{1}\", \"{2}\", \"{3}\", \"{4}\", \"{5}\", \"{6}\", \"{7}\");", WordIndex.ClientID, CurrentText.ClientID, ElementIndex.ClientID, SpellMode.ClientID, StatusText.ClientID, ReplacementWord.ClientID, ResHelper.GetString("spellcheck.statustextcheck"), ResHelper.GetString("spellcheck.statustextfail"));

        ScriptHelper.RegisterStartupScript(this, typeof(string), "Init_" + ClientID, ScriptHelper.GetScript(script));
    }
Пример #4
0
    /// <summary>
    /// PreInit event handler.
    /// </summary>
    protected void PreInit_Setting(object sender, EventArgs e)
    {
        mBodyClass = BrowserHelper.GetBrowserClass();
        // Initialize the control
        string aliasPath = QueryHelper.GetString("aliaspath", "");

        widgetProperties.AliasPath      = aliasPath;
        widgetProperties.PageTemplateId = QueryHelper.GetInteger("templateid", 0);
        widgetProperties.WidgetId       = QueryHelper.GetString("widgetid", "");
        widgetProperties.ZoneId         = QueryHelper.GetString("zoneid", "");
        widgetProperties.InstanceGUID   = QueryHelper.GetGuid("instanceguid", Guid.Empty);
        widgetProperties.IsNewWidget    = QueryHelper.GetBoolean("isnew", false);
        widgetProperties.IsNewVariant   = QueryHelper.GetBoolean("isnewvariant", false);
        widgetProperties.IsInline       = QueryHelper.GetBoolean("Inline", false);
        widgetProperties.VariantID      = QueryHelper.GetInteger("variantid", 0);
        widgetProperties.ZoneType       = WidgetZoneTypeCode.ToEnum(QueryHelper.GetString("zonetype", ""));

        widgetProperties.IsLiveSite = true;

        widgetProperties.OnNotAllowed += new EventHandler(widgetProperties_OnNotAllowed);
    }
Пример #5
0
    protected void Page_Load(object sender, EventArgs e)
    {
        // Register scripts
        ScriptHelper.RegisterJQuery(this.Page);
        this.RegisterExportScript();

        treeElem.UseGlobalSettings = true;

        // Images
        imgNewCategory.ImageUrl  = GetImageUrl("Objects/CMS_WebPartCategory/add.png");
        imgNewWebPart.ImageUrl   = GetImageUrl("Objects/CMS_WebPart/add.png");
        imgDeleteItem.ImageUrl   = GetImageUrl("Objects/CMS_WebPart/delete.png");
        imgExportObject.ImageUrl = GetImageUrl("Objects/CMS_WebPart/export.png");
        imgCloneWebpart.ImageUrl = GetImageUrl("CMSModules/CMS_WebParts/clone.png");

        // Resource strings
        lnkDeleteItem.Text   = GetString("Development-WebPart_Tree.DeleteItem");
        lnkNewCategory.Text  = GetString("Development-WebPart_Tree.NewCategory");
        lnkNewWebPart.Text   = GetString("Development-WebPart_Tree.NewWebPart");
        lnkExportObject.Text = GetString("Development-WebPart_Tree.ExportObject");
        lnkCloneWebPart.Text = GetString("Development-WebPart_Tree.CloneWebpart");

        // Setup menu action scripts
        lnkNewWebPart.Attributes.Add("onclick", "NewItem('webpart');");
        lnkNewCategory.Attributes.Add("onclick", "NewItem('webpartcategory');");
        lnkDeleteItem.Attributes.Add("onclick", "DeleteItem();");
        lnkExportObject.Attributes.Add("onclick", "ExportObject();");
        lnkCloneWebPart.Attributes.Add("onclick", "CloneWebPart();");

        // Tooltips
        lnkDeleteItem.ToolTip   = GetString("Development-WebPart_Tree.DeleteItem");
        lnkNewCategory.ToolTip  = GetString("Development-WebPart_Tree.NewCategory");
        lnkNewWebPart.ToolTip   = GetString("Development-WebPart_Tree.NewWebPart");
        lnkExportObject.ToolTip = GetString("Development-WebPart_Tree.ExportObject");
        lnkCloneWebPart.ToolTip = GetString("Development-WebPart_Tree.CloneWebpart");

        string script = "var doNotReloadContent = false;\n";

        // URLs for menu actions
        script += "var categoryURL = '" + URLHelper.ResolveUrl("~/CMSModules/PortalEngine/UI/WebParts/Development/Category_Frameset.aspx") + "';\n";
        script += "var categoryNewURL = '" + URLHelper.ResolveUrl("~/CMSModules/PortalEngine/UI/WebParts/Development/WebPart_Category.aspx") + "';\n";
        script += "var webpartURL = '" + URLHelper.ResolveUrl("~/CMSModules/PortalEngine/UI/WebParts/Development/WebPart_Edit_Frameset.aspx") + "';\n";
        script += "var newWebpartURL = '" + URLHelper.ResolveUrl("~/CMSModules/PortalEngine/UI/WebParts/Development/WebPart_New.aspx") + "';\n";
        script += "var cloneURL = '" + URLHelper.ResolveUrl("~/CMSModules/PortalEngine/UI/WebParts/Development/WebPart_Clone.aspx") + "';\n";
        script += "var doNotReloadContent = false;\n";

        // Script for deleting widget or category
        string delPostback  = ControlsHelper.GetPostBackEventReference(this.Page, "##");
        string deleteScript = "function DeleteItem() { \n" +
                              " if ((selectedItemId > 0) && (selectedItemParent > 0) && " +
                              " confirm('" + GetString("general.deleteconfirmation") + "')) {\n " +
                              delPostback.Replace("'##'", "selectedItemType+';'+selectedItemId+';'+selectedItemParent") + ";\n" +
                              "}\n" +
                              "}\n";

        script += deleteScript;


        // Preselect tree item
        if (!RequestHelper.IsPostBack())
        {
            int  categoryId = QueryHelper.GetInteger("categoryid", 0);
            int  webpartId  = QueryHelper.GetInteger("webpartid", 0);
            bool reload     = QueryHelper.GetBoolean("reload", false);

            // Select category
            if (categoryId > 0)
            {
                WebPartCategoryInfo wci = WebPartCategoryInfoProvider.GetWebPartCategoryInfoById(categoryId);
                if (wci != null)
                {
                    // If not set explicitly stop reloading of right frame
                    if (!reload)
                    {
                        script += "doNotReloadContent = true;";
                    }
                    script += SelectAtferLoad(wci.CategoryPath, categoryId, "webpartcategory", wci.CategoryParentID);
                }
            }
            // Select webpart
            else if (webpartId > 0)
            {
                WebPartInfo wi = WebPartInfoProvider.GetWebPartInfo(webpartId);
                if (wi != null)
                {
                    WebPartCategoryInfo wci = WebPartCategoryInfoProvider.GetWebPartCategoryInfoById(wi.WebPartCategoryID);
                    if (wci != null)
                    {
                        // If not set explicitly stop reloading of right frame
                        if (!reload)
                        {
                            script += "doNotReloadContent = true;";
                        }
                        string path = wci.CategoryPath + "/" + wi.WebPartName;
                        script += SelectAtferLoad(path, webpartId, "webpart", wi.WebPartCategoryID);
                    }
                }
            }
            // Select root by default
            else
            {
                WebPartCategoryInfo wci = WebPartCategoryInfoProvider.GetWebPartCategoryInfoByCodeName("/");
                if (wci != null)
                {
                    script += SelectAtferLoad("/", wci.CategoryID, "webpartcategory", 0);
                }
            }
        }

        ltlScript.Text += ScriptHelper.GetScript(script);

        // Special browser class for RTL scrollbars correction
        pnlSubBox.CssClass = BrowserHelper.GetBrowserClass();
    }
Пример #6
0
    protected void Page_Load(object sender, EventArgs e)
    {
        // Register scripts
        this.RegisterExportScript();
        ScriptHelper.RegisterJQuery(this.Page);

        // Use only global settings for max tree nodes
        widgetTree.UseGlobalSettings = true;

        // Setup menu action images
        imgNewCategory.ImageUrl  = GetImageUrl("Objects/CMS_WidgetCategory/add.png");
        imgNewWidget.ImageUrl    = GetImageUrl("Objects/CMS_Widget/add.png");
        imgDeleteItem.ImageUrl   = GetImageUrl("Objects/CMS_Widget/delete.png");
        imgExportObject.ImageUrl = GetImageUrl("Objects/CMS_Widget/export.png");
        imgCloneWidget.ImageUrl  = GetImageUrl("Objects/CMS_Widget/clone.png");

        // Setup menu action labels
        lnkNewWidget.Text    = GetString("widgets.NewWidget");
        lnkDeleteItem.Text   = GetString("widgets.DeleteItem");
        lnkNewCategory.Text  = GetString("widgets.NewCategory");
        lnkExportObject.Text = GetString("widgets.ExportWidget");
        lnkCloneWidget.Text  = GetString("widgets.CloneWidget");

        // Setup menu action scripts
        lnkNewWidget.Attributes.Add("onclick", "NewItem('widget');");
        lnkNewCategory.Attributes.Add("onclick", "NewItem('widgetcategory');");
        lnkDeleteItem.Attributes.Add("onclick", "DeleteItem();");
        lnkExportObject.Attributes.Add("onclick", "ExportObject();");
        lnkCloneWidget.Attributes.Add("onclick", "CloneWidget();");

        // Tooltips
        lnkNewWidget.ToolTip    = GetString("widgets.NewWidget");
        lnkDeleteItem.ToolTip   = GetString("widgets.DeleteItem");
        lnkNewCategory.ToolTip  = GetString("widgets.NewCategory");
        lnkExportObject.ToolTip = GetString("widgets.ExportWidget");
        lnkCloneWidget.ToolTip  = GetString("widgets.CloneWidget");

        string script = "var doNotReloadContent = false;\n";

        // URLs for menu actions
        script += "var categoryURL = '" + URLHelper.ResolveUrl("~/CMSModules/Widgets/UI/Category_Frameset.aspx") + "';\n";
        script += "var categoryNewURL = '" + URLHelper.ResolveUrl("~/CMSModules/Widgets/UI/WidgetCategory_Edit.aspx") + "';\n";
        script += "var widgetURL = '" + URLHelper.ResolveUrl("~/CMSModules/Widgets/UI/Widget_Edit_Frameset.aspx") + "';\n";
        script += "var newWidgetURL = '" + URLHelper.ResolveUrl("~/CMSModules/Widgets/UI/Widget_New.aspx") + "';\n";
        script += "var cloneURL = '" + URLHelper.ResolveUrl("~/CMSModules/Widgets/Dialogs/Widget_Clone.aspx") + "';\n";
        script += "var webpartSelectorURL = '" + URLHelper.ResolveUrl("~/CMSModules/PortalEngine/UI/WebParts/Development/WebPartSelector.aspx") + "';\n";

        // Script for deleting widget or category
        string postbackRef  = ControlsHelper.GetPostBackEventReference(this.Page, "##");
        string deleteScript = "function DeleteItem() { \n" +
                              " if ((selectedItemId > 0) && (selectedItemParent > 0)) { " +
                              "   var message = (selectedItemType == 'widgetcategory') ? '" + GetString("widgets.deletecategoryconfirm") + "' : '" + GetString("widgets.deleteconfirm") + "';" +
                              "   if (confirm(message)) {\n " +
                              postbackRef.Replace("'##'", "'delete;'+selectedItemType+';'+selectedItemId+';'+selectedItemParent") + ";\n" +
                              "   }\n" +
                              " }\n" +
                              "}\n";

        script += deleteScript;

        // Script for new widget
        string newWidgetScript = "function OnSelectWebPart(webpartId) { \n" +
                                 " if ((webpartId > 0) && (selectedItemId > 0) && (selectedItemType == 'widgetcategory')) { \n" +
                                 postbackRef.Replace("'##'", "'newwidget;' + webpartId + ';' + selectedItemId") +
                                 "\n }  }\n";

        script += newWidgetScript;


        // Preselect tree item
        if (!RequestHelper.IsPostBack())
        {
            int  categoryId = QueryHelper.GetInteger("categoryid", 0);
            int  widgetId   = QueryHelper.GetInteger("widgetid", 0);
            bool reload     = QueryHelper.GetBoolean("reload", false);

            // Select category
            if (categoryId > 0)
            {
                WidgetCategoryInfo wci = WidgetCategoryInfoProvider.GetWidgetCategoryInfo(categoryId);
                if (wci != null)
                {
                    // If not set explicitly stop reloading of right frame
                    if (!reload)
                    {
                        script += "doNotReloadContent = true;";
                    }
                    script += SelectAtferLoad(wci.WidgetCategoryPath + "/", categoryId, "widgetcategory", wci.WidgetCategoryParentID);
                }
            }
            // Select widget
            else if (widgetId > 0)
            {
                WidgetInfo wi = WidgetInfoProvider.GetWidgetInfo(widgetId);
                if (wi != null)
                {
                    WidgetCategoryInfo wci = WidgetCategoryInfoProvider.GetWidgetCategoryInfo(wi.WidgetCategoryID);
                    if (wci != null)
                    {
                        // If not set explicitly stop reloading of right frame
                        if (!reload)
                        {
                            script += "doNotReloadContent = true;";
                        }
                        string path = wci.WidgetCategoryPath + "/" + wi.WidgetName;
                        script += SelectAtferLoad(path, widgetId, "widget", wi.WidgetCategoryID);
                    }
                }
            }
            // Select root by default
            else
            {
                WidgetCategoryInfo wci = WidgetCategoryInfoProvider.GetWidgetCategoryInfo("/");
                if (wci != null)
                {
                    script += SelectAtferLoad("/", wci.WidgetCategoryID, "widgetcategory", 0);
                }
            }
        }

        ltlScript.Text += ScriptHelper.GetScript(script);

        // Special browser class for RTL scrollbars correction
        pnlSubBox.CssClass = BrowserHelper.GetBrowserClass();
    }
    /// <summary>
    /// Handles the Load event of the Page control.
    /// </summary>
    protected void Page_Load(object sender, EventArgs e)
    {
        treeElem.UseGlobalSettings = true;

        // Register scripts
        ScriptHelper.RegisterJQuery(Page);
        RegisterExportScript();

        // Images
        imgNewCategory.ImageUrl  = GetImageUrl("Objects/CMS_PageTemplateCategory/new.png");
        imgNewTemplate.ImageUrl  = GetImageUrl("CMSModules/CMS_PageTemplates/addpagetemplate.png");
        imgDeleteItem.ImageUrl   = GetImageUrl("CMSModules/CMS_PageTemplates/delete.png");
        imgExportObject.ImageUrl = GetImageUrl("CMSModules/CMS_PageTemplates/exportobject.png");

        // Resource strings
        lnkDeleteItem.Text   = GetString("Development-PageTemplates_Tree.DeleteSelectedItem");
        lnkNewCategory.Text  = GetString("Development-PageTemplates_Tree.NewCategory");
        lnkNewTemplate.Text  = GetString("Development-PageTemplates_Tree.NewTemplate");
        lnkExportObject.Text = GetString("Development-PageTemplates_Tree.ExportObject");

        // Setup menu action scripts
        lnkNewTemplate.Attributes.Add("onclick", "NewItem('pagetemplate');");
        lnkNewCategory.Attributes.Add("onclick", "NewItem('pagetemplatecategory');");
        lnkDeleteItem.Attributes.Add("onclick", "DeleteItem();");
        lnkExportObject.Attributes.Add("onclick", "ExportObject();");

        // Tooltips
        lnkDeleteItem.ToolTip   = GetString("Development-PageTemplates_Tree.DeleteSelectedItem");
        lnkNewCategory.ToolTip  = GetString("Development-PageTemplates_Tree.NewCategory");
        lnkNewTemplate.ToolTip  = GetString("Development-PageTemplates_Tree.NewTemplate");
        lnkExportObject.ToolTip = GetString("Development-PageTemplates_Tree.ExportObject");

        string script = "var doNotReloadContent = false;\n";

        // URLs for menu actions
        script += " var pageTemplateCategoryURL = '" + URLHelper.ResolveUrl("~/CMSModules/PortalEngine/UI/PageTemplates/Category_Frameset.aspx") + "';";
        script += " var pageTemplateCategoryNewURL = '" + URLHelper.ResolveUrl("~/CMSModules/PortalEngine/UI/PageTemplates/PageTemplate_Category.aspx") + "';";
        script += " var pageTemplateURL = '" + URLHelper.ResolveUrl("~/CMSModules/PortalEngine/UI/PageTemplates/PageTemplate_Edit.aspx") + "';";
        script += " var pageTemplateNewURL = '" + URLHelper.ResolveUrl("~/CMSModules/PortalEngine/UI/PageTemplates/PageTemplate_New.aspx") + "';";
        script += " var pageTemplateTreeURL = '" + URLHelper.ResolveUrl("~/CMSModules/PortalEngine/UI/PageTemplates/PageTemplate_Tree.aspx") + "';";

        // Setup tree element
        treeElem.SelectPageTemplates = true;
        treeElem.UsePostBack         = false;

        // Script for deleting widget or category
        string delPostback  = ControlsHelper.GetPostBackEventReference(Page, "##");
        string deleteScript = "function DeleteItem() { \n" +
                              " if ((selectedItemId > 0) && (selectedItemParent > 0) && " +
                              " confirm('" + GetString("general.deleteconfirmation") + "')) {\n " +
                              delPostback.Replace("'##'", "selectedItemType+';'+selectedItemId+';'+selectedItemParent") + ";\n" +
                              "}\n" +
                              "}\n";

        script += deleteScript;

        // Preselect tree item
        if (!RequestHelper.IsPostBack())
        {
            // If template was edited select this template
            pageTemplateId = QueryHelper.GetInteger("templateid", 0);
            // Category
            categoryId = QueryHelper.GetInteger("categoryid", 0);
            // Parent category
            categoryId = QueryHelper.GetInteger("parentcategoryid", categoryId);

            bool reload = QueryHelper.GetBoolean("reload", false);

            // Select category
            if (categoryId > 0)
            {
                PageTemplateCategoryInfo ptci = PageTemplateCategoryInfoProvider.GetPageTemplateCategoryInfo(categoryId);
                if (ptci != null)
                {
                    // If not set explicitly stop reloading of right frame
                    if (!reload)
                    {
                        script += "doNotReloadContent = true;";
                    }
                    script += SelectAtferLoad(ptci.CategoryPath, categoryId, "pagetemplatecategory", ptci.ParentId, true);
                }
            }
            // Select widget
            else if (pageTemplateId > 0)
            {
                PageTemplateInfo pti = PageTemplateInfoProvider.GetPageTemplateInfo(pageTemplateId);
                if (pti != null)
                {
                    PageTemplateCategoryInfo ptci = PageTemplateCategoryInfoProvider.GetPageTemplateCategoryInfo(pti.CategoryID);
                    if (ptci != null)
                    {
                        // If not set explicitly stop reloading of right frame
                        if (!reload)
                        {
                            script += "doNotReloadContent = true;";
                        }
                        string path = ptci.CategoryPath + "/" + pti.CodeName;
                        script += SelectAtferLoad(path, pageTemplateId, "pagetemplate", pti.CategoryID, pti.IsReusable);
                    }
                }
            }
            // Select root by default
            else
            {
                PageTemplateCategoryInfo ptci = PageTemplateCategoryInfoProvider.GetPageTemplateCategoryInfoByCodeName("/");
                if (ptci != null)
                {
                    script += SelectAtferLoad("/", ptci.CategoryId, "pagetemplatecategory", 0, true);
                }
            }
        }

        ltlScript.Text += ScriptHelper.GetScript(script);

        // Special browser class for RTL scrollbars correction
        pnlSubBox.CssClass = BrowserHelper.GetBrowserClass();
    }
Пример #8
0
    protected void Page_Load(object sender, EventArgs e)
    {
        this.RegisterExportScript();

        //// Images
        imgNewCategory.ImageUrl  = GetImageUrl("Objects/CMS_WebPartCategory/add.png");
        imgNewReport.ImageUrl    = GetImageUrl("Objects/Reporting_report/add.png");
        imgDeleteItem.ImageUrl   = GetImageUrl("Objects/CMS_WebPart/delete.png");
        imgExportObject.ImageUrl = GetImageUrl("Objects/CMS_WebPart/export.png");
        imgCloneReport.ImageUrl  = GetImageUrl("CMSModules/CMS_WebParts/clone.png");

        // Resource strings
        lnkDeleteItem.Text   = GetString("Development-Report_Tree.DeleteSelected");
        lnkNewCategory.Text  = GetString("Development-Report_Tree.NewCategory");
        lnkNewReport.Text    = GetString("Development-Report_Tree.NewReport");
        lnkExportObject.Text = GetString("Development-Report_Tree.ExportObject");
        lnkCloneReport.Text  = GetString("Development-Report_Tree.CloneReport");

        // Setup menu action scripts
        lnkNewReport.Attributes.Add("onclick", "NewItem('report');");
        lnkNewCategory.Attributes.Add("onclick", "NewItem('reportcategory');");
        lnkDeleteItem.Attributes.Add("onclick", "DeleteItem();");
        lnkExportObject.Attributes.Add("onclick", "ExportObject();");
        lnkCloneReport.Attributes.Add("onclick", "CloneReport();");

        // Widgets
        lnkDeleteItem.ToolTip   = GetString("Development-Report_Tree.DeleteSelected");
        lnkNewCategory.ToolTip  = GetString("Development-Report_Tree.NewCategory");
        lnkNewReport.ToolTip    = GetString("Development-Report_Tree.NewReport");
        lnkExportObject.ToolTip = GetString("Development-Report_Tree.ExportObject");
        lnkCloneReport.ToolTip  = GetString("Development-Report_Tree.CloneReport");

        pnlSubBox.CssClass = BrowserHelper.GetBrowserClass();

        //// URLs for menu actions
        string script = "var categoryURL = '" + ResolveUrl("ReportCategory_Edit_Frameset.aspx") + "';\n";

        script += "var reportURL = '" + ResolveUrl("Report_Edit.aspx") + "';\n";
        script += "var doNotReloadContent = false;\n";

        // Script for deleting widget or category
        string delPostback  = ControlsHelper.GetPostBackEventReference(this.Page, "##");
        string deleteScript = "function DeleteItem() { \n" +
                              " if ((selectedItemId > 0) && (selectedItemParent > 0) && " +
                              " confirm('" + GetString("general.deleteconfirmation") + "')) {\n " +
                              delPostback.Replace("'##'", "selectedItemType+';'+selectedItemId+';'+selectedItemParent") + ";\n" +
                              "}\n" +
                              "}\n";

        script += deleteScript;

        // Preselect tree item
        if (!RequestHelper.IsPostBack())
        {
            int  categoryId = QueryHelper.GetInteger("categoryid", 0);
            int  reportID   = QueryHelper.GetInteger("reportid", 0);
            bool reload     = QueryHelper.GetBoolean("reload", false);

            // Select category
            if (categoryId > 0)
            {
                ReportCategoryInfo rci = ReportCategoryInfoProvider.GetReportCategoryInfo(categoryId);
                if (rci != null)
                {
                    // If not set explicitly stop reloading of right frame
                    if (!reload)
                    {
                        script += "doNotReloadContent = true;";
                    }
                    script += SelectAtferLoad(rci.CategoryPath, categoryId, "reportcategory", rci.CategoryParentID, true);
                }
            }
            // Select report
            else if (reportID > 0)
            {
                ReportInfo ri = ReportInfoProvider.GetReportInfo(reportID);
                if (ri != null)
                {
                    ReportCategoryInfo rci = ReportCategoryInfoProvider.GetReportCategoryInfo(ri.ReportCategoryID);
                    if (rci != null)
                    {
                        // If not set explicitly stop reloading of right frame
                        if (!reload)
                        {
                            script += "doNotReloadContent = true;";
                        }
                        string path = rci.CategoryPath + "/" + ri.ReportName;
                        script += SelectAtferLoad(path, reportID, "report", ri.ReportCategoryID, true);
                    }
                }
            }
            // Select root by default
            else
            {
                ReportCategoryInfo rci = ReportCategoryInfoProvider.GetReportCategoryInfo("/");
                if (rci != null)
                {
                    script += SelectAtferLoad("/", rci.CategoryID, "reportcategory", 0, true);
                }

                // Directly dispatch an action, if set by URL
                if (QueryHelper.GetString("action", null) == "newcategory")
                {
                    script += "NewItem('reportcategory');";
                }
            }
        }

        ltlScript.Text += ScriptHelper.GetScript(script);
    }