Created
June 12, 2015 14:12
-
-
Save bgilbert6/3e0e1e2d9ff8bf9ea861 to your computer and use it in GitHub Desktop.
ModalWindow.vb
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Imports Microsoft.VisualBasic | |
Public Class ModalWindow | |
Inherits BaseModal | |
Public Property HeadingTitle As String = "" | |
Public Property PreventDefault As Boolean = False | |
Public Property DataID As String | |
Get | |
Dim o As Object = ViewState("DataID") | |
If o IsNot Nothing Then | |
Return DirectCast(o, String) | |
End If | |
Return String.Empty | |
End Get | |
Set(ByVal value As String) | |
ViewState("DataID") = value | |
End Set | |
End Property | |
Public btnClose As LinkButton = New LinkButton() | |
Public btnSave As LinkButton = New LinkButton() | |
Public btnClose2 As LinkButton = New LinkButton() | |
Public lblErrors As Literal = New Literal() | |
Private _small As Boolean = False | |
Public Property Small As Boolean | |
Get | |
Return _small | |
End Get | |
Set(ByVal value As Boolean) | |
_small = value | |
End Set | |
End Property | |
Protected Overrides Sub Render(ByVal writer As System.Web.UI.HtmlTextWriter) | |
writer.Write("<style type='text/css'>html, body { overflow:hidden; } </style>") | |
writer.Write("<div class=""modal-backdrop fade in""></div>") | |
writer.Write("<div class=""modal hide fade in"" aria-hidden=""false"" style=""display: block;" & IIf(Small, "width:300px; margin-left:-150px;", "") & """>") | |
writer.Write("<div class=""modal-header"">") | |
btnClose2.RenderControl(writer) | |
writer.Write("<h3>" & HeadingTitle & "</h3>") | |
writer.Write("</div>") | |
writer.Write("<div class=""modal-body"" style=""overflow-x: hidden;"">") | |
writer.WriteLine() | |
lblErrors.RenderControl(writer) | |
MyBase.Render(writer) | |
writer.Write("</div>") | |
writer.Write("<div class=""modal-footer"">") | |
writer.Write("<div style='float:left; width:40%;'>") | |
writer.Write("</div>") | |
writer.Write("<div style='float:right;width:60%;'>") | |
btnClose.RenderControl(writer) | |
btnSave.RenderControl(writer) | |
writer.Write("</div>") | |
writer.Write("</div>") | |
writer.Write("</div>") | |
writer.WriteLine() | |
End Sub | |
Protected Overrides Sub CreateChildControls() | |
MyBase.CreateChildControls() | |
btnClose.ID = "btnClose" | |
btnClose.Text = "Close" | |
btnClose.CssClass = "btn button-gray" | |
btnClose2.ID = "btnClose2" | |
btnClose2.Text = "×" | |
btnClose2.CssClass = "close" | |
btnSave.ID = "btnSave" | |
btnSave.Text = "Save Changes" | |
btnSave.CssClass = "btn button-blue" | |
Me.Controls.Add(btnClose) | |
Me.Controls.Add(btnClose2) | |
Me.Controls.Add(btnSave) | |
AddHandler btnClose.Click, AddressOf btnClose_Click | |
AddHandler btnClose2.Click, AddressOf btnClose_Click | |
AddHandler btnSave.Click, AddressOf OnSave2 | |
End Sub | |
Protected Overrides Sub RenderChildren(ByVal output As HtmlTextWriter) | |
If HasControls() Then | |
Dim i As Integer | |
For i = 0 To Controls.Count - 1 Step 1 | |
'Skip rendering these ones | |
If (Controls(i) Is btnClose) Or (Controls(i) Is btnSave) Or (Controls(i) Is btnClose2) Or (Controls(i) Is lblErrors) Then | |
Continue For | |
End If | |
Controls(i).RenderControl(output) | |
Next | |
End If | |
End Sub | |
Public Sub Show() | |
Visible = True | |
OnShown() | |
End Sub | |
Protected Overridable Sub OnShown() | |
End Sub | |
Public Sub Hide() | |
Visible = False | |
OnHide() | |
End Sub | |
Protected Overridable Sub OnHide() | |
End Sub | |
Sub btnClose_Click() | |
ClearControls() | |
Me.Visible = False | |
OnClose() | |
End Sub | |
Public Overridable Sub OnSave() | |
End Sub | |
Public Sub OnSave2() | |
Errors.Clear() | |
lblErrors.Text = "" | |
CheckForErrors() | |
If Errors.Count > 0 Then | |
Dim s As String = "" | |
For Each Err As String In Errors | |
s = s & Err & "<br/>" | |
Next | |
lblErrors.Text = "<div class=""albox errorbox"">" & s & "</div>" | |
Exit Sub | |
End If | |
OnSave() | |
If PreventDefault = False Then | |
Hide() | |
ClearControls() | |
End If | |
End Sub | |
Public Overridable Sub OnClose() | |
End Sub | |
Private Sub Page_Init(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Init | |
EnsureChildControls() | |
'Visible = False | |
End Sub | |
End Class |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Imports Microsoft.VisualBasic | |
Public Class LargeModalWindow | |
Inherits BaseModal | |
Public Property HeadingTitle As String = "" | |
Public Property DataID As String | |
Get | |
Dim o As Object = ViewState("DataID") | |
If o IsNot Nothing Then | |
Return DirectCast(o, String) | |
End If | |
Return String.Empty | |
End Get | |
Set(ByVal value As String) | |
ViewState("DataID") = value | |
End Set | |
End Property | |
Public btnClose As LinkButton = New LinkButton() | |
Public btnSave As LinkButton = New LinkButton() | |
Public btnClose2 As LinkButton = New LinkButton() | |
Public lblErrors As Literal = New Literal() | |
Public btnSave2 As LinkButton = New LinkButton() | |
Public pnlLeftFooter As PlaceHolder = New PlaceHolder() | |
Dim IgnoreControls As List(Of Control) = New List(Of Control) | |
Protected Overrides Sub Render(ByVal writer As System.Web.UI.HtmlTextWriter) | |
writer.Write("<style type='text/css'>html, body { overflow:hidden; } </style>") | |
writer.Write("<div class=""modal-backdrop fade in""></div>") | |
writer.Write("<div class=""modal hide fade in"" aria-hidden=""false"" style=""display: block; width: 900px; margin-left:-450px;"">") | |
writer.Write("<div class=""modal-header"">") | |
btnClose2.RenderControl(writer) | |
writer.Write("<h3>" & HeadingTitle & "</h3>") | |
writer.Write("</div>") | |
writer.Write("<div class=""modal-body"" style=""overflow-x: hidden; max-height:600px; padding:0px;"">") | |
writer.WriteLine() | |
lblErrors.RenderControl(writer) | |
MyBase.Render(writer) | |
writer.Write("</div>") | |
writer.Write("<div class=""modal-footer"">") | |
writer.Write("<div style='float:left; width:50%; text-align:left;'>") | |
pnlLeftFooter.RenderControl(writer) | |
writer.Write("</div>") | |
writer.Write("<div style='float:right;width:50%;'>") | |
btnClose.RenderControl(writer) | |
btnSave.RenderControl(writer) | |
btnSave2.RenderControl(writer) | |
writer.Write("</div>") | |
writer.Write("<div style='clear:both'></div>") | |
writer.Write("</div>") | |
writer.Write("</div>") | |
writer.WriteLine() | |
End Sub | |
Protected Overrides Sub CreateChildControls() | |
MyBase.CreateChildControls() | |
btnClose.ID = "btnClose" | |
btnClose.Text = "Close" | |
btnClose.CssClass = "btn button-gray" | |
btnClose2.ID = "btnClose2" | |
btnClose2.Text = "×" | |
btnClose2.CssClass = "close" | |
btnSave.ID = "btnSave" | |
btnSave.Text = "Save Changes" | |
btnSave.CssClass = "btn button-blue" | |
btnSave2.ID = "btnSave2" | |
btnSave2.Text = "<i class='icon-globe'></i>Save & Publish" | |
btnSave2.CssClass = "btn button-green" | |
pnlLeftFooter.ID = "pnlLeftFooter" | |
Me.Controls.Add(pnlLeftFooter) | |
Me.Controls.Add(btnClose) | |
Me.Controls.Add(btnClose2) | |
Me.Controls.Add(btnSave) | |
Me.Controls.Add(btnSave2) | |
Me.IgnoreControls.Add(pnlLeftFooter) | |
Me.IgnoreControls.Add(btnClose) | |
Me.IgnoreControls.Add(btnClose2) | |
Me.IgnoreControls.Add(btnSave) | |
Me.IgnoreControls.Add(btnSave2) | |
AddHandler btnClose.Click, AddressOf btnClose_Click | |
AddHandler btnClose2.Click, AddressOf btnClose_Click | |
AddHandler btnSave.Click, AddressOf OnSave2 | |
AddHandler btnSave2.Click, AddressOf SavePublish | |
End Sub | |
Protected Overrides Sub RenderChildren(ByVal output As HtmlTextWriter) | |
If HasControls() Then | |
Dim i As Integer | |
For i = 0 To Controls.Count - 1 Step 1 | |
'Skip rendering these ones | |
If IgnoreControls.Contains(Controls(i)) Then | |
Continue For | |
End If | |
Controls(i).RenderControl(output) | |
Next | |
End If | |
End Sub | |
Public Sub Show() | |
Visible = True | |
OnShown() | |
End Sub | |
Protected Overridable Sub OnShown() | |
End Sub | |
Sub btnClose_Click() | |
ClearControls() | |
Me.Visible = False | |
OnClose() | |
End Sub | |
Public Sub SavePublish() | |
Errors.Clear() | |
lblErrors.Text = "" | |
CheckForErrors() | |
If Errors.Count > 0 Then | |
Dim s As String = "" | |
For Each Err As String In Errors | |
s = s & Err & "<br/>" | |
Next | |
lblErrors.Text = "<div class=""albox errorbox"" style='margin:10px;'>" & s & "</div>" | |
Exit Sub | |
End If | |
OnSavePublish() | |
ClearControls() | |
End Sub | |
Public Sub OnSave2() | |
Errors.Clear() | |
lblErrors.Text = "" | |
CheckForErrors() | |
If Errors.Count > 0 Then | |
Dim s As String = "" | |
For Each Err As String In Errors | |
s = s & Err & "<br/>" | |
Next | |
lblErrors.Text = "<div class=""albox errorbox"" style='margin:10px;'>" & s & "</div>" | |
Exit Sub | |
End If | |
OnSave() | |
ClearControls() | |
End Sub | |
Public Overridable Sub OnSave() | |
End Sub | |
Public Overridable Sub OnSavePublish() | |
End Sub | |
Public Overridable Sub OnClose() | |
End Sub | |
Private Sub Page_Init(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Init | |
EnsureChildControls() | |
Visible = False | |
If Page.IsPostBack = False Then | |
btnSave2.Visible = False | |
End If | |
End Sub | |
Public Overridable Sub ReceiveCommand(ByVal name As String, ByVal data As Object) | |
End Sub | |
End Class |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment