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 }