void ControlTreeDataLoader.LoadData() { if (postBack != null || AutoPostBack) { EwfPage.Instance.AddPostBack(postBack ?? EwfPage.Instance.DataUpdatePostBack); } CssClass = CssElementCreator.CssClass.ConcatenateWithSpace(CssClass); checkBox = new WebControl(HtmlTextWriterTag.Input); PreRender += delegate { AddCheckBoxAttributes(checkBox, this, checkBoxFormValue, radioButtonFormValue, radioButtonListItemId, postBack, AutoPostBack, onClickJsMethods); checkBox.Attributes.Add("class", CssElementCreator.CssClass); }; Controls.Add(checkBox); EwfLabel labelControl = null; if (label.Any()) { labelControl = new EwfLabel { Text = label, CssClass = CssElementCreator.CssClass }; Controls.Add(labelControl); } if (ToolTip != null || ToolTipControl != null) { new ToolTip(ToolTipControl ?? EnterpriseWebFramework.Controls.ToolTip.GetToolTipTextControl(ToolTip), label.Any() ? labelControl : checkBox); } }
private Control getProcessingDialog() { /* * We switched from an animated GIF to a JavaScript-based spinner due to a number of benefits. * First, IE stops animating all GIFs when a request is made, even with the latest version. They do not believe this is a bug. * Firefox stops animating GIFs in other situations, such as when we hide the processing dialog when the user wants to attempt * the request again. * In both of the above situations, there are a number of convoluted hacks that fix the problem in some situations, but not all. One example is * enumerating the images in the document in JavaScript and setting the src attribute to the value of the src attribute. * The above problems still exist even if you use CSS to display the image, using the background-image style. * An alternate situation may be to use a PNG and use CSS3 animations to rotate the image, making it spin. However browser support still * isn't solid for CSS3 animations, such as all IE versions before IE10. * Another point against images is that you have to prevent dragging and disable selection, to make the interface look more professional. * Spin.js also has the benefit of being fully compatible with all browsers across the board. */ // These are used by the Standard Library JavaScript file. const string dialogId = "ewfProcessingDialog"; const string spinnerId = "ewfSpinner"; var spinnerParent = new EwfLabel { ClientIDMode = ClientIDMode.Static, ID = spinnerId }; spinnerParent.Style.Add(HtmlTextWriterStyle.Position, "relative"); spinnerParent.Style.Add(HtmlTextWriterStyle.MarginLeft, "25px"); spinnerParent.Style.Add(HtmlTextWriterStyle.MarginRight, "40px"); return (new Block( new Paragraph( spinnerParent, Translation.Processing.GetLiteralControl(), getProcessingDialogEllipsisDot(1), getProcessingDialogEllipsisDot(2), getProcessingDialogEllipsisDot(3)) { CssClass = processingDialogProcessingParagraphClass }, new Paragraph( new CustomButton(() => "stopPostBackRequest()") { ActionControlStyle = new TextActionControlStyle(Translation.ThisSeemsToBeTakingAWhile) }) { CssClass = processingDialogTimeOutParagraphClass }) { ClientIDMode = ClientIDMode.Static, ID = dialogId, CssClass = processingDialogBlockInactiveClass }); }