HEX
Server: Microsoft-IIS/8.5
System: Windows NT YDAWBH120 6.3 build 9600 (Windows Server 2012 R2 Standard Edition) AMD64
User: tentjecom_web (0)
PHP: 7.4.14
Disabled: NONE
Upload Files
File: D:/HostingSpaces/RMourik/bassol.nl/CMS/CMSModules/Content/Controls/TreeActionsPanel.ascx.cs
using System;
using System.Collections.Generic;
using System.Text;

using CMS.Helpers;
using CMS.UIControls;

public partial class CMSModules_Content_Controls_TreeActionsPanel : CMSUserControl
{
    #region "Variables"

    private Dictionary<string, string> mJsModuleData;

    #endregion


    #region "Properties"

    /// <summary>
    /// Dictionary containing button's arguments for JavaScript module
    /// </summary>
    public Dictionary<string, string> JsModuleData
    {
        get
        {
            return mJsModuleData ?? (mJsModuleData = new Dictionary<string, string>());
        }
    }


    /// <summary>
    /// Mode to be considered as selected.
    /// </summary>
    public string SelectedMode
    {
        get
        {
            string mode = ValidationHelper.GetString(GetValue("SelectedMode"), null);
            if (String.IsNullOrEmpty(mode))
            {
                mode = ValidationHelper.GetString(UIContext[UIContextDataItemName.SELECTEDMODE], "edit");
            }
            return mode;
        }
        set
        {
            SetValue("SelectedMode", value);
        }
    }


    /// <summary>
    /// Indicates if control is placed in Ecommerce UI and some buttons should not be visible.
    /// </summary>
    public bool ShowModeMenu
    {
        get
        {
            return ValidationHelper.GetBoolean(GetValue("ShowModeMenu"), true);
        }
        set
        {
            SetValue("ShowModeMenu", value);
        }
    }

    #endregion


    #region "Methods & Events"

    /// <summary>
    /// Page_Load event handler.
    /// </summary>
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!StopProcessing)
        {
            SetupControls();
        }
    }


    /// <summary>
    /// Setups controls.
    /// </summary>
    private void SetupControls()
    {
        if (ShowModeMenu)
        {
            InitViewModeButtons();
        }
        else
        {
            plcContentButtons.Visible = false;
        }

        InitActionButtons();
    }


    /// <summary>
    /// Initializes action button's tooltips and screen reader description.
    /// </summary>
    private void InitActionButtons()
    {
        btnNew.ToolTip = GetString("content.ui.new");
        btnDelete.ToolTip = GetString("content.ui.delete");
        btnCopy.ToolTip = GetString("content.ui.copy");
        btnMove.ToolTip = GetString("content.ui.move");
        btnUp.ToolTip = GetString("content.ui.up");
        btnDown.ToolTip = GetString("content.ui.down");

        // Hide search button in Ecommerce
        if (ShowModeMenu)
        {
            btnSearch.ToolTip = GetString("general.search");
        }
        else
        {
            btnSearch.Visible = false;
        }
    }


    /// <summary>
    /// Initializes view mode switchers.
    /// </summary>
    private void InitViewModeButtons()
    {
        btnEdit.Attributes.Add("data-view-mode", "edit");
        btnPreview.Attributes.Add("data-view-mode", "preview");
        btnListing.Attributes.Add("data-view-mode", "listing");

        btnEdit.ToolTip = GetString("mode.edittooltip");
        btnPreview.ToolTip = GetString("mode.previewtooltip");
        btnListing.ToolTip = GetString("mode.listingtooltip");

        btnEdit.Text = GetString("content.ui.edit");
        btnPreview.Text = GetString("content.ui.preview");
        btnListing.Text = GetString("content.ui.list");

        string elemsIds = "#" + btnEdit.ClientID + "," + "#" + btnPreview.ClientID + "," + "#" + btnListing.ClientID;

        // Add parameters for JavaScript module
        JsModuleData.Add("elemsSelector", elemsIds);

        string defaultClientID;
        switch (SelectedMode)
        {
            case "preview":
                defaultClientID = btnPreview.ClientID;
                break;

            case "listing":
                defaultClientID = btnListing.ClientID;
                break;

            default:
                defaultClientID = btnEdit.ClientID;
                break;
        }

        JsModuleData.Add("defaultSelection", "#" + defaultClientID);

        ScriptHelper.RegisterModule(Page, "CMS/ContentMenu", JsModuleData);
    }

    #endregion
}