コード例 #1
0
        /// <summary>
        /// Toggles the editor zone.
        /// </summary>
        /// <param name="webPart">The selected portlet.</param>
        /// <param name="page">Running Page instance.</param>
        internal static void ToggleEditorZone(IWebPart webPart, System.Web.UI.Page page)
        {
            var wpm = WebPartManager.GetCurrentWebPartManager(page);

            if (wpm == null)
            {
                return;
            }

            var mode             = wpm.DisplayMode;
            var selectedWebPart  = wpm.SelectedWebPart;
            var displaySidePanel = ((mode == WebPartManager.EditDisplayMode && selectedWebPart != null) || (mode == WebPartManager.CatalogDisplayMode) || (mode == WebPartManager.ConnectDisplayMode && selectedWebPart != null));

            if (!displaySidePanel)
            {
                return;
            }
            if (webPart == null)
            {
                return;
            }

            //var toolPanel = page.Master.FindControl("sndlgToolPanel") as HtmlGenericControl;
            var toolPanel = page.Master.FindControl("snToolPanel") as HtmlGenericControl;

            if (toolPanel == null)
            {
                throw new ApplicationException("sndlgToolPanel element does not exist in the MasterPage.");
            }

            string webPartName = string.Empty;
            var    portletBase = webPart as PortletBase;

            if (portletBase != null)
            {
                webPartName = portletBase.Name;
            }
            var webPartTypeName = webPart.GetType().Name;
            var title           = String.Format("{0} portlet properties ({1})", webPartName, webPartTypeName);
            //var callback = String.Format(@"SN.PortalRemoteControl.showDialog('{0}', {{ autoOpen: true, width: 550, height:600, minWidth: 500, minHeight: 550, resize: SN.PortalRemoteControl.ResizePortletEditorAccordion, title:'{1}' }});", toolPanel.ClientID, title);
            var callback   = String.Format(@"SN.PortalRemoteControl.showDialog('{0}', {{ autoOpen: true, width: 850, height:600, minWidth: 800, minHeight: 550, resize: SN.PortalRemoteControl.ResizePortletEditorAccordion }});", toolPanel.ClientID);
            var editorZone = page.Master.FindControlRecursive("EditorZone_Editor") as CollapsibleEditorZone;

            if (editorZone != null)
            {
                var p = page.ClientScript.GetPostBackEventReference(editorZone, "cancel");
                callback = String.Format(
                    @"SN.PortalRemoteControl.showDialog('{0}', {{ autoOpen: true, width: 850, height:600, minWidth: 800, minHeight: 550, resize: SN.PortalRemoteControl.ResizePortletEditorAccordion, title:'{1}', close: function(event,ui) {{ {2}; }} }} );",
                    toolPanel.ClientID, title, p);
            }

            UITools.RegisterStartupScript("PropertyGridEditorShow", callback, page);
        }
コード例 #2
0
        /// <summary>
        /// Toggles the editor zone.
        /// </summary>
        /// <param name="webPart">The selected portlet.</param>
        /// <param name="page">Running Page instance.</param>
        internal static void ToggleEditorZone(IWebPart webPart, System.Web.UI.Page page)
        {
            var wpm = WebPartManager.GetCurrentWebPartManager(page);
            if (wpm == null)
                return;

            var mode = wpm.DisplayMode;
            var selectedWebPart = wpm.SelectedWebPart;
            var displaySidePanel = ((mode == WebPartManager.EditDisplayMode && selectedWebPart != null) || (mode == WebPartManager.CatalogDisplayMode) || (mode == WebPartManager.ConnectDisplayMode && selectedWebPart != null));

            if (!displaySidePanel)
                return;
            if (webPart == null)
                return;

            //var toolPanel = page.Master.FindControl("sndlgToolPanel") as HtmlGenericControl;
            var toolPanel = page.Master.FindControl("snToolPanel") as HtmlGenericControl;
            if (toolPanel == null)
                throw new ApplicationException("sndlgToolPanel element does not exist in the MasterPage.");

            string webPartName = string.Empty;
            var portletBase = webPart as PortletBase;
            if (portletBase != null)
                webPartName = portletBase.Name;
            var webPartTypeName = webPart.GetType().Name;
            var title = String.Format("{0} portlet properties ({1})", webPartName, webPartTypeName);
            //var callback = String.Format(@"SN.PortalRemoteControl.showDialog('{0}', {{ autoOpen: true, width: 550, height:600, minWidth: 500, minHeight: 550, resize: SN.PortalRemoteControl.ResizePortletEditorAccordion, title:'{1}' }});", toolPanel.ClientID, title);
            var callback = String.Format(@"SN.PortalRemoteControl.showDialog('{0}', {{ autoOpen: true, width: 850, height:600, minWidth: 800, minHeight: 550, resize: SN.PortalRemoteControl.ResizePortletEditorAccordion }});", toolPanel.ClientID);
            var editorZone = page.Master.FindControlRecursive("EditorZone_Editor") as CollapsibleEditorZone;
            if (editorZone != null)
            {
                var p = page.ClientScript.GetPostBackEventReference(editorZone, "cancel");
                callback = String.Format(
                    @"SN.PortalRemoteControl.showDialog('{0}', {{ autoOpen: true, width: 850, height:600, minWidth: 800, minHeight: 550, resize: SN.PortalRemoteControl.ResizePortletEditorAccordion, title:'{1}', close: function(event,ui) {{ {2}; }} }} );",
                    toolPanel.ClientID, title, p);
            }

            UITools.RegisterStartupScript("PropertyGridEditorShow", callback , page);
        }