Exemplo n.º 1
0
 private void PrepareLabel(BocCheckBoxRenderingContext renderingContext, string description, Label labelControl)
 {
     if (renderingContext.Control.IsDescriptionEnabled)
     {
         labelControl.Text   = description;
         labelControl.Width  = Unit.Empty;
         labelControl.Height = Unit.Empty;
         labelControl.ApplyStyle(renderingContext.Control.LabelStyle);
     }
 }
Exemplo n.º 2
0
        private void PrepareImage(BocCheckBoxRenderingContext renderingContext, Image imageControl, string description)
        {
            var imageUrl = ResourceUrlFactory.CreateResourceUrl(
                typeof(BocCheckBoxQuirksModeRenderer),
                ResourceType.Image,
                renderingContext.Control.Value.Value ? c_trueIcon : c_falseIcon);

            imageControl.ImageUrl      = imageUrl.GetUrl();
            imageControl.AlternateText = description ?? string.Empty;
            imageControl.GenerateEmptyAlternateText = true;
            imageControl.Style["vertical-align"]    = "middle";
        }
Exemplo n.º 3
0
        private void RegisterStartupScriptIfNeeded(BocCheckBoxRenderingContext renderingContext)
        {
            if (renderingContext.Control.Page.ClientScript.IsStartupScriptRegistered(typeof(BocCheckBoxQuirksModeRenderer), s_startUpScriptKey))
            {
                return;
            }

            string startupScript = string.Format(
                "BocCheckBox_InitializeGlobals ('{0}', '{1}');",
                renderingContext.Control.DefaultTrueDescription,
                renderingContext.Control.DefaultFalseDescription);

            renderingContext.Control.Page.ClientScript.RegisterStartupScriptBlock(renderingContext.Control, typeof(BocCheckBoxQuirksModeRenderer), s_startUpScriptKey, startupScript);
        }
Exemplo n.º 4
0
        private string GetDescription(BocCheckBoxRenderingContext renderingContext)
        {
            string trueDescription  = null;
            string falseDescription = null;

            if (renderingContext.Control.IsDescriptionEnabled)
            {
                string defaultTrueDescription  = renderingContext.Control.DefaultTrueDescription;
                string defaultFalseDescription = renderingContext.Control.DefaultFalseDescription;

                trueDescription  = (string.IsNullOrEmpty(renderingContext.Control.TrueDescription) ? defaultTrueDescription : renderingContext.Control.TrueDescription);
                falseDescription = (string.IsNullOrEmpty(renderingContext.Control.FalseDescription) ? defaultFalseDescription : renderingContext.Control.FalseDescription);
            }
            return(renderingContext.Control.Value.Value ? trueDescription : falseDescription);
        }
Exemplo n.º 5
0
        private string GetScriptParameters(BocCheckBoxRenderingContext renderingContext)
        {
            string label    = renderingContext.Control.IsDescriptionEnabled ? "document.getElementById ('" + GetLabelName(renderingContext) + "')" : "null";
            string checkBox = "document.getElementById ('" + renderingContext.Control.GetValueName() + "')";
            string script   = " ("
                              + checkBox + ", "
                              + label + ", "
                              + (string.IsNullOrEmpty(renderingContext.Control.TrueDescription) ? "null" : "'" + renderingContext.Control.TrueDescription + "'") + ", "
                              + (string.IsNullOrEmpty(renderingContext.Control.FalseDescription) ? "null" : "'" + renderingContext.Control.FalseDescription + "'") + ");";

            if (renderingContext.Control.IsAutoPostBackEnabled)
            {
                script += renderingContext.Control.Page.ClientScript.GetPostBackEventReference(renderingContext.Control, "") + ";";
            }
            return(script);
        }
Exemplo n.º 6
0
        /// <summary>
        /// Renders an image and label in readonly mode, a checkbox and label in edit mode.
        /// </summary>
        public void Render(BocCheckBoxRenderingContext renderingContext)
        {
            ArgumentUtility.CheckNotNull("renderingContext", renderingContext);

            AddAttributesToRender(renderingContext, false);
            renderingContext.Writer.RenderBeginTag(HtmlTextWriterTag.Span);

            Label labelControl = new Label {
                ID = GetLabelName(renderingContext), ClientIDMode = ClientIDMode.Static
            };
            HtmlInputCheckBox checkBoxControl = new HtmlInputCheckBox {
                ID = renderingContext.Control.GetValueName(), ClientIDMode = ClientIDMode.Static
            };
            Image imageControl = new Image {
                ID = renderingContext.Control.ClientID + "Image"
            };

            string description = GetDescription(renderingContext);

            if (renderingContext.Control.IsReadOnly)
            {
                PrepareImage(renderingContext, imageControl, description);
                PrepareLabel(renderingContext, description, labelControl);

                imageControl.RenderControl(renderingContext.Writer);
                labelControl.RenderControl(renderingContext.Writer);
            }
            else
            {
                bool hasClientScript = DetermineClientScriptLevel(renderingContext);
                if (hasClientScript)
                {
                    PrepareScripts(renderingContext, checkBoxControl, labelControl);
                }

                checkBoxControl.Checked  = renderingContext.Control.Value.Value;
                checkBoxControl.Disabled = !renderingContext.Control.Enabled;

                PrepareLabel(renderingContext, description, labelControl);

                checkBoxControl.RenderControl(renderingContext.Writer);
                labelControl.RenderControl(renderingContext.Writer);
            }

            renderingContext.Writer.RenderEndTag();
        }
Exemplo n.º 7
0
        private void PrepareScripts(BocCheckBoxRenderingContext renderingContext, HtmlInputCheckBox checkBoxControl, Label labelControl)
        {
            string checkBoxScript;
            string labelScript;

            if (renderingContext.Control.Enabled)
            {
                RegisterStartupScriptIfNeeded(renderingContext);

                string script = GetScriptParameters(renderingContext);
                checkBoxScript = "BocCheckBox_OnClick" + script;
                labelScript    = "BocCheckBox_ToggleCheckboxValue" + script;
            }
            else
            {
                checkBoxScript = "return false;";
                labelScript    = "return false;";
            }
            checkBoxControl.Attributes.Add("onclick", checkBoxScript);
            labelControl.Attributes.Add("onclick", labelScript);
        }
Exemplo n.º 8
0
 private string GetLabelName(BocCheckBoxRenderingContext renderingContext)
 {
     return(renderingContext.Control.ClientID + "_TextValue");
 }
Exemplo n.º 9
0
 private bool DetermineClientScriptLevel(BocCheckBoxRenderingContext renderingContext)
 {
     return(!renderingContext.Control.IsDesignMode);
 }