示例#1
0
    /// <summary>
    /// Initializes the control properties.
    /// </summary>
    public void SetupControl()
    {
        // Do not hide for roles in edit or preview mode
        switch (ViewMode)
        {
        case ViewModeEnum.Edit:
        case ViewModeEnum.EditLive:
        case ViewModeEnum.EditDisabled:
        case ViewModeEnum.Design:
        case ViewModeEnum.DesignDisabled:
        case ViewModeEnum.EditNotCurrent:
        case ViewModeEnum.Preview:
            SetValue("DisplayToRoles", String.Empty);
            break;
        }

        if (!StopProcessing)
        {
            // Load the properties
            RegionTitle             = DataHelper.GetNotEmpty(GetValue("RegionTitle"), RegionTitle);
            RegionType              = CMSEditableRegionTypeEnumFunctions.GetRegionTypeEnum(DataHelper.GetNotEmpty(GetValue("RegionType"), CMSEditableRegionTypeEnumFunctions.GetRegionTypeString(RegionType)));
            DialogWidth             = DataHelper.GetNotZero(GetValue("DialogWidth"), DialogWidth);
            DialogHeight            = DataHelper.GetNotZero(GetValue("DialogHeight"), DialogHeight);
            HTMLEditorCssStylesheet = ValidationHelper.GetString(GetValue("HtmlEditorCssStylesheet"), HTMLEditorCssStylesheet);
            WordWrap                = ValidationHelper.GetBoolean(GetValue("WordWrap"), WordWrap);
            MinLength               = DataHelper.GetNotZero(GetValue("MinLength"), MinLength);
            MaxLength               = DataHelper.GetNotZero(GetValue("MaxLength"), MaxLength);
            HtmlAreaToolbar         = DataHelper.GetNotEmpty(GetValue("HtmlAreaToolbar"), HtmlAreaToolbar);
            HtmlAreaToolbarLocation = DataHelper.GetNotEmpty(GetValue("HtmlAreaToolbarLocation"), HtmlAreaToolbarLocation);
        }
    }
示例#2
0
    protected override void OnInit(EventArgs e)
    {
        DocumentManager.OnValidateData += new EventHandler <DocumentManagerEventArgs>(DocumentManager_OnValidateData);
        DocumentManager.OnAfterAction  += new EventHandler <DocumentManagerEventArgs>(DocumentManager_OnAfterAction);

        // Set the region type manually for ASPX mode
        if (QueryHelper.Contains("regiontype"))
        {
            ucEditableText.RegionType = CMSEditableRegionTypeEnumFunctions.GetRegionTypeEnum(QueryHelper.GetString("regiontype", string.Empty));
            if (ucEditableText.RegionType == CMSEditableRegionTypeEnum.HtmlEditor)
            {
                // HtmlEditor needs toolbar location defined (due to toolbar positioning and editing area padding)
                ucEditableText.HtmlAreaToolbarLocation = "out:cktoolbar";
            }
        }

        ucEditableText.ViewMode        = CheckPermissions();
        ucEditableText.DataControl     = CurrentWebPartInstance as ISimpleDataContainer;
        ucEditableText.CurrentPageInfo = CurrentPageInfo;
        ucEditableText.IsDialogEdit    = true;
        ucEditableText.SetupControl();

        string title = GetString("Content.EditTextTitle");

        if (!String.IsNullOrEmpty(PageTitleSuffix))
        {
            title += " - " + HTMLHelper.HTMLEncode(PageTitleSuffix);
        }
        SetTitle("CMSModules/CMS_PortalEngine/OnSiteEdit/EditText.png", title, null, null);

        base.OnInit(e);

        CSSHelper.RegisterCSSLink(Page, "Design", "OnSiteEdit.css");
        ScriptHelper.RegisterJQuery(this.Page);

        menuElem.ShowSaveAndClose = true;

        if (ucEditableText.RegionType == CMSEditableRegionTypeEnum.TextArea)
        {
            string resizeScript = @"
            var resizeTextAreaTimer;

            // DOM ready
            jQuery(document).ready( function() { ResizeEditableArea(200); });

            // Window resize
            jQuery(window).resize(function () { ResizeEditableArea(100); });

            function ResizeEditableArea(timeout) {
                clearTimeout(resizeTextAreaTimer);
                resizeTextAreaTimer = window.setTimeout(function () {
                    var textarea = jQuery('.EditableTextTextBox');
                    var editableTextContainer = jQuery('.EditableTextContainer');
                    var editableTextEdit = jQuery('.EditableTextEdit');
                    var borderMargin1 = textarea.outerHeight(true) - textarea.height();
                    var borderMargin2 = editableTextEdit.outerHeight(true) - editableTextEdit.height();
                    var borderMargin3 = editableTextContainer.outerHeight(true) - editableTextContainer.height();
                    var height = jQuery('.ModalDialogContent').height() - borderMargin1 - borderMargin2 - borderMargin3;
                    textarea.height(height);
            }, timeout); }";

            ScriptHelper.RegisterClientScriptBlock(this, typeof(Page), "ResizeEditableArea", ScriptHelper.GetScript(resizeScript));
        }

        CurrentDeviceInfo device = CMSContext.CurrentDevice;

        // Resize of HTML area is handled from editor itself
        if ((ucEditableText.RegionType == CMSEditableRegionTypeEnum.HtmlEditor) && !device.IsMobile)
        {
            // Hide editor area before its fully loaded
            pnlEditor.Style.Add("visibility", "hidden");
        }

        if (device.IsMobile)
        {
            // Do not use fixed positioning for mobile devices
            (CurrentMaster.HeaderContainer as CMSPanel).FixedPosition = false;
        }
    }
