Example #1
0
 /// <summary>
 /// Initializes a new instance of the <see cref="MonitorDataSourceView"/> class.
 /// </summary>
 /// <param name="owner">The owner.</param>
 /// <param name="viewName">Name of the view.</param>
 public MonitorDataSourceView(MonitorDataSource owner, string viewName) : base(owner, viewName)
 {
     m_Owner = owner;
 }
        /// <summary>
        /// Raises the <see cref="E:System.Web.UI.Control.Init"/> event.
        /// </summary>
        /// <param name="e">An <see cref="T:System.EventArgs"/> object that contains the event data.</param>
        protected override void OnInit(EventArgs e)
        {
            //
            //  We have to have a ToolkitScriptManager on the page but, we can't require that the
            //  developer add one to the page because this might be a SharePoint environment
            //  so, we added this code to Page.Init to add a ToolkitScriptManager if there isn't one.
            //
            Page.Init += delegate(object sender, EventArgs e_Init)
            {
                if (ToolkitScriptManager.GetCurrent(Page) == null)
                {
                    ToolkitScriptManager sMgr = new ToolkitScriptManager();
                    if (Page.Form == null)
                    {
                        throw new HttpException("Control must be located inside of a <form> tag.");
                    }
                    Page.Form.Controls.AddAt(0, sMgr);
                }
            };

//            if (!Page.IsCallback)
            {
                m_GridView = new GridView();

                m_MonitorData = new MonitorDataSource();

                m_GridView.DataSource          = m_MonitorData;
                m_GridView.AutoGenerateColumns = false;
            }

            if (!DesignMode)
            {
                //
                //  Add our stylesheet
                //
                HtmlLink link = new HtmlLink();
                link.Href = Page.ClientScript.GetWebResourceUrl(this.GetType(),
                                                                "MVPSI.JAMSWeb.Controls.Resources.JAMSLoadingStyles.css");
                link.Attributes.Add("type", "text/css");
                link.Attributes.Add("rel", "stylesheet");
                Page.Header.Controls.Add(link);

                HtmlLink link2 = new HtmlLink();
                link2.Href = Page.ClientScript.GetWebResourceUrl(this.GetType(), "MVPSI.JAMSWeb.Controls.SubmitDialog.JAMSSubmitStyles.css");
                link2.Attributes.Add("type", "text/css");
                link2.Attributes.Add("rel", "stylesheet");
                Page.Header.Controls.Add(link2);
            }

            m_GridView.CssClass = "monitorControl";
            UpdatePanel         = new UpdatePanel {
                ID = GetChildControlID("UpdatePanel")
            };
            UpdatePanel.ChildrenAsTriggers = true;
            UpdatePanel.RenderMode         = UpdatePanelRenderMode.Block;

            //Setup loading dialog
            var popup = new ModalPopupExtender();

            popup.PopupControlID  = GetChildControlID("LoadingDialog");
            popup.DropShadow      = false;
            popup.RepositionMode  = ModalPopupRepositionMode.RepositionOnWindowResize;
            popup.TargetControlID = GetChildControlID("DummyButton");
            popup.ID         = GetChildControlID("PopupExtender");
            popup.BehaviorID = GetChildControlID("PopupExtender");

            Button button = new Button();

            button.ID = GetChildControlID("DummyButton");
            button.Style["display"]  = "none";
            button.Height            = 0;
            button.Width             = 0;
            button.UseSubmitBehavior = false;

            Panel loadingDialog = new Panel();
            Label loadingLabel  = new Label();
            Image img           = new Image();

            loadingLabel.Style["width"]  = "auto";
            loadingLabel.Style["margin"] = "4%";
            loadingLabel.Text            = "Loading...";

            img.ImageUrl = Page.ClientScript.GetWebResourceUrl(this.GetType(), "MVPSI.JAMSWeb.Controls.Resources.LoadIcon.gif");
            loadingDialog.Controls.Add(img);
            loadingDialog.Controls.Add(loadingLabel);

            loadingDialog.ID = GetChildControlID("LoadingDialog");
            loadingDialog.Style["height"] = "50px";
            loadingDialog.HorizontalAlign = HorizontalAlign.Left;
            loadingDialog.CssClass        = "loadingPopup";

            Panel noResultsPanel = new Panel();
            Label noResultsLabel = new Label();

            noResultsLabel.Text            = "No results found";
            noResultsLabel.Style["width"]  = "auto";
            noResultsLabel.Style["margin"] = "4%";

            noResultsPanel.ID = GetChildControlID("NoResultsPanel");
            noResultsPanel.Controls.Add(noResultsLabel);
            m_NoResultsPanel = noResultsPanel;

            m_MonitorDialog.ID         = GetChildControlID("MonitorDetail");
            m_MonitorDialog.ServerName = this.ServerName;

            var dialogPopup = new ModalPopupExtender();

            dialogPopup.PopupControlID  = m_MonitorDialog.ClientID;
            dialogPopup.DropShadow      = false;
            dialogPopup.RepositionMode  = ModalPopupRepositionMode.RepositionOnWindowResize;
            dialogPopup.TargetControlID = GetChildControlID("DummyButton2");
            dialogPopup.ID = GetChildControlID("DialogPopupExtender");
            dialogPopup.BackgroundCssClass = "modalBackground";
            m_MonitorDialog.Extender       = dialogPopup;
            m_MonitorDialog.ParentMonitor  = this;

            var dummyButton2 = new Button();

            dummyButton2.ID = GetChildControlID("DummyButton2");
            dummyButton2.Style["display"]  = "none";
            dummyButton2.Height            = 0;
            dummyButton2.Width             = 0;
            dummyButton2.UseSubmitBehavior = false;

            var errorDummyButton = new Button {
                ID = GetChildControlID("ErrorDummyButton"), UseSubmitBehavior = false
            };

            errorDummyButton.Style["Display"] = "None";

            m_ErrorPanel = new Panel {
                ID = GetChildControlID("ErrorDialogPanel")
            };
            m_ErrorPanel.Controls.Add(new Label {
                Text = "Error", CssClass = "tabContents"
            });
            m_ErrorPanel.Controls.Add(new Button {
                Text = "OK", ID = GetChildControlID("ErrorOk")
            });
            m_ErrorPanel.CssClass         = "modalPopup";
            m_ErrorPanel.Style["Display"] = "None";

            m_ErrorDialog = new ModalPopupExtender {
                ID = GetChildControlID("ErrorDialog")
            };
            m_ErrorDialog.PopupControlID     = m_ErrorPanel.ClientID;
            m_ErrorDialog.DropShadow         = false;
            m_ErrorDialog.RepositionMode     = ModalPopupRepositionMode.RepositionOnWindowResize;
            m_ErrorDialog.TargetControlID    = errorDummyButton.ClientID;
            m_ErrorDialog.BackgroundCssClass = "modalBackground";
            m_ErrorDialog.CancelControlID    = GetChildControlID("ErrorOk");
            m_ErrorDialog.BehaviorID         = m_ErrorDialog.ID;

            Control controlContainer = UpdatePanel.ContentTemplateContainer;

            controlContainer.Controls.Add(m_GridView);
            controlContainer.Controls.Add(m_MonitorData);
            controlContainer.Controls.Add(m_MonitorDialog);
            controlContainer.Controls.Add(m_MonitorDialog.Extender);

            controlContainer.Controls.Add(dummyButton2);
            controlContainer.Controls.Add(loadingDialog);
            controlContainer.Controls.Add(button);
            controlContainer.Controls.Add(popup);
            controlContainer.Controls.Add(noResultsPanel);
            controlContainer.Controls.Add(m_ErrorPanel);
            controlContainer.Controls.Add(m_ErrorDialog);
            controlContainer.Controls.Add(errorDummyButton);

            SubPanel = new Panel();
            controlContainer.Controls.Add(SubPanel);
            base.OnInit(e);
        }