using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using CMS.UIControls;
using CMS.GlobalHelper;
using CMS.PortalEngine;
using CMS.ExtendedControls.ActionsConfig;
using CMS.SettingsProvider;
using CMS.ExtendedControls;
using CMS.CMSHelper;
public partial class CMSModules_PortalEngine_Controls_WebParts_WebPartEditCSS : CMSPreviewControl
{
#region "Variables"
private WebPartInfo wpi = null;
private int previewState = 0;
protected bool startWithFullScreen = false;
#endregion
#region "Properties"
///
/// Messages placeholder
///
public override MessagesPlaceHolder MessagesPlaceHolder
{
get
{
return pnlMessagePlaceholder;
}
}
#endregion
#region "Methods"
///
/// Page load.
///
protected void Page_Load(object sender, EventArgs e)
{
previewState = GetPreviewStateFromCookies(CMSPreviewControl.WEBPARTCSS);
startWithFullScreen = previewState != 0;
// Hide to better fullscreen load
bool hide = (BrowserHelper.IsSafari() || BrowserHelper.IsChrome());
pnlContent.Attributes["style"] = (startWithFullScreen && !hide) ? "display:none" : "display:block";
// Register preview scripts
ScriptHelper.RegisterClientScriptBlock(Page, typeof(String), "performAction", ScriptHelper.GetScript("function actionPerformed(action) { " + Page.ClientScript.GetPostBackEventReference(btnAction, "#").Replace("'#'", "action") + ";}"));
RegisterResizeHeaders();
wpi = CMSContext.EditedObject as WebPartInfo;
if ((wpi != null) && !URLHelper.IsPostback())
{
etaCSS.Text = wpi.WebPartCSS;
}
InitHeaderActions();
RegisterInitScripts(pnlContent.ClientID, pnlMenu.ClientID, startWithFullScreen);
}
///
/// Init menu
///
private void InitHeaderActions()
{
// Save action
SaveAction save = new SaveAction(Page);
headerActions.ActionsList.Add(save);
// Preview
HeaderAction preview = new HeaderAction()
{
ControlType = HeaderActionTypeEnum.LinkButton,
Text = GetString("general.preview"),
OnClientClick = "performToolbarAction('split');return false;",
ImageUrl = GetImageUrl("CMSModules/CMS_Content/EditMenu/Preview.png"),
SmallImageUrl = GetImageUrl("CMSModules/CMS_Content/EditMenu/16/Preview.png"),
Visible = (previewState == 0),
Tooltip = GetString("preview.tooltip")
};
headerActions.ActionsList.Add(preview);
headerActions.ActionPerformed += (sender, e) =>
{
if (e.CommandName == ComponentEvents.SAVE)
{
Save();
}
};
}
///
/// Handle btnOK's OnClick event.
///
protected void Save()
{
string errorMessage = "";
if (wpi != null)
{
// Update web part CSS
try
{
wpi.WebPartCSS = etaCSS.Text;
WebPartInfoProvider.SetWebPartInfo(wpi);
ShowChangesSaved();
}
catch (Exception ex)
{
errorMessage = ex.Message;
}
// Show error message
if (errorMessage != "")
{
ShowError(errorMessage);
}
RegisterRefreshScript();
}
}
protected void btnAction_Clicked(object sender, EventArgs ea)
{
Save();
}
#endregion
}