示例#3
0
    protected override void OnInit(EventArgs e)
    {
        DocumentManager.OnValidateData += DocumentManager_OnValidateData;
        DocumentManager.OnAfterAction  += DocumentManager_OnAfterAction;

        // Web part property macros need to be resolved manually in the EditText dialog.
        // In portal engine, macro resolving is being handled by the CMSAbstractWebpart control which cannot be used in this page.
        ucEditableText.OnGetValue += ucEditableText_OnGetValue;

        // Process ASPX template parameters
        if (QueryHelper.Contains("regiontype"))
        {
            ucEditableText.RegionType = CMSEditableRegionTypeEnumFunctions.GetRegionTypeEnum(QueryHelper.GetString("regiontype", string.Empty));
            if (ucEditableText.RegionType == CMSEditableRegionTypeEnum.HtmlEditor)
            {
                // HtmlEditor needs toolbar location defined (due to toolbar positioning and editing area padding)
                ucEditableText.HtmlAreaToolbarLocation = "Out:CKToolbar";
            }

            // Min/Max length
            ucEditableText.MaxLength = QueryHelper.GetInteger("maxl", ucEditableText.MaxLength);
            ucEditableText.MinLength = QueryHelper.GetInteger("minl", ucEditableText.MinLength);

            // Word wrap
            ucEditableText.WordWrap = QueryHelper.GetBoolean("wordwrap", ucEditableText.WordWrap);

            // Upload image dimensions
            ucEditableText.ResizeToHeight      = QueryHelper.GetInteger("resizetoheight", ucEditableText.ResizeToHeight);
            ucEditableText.ResizeToWidth       = QueryHelper.GetInteger("resizetowidth", ucEditableText.ResizeToHeight);
            ucEditableText.ResizeToMaxSideSize = QueryHelper.GetInteger("resizetomaxsidesize", ucEditableText.ResizeToHeight);

            // Toolbar set
            ucEditableText.HtmlAreaToolbar = QueryHelper.GetString("toolbarset", ucEditableText.HtmlAreaToolbar);
        }

        ucEditableText.ViewMode        = CheckPermissions();
        ucEditableText.DataControl     = CurrentWebPartInstance;
        ucEditableText.CurrentPageInfo = CurrentPageInfo;
        ucEditableText.SetupControl();

        CurrentMaster.FooterContainer.Visible = false;
        CurrentMaster.PanelContent.RemoveCssClass("dialog-content");

        string title = GetString("Content.EditTextTitle");

        if (!String.IsNullOrEmpty(PageTitleSuffix))
        {
            title += " - " + HTMLHelper.HTMLEncode(PageTitleSuffix);
        }
        SetTitle(title);

        base.OnInit(e);

        CssRegistration.RegisterCssLink(Page, "Design", "OnSiteEdit.css");
        ScriptHelper.RegisterJQuery(Page);

        menuElem.ShowSaveAndClose = true;

        String resize = @"function resizeEditor() {$cmsj('.cke_contents').height($cmsj(window).height()-$cmsj('.DialogsPageHeader').height() - $cmsj('.cke_top').height() - $cmsj('.cke_bottom').height() - 20) }
        $cmsj(window).resize(function() {resizeEditor()});";

        ScriptHelper.RegisterClientScriptBlock(this, typeof(Page), "resizeHeight", ScriptHelper.GetScript(resize));

        if (ucEditableText.RegionType == CMSEditableRegionTypeEnum.TextArea)
        {
            const string resizeScript = @"
            var resizeTextAreaTimer;

            // DOM ready
            $cmsj(document).ready( function() { ResizeEditableArea(200); });

            // Window resize
            $cmsj(window).resize(function () { ResizeEditableArea(100); });

            function ResizeEditableArea(timeout) {
                clearTimeout(resizeTextAreaTimer);
                resizeTextAreaTimer = window.setTimeout(function () {
                    var textarea = $cmsj('.EditableTextTextBox');
                    var editableTextContainer = $cmsj('.EditableTextContainer');
                    var editableTextEdit = $cmsj('.EditableTextEdit');
                    var borderMargin1 = textarea.outerHeight(true) - textarea.height();
                    var borderMargin2 = editableTextEdit.outerHeight(true) - editableTextEdit.height();
                    var borderMargin3 = editableTextContainer.outerHeight(true) - editableTextContainer.height();
                    var height = $cmsj('.dialog-content').height() - borderMargin1 - borderMargin2 - borderMargin3;
                    textarea.height(height);
             }, timeout); }";


            ScriptHelper.RegisterClientScriptBlock(this, typeof(Page), "ResizeEditableArea", ScriptHelper.GetScript(resizeScript));
        }
    }
    protected override void OnInit(EventArgs e)
    {
        DocumentManager.OnValidateData += DocumentManager_OnValidateData;
        DocumentManager.OnAfterAction  += DocumentManager_OnAfterAction;

        // Process ASPX template parameters
        if (QueryHelper.Contains("regiontype"))
        {
            ucEditableText.RegionType = CMSEditableRegionTypeEnumFunctions.GetRegionTypeEnum(QueryHelper.GetString("regiontype", string.Empty));
            if (ucEditableText.RegionType == CMSEditableRegionTypeEnum.HtmlEditor)
            {
                // HtmlEditor needs toolbar location defined (due to toolbar positioning and editing area padding)
                ucEditableText.HtmlAreaToolbarLocation = "Out:CKToolbar";
            }

            // Min/Max length
            ucEditableText.MaxLength = QueryHelper.GetInteger("maxl", ucEditableText.MaxLength);
            ucEditableText.MinLength = QueryHelper.GetInteger("minl", ucEditableText.MinLength);

            // Editor stylesheet
            ucEditableText.HTMLEditorCssStylesheet = QueryHelper.GetString("editorcss", ucEditableText.HTMLEditorCssStylesheet);

            // Word wrap
            ucEditableText.WordWrap = QueryHelper.GetBoolean("wordwrap", ucEditableText.WordWrap);

            // Upload image dimensions
            ucEditableText.ResizeToHeight      = QueryHelper.GetInteger("resizetoheight", ucEditableText.ResizeToHeight);
            ucEditableText.ResizeToWidth       = QueryHelper.GetInteger("resizetowidth", ucEditableText.ResizeToHeight);
            ucEditableText.ResizeToMaxSideSize = QueryHelper.GetInteger("resizetomaxsidesize", ucEditableText.ResizeToHeight);

            // Toolbar set
            ucEditableText.HtmlAreaToolbar = QueryHelper.GetString("toolbarset", ucEditableText.HtmlAreaToolbar);
        }

        ucEditableText.ViewMode        = CheckPermissions();
        ucEditableText.DataControl     = CurrentWebPartInstance;
        ucEditableText.CurrentPageInfo = CurrentPageInfo;
        ucEditableText.IsDialogEdit    = true;
        ucEditableText.SetupControl();

        string title = GetString("Content.EditTextTitle");

        if (!String.IsNullOrEmpty(PageTitleSuffix))
        {
            title += " - " + HTMLHelper.HTMLEncode(PageTitleSuffix);
        }
        SetTitle(title);

        base.OnInit(e);

        CSSHelper.RegisterCSSLink(Page, "Design", "OnSiteEdit.css");
        ScriptHelper.RegisterJQuery(Page);

        menuElem.ShowSaveAndClose = true;

        if (ucEditableText.RegionType == CMSEditableRegionTypeEnum.TextArea)
        {
            const string resizeScript = @"
            var resizeTextAreaTimer;

            // DOM ready
            jQuery(document).ready( function() { ResizeEditableArea(200); });

            // Window resize
            jQuery(window).resize(function () { ResizeEditableArea(100); });

            function ResizeEditableArea(timeout) {
                clearTimeout(resizeTextAreaTimer);
                resizeTextAreaTimer = window.setTimeout(function () {
                    var textarea = jQuery('.EditableTextTextBox');
                    var editableTextContainer = jQuery('.EditableTextContainer');
                    var editableTextEdit = jQuery('.EditableTextEdit');
                    var borderMargin1 = textarea.outerHeight(true) - textarea.height();
                    var borderMargin2 = editableTextEdit.outerHeight(true) - editableTextEdit.height();
                    var borderMargin3 = editableTextContainer.outerHeight(true) - editableTextContainer.height();
                    var height = jQuery('.ModalDialogContent').height() - borderMargin1 - borderMargin2 - borderMargin3;
                    textarea.height(height);
            }, timeout); }";

            ScriptHelper.RegisterClientScriptBlock(this, typeof(Page), "ResizeEditableArea", ScriptHelper.GetScript(resizeScript));
        }

        CurrentDeviceInfo device = DeviceContext.CurrentDevice;

        // Resize of HTML area is handled from editor itself
        if ((ucEditableText.RegionType == CMSEditableRegionTypeEnum.HtmlEditor) && !device.IsMobile)
        {
            // Hide editor area before its fully loaded
            pnlEditor.Style.Add("visibility", "hidden");
        }

        if (device.IsMobile)
        {
            // Do not use fixed positioning for mobile devices
            (CurrentMaster.HeaderContainer as CMSPanel).FixedPosition = false;
        }
    }