Reconfigure for GIT

This commit is contained in:
2017-03-26 20:00:03 +02:00
commit 00637826ab
8056 changed files with 535977 additions and 0 deletions
@@ -0,0 +1,126 @@
<%@ Control Language="vb" AutoEventWireup="true" Inherits="ImagePropertiesForm" Codebehind="ImagePropertiesForm.ascx.vb" %>
<%@ Register Assembly="DevExpress.Web.v15.2, Version=15.2.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" Namespace="DevExpress.Web" TagPrefix="dxe" %>
<table cellpadding="0" cellspacing="0" id="dxImagePropertiesForm">
<tr>
<td>
<dxe:ASPxLabel ID="lblSize" runat="server" AssociatedControlID="cmbSize"></dxe:ASPxLabel>
<div class="captionIndent"></div>
<dxe:ASPxComboBox ID="cmbSize" runat="server" ValueType="System.String" ClientInstanceName="_dxeCmbSize">
<ClientSideEvents SelectedIndexChanged="function(s, e) { OnCmbSizeSelectedIndexChanged(s); }" />
</dxe:ASPxComboBox>
</td>
</tr>
<tr style="display:none;" id='<% =HtmlEditor.ClientID + "_dxeSizePropertiesRow" %>'>
<td class="imageSizeEditorsCell">
<table cellpadding="0" cellspacing="0">
<tr>
<td>
<table cellpadding="0" cellspacing="0">
<tr>
<td class="captionCell">
<dxe:ASPxLabel ID="lblWidth" runat="server" AssociatedControlID="spnWidth"></dxe:ASPxLabel></td>
<td>
<dxe:ASPxSpinEdit ID="spnWidth" ClientInstanceName="_dxeSpnWidth" runat="server" Height="21px" Number="1" Width="52px" AllowNull="False" NumberType="Integer" MaxValue="10000" MinValue="1">
<SpinButtons ShowIncrementButtons="False">
</SpinButtons>
<ClientSideEvents NumberChanged="function(s, e) { aspxSizeSpinNumberChanged(&quot;width&quot;); }" KeyUp="function(s, e) { aspxSizeSpinKeyUp(&quot;width&quot;, e.htmlEvent); }"/>
</dxe:ASPxSpinEdit>
</td>
<td class="pixelSizeCell"><dxe:ASPxLabel ID="lblPixelWidth" runat="server"></dxe:ASPxLabel></td>
</tr>
<tr>
<td colspan="3" class="separatorCell"></td>
</tr>
<tr>
<td class="captionCell"><dxe:ASPxLabel ID="lblHeight" runat="server" AssociatedControlID="spnHeight"></dxe:ASPxLabel></td>
<td>
<dxe:ASPxSpinEdit ID="spnHeight" ClientInstanceName="_dxeSpnHeight" runat="server" Height="21px" Number="1" Width="52px" AllowNull="False" MinValue="1" NumberType="Integer" MaxValue="10000">
<SpinButtons ShowIncrementButtons="False">
</SpinButtons>
<ClientSideEvents NumberChanged="function(s, e) { aspxSizeSpinNumberChanged(&quot;height&quot;); }" KeyUp="function(s, e) { aspxSizeSpinKeyUp(&quot;height&quot;, e.htmlEvent); }"/>
</dxe:ASPxSpinEdit>
</td>
<td class="pixelSizeCell"><dxe:ASPxLabel ID="lblPixelHeight" runat="server"></dxe:ASPxLabel></td>
</tr>
</table>
</td>
<td class="constrainProportionsCell">
<table cellpadding="0" cellspacing="0">
<tr><td id="cellContarainTop" runat="server"></td></tr>
<tr><td id="cellContarainSwitcher" runat="server" style="cursor: pointer;"></td></tr>
<tr><td id="cellContarainBottom" runat="server"></td></tr>
</table>
</td>
</tr>
</table>
<div class="fieldSeparator"></div>
<dxe:ASPxCheckBox ID="ckbCreateThumbnail" runat="server" ClientInstanceName="_dxeCkbCreateThumbnail">
<ClientSideEvents CheckedChanged="function(s, e) { OnCreateThumbnailCheckedChanged(s.GetChecked()) }" />
</dxe:ASPxCheckBox>
<div id='<% =HtmlEditor.ClientID + "_dxeThumbnailFileNameArea" %>' class="thumbnailFileNameArea" style="display:none;">
<dxe:ASPxLabel ID="lblThumbnailFileName" runat="server" AssociatedControlID="txbThumbnailFileName"></dxe:ASPxLabel>
<div class="captionIndent"></div>
<dxe:ASPxTextBox ID="txbThumbnailFileName" ClientInstanceName="_dxeThumbnailFileName" runat="server" Width="170px" AutoCompleteType="Disabled">
<ValidationSettings ErrorDisplayMode="Text" ErrorTextPosition="Bottom" SetFocusOnError="True" ValidateOnLeave="False" ValidationGroup="_dxeThumbnailFileNameGroup">
<ErrorFrameStyle Font-Size="10px">
<Paddings PaddingRight="0px" />
</ErrorFrameStyle>
<RequiredField IsRequired="True" />
</ValidationSettings>
</dxe:ASPxTextBox>
</div>
</td>
</tr>
<tr>
<td>
<div class="fieldSeparator"></div>
</td>
</tr>
<tr>
<td>
<dxe:ASPxLabel ID="lblImagePosition" runat="server" AssociatedControlID="cmbImagePosition"></dxe:ASPxLabel>
<div class="captionIndent"></div>
<dxe:ASPxComboBox ID="cmbImagePosition" ClientInstanceName="_dxeCmbImagePosition" runat="server" ValueType="System.String">
<ClientSideEvents SelectedIndexChanged="function(s, e) { OnImagePositionChanged(s); }" />
</dxe:ASPxComboBox>
</td>
</tr>
<tr>
<td class="ckbWrapTextCell">
<div>
<dxe:ASPxCheckBox ID="ckbWrapTextArroundImage" ClientInstanceName="_dxeCkbWrapTextArroundImage" runat="server" />
</div>
</td>
</tr>
<tr>
<td>
<div class="fieldSeparator"></div>
</td>
</tr>
<tr>
<td>
<dxe:ASPxLabel ID="lblImageDescription" runat="server" AssociatedControlID="txbDescription"></dxe:ASPxLabel>
<div class="captionIndent"></div>
<dxe:ASPxTextBox ID="txbDescription" ClientInstanceName="_dxeTxbDescription" runat="server" Width="170px" AutoCompleteType="Disabled">
</dxe:ASPxTextBox>
</td>
</tr>
</table>
<script type="text/javascript" id="dxss_ImagePropertiesForm">
function OnCmbSizeSelectedIndexChanged(cmb) {
var isShow = cmb.GetValue() != "original";
_aspxSetElementDisplay(_aspxGetElementById('<% =HtmlEditor.ClientID + "_dxeSizePropertiesRow" %>'), isShow);
if (isShow)
aspxAdjustControlsSizeInDialogWindow();
}
function OnCreateThumbnailCheckedChanged(isChecked) {
_aspxSetElementDisplay(_aspxGetElementById('<% =HtmlEditor.ClientID + "_dxeThumbnailFileNameArea" %>'), isChecked);
if (isChecked)
aspxAdjustControlsSizeInDialogWindow();
}
function OnImagePositionChanged(cmb) {
var selectedItem = cmb.GetItem(cmb.GetSelectedIndex());
_dxeCkbWrapTextArroundImage.SetEnabled(selectedItem.value != "center");
}
</script>
@@ -0,0 +1,186 @@
'------------------------------------------------------------------------------
' <auto-generated>
' This code was generated by a tool.
'
' Changes to this file may cause incorrect behavior and will be lost if
' the code is regenerated.
' </auto-generated>
'------------------------------------------------------------------------------
Option Strict On
Option Explicit On
Partial Public Class ImagePropertiesForm
'''<summary>
'''lblSize control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents lblSize As Global.DevExpress.Web.ASPxLabel
'''<summary>
'''cmbSize control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents cmbSize As Global.DevExpress.Web.ASPxComboBox
'''<summary>
'''lblWidth control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents lblWidth As Global.DevExpress.Web.ASPxLabel
'''<summary>
'''spnWidth control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents spnWidth As Global.DevExpress.Web.ASPxSpinEdit
'''<summary>
'''lblPixelWidth control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents lblPixelWidth As Global.DevExpress.Web.ASPxLabel
'''<summary>
'''lblHeight control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents lblHeight As Global.DevExpress.Web.ASPxLabel
'''<summary>
'''spnHeight control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents spnHeight As Global.DevExpress.Web.ASPxSpinEdit
'''<summary>
'''lblPixelHeight control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents lblPixelHeight As Global.DevExpress.Web.ASPxLabel
'''<summary>
'''cellContarainTop control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents cellContarainTop As Global.System.Web.UI.HtmlControls.HtmlTableCell
'''<summary>
'''cellContarainSwitcher control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents cellContarainSwitcher As Global.System.Web.UI.HtmlControls.HtmlTableCell
'''<summary>
'''cellContarainBottom control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents cellContarainBottom As Global.System.Web.UI.HtmlControls.HtmlTableCell
'''<summary>
'''ckbCreateThumbnail control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents ckbCreateThumbnail As Global.DevExpress.Web.ASPxCheckBox
'''<summary>
'''lblThumbnailFileName control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents lblThumbnailFileName As Global.DevExpress.Web.ASPxLabel
'''<summary>
'''txbThumbnailFileName control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents txbThumbnailFileName As Global.DevExpress.Web.ASPxTextBox
'''<summary>
'''lblImagePosition control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents lblImagePosition As Global.DevExpress.Web.ASPxLabel
'''<summary>
'''cmbImagePosition control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents cmbImagePosition As Global.DevExpress.Web.ASPxComboBox
'''<summary>
'''ckbWrapTextArroundImage control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents ckbWrapTextArroundImage As Global.DevExpress.Web.ASPxCheckBox
'''<summary>
'''lblImageDescription control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents lblImageDescription As Global.DevExpress.Web.ASPxLabel
'''<summary>
'''txbDescription control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents txbDescription As Global.DevExpress.Web.ASPxTextBox
End Class
@@ -0,0 +1,72 @@
Imports System
Imports System.Data
Imports System.Configuration
Imports System.Collections
Imports System.Web
Imports System.Web.Security
Imports System.Web.UI
Imports System.Web.UI.WebControls
Imports System.Web.UI.WebControls.WebParts
Imports System.Web.UI.HtmlControls
Imports DevExpress.Web.ASPxHtmlEditor
Imports DevExpress.Web.ASPxHtmlEditor.Localization
Imports DevExpress.Web
Imports DevExpress.Web.Internal
Partial Public Class ImagePropertiesForm
Inherits HtmlEditorUserControl
Protected Overrides Sub PrepareChildControls()
ckbCreateThumbnail.ClientVisible = Not String.IsNullOrEmpty(HtmlEditor.SettingsImageUpload.UploadImageFolder)
CreateConstrainProportionsImages()
Localize()
MyBase.PrepareChildControls()
End Sub
Private Sub Localize()
lblSize.Text = ASPxHtmlEditorLocalizer.GetString(ASPxHtmlEditorStringId.ImageProps_Size) & ":"
cmbSize.Items.Add(ASPxHtmlEditorLocalizer.GetString(ASPxHtmlEditorStringId.ImageProps_OriginalSize), "original")
cmbSize.Items.Add(ASPxHtmlEditorLocalizer.GetString(ASPxHtmlEditorStringId.ImageProps_CustomSize), "custom")
cmbSize.SelectedIndex = 0
lblWidth.Text = ASPxHtmlEditorLocalizer.GetString(ASPxHtmlEditorStringId.ImageProps_Width) & ":"
lblPixelWidth.Text = ASPxHtmlEditorLocalizer.GetString(ASPxHtmlEditorStringId.ImageProps_Pixels)
lblHeight.Text = ASPxHtmlEditorLocalizer.GetString(ASPxHtmlEditorStringId.ImageProps_Height) & ":"
lblPixelHeight.Text = ASPxHtmlEditorLocalizer.GetString(ASPxHtmlEditorStringId.ImageProps_Pixels)
ckbCreateThumbnail.Text = ASPxHtmlEditorLocalizer.GetString(ASPxHtmlEditorStringId.ImageProps_CreateThumbnail)
lblThumbnailFileName.Text = ASPxHtmlEditorLocalizer.GetString(ASPxHtmlEditorStringId.ImageProps_NewImageName) & ":"
txbThumbnailFileName.ValidationSettings.RequiredField.ErrorText = ASPxHtmlEditorLocalizer.GetString(ASPxHtmlEditorStringId.RequiredFieldError)
lblImagePosition.Text = ASPxHtmlEditorLocalizer.GetString(ASPxHtmlEditorStringId.ImageProps_Position) & ":"
cmbImagePosition.Items.Add("", "")
cmbImagePosition.Items.Add(ASPxHtmlEditorLocalizer.GetString(ASPxHtmlEditorStringId.ImageProps_PositionLeft), "left")
cmbImagePosition.Items.Add(ASPxHtmlEditorLocalizer.GetString(ASPxHtmlEditorStringId.ImageProps_PositionCenter), "center")
cmbImagePosition.Items.Add(ASPxHtmlEditorLocalizer.GetString(ASPxHtmlEditorStringId.ImageProps_PositionRight), "right")
cmbImagePosition.SelectedIndex = 0
lblImageDescription.Text = ASPxHtmlEditorLocalizer.GetString(ASPxHtmlEditorStringId.ImageProps_Description) & ":"
ckbWrapTextArroundImage.Text = ASPxHtmlEditorLocalizer.GetString(ASPxHtmlEditorStringId.InsertImage_UseFloat)
End Sub
Protected Overrides Function GetChildDxEdits() As ASPxEditBase()
Return New ASPxEditBase() {lblSize, cmbSize, lblWidth, spnWidth, lblPixelWidth, lblHeight, spnHeight, lblPixelHeight, lblImagePosition, cmbImagePosition, lblImageDescription, txbDescription, ckbCreateThumbnail, lblThumbnailFileName, txbThumbnailFileName, ckbWrapTextArroundImage }
End Function
Protected Sub CreateConstrainProportionsImages()
Dim imgTop As Image = RenderUtils.CreateImage()
cellContarainTop.Controls.Add(imgTop)
HtmlEditor.GetInsertImageDialogConstrainProportionsTop().AssignToControl(imgTop, False)
Dim imgBottom As Image = RenderUtils.CreateImage()
cellContarainBottom.Controls.Add(imgBottom)
HtmlEditor.GetInsertImageDialogConstrainProportionsBottom().AssignToControl(imgBottom, False)
Dim imgSwitcherOn As Image = RenderUtils.CreateImage()
imgSwitcherOn.ID = "imgOn"
cellContarainSwitcher.Controls.Add(imgSwitcherOn)
HtmlEditor.GetInsertImageDialogConstrainProportionsMiddleOn().AssignToControl(imgSwitcherOn, False)
Dim imgSwitcherOff As Image = RenderUtils.CreateImage()
imgSwitcherOff.ID = "imgOff"
cellContarainSwitcher.Controls.Add(imgSwitcherOff)
HtmlEditor.GetInsertImageDialogConstrainProportionsMiddleOff().AssignToControl(imgSwitcherOff, False)
imgSwitcherOn.Attributes.Add("onclick", "aspxConstrainProportionsSwitchClick(event, '" & imgSwitcherOff.ClientID & "')")
imgSwitcherOff.Attributes.Add("onclick", "aspxConstrainProportionsSwitchClick(event,'" & imgSwitcherOn.ClientID & "')")
imgSwitcherOff.Style.Add("display", "none")
End Sub
End Class
@@ -0,0 +1,229 @@
<%@ Control Language="vb" AutoEventWireup="true" Inherits="InsertImageForm" Codebehind="InsertImageForm.ascx.vb" %>
<%@ Register Assembly="DevExpress.Web.v15.2, Version=15.2.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" Namespace="DevExpress.Web" TagPrefix="dxe" %>
<%@ Register Assembly="DevExpress.Web.ASPxHtmlEditor.v15.2, Version=15.2.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" Namespace="DevExpress.Web.ASPxHtmlEditor" TagPrefix="dxhe" %>
<%@ Register Assembly="DevExpress.Web.v15.2, Version=15.2.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" Namespace="DevExpress.Web" TagPrefix="dxp" %>
<%@ Register Assembly="DevExpress.Web.v15.2, Version=15.2.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" Namespace="DevExpress.Web" TagPrefix="dx" %>
<%@ Register assembly="DevExpress.Web.v15.2, Version=15.2.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" namespace="DevExpress.Web" tagprefix="dxhf" %>
<%@ Register Src="ImagePropertiesForm.ascx" TagName="ImagePropertiesForm" TagPrefix="ucip" %>
<%@ Register Src="SelectImageForm.ascx" TagName="SelectImageForm" TagPrefix="ucip" %>
<dxp:ASPxPanel ID="Panel1" runat="server" Width="100%" DefaultButton="btnInsertImage">
<PanelCollection>
<dxp:PanelContent runat="server">
<table cellpadding="0" cellspacing="0" id="dxInsertImageForm">
<tr>
<td class="contentCell">
<table cellpadding="0" cellspacing="0">
<tr>
<td class="typeRadionButtonListCell">
<table cellpadding="0" cellspacing="0" class="radioButtonTable">
<tr>
<td>
<dxe:ASPxRadioButton ID="rblFromTheWeb" runat="server" GroupName="InsertImageFormGroup" Checked="True" TextWrap="False" ClientInstanceName="_dxeRblImageFromTheWeb">
<ClientSideEvents CheckedChanged="function(s, e) { OnImageFromTypeChanged__InsertImageForm(s); }" />
</dxe:ASPxRadioButton>
</td>
<td>
<dxe:ASPxRadioButton ID="rblFromThisComputer" runat="server" GroupName="InsertImageFormGroup" TextWrap="False" ClientInstanceName="_dxeRblImageFromThisComputer">
<ClientSideEvents CheckedChanged="function(s, e) { OnImageFromTypeChanged__InsertImageForm(s); }" />
</dxe:ASPxRadioButton>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td>
<table cellpadding="0" cellspacing="0" style="width:100%;">
<tr>
<td style="vertical-align:top">
<dxhe:ASPxHtmlEditorRoundPanel ID="rpInsertImage" runat="server" Width="315px">
<PanelCollection>
<dxhe:HtmlEditorRoundPanelContent runat="server">
<!-- FromTheWeb -->
<table cellpadding="0" cellspacing="0" id='<% =HtmlEditor.ClientID + "_dxeFromTheWeb" %>' class="fromTheWeb" >
<tr>
<td>
<dxe:ASPxLabel ID="lblImageUrl" runat="server" AssociatedControlID="txbInsertImageUrl">
</dxe:ASPxLabel>
<dxe:ASPxButtonEdit ID="txbInsertImageUrl" ClientInstanceName="_dxeTbxInsertImageUrl"
runat="server" Width="100%" AutoCompleteType="Disabled">
<ClientSideEvents TextChanged="function(s, e) { aspxInsertImageSrcValueChanged(s.GetText()); }"
ButtonClick="function(s,e){aspxHEOnBrowseButtonClick();}" />
<Buttons>
<dxe:EditButton>
</dxe:EditButton>
</Buttons>
<ValidationSettings ErrorDisplayMode="Text" ErrorTextPosition="Bottom" SetFocusOnError="True"
ValidateOnLeave="False" ValidationGroup="_dxeTbxInsertImageUrlGroup" Display="Dynamic">
<RequiredField IsRequired="True" />
<ErrorFrameStyle Font-Size="10px">
</ErrorFrameStyle>
</ValidationSettings>
</dxe:ASPxButtonEdit>
<dx:ASPxPopupControl ID="BrowsePopup" runat="server" CloseAction="CloseButton" PopupAction="None"
PopupElementID="Panel1" ClientInstanceName="BrowsePopup" PopupHorizontalAlign="Center"
PopupVerticalAlign="Middle" AllowDragging="True" Modal="true" EnableAnimation="false" RenderMode="Lightweight">
<ContentStyle Paddings-Padding="0px">
</ContentStyle>
<ClientSideEvents PopUp="function(s, e) { aspxHEOnBrowserPopupOpen(); }" CloseUp="function(s, e) { aspxHEOnBrowserPopupClose(); }" />
<ModalBackgroundStyle Opacity="1">
</ModalBackgroundStyle>
<ContentCollection>
<dx:PopupControlContentControl ID="PopupControlContentControl1" runat="server">
<ucip:SelectImageForm ID="ucSelectImageForm" runat="server" />
</dx:PopupControlContentControl>
</ContentCollection>
</dx:ASPxPopupControl>
</td>
</tr>
<tr>
<td class="saveToServerCheckBoxCell">
<dxe:ASPxCheckBox ID="ckbSaveToServer" ClientInstanceName="_dxeCkbSaveToServer" runat="server">
</dxe:ASPxCheckBox>
</td>
</tr>
<tr>
<td class="imagePreview">
<table cellpadding="0" cellspacing="0" style="width: 100%;">
<tr>
<td class="imagePreviewCell">
<span id='<% =HtmlEditor.ClientID + "_dxInsertImagePreviewText" %>'><% =DevExpress.Web.ASPxHtmlEditor.Localization.ASPxHtmlEditorLocalizer.GetString(DevExpress.Web.ASPxHtmlEditor.Localization.ASPxHtmlEditorStringId.InsertImage_Preview)%></span>
<img id='<% =HtmlEditor.ClientID + "_dxInsertImagePreviewImage"%>' style="display:none;" width="180" height="100" alt="<% =DevExpress.Web.ASPxHtmlEditor.Localization.ASPxHtmlEditorLocalizer.GetString(DevExpress.Web.ASPxHtmlEditor.Localization.ASPxHtmlEditorStringId.InsertImage_Preview) %>"/>
</td>
</tr>
</table>
</td>
</tr>
</table>
<!-- FromThisComputer -->
<table cellpadding="0" cellspacing="0" id='<% =HtmlEditor.ClientID + "_dxeFromThisComputer" %>' style="display: none;">
<tr>
<td>
<dxe:ASPxLabel ID="lblBrowse" runat="server" AssociatedControlID="uplImage">
</dxe:ASPxLabel>
<div class="captionIndent"></div>
<%-- Since the client FileUploadComplete event is not generated if the length of a request (the size of a file to upload) exceeds the maximum allowed request length, we duplicate a call to the aspxImageUploadComplete method within the FilesUploadComplete event handler.
This is required to switch the Insert Image dialog to its active state (to remove the Loading Div element). --%>
<dxhe:ASPxHtmlEditorUploadControl ID="uplImage" runat="server" ClientInstanceName="_dxeUplImage"
OnFileUploadComplete="uplImage_FileUploadComplete" Width="100%">
<ClientSideEvents FileUploadComplete="function(s, e) { aspxImageUploadComplete(e); }" FilesUploadComplete="function(s, e) { aspxImageUploadComplete(e); }"
TextChanged="function(s, e) { aspxImageUploadTextChanged(); }" FileUploadStart="function(s, e) { aspxImageUploadStart(); }"/>
</dxhe:ASPxHtmlEditorUploadControl>
</td>
</tr>
</table>
</dxhe:HtmlEditorRoundPanelContent>
</PanelCollection>
</dxhe:ASPxHtmlEditorRoundPanel>
</td>
<%-- Image Properties --%>
<td id='<% =HtmlEditor.ClientID + "_dxeMoreImagePropertiesRow"%>' class="imagePropertiesCell" style="display:none">
<ucip:ImagePropertiesForm ID="ucImagePropertiesForm" runat="server" />
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td class="moreOptionsCell">
<dxe:ASPxCheckBox ID="ckbMoreImageOptions" ClientInstanceName="_dxeCkbMoreImageOptions" runat="server">
<ClientSideEvents CheckedChanged="function(s, e) { OnMoreImageOptionsCheckedChanged(s.GetChecked()) }" />
</dxe:ASPxCheckBox>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<%-- Button Cells --%>
<td class="buttonsCell">
<table cellpadding="0" cellspacing="0" style="display:inline-block;">
<tr>
<td>
<dxe:ASPxButton ID="btnInsertImage" runat="server" Height="26px" Width="82px"
Autopostback="false" ClientInstanceName="_dxeBtnInsertImage" CausesValidation="False" >
<clientsideevents click="function(s, e) { OnOkButtonClick_InsertImageForm(); }" />
</dxe:ASPxButton>
<dxe:ASPxButton ID="btnChangeImage" runat="server" AutoPostBack="False" Height="26px"
Width="74px" ClientInstanceName="_dxeBtnChangeImage" ClientVisible="False" CausesValidation="False">
<clientsideevents click="function(s, e) { OnOkButtonClick_InsertImageForm(); }" />
</dxe:ASPxButton>
</td>
<td class="cancelButton">
<dxe:ASPxButton ID="btnInsertImageCancel" runat="server" Height="26px"
Width="82px" Autopostback="false" CausesValidation="False">
<clientsideevents click="function(s, e) { OnCancelButtonClick_InsertImageForm(); }" />
</dxe:ASPxButton>
</td>
</tr>
</table>
</td>
</tr>
</table>
</dxp:PanelContent>
</PanelCollection>
</dxp:ASPxPanel>
<dxhf:ASPxHiddenField ID="dxHiddenField" runat="server" ClientInstanceName="_dxHiddenField" SyncWithServer="False"></dxhf:ASPxHiddenField>
<script type="text/javascript" id="dxss_InsertLinkForm">
function GetDialogData_InsertImageForm() {
var useOriginalSize = _dxeCmbSize.GetValue().toLowerCase() == "original";
return {
src: _dxeTbxInsertImageUrl.GetText(),
cssClass: "",
width: useOriginalSize ? "" : _dxeSpnWidth.GetValue(),
height: useOriginalSize ? "" : _dxeSpnHeight.GetValue(),
align: _dxeCmbImagePosition.GetValue(),
alt: _dxeTxbDescription.GetText(),
useFloat: _dxeCkbWrapTextArroundImage.GetChecked()
};
}
function IsValidFields_InsertImageForm() {
var ret = true;
if (_dxeTbxInsertImageUrl.IsVisible())
ret = ASPxClientEdit.ValidateGroup("_dxeTbxInsertImageUrlGroup") && ret;
else {
ret = (_dxeUplImage.GetText() != "") && ret;
if(!ret)
_dxeUplImage.UpdateCommonErrorDiv(_dxHiddenField.Get("RequiredFieldError"), true);
}
if (_dxeCkbCreateThumbnail.GetChecked())
ret = ASPxClientEdit.ValidateGroup("_dxeThumbnailFileNameGroup") && ret;
return ret;
}
function OnOkButtonClick_InsertImageForm() {
if (!ASPxDialog.GetCurrentDialog().isPreventKeyPress && IsValidFields_InsertImageForm())
aspxDialogComplete(1, GetDialogData_InsertImageForm());
}
function OnCancelButtonClick_InsertImageForm() {
aspxDialogComplete(0, GetDialogData_InsertImageForm());
}
function OnMoreImageOptionsCheckedChanged(isChecked) {
_aspxSetElementDisplay(_aspxGetElementById('<% =HtmlEditor.ClientID + "_dxeMoreImagePropertiesRow"%>'), isChecked);
if (isChecked)
aspxAdjustControlsSizeInDialogWindow();
}
function OnImageFromTypeChanged__InsertImageForm() {
var fromWebArea = _aspxGetElementById('<% =HtmlEditor.ClientID + "_dxeFromTheWeb" %>');
var fromThisComputerArea = _aspxGetElementById('<% =HtmlEditor.ClientID + "_dxeFromThisComputer" %>');
_aspxSetElementDisplay(fromWebArea, _dxeRblImageFromTheWeb.GetChecked());
_aspxSetElementDisplay(fromThisComputerArea, _dxeRblImageFromThisComputer.GetChecked());
aspxOnImageFromTypeChanged();
}
function aspxHEOnBrowseButtonClick() {
FileManager.browsePopup = BrowsePopup;
BrowsePopup.Show();
FileManager.Refresh();
FileManager.Focus();
}
function aspxHEOnBrowserPopupOpen() {
ASPxDialog.GetCurrentDialog().isPreventKeyPress = true;
_aspxChangeAttribute(_aspxGetElementById('<% =HtmlEditor.ClientID + "_insertimagedialog_Panel1" %>'), "onkeypress", "");
}
function aspxHEOnBrowserPopupClose() {
ASPxDialog.GetCurrentDialog().isPreventKeyPress = false;
_aspxRestoreAttribute(_aspxGetElementById('<% =HtmlEditor.ClientID + "_insertimagedialog_Panel1" %>'), "onkeypress");
_dxeTbxInsertImageUrl.Focus();
}
</script>
@@ -0,0 +1,177 @@
'------------------------------------------------------------------------------
' <auto-generated>
' This code was generated by a tool.
'
' Changes to this file may cause incorrect behavior and will be lost if
' the code is regenerated.
' </auto-generated>
'------------------------------------------------------------------------------
Option Strict On
Option Explicit On
Partial Public Class InsertImageForm
'''<summary>
'''Panel1 control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents Panel1 As Global.DevExpress.Web.ASPxPanel
'''<summary>
'''rblFromTheWeb control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents rblFromTheWeb As Global.DevExpress.Web.ASPxRadioButton
'''<summary>
'''rblFromThisComputer control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents rblFromThisComputer As Global.DevExpress.Web.ASPxRadioButton
'''<summary>
'''rpInsertImage control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents rpInsertImage As Global.DevExpress.Web.ASPxHtmlEditor.ASPxHtmlEditorRoundPanel
'''<summary>
'''lblImageUrl control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents lblImageUrl As Global.DevExpress.Web.ASPxLabel
'''<summary>
'''txbInsertImageUrl control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents txbInsertImageUrl As Global.DevExpress.Web.ASPxButtonEdit
'''<summary>
'''BrowsePopup control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents BrowsePopup As Global.DevExpress.Web.ASPxPopupControl
'''<summary>
'''PopupControlContentControl1 control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents PopupControlContentControl1 As Global.DevExpress.Web.PopupControlContentControl
'''<summary>
'''ucSelectImageForm control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents ucSelectImageForm As Global.SelectImageForm
'''<summary>
'''ckbSaveToServer control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents ckbSaveToServer As Global.DevExpress.Web.ASPxCheckBox
'''<summary>
'''lblBrowse control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents lblBrowse As Global.DevExpress.Web.ASPxLabel
'''<summary>
'''uplImage control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents uplImage As Global.DevExpress.Web.ASPxHtmlEditor.ASPxHtmlEditorUploadControl
'''<summary>
'''ucImagePropertiesForm control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents ucImagePropertiesForm As Global.ImagePropertiesForm
'''<summary>
'''ckbMoreImageOptions control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents ckbMoreImageOptions As Global.DevExpress.Web.ASPxCheckBox
'''<summary>
'''btnInsertImage control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents btnInsertImage As Global.DevExpress.Web.ASPxButton
'''<summary>
'''btnChangeImage control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents btnChangeImage As Global.DevExpress.Web.ASPxButton
'''<summary>
'''btnInsertImageCancel control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents btnInsertImageCancel As Global.DevExpress.Web.ASPxButton
'''<summary>
'''dxHiddenField control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents dxHiddenField As Global.DevExpress.Web.ASPxHiddenField
End Class
@@ -0,0 +1,81 @@
Imports System
Imports System.Data
Imports System.Configuration
Imports System.Collections
Imports System.IO
Imports System.Web
Imports System.Web.Security
Imports System.Web.UI
Imports System.Web.UI.WebControls
Imports System.Web.UI.WebControls.WebParts
Imports System.Web.UI.HtmlControls
Imports DevExpress.Web.ASPxHtmlEditor
Imports DevExpress.Web.ASPxHtmlEditor.Localization
Imports DevExpress.Web
Partial Public Class InsertImageForm
Inherits HtmlEditorUserControl
Protected Overrides Sub PrepareChildControls()
ckbSaveToServer.ClientVisible = HtmlEditor.Settings.AllowInsertDirectImageUrls AndAlso Not String.IsNullOrEmpty(HtmlEditor.SettingsImageUpload.UploadImageFolder)
rblFromThisComputer.ClientEnabled = Not String.IsNullOrEmpty(HtmlEditor.SettingsImageUpload.UploadImageFolder)
uplImage.UploadMode = If(HtmlEditor.SettingsImageUpload.UseAdvancedUploadMode, UploadControlUploadMode.Advanced, UploadControlUploadMode.Standard)
Localize()
MyBase.PrepareChildControls()
Dim imageSelectorEnabled As Boolean = HtmlEditor.SettingsImageSelector.Enabled
txbInsertImageUrl.Buttons(0).Visible = imageSelectorEnabled
BrowsePopup.Visible = imageSelectorEnabled
End Sub
Private Sub Localize()
rblFromTheWeb.Text = ASPxHtmlEditorLocalizer.GetString(ASPxHtmlEditorStringId.InsertImage_FromWeb)
rblFromThisComputer.Text = ASPxHtmlEditorLocalizer.GetString(ASPxHtmlEditorStringId.InsertImage_FromLocal)
lblImageUrl.Text = ASPxHtmlEditorLocalizer.GetString(ASPxHtmlEditorStringId.InsertImage_EnterUrl) & ":"
txbInsertImageUrl.ValidationSettings.RequiredField.ErrorText = ASPxHtmlEditorLocalizer.GetString(ASPxHtmlEditorStringId.RequiredFieldError)
ckbSaveToServer.Text = ASPxHtmlEditorLocalizer.GetString(ASPxHtmlEditorStringId.InsertImage_SaveToServer)
lblBrowse.Text = ASPxHtmlEditorLocalizer.GetString(ASPxHtmlEditorStringId.InsertImage_UploadInstructions) & ":"
ckbMoreImageOptions.Text = ASPxHtmlEditorLocalizer.GetString(ASPxHtmlEditorStringId.InsertImage_MoreOptions)
btnInsertImage.Text = ASPxHtmlEditorLocalizer.GetString(ASPxHtmlEditorStringId.ButtonInsert)
btnChangeImage.Text = ASPxHtmlEditorLocalizer.GetString(ASPxHtmlEditorStringId.ButtonChange)
btnInsertImageCancel.Text = ASPxHtmlEditorLocalizer.GetString(ASPxHtmlEditorStringId.ButtonCancel)
BrowsePopup.HeaderText = ASPxHtmlEditorLocalizer.GetString(ASPxHtmlEditorStringId.SelectImage)
txbInsertImageUrl.Buttons(0).ToolTip = ASPxHtmlEditorLocalizer.GetString(ASPxHtmlEditorStringId.InsertImage_SelectImage)
dxHiddenField.Add("RequiredFieldError", ASPxHtmlEditorLocalizer.GetString(ASPxHtmlEditorStringId.RequiredFieldError))
End Sub
Protected Overrides Function GetChildDxEdits() As ASPxEditBase()
Return New ASPxEditBase() {rblFromTheWeb, rblFromThisComputer, txbInsertImageUrl, ckbSaveToServer, ckbMoreImageOptions}
End Function
Protected Overrides Function GetChildDxButtons() As ASPxButton()
Return New ASPxButton() {btnInsertImage, btnChangeImage, btnInsertImage, btnInsertImageCancel}
End Function
Protected Overrides Function GetChildDxHtmlEditorRoundPanel() As ASPxHtmlEditorRoundPanel
Return rpInsertImage
End Function
Protected Function SaveUploadFile() As String
Dim fileName As String = ""
If HasFile() Then
Dim uploadFolder As String = HtmlEditor.SettingsImageUpload.UploadImageFolder
fileName = MapPath(uploadFolder) + uplImage.UploadedFiles(0).FileName
Try
uplImage.UploadedFiles(0).SaveAs(fileName, False)
Catch e1 As IOException
fileName = MapPath(uploadFolder) + uplImage.GetRandomFileName()
uplImage.UploadedFiles(0).SaveAs(fileName)
End Try
End If
Return Path.GetFileName(fileName)
End Function
Protected Function HasFile() As Boolean
Return uplImage.UploadedFiles IsNot Nothing AndAlso uplImage.UploadedFiles.Length > 0 AndAlso uplImage.UploadedFiles(0).FileName <> ""
End Function
Protected Sub uplImage_FileUploadComplete(ByVal sender As Object, ByVal args As DevExpress.Web.FileUploadCompleteEventArgs)
Try
args.CallbackData = SaveUploadFile()
Catch e As Exception
args.IsValid = False
args.ErrorText = e.Message
End Try
End Sub
End Class
@@ -0,0 +1,239 @@
<%@ Control Language="vb" AutoEventWireup="true" Inherits="InsertLinkForm" Codebehind="InsertLinkForm.ascx.vb" %>
<%@ Register Assembly="DevExpress.Web.v15.2, Version=15.2.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" Namespace="DevExpress.Web" TagPrefix="dxe" %>
<%@ Register Assembly="DevExpress.Web.ASPxHtmlEditor.v15.2, Version=15.2.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" Namespace="DevExpress.Web.ASPxHtmlEditor" TagPrefix="dxhe" %>
<%@ Register Assembly="DevExpress.Web.v15.2, Version=15.2.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" Namespace="DevExpress.Web" TagPrefix="dxp" %>
<%@ Register Assembly="DevExpress.Web.v15.2, Version=15.2.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" Namespace="DevExpress.Web" TagPrefix="dx" %>
<%@ Register Src="SelectDocumentForm.ascx" TagName="SelectDocumentForm" TagPrefix="ucip" %>
<dxp:ASPxPanel ID="MainPanel" runat="server" Width="100%" DefaultButton="btnOk">
<PanelCollection>
<dxp:PanelContent runat="server">
<table cellpadding="0" cellspacing="0" id="dxInsertLinkForm">
<tr>
<td class="contentCell">
<table cellpadding="0" cellspacing="0">
<tr>
<td class="typeRadionButtonListCell">
<dxe:ASPxRadioButtonList ID="rblLinkType" runat="server" ItemSpacing="22px" RepeatDirection="Horizontal"
SelectedIndex="0" ClientInstanceName="_dxeRblLinkType">
<ClientSideEvents SelectedIndexChanged="function(s, e) { OnTypeLinkChanged__InsertLinkForm(s); }" />
<Border BorderStyle="None" />
<Paddings PaddingLeft="0px" PaddingTop="0px" PaddingBottom="0px" />
</dxe:ASPxRadioButtonList>
</td>
</tr>
<tr>
<td>
<dxhe:ASPxHtmlEditorRoundPanel ID="rpInsertLink" runat="server" Width="340px">
<PanelCollection>
<dxhe:HtmlEditorRoundPanelContent runat="server">
<!-- URL -->
<table cellpadding="0" cellspacing="0" id='<% =HtmlEditor.ClientID + "_dxeURLArea" %>'
style="width: 100%">
<tr>
<td class="captionCell">
<dxe:ASPxLabel ID="lblUrl" runat="server" AssociatedControlID="txbURL">
</dxe:ASPxLabel>
</td>
<td class="inputCell">
<dxe:ASPxButtonEdit ID="txbURL" ClientInstanceName="_dxeTxbURL" runat="server" Width="100%"
AutoCompleteType="Disabled">
<ClientSideEvents ButtonClick="function(s,e){aspxHEOnBrowseButtonClick();}" />
<Buttons>
<dxe:EditButton>
</dxe:EditButton>
</Buttons>
<ValidationSettings ErrorDisplayMode="Text" ErrorTextPosition="Bottom" SetFocusOnError="True"
ValidateOnLeave="False" ValidationGroup="_dxeTxbURLGroup">
<RequiredField IsRequired="True" />
<ErrorFrameStyle Font-Size="10px">
</ErrorFrameStyle>
</ValidationSettings>
</dxe:ASPxButtonEdit>
<dx:ASPxPopupControl ID="BrowsePopup" runat="server" CloseAction="CloseButton" PopupAction="None"
PopupElementID="MainPanel" ClientInstanceName="BrowsePopup" PopupHorizontalAlign="Center"
PopupVerticalAlign="Middle" AllowDragging="True" Modal="true" EnableAnimation="false" RenderMode="Lightweight">
<ContentStyle Paddings-Padding="0px">
</ContentStyle>
<ClientSideEvents PopUp="function(s, e) { aspxHEOnBrowserPopupOpen(); }" CloseUp="function(s, e) { aspxHEOnBrowserPopupClose(); }" />
<ModalBackgroundStyle Opacity="1">
</ModalBackgroundStyle>
<ContentCollection>
<dx:PopupControlContentControl ID="PopupControlContentControl1" runat="server">
<ucip:SelectDocumentForm ID="ucSelectDocumentForm" runat="server" />
</dx:PopupControlContentControl>
</ContentCollection>
</dx:ASPxPopupControl>
</td>
</tr>
</table>
<table cellpadding="0" cellspacing="0" id='<% =HtmlEditor.ClientID + "_dxeEmailArea" %>'
style="display: none; width: 100%">
<tr>
<td class="captionCell">
<dxe:ASPxLabel ID="lblEmailTo" runat="server" AssociatedControlID="txbEmailTo">
</dxe:ASPxLabel>
</td>
<td class="inputCell">
<dxe:ASPxTextBox ID="txbEmailTo" ClientInstanceName="_dxeTxbEmailTo" runat="server"
Width="100%" AutoCompleteType="Disabled">
<ValidationSettings ErrorDisplayMode="Text" ErrorTextPosition="Bottom" SetFocusOnError="True"
ValidateOnLeave="False" ValidationGroup="_dxeTxbEmailToGroup">
<RegularExpression ErrorText="Invalid e-mail" ValidationExpression="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*" />
<ErrorFrameStyle Font-Size="10px">
</ErrorFrameStyle>
<RequiredField IsRequired="True" />
</ValidationSettings>
</dxe:ASPxTextBox>
</td>
</tr>
<tr>
<td class="captionCell">
<dxe:ASPxLabel ID="lblSubject" runat="server" AssociatedControlID="txbSubject">
</dxe:ASPxLabel>
</td>
<td class="inputCell">
<dxe:ASPxTextBox ID="txbSubject" ClientInstanceName="_dxeTxbSubject" runat="server"
Width="100%" AutoCompleteType="Disabled">
</dxe:ASPxTextBox>
</td>
</tr>
</table>
<table cellpadding="0" cellspacing="0" style="width: 100%">
<tr>
<td colspan="2" class="displayPropertiesCell">
<dxe:ASPxLabel ID="lblLinkDisplay" runat="server">
</dxe:ASPxLabel>
</td>
</tr>
<tr>
<td class="captionCell">
<dxe:ASPxLabel ID="lblText" ClientInstanceName="_dxeLblText" runat="server" AssociatedControlID="txbText">
</dxe:ASPxLabel>
</td>
<td class="inputCell">
<dxe:ASPxTextBox ID="txbText" ClientInstanceName="_dxeTxbText" runat="server" Width="100%"
AutoCompleteType="Disabled">
</dxe:ASPxTextBox>
</td>
</tr>
<tr>
<td colspan="2" class="separatorCell">
</td>
</tr>
<tr>
<td class="captionCell">
<dxe:ASPxLabel ID="lblToolTip" runat="server" AssociatedControlID="txbToolTip">
</dxe:ASPxLabel>
</td>
<td class="inputCell">
<dxe:ASPxTextBox ID="txbToolTip" ClientInstanceName="_dxeTxbToolTip" runat="server"
Width="100%" AutoCompleteType="Disabled">
</dxe:ASPxTextBox>
</td>
</tr>
</table>
</dxhe:HtmlEditorRoundPanelContent>
</PanelCollection>
</dxhe:ASPxHtmlEditorRoundPanel>
</td>
</tr>
<tr>
<td id='<% =HtmlEditor.ClientID + "_dxeTargetArea" %>' class="targetCheckBoxCell">
<dxe:ASPxCheckBox ID="ckbOpenInNewWindow" ClientInstanceName="_dxeCkbOpenInNewWindow"
runat="server">
</dxe:ASPxCheckBox>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td class="buttonsCell">
<table cellpadding="0" cellspacing="0" style="display: inline-block;">
<tr>
<td>
<dxe:ASPxButton ID="btnOk" runat="server" AutoPostBack="False" Height="23px" Width="74px"
ClientInstanceName="_dxeBtnOk" CausesValidation="False">
<ClientSideEvents Click="function(s, e) {OnOkButtonClick_InsertLinkForm();}" />
</dxe:ASPxButton>
<dxe:ASPxButton ID="btnChange" runat="server" AutoPostBack="False" Height="23px"
Width="74px" ClientInstanceName="_dxeBtnChange" ClientVisible="False" CausesValidation="False">
<ClientSideEvents Click="function(s, e) { OnOkButtonClick_InsertLinkForm(); }" />
</dxe:ASPxButton>
</td>
<td class="cancelButton">
<dxe:ASPxButton ID="btnCancel" runat="server" AutoPostBack="False" Height="23px"
Width="74px" CausesValidation="False">
<ClientSideEvents Click="function(s, e) {OnCancelButtonClick_InsertLinkForm();}" />
</dxe:ASPxButton>
</td>
</tr>
</table>
</td>
</tr>
</table>
</dxp:PanelContent>
</PanelCollection>
</dxp:ASPxPanel>
<script type="text/javascript" id="dxss_InsertLinkForm">
function OnOkButtonClick_InsertLinkForm() {
if (IsValidFields_InsertLinkForm())
aspxDialogComplete(1, GetDialogData_InsertLinkForm());
}
function OnCancelButtonClick_InsertLinkForm() {
aspxDialogComplete(0, GetDialogData_InsertLinkForm());
}
function OnTypeLinkChanged__InsertLinkForm(radioButtonList) {
var value = radioButtonList.GetValue();
var urlArea = _aspxGetElementById('<% =HtmlEditor.ClientID + "_dxeURLArea" %>');
var emailArea = _aspxGetElementById('<% =HtmlEditor.ClientID + "_dxeEmailArea" %>');
var targetArea = _aspxGetElementById('<% =HtmlEditor.ClientID + "_dxeTargetArea" %>');
_aspxSetElementDisplay(urlArea, value == "URL");
_aspxSetElementDisplay(targetArea, value == "URL");
_aspxSetElementDisplay(emailArea, value == "Email");
}
function IsValidFields_InsertLinkForm() {
var ret = true;
if (_dxeTxbEmailTo.IsVisible())
ret = ASPxClientEdit.ValidateGroup("_dxeTxbEmailToGroup") && ret;
if (_dxeTxbURL.IsVisible())
ret = ASPxClientEdit.ValidateGroup("_dxeTxbURLGroup") && ret;
return ret;
}
function GetDialogData_InsertLinkForm() {
var res = new Object();
res.subject = "";
res.target = "";
res.text = "";
res.title = "";
res.url = "";
res.isCheckedOpenInNewWindow = false;
res.isCheckedOpenInNewWindow = _dxeCkbOpenInNewWindow.GetValue();
res.isTextOnlySelected = _dxeTxbText.GetEnabled();
res.url = _dxeRblLinkType.GetValue() == "Email" ? _dxeTxbEmailTo.GetValue() : _dxeTxbURL.GetValue();
res.subject = _dxeTxbSubject.GetValue();
res.text = _dxeTxbText.GetText();
res.title = _dxeTxbToolTip.GetText();
return res;
}
function aspxHEOnBrowseButtonClick() {
FileManager.browsePopup = BrowsePopup;
BrowsePopup.Show();
FileManager.Refresh();
FileManager.Focus();
}
function aspxHEOnBrowserPopupOpen() {
ASPxDialog.GetCurrentDialog().isPreventKeyPress = true;
_aspxChangeAttribute(_aspxGetElementById('<% =HtmlEditor.ClientID + "_insertlinkdialog_MainPanel" %>'), "onkeypress", "");
}
function aspxHEOnBrowserPopupClose() {
ASPxDialog.GetCurrentDialog().isPreventKeyPress = false;
_aspxRestoreAttribute(_aspxGetElementById('<% =HtmlEditor.ClientID + "_insertlinkdialog_MainPanel" %>'), "onkeypress");
_dxeTxbURL.Focus();
}
</script>
@@ -0,0 +1,204 @@
'------------------------------------------------------------------------------
' <auto-generated>
' This code was generated by a tool.
'
' Changes to this file may cause incorrect behavior and will be lost if
' the code is regenerated.
' </auto-generated>
'------------------------------------------------------------------------------
Option Strict On
Option Explicit On
Partial Public Class InsertLinkForm
'''<summary>
'''MainPanel control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents MainPanel As Global.DevExpress.Web.ASPxPanel
'''<summary>
'''rblLinkType control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents rblLinkType As Global.DevExpress.Web.ASPxRadioButtonList
'''<summary>
'''rpInsertLink control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents rpInsertLink As Global.DevExpress.Web.ASPxHtmlEditor.ASPxHtmlEditorRoundPanel
'''<summary>
'''lblUrl control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents lblUrl As Global.DevExpress.Web.ASPxLabel
'''<summary>
'''txbURL control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents txbURL As Global.DevExpress.Web.ASPxButtonEdit
'''<summary>
'''BrowsePopup control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents BrowsePopup As Global.DevExpress.Web.ASPxPopupControl
'''<summary>
'''PopupControlContentControl1 control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents PopupControlContentControl1 As Global.DevExpress.Web.PopupControlContentControl
'''<summary>
'''ucSelectDocumentForm control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents ucSelectDocumentForm As Global.SelectDocumentForm
'''<summary>
'''lblEmailTo control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents lblEmailTo As Global.DevExpress.Web.ASPxLabel
'''<summary>
'''txbEmailTo control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents txbEmailTo As Global.DevExpress.Web.ASPxTextBox
'''<summary>
'''lblSubject control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents lblSubject As Global.DevExpress.Web.ASPxLabel
'''<summary>
'''txbSubject control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents txbSubject As Global.DevExpress.Web.ASPxTextBox
'''<summary>
'''lblLinkDisplay control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents lblLinkDisplay As Global.DevExpress.Web.ASPxLabel
'''<summary>
'''lblText control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents lblText As Global.DevExpress.Web.ASPxLabel
'''<summary>
'''txbText control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents txbText As Global.DevExpress.Web.ASPxTextBox
'''<summary>
'''lblToolTip control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents lblToolTip As Global.DevExpress.Web.ASPxLabel
'''<summary>
'''txbToolTip control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents txbToolTip As Global.DevExpress.Web.ASPxTextBox
'''<summary>
'''ckbOpenInNewWindow control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents ckbOpenInNewWindow As Global.DevExpress.Web.ASPxCheckBox
'''<summary>
'''btnOk control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents btnOk As Global.DevExpress.Web.ASPxButton
'''<summary>
'''btnChange control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents btnChange As Global.DevExpress.Web.ASPxButton
'''<summary>
'''btnCancel control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents btnCancel As Global.DevExpress.Web.ASPxButton
End Class
@@ -0,0 +1,54 @@
Imports System
Imports System.Data
Imports System.Configuration
Imports System.Collections
Imports System.Web
Imports System.Web.Security
Imports System.Web.UI
Imports System.Web.UI.WebControls
Imports System.Web.UI.WebControls.WebParts
Imports System.Web.UI.HtmlControls
Imports DevExpress.Web.ASPxHtmlEditor
Imports DevExpress.Web.ASPxHtmlEditor.Localization
Imports DevExpress.Web
Partial Public Class InsertLinkForm
Inherits HtmlEditorUserControl
Protected Overrides Sub PrepareChildControls()
Localize()
MyBase.PrepareChildControls()
Dim documentSelectorEnabled As Boolean = HtmlEditor.SettingsDocumentSelector.Enabled
txbURL.Buttons(0).Visible = documentSelectorEnabled
BrowsePopup.Visible = documentSelectorEnabled
End Sub
Private Sub Localize()
rblLinkType.Items.Add(ASPxHtmlEditorLocalizer.GetString(ASPxHtmlEditorStringId.InsertLink_Url), "URL")
rblLinkType.Items.Add(ASPxHtmlEditorLocalizer.GetString(ASPxHtmlEditorStringId.InsertLink_Email), "Email")
lblUrl.Text = ASPxHtmlEditorLocalizer.GetString(ASPxHtmlEditorStringId.InsertLink_Url) & ":"
txbURL.ValidationSettings.RequiredField.ErrorText = ASPxHtmlEditorLocalizer.GetString(ASPxHtmlEditorStringId.RequiredFieldError)
lblEmailTo.Text = ASPxHtmlEditorLocalizer.GetString(ASPxHtmlEditorStringId.InsertLink_EmailTo) & ":"
txbEmailTo.ValidationSettings.RequiredField.ErrorText = ASPxHtmlEditorLocalizer.GetString(ASPxHtmlEditorStringId.RequiredFieldError)
lblSubject.Text = ASPxHtmlEditorLocalizer.GetString(ASPxHtmlEditorStringId.InsertLink_Subject) & ":"
lblLinkDisplay.Text = ASPxHtmlEditorLocalizer.GetString(ASPxHtmlEditorStringId.InsertLink_DisplayProperties)
lblText.Text = ASPxHtmlEditorLocalizer.GetString(ASPxHtmlEditorStringId.InsertLink_Text) & ":"
lblToolTip.Text = ASPxHtmlEditorLocalizer.GetString(ASPxHtmlEditorStringId.InsertLink_ToolTip) & ":"
ckbOpenInNewWindow.Text = ASPxHtmlEditorLocalizer.GetString(ASPxHtmlEditorStringId.InsertLink_OpenInNewWindow)
btnOk.Text = ASPxHtmlEditorLocalizer.GetString(ASPxHtmlEditorStringId.ButtonOk)
btnChange.Text = ASPxHtmlEditorLocalizer.GetString(ASPxHtmlEditorStringId.ButtonChange)
btnCancel.Text = ASPxHtmlEditorLocalizer.GetString(ASPxHtmlEditorStringId.ButtonCancel)
BrowsePopup.HeaderText = ASPxHtmlEditorLocalizer.GetString(ASPxHtmlEditorStringId.SelectDocument)
txbURL.Buttons(0).ToolTip = ASPxHtmlEditorLocalizer.GetString(ASPxHtmlEditorStringId.InsertLink_SelectDocument)
End Sub
Protected Overrides Function GetChildDxEdits() As ASPxEditBase()
Return New ASPxEditBase() {rblLinkType, lblUrl, txbURL, lblEmailTo, txbEmailTo, lblSubject, txbSubject, lblLinkDisplay, lblText, txbText, lblToolTip, txbToolTip, ckbOpenInNewWindow}
End Function
Protected Overrides Function GetChildDxButtons() As ASPxButton()
Return New ASPxButton() {btnOk, btnCancel, btnChange}
End Function
Protected Overrides Function GetChildDxHtmlEditorRoundPanel() As ASPxHtmlEditorRoundPanel
Return rpInsertLink
End Function
End Class
@@ -0,0 +1,456 @@
<%@ Control Language="vb" AutoEventWireup="true" Inherits="InsertTableForm" Codebehind="InsertTableForm.ascx.vb" %>
<%@ Assembly name="DevExpress.Data.v15.2, Version=15.2.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" %>
<%@ Register Assembly="DevExpress.Web.ASPxHtmlEditor.v15.2, Version=15.2.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" Namespace="DevExpress.Web.ASPxHtmlEditor"
TagPrefix="dxhe" %>
<%@ Register Assembly="DevExpress.Web.v15.2, Version=15.2.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" Namespace="DevExpress.Web"
TagPrefix="dxe" %>
<%@ Register Assembly="DevExpress.Web.v15.2, Version=15.2.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" Namespace="DevExpress.Web"
TagPrefix="dxp" %>
<%@ Register Assembly="DevExpress.Web.ASPxHtmlEditor.v15.2, Version=15.2.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" Namespace="DevExpress.Web.ASPxHtmlEditor" TagPrefix="dxhe" %>
<dxp:ASPxPanel ID="MainPanel" runat="server" Width="100%" DefaultButton="btnOk">
<panelcollection>
<dxp:PanelContent ID="PanelContent1" runat="server">
<table cellpadding="0" cellspacing="0" id="dxInsertTableForm">
<tr>
<td class="contentCell">
<table cellpadding="0" cellspacing="0">
<tr>
<td>
<dxhe:ASPxHtmlEditorRoundPanel ID="rpSize" runat="server" Width="395px">
<ContentPaddings PaddingTop="4px" />
<PanelCollection>
<dxhe:HtmlEditorRoundPanelContent ID="HtmlEditorRoundPanelContent1" runat="server">
<table cellpadding="0" cellspacing="0">
<tr>
<td class="propGroupCell">
<dxe:ASPxLabel ID="lblSize" runat="server">
</dxe:ASPxLabel>
</td>
</tr>
<tr>
<td class="propGroupContentCell">
<table cellpadding="0" cellspacing="0">
<tr>
<td class="captionCell">
<dxe:ASPxLabel ID="lblColumns" runat="server" AssociatedControlID="spnColumns">
</dxe:ASPxLabel>
</td>
<td class="inputCell">
<dxe:ASPxSpinEdit ID="spnColumns" ClientInstanceName="_dxeSpnTableColumns" runat="server"
Height="21px" Number="2" Width="57px" AllowNull="False" NumberType="Integer"
MaxValue="50" MinValue="1">
</dxe:ASPxSpinEdit>
</td>
<td>
<div class="rowsHorizontalSeparator">
</div>
</td>
<td class="rowsCaptionCell">
<dxe:ASPxLabel ID="lblRows" runat="server" AssociatedControlID="spnRows">
</dxe:ASPxLabel>
</td>
<td class="rowsInputCell">
<dxe:ASPxSpinEdit ID="spnRows" ClientInstanceName="_dxeSpnTableRows" runat="server" Height="21px"
Number="2" Width="57px" AllowNull="False" NumberType="Integer" MaxValue="10000"
MinValue="1">
</dxe:ASPxSpinEdit>
</td>
</tr>
<tr>
<td colspan="5" class="rowsSeparator">
</td>
</tr>
<tr>
<td class="captionCell">
<dxe:ASPxLabel ID="lblWidth" runat="server" AssociatedControlID="cmbWidth">
</dxe:ASPxLabel>
</td>
<td class="inputCell" colspan="3">
<dxe:ASPxComboBox ID="cmbWidth" ClientInstanceName="_dxeCmbTableWidth" runat="server" ValueType="System.String" SelectedIndex="0"
Width="140px">
<ClientSideEvents SelectedIndexChanged="function(s, e) { OnCmdWidthSelectedIndexChanged_InsertTableForm(s); }" />
<Items>
<dxe:ListEditItem Value="100%" />
<dxe:ListEditItem Value="" />
<dxe:ListEditItem Value="custom" />
</Items>
</dxe:ASPxComboBox>
</td>
<td class="rowsInputCell" style="visibility: hidden;" id='<% =HtmlEditor.ClientID + "_dxeWidthSpinEditCell"%>' colspan="2">
<table cellpadding="0" cellspacing="0">
<tr>
<td>
<dxe:ASPxSpinEdit ID="txbWidth" ClientInstanceName="_dxeTxbTableWidth" runat="server" Height="21px"
Number="0" Width="57px" AllowNull="False" NumberType="Float" MaxValue="10000"
MinValue="0">
</dxe:ASPxSpinEdit>
</td>
<td class="rowsInputCell">
<dxe:ASPxComboBox ID="cmbWidthType" ClientInstanceName="_dxeCmbTableWidthType" runat="server"
ValueType="System.String" SelectedIndex="0" Width="45px">
<Items>
<dxe:ListEditItem Value="px" />
<dxe:ListEditItem Value="%" />
</Items>
</dxe:ASPxComboBox>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td></td>
<td colspan="4">
<dxe:ASPxCheckBox ID="ckbColumnsEqualWidth" ClientInstanceName="_dxeCkbColumnsEqualWidth" Checked="true" runat="server">
</dxe:ASPxCheckBox>
</td>
</tr>
<tr>
<td colspan="5" class="separatorCell">
</td>
</tr>
<tr>
<td class="captionCell">
<dxe:ASPxLabel ID="lblHeight" runat="server" AssociatedControlID="cmbHeight">
</dxe:ASPxLabel>
</td>
<td class="inputCell" colspan="3">
<dxe:ASPxComboBox ID="cmbHeight" ClientInstanceName="_dxeCmbTableHeight" runat="server"
ValueType="System.String" SelectedIndex="0" Width="140px">
<ClientSideEvents SelectedIndexChanged="function(s, e) { OnCmdHeightSelectedIndexChanged_InsertTableForm(s); }" />
<Items>
<dxe:ListEditItem Value="" />
<dxe:ListEditItem Value="custom" />
</Items>
</dxe:ASPxComboBox>
</td>
<td class="rowsInputCell" style="visibility: hidden;" id='<% =HtmlEditor.ClientID + "_dxeHeightSpinEditCell"%>' colspan="2">
<table cellpadding="0" cellspacing="0">
<tr>
<td>
<dxe:ASPxSpinEdit ID="txbHeight" ClientInstanceName="_dxeTxbTableHeight" runat="server" Height="21px"
Number="0" Width="57px" AllowNull="False" NumberType="Float" MaxValue="10000"
MinValue="0">
</dxe:ASPxSpinEdit>
</td>
<td class="rowsInputCell">
<dxe:ASPxComboBox ID="cmbHeightType" ClientInstanceName="_dxeCmbTableHeightType" runat="server"
ValueType="System.String" SelectedIndex="0" Width="45px">
<Items>
<dxe:ListEditItem Value="px" />
<dxe:ListEditItem Value="%" />
</Items>
</dxe:ASPxComboBox>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</dxhe:HtmlEditorRoundPanelContent>
</PanelCollection>
</dxhe:ASPxHtmlEditorRoundPanel>
<div class="propGroupSeparator">
</div>
<!-- LAYOUT -->
<dxhe:ASPxHtmlEditorRoundPanel ID="rpLayout" runat="server" Width="395px">
<ContentPaddings PaddingTop="4px" />
<PanelCollection>
<dxhe:HtmlEditorRoundPanelContent ID="HtmlEditorRoundPanelContent4" runat="server">
<table cellpadding="0" cellspacing="0">
<tr>
<td class="propGroupCell">
<dxe:ASPxLabel ID="lblLayout" runat="server">
</dxe:ASPxLabel>
</td>
</tr>
<tr>
<td class="propGroupContentCell">
<table cellpadding="0" cellspacing="0">
<tr>
<td class="captionCell">
<dxe:ASPxLabel ID="lblPadding" runat="server" AssociatedControlID="spnPadding">
</dxe:ASPxLabel>
</td>
<td class="inputCell">
<dxe:ASPxSpinEdit ID="spnPadding" ClientInstanceName="_dxeSpnCellPadding" runat="server"
Height="21px" Number="3" Width="52px" AllowNull="False" NumberType="Integer"
MaxValue="10000" MinValue="0">
</dxe:ASPxSpinEdit>
</td>
<td>
<div class="propFieldSeparator">
</div>
</td>
<td class="captionCell">
<dxe:ASPxLabel ID="lblAlign" runat="server" AssociatedControlID="cmbAlign">
</dxe:ASPxLabel>
</td>
<td class="inputCell">
<dxe:ASPxComboBox ID="cmbAlign" runat="server" ValueType="System.String" ClientInstanceName="_dxeCmbTableAlign"
SelectedIndex="0" Width="70px">
<Items>
<dxe:ListEditItem Value="" />
<dxe:ListEditItem Value="left" />
<dxe:ListEditItem Value="center" />
<dxe:ListEditItem Value="right" />
</Items>
</dxe:ASPxComboBox>
</td>
</tr>
<tr>
<td colspan="5" class="separatorCell">
</td>
</tr>
<tr>
<td class="captionCell">
<dxe:ASPxLabel ID="lblSpacing" runat="server" AssociatedControlID="spnSpacing">
</dxe:ASPxLabel>
</td>
<td class="inputCell" colspan="3">
<dxe:ASPxSpinEdit ID="spnSpacing" ClientInstanceName="_dxeSpnCellSpacing" runat="server"
Height="21px" Number="0" Width="52px" AllowNull="False" NumberType="Integer"
MaxValue="10000" MinValue="0">
</dxe:ASPxSpinEdit>
</td>
</tr>
</table>
</td>
</tr>
</table>
</dxhe:HtmlEditorRoundPanelContent>
</PanelCollection>
</dxhe:ASPxHtmlEditorRoundPanel>
<div class="propGroupSeparator">
</div>
<!-- APPEARANCE -->
<dxhe:ASPxHtmlEditorRoundPanel ID="rpAppearance" runat="server" Width="395px">
<ContentPaddings PaddingTop="4px" />
<PanelCollection>
<dxhe:HtmlEditorRoundPanelContent ID="HtmlEditorRoundPanelContent3" runat="server">
<table cellpadding="0" cellspacing="0">
<tr>
<td class="propGroupCell">
<dxe:ASPxLabel ID="lblAppearance" runat="server">
</dxe:ASPxLabel>
</td>
</tr>
<tr>
<td class="propGroupContentCell">
<table cellpadding="0" cellspacing="0">
<tr>
<td class="captionCell">
<dxe:ASPxLabel ID="lblBorderColor" runat="server" AssociatedControlID="txbBorderColor">
</dxe:ASPxLabel>
</td>
<td class="inputCell">
<dxe:ASPxColorEdit ID="txbBorderColor" runat="server"
ClientInstanceName="_dxeTxbTableBorderColor" Width="100px" Color="#000000">
</dxe:ASPxColorEdit>
</td>
<td>
<div class="propFieldSeparator">
</div>
</td>
<td class="captionCell">
<dxe:ASPxLabel ID="lblBorderSize" runat="server" AssociatedControlID="spnBorderSize">
</dxe:ASPxLabel>
</td>
<td class="inputCell">
<dxe:ASPxSpinEdit ID="spnBorderSize" ClientInstanceName="_dxeSpnTableBorderSize" runat="server"
Height="21px" Number="1" Width="40px" AllowNull="False" NumberType="Integer"
MaxValue="10000" MinValue="0">
</dxe:ASPxSpinEdit>
</td>
</tr>
<tr>
<td colspan="5" class="separatorCell">
</td>
</tr>
<tr>
<td class="captionCell">
<dxe:ASPxLabel ID="lblBackgroundColor" runat="server" AssociatedControlID="txbBackgroundColor">
</dxe:ASPxLabel>
</td>
<td class="inputCell" colspan="3">
<dxe:ASPxColorEdit ID="txbBackgroundColor" runat="server"
ClientInstanceName="_dxeTxbTableBackgroundColor" Width="100px" Color="">
</dxe:ASPxColorEdit>
</td>
</tr>
</table>
</td>
</tr>
</table>
</dxhe:HtmlEditorRoundPanelContent>
</PanelCollection>
</dxhe:ASPxHtmlEditorRoundPanel>
<div class="propGroupSeparator">
</div>
<div class="accessibilityPropGroupCell">
<dxe:ASPxCheckBox ID="ckbAccessibility" runat="server">
<ClientSideEvents CheckedChanged="function(s, e) { OnAccessibilityCheckBoxCheckedChanged(s) }" />
</dxe:ASPxCheckBox>
</div>
<dxhe:ASPxHtmlEditorRoundPanel ID="rpAccessibility" runat="server" ClientVisible="false" ClientInstanceName="_dxeRPAccessibility" Width="395px">
<PanelCollection>
<dxhe:HtmlEditorRoundPanelContent ID="HtmlEditorRoundPanelContent2" runat="server">
<table cellpadding="0" cellspacing="0">
<tr>
<td class="propGroupContentCell">
<table cellpadding="0" cellspacing="0">
<tr>
<td class="captionCell">
<dxe:ASPxLabel ID="lblHeaders" runat="server" AssociatedControlID="cmbHeaders">
</dxe:ASPxLabel>
</td>
<td class="inputCell">
<dxe:ASPxComboBox ID="cmbHeaders" runat="server" ValueType="System.String" ClientInstanceName="_dxeCmbTableHeaders"
SelectedIndex="0" Width="100px">
<ClientSideEvents SelectedIndexChanged="function(s, e) { }" />
<Items>
<dxe:ListEditItem Value="" />
<dxe:ListEditItem Value="row" />
<dxe:ListEditItem Value="column" />
<dxe:ListEditItem Value="both" />
</Items>
</dxe:ASPxComboBox>
</td>
</tr>
<tr>
<td colspan="2" class="separatorCell"></td>
</tr>
<tr>
<td class="captionCell">
<dxe:ASPxLabel ID="lblCaption" runat="server" AssociatedControlID="txbCaption">
</dxe:ASPxLabel>
</td>
<td class="inputCell">
<dxe:ASPxTextBox ID="txbCaption" runat="server" Width="190px" ClientInstanceName="_dxeTxbTableCaption">
</dxe:ASPxTextBox>
</td>
</tr>
<tr>
<td colspan="2" class="separatorCell"></td>
</tr>
<tr>
<td class="captionCell">
<dxe:ASPxLabel ID="lblSummary" runat="server" AssociatedControlID="txbSummary">
</dxe:ASPxLabel>
</td>
<td class="inputCell">
<dxe:ASPxTextBox ID="txbSummary" runat="server" Width="190px" ClientInstanceName="_dxeTxbTableSummary">
</dxe:ASPxTextBox>
</td>
</tr>
</table>
</td>
</tr>
</table>
</dxhe:HtmlEditorRoundPanelContent>
</PanelCollection>
</dxhe:ASPxHtmlEditorRoundPanel>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td class="buttonsCell">
<table cellpadding="0" cellspacing="0" style="display:inline-block;">
<tr>
<td>
<dxe:ASPxButton ID="btnOk" runat="server" AutoPostBack="False" Height="23px" Width="74px" CausesValidation="False">
<ClientSideEvents Click="function(s, e) {OnOkButtonClick_InsertTableForm();}" />
</dxe:ASPxButton>
</td>
<td class="cancelButton">
<dxe:ASPxButton ID="btnCancel" runat="server" AutoPostBack="False" Height="23px"
Width="74px" CausesValidation="False">
<ClientSideEvents Click="function(s, e) {OnCancelButtonClick_InsertTableForm();}" />
</dxe:ASPxButton>
</td>
</tr>
</table>
</td>
</tr>
</table>
</dxp:PanelContent>
</panelcollection>
</dxp:ASPxPanel>
<script type="text/javascript" id="dxss_InsertTableForm">
function OnOkButtonClick_InsertTableForm() {
aspxDialogComplete(1, GetDialogData_InsertTableForm());
}
function OnCancelButtonClick_InsertTableForm() {
aspxDialogComplete(0, null);
}
function GetDialogData_InsertTableForm() {
var res = new Object();
res.tableProperties = {};
// common
res.rows = _dxeSpnTableRows.GetNumber();
res.columns = _dxeSpnTableColumns.GetNumber();
res.isColumnEqualWidth = _dxeCkbColumnsEqualWidth.GetChecked();
// tableProperties
res.tableProperties.cellSpacing = _dxeSpnCellSpacing.GetNumber();
res.tableProperties.cellPadding = _dxeSpnCellPadding.GetNumber();
res.tableProperties.width = GetWidth_InsertTableForm();
res.tableProperties.height = GetHeight_InsertTableForm();
res.tableProperties.borderColor = _dxeTxbTableBorderColor.GetValue();
res.tableProperties.borderWidth = _dxeSpnTableBorderSize.GetNumber();
res.tableProperties.backgroundColor = _dxeTxbTableBackgroundColor.GetValue();
res.tableProperties.align = GetAlign_InsertTableForm();
res.tableProperties.accessibility = GetAccessibilityProperties_InsertTableForm();
return res;
}
function GetAccessibilityProperties_InsertTableForm() {
var accessibilityProp = {};
accessibilityProp.summary = _dxeTxbTableSummary.GetText();
accessibilityProp.caption = _dxeTxbTableCaption.GetText();
accessibilityProp.headers = _dxeCmbTableHeaders.GetValue();
return accessibilityProp;
}
function GetAlign_InsertTableForm() {
var align = _dxeCmbTableAlign.GetValue();
if (align)
align = align.toLowerCase();
return align;
}
function GetWidth_InsertTableForm() {
var width = _dxeCmbTableWidth.GetValue();
if (width == "custom")
width = _dxeTxbTableWidth.GetValue() + _dxeCmbTableWidthType.GetValue();
return width;
}
function GetHeight_InsertTableForm() {
var height = _dxeCmbTableHeight.GetValue();
if (height == "custom")
height = _dxeTxbTableHeight.GetValue() + _dxeCmbTableHeightType.GetValue();
return height;
}
function OnAccessibilityCheckBoxCheckedChanged(accessibilityCheckBox) {
_dxeRPAccessibility.SetClientVisible(accessibilityCheckBox.GetChecked());
}
function OnCmdWidthSelectedIndexChanged_InsertTableForm(widthCombox) {
_aspxSetElementVisibility(_aspxGetElementById('<% =HtmlEditor.ClientID + "_dxeWidthSpinEditCell"%>'), widthCombox.GetValue() == "custom");
}
function OnCmdHeightSelectedIndexChanged_InsertTableForm(heightCombox) {
_aspxSetElementVisibility(_aspxGetElementById('<% =HtmlEditor.ClientID + "_dxeHeightSpinEditCell"%>'), heightCombox.GetValue() == "custom");
}
</script>
@@ -0,0 +1,438 @@
'------------------------------------------------------------------------------
' <auto-generated>
' This code was generated by a tool.
'
' Changes to this file may cause incorrect behavior and will be lost if
' the code is regenerated.
' </auto-generated>
'------------------------------------------------------------------------------
Option Strict On
Option Explicit On
Partial Public Class InsertTableForm
'''<summary>
'''MainPanel control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents MainPanel As Global.DevExpress.Web.ASPxPanel
'''<summary>
'''PanelContent1 control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents PanelContent1 As Global.DevExpress.Web.PanelContent
'''<summary>
'''rpSize control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents rpSize As Global.DevExpress.Web.ASPxHtmlEditor.ASPxHtmlEditorRoundPanel
'''<summary>
'''HtmlEditorRoundPanelContent1 control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents HtmlEditorRoundPanelContent1 As Global.DevExpress.Web.ASPxHtmlEditor.HtmlEditorRoundPanelContent
'''<summary>
'''lblSize control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents lblSize As Global.DevExpress.Web.ASPxLabel
'''<summary>
'''lblColumns control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents lblColumns As Global.DevExpress.Web.ASPxLabel
'''<summary>
'''spnColumns control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents spnColumns As Global.DevExpress.Web.ASPxSpinEdit
'''<summary>
'''lblRows control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents lblRows As Global.DevExpress.Web.ASPxLabel
'''<summary>
'''spnRows control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents spnRows As Global.DevExpress.Web.ASPxSpinEdit
'''<summary>
'''lblWidth control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents lblWidth As Global.DevExpress.Web.ASPxLabel
'''<summary>
'''cmbWidth control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents cmbWidth As Global.DevExpress.Web.ASPxComboBox
'''<summary>
'''txbWidth control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents txbWidth As Global.DevExpress.Web.ASPxSpinEdit
'''<summary>
'''cmbWidthType control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents cmbWidthType As Global.DevExpress.Web.ASPxComboBox
'''<summary>
'''ckbColumnsEqualWidth control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents ckbColumnsEqualWidth As Global.DevExpress.Web.ASPxCheckBox
'''<summary>
'''lblHeight control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents lblHeight As Global.DevExpress.Web.ASPxLabel
'''<summary>
'''cmbHeight control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents cmbHeight As Global.DevExpress.Web.ASPxComboBox
'''<summary>
'''txbHeight control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents txbHeight As Global.DevExpress.Web.ASPxSpinEdit
'''<summary>
'''cmbHeightType control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents cmbHeightType As Global.DevExpress.Web.ASPxComboBox
'''<summary>
'''rpLayout control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents rpLayout As Global.DevExpress.Web.ASPxHtmlEditor.ASPxHtmlEditorRoundPanel
'''<summary>
'''HtmlEditorRoundPanelContent4 control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents HtmlEditorRoundPanelContent4 As Global.DevExpress.Web.ASPxHtmlEditor.HtmlEditorRoundPanelContent
'''<summary>
'''lblLayout control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents lblLayout As Global.DevExpress.Web.ASPxLabel
'''<summary>
'''lblPadding control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents lblPadding As Global.DevExpress.Web.ASPxLabel
'''<summary>
'''spnPadding control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents spnPadding As Global.DevExpress.Web.ASPxSpinEdit
'''<summary>
'''lblAlign control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents lblAlign As Global.DevExpress.Web.ASPxLabel
'''<summary>
'''cmbAlign control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents cmbAlign As Global.DevExpress.Web.ASPxComboBox
'''<summary>
'''lblSpacing control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents lblSpacing As Global.DevExpress.Web.ASPxLabel
'''<summary>
'''spnSpacing control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents spnSpacing As Global.DevExpress.Web.ASPxSpinEdit
'''<summary>
'''rpAppearance control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents rpAppearance As Global.DevExpress.Web.ASPxHtmlEditor.ASPxHtmlEditorRoundPanel
'''<summary>
'''HtmlEditorRoundPanelContent3 control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents HtmlEditorRoundPanelContent3 As Global.DevExpress.Web.ASPxHtmlEditor.HtmlEditorRoundPanelContent
'''<summary>
'''lblAppearance control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents lblAppearance As Global.DevExpress.Web.ASPxLabel
'''<summary>
'''lblBorderColor control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents lblBorderColor As Global.DevExpress.Web.ASPxLabel
'''<summary>
'''txbBorderColor control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents txbBorderColor As Global.DevExpress.Web.ASPxColorEdit
'''<summary>
'''lblBorderSize control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents lblBorderSize As Global.DevExpress.Web.ASPxLabel
'''<summary>
'''spnBorderSize control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents spnBorderSize As Global.DevExpress.Web.ASPxSpinEdit
'''<summary>
'''lblBackgroundColor control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents lblBackgroundColor As Global.DevExpress.Web.ASPxLabel
'''<summary>
'''txbBackgroundColor control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents txbBackgroundColor As Global.DevExpress.Web.ASPxColorEdit
'''<summary>
'''ckbAccessibility control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents ckbAccessibility As Global.DevExpress.Web.ASPxCheckBox
'''<summary>
'''rpAccessibility control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents rpAccessibility As Global.DevExpress.Web.ASPxHtmlEditor.ASPxHtmlEditorRoundPanel
'''<summary>
'''HtmlEditorRoundPanelContent2 control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents HtmlEditorRoundPanelContent2 As Global.DevExpress.Web.ASPxHtmlEditor.HtmlEditorRoundPanelContent
'''<summary>
'''lblHeaders control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents lblHeaders As Global.DevExpress.Web.ASPxLabel
'''<summary>
'''cmbHeaders control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents cmbHeaders As Global.DevExpress.Web.ASPxComboBox
'''<summary>
'''lblCaption control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents lblCaption As Global.DevExpress.Web.ASPxLabel
'''<summary>
'''txbCaption control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents txbCaption As Global.DevExpress.Web.ASPxTextBox
'''<summary>
'''lblSummary control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents lblSummary As Global.DevExpress.Web.ASPxLabel
'''<summary>
'''txbSummary control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents txbSummary As Global.DevExpress.Web.ASPxTextBox
'''<summary>
'''btnOk control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents btnOk As Global.DevExpress.Web.ASPxButton
'''<summary>
'''btnCancel control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents btnCancel As Global.DevExpress.Web.ASPxButton
End Class
@@ -0,0 +1,66 @@
Imports System
Imports System.Collections.Generic
Imports System.Web
Imports System.Web.UI
Imports System.Web.UI.WebControls
Imports DevExpress.Web.ASPxHtmlEditor
Imports DevExpress.Web
Imports DevExpress.Web.ASPxHtmlEditor.Localization
Partial Public Class InsertTableForm
Inherits HtmlEditorUserControl
Protected Overrides Sub PrepareChildControls()
Localize()
MyBase.PrepareChildControls()
End Sub
Private Sub Localize()
btnOk.Text = ASPxHtmlEditorLocalizer.GetString(ASPxHtmlEditorStringId.ButtonOk)
btnCancel.Text = ASPxHtmlEditorLocalizer.GetString(ASPxHtmlEditorStringId.ButtonCancel)
lblSize.Text = ASPxHtmlEditorLocalizer.GetString(ASPxHtmlEditorStringId.InsertTable_Size) & ":"
lblColumns.Text = ASPxHtmlEditorLocalizer.GetString(ASPxHtmlEditorStringId.InsertTable_Columns) & ":"
lblRows.Text = ASPxHtmlEditorLocalizer.GetString(ASPxHtmlEditorStringId.InsertTable_Rows) & ":"
lblWidth.Text = ASPxHtmlEditorLocalizer.GetString(ASPxHtmlEditorStringId.InsertTable_Width) & ":"
lblHeight.Text = ASPxHtmlEditorLocalizer.GetString(ASPxHtmlEditorStringId.InsertTable_Height) & ":"
cmbWidth.Items(0).Text = ASPxHtmlEditorLocalizer.GetString(ASPxHtmlEditorStringId.InsertTable_FullWidth)
cmbWidth.Items(1).Text = ASPxHtmlEditorLocalizer.GetString(ASPxHtmlEditorStringId.InsertTable_AutoFitToContent)
cmbWidth.Items(2).Text = ASPxHtmlEditorLocalizer.GetString(ASPxHtmlEditorStringId.InsertTable_Custom)
ckbColumnsEqualWidth.Text = ASPxHtmlEditorLocalizer.GetString(ASPxHtmlEditorStringId.InsertTable_EqualColumnWidths)
cmbHeight.Items(0).Text = ASPxHtmlEditorLocalizer.GetString(ASPxHtmlEditorStringId.InsertTable_AutoFitToContent)
cmbHeight.Items(1).Text = ASPxHtmlEditorLocalizer.GetString(ASPxHtmlEditorStringId.InsertTable_Custom)
lblLayout.Text = ASPxHtmlEditorLocalizer.GetString(ASPxHtmlEditorStringId.InsertTable_Layout) & ":"
lblPadding.Text = ASPxHtmlEditorLocalizer.GetString(ASPxHtmlEditorStringId.InsertTable_CellPaddings) & ":"
lblAlign.Text = ASPxHtmlEditorLocalizer.GetString(ASPxHtmlEditorStringId.InsertTable_Alignment) & ":"
cmbAlign.Items(0).Text = ASPxHtmlEditorLocalizer.GetString(ASPxHtmlEditorStringId.InsertTable_None)
cmbAlign.Items(1).Text = ASPxHtmlEditorLocalizer.GetString(ASPxHtmlEditorStringId.InsertTable_Alignment_Left)
cmbAlign.Items(2).Text = ASPxHtmlEditorLocalizer.GetString(ASPxHtmlEditorStringId.InsertTable_Alignment_Center)
cmbAlign.Items(3).Text = ASPxHtmlEditorLocalizer.GetString(ASPxHtmlEditorStringId.InsertTable_Alignment_Right)
lblSpacing.Text = ASPxHtmlEditorLocalizer.GetString(ASPxHtmlEditorStringId.InsertTable_CellSpacing) & ":"
lblAppearance.Text = ASPxHtmlEditorLocalizer.GetString(ASPxHtmlEditorStringId.InsertTable_Appearance) & ":"
lblBorderColor.Text = ASPxHtmlEditorLocalizer.GetString(ASPxHtmlEditorStringId.InsertTable_BorderColor) & ":"
lblBorderSize.Text = ASPxHtmlEditorLocalizer.GetString(ASPxHtmlEditorStringId.InsertTable_BorderSize) & ":"
lblBackgroundColor.Text = ASPxHtmlEditorLocalizer.GetString(ASPxHtmlEditorStringId.InsertTable_BgColor) & ":"
ckbAccessibility.Text = ASPxHtmlEditorLocalizer.GetString(ASPxHtmlEditorStringId.InsertTable_Accessibility)
lblHeaders.Text = ASPxHtmlEditorLocalizer.GetString(ASPxHtmlEditorStringId.InsertTable_Headers) & ":"
cmbHeaders.Items(0).Text = ASPxHtmlEditorLocalizer.GetString(ASPxHtmlEditorStringId.InsertTable_None)
cmbHeaders.Items(1).Text = ASPxHtmlEditorLocalizer.GetString(ASPxHtmlEditorStringId.InsertTable_FirstRow)
cmbHeaders.Items(2).Text = ASPxHtmlEditorLocalizer.GetString(ASPxHtmlEditorStringId.InsertTable_FirstColumn)
cmbHeaders.Items(3).Text = ASPxHtmlEditorLocalizer.GetString(ASPxHtmlEditorStringId.InsertTable_Both)
lblCaption.Text = ASPxHtmlEditorLocalizer.GetString(ASPxHtmlEditorStringId.InsertTable_Caption) & ":"
lblSummary.Text = ASPxHtmlEditorLocalizer.GetString(ASPxHtmlEditorStringId.InsertTable_Summary) & ":"
End Sub
Protected Overrides Function GetChildDxEdits() As ASPxEditBase()
Return New ASPxEditBase() { spnRows, spnColumns, lblLayout, lblSize, lblWidth, cmbWidth, txbWidth, lblHeight, cmbHeight, txbHeight, spnPadding, spnSpacing, cmbAlign, lblAppearance, lblBorderSize, lblBorderColor, spnBorderSize, txbBorderColor, txbBackgroundColor, ckbAccessibility, cmbHeaders, txbCaption, txbSummary, ckbColumnsEqualWidth, cmbWidthType, cmbHeightType}
End Function
Protected Overrides Function GetChildDxButtons() As ASPxButton()
Return New ASPxButton() { btnOk, btnCancel }
End Function
Protected Overrides Function GetChildDxHtmlEditorRoundPanels() As ASPxHtmlEditorRoundPanel()
Return New ASPxHtmlEditorRoundPanel() { rpSize, rpLayout, rpAppearance, rpAccessibility }
End Function
End Class
@@ -0,0 +1,78 @@
<%@ Control Language="vb" AutoEventWireup="true" Inherits="PasteFromWordForm" Codebehind="PasteFromWordForm.ascx.vb" %>
<%@ Register Assembly="DevExpress.Web.v15.2, Version=15.2.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" Namespace="DevExpress.Web" TagPrefix="dxe" %>
<%@ Register Assembly="DevExpress.Web.ASPxHtmlEditor.v15.2, Version=15.2.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" Namespace="DevExpress.Web.ASPxHtmlEditor" TagPrefix="dxhe" %>
<%@ Register Assembly="DevExpress.Web.v15.2, Version=15.2.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" Namespace="DevExpress.Web" TagPrefix="dxp" %>
<%-- B141214 --%>
<dxe:ASPxLabel ID="lblB141214" runat="server" Style="display: none;" />
<dxp:ASPxPanel ID="MainPanel" runat="server" Width="100%" DefaultButton="btnOk" RenderMode="Table">
<PanelCollection>
<dxp:PanelContent ID="PanelContent1" runat="server">
<table cellpadding="0" cellspacing="0" id="dxPasteFromWordForm">
<tr>
<td class="contentCell">
<table cellpadding="0" cellspacing="0">
<tr>
<td>
<dxe:ASPxLabel ID="lblDescription" runat="server">
</dxe:ASPxLabel>
</td>
</tr>
<tr>
<td class="pasteContainerCell">
<table cellpadding="0" cellspacing="0">
<tr>
<td>
<iframe id='<% =HtmlEditor.ClientID + "_dxePasteFromWordContainer"%>' class="pasteContainer" title='<% =DevExpress.Web.ASPxHtmlEditor.Localization.ASPxHtmlEditorLocalizer.GetString(DevExpress.Web.ASPxHtmlEditor.Localization.ASPxHtmlEditorStringId.PasteRtf_Instructions)%>'>
</iframe>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td class="checkBoxCell">
<dxe:ASPxCheckBox ID="ckbStripFont" runat="server" ClientInstanceName="_dxeCkbStripFont">
</dxe:ASPxCheckBox>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td class="buttonsCell">
<table cellpadding="0" cellspacing="0" style="display:inline-block;">
<tr>
<td>
<dxe:ASPxButton ID="btnOk" runat="server" AutoPostBack="False" Height="23px"
Width="74px" ClientInstanceName="_dxeBtnOk" CausesValidation="False" >
<clientsideevents click="function(s, e) {OnOkButtonClick_PasteFromWordForm();}" />
</dxe:ASPxButton>
</td>
<td class="cancelButton">
<dxe:ASPxButton ID="btnCancel" runat="server" AutoPostBack="False"
Height="23px" Width="74px" CausesValidation="False" >
<clientsideevents click="function(s, e) {OnCancelButtonClick_PasteFromWordForm();}" />
</dxe:ASPxButton>
</td>
</tr>
</table>
</td>
</tr>
</table>
</dxp:PanelContent>
</PanelCollection>
</dxp:ASPxPanel>
<script type="text/javascript" id="dxss_PasteFromWordForm">
function OnOkButtonClick_PasteFromWordForm() {
var res = {
html: ASPxIFrame.GetDocumentBody('<% =HtmlEditor.ClientID + "_dxePasteFromWordContainer"%>').innerHTML,
stripFontFamily: _dxeCkbStripFont.GetChecked()
};
aspxDialogComplete(1, res);
}
function OnCancelButtonClick_PasteFromWordForm() {
aspxDialogComplete(0, null);
}
</script>
@@ -0,0 +1,78 @@
'------------------------------------------------------------------------------
' <auto-generated>
' This code was generated by a tool.
'
' Changes to this file may cause incorrect behavior and will be lost if
' the code is regenerated.
' </auto-generated>
'------------------------------------------------------------------------------
Option Strict On
Option Explicit On
Partial Public Class PasteFromWordForm
'''<summary>
'''lblB141214 control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents lblB141214 As Global.DevExpress.Web.ASPxLabel
'''<summary>
'''MainPanel control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents MainPanel As Global.DevExpress.Web.ASPxPanel
'''<summary>
'''PanelContent1 control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents PanelContent1 As Global.DevExpress.Web.PanelContent
'''<summary>
'''lblDescription control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents lblDescription As Global.DevExpress.Web.ASPxLabel
'''<summary>
'''ckbStripFont control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents ckbStripFont As Global.DevExpress.Web.ASPxCheckBox
'''<summary>
'''btnOk control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents btnOk As Global.DevExpress.Web.ASPxButton
'''<summary>
'''btnCancel control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents btnCancel As Global.DevExpress.Web.ASPxButton
End Class
@@ -0,0 +1,36 @@
Imports System
Imports System.Data
Imports System.Configuration
Imports System.Collections
Imports System.Web
Imports System.Web.Security
Imports System.Web.UI
Imports System.Web.UI.WebControls
Imports System.Web.UI.WebControls.WebParts
Imports System.Web.UI.HtmlControls
Imports DevExpress.Web.ASPxHtmlEditor
Imports DevExpress.Web.ASPxHtmlEditor.Localization
Imports DevExpress.Web
Imports DevExpress.Web.Internal
Partial Public Class PasteFromWordForm
Inherits HtmlEditorUserControl
Protected Overrides Sub PrepareChildControls()
Localize()
lblB141214.Visible = RenderUtils.Browser.IsChrome ' B141214
MyBase.PrepareChildControls()
End Sub
Private Sub Localize()
lblDescription.Text = ASPxHtmlEditorLocalizer.GetString(ASPxHtmlEditorStringId.PasteRtf_Instructions)
ckbStripFont.Text = ASPxHtmlEditorLocalizer.GetString(ASPxHtmlEditorStringId.PasteRtf_StripFont)
btnOk.Text = ASPxHtmlEditorLocalizer.GetString(ASPxHtmlEditorStringId.ButtonOk)
btnCancel.Text = ASPxHtmlEditorLocalizer.GetString(ASPxHtmlEditorStringId.ButtonCancel)
End Sub
Protected Overrides Function GetChildDxEdits() As ASPxEditBase()
Return New ASPxEditBase() { lblDescription, ckbStripFont }
End Function
Protected Overrides Function GetChildDxButtons() As ASPxButton()
Return New ASPxButton() { btnOk, btnCancel }
End Function
End Class
@@ -0,0 +1,65 @@
<%@ Control Language="vb" AutoEventWireup="true" Inherits="SelectDocumentForm" Codebehind="SelectDocumentForm.ascx.vb" %>
<%@ Register Assembly="DevExpress.Web.v15.2, Version=15.2.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" Namespace="DevExpress.Web" TagPrefix="dx" %>
<%@ Register Assembly="DevExpress.Web.ASPxHtmlEditor.v15.2, Version=15.2.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" Namespace="DevExpress.Web.ASPxHtmlEditor" TagPrefix="dx" %>
<script type="text/javascript" id="dxss_SelectDocumentForm">
function aspxHESelectDocumentForm_OnSelectedFileChanged(s, e) {
dxheSelectDocumentForm_SelectButton.SetEnabled(!!e.file);
}
function aspxHEClosePopup() {
BrowsePopup.Hide();
}
function aspxHESelectDocumentForm_DocumentSelected() {
aspxHEClosePopup();
var documentUrl = FileManager.cp_RootFolderRelativePath + FileManager.GetSelectedFile().GetFullName("\/", true);
_dxeTxbURL.SetText(documentUrl);
_dxeTxbURL.Validate();
}
function aspxHESelectDocumentForm_Canceled() {
aspxHEClosePopup();
}
</script>
<dx:ASPxPanel ID="MainPanel" runat="server" Width="100%" DefaultButton="SelectButton">
<PanelCollection>
<dx:PanelContent ID="PanelContent1" runat="server">
<table cellpadding="0" cellspacing="0" id="dxSelectDocumentForm">
<tr>
<td>
<dx:HtmlEditorFileManager ID="FileManager" runat="server" Height="500px" Width="800px" ClientInstanceName="FileManager" OnCustomJSProperties="FileManager_CustomJSProperties" Border-BorderStyle="None">
<ClientSideEvents SelectedFileChanged="aspxHESelectDocumentForm_OnSelectedFileChanged" SelectedFileOpened="aspxHESelectDocumentForm_DocumentSelected" />
<Styles>
<FolderContainer Width="250px">
</FolderContainer>
<File>
<Margins Margin="1px"></Margins>
</File>
</Styles>
</dx:HtmlEditorFileManager>
</td>
</tr>
<tr>
<td class="buttonsCell">
<table cellpadding="0" cellspacing="0" style="display:inline-block;">
<tr>
<td>
<dx:ASPxButton ID="SelectButton" runat="server" AutoPostBack="False" Height="23px"
Width="74px" CausesValidation="False" ClientEnabled="false" ClientInstanceName="dxheSelectDocumentForm_SelectButton">
<ClientSideEvents Click="aspxHESelectDocumentForm_DocumentSelected" />
</dx:ASPxButton>
</td>
<td class="cancelButton">
<dx:ASPxButton ID="CancelButton" runat="server" AutoPostBack="False" Height="23px"
Width="74px" CausesValidation="False">
<ClientSideEvents Click="aspxHESelectDocumentForm_Canceled" />
</dx:ASPxButton>
</td>
</tr>
</table>
</td>
</tr>
</table>
</dx:PanelContent>
</PanelCollection>
</dx:ASPxPanel>
@@ -0,0 +1,60 @@
'------------------------------------------------------------------------------
' <auto-generated>
' This code was generated by a tool.
'
' Changes to this file may cause incorrect behavior and will be lost if
' the code is regenerated.
' </auto-generated>
'------------------------------------------------------------------------------
Option Strict On
Option Explicit On
Partial Public Class SelectDocumentForm
'''<summary>
'''MainPanel control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents MainPanel As Global.DevExpress.Web.ASPxPanel
'''<summary>
'''PanelContent1 control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents PanelContent1 As Global.DevExpress.Web.PanelContent
'''<summary>
'''FileManager control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents FileManager As Global.DevExpress.Web.ASPxHtmlEditor.HtmlEditorFileManager
'''<summary>
'''SelectButton control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents SelectButton As Global.DevExpress.Web.ASPxButton
'''<summary>
'''CancelButton control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents CancelButton As Global.DevExpress.Web.ASPxButton
End Class
@@ -0,0 +1,69 @@
Imports System
Imports System.Collections.Generic
Imports System.Web
Imports System.Web.UI
Imports System.Web.UI.WebControls
Imports DevExpress.Web.ASPxHtmlEditor
Imports DevExpress.Web
Imports DevExpress.Web.ASPxHtmlEditor.Localization
Imports DevExpress.Web.Internal
Partial Public Class SelectDocumentForm
Inherits HtmlEditorUserControl
Protected Overrides Sub PrepareChildControls()
Localize()
MyBase.PrepareChildControls()
PrepareFileManager()
End Sub
Private Sub Localize()
SelectButton.Text = ASPxHtmlEditorLocalizer.GetString(ASPxHtmlEditorStringId.ButtonSelect)
CancelButton.Text = ASPxHtmlEditorLocalizer.GetString(ASPxHtmlEditorStringId.ButtonCancel)
End Sub
Protected Overrides Function GetChildDxEdits() As ASPxEditBase()
Return New ASPxEditBase() { }
End Function
Protected Overrides Function GetChildDxButtons() As ASPxButton()
Return New ASPxButton() { SelectButton, CancelButton }
End Function
Protected Overrides Function GetChildDxHtmlEditorRoundPanels() As ASPxHtmlEditorRoundPanel()
Return New ASPxHtmlEditorRoundPanel() { }
End Function
Protected Sub PrepareFileManager()
FileManager.Styles.CopyFrom(HtmlEditor.StylesFileManager)
FileManager.ControlStyle.CopyFrom(HtmlEditor.StylesFileManager.Control)
FileManager.Images.CopyFrom(HtmlEditor.ImagesFileManager)
FileManager.Settings.Assign(HtmlEditor.SettingsDocumentSelector.CommonSettings)
FileManager.SettingsEditing.Assign(HtmlEditor.SettingsDocumentSelector.EditingSettings)
FileManager.SettingsFolders.Assign(HtmlEditor.SettingsDocumentSelector.FoldersSettings)
FileManager.SettingsToolbar.Assign(HtmlEditor.SettingsDocumentSelector.ToolbarSettings)
FileManager.SettingsUpload.Assign(HtmlEditor.SettingsDocumentSelector.UploadSettings)
FileManager.SettingsPermissions.Assign(HtmlEditor.SettingsDocumentSelector.PermissionSettings)
AddHandler FileManager.FolderCreating, AddressOf FileManager_FolderCreating
AddHandler FileManager.ItemDeleting, AddressOf FileManager_ItemDeleting
AddHandler FileManager.ItemMoving, AddressOf FileManager_ItemMoving
AddHandler FileManager.ItemRenaming, AddressOf FileManager_ItemRenaming
AddHandler FileManager.FileUploading, AddressOf FileManager_FileUploading
End Sub
Protected Sub FileManager_FolderCreating(ByVal sender As Object, ByVal e As FileManagerFolderCreateEventArgs)
HtmlEditor.RaiseDocumentSelectorFolderCreating(e)
End Sub
Protected Sub FileManager_ItemDeleting(ByVal sender As Object, ByVal e As FileManagerItemDeleteEventArgs)
HtmlEditor.RaiseDocumentSelectorItemDeleting(e)
End Sub
Protected Sub FileManager_ItemMoving(ByVal sender As Object, ByVal e As FileManagerItemMoveEventArgs)
HtmlEditor.RaiseDocumentSelectorItemMoving(e)
End Sub
Protected Sub FileManager_ItemRenaming(ByVal sender As Object, ByVal e As FileManagerItemRenameEventArgs)
HtmlEditor.RaiseDocumentSelectorItemRenaming(e)
End Sub
Protected Sub FileManager_FileUploading(ByVal sender As Object, ByVal e As FileManagerFileUploadEventArgs)
HtmlEditor.RaiseDocumentSelectorFileUploading(e)
End Sub
Protected Sub FileManager_CustomJSProperties(ByVal sender As Object, ByVal e As DevExpress.Web.CustomJSPropertiesEventArgs)
e.Properties("cp_RootFolderRelativePath") = FileManager.GetAppRelativeRootFolder()
End Sub
End Class
@@ -0,0 +1,66 @@
<%@ Control Language="vb" AutoEventWireup="true" Inherits="SelectImageForm" Codebehind="SelectImageForm.ascx.vb" %>
<%@ Register Assembly="DevExpress.Web.v15.2, Version=15.2.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" Namespace="DevExpress.Web" TagPrefix="dx" %>
<%@ Register Assembly="DevExpress.Web.ASPxHtmlEditor.v15.2, Version=15.2.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" Namespace="DevExpress.Web.ASPxHtmlEditor" TagPrefix="dx" %>
<script type="text/javascript" id="dxss_SelectImageForm">
function aspxHESelectImageForm_OnSelectedFileChanged(s, e) {
dxheSelectImageForm_SelectButton.SetEnabled(!!e.file);
}
function aspxHEClosePopup() {
BrowsePopup.Hide();
}
function aspxHESelectImageForm_ImageSelected() {
aspxHEClosePopup();
var imageUrl = FileManager.cp_RootFolderRelativePath + FileManager.GetSelectedFile().GetFullName("\/", true);
_dxeTbxInsertImageUrl.SetText(imageUrl);
aspxInsertImageSrcValueChanged(imageUrl);
_dxeTbxInsertImageUrl.Validate();
}
function aspxHESelectImageForm_Canceled() {
aspxHEClosePopup();
}
</script>
<dx:ASPxPanel ID="MainPanel" runat="server" Width="100%" DefaultButton="SelectButton">
<PanelCollection>
<dx:PanelContent ID="PanelContent1" runat="server">
<table cellpadding="0" cellspacing="0" id="dxSelectImageForm">
<tr>
<td>
<dx:HtmlEditorFileManager ID="FileManager" runat="server" Height="500px" Width="800px" ClientInstanceName="FileManager" OnCustomJSProperties="FileManager_CustomJSProperties" Border-BorderStyle="None">
<ClientSideEvents SelectedFileChanged="aspxHESelectImageForm_OnSelectedFileChanged" SelectedFileOpened="aspxHESelectImageForm_ImageSelected" />
<Styles>
<FolderContainer Width="250px">
</FolderContainer>
<File>
<Margins Margin="1px"></Margins>
</File>
</Styles>
</dx:HtmlEditorFileManager>
</td>
</tr>
<tr>
<td class="buttonsCell">
<table cellpadding="0" cellspacing="0" style="display:inline-block;">
<tr>
<td>
<dx:ASPxButton ID="SelectButton" runat="server" AutoPostBack="False" Height="23px"
Width="74px" CausesValidation="False" ClientEnabled="false" ClientInstanceName="dxheSelectImageForm_SelectButton">
<ClientSideEvents Click="aspxHESelectImageForm_ImageSelected" />
</dx:ASPxButton>
</td>
<td class="cancelButton">
<dx:ASPxButton ID="CancelButton" runat="server" AutoPostBack="False" Height="23px"
Width="74px" CausesValidation="False">
<ClientSideEvents Click="aspxHESelectImageForm_Canceled" />
</dx:ASPxButton>
</td>
</tr>
</table>
</td>
</tr>
</table>
</dx:PanelContent>
</PanelCollection>
</dx:ASPxPanel>
@@ -0,0 +1,60 @@
'------------------------------------------------------------------------------
' <auto-generated>
' This code was generated by a tool.
'
' Changes to this file may cause incorrect behavior and will be lost if
' the code is regenerated.
' </auto-generated>
'------------------------------------------------------------------------------
Option Strict On
Option Explicit On
Partial Public Class SelectImageForm
'''<summary>
'''MainPanel control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents MainPanel As Global.DevExpress.Web.ASPxPanel
'''<summary>
'''PanelContent1 control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents PanelContent1 As Global.DevExpress.Web.PanelContent
'''<summary>
'''FileManager control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents FileManager As Global.DevExpress.Web.ASPxHtmlEditor.HtmlEditorFileManager
'''<summary>
'''SelectButton control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents SelectButton As Global.DevExpress.Web.ASPxButton
'''<summary>
'''CancelButton control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents CancelButton As Global.DevExpress.Web.ASPxButton
End Class
@@ -0,0 +1,74 @@
Imports System
Imports System.Collections.Generic
Imports System.Web
Imports System.Web.UI
Imports System.Web.UI.WebControls
Imports DevExpress.Web.ASPxHtmlEditor
Imports DevExpress.Web
Imports DevExpress.Web.ASPxHtmlEditor.Localization
Imports DevExpress.Web.Internal
Partial Public Class SelectImageForm
Inherits HtmlEditorUserControl
Protected Overrides Sub PrepareChildControls()
Localize()
MyBase.PrepareChildControls()
PrepareFileManager()
End Sub
Private Sub Localize()
SelectButton.Text = ASPxHtmlEditorLocalizer.GetString(ASPxHtmlEditorStringId.ButtonSelect)
CancelButton.Text = ASPxHtmlEditorLocalizer.GetString(ASPxHtmlEditorStringId.ButtonCancel)
End Sub
Protected Overrides Function GetChildDxEdits() As ASPxEditBase()
Return New ASPxEditBase() { }
End Function
Protected Overrides Function GetChildDxButtons() As ASPxButton()
Return New ASPxButton() { SelectButton, CancelButton }
End Function
Protected Overrides Function GetChildDxHtmlEditorRoundPanels() As ASPxHtmlEditorRoundPanel()
Return New ASPxHtmlEditorRoundPanel() { }
End Function
Protected Sub PrepareFileManager()
FileManager.Styles.CopyFrom(HtmlEditor.StylesFileManager)
FileManager.ControlStyle.CopyFrom(HtmlEditor.StylesFileManager.Control)
FileManager.Images.CopyFrom(HtmlEditor.ImagesFileManager)
FileManager.Settings.Assign(HtmlEditor.SettingsImageSelector.CommonSettings)
FileManager.SettingsEditing.Assign(HtmlEditor.SettingsImageSelector.EditingSettings)
FileManager.SettingsFolders.Assign(HtmlEditor.SettingsImageSelector.FoldersSettings)
FileManager.SettingsToolbar.Assign(HtmlEditor.SettingsImageSelector.ToolbarSettings)
FileManager.SettingsUpload.Assign(HtmlEditor.SettingsImageSelector.UploadSettings)
FileManager.SettingsUpload.ValidationSettings.Assign(HtmlEditor.SettingsImageUpload.ValidationSettings)
FileManager.SettingsPermissions.Assign(HtmlEditor.SettingsImageSelector.PermissionSettings)
If String.IsNullOrEmpty(FileManager.Settings.RootFolder) Then
FileManager.Settings.RootFolder = HtmlEditor.SettingsImageUpload.UploadImageFolder
End If
AddHandler FileManager.FolderCreating, AddressOf FileManager_FolderCreating
AddHandler FileManager.ItemDeleting, AddressOf FileManager_ItemDeleting
AddHandler FileManager.ItemMoving, AddressOf FileManager_ItemMoving
AddHandler FileManager.ItemRenaming, AddressOf FileManager_ItemRenaming
AddHandler FileManager.FileUploading, AddressOf FileManager_FileUploading
End Sub
Protected Sub FileManager_FolderCreating(ByVal sender As Object, ByVal e As FileManagerFolderCreateEventArgs)
HtmlEditor.RaiseImageSelectorFolderCreating(e)
End Sub
Protected Sub FileManager_ItemDeleting(ByVal sender As Object, ByVal e As FileManagerItemDeleteEventArgs)
HtmlEditor.RaiseImageSelectorItemDeleting(e)
End Sub
Protected Sub FileManager_ItemMoving(ByVal sender As Object, ByVal e As FileManagerItemMoveEventArgs)
HtmlEditor.RaiseImageSelectorItemMoving(e)
End Sub
Protected Sub FileManager_ItemRenaming(ByVal sender As Object, ByVal e As FileManagerItemRenameEventArgs)
HtmlEditor.RaiseImageSelectorItemRenaming(e)
End Sub
Protected Sub FileManager_FileUploading(ByVal sender As Object, ByVal e As FileManagerFileUploadEventArgs)
HtmlEditor.RaiseImageSelectorFileUploading(e)
End Sub
Protected Sub FileManager_CustomJSProperties(ByVal sender As Object, ByVal e As DevExpress.Web.CustomJSPropertiesEventArgs)
e.Properties("cp_RootFolderRelativePath") = FileManager.GetAppRelativeRootFolder()
End Sub
End Class
@@ -0,0 +1,289 @@
<%@ Control Language="vb" AutoEventWireup="true" Inherits="TableColumnPropertiesForm" Codebehind="TableColumnPropertiesForm.ascx.vb" %>
<%@ Assembly name="DevExpress.Data.v15.2, Version=15.2.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" %>
<%@ Register Assembly="DevExpress.Web.ASPxHtmlEditor.v15.2, Version=15.2.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" Namespace="DevExpress.Web.ASPxHtmlEditor"
TagPrefix="dxhe" %>
<%@ Register Assembly="DevExpress.Web.v15.2, Version=15.2.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" Namespace="DevExpress.Web"
TagPrefix="dxe" %>
<%@ Register Assembly="DevExpress.Web.v15.2, Version=15.2.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" Namespace="DevExpress.Web"
TagPrefix="dxp" %>
<%@ Register Assembly="DevExpress.Web.ASPxHtmlEditor.v15.2, Version=15.2.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" Namespace="DevExpress.Web.ASPxHtmlEditor" TagPrefix="dxhe" %>
<dxp:ASPxPanel ID="MainPanel" runat="server" Width="100%" DefaultButton="btnChange">
<panelcollection>
<dxp:PanelContent ID="PanelContent1" runat="server">
<table cellpadding="0" cellspacing="0" id="dxTableColumnPropertiesForm">
<tr>
<td class="contentCell">
<table cellpadding="0" cellspacing="0">
<tr>
<td>
<dxhe:ASPxHtmlEditorRoundPanel ID="rpSize" runat="server" Width="350px" ClientInstanceName="_dxeRPTableColumnSize">
<ContentPaddings PaddingTop="4px" />
<PanelCollection>
<dxhe:HtmlEditorRoundPanelContent ID="HtmlEditorRoundPanelContent1" runat="server">
<table cellpadding="0" cellspacing="0">
<tr>
<td class="propGroupCell">
<dxe:ASPxLabel ID="lblSize" runat="server">
</dxe:ASPxLabel>
</td>
</tr>
<tr>
<td class="propGroupContentCell">
<table cellpadding="0" cellspacing="0">
<tr id='<% =HtmlEditor.ClientID + "_dxeColumnWidthCell"%>'>
<td class="captionCell">
<dxe:ASPxLabel ID="lblWidth" runat="server" AssociatedControlID="cmbWidth">
</dxe:ASPxLabel>
</td>
<td class="inputCell">
<dxe:ASPxComboBox ID="cmbWidth" ClientInstanceName="_dxeCmbTableColumnWidth" runat="server" ValueType="System.String" SelectedIndex="0"
Width="137px">
<ClientSideEvents SelectedIndexChanged="function(s, e) { OnCmdWidthSelectedIndexChanged_TableColumnForm(s); }" />
<Items>
<dxe:ListEditItem Value="100%" />
<dxe:ListEditItem Value="" />
<dxe:ListEditItem Value="custom" />
</Items>
</dxe:ASPxComboBox>
</td>
<td class="rowsInputCell" style="visibility: hidden;" id='<% =HtmlEditor.ClientID + "_dxeColumnWidthSpinEditCell"%>' colspan="2">
<table cellpadding="0" cellspacing="0">
<tr>
<td>
<dxe:ASPxSpinEdit ID="txbWidth" ClientInstanceName="_dxeTxbTableColumnWidth" runat="server" Height="21px"
Number="0" Width="52px" AllowNull="False" NumberType="Float" MaxValue="10000"
MinValue="0">
</dxe:ASPxSpinEdit>
</td>
<td class="rowsInputCell">
<dxe:ASPxComboBox ID="cmbWidthType" ClientInstanceName="_dxeCmbTableColumnWidthType" runat="server"
ValueType="System.String" SelectedIndex="0" Width="45px">
<Items>
<dxe:ListEditItem Value="px" />
<dxe:ListEditItem Value="%" />
</Items>
</dxe:ASPxComboBox>
</td>
</tr>
</table>
</td>
</tr>
<tr id='<% =HtmlEditor.ClientID + "_dxeColumnHeightCell"%>'>
<td class="captionCell">
<dxe:ASPxLabel ID="lblHeight" runat="server" AssociatedControlID="cmbHeight">
</dxe:ASPxLabel>
</td>
<td class="inputCell">
<dxe:ASPxComboBox ID="cmbHeight" ClientInstanceName="_dxeCmbTableRowHeight" runat="server"
ValueType="System.String" SelectedIndex="0" Width="137px">
<ClientSideEvents SelectedIndexChanged="function(s, e) { OnCmdHeightSelectedIndexChanged_TableColumnForm(s); }" />
<Items>
<dxe:ListEditItem Value="" />
<dxe:ListEditItem Value="custom" />
</Items>
</dxe:ASPxComboBox>
</td>
<td class="rowsInputCell" style="visibility: hidden;" id='<% =HtmlEditor.ClientID + "_dxeRowHeightSpinEditCell"%>' colspan="2">
<table cellpadding="0" cellspacing="0">
<tr>
<td>
<dxe:ASPxSpinEdit ID="txbHeight" ClientInstanceName="_dxeTxbTableRowHeight" runat="server" Height="21px"
Number="0" Width="52px" AllowNull="False" NumberType="Float" MaxValue="10000"
MinValue="0">
</dxe:ASPxSpinEdit>
</td>
<td class="rowsInputCell">
<dxe:ASPxComboBox ID="cmbHeightType" ClientInstanceName="_dxeCmbTableRowHeightType" runat="server"
ValueType="System.String" SelectedIndex="0" Width="45px">
<Items>
<dxe:ListEditItem Value="px" />
<dxe:ListEditItem Value="%" />
</Items>
</dxe:ASPxComboBox>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</dxhe:HtmlEditorRoundPanelContent>
</PanelCollection>
</dxhe:ASPxHtmlEditorRoundPanel>
<div class="propGroupSeparator">
</div>
<!-- LAYOUT -->
<dxhe:ASPxHtmlEditorRoundPanel ID="rpLayout" runat="server" Width="350px" ClientInstanceName="_dxeRPTableLayout">
<ContentPaddings PaddingTop="4px" />
<PanelCollection>
<dxhe:HtmlEditorRoundPanelContent ID="HtmlEditorRoundPanelContent4" runat="server">
<table cellpadding="0" cellspacing="0">
<tr>
<td class="propGroupCell">
<dxe:ASPxLabel ID="lblAlign" runat="server">
</dxe:ASPxLabel>
</td>
</tr>
<tr>
<td class="propGroupContentCell">
<table cellpadding="0" cellspacing="0">
<tr>
<td class="captionCell">
<dxe:ASPxLabel ID="lblHorizontalAlign" runat="server" AssociatedControlID="cmbAlign">
</dxe:ASPxLabel>
</td>
<td class="inputCell">
<dxe:ASPxComboBox ID="cmbAlign" runat="server" ValueType="System.String" ClientInstanceName="_dxeCmbTableColumnAlign"
SelectedIndex="0" Width="70px">
<Items>
<dxe:ListEditItem Value="" />
<dxe:ListEditItem Value="left" />
<dxe:ListEditItem Value="center" />
<dxe:ListEditItem Value="right" />
</Items>
</dxe:ASPxComboBox>
</td>
</tr>
<tr>
<td colspan="2" class="separatorCell">
</td>
</tr>
<tr>
<td class="captionCell">
<dxe:ASPxLabel ID="lblVerticalAlign" runat="server" AssociatedControlID="cmbVAlign">
</dxe:ASPxLabel>
</td>
<td class="inputCell">
<dxe:ASPxComboBox ID="cmbVAlign" runat="server" ValueType="System.String" ClientInstanceName="_dxeCmbTableColumnVAlign"
SelectedIndex="0" Width="70px">
<Items>
<dxe:ListEditItem Value=""/>
<dxe:ListEditItem Value="top"/>
<dxe:ListEditItem Value="middle"/>
<dxe:ListEditItem Value="bottom"/>
</Items>
</dxe:ASPxComboBox>
</td>
</tr>
</table>
</td>
</tr>
</table>
</dxhe:HtmlEditorRoundPanelContent>
</PanelCollection>
</dxhe:ASPxHtmlEditorRoundPanel>
<div class="propGroupSeparator">
</div>
<!-- APPEARANCE -->
<dxhe:ASPxHtmlEditorRoundPanel ID="rpAppearance" runat="server" Width="350px">
<ContentPaddings PaddingTop="4px" />
<PanelCollection>
<dxhe:HtmlEditorRoundPanelContent ID="HtmlEditorRoundPanelContent3" runat="server">
<table cellpadding="0" cellspacing="0">
<tr>
<td class="propGroupCell">
<dxe:ASPxLabel ID="lblAppearance" runat="server">
</dxe:ASPxLabel>
</td>
</tr>
<tr>
<td class="propGroupContentCell">
<table cellpadding="0" cellspacing="0">
<tr>
<td class="captionCell">
<dxe:ASPxLabel ID="lblBackgroundColor" runat="server" AssociatedControlID="txbBackgroundColor">
</dxe:ASPxLabel>
</td>
<td class="inputCell" colspan="3">
<dxe:ASPxColorEdit ID="txbBackgroundColor" runat="server"
ClientInstanceName="_dxeTxbTableColumnBackgroundColor" Width="137px">
</dxe:ASPxColorEdit>
</td>
</tr>
</table>
</td>
</tr>
</table>
</dxhe:HtmlEditorRoundPanelContent>
</PanelCollection>
</dxhe:ASPxHtmlEditorRoundPanel>
</td>
</tr>
</table>
<div class="propGroupSeparator"></div>
<dxe:ASPxCheckBox ID="ckbApplyForAllElements" runat="server" ClientInstanceName="_dxeCkbApplyForAllElements">
</dxe:ASPxCheckBox>
</td>
</tr>
<tr>
<td class="buttonsCell">
<table cellpadding="0" cellspacing="0" style="display:inline-block;">
<tr>
<td>
<dxe:ASPxButton ID="btnChange" runat="server" AutoPostBack="False" Height="23px"
Width="74px" CausesValidation="False">
<ClientSideEvents Click="function(s, e) { OnOkButtonClick_TableColumnForm(); }" />
</dxe:ASPxButton>
</td>
<td class="cancelButton">
<dxe:ASPxButton ID="btnCancel" runat="server" AutoPostBack="False" Height="23px"
Width="74px" CausesValidation="False">
<ClientSideEvents Click="function(s, e) {OnCancelButtonClick_TableColumnForm();}" />
</dxe:ASPxButton>
</td>
</tr>
</table>
</td>
</tr>
</table>
</dxp:PanelContent>
</panelcollection>
</dxp:ASPxPanel>
<script type="text/javascript" id="dxss_TableColumnForm">
function OnOkButtonClick_TableColumnForm() {
aspxDialogComplete(1, GetDialogData_TableColumnForm());
}
function OnCancelButtonClick_TableColumnForm() {
aspxDialogComplete(0, null);
}
function GetDialogData_TableColumnForm() {
var res = new Object();
// common
res.width = GetWidth_TableColumnForm();
res.height = GetHeight_TableColumnForm();
res.backgroundColor = _dxeTxbTableColumnBackgroundColor.GetValue();
res.align = _dxeCmbTableColumnAlign.GetValue();
res.vAlign = _dxeCmbTableColumnVAlign.GetValue();
res.applyForAll = _dxeCkbApplyForAllElements.GetChecked();
return res;
}
function GetWidth_TableColumnForm() {
var width = _dxeCmbTableColumnWidth.GetValue();
if (width == "custom")
width = _dxeTxbTableColumnWidth.GetValue() + _dxeCmbTableColumnWidthType.GetValue();
return width;
}
function GetHeight_TableColumnForm() {
var height = _dxeCmbTableRowHeight.GetValue();
if (height == "custom")
height = _dxeTxbTableRowHeight.GetValue() + _dxeCmbTableRowHeightType.GetValue();
return height;
}
function OnCmdWidthSelectedIndexChanged_TableColumnForm(widthCombox) {
_aspxSetElementVisibility(_aspxGetElementById('<% =HtmlEditor.ClientID + "_dxeColumnWidthSpinEditCell"%>'), widthCombox.GetValue() == "custom");
}
function OnCmdHeightSelectedIndexChanged_TableColumnForm(heightCombox) {
_aspxSetElementVisibility(_aspxGetElementById('<% =HtmlEditor.ClientID + "_dxeRowHeightSpinEditCell"%>'), heightCombox.GetValue() == "custom");
}
</script>
@@ -0,0 +1,267 @@
'------------------------------------------------------------------------------
' <auto-generated>
' This code was generated by a tool.
'
' Changes to this file may cause incorrect behavior and will be lost if
' the code is regenerated.
' </auto-generated>
'------------------------------------------------------------------------------
Option Strict On
Option Explicit On
Partial Public Class TableColumnPropertiesForm
'''<summary>
'''MainPanel control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents MainPanel As Global.DevExpress.Web.ASPxPanel
'''<summary>
'''PanelContent1 control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents PanelContent1 As Global.DevExpress.Web.PanelContent
'''<summary>
'''rpSize control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents rpSize As Global.DevExpress.Web.ASPxHtmlEditor.ASPxHtmlEditorRoundPanel
'''<summary>
'''HtmlEditorRoundPanelContent1 control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents HtmlEditorRoundPanelContent1 As Global.DevExpress.Web.ASPxHtmlEditor.HtmlEditorRoundPanelContent
'''<summary>
'''lblSize control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents lblSize As Global.DevExpress.Web.ASPxLabel
'''<summary>
'''lblWidth control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents lblWidth As Global.DevExpress.Web.ASPxLabel
'''<summary>
'''cmbWidth control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents cmbWidth As Global.DevExpress.Web.ASPxComboBox
'''<summary>
'''txbWidth control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents txbWidth As Global.DevExpress.Web.ASPxSpinEdit
'''<summary>
'''cmbWidthType control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents cmbWidthType As Global.DevExpress.Web.ASPxComboBox
'''<summary>
'''lblHeight control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents lblHeight As Global.DevExpress.Web.ASPxLabel
'''<summary>
'''cmbHeight control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents cmbHeight As Global.DevExpress.Web.ASPxComboBox
'''<summary>
'''txbHeight control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents txbHeight As Global.DevExpress.Web.ASPxSpinEdit
'''<summary>
'''cmbHeightType control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents cmbHeightType As Global.DevExpress.Web.ASPxComboBox
'''<summary>
'''rpLayout control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents rpLayout As Global.DevExpress.Web.ASPxHtmlEditor.ASPxHtmlEditorRoundPanel
'''<summary>
'''HtmlEditorRoundPanelContent4 control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents HtmlEditorRoundPanelContent4 As Global.DevExpress.Web.ASPxHtmlEditor.HtmlEditorRoundPanelContent
'''<summary>
'''lblAlign control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents lblAlign As Global.DevExpress.Web.ASPxLabel
'''<summary>
'''lblHorizontalAlign control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents lblHorizontalAlign As Global.DevExpress.Web.ASPxLabel
'''<summary>
'''cmbAlign control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents cmbAlign As Global.DevExpress.Web.ASPxComboBox
'''<summary>
'''lblVerticalAlign control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents lblVerticalAlign As Global.DevExpress.Web.ASPxLabel
'''<summary>
'''cmbVAlign control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents cmbVAlign As Global.DevExpress.Web.ASPxComboBox
'''<summary>
'''rpAppearance control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents rpAppearance As Global.DevExpress.Web.ASPxHtmlEditor.ASPxHtmlEditorRoundPanel
'''<summary>
'''HtmlEditorRoundPanelContent3 control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents HtmlEditorRoundPanelContent3 As Global.DevExpress.Web.ASPxHtmlEditor.HtmlEditorRoundPanelContent
'''<summary>
'''lblAppearance control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents lblAppearance As Global.DevExpress.Web.ASPxLabel
'''<summary>
'''lblBackgroundColor control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents lblBackgroundColor As Global.DevExpress.Web.ASPxLabel
'''<summary>
'''txbBackgroundColor control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents txbBackgroundColor As Global.DevExpress.Web.ASPxColorEdit
'''<summary>
'''ckbApplyForAllElements control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents ckbApplyForAllElements As Global.DevExpress.Web.ASPxCheckBox
'''<summary>
'''btnChange control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents btnChange As Global.DevExpress.Web.ASPxButton
'''<summary>
'''btnCancel control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents btnCancel As Global.DevExpress.Web.ASPxButton
End Class
@@ -0,0 +1,59 @@
Imports System
Imports System.Collections.Generic
Imports System.Web
Imports System.Web.UI
Imports System.Web.UI.WebControls
Imports DevExpress.Web.ASPxHtmlEditor
Imports DevExpress.Web
Imports DevExpress.Web.ASPxHtmlEditor.Localization
Partial Public Class TableColumnPropertiesForm
Inherits HtmlEditorUserControl
Protected Overrides Sub PrepareChildControls()
Localize()
MyBase.PrepareChildControls()
End Sub
Private Sub Localize()
btnChange.Text = ASPxHtmlEditorLocalizer.GetString(ASPxHtmlEditorStringId.ButtonOk)
btnCancel.Text = ASPxHtmlEditorLocalizer.GetString(ASPxHtmlEditorStringId.ButtonCancel)
lblSize.Text = ASPxHtmlEditorLocalizer.GetString(ASPxHtmlEditorStringId.ChangeTableColumn_Size) & ":"
lblWidth.Text = ASPxHtmlEditorLocalizer.GetString(ASPxHtmlEditorStringId.InsertTable_Width) & ":"
lblHeight.Text = ASPxHtmlEditorLocalizer.GetString(ASPxHtmlEditorStringId.InsertTable_Height) & ":"
cmbWidth.Items(0).Text = ASPxHtmlEditorLocalizer.GetString(ASPxHtmlEditorStringId.InsertTable_FullWidth)
cmbWidth.Items(1).Text = ASPxHtmlEditorLocalizer.GetString(ASPxHtmlEditorStringId.InsertTable_AutoFitToContent)
cmbWidth.Items(2).Text = ASPxHtmlEditorLocalizer.GetString(ASPxHtmlEditorStringId.InsertTable_Custom)
cmbHeight.Items(0).Text = ASPxHtmlEditorLocalizer.GetString(ASPxHtmlEditorStringId.InsertTable_AutoFitToContent)
cmbHeight.Items(1).Text = ASPxHtmlEditorLocalizer.GetString(ASPxHtmlEditorStringId.InsertTable_Custom)
lblAlign.Text = ASPxHtmlEditorLocalizer.GetString(ASPxHtmlEditorStringId.InsertTable_Alignment) & ":"
lblHorizontalAlign.Text = ASPxHtmlEditorLocalizer.GetString(ASPxHtmlEditorStringId.InsertTable_HorzAlignment) & ":"
lblVerticalAlign.Text = ASPxHtmlEditorLocalizer.GetString(ASPxHtmlEditorStringId.InsertTable_VertAlignment) & ":"
cmbAlign.Items(0).Text = ASPxHtmlEditorLocalizer.GetString(ASPxHtmlEditorStringId.InsertTable_None)
cmbAlign.Items(1).Text = ASPxHtmlEditorLocalizer.GetString(ASPxHtmlEditorStringId.InsertTable_Alignment_Left)
cmbAlign.Items(2).Text = ASPxHtmlEditorLocalizer.GetString(ASPxHtmlEditorStringId.InsertTable_Alignment_Center)
cmbAlign.Items(3).Text = ASPxHtmlEditorLocalizer.GetString(ASPxHtmlEditorStringId.InsertTable_Alignment_Right)
cmbVAlign.Items(0).Text = ASPxHtmlEditorLocalizer.GetString(ASPxHtmlEditorStringId.InsertTable_None)
cmbVAlign.Items(1).Text = ASPxHtmlEditorLocalizer.GetString(ASPxHtmlEditorStringId.InsertTable_VAlignment_Top)
cmbVAlign.Items(2).Text = ASPxHtmlEditorLocalizer.GetString(ASPxHtmlEditorStringId.InsertTable_VAlignment_Middle)
cmbVAlign.Items(3).Text = ASPxHtmlEditorLocalizer.GetString(ASPxHtmlEditorStringId.InsertTable_VAlignment_Bottom)
lblAppearance.Text = ASPxHtmlEditorLocalizer.GetString(ASPxHtmlEditorStringId.InsertTable_Appearance) & ":"
lblBackgroundColor.Text = ASPxHtmlEditorLocalizer.GetString(ASPxHtmlEditorStringId.InsertTable_BgColor) & ":"
ckbApplyForAllElements.Text = ASPxHtmlEditorLocalizer.GetString(ASPxHtmlEditorStringId.InsertTable_ApplyToAllCell)
' Text="Apply to all cells in the table"
End Sub
Protected Overrides Function GetChildDxEdits() As ASPxEditBase()
Return New ASPxEditBase() { lblAlign, lblHorizontalAlign, lblSize, lblWidth, cmbWidth, txbWidth, lblHeight, cmbHeight, txbHeight, cmbAlign, lblAppearance, txbBackgroundColor, lblVerticalAlign, cmbVAlign, ckbApplyForAllElements, cmbWidthType, cmbHeightType }
End Function
Protected Overrides Function GetChildDxButtons() As ASPxButton()
Return New ASPxButton() { btnCancel, btnChange }
End Function
Protected Overrides Function GetChildDxHtmlEditorRoundPanels() As ASPxHtmlEditorRoundPanel()
Return New ASPxHtmlEditorRoundPanel() { rpSize, rpLayout, rpAppearance }
End Function
End Class
@@ -0,0 +1,28 @@
<%@ Control Language="vb" AutoEventWireup="true" Inherits="UserForms_AppointmentDragToolTip" Codebehind="AppointmentDragToolTip.ascx.vb" %>
<%@ Register Assembly="DevExpress.Web.v15.2" Namespace="DevExpress.Web"
TagPrefix="dxe" %>
<div style="white-space:nowrap;">
<dxe:ASPxLabel ID="lblInterval" runat="server" Text="CustomDragAppointmentTooltip" EnableClientSideAPI="true">
</dxe:ASPxLabel>
<br />
<dxe:ASPxLabel ID="lblInfo" runat="server" Text="Press ESC to cancel operation" EnableClientSideAPI="true"></dxe:ASPxLabel>
</div>
<script id="dxss_ASPxClientAppointmentDragTooltip" type="text/javascript"><!--
ASPxClientAppointmentDragTooltip = _aspxCreateClass(ASPxClientToolTipBase, {
CalculatePosition: function(bounds) {
return new ASPxClientPoint(bounds.GetLeft(), bounds.GetTop() - bounds.GetHeight());
},
Update: function (toolTipData) {
var stringInterval = this.GetToolTipContent(toolTipData);
var oldText = this.controls.lblInterval.GetText();
if (oldText != stringInterval)
this.controls.lblInterval.SetText(stringInterval);
},
GetToolTipContent: function(toolTipData) {
var interval = toolTipData.GetInterval();
return this.ConvertIntervalToString(interval);
}
});
//--></script>
@@ -0,0 +1,33 @@
'------------------------------------------------------------------------------
' <auto-generated>
' This code was generated by a tool.
'
' Changes to this file may cause incorrect behavior and will be lost if
' the code is regenerated.
' </auto-generated>
'------------------------------------------------------------------------------
Option Strict On
Option Explicit On
Partial Public Class UserForms_AppointmentDragToolTip
'''<summary>
'''lblInterval control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents lblInterval As Global.DevExpress.Web.ASPxLabel
'''<summary>
'''lblInfo control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents lblInfo As Global.DevExpress.Web.ASPxLabel
End Class
@@ -0,0 +1,34 @@
Imports Microsoft.VisualBasic
Imports System
Imports System.Data
Imports System.Configuration
Imports System.Collections
Imports System.Web
Imports System.Web.Security
Imports System.Web.UI
Imports System.Web.UI.WebControls
Imports System.Web.UI.WebControls.WebParts
Imports System.Web.UI.HtmlControls
Imports DevExpress.Web.ASPxScheduler
Partial Public Class UserForms_AppointmentDragToolTip
Inherits ASPxSchedulerToolTipBase
Public Overrides ReadOnly Property ClassName() As String
Get
Return "ASPxClientAppointmentDragTooltip"
End Get
End Property
Public Overrides ReadOnly Property ToolTipShowStem() As Boolean
Get
Return True
End Get
End Property
Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
DevExpress.Web.ASPxWebControl.RegisterBaseScript(Page)
End Sub
Protected Overrides Function GetChildControls() As Control()
Dim controls() As Control = { lblInterval }
Return controls
End Function
End Class
@@ -0,0 +1,332 @@
<%--
{************************************************************************************}
{ }
{ DO NOT MODIFY THIS FILE! }
{ }
{ It will be overwritten without prompting when a new version becomes }
{ available. All your changes will be lost. }
{ }
{ This file contains the default template and is required for the form }
{ rendering. Improper modifications may result in incorrect behavior of }
{ the appointment form. }
{ }
{ In order to create and use your own custom template, perform the following }
{ steps: }
{ 1. Save a copy of this file with a different name in another location. }
{ 2. Specify the file location as the 'OptionsForms.AppointmentFormTemplateUrl'}
{ property of the ASPxScheduler control. }
{ 3. If you need custom fields to be displayed and processed, you should }
{ accomplish steps 4-9; otherwise, go to step 10. }
{ 4. Create a class, derived from the AppointmentFormTemplateContainer, }
{ containing custom properties. This class definition can be located }
{ within a class file in the App_Code folder. }
{ 5. Replace AppointmentFormTemplateContainer references in the template }
{ page with the name of the class you've created in step 4. }
{ 6. Handle the AppointmentFormShowing event to create an instance of the }
{ template container class, defined in step 4, and specify it as the }
{ destination container instead of the default one. }
{ 7. Define a class, which inherits from the }
{ DevExpress.Web.ASPxScheduler.Internal.AppointmentFormController. }
{ This class provides data exchange between the form and the appointment. }
{ You should override ApplyCustomFieldsValues() method of the base class. }
{ 8. Define a class, which inherits from the }
{ DevExpress.Web.ASPxScheduler.Internal.AppointmentFormSaveCallbackCommand. }
{ This class creates an instance of the AppointmentFormController inheritor }
{ (defined in step 7) via the CreateAppointmentFormController method and }
{ overrides the AssignControllerValues method of the base class to collect }
{ user data from the form's editors. }
{ 9. Handle the BeforeExecuteCallbackCommand event. The event handler code }
{ should create an instance of the class defined in step 8, and specify it }
{ as the destination command instead of the default one. }
{ 10. Modify the overall appearance of the page and its layout. }
{ }
{************************************************************************************}
--%>
<%@ Control Language="vb" AutoEventWireup="true" Inherits="AppointmentForm" Codebehind="AppointmentForm.ascx.vb" %>
<%@ Register Assembly="DevExpress.Web.v15.2, Version=15.2.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" Namespace="DevExpress.Web" TagPrefix="dxe" %>
<%@ Register Assembly="DevExpress.Web.ASPxScheduler.v15.2, Version=15.2.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" Namespace="DevExpress.Web.ASPxScheduler.Controls" TagPrefix="dxsc" %>
<%@ Register Assembly="DevExpress.Web.ASPxScheduler.v15.2, Version=15.2.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" Namespace="DevExpress.Web.ASPxScheduler" TagPrefix="dxwschs" %>
<table class="dxscAppointmentForm" cellpadding="0" cellspacing="0" style="width: 100%; height: 230px;">
<tr>
<td class="dxscDoubleCell" colspan="2">
<table class="dxscLabelControlPair" cellpadding="0" cellspacing="0">
<tr>
<td class="dxscLabelCell">
<dxe:ASPxLabel ID="lblSubject" runat="server" AssociatedControlID="tbSubject" Text="Subject:">
</dxe:ASPxLabel>
</td>
<td class="dxscControlCell">
<dxe:ASPxTextBox ClientInstanceName="_dx" ID="tbSubject" runat="server" Width="100%" Text='<%#(CType(Container, AppointmentFormTemplateContainer)).Appointment.Subject%>' />
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td class="dxscSingleCell">
<table class="dxscLabelControlPair" cellpadding="0" cellspacing="0">
<tr>
<td class="dxscLabelCell">
<dxe:ASPxLabel ID="lblLocation" runat="server" AssociatedControlID="tbLocation" Text="Location:">
</dxe:ASPxLabel>
</td>
<td class="dxscControlCell">
<dxe:ASPxTextBox ClientInstanceName="_dx" ID="tbLocation" runat="server" Width="100%" Text='<%#(CType(Container, AppointmentFormTemplateContainer)).Appointment.Location%>' />
</td>
</tr>
</table>
</td>
<td class="dxscSingleCell">
<table class="dxscLabelControlPair" cellpadding="0" cellspacing="0">
<tr>
<td class="dxscLabelCell" style="padding-left: 25px;">
<dxe:ASPxLabel ID="lblLabel" runat="server" AssociatedControlID="edtLabel" Text="Label:">
</dxe:ASPxLabel>
</td>
<td class="dxscControlCell">
<dxe:ASPxComboBox ClientInstanceName="_dx" ID="edtLabel" runat="server" Width="100%" DataSource='<%#(CType(Container, AppointmentFormTemplateContainer)).LabelDataSource%>' />
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td class="dxscSingleCell">
<table class="dxscLabelControlPair" cellpadding="0" cellspacing="0">
<tr>
<td class="dxscLabelCell">
<dxe:ASPxLabel ID="lblStartDate" runat="server" AssociatedControlID="edtStartDate" Text="Start time:" Wrap="false">
</dxe:ASPxLabel>
</td>
<td class="dxscControlCell">
<dxe:ASPxDateEdit ID="edtStartDate" runat="server" Width="100%" Date='<%#(CType(Container, AppointmentFormTemplateContainer)).Start%>' EditFormat="DateTime" DateOnError="Undo" AllowNull="false" EnableClientSideAPI="true" >
<ValidationSettings ErrorDisplayMode="ImageWithTooltip" EnableCustomValidation="True" Display="Dynamic"
ValidationGroup="DateValidatoinGroup">
</ValidationSettings>
</dxe:ASPxDateEdit>
</td>
</tr>
</table>
</td>
<td class="dxscSingleCell">
<table class="dxscLabelControlPair" cellpadding="0" cellspacing="0">
<tr>
<td class="dxscLabelCell" style="padding-left: 25px;">
<dxe:ASPxLabel runat="server" ID="lblEndDate" Text="End time:" Wrap="false" AssociatedControlID="edtEndDate"/>
</td>
<td class="dxscControlCell">
<dxe:ASPxDateEdit id="edtEndDate" runat="server" Date='<%#(CType(Container, AppointmentFormTemplateContainer)).End%>' EditFormat="DateTime" Width="100%" DateOnError="Undo" AllowNull="false" EnableClientSideAPI="true">
<ValidationSettings ErrorDisplayMode="ImageWithTooltip" EnableCustomValidation="True" Display="Dynamic"
ValidationGroup="DateValidatoinGroup">
</ValidationSettings>
</dxe:ASPxDateEdit>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td class="dxscSingleCell">
<table class="dxscLabelControlPair" cellpadding="0" cellspacing="0">
<tr>
<td class="dxscLabelCell">
<dxe:ASPxLabel ID="lblStatus" runat="server" AssociatedControlID="edtStatus" Text="Show time as:" Wrap="false">
</dxe:ASPxLabel>
</td>
<td class="dxscControlCell">
<dxe:ASPxComboBox ClientInstanceName="_dx" ID="edtStatus" runat="server" Width="100%" DataSource='<%#(CType(Container, AppointmentFormTemplateContainer)).StatusDataSource%>' />
</td>
</tr>
</table>
</td>
<td class="dxscSingleCell" style="padding-left: 22px;">
<table class="dxscLabelControlPair" cellpadding="0" cellspacing="0">
<tr>
<td style="width: 20px; height: 20px;">
<dxe:ASPxCheckBox ClientInstanceName="_dx" ID="chkAllDay" runat="server" Checked='<%#(CType(Container, AppointmentFormTemplateContainer)).Appointment.AllDay%>'>
</dxe:ASPxCheckBox>
</td>
<td style="padding-left: 2px;">
<dxe:ASPxLabel ID="lblAllDay" runat="server" Text="All day event" AssociatedControlID="chkAllDay" />
</td>
</tr>
</table>
</td>
</tr>
<tr>
<%
If CanShowReminders Then
%>
<td class="dxscSingleCell">
<%
Else
%>
<td class="dxscDoubleCell" colspan="2">
<%
End If
%>
<table class="dxscLabelControlPair" cellpadding="0" cellspacing="0">
<tr>
<td class="dxscLabelCell">
<dxe:ASPxLabel ID="lblResource" runat="server" AssociatedControlID="edtResource" Text="Resource:">
</dxe:ASPxLabel>
</td>
<td class="dxscControlCell">
<%
If ResourceSharing Then
%>
<dxe:ASPxDropDownEdit id="ddResource" runat="server" Width="100%" ClientInstanceName="ddResource" Enabled='<%#(CType(Container, AppointmentFormTemplateContainer)).CanEditResource%>' AllowUserInput="false">
<DropDownWindowTemplate>
<dxe:ASPxListBox id="edtMultiResource" runat="server" width="100%" SelectionMode="CheckColumn" DataSource='<%#ResourceDataSource%>' Border-BorderWidth="0"/>
</DropDownWindowTemplate>
</dxe:ASPxDropDownEdit>
<%
Else
%>
<dxe:ASPxComboBox ClientInstanceName="_dx" ID="edtResource" runat="server" Width="100%" DataSource='<%#ResourceDataSource%> ' Enabled='<%#(CType(Container, AppointmentFormTemplateContainer)).CanEditResource%>' />
<%
End If
%>
</td>
</tr>
</table>
</td>
<%
If CanShowReminders Then
%>
<td class="dxscSingleCell">
<table class="dxscLabelControlPair" cellpadding="0" cellspacing="0">
<tr>
<td class="dxscLabelCell" style="padding-left: 22px;">
<table class="dxscLabelControlPair" cellpadding="0" cellspacing="0">
<tr>
<td style="width: 20px; height: 20px;">
<dxe:ASPxCheckBox ID="chkReminder" runat="server">
</dxe:ASPxCheckBox>
</td>
<td style="padding-left: 2px;">
<dxe:ASPxLabel ID="lblReminder" runat="server" Text="Reminder" AssociatedControlID="chkReminder" />
</td>
</tr>
</table>
</td>
<td class="dxscControlCell" style="padding-left: 3px">
<dxe:ASPxComboBox ID="cbReminder" runat="server" Width="100%" DataSource='<%#(CType(Container, AppointmentFormTemplateContainer)).ReminderDataSource%>' />
</td>
</tr>
</table>
</td>
<%
End If
%>
</tr>
<tr>
<td class="dxscDoubleCell" colspan="2" style="height: 90px;">
<dxe:ASPxMemo ClientInstanceName="_dx" ID="tbDescription" runat="server" Width="100%" Rows="6" Text='<%#(CType(Container, AppointmentFormTemplateContainer)).Appointment.Description%>' />
</td>
</tr>
</table>
<dxsc:AppointmentRecurrenceForm ID="AppointmentRecurrenceForm1" runat="server"
IsRecurring='<%#(CType(Container, AppointmentFormTemplateContainer)).Appointment.IsRecurring%>'
DayNumber='<%#(CType(Container, AppointmentFormTemplateContainer)).RecurrenceDayNumber%>'
End='<%#(CType(Container, AppointmentFormTemplateContainer)).RecurrenceEnd%>'
Month='<%#(CType(Container, AppointmentFormTemplateContainer)).RecurrenceMonth%>'
OccurrenceCount='<%#(CType(Container, AppointmentFormTemplateContainer)).RecurrenceOccurrenceCount%>'
Periodicity='<%#(CType(Container, AppointmentFormTemplateContainer)).RecurrencePeriodicity%>'
RecurrenceRange='<%#(CType(Container, AppointmentFormTemplateContainer)).RecurrenceRange%>'
Start='<%#(CType(Container, AppointmentFormTemplateContainer)).RecurrenceStart%>'
WeekDays='<%#(CType(Container, AppointmentFormTemplateContainer)).RecurrenceWeekDays%>'
WeekOfMonth='<%#(CType(Container, AppointmentFormTemplateContainer)).RecurrenceWeekOfMonth%>'
RecurrenceType='<%#(CType(Container, AppointmentFormTemplateContainer)).RecurrenceType%>'
IsFormRecreated='<%#(CType(Container, AppointmentFormTemplateContainer)).IsFormRecreated%>' >
</dxsc:AppointmentRecurrenceForm>
<table cellpadding="0" cellspacing="0" style="width: 100%; height: 35px;">
<tr>
<td style="width: 100%; height: 100%;" align="center">
<table style="height: 100%;">
<tr>
<td>
<dxe:ASPxButton runat="server" ID="btnOk" Text="OK" UseSubmitBehavior="false" AutoPostBack="false"
EnableViewState="false" Width="91px" EnableClientSideAPI="true"/>
</td>
<td>
<dxe:ASPxButton runat="server" ID="btnCancel" Text="Cancel" UseSubmitBehavior="false" AutoPostBack="false" EnableViewState="false"
Width="91px" CausesValidation="False" EnableClientSideAPI="true" />
</td>
<td>
<dxe:ASPxButton runat="server" ID="btnDelete" Text="Delete" UseSubmitBehavior="false"
AutoPostBack="false" EnableViewState="false" Width="91px"
Enabled='<%#(CType(Container, AppointmentFormTemplateContainer)).CanDeleteAppointment%>'
CausesValidation="False" />
</td>
</tr>
</table>
</td>
</tr>
</table>
<table cellpadding="0" cellspacing="0" style="width: 100%;">
<tr>
<td style="width: 100%;" align="left">
<dxsc:ASPxSchedulerStatusInfo runat="server" ID="schedulerStatusInfo" Priority="1" MasterControlId='<%#(CType(Container, DevExpress.Web.ASPxScheduler.AppointmentFormTemplateContainer)).ControlId%>' />
</td>
</tr>
</table>
<script id="dxss_ASPxSchedulerAppoinmentForm" type="text/javascript">
ASPxAppointmentForm = _aspxCreateClass(ASPxClientFormBase, {
Initialize: function () {
this.controls.edtStartDate.Validation.AddHandler(_aspxCreateDelegate(this.OnEdtStartDateValidate, this));
this.controls.edtEndDate.Validation.AddHandler(_aspxCreateDelegate(this.OnEdtEndDateValidate, this));
this.controls.edtStartDate.ValueChanged.AddHandler(_aspxCreateDelegate(this.OnUpdateStartEndValue, this));
this.controls.edtEndDate.ValueChanged.AddHandler(_aspxCreateDelegate(this.OnUpdateStartEndValue, this));
if (this.controls.chkReminder)
this.controls.chkReminder.CheckedChanged.AddHandler(_aspxCreateDelegate(this.OnChkReminderCheckedChanged, this));
if (this.controls.edtMultiResource)
this.controls.edtMultiResource.SelectedIndexChanged.AddHandler(_aspxCreateDelegate(this.OnEdtMultiResourceSelectedIndexChanged, this));
},
OnEdtMultiResourceSelectedIndexChanged: function (s, e) {
var resourceNames = new Array();
var items = s.GetSelectedItems();
var count = items.length;
if (count > 0) {
for (var i = 0; i < count; i++)
resourceNames.push(items[i].text);
}
else
resourceNames.push(ddResource.cp_Caption_ResourceNone);
ddResource.SetValue(resourceNames.join(', '));
},
OnEdtStartDateValidate: function (s, e) {
if (!e.isValid)
return;
var startDate = this.controls.edtStartDate.GetDate();
var endDate = this.controls.edtEndDate.GetDate();
e.isValid = startDate == null || endDate == null || startDate < endDate;
e.errorText = "The Start Date must precede the End Date.";
},
OnEdtEndDateValidate: function (s, e) {
if (!e.isValid)
return;
var startDate = this.controls.edtStartDate.GetDate();
var endDate = this.controls.edtEndDate.GetDate();
e.isValid = startDate == null || endDate == null || startDate < endDate;
e.errorText = "The Start Date must precede the End Date.";
},
OnUpdateStartEndValue: function (s, e) {
var isValid = ASPxClientEdit.ValidateEditorsInContainer(null);
this.controls.btnOk.SetEnabled(isValid);
},
OnChkReminderCheckedChanged: function (s, e) {
var isReminderEnabled = this.controls.chkReminder.GetValue();
if (isReminderEnabled)
this.controls.cbReminder.SetSelectedIndex(3);
else
this.controls.cbReminder.SetSelectedIndex(-1);
this.controls.cbReminder.SetEnabled(isReminderEnabled);
}
});
</script>
@@ -0,0 +1,249 @@
'------------------------------------------------------------------------------
' <auto-generated>
' This code was generated by a tool.
'
' Changes to this file may cause incorrect behavior and will be lost if
' the code is regenerated.
' </auto-generated>
'------------------------------------------------------------------------------
Option Strict On
Option Explicit On
Partial Public Class AppointmentForm
'''<summary>
'''lblSubject control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents lblSubject As Global.DevExpress.Web.ASPxLabel
'''<summary>
'''tbSubject control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents tbSubject As Global.DevExpress.Web.ASPxTextBox
'''<summary>
'''lblLocation control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents lblLocation As Global.DevExpress.Web.ASPxLabel
'''<summary>
'''tbLocation control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents tbLocation As Global.DevExpress.Web.ASPxTextBox
'''<summary>
'''lblLabel control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents lblLabel As Global.DevExpress.Web.ASPxLabel
'''<summary>
'''edtLabel control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents edtLabel As Global.DevExpress.Web.ASPxComboBox
'''<summary>
'''lblStartDate control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents lblStartDate As Global.DevExpress.Web.ASPxLabel
'''<summary>
'''edtStartDate control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents edtStartDate As Global.DevExpress.Web.ASPxDateEdit
'''<summary>
'''lblEndDate control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents lblEndDate As Global.DevExpress.Web.ASPxLabel
'''<summary>
'''edtEndDate control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents edtEndDate As Global.DevExpress.Web.ASPxDateEdit
'''<summary>
'''lblStatus control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents lblStatus As Global.DevExpress.Web.ASPxLabel
'''<summary>
'''edtStatus control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents edtStatus As Global.DevExpress.Web.ASPxComboBox
'''<summary>
'''chkAllDay control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents chkAllDay As Global.DevExpress.Web.ASPxCheckBox
'''<summary>
'''lblAllDay control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents lblAllDay As Global.DevExpress.Web.ASPxLabel
'''<summary>
'''lblResource control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents lblResource As Global.DevExpress.Web.ASPxLabel
'''<summary>
'''ddResource control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents ddResource As Global.DevExpress.Web.ASPxDropDownEdit
'''<summary>
'''edtResource control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents edtResource As Global.DevExpress.Web.ASPxComboBox
'''<summary>
'''chkReminder control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents chkReminder As Global.DevExpress.Web.ASPxCheckBox
'''<summary>
'''lblReminder control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents lblReminder As Global.DevExpress.Web.ASPxLabel
'''<summary>
'''cbReminder control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents cbReminder As Global.DevExpress.Web.ASPxComboBox
'''<summary>
'''tbDescription control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents tbDescription As Global.DevExpress.Web.ASPxMemo
'''<summary>
'''AppointmentRecurrenceForm1 control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents AppointmentRecurrenceForm1 As Global.DevExpress.Web.ASPxScheduler.Controls.AppointmentRecurrenceForm
'''<summary>
'''btnOk control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents btnOk As Global.DevExpress.Web.ASPxButton
'''<summary>
'''btnCancel control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents btnCancel As Global.DevExpress.Web.ASPxButton
'''<summary>
'''btnDelete control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents btnDelete As Global.DevExpress.Web.ASPxButton
'''<summary>
'''schedulerStatusInfo control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents schedulerStatusInfo As Global.DevExpress.Web.ASPxScheduler.Controls.ASPxSchedulerStatusInfo
End Class
@@ -0,0 +1,172 @@
'
'{************************************************************************************}
'{ }
'{ DO NOT MODIFY THIS FILE! }
'{ }
'{ It will be overwritten without prompting when a new version becomes }
'{ available. All your changes will be lost. }
'{ }
'{ This file contains the default template and is required for the form }
'{ rendering. Improper modifications may result in incorrect behavior of }
'{ the appointment form. }
'{ }
'{ In order to create and use your own custom template, perform the following }
'{ steps: }
'{ 1. Save a copy of this file with a different name in another location. }
'{ 2. Specify the file location as the 'OptionsForms.AppointmentFormTemplateUrl'}
'{ property of the ASPxScheduler control. }
'{ 3. If you need custom fields to be displayed and processed, you should }
'{ accomplish steps 4-9; otherwise, go to step 10. }
'{ 4. Create a class, derived from the AppointmentFormTemplateContainer, }
'{ containing custom properties. This class definition can be located }
'{ within a class file in the App_Code folder. }
'{ 5. Replace AppointmentFormTemplateContainer references in the template }
'{ page with the name of the class you've created in step 4. }
'{ 6. Handle the AppointmentFormShowing event to create an instance of the }
'{ template container class, defined in step 4, and specify it as the }
'{ destination container instead of the default one. }
'{ 7. Define a class, which inherits from the }
'{ DevExpress.Web.ASPxScheduler.Internal.AppointmentFormController. }
'{ This class provides data exchange between the form and the appointment. }
'{ You should override ApplyCustomFieldsValues() method of the base class. }
'{ 8. Define a class, which inherits from the }
'{ DevExpress.Web.ASPxScheduler.Internal.AppointmentFormSaveCallbackCommand. }
'{ This class creates an instance of the AppointmentFormController inheritor }
'{ (defined in step 7) via the CreateAppointmentFormController method and }
'{ overrides the AssignControllerValues method of the base class to collect }
'{ user data from the form's editors. }
'{ 9. Handle the BeforeExecuteCallbackCommand event. The event handler code }
'{ should create an instance of the class defined in step 8, and specify it }
'{ as the destination command instead of the default one. }
'{ 10. Modify the overall appearance of the page and its layout. }
'{ }
'{************************************************************************************}
'
Imports Microsoft.VisualBasic
Imports System
Imports System.Web.UI
Imports DevExpress.XtraScheduler
Imports DevExpress.Web
Imports DevExpress.Web.ASPxScheduler
Imports DevExpress.Web.ASPxScheduler.Internal
Imports System.Collections
Imports System.Collections.Generic
Imports DevExpress.XtraScheduler.Localization
Partial Public Class AppointmentForm
Inherits SchedulerFormControl
Public Overrides ReadOnly Property ClassName() As String
Get
Return "ASPxAppointmentForm"
End Get
End Property
Public ReadOnly Property CanShowReminders() As Boolean
Get
Return (CType(Parent, AppointmentFormTemplateContainer)).Control.Storage.EnableReminders
End Get
End Property
Public ReadOnly Property ResourceSharing() As Boolean
Get
Return (CType(Parent, AppointmentFormTemplateContainer)).Control.Storage.ResourceSharing
End Get
End Property
Public ReadOnly Property ResourceDataSource() As IEnumerable
Get
Return (CType(Parent, AppointmentFormTemplateContainer)).ResourceDataSource
End Get
End Property
Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
'PrepareChildControls();
tbSubject.Focus()
End Sub
Public Overrides Sub DataBind()
MyBase.DataBind()
Dim container As AppointmentFormTemplateContainer = CType(Parent, AppointmentFormTemplateContainer)
Dim apt As Appointment = container.Appointment
edtLabel.SelectedIndex = apt.LabelId
edtStatus.SelectedIndex = apt.StatusId
PopulateResourceEditors(apt, container)
AppointmentRecurrenceForm1.Visible = container.ShouldShowRecurrence
If container.Appointment.HasReminder Then
cbReminder.Value = container.Appointment.Reminder.TimeBeforeStart.ToString()
chkReminder.Checked = True
Else
cbReminder.ClientEnabled = False
End If
btnOk.ClientSideEvents.Click = container.SaveHandler
btnCancel.ClientSideEvents.Click = container.CancelHandler
btnDelete.ClientSideEvents.Click = container.DeleteHandler
'btnDelete.Enabled = !container.IsNewAppointment;
End Sub
Private Sub PopulateResourceEditors(ByVal apt As Appointment, ByVal container As AppointmentFormTemplateContainer)
If ResourceSharing Then
Dim edtMultiResource As ASPxListBox = TryCast(ddResource.FindControl("edtMultiResource"), ASPxListBox)
If edtMultiResource Is Nothing Then
Return
End If
SetListBoxSelectedValues(edtMultiResource, apt.ResourceIds)
Dim multiResourceString As List(Of String) = GetListBoxSeletedItemsText(edtMultiResource)
Dim stringResourceNone As String = SchedulerLocalizer.GetString(SchedulerStringId.Caption_ResourceNone)
ddResource.Value = stringResourceNone
If multiResourceString.Count > 0 Then
ddResource.Value = String.Join(", ", multiResourceString.ToArray())
End If
ddResource.JSProperties.Add("cp_Caption_ResourceNone", stringResourceNone)
Else
If (Not Object.Equals(apt.ResourceId, Resource.Empty.Id)) Then
edtResource.Value = apt.ResourceId.ToString()
Else
edtResource.Value = SchedulerIdHelper.EmptyResourceId
End If
End If
End Sub
Private Function GetListBoxSeletedItemsText(ByVal listBox As ASPxListBox) As List(Of String)
Dim result As New List(Of String)()
For Each editItem As ListEditItem In listBox.Items
If editItem.Selected Then
result.Add(editItem.Text)
End If
Next editItem
Return result
End Function
Private Sub SetListBoxSelectedValues(ByVal listBox As ASPxListBox, ByVal values As IEnumerable)
listBox.Value = Nothing
For Each value As Object In values
Dim item As ListEditItem = listBox.Items.FindByValue(value.ToString())
If item IsNot Nothing Then
item.Selected = True
End If
Next value
End Sub
Protected Overrides Sub PrepareChildControls()
Dim container As AppointmentFormTemplateContainer = CType(Parent, AppointmentFormTemplateContainer)
Dim control As ASPxScheduler = container.Control
AppointmentRecurrenceForm1.EditorsInfo = New EditorsInfo(control, control.Styles.FormEditors, control.Images.FormEditors, control.Styles.Buttons)
MyBase.PrepareChildControls()
End Sub
Protected Overrides Function GetChildEditors() As ASPxEditBase()
Dim edits() As ASPxEditBase = { lblSubject, tbSubject, lblLocation, tbLocation, lblLabel, edtLabel, lblStartDate, edtStartDate, lblEndDate, edtEndDate, lblStatus, edtStatus, lblAllDay, chkAllDay, lblResource, edtResource, tbDescription, cbReminder, ddResource, chkReminder, GetMultiResourceEditor() }
Return edits
End Function
Private Function GetMultiResourceEditor() As ASPxEditBase
If ddResource IsNot Nothing Then
Return TryCast(ddResource.FindControl("edtMultiResource"), ASPxEditBase)
End If
Return Nothing
End Function
Protected Overrides Function GetChildButtons() As ASPxButton()
Dim buttons() As ASPxButton = { btnOk, btnCancel, btnDelete }
Return buttons
End Function
End Class
@@ -0,0 +1,296 @@
<%--
{************************************************************************************}
{ }
{ DO NOT MODIFY THIS FILE! }
{ }
{ It will be overwritten without prompting when a new version becomes }
{ available. All your changes will be lost. }
{ }
{ This file contains the default template and is required for the form }
{ rendering. Improper modifications may result in incorrect behavior of }
{ the appointment form. }
{ }
{ In order to create and use your own custom template, perform the following }
{ steps: }
{ 1. Save a copy of this file with a different name in another location. }
{ 2. Specify the file location as the 'OptionsForms.AppointmentFormTemplateUrl'}
{ property of the ASPxScheduler control. }
{ 3. If you need custom fields to be displayed and processed, you should }
{ accomplish steps 4-9; otherwise, go to step 10. }
{ 4. Create a class, derived from the AppointmentFormTemplateContainer, }
{ containing custom properties. This class definition can be located }
{ within a class file in the App_Code folder. }
{ 5. Replace AppointmentFormTemplateContainer references in the template }
{ page with the name of the class you've created in step 4. }
{ 6. Handle the AppointmentFormShowing event to create an instance of the }
{ template container class, defined in step 4, and specify it as the }
{ destination container instead of the default one. }
{ 7. Define a class, which inherits from the }
{ DevExpress.Web.ASPxScheduler.Internal.AppointmentFormController. }
{ This class provides data exchange between the form and the appointment. }
{ You should override ApplyCustomFieldsValues() method of the base class. }
{ 8. Define a class, which inherits from the }
{ DevExpress.Web.ASPxScheduler.Internal.AppointmentFormSaveCallbackCommand. }
{ This class creates an instance of the AppointmentFormController inheritor }
{ (defined in step 7) via the CreateAppointmentFormController method and }
{ overrides the AssignControllerValues method of the base class to collect }
{ user data from the form's editors. }
{ 9. Handle the BeforeExecuteCallbackCommand event. The event handler code }
{ should create an instance of the class defined in step 8, and specify it }
{ as the destination command instead of the default one. }
{ 10. Modify the overall appearance of the page and its layout. }
{ }
{************************************************************************************}
--%>
<%@ Control Language="vb" AutoEventWireup="true" Inherits="AppointmentFormEx" Codebehind="AppointmentFormEx.ascx.vb" %>
<%@ Register Assembly="DevExpress.Web.v15.2, Version=15.2.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" Namespace="DevExpress.Web" TagPrefix="dxe" %>
<%@ Register Assembly="DevExpress.Web.ASPxScheduler.v15.2, Version=15.2.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" Namespace="DevExpress.Web.ASPxScheduler.Controls" TagPrefix="dxsc" %>
<%@ Register Assembly="DevExpress.Web.ASPxScheduler.v15.2, Version=15.2.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" Namespace="DevExpress.Web.ASPxScheduler" TagPrefix="dxwschs" %>
<%@ Register Assembly="DevExpress.Web.v15.2, Version=15.2.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" Namespace="DevExpress.Web" TagPrefix="dxcp" %>
<table class="dxscAppointmentForm" cellpadding="0" cellspacing="0" style="width: 100%; height: 230px;">
<tr>
<td class="dxscDoubleCell" colspan="2">
<table class="dxscLabelControlPair" cellpadding="0" cellspacing="0">
<tr>
<td class="dxscLabelCell">
<dxe:ASPxLabel ID="lblSubject" runat="server" AssociatedControlID="tbSubject" Text="Subject:">
</dxe:ASPxLabel>
</td>
<td class="dxscControlCell">
<dxe:ASPxTextBox ClientInstanceName="_dx" ID="tbSubject" runat="server" Width="100%" Text='<%#(CType(Container, AppointmentFormTemplateContainer)).Appointment.Subject%>' />
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td class="dxscSingleCell">
<table class="dxscLabelControlPair" cellpadding="0" cellspacing="0">
<tr>
<td class="dxscLabelCell">
<dxe:ASPxLabel ID="lblLocation" runat="server" AssociatedControlID="tbLocation" Text="Location:">
</dxe:ASPxLabel>
</td>
<td class="dxscControlCell">
<dxe:ASPxTextBox ClientInstanceName="_dx" ID="tbLocation" runat="server" Width="100%" Text='<%#(CType(Container, AppointmentFormTemplateContainer)).Appointment.Location%>' />
</td>
</tr>
</table>
</td>
<td class="dxscSingleCell">
<table class="dxscLabelControlPair" cellpadding="0" cellspacing="0">
<tr>
<td class="dxscLabelCell" style="padding-left: 25px;">
<dxe:ASPxLabel ID="lblLabel" runat="server" AssociatedControlID="edtLabel" Text="Label:">
</dxe:ASPxLabel>
</td>
<td class="dxscControlCell">
<dxe:ASPxComboBox ClientInstanceName="_dx" ID="edtLabel" runat="server" Width="100%" DataSource='<%#(CType(Container, AppointmentFormTemplateContainer)).LabelDataSource%>' />
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td class="dxscSingleCell">
<table class="dxscLabelControlPair" cellpadding="0" cellspacing="0">
<tr>
<td class="dxscLabelCell">
<dxe:ASPxLabel ID="lblStartDate" runat="server" AssociatedControlID="edtStartDate" Text="Start time:" Wrap="false">
</dxe:ASPxLabel>
</td>
<td class="dxscControlCell">
<dxe:ASPxDateEdit ClientInstanceName="_dx" ID="edtStartDate" runat="server" Width="100%" Date='<%#(CType(Container, AppointmentFormTemplateContainer)).Start%>' EditFormat="DateTime" DateOnError="Undo" AllowNull="false"/>
</td>
</tr>
</table>
</td>
<td class="dxscSingleCell">
<table class="dxscLabelControlPair" cellpadding="0" cellspacing="0">
<tr>
<td class="dxscLabelCell" style="padding-left: 25px;">
<dxe:ASPxLabel runat="server" ID="lblEndDate" Text="End time:" Wrap="false" AssociatedControlID="edtEndDate"/>
</td>
<td class="dxscControlCell">
<dxe:ASPxDateEdit id="edtEndDate" runat="server" Date='<%#(CType(Container, AppointmentFormTemplateContainer)).End%>'
EditFormat="DateTime" Width="100%" DateOnError="Undo" AllowNull="false">
</dxe:ASPxDateEdit>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td class="dxscSingleCell">
<table class="dxscLabelControlPair" cellpadding="0" cellspacing="0">
<tr>
<td class="dxscLabelCell">
<dxe:ASPxLabel ID="lblStatus" runat="server" AssociatedControlID="edtStatus" Text="Show time as:" Wrap="false">
</dxe:ASPxLabel>
</td>
<td class="dxscControlCell">
<dxe:ASPxComboBox ClientInstanceName="_dx" ID="edtStatus" runat="server" Width="100%" DataSource='<%#(CType(Container, AppointmentFormTemplateContainer)).StatusDataSource%>' />
</td>
</tr>
</table>
</td>
<td class="dxscSingleCell" style="padding-left: 22px;">
<table class="dxscLabelControlPair" cellpadding="0" cellspacing="0">
<tr>
<td style="width: 20px; height: 20px;">
<dxe:ASPxCheckBox ClientInstanceName="_dx" ID="chkAllDay" runat="server" Checked='<%#(CType(Container, AppointmentFormTemplateContainer)).Appointment.AllDay%>' />
</td>
<td style="padding-left: 2px;">
<dxe:ASPxLabel ID="lblAllDay" runat="server" Text="All day event" AssociatedControlID="chkAllDay" />
</td>
</tr>
</table>
</td>
</tr>
<tr>
<%
If CanShowReminders Then
%>
<td class="dxscSingleCell">
<%
Else
%>
<td class="dxscDoubleCell" colspan="2">
<%
End If
%>
<table class="dxscLabelControlPair" cellpadding="0" cellspacing="0">
<tr>
<td class="dxscLabelCell">
<dxe:ASPxLabel ID="lblResource" runat="server" AssociatedControlID="edtResource" Text="Resource:">
</dxe:ASPxLabel>
</td>
<td class="dxscControlCell">
<%
If ResourceSharing Then
%>
<dxe:ASPxDropDownEdit id="ddResource" runat="server" Width="100%" ClientInstanceName="ddResource" Enabled='<%#(CType(Container, AppointmentFormTemplateContainer)).CanEditResource%>' AllowUserInput="false">
<DropDownWindowTemplate>
<dxe:ASPxListBox id="edtMultiResource" runat="server" width="100%" SelectionMode="CheckColumn" DataSource='<%#ResourceDataSource%>' Border-BorderWidth="0">
<ClientSideEvents SelectedIndexChanged="function(s, e) {
var resourceNames = new Array();
var items = s.GetSelectedItems();
var count = items.length;
if (count > 0) {
for(var i=0; i<count; i++)
resourceNames.push(items[i].text);
}
else
resourceNames.push(ddResource.cp_Caption_ResourceNone);
ddResource.SetValue(resourceNames.join(', '));
}"></ClientSideEvents>
</dxe:ASPxListBox>
</DropDownWindowTemplate>
</dxe:ASPxDropDownEdit>
<%
Else
%>
<dxe:ASPxComboBox ClientInstanceName="_dx" ID="edtResource" runat="server" Width="100%" DataSource='<%#ResourceDataSource%> ' Enabled='<%#(CType(Container, AppointmentFormTemplateContainer)).CanEditResource%>' />
<%
End If
%>
</td>
</tr>
</table>
</td>
<%
If CanShowReminders Then
%>
<td class="dxscSingleCell">
<table class="dxscLabelControlPair" cellpadding="0" cellspacing="0">
<tr>
<td class="dxscLabelCell" style="padding-left: 22px;">
<table class="dxscLabelControlPair" cellpadding="0" cellspacing="0">
<tr>
<td style="width: 20px; height: 20px;">
<dxe:ASPxCheckBox ClientInstanceName="_dx" ID="chkReminder" runat="server">
<ClientSideEvents CheckedChanged="function(s, e) { OnChkReminderCheckedChanged(s, e); }" />
</dxe:ASPxCheckBox>
</td>
<td style="padding-left: 2px;">
<dxe:ASPxLabel ID="lblReminder" runat="server" Text="Reminder" AssociatedControlID="chkReminder" />
</td>
</tr>
</table>
</td>
<td class="dxscControlCell" style="padding-left: 3px">
<dxe:ASPxComboBox ID="cbReminder" ClientInstanceName="_dxAppointmentForm_cbReminder" runat="server" Width="100%" DataSource='<%#(CType(Container, AppointmentFormTemplateContainer)).ReminderDataSource%>' />
</td>
</tr>
</table>
</td>
<%
End If
%>
</tr>
<tr>
<td class="dxscDoubleCell" colspan="2" style="height: 90px;">
<dxe:ASPxMemo ClientInstanceName="_dx" ID="tbDescription" runat="server" Width="100%" Rows="6" Text='<%#(CType(Container, AppointmentFormTemplateContainer)).Appointment.Description%>' />
</td>
</tr>
</table>
<table>
<tr>
<td class="dxscDoubleCell" colspan="2">
<dxe:ASPxCheckBox ID="chkRecurrence" runat="server" Text="Recurrence" Checked='<%#(CType(Container, AppointmentFormTemplateContainer)).Appointment.IsRecurring%>'>
<ClientSideEvents CheckedChanged="function(s,e) { if (s.GetChecked()) { if (RecurrencePanel.mainElement.innerHTML.replace(/^\s*(\b.*\b|)\s*$/, '') == '') RecurrencePanel.PerformCallback(); else RecurrencePanel.SetVisible(true); } else RecurrencePanel.SetVisible(false); }"
/>
</dxe:ASPxCheckBox>
<dxcp:ASPxCallbackPanel ID="RecurrencePanel" runat="server" Width="100%" ClientInstanceName="RecurrencePanel"
OnCallback="OnCallback">
</dxcp:ASPxCallbackPanel>
</td>
</tr>
</table>
<table cellpadding="0" cellspacing="0" style="width: 100%; height: 35px;">
<tr>
<td style="width: 100%; height: 100%;" align="center">
<table style="height: 100%;">
<tr>
<td>
<dxe:ASPxButton runat="server" ClientInstanceName="_dx" ID="btnOk" Text="OK" UseSubmitBehavior="false" AutoPostBack="false"
EnableViewState="false" Width="91px"/>
</td>
<td>
<dxe:ASPxButton runat="server" ClientInstanceName="_dx" ID="btnCancel" Text="Cancel" UseSubmitBehavior="false" AutoPostBack="false" EnableViewState="false"
Width="91px" CausesValidation="False" />
</td>
<td>
<dxe:ASPxButton runat="server" ClientInstanceName="_dx" ID="btnDelete" Text="Delete" UseSubmitBehavior="false"
AutoPostBack="false" EnableViewState="false" Width="91px"
Enabled='<%#(CType(Container, AppointmentFormTemplateContainer)).CanDeleteAppointment%>'
CausesValidation="False" />
</td>
</tr>
</table>
</td>
</tr>
</table>
<table cellpadding="0" cellspacing="0" style="width: 100%;">
<tr>
<td style="width: 100%;" align="left">
<dxsc:ASPxSchedulerStatusInfo runat="server" ID="schedulerStatusInfo" Priority="1" MasterControlId='<%#(CType(Container, DevExpress.Web.ASPxScheduler.AppointmentFormTemplateContainer)).ControlId%>' />
</td>
</tr>
</table>
<script id="dxss_ASPxSchedulerAppoinmentForm" type="text/javascript">
function OnChkReminderCheckedChanged(s, e) {
var isReminderEnabled = s.GetValue();
if (isReminderEnabled)
_dxAppointmentForm_cbReminder.SetSelectedIndex(3);
else
_dxAppointmentForm_cbReminder.SetSelectedIndex(-1);
_dxAppointmentForm_cbReminder.SetEnabled(isReminderEnabled);
}
</script>
@@ -0,0 +1,258 @@
'------------------------------------------------------------------------------
' <auto-generated>
' This code was generated by a tool.
'
' Changes to this file may cause incorrect behavior and will be lost if
' the code is regenerated.
' </auto-generated>
'------------------------------------------------------------------------------
Option Strict On
Option Explicit On
Partial Public Class AppointmentFormEx
'''<summary>
'''lblSubject control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents lblSubject As Global.DevExpress.Web.ASPxLabel
'''<summary>
'''tbSubject control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents tbSubject As Global.DevExpress.Web.ASPxTextBox
'''<summary>
'''lblLocation control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents lblLocation As Global.DevExpress.Web.ASPxLabel
'''<summary>
'''tbLocation control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents tbLocation As Global.DevExpress.Web.ASPxTextBox
'''<summary>
'''lblLabel control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents lblLabel As Global.DevExpress.Web.ASPxLabel
'''<summary>
'''edtLabel control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents edtLabel As Global.DevExpress.Web.ASPxComboBox
'''<summary>
'''lblStartDate control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents lblStartDate As Global.DevExpress.Web.ASPxLabel
'''<summary>
'''edtStartDate control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents edtStartDate As Global.DevExpress.Web.ASPxDateEdit
'''<summary>
'''lblEndDate control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents lblEndDate As Global.DevExpress.Web.ASPxLabel
'''<summary>
'''edtEndDate control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents edtEndDate As Global.DevExpress.Web.ASPxDateEdit
'''<summary>
'''lblStatus control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents lblStatus As Global.DevExpress.Web.ASPxLabel
'''<summary>
'''edtStatus control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents edtStatus As Global.DevExpress.Web.ASPxComboBox
'''<summary>
'''chkAllDay control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents chkAllDay As Global.DevExpress.Web.ASPxCheckBox
'''<summary>
'''lblAllDay control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents lblAllDay As Global.DevExpress.Web.ASPxLabel
'''<summary>
'''lblResource control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents lblResource As Global.DevExpress.Web.ASPxLabel
'''<summary>
'''ddResource control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents ddResource As Global.DevExpress.Web.ASPxDropDownEdit
'''<summary>
'''edtResource control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents edtResource As Global.DevExpress.Web.ASPxComboBox
'''<summary>
'''chkReminder control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents chkReminder As Global.DevExpress.Web.ASPxCheckBox
'''<summary>
'''lblReminder control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents lblReminder As Global.DevExpress.Web.ASPxLabel
'''<summary>
'''cbReminder control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents cbReminder As Global.DevExpress.Web.ASPxComboBox
'''<summary>
'''tbDescription control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents tbDescription As Global.DevExpress.Web.ASPxMemo
'''<summary>
'''chkRecurrence control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents chkRecurrence As Global.DevExpress.Web.ASPxCheckBox
'''<summary>
'''RecurrencePanel control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents RecurrencePanel As Global.DevExpress.Web.ASPxCallbackPanel
'''<summary>
'''btnOk control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents btnOk As Global.DevExpress.Web.ASPxButton
'''<summary>
'''btnCancel control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents btnCancel As Global.DevExpress.Web.ASPxButton
'''<summary>
'''btnDelete control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents btnDelete As Global.DevExpress.Web.ASPxButton
'''<summary>
'''schedulerStatusInfo control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents schedulerStatusInfo As Global.DevExpress.Web.ASPxScheduler.Controls.ASPxSchedulerStatusInfo
End Class
@@ -0,0 +1,192 @@
'
'{************************************************************************************}
'{ }
'{ DO NOT MODIFY THIS FILE! }
'{ }
'{ It will be overwritten without prompting when a new version becomes }
'{ available. All your changes will be lost. }
'{ }
'{ This file contains the default template and is required for the form }
'{ rendering. Improper modifications may result in incorrect behavior of }
'{ the appointment form. }
'{ }
'{ In order to create and use your own custom template, perform the following }
'{ steps: }
'{ 1. Save a copy of this file with a different name in another location. }
'{ 2. Specify the file location as the 'OptionsForms.AppointmentFormTemplateUrl'}
'{ property of the ASPxScheduler control. }
'{ 3. If you need custom fields to be displayed and processed, you should }
'{ accomplish steps 4-9; otherwise, go to step 10. }
'{ 4. Create a class, derived from the AppointmentFormTemplateContainer, }
'{ containing custom properties. This class definition can be located }
'{ within a class file in the App_Code folder. }
'{ 5. Replace AppointmentFormTemplateContainer references in the template }
'{ page with the name of the class you've created in step 4. }
'{ 6. Handle the AppointmentFormShowing event to create an instance of the }
'{ template container class, defined in step 4, and specify it as the }
'{ destination container instead of the default one. }
'{ 7. Define a class, which inherits from the }
'{ DevExpress.Web.ASPxScheduler.Internal.AppointmentFormController. }
'{ This class provides data exchange between the form and the appointment. }
'{ You should override ApplyCustomFieldsValues() method of the base class. }
'{ 8. Define a class, which inherits from the }
'{ DevExpress.Web.ASPxScheduler.Internal.AppointmentFormSaveCallbackCommand. }
'{ This class creates an instance of the AppointmentFormController inheritor }
'{ (defined in step 7) via the CreateAppointmentFormController method and }
'{ overrides the AssignControllerValues method of the base class to collect }
'{ user data from the form's editors. }
'{ 9. Handle the BeforeExecuteCallbackCommand event. The event handler code }
'{ should create an instance of the class defined in step 8, and specify it }
'{ as the destination command instead of the default one. }
'{ 10. Modify the overall appearance of the page and its layout. }
'{ }
'{************************************************************************************}
'
Imports Microsoft.VisualBasic
Imports System
Imports System.Web.UI
Imports DevExpress.XtraScheduler
Imports DevExpress.Web
Imports DevExpress.Web.ASPxScheduler
Imports DevExpress.Web.ASPxScheduler.Internal
Imports System.Collections
Imports System.Collections.Generic
Imports DevExpress.XtraScheduler.Localization
Imports DevExpress.Web.ASPxScheduler.Controls
Partial Public Class AppointmentFormEx
Inherits SchedulerFormControl
Private recurrenceControl_Renamed As AppointmentRecurrenceControl
Public ReadOnly Property CanShowReminders() As Boolean
Get
Return (CType(Parent, AppointmentFormTemplateContainer)).Control.Storage.EnableReminders
End Get
End Property
Public ReadOnly Property ResourceSharing() As Boolean
Get
Return (CType(Parent, AppointmentFormTemplateContainer)).Control.Storage.ResourceSharing
End Get
End Property
Public ReadOnly Property ResourceDataSource() As IEnumerable
Get
Return (CType(Parent, AppointmentFormTemplateContainer)).ResourceDataSource
End Get
End Property
Public ReadOnly Property RecurrenceControl() As AppointmentRecurrenceControl
Get
Return recurrenceControl_Renamed
End Get
End Property
Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
RenderRecurrenceControl(False)
'PrepareChildControls();
tbSubject.Focus()
End Sub
Protected Overrides Sub Render(ByVal writer As System.Web.UI.HtmlTextWriter)
Dim container As AppointmentFormTemplateContainer = CType(Parent, AppointmentFormTemplateContainer)
Dim control As ASPxScheduler = container.Control
RecurrenceControl.EditorsInfo = New EditorsInfo(control, control.Styles.FormEditors, control.Images.FormEditors, control.Styles.Buttons)
RecurrenceControl.Visible = chkRecurrence.Checked AndAlso chkRecurrence.Visible
MyBase.Render(writer)
End Sub
Public Overrides Sub DataBind()
MyBase.DataBind()
Dim container As AppointmentFormTemplateContainer = CType(Parent, AppointmentFormTemplateContainer)
Dim apt As Appointment = container.Appointment
edtLabel.SelectedIndex = apt.LabelId
edtStatus.SelectedIndex = apt.StatusId
PopulateResourceEditors(apt, container)
chkRecurrence.Visible = container.ShouldShowRecurrence
'AppointmentRecurrenceForm1.Visible = container.ShouldShowRecurrence;
If container.Appointment.HasReminder Then
cbReminder.Value = container.Appointment.Reminder.TimeBeforeStart.ToString()
chkReminder.Checked = True
Else
cbReminder.ClientEnabled = False
End If
btnOk.ClientSideEvents.Click = container.SaveHandler
btnCancel.ClientSideEvents.Click = container.CancelHandler
btnDelete.ClientSideEvents.Click = container.DeleteHandler
End Sub
Private Sub PopulateResourceEditors(ByVal apt As Appointment, ByVal container As AppointmentFormTemplateContainer)
If ResourceSharing Then
Dim edtMultiResource As ASPxListBox = TryCast(ddResource.FindControl("edtMultiResource"), ASPxListBox)
If edtMultiResource Is Nothing Then
Return
End If
SetListBoxSelectedValues(edtMultiResource, apt.ResourceIds)
Dim multiResourceString As List(Of String) = GetListBoxSeletedItemsText(edtMultiResource)
Dim stringResourceNone As String = SchedulerLocalizer.GetString(SchedulerStringId.Caption_ResourceNone)
ddResource.Value = stringResourceNone
If multiResourceString.Count > 0 Then
ddResource.Value = String.Join(", ", multiResourceString.ToArray())
End If
ddResource.JSProperties.Add("cp_Caption_ResourceNone", stringResourceNone)
Else
If (Not Object.Equals(apt.ResourceId, Resource.Empty.Id)) Then
edtResource.Value = apt.ResourceId.ToString()
Else
edtResource.Value = SchedulerIdHelper.EmptyResourceId
End If
End If
End Sub
Private Function GetListBoxSeletedItemsText(ByVal listBox As ASPxListBox) As List(Of String)
Dim result As New List(Of String)()
For Each editItem As ListEditItem In listBox.Items
If editItem.Selected Then
result.Add(editItem.Text)
End If
Next editItem
Return result
End Function
Private Sub SetListBoxSelectedValues(ByVal listBox As ASPxListBox, ByVal values As IEnumerable)
listBox.Value = Nothing
For Each value As Object In values
Dim item As ListEditItem = listBox.Items.FindByValue(value.ToString())
If item IsNot Nothing Then
item.Selected = True
End If
Next value
End Sub
Protected Overrides Function GetChildEditors() As ASPxEditBase()
Dim edits() As ASPxEditBase = { lblSubject, tbSubject, lblLocation, tbLocation, lblLabel, edtLabel, lblStartDate, edtStartDate, lblEndDate, edtEndDate, lblStatus, edtStatus, lblAllDay, chkAllDay, lblResource, edtResource, tbDescription, cbReminder, ddResource }
Return edits
End Function
Protected Overrides Function GetChildButtons() As ASPxButton()
Dim buttons() As ASPxButton = { btnOk, btnCancel, btnDelete }
Return buttons
End Function
Protected Sub OnCallback(ByVal sender As Object, ByVal e As CallbackEventArgsBase)
RenderRecurrenceControl(True)
End Sub
Protected Sub RenderRecurrenceControl(ByVal isRecurring As Boolean)
If Me.recurrenceControl_Renamed IsNot Nothing Then
Me.recurrenceControl_Renamed.Visible = isRecurring
Return
End If
Dim container As AppointmentFormTemplateContainer = CType(Parent, AppointmentFormTemplateContainer)
Me.recurrenceControl_Renamed = New AppointmentRecurrenceControl()
recurrenceControl_Renamed.ID = "RecurrenceControl1"
recurrenceControl_Renamed.Visible = isRecurring 'container.ShouldShowRecurrence;
recurrenceControl_Renamed.DayNumber = container.RecurrenceDayNumber
recurrenceControl_Renamed.End = container.RecurrenceEnd
recurrenceControl_Renamed.Month = container.RecurrenceMonth
recurrenceControl_Renamed.OccurrenceCount = container.RecurrenceOccurrenceCount
recurrenceControl_Renamed.Periodicity = container.RecurrencePeriodicity
recurrenceControl_Renamed.RecurrenceRange = container.RecurrenceRange
recurrenceControl_Renamed.Start = container.RecurrenceStart
recurrenceControl_Renamed.WeekDays = container.RecurrenceWeekDays
recurrenceControl_Renamed.WeekOfMonth = container.RecurrenceWeekOfMonth
recurrenceControl_Renamed.RecurrenceType = container.RecurrenceType
recurrenceControl_Renamed.IsFormRecreated = container.IsFormRecreated
RecurrencePanel.Controls.Add(recurrenceControl_Renamed)
recurrenceControl_Renamed.EditorsInfo = New EditorsInfo(container.Control, container.Control.Styles.FormEditors, container.Control.Images.FormEditors, container.Control.Styles.Buttons)
End Sub
End Class
@@ -0,0 +1,22 @@
<%@ Control Language="vb" AutoEventWireup="true" Inherits="UserForms_AppointmentToolTip" Codebehind="AppointmentToolTip.ascx.vb" %>
<%@ Register Assembly="DevExpress.Web.v15.2" Namespace="DevExpress.Web"
TagPrefix="dxe" %>
<div runat="server" id="buttonDiv">
<dxe:ASPxButton ID="btnShowMenu" runat="server" AutoPostBack="False" AllowFocus="False">
<Border BorderWidth="0px" />
<Paddings Padding="0px" />
<FocusRectPaddings Padding="4px" />
<FocusRectBorder BorderStyle="None" BorderWidth="0px" />
</dxe:ASPxButton>
</div>
<script type="text/javascript" id="dxss_ASPxClientAppointmentToolTip">
ASPxClientAppointmentToolTip = _aspxCreateClass(ASPxClientToolTipBase, {
Initialize: function() {
ASPxClientUtils.AttachEventToElement(this.controls.buttonDiv, "click", _aspxCreateDelegate(this.OnButtonDivClick, this));
},
OnButtonDivClick: function(s,e) {
this.ShowAppointmentMenu(s);
}
});
</script>
@@ -0,0 +1,33 @@
'------------------------------------------------------------------------------
' <auto-generated>
' This code was generated by a tool.
'
' Changes to this file may cause incorrect behavior and will be lost if
' the code is regenerated.
' </auto-generated>
'------------------------------------------------------------------------------
Option Strict On
Option Explicit On
Partial Public Class UserForms_AppointmentToolTip
'''<summary>
'''buttonDiv control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents buttonDiv As Global.System.Web.UI.HtmlControls.HtmlGenericControl
'''<summary>
'''btnShowMenu control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents btnShowMenu As Global.DevExpress.Web.ASPxButton
End Class
@@ -0,0 +1,38 @@
Imports Microsoft.VisualBasic
Imports System
Imports System.Data
Imports System.Configuration
Imports System.Collections
Imports System.Web
Imports System.Web.Security
Imports System.Web.UI
Imports System.Web.UI.WebControls
Imports System.Web.UI.WebControls.WebParts
Imports System.Web.UI.HtmlControls
Imports DevExpress.Web.ASPxScheduler
Partial Public Class UserForms_AppointmentToolTip
Inherits ASPxSchedulerToolTipBase
Public Overrides ReadOnly Property ToolTipShowStem() As Boolean
Get
Return False
End Get
End Property
Public Overrides ReadOnly Property ClassName() As String
Get
Return "ASPxClientAppointmentToolTip"
End Get
End Property
Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
DevExpress.Web.ASPxWebControl.RegisterBaseScript(Page)
End Sub
Protected Overrides Sub OnLoad(ByVal e As EventArgs)
MyBase.OnLoad(e)
btnShowMenu.Image.Assign(GetSmartTagImage())
End Sub
Protected Overrides Function GetChildControls() As Control()
Dim controls() As Control = { buttonDiv}
Return controls
End Function
End Class
@@ -0,0 +1,73 @@
<%--
{************************************************************************************}
{ }
{ DO NOT MODIFY THIS FILE! }
{ }
{ It will be overwritten without prompting when a new version becomes }
{ available. All your changes will be lost. }
{ }
{ This file contains the default template and is required for the form }
{ rendering. Improper modifications may result in incorrect behavior of }
{ the appointment form. }
{ }
{ In order to create and use your own custom template, perform the following }
{ steps: }
{ 1. Save a copy of this file with a different name in another location. }
{ 2. Specify the file location as the 'OptionsForms.GotoDateFormTemplateUrl' }
{ property of the ASPxScheduler control. }
{ 3. If you need to display and process additional controls, you }
{ should accomplish steps 4-6; otherwise, go to step 7. }
{ 4. Create a class, derived from the GotoDateFormTemplateContainer, }
{ containing additional properties which correspond to your controls. }
{ This class definition can be located within a class file in the App_Code }
{ folder. }
{ 5. Replace GotoDateFormTemplateContainer references in the template page }
{ with the name of the class you've created in step 4. }
{ 6. Handle the GotoDateFormShowing event to create an instance of the }
{ template container class, defined in step 5, and specify it as the }
{ destination container instead of the default one. }
{ 7. Modify the overall appearance of the page and its layout. }
{ }
{************************************************************************************}
--%>
<%@ Control Language="vb" AutoEventWireup="true" Inherits="GotoDateForm" Codebehind="GotoDateForm.ascx.vb" %>
<%@ Register Assembly="DevExpress.Web.ASPxScheduler.v15.2, Version=15.2.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" Namespace="DevExpress.Web.ASPxScheduler" TagPrefix="dxwschs" %>
<%@ Register Assembly="DevExpress.Web.v15.2, Version=15.2.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" Namespace="DevExpress.Web"
TagPrefix="dxe" %>
<table style="width:100%; height:100%">
<tr>
<td>
<dxe:ASPxLabel ID="lblDate" runat="server" Text="Date:" AssociatedControlID="edtDate" />
</td>
<td style="width:100%">
<dxe:ASPxDateEdit ClientInstanceName="_dx" ID="edtDate" runat="server" Width="100%" Date='<%#(CType(Container, GotoDateFormTemplateContainer)).Date%>' />
</td>
</tr>
<tr>
<td>
<span style="white-space: nowrap;">
<dxe:ASPxLabel ID="lblView" runat="server" Text="Show in:" AssociatedControlID="cbView"></dxe:ASPxLabel>
</span>
</td>
<td style="width:100%">
<dxe:ASPxComboBox ClientInstanceName="_dx" ID="cbView" runat="server" Width="100%" DataSource='<%#(CType(Container, GotoDateFormTemplateContainer)).ViewsDataSource%>'></dxe:ASPxComboBox>
</td>
</tr>
<tr>
<td align="center" colspan="2" style="width:100%">
<table>
<tr>
<td>
<dxe:ASPxButton ID="btnOk" ClientInstanceName="_dx" runat="server" Text="OK" UseSubmitBehavior="false" AutoPostBack="false" EnableViewState="false" Width="91px" />
</td>
<td>
<dxe:ASPxButton ID="btnCancel" ClientInstanceName="_dx" runat="server" Text="Cancel" UseSubmitBehavior="false" AutoPostBack="false" EnableViewState="false"
Width="91px" CausesValidation="False" />
</td>
</tr>
</table>
</td>
</tr>
</table>
@@ -0,0 +1,69 @@
'------------------------------------------------------------------------------
' <auto-generated>
' This code was generated by a tool.
'
' Changes to this file may cause incorrect behavior and will be lost if
' the code is regenerated.
' </auto-generated>
'------------------------------------------------------------------------------
Option Strict On
Option Explicit On
Partial Public Class GotoDateForm
'''<summary>
'''lblDate control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents lblDate As Global.DevExpress.Web.ASPxLabel
'''<summary>
'''edtDate control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents edtDate As Global.DevExpress.Web.ASPxDateEdit
'''<summary>
'''lblView control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents lblView As Global.DevExpress.Web.ASPxLabel
'''<summary>
'''cbView control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents cbView As Global.DevExpress.Web.ASPxComboBox
'''<summary>
'''btnOk control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents btnOk As Global.DevExpress.Web.ASPxButton
'''<summary>
'''btnCancel control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents btnCancel As Global.DevExpress.Web.ASPxButton
End Class
@@ -0,0 +1,70 @@
'
'{************************************************************************************}
'{ }
'{ DO NOT MODIFY THIS FILE! }
'{ }
'{ It will be overwritten without prompting when a new version becomes }
'{ available. All your changes will be lost. }
'{ }
'{ This file contains the default template and is required for the form }
'{ rendering. Improper modifications may result in incorrect behavior of }
'{ the appointment form. }
'{ }
'{ In order to create and use your own custom template, perform the following }
'{ steps: }
'{ 1. Save a copy of this file with a different name in another location. }
'{ 2. Specify the file location as the 'OptionsForms.GotoDateFormTemplateUrl' }
'{ property of the ASPxScheduler control. }
'{ 3. If you need to display and process additional controls, you }
'{ should accomplish steps 4-6; otherwise, go to step 7. }
'{ 4. Create a class, derived from the GotoDateFormTemplateContainer, }
'{ containing additional properties which correspond to your controls. }
'{ This class definition can be located within a class file in the App_Code }
'{ folder. }
'{ 5. Replace GotoDateFormTemplateContainer references in the template page }
'{ with the name of the class you've created in step 4. }
'{ 6. Handle the GotoDateFormShowing event to create an instance of the }
'{ template container class, defined in step 5, and specify it as the }
'{ destination container instead of the default one. }
'{ 7. Modify the overall appearance of the page and its layout. }
'{ }
'{************************************************************************************}
'
Imports Microsoft.VisualBasic
Imports System
Imports DevExpress.Web
Imports DevExpress.Web.ASPxScheduler
Partial Public Class GotoDateForm
Inherits SchedulerFormControl
Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
'PrepareChildControls();
edtDate.Focus()
End Sub
Public Overrides Sub DataBind()
MyBase.DataBind()
Dim container As GotoDateFormTemplateContainer = CType(Parent, GotoDateFormTemplateContainer)
cbView.Value = container.ActiveViewType.ToString()
btnOk.ClientSideEvents.Click = container.ApplyHandler
btnCancel.ClientSideEvents.Click = container.CancelHandler
Dim scheduler As ASPxScheduler = container.Control
Dim actualSchedulerInstanceName As String = scheduler.ClientInstanceName
If String.IsNullOrEmpty(actualSchedulerInstanceName) Then
actualSchedulerInstanceName = scheduler.ClientID
End If
edtDate.ClientSideEvents.LostFocus = String.Format("function(s,e) {{" & ControlChars.CrLf & " var date = s.GetDate();" & ControlChars.CrLf & " if (date == null || date == false) {{" & ControlChars.CrLf & " var selectionInterval = {0}.GetSelectedInterval();" & ControlChars.CrLf & " var startDate = selectionInterval.GetStart();" & ControlChars.CrLf & " s.SetDate(startDate);" & ControlChars.CrLf & " }}" & ControlChars.CrLf & " }}", actualSchedulerInstanceName)
End Sub
Protected Overrides Function GetChildEditors() As ASPxEditBase()
Dim edits() As ASPxEditBase = { lblDate, edtDate, lblView, cbView }
Return edits
End Function
Protected Overrides Function GetChildButtons() As ASPxButton()
Dim buttons() As ASPxButton = { btnOk, btnCancel }
Return buttons
End Function
End Class
@@ -0,0 +1,84 @@
<%--
{************************************************************************************}
{ }
{ DO NOT MODIFY THIS FILE! }
{ }
{ It will be overwritten without prompting when a new version becomes }
{ available. All your changes will be lost. }
{ }
{ This file contains the default template and is required for the appointment }
{ rendering. Improper modifications may result in incorrect appearance of the }
{ appointment. }
{ }
{ In order to create and use your own custom template, perform the following }
{ steps: }
{ 1. Save a copy of this file with a different name in another location. }
{ 2. Add a Register tag in the .aspx page header for each template you use, }
{ as follows: <%@ Register Src="PathToTemplateFile" TagName="NameOfTemplate"}
{ TagPrefix="ShortNameOfTemplate" %> }
{ 3. In the .aspx page find the tags for different scheduler views within }
{ the ASPxScheduler control tag. Insert template tags into the tags }
{ for the views which should be customized. }
{ The template tag should satisfy the following pattern: }
{ <Templates> }
{ <HorizontalAppointmentTemplate> }
{ < ShortNameOfTemplate: NameOfTemplate runat="server"/> }
{ </HorizontalAppointmentTemplate> }
{ </Templates> }
{ where ShortNameOfTemplate, NameOfTemplate are the names of the }
{ registered templates, defined in step 2. }
{************************************************************************************}
--%>
<%@ Control Language="vb" AutoEventWireup="true" Inherits="HorizontalAppointmentTemplate" Codebehind="HorizontalAppointmentTemplate.ascx.vb" %>
<%@ Register Assembly="DevExpress.Web.ASPxScheduler.v15.2, Version=15.2.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" Namespace="DevExpress.Web.ASPxScheduler" TagPrefix="dxwschs" %>
<%@ Register Assembly="DevExpress.Web.v15.2, Version=15.2.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" Namespace="DevExpress.Web" TagPrefix="dxe" %>
<div id="appointmentDiv" runat="server" class='<%#(CType(Container, HorizontalAppointmentTemplateContainer)).Items.AppointmentStyle.CssClass%>'>
<table style="width:100%; height:100%;" cellpadding="0" cellspacing="0">
<tr>
<td runat="server" id="statusContainer" valign="top">
</td>
</tr>
<tr>
<td>
<table cellpadding="0" cellspacing="0" style="width:100%; padding-bottom:2px; padding-top:2px; padding-left:1px; padding-right:1px;">
<tr valign="middle" align="left">
<td>
<asp:Image runat="server" ID="imgStartContinueArrow" Visible='<%#(CType(Container, HorizontalAppointmentTemplateContainer)).Items.StartContinueArrow.Visible%>'></asp:Image>
</td>
<td>
<dxe:ASPxLabel runat="server" EnableViewState="false" EncodeHtml="true" ID="lblStartContinueText" Text='<%#(CType(Container, HorizontalAppointmentTemplateContainer)).Items.StartContinueText.Text%>' Visible='<%#(CType(Container, HorizontalAppointmentTemplateContainer)).Items.StartContinueText.Visible%>'> </dxe:ASPxLabel>
</td>
<td runat="server" id="startTimeClockContainer"> </td>
<td>
<dxe:ASPxLabel runat="server" EnableViewState="false" EncodeHtml="true" ID="lblStartTime" Text='<%#(CType(Container, HorizontalAppointmentTemplateContainer)).Items.StartTimeText.Text%>' Visible='<%#(CType(Container, HorizontalAppointmentTemplateContainer)).Items.StartTimeText.Visible%>' ></dxe:ASPxLabel>
</td>
<td style="width: 100%;" align="center">
<table cellpadding="1" cellspacing="1" style="vertical-align: middle;">
<tr>
<td>
<table id="imageContainer" runat="server" cellpadding="0" cellspacing="0" style="vertical-align: middle;">
</table>
</td>
<td align="center">
<dxe:ASPxLabel runat="server" EnableViewState="false" EncodeHtml="true" ID="lblTitle" Text='<%#(CType(Container, HorizontalAppointmentTemplateContainer)).Items.Title.Text%>'></dxe:ASPxLabel>
</td>
</tr>
</table>
</td>
<td runat="server" id="endTimeClockContainer">
</td>
<td>
<dxe:ASPxLabel runat="server" EnableViewState="false" EncodeHtml="true" ID="lblEndTime" Text='<%#(CType(Container, HorizontalAppointmentTemplateContainer)).Items.EndTimeText.Text%>' Visible='<%#(CType(Container, HorizontalAppointmentTemplateContainer)).Items.EndTimeText.Visible%>' ></dxe:ASPxLabel>
</td>
<td>
<dxe:ASPxLabel runat="server" EnableViewState="false" EncodeHtml="true" ID="lblEndContinueText" Text='<%#(CType(Container, HorizontalAppointmentTemplateContainer)).Items.EndContinueText.Text%>' Visible='<%#(CType(Container, HorizontalAppointmentTemplateContainer)).Items.EndContinueText.Visible%>'></dxe:ASPxLabel>
</td>
<td>
<asp:Image runat="server" ID="imgEndContinueArrow" Visible='<%#(CType(Container, HorizontalAppointmentTemplateContainer)).Items.EndContinueArrow.Visible%>'></asp:Image>
</td>
</tr>
</table>
</td>
</tr>
</table>
</div>
@@ -0,0 +1,123 @@
'------------------------------------------------------------------------------
' <auto-generated>
' This code was generated by a tool.
'
' Changes to this file may cause incorrect behavior and will be lost if
' the code is regenerated.
' </auto-generated>
'------------------------------------------------------------------------------
Option Strict On
Option Explicit On
Partial Public Class HorizontalAppointmentTemplate
'''<summary>
'''appointmentDiv control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents appointmentDiv As Global.System.Web.UI.HtmlControls.HtmlGenericControl
'''<summary>
'''statusContainer control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents statusContainer As Global.System.Web.UI.HtmlControls.HtmlTableCell
'''<summary>
'''imgStartContinueArrow control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents imgStartContinueArrow As Global.System.Web.UI.WebControls.Image
'''<summary>
'''lblStartContinueText control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents lblStartContinueText As Global.DevExpress.Web.ASPxLabel
'''<summary>
'''startTimeClockContainer control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents startTimeClockContainer As Global.System.Web.UI.HtmlControls.HtmlTableCell
'''<summary>
'''lblStartTime control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents lblStartTime As Global.DevExpress.Web.ASPxLabel
'''<summary>
'''imageContainer control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents imageContainer As Global.System.Web.UI.HtmlControls.HtmlTable
'''<summary>
'''lblTitle control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents lblTitle As Global.DevExpress.Web.ASPxLabel
'''<summary>
'''endTimeClockContainer control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents endTimeClockContainer As Global.System.Web.UI.HtmlControls.HtmlTableCell
'''<summary>
'''lblEndTime control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents lblEndTime As Global.DevExpress.Web.ASPxLabel
'''<summary>
'''lblEndContinueText control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents lblEndContinueText As Global.DevExpress.Web.ASPxLabel
'''<summary>
'''imgEndContinueArrow control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents imgEndContinueArrow As Global.System.Web.UI.WebControls.Image
End Class
@@ -0,0 +1,87 @@
'
'{************************************************************************************}
'{ }
'{ DO NOT MODIFY THIS FILE! }
'{ }
'{ It will be overwritten without prompting when a new version becomes }
'{ available. All your changes will be lost. }
'{ }
'{ This file contains the default template and is required for the appointment }
'{ rendering. Improper modifications may result in incorrect appearance of the }
'{ appointment. }
'{ }
'{ In order to create and use your own custom template, perform the following }
'{ steps: }
'{ 1. Save a copy of this file with a different name in another location. }
'{ 2. Add a Register tag in the .aspx page header for each template you use, }
'{ as follows: <%@ Register Src="PathToTemplateFile" TagName="NameOfTemplate"}
'{ TagPrefix="ShortNameOfTemplate" %> }
'{ 3. In the .aspx page find the tags for different scheduler views within }
'{ the ASPxScheduler control tag. Insert template tags into the tags }
'{ for the views which should be customized. }
'{ The template tag should satisfy the following pattern: }
'{ <Templates> }
'{ <HorizontalAppointmentTemplate> }
'{ < ShortNameOfTemplate: NameOfTemplate runat="server"/> }
'{ </HorizontalAppointmentTemplate> }
'{ </Templates> }
'{ where ShortNameOfTemplate, NameOfTemplate are the names of the }
'{ registered templates, defined in step 2. }
'{************************************************************************************}
'
Imports Microsoft.VisualBasic
Imports System
Imports System.Web.UI.WebControls
Imports System.Web.UI.HtmlControls
Imports DevExpress.Web.ASPxScheduler
Imports DevExpress.Web.ASPxScheduler.Drawing
Partial Public Class HorizontalAppointmentTemplate
Inherits System.Web.UI.UserControl
Private ReadOnly Property Container() As HorizontalAppointmentTemplateContainer
Get
Return CType(Parent, HorizontalAppointmentTemplateContainer)
End Get
End Property
Private ReadOnly Property Items() As HorizontalAppointmentTemplateItems
Get
Return Container.Items
End Get
End Property
Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
appointmentDiv.Style.Value = Items.AppointmentStyle.GetStyleAttributes(Page).Value
lblTitle.ControlStyle.MergeWith(Items.Title.Style)
lblStartContinueText.ControlStyle.MergeWith(Items.StartContinueText.Style)
lblEndContinueText.ControlStyle.MergeWith(Items.EndContinueText.Style)
LayoutAppointmentImages()
statusContainer.Controls.Add(Items.StatusControl)
startTimeClockContainer.Controls.Add(Items.StartTimeClock)
endTimeClockContainer.Controls.Add(Items.EndTimeClock)
End Sub
Private Sub LayoutAppointmentImages()
Dim count As Integer = Items.Images.Count
Dim row As New HtmlTableRow()
row.Cells.Add(New HtmlTableCell())
For i As Integer = 0 To count - 1
Dim cell As New HtmlTableCell()
AddImage(cell, Items.Images(i))
row.Cells.Add(cell)
Next i
imageContainer.Rows.Add(row)
Items.StartContinueArrow.ImageProperties.AssignToControl(imgStartContinueArrow, False)
Items.EndContinueArrow.ImageProperties.AssignToControl(imgEndContinueArrow, False)
End Sub
Private Sub AddImage(ByVal targetCell As HtmlTableCell, ByVal imageItem As AppointmentImageItem)
Dim image As New Image()
imageItem.ImageProperties.AssignToControl(image, False)
targetCell.Controls.Add(image)
End Sub
End Class
@@ -0,0 +1,67 @@
<%--
{************************************************************************************}
{ }
{ DO NOT MODIFY THIS FILE! }
{ }
{ It will be overwritten without prompting when a new version becomes }
{ available. All your changes will be lost. }
{ }
{ This file contains the default template and is required for the appointment }
{ rendering. Improper modifications may result in incorrect appearance of the }
{ appointment. }
{ }
{ In order to create and use your own custom template, perform the following }
{ steps: }
{ 1. Save a copy of this file with a different name in another location. }
{ 2. Add a Register tag in the .aspx page header for each template you use, }
{ as follows: <%@ Register Src="PathToTemplateFile" TagName="NameOfTemplate"}
{ TagPrefix="ShortNameOfTemplate" %> }
{ 3. In the .aspx page find the tags for different scheduler views within }
{ the ASPxScheduler control tag. Insert template tags into the tags }
{ for the views which should be customized. }
{ The template tag should satisfy the following pattern: }
{ <Templates> }
{ <HorizontalSameDayAppointmentTemplate> }
{ <ShortNameOfTemplate: NameOfTemplate runat="server"/> }
{ </HorizontalSameDayAppointmentTemplate> }
{ </Templates> }
{ where ShortNameOfTemplate, NameOfTemplate are the names of the }
{ registered templates, defined in step 2. }
{************************************************************************************}
--%>
<%@ Control Language="vb" AutoEventWireup="true" Inherits="HorizontalSameDayAppointmentTemplate" Codebehind="HorizontalSameDayAppointmentTemplate.ascx.vb" %>
<%@ Register Assembly="DevExpress.Web.ASPxScheduler.v15.2, Version=15.2.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" Namespace="DevExpress.Web.ASPxScheduler" TagPrefix="dxwschs" %>
<%@ Register Assembly="DevExpress.Web.v15.2, Version=15.2.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" Namespace="DevExpress.Web" TagPrefix="dxe" %>
<div id="appointmentDiv" runat="server" class='<%#(CType(Container, HorizontalAppointmentTemplateContainer)).Items.AppointmentStyle.CssClass%>'>
<table width="100%" cellpadding="0" cellspacing="0">
<tr>
<td runat="server" id="statusContainer" valign="top">
</td>
</tr>
<tr>
<td>
<table cellpadding="1" cellspacing="0" width="100%">
<tr valign="middle" align="left">
<td runat="server" id="startTimeClockContainer">
</td>
<td>
<dxe:ASPxLabel runat="server" EnableViewState="false" EncodeHtml="true" ID="lblStartTime" Text='<%#(CType(Container, HorizontalAppointmentTemplateContainer)).Items.StartTimeText.Text%>' Visible='<%#(CType(Container, HorizontalAppointmentTemplateContainer)).Items.StartTimeText.Visible%>'></dxe:ASPxLabel>
</td>
<td runat="server" id="endTimeClockContainer">
</td>
<td>
<dxe:ASPxLabel runat="server" EnableViewState="false" EncodeHtml="true" ID="lblEndTime" Text='<%#(CType(Container, HorizontalAppointmentTemplateContainer)).Items.EndTimeText.Text%>' Visible='<%#(CType(Container, HorizontalAppointmentTemplateContainer)).Items.EndTimeText.Visible%>'></dxe:ASPxLabel>
</td>
<td>
<table id="imageContainer" runat="server" cellpadding="1" cellspacing="0" style="vertical-align: middle;">
</table>
</td>
<td style="width: 100%">
<dxe:ASPxLabel runat="server" EnableViewState="false" EncodeHtml="true" ID="lblTitle" Text='<%#(CType(Container, HorizontalAppointmentTemplateContainer)).Items.Title.Text%>'> </dxe:ASPxLabel>
</td>
</tr>
</table>
</td>
</tr>
</table>
</div>
@@ -0,0 +1,87 @@
'------------------------------------------------------------------------------
' <auto-generated>
' This code was generated by a tool.
'
' Changes to this file may cause incorrect behavior and will be lost if
' the code is regenerated.
' </auto-generated>
'------------------------------------------------------------------------------
Option Strict On
Option Explicit On
Partial Public Class HorizontalSameDayAppointmentTemplate
'''<summary>
'''appointmentDiv control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents appointmentDiv As Global.System.Web.UI.HtmlControls.HtmlGenericControl
'''<summary>
'''statusContainer control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents statusContainer As Global.System.Web.UI.HtmlControls.HtmlTableCell
'''<summary>
'''startTimeClockContainer control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents startTimeClockContainer As Global.System.Web.UI.HtmlControls.HtmlTableCell
'''<summary>
'''lblStartTime control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents lblStartTime As Global.DevExpress.Web.ASPxLabel
'''<summary>
'''endTimeClockContainer control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents endTimeClockContainer As Global.System.Web.UI.HtmlControls.HtmlTableCell
'''<summary>
'''lblEndTime control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents lblEndTime As Global.DevExpress.Web.ASPxLabel
'''<summary>
'''imageContainer control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents imageContainer As Global.System.Web.UI.HtmlControls.HtmlTable
'''<summary>
'''lblTitle control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents lblTitle As Global.DevExpress.Web.ASPxLabel
End Class
@@ -0,0 +1,84 @@
'
'{************************************************************************************}
'{ }
'{ DO NOT MODIFY THIS FILE! }
'{ }
'{ It will be overwritten without prompting when a new version becomes }
'{ available. All your changes will be lost. }
'{ }
'{ This file contains the default template and is required for the appointment }
'{ rendering. Improper modifications may result in incorrect appearance of the }
'{ appointment. }
'{ }
'{ In order to create and use your own custom template, perform the following }
'{ steps: }
'{ 1. Save a copy of this file with a different name in another location. }
'{ 2. Add a Register tag in the .aspx page header for each template you use, }
'{ as follows: <%@ Register Src="PathToTemplateFile" TagName="NameOfTemplate"}
'{ TagPrefix="ShortNameOfTemplate" %> }
'{ 3. In the .aspx page find the tags for different scheduler views within }
'{ the ASPxScheduler control tag. Insert template tags into the tags }
'{ for the views which should be customized. }
'{ The template tag should satisfy the following pattern: }
'{ <Templates> }
'{ <HorizontalSameDayAppointmentTemplate> }
'{ < ShortNameOfTemplate: NameOfTemplate runat="server"/> }
'{ </HorizontalSameDayAppointmentTemplate> }
'{ </Templates> }
'{ where ShortNameOfTemplate, NameOfTemplate are the names of the }
'{ registered templates, defined in step 2. }
'{************************************************************************************}
'
Imports Microsoft.VisualBasic
Imports System
Imports System.Web.UI.WebControls
Imports System.Web.UI.HtmlControls
Imports DevExpress.Web.ASPxScheduler
Imports DevExpress.Web.ASPxScheduler.Drawing
Partial Public Class HorizontalSameDayAppointmentTemplate
Inherits System.Web.UI.UserControl
Private ReadOnly Property Container() As HorizontalAppointmentTemplateContainer
Get
Return CType(Parent, HorizontalAppointmentTemplateContainer)
End Get
End Property
Private ReadOnly Property Items() As HorizontalAppointmentTemplateItems
Get
Return Container.Items
End Get
End Property
Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
appointmentDiv.Style.Value = Items.AppointmentStyle.GetStyleAttributes(Page).Value
lblStartTime.ControlStyle.MergeWith(Items.StartTimeText.Style)
lblEndTime.ControlStyle.MergeWith(Items.EndTimeText.Style)
lblTitle.ControlStyle.MergeWith(Items.Title.Style)
LayoutAppointmentImages()
statusContainer.Controls.Add(Container.Items.StatusControl)
startTimeClockContainer.Controls.Add(Container.Items.StartTimeClock)
endTimeClockContainer.Controls.Add(Container.Items.EndTimeClock)
End Sub
Private Sub LayoutAppointmentImages()
Dim count As Integer = Items.Images.Count
Dim row As New HtmlTableRow()
row.Cells.Add(New HtmlTableCell())
For i As Integer = 0 To count - 1
Dim cell As New HtmlTableCell()
AddImage(cell, Items.Images(i))
row.Cells.Add(cell)
Next i
imageContainer.Rows.Add(row)
End Sub
Private Sub AddImage(ByVal targetCell As HtmlTableCell, ByVal imageItem As AppointmentImageItem)
Dim image As New Image()
imageItem.ImageProperties.AssignToControl(image, False)
targetCell.Controls.Add(image)
End Sub
End Class
@@ -0,0 +1,80 @@
<%--
{************************************************************************************}
{ }
{ DO NOT MODIFY THIS FILE! }
{ }
{ It will be overwritten without prompting when a new version becomes }
{ available. All your changes will be lost. }
{ }
{ This file contains the default template and is required for the form }
{ rendering. Improper modifications may result in incorrect behavior of }
{ the appointment form. }
{ }
{ In order to create and use your own custom template, perform the following }
{ steps: }
{ 1. Save a copy of this file with a different name in another location. }
{ 2. Specify the file location as the }
{ 'OptionsForms.AppointmentInplaceEditorFormTemplateUrl' }
{ property of the ASPxScheduler control. }
{ 3. If you need custom fields to be displayed and processed, you should }
{ accomplish steps 4-9; otherwise, go to step 10. }
{ 4. Create a class, derived from the }
{ AppointmentInplaceEditorTemplateContainer, containing custom properties. }
{ This class definition can be located within a class file in the App_Code }
{ folder. }
{ 5. Replace AppointmentInplaceEditorTemplateContainer references in the }
{ template page with the name of the class you've created in step 4. }
{ 6. Handle the AppointmentInplaceEditorFormShowing event to create an }
{ instance of the template container class, defined in step 4, and specify }
{ it as the destination container instead of the default one. }
{ 7. Define a class, which inherits from the }
{ DevExpress.Web.ASPxScheduler.Internal.AppointmentFormController. }
{ This class provides data exchange between the form and the appointment. }
{ You should override ApplyCustomFieldsValues() method of the base class. }
{ 8. Define a class, which inherits from the }
{ DevExpress.Web.ASPxScheduler.Internal.AppointmentFormSaveCallbackCommand. }
{ This class creates an instance of the AppointmentFormController inheritor }
{ (defined in step 7) via the CreateAppointmentFormController method and }
{ overrides the AssignControllerValues method of the base class to collect }
{ user data from the form's editors. }
{ 9. Handle the BeforeExecuteCallbackCommand event. The event handler code }
{ should create an instance of the class defined in step 8, and specify it }
{ as the destination command instead of the default one. }
{ 10. Modify the overall appearance of the page and its layout. }
{ }
{************************************************************************************}--%>
<%@ Control Language="vb" AutoEventWireup="true" Inherits="InplaceEditor" Codebehind="InplaceEditor.ascx.vb" %>
<%@ Register Assembly="DevExpress.Web.ASPxScheduler.v15.2, Version=15.2.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" Namespace="DevExpress.Web.ASPxScheduler" TagPrefix="dxwschs" %>
<%@ Register Assembly="DevExpress.Web.ASPxScheduler.v15.2, Version=15.2.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" Namespace="DevExpress.Web.ASPxScheduler.Controls"
TagPrefix="cc1" %>
<%@ Register Assembly="DevExpress.Web.v15.2, Version=15.2.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" Namespace="DevExpress.Web"
TagPrefix="dxe" %>
<table cellpadding="2"; cellspacing="0" style="width:100%; height:100%">
<tr>
<td style="width:100%" >
<dxe:ASPxMemo ClientInstanceName="_dx" ID="memSubject" runat="server" Width="100%" Rows="5" Text='<%#(CType(Container, AppointmentInplaceEditorTemplateContainer)).Appointment.Subject%>'>
</dxe:ASPxMemo>
</td>
<td valign="top" >
<div>
<cc1:NoBorderButton runat="server" ClientInstanceName="_dx" ID="btnSave" Width="19px" Height="19px" ToolTip="Save"
Image-IsResourcePng="True">
</cc1:NoBorderButton>
</div>
<div style="padding-top:1px;">
<cc1:NoBorderButton runat="server" ClientInstanceName="_dx" ID="btnCancel" Width="19px" Height="19px" ToolTip="Cancel"
CausesValidation="False" Image-IsResourcePng="True">
</cc1:NoBorderButton>
</div>
<div style="padding-top:6px;">
<cc1:NoBorderButton runat="server" ClientInstanceName="_dx" ID="btnEditForm" Width="19px" Height="19px" ToolTip="Open Edit Form..."
CausesValidation="False" Image-IsResourcePng="True">
</cc1:NoBorderButton>
</div>
</td>
</tr>
</table>
@@ -0,0 +1,51 @@
'------------------------------------------------------------------------------
' <auto-generated>
' This code was generated by a tool.
'
' Changes to this file may cause incorrect behavior and will be lost if
' the code is regenerated.
' </auto-generated>
'------------------------------------------------------------------------------
Option Strict On
Option Explicit On
Partial Public Class InplaceEditor
'''<summary>
'''memSubject control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents memSubject As Global.DevExpress.Web.ASPxMemo
'''<summary>
'''btnSave control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents btnSave As Global.DevExpress.Web.ASPxScheduler.Controls.NoBorderButton
'''<summary>
'''btnCancel control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents btnCancel As Global.DevExpress.Web.ASPxScheduler.Controls.NoBorderButton
'''<summary>
'''btnEditForm control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents btnEditForm As Global.DevExpress.Web.ASPxScheduler.Controls.NoBorderButton
End Class
@@ -0,0 +1,82 @@
'
'{************************************************************************************}
'{ }
'{ DO NOT MODIFY THIS FILE! }
'{ }
'{ It will be overwritten without prompting when a new version becomes }
'{ available. All your changes will be lost. }
'{ }
'{ This file contains the default template and is required for the form }
'{ rendering. Improper modifications may result in incorrect behavior of }
'{ the appointment form. }
'{ }
'{ In order to create and use your own custom template, perform the following }
'{ steps: }
'{ 1. Save a copy of this file with a different name in another location. }
'{ 2. Specify the file location as the }
'{ 'OptionsForms.AppointmentInplaceEditorFormTemplateUrl' }
'{ property of the ASPxScheduler control. }
'{ 3. If you need custom fields to be displayed and processed, you should }
'{ accomplish steps 4-9; otherwise, go to step 10. }
'{ 4. Create a class, derived from the }
'{ AppointmentInplaceEditorTemplateContainer, containing custom properties. }
'{ This class definition can be located within a class file in the App_Code }
'{ folder. }
'{ 5. Replace AppointmentInplaceEditorTemplateContainer references in the }
'{ template page with the name of the class you've created in step 4. }
'{ 6. Handle the AppointmentInplaceEditorFormShowing event to create an }
'{ instance of the template container class, defined in step 4, and specify }
'{ it as the destination container instead of the default one. }
'{ 7. Define a class, which inherits from the }
'{ DevExpress.Web.ASPxScheduler.Internal.AppointmentFormController. }
'{ This class provides data exchange between the form and the appointment. }
'{ You should override ApplyCustomFieldsValues() method of the base class. }
'{ 8. Define a class, which inherits from the }
'{ DevExpress.Web.ASPxScheduler.Internal.AppointmentFormSaveCallbackCommand. }
'{ This class creates an instance of the AppointmentFormController inheritor }
'{ (defined in step 7) via the CreateAppointmentFormController method and }
'{ overrides the AssignControllerValues method of the base class to collect }
'{ user data from the form's editors. }
'{ 9. Handle the BeforeExecuteCallbackCommand event. The event handler code }
'{ should create an instance of the class defined in step 8, and specify it }
'{ as the destination command instead of the default one. }
'{ 10. Modify the overall appearance of the page and its layout. }
'{ }
'{************************************************************************************}
'
Imports Microsoft.VisualBasic
Imports System
Imports DevExpress.Web.ASPxScheduler
Imports DevExpress.Web
Imports DevExpress.Web.Internal
Partial Public Class InplaceEditor
Inherits InplaceEditorBaseFormControl
Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
'PrepareChildControls();
memSubject.Focus()
End Sub
Public Overrides Sub DataBind()
MyBase.DataBind()
Dim container As AppointmentInplaceEditorTemplateContainer = CType(Parent, AppointmentInplaceEditorTemplateContainer)
btnCancel.Image.Assign(container.Control.Images.GetInplaceEditorCancelImage(Page))
btnSave.Image.Assign(container.Control.Images.GetInplaceEditorSaveImage(Page))
btnEditForm.Image.Assign(container.Control.Images.GetInplaceEditorEditFormImage(Page))
btnSave.ClientSideEvents.Click = container.SaveHandler
btnCancel.ClientSideEvents.Click = container.CancelHandler
btnEditForm.ClientSideEvents.Click = container.EditFormHandler
End Sub
Protected Overrides Function GetChildEditors() As ASPxEditBase()
Dim edits() As ASPxEditBase = { memSubject }
Return edits
End Function
Protected Overrides Function GetChildButtons() As ASPxButton()
Dim buttons() As ASPxButton = { btnSave, btnCancel, btnEditForm }
Return buttons
End Function
End Class
@@ -0,0 +1,75 @@
<%--
{************************************************************************************}
{ }
{ DO NOT MODIFY THIS FILE! }
{ }
{ It will be overwritten without prompting when a new version becomes }
{ available. All your changes will be lost. }
{ }
{ This file contains the default template and is required for the form }
{ rendering. Improper modifications may result in incorrect behavior of }
{ the appointment form. }
{ }
{ In order to create and use your own custom template, perform the following }
{ steps: }
{ 1. Save a copy of this file with a different name in another location. }
{ 2. Specify the file location as the }
{ 'OptionsForms.RecurrentAppointmentDeleteFormTemplateUrl' }
{ property of the ASPxScheduler control. }
{ 3. If you need to display and process additional controls, you }
{ should accomplish steps 4-6; otherwise, go to step 7. }
{ 4. Create a class, derived from the }
{ RecurrentAppointmentDeleteFormTemplateContainer, }
{ containing additional properties which correspond to your controls. }
{ This class definition can be located within a class file in the App_Code }
{ folder. }
{ 5. Replace RecurrentAppointmentDeleteFormTemplateContainer references in the }
{ template page with the name of the class you've created in step 4. }
{ 6. Handle the RecurrentAppointmentDeleteFormShowing event to create an }
{ instance of the template container class, defined in step 5, and specify }
{ it as the destination container instead of the default one. }
{ 7. Modify the overall appearance of the page and its layout. }
{ }
{************************************************************************************}
--%>
<%@ Control Language="vb" AutoEventWireup="true" Inherits="RecurrentAppointmentDeleteForm" Codebehind="RecurrentAppointmentDeleteForm.ascx.vb" %>
<%@ Register Assembly="DevExpress.Web.ASPxScheduler.v15.2, Version=15.2.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" Namespace="DevExpress.Web.ASPxScheduler" TagPrefix="dxwschs" %>
<%@ Register Assembly="DevExpress.Web.v15.2, Version=15.2.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" Namespace="DevExpress.Web" TagPrefix="dxe" %>
<table style="width:100%; height:100%">
<tr>
<td rowspan="2" style="vertical-align:top;">
<dxe:ASPxImage id="imgWarning" runat="server" EnableViewState="False">
</dxe:ASPxImage>
</td>
<td style="width:100%;">
<dxe:ASPxLabel ID="lblConfirm" runat="server" Text='<%#"Do you want to delete all occurrences of the recurring appointment """ & (CType(Container, DevExpress.Web.ASPxScheduler.RecurrentAppointmentDeleteFormTemplateContainer)).Appointment.Subject & """, or just this one?"%>'/>
</td>
</tr>
<tr>
<td style="width:100%;">
<dxe:ASPxRadioButtonList ID="rbAction" runat="server" ValueType="System.Int32" SelectedIndex="0">
<Border BorderStyle="None" />
<Items>
<dxe:ListEditItem Text="The series" Value="1" />
<dxe:ListEditItem Text="This occurrence" Value="2" />
</Items>
</dxe:ASPxRadioButtonList>
</td>
</tr>
<tr>
<td align="center" style="width:100%" colspan="2">
<table>
<tr>
<td>
<dxe:ASPxButton ID="btnOk" ClientInstanceName="_dx" runat="server" Text="OK" UseSubmitBehavior="false" AutoPostBack="false" EnableViewState="false" Width="91px" />
</td>
<td>
<dxe:ASPxButton ID="btnCancel" ClientInstanceName="_dx" runat="server" Text="Cancel" UseSubmitBehavior="false" AutoPostBack="false" EnableViewState="false"
Width="91px" CausesValidation="False" />
</td>
</tr>
</table>
</td>
</tr>
</table>
@@ -0,0 +1,60 @@
'------------------------------------------------------------------------------
' <auto-generated>
' This code was generated by a tool.
'
' Changes to this file may cause incorrect behavior and will be lost if
' the code is regenerated.
' </auto-generated>
'------------------------------------------------------------------------------
Option Strict On
Option Explicit On
Partial Public Class RecurrentAppointmentDeleteForm
'''<summary>
'''imgWarning control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents imgWarning As Global.DevExpress.Web.ASPxImage
'''<summary>
'''lblConfirm control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents lblConfirm As Global.DevExpress.Web.ASPxLabel
'''<summary>
'''rbAction control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents rbAction As Global.DevExpress.Web.ASPxRadioButtonList
'''<summary>
'''btnOk control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents btnOk As Global.DevExpress.Web.ASPxButton
'''<summary>
'''btnCancel control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents btnCancel As Global.DevExpress.Web.ASPxButton
End Class
@@ -0,0 +1,71 @@
'
'{************************************************************************************}
'{ }
'{ DO NOT MODIFY THIS FILE! }
'{ }
'{ It will be overwritten without prompting when a new version becomes }
'{ available. All your changes will be lost. }
'{ }
'{ This file contains the default template and is required for the form }
'{ rendering. Improper modifications may result in incorrect behavior of }
'{ the appointment form. }
'{ }
'{ In order to create and use your own custom template, perform the following }
'{ steps: }
'{ 1. Save a copy of this file with a different name in another location. }
'{ 2. Specify the file location as the }
'{ 'OptionsForms.RecurrentAppointmentDeleteFormTemplateUrl' }
'{ property of the ASPxScheduler control. }
'{ 3. If you need to display and process additional controls, you }
'{ should accomplish steps 4-6; otherwise, go to step 7. }
'{ 4. Create a class, derived from the }
'{ RecurrentAppointmentDeleteFormTemplateContainer, }
'{ containing additional properties which correspond to your controls. }
'{ This class definition can be located within a class file in the App_Code }
'{ folder. }
'{ 5. Replace RecurrentAppointmentDeleteFormTemplateContainer references in the }
'{ template page with the name of the class you've created in step 4. }
'{ 6. Handle the RecurrentAppointmentDeleteFormShowing event to create an }
'{ instance of the template container class, defined in step 5, and specify }
'{ it as the destination container instead of the default one. }
'{ 7. Modify the overall appearance of the page and its layout. }
'{ }
'{************************************************************************************}
'
Imports Microsoft.VisualBasic
Imports System
Imports DevExpress.Web.ASPxScheduler
Imports DevExpress.Web
Partial Public Class RecurrentAppointmentDeleteForm
Inherits SchedulerFormControl
Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
End Sub
Public Overrides Sub DataBind()
MyBase.DataBind()
Dim container As RecurrentAppointmentDeleteFormTemplateContainer = CType(Parent, RecurrentAppointmentDeleteFormTemplateContainer)
Dim imageProperties As ImageProperties = container.Control.Images.GetWarningImage(Me.Page)
AssignImageProperties(imgWarning, imageProperties)
btnOk.ClientSideEvents.Click = container.ApplyHandler
btnCancel.ClientSideEvents.Click = container.CancelHandler
End Sub
Private Sub AssignImageProperties(ByVal image As ASPxImage, ByVal imageProperties As ImageProperties)
image.ImageUrl = EmptyImageProperties.GetGlobalEmptyImage(Me.Page).Url
image.CssClass = imageProperties.SpriteProperties.CssClass
image.Width = imageProperties.Width
image.Height = imageProperties.Height
image.SpriteLeft = imageProperties.SpriteProperties.Left
image.SpriteTop = imageProperties.SpriteProperties.Top
End Sub
Protected Overrides Function GetChildEditors() As ASPxEditBase()
Dim edits() As ASPxEditBase = { lblConfirm, rbAction }
Return edits
End Function
Protected Overrides Function GetChildButtons() As ASPxButton()
Dim buttons() As ASPxButton = { btnOk, btnCancel }
Return buttons
End Function
End Class
@@ -0,0 +1,75 @@
<%--
{************************************************************************************}
{ }
{ DO NOT MODIFY THIS FILE! }
{ }
{ It will be overwritten without prompting when a new version becomes }
{ available. All your changes will be lost. }
{ }
{ This file contains the default template and is required for the form }
{ rendering. Improper modifications may result in incorrect behavior of }
{ the appointment form. }
{ }
{ In order to create and use your own custom template, perform the following }
{ steps: }
{ 1. Save a copy of this file with a different name in another location. }
{ 2. Specify the file location as the }
{ 'OptionsForms.RecurrentAppointmentEditFormTemplateUrl' }
{ property of the ASPxScheduler control. }
{ 3. If you need to display and process additional controls, you }
{ should accomplish steps 4-6; otherwise, go to step 7. }
{ 4. Create a class, derived from the }
{ RecurrentAppointmentEditFormTemplateContainer, }
{ containing additional properties which correspond to your controls. }
{ This class definition can be located within a class file in the App_Code }
{ folder. }
{ 5. Replace RecurrentAppointmentEditFormTemplateContainer references in the }
{ template page with the name of the class you've created in step 4. }
{ 6. Handle the RecurrentAppointmentEditFormShowing event to create an }
{ instance of the template container class, defined in step 5, and specify }
{ it as the destination container instead of the default one. }
{ 7. Modify the overall appearance of the page and its layout. }
{ }
{************************************************************************************}
--%>
<%@ Control Language="vb" AutoEventWireup="true" Inherits="RecurrentAppointmentEditForm" Codebehind="RecurrentAppointmentEditForm.ascx.vb" %>
<%@ Register Assembly="DevExpress.Web.ASPxScheduler.v15.2, Version=15.2.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" Namespace="DevExpress.Web.ASPxScheduler" TagPrefix="dxwschs" %>
<%@ Register Assembly="DevExpress.Web.v15.2, Version=15.2.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" Namespace="DevExpress.Web" TagPrefix="dxe" %>
<table style="width:100%; height:100%">
<tr>
<td rowspan="2" style="vertical-align:top;">
<dxe:ASPxImage id="Image" runat="server" EnableViewState="False" ImageUrl='<%#Page.ClientScript.GetWebResourceUrl(GetType(ASPxScheduler), "Images.StatusInfo.Info.png")%>' Width="48px" Height="48px" IsPng="true">
</dxe:ASPxImage>
</td>
<td style="width:100%;">
<dxe:ASPxLabel ID="lblConfirm" runat="server" Text='<%#"""" & (CType(Container, DevExpress.Web.ASPxScheduler.RecurrentAppointmentEditFormTemplateContainer)).Appointment.Subject & """ is a recurring appointment. Do you want to open only this occurrence or the series?"%>'/>
</td>
</tr>
<tr>
<td style="width:100%;">
<dxe:ASPxRadioButtonList ID="rbAction" runat="server" ValueType="System.Int32" SelectedIndex="0">
<Border BorderStyle="None" />
<Items>
<dxe:ListEditItem Text="The series" Value="1" />
<dxe:ListEditItem Text="This occurrence" Value="2" />
</Items>
</dxe:ASPxRadioButtonList>
</td>
</tr>
<tr>
<td align="center" style="width:100%" colspan="2">
<table>
<tr>
<td>
<dxe:ASPxButton ID="btnOk" ClientInstanceName="_dx" runat="server" Text="OK" UseSubmitBehavior="false" AutoPostBack="false" EnableViewState="false" Width="91px" />
</td>
<td>
<dxe:ASPxButton ID="btnCancel" ClientInstanceName="_dx" runat="server" Text="Cancel" UseSubmitBehavior="false" AutoPostBack="false" EnableViewState="false"
Width="91px" CausesValidation="False" />
</td>
</tr>
</table>
</td>
</tr>
</table>
@@ -0,0 +1,60 @@
'------------------------------------------------------------------------------
' <auto-generated>
' This code was generated by a tool.
'
' Changes to this file may cause incorrect behavior and will be lost if
' the code is regenerated.
' </auto-generated>
'------------------------------------------------------------------------------
Option Strict On
Option Explicit On
Partial Public Class RecurrentAppointmentEditForm
'''<summary>
'''Image control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents Image As Global.DevExpress.Web.ASPxImage
'''<summary>
'''lblConfirm control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents lblConfirm As Global.DevExpress.Web.ASPxLabel
'''<summary>
'''rbAction control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents rbAction As Global.DevExpress.Web.ASPxRadioButtonList
'''<summary>
'''btnOk control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents btnOk As Global.DevExpress.Web.ASPxButton
'''<summary>
'''btnCancel control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents btnCancel As Global.DevExpress.Web.ASPxButton
End Class
@@ -0,0 +1,64 @@
'
'{************************************************************************************}
'{ }
'{ DO NOT MODIFY THIS FILE! }
'{ }
'{ It will be overwritten without prompting when a new version becomes }
'{ available. All your changes will be lost. }
'{ }
'{ This file contains the default template and is required for the form }
'{ rendering. Improper modifications may result in incorrect behavior of }
'{ the appointment form. }
'{ }
'{ In order to create and use your own custom template, perform the following }
'{ steps: }
'{ 1. Save a copy of this file with a different name in another location. }
'{ 2. Specify the file location as the }
'{ 'OptionsForms.RecurrentAppointmentEditFormTemplateUrl' }
'{ property of the ASPxScheduler control. }
'{ 3. If you need to display and process additional controls, you }
'{ should accomplish steps 4-6; otherwise, go to step 7. }
'{ 4. Create a class, derived from the }
'{ RecurrentAppointmentEditFormTemplateContainer, }
'{ containing additional properties which correspond to your controls. }
'{ This class definition can be located within a class file in the App_Code }
'{ folder. }
'{ 5. Replace RecurrentAppointmentEditFormTemplateContainer references in the }
'{ template page with the name of the class you've created in step 4. }
'{ 6. Handle the RecurrentAppointmentEditFormShowing event to create an }
'{ instance of the template container class, defined in step 5, and specify }
'{ it as the destination container instead of the default one. }
'{ 7. Modify the overall appearance of the page and its layout. }
'{ }
'{************************************************************************************}
'
Imports Microsoft.VisualBasic
Imports System
Imports DevExpress.Web.ASPxScheduler
Imports DevExpress.Web
Partial Public Class RecurrentAppointmentEditForm
Inherits SchedulerFormControl
Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
'PrepareChildControls();
End Sub
Public Overrides Sub DataBind()
MyBase.DataBind()
Dim container As RecurrentAppointmentEditFormTemplateContainer = CType(Parent, RecurrentAppointmentEditFormTemplateContainer)
btnOk.ClientSideEvents.Click = container.ApplyHandler
btnCancel.ClientSideEvents.Click = container.CancelHandler
End Sub
Protected Overrides Function GetChildEditors() As ASPxEditBase()
Dim edits() As ASPxEditBase = { lblConfirm, rbAction }
Return edits
End Function
Protected Overrides Function GetChildButtons() As ASPxButton()
Dim buttons() As ASPxButton = { btnOk, btnCancel }
Return buttons
End Function
End Class
@@ -0,0 +1,23 @@
<%@ Control Language="vb" AutoEventWireup="true" Inherits="ReminderForm" Codebehind="ReminderForm.ascx.vb" %>
<%@ Register Assembly="DevExpress.Web.v15.2, Version=15.2.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" Namespace="DevExpress.Web"
TagPrefix="dxe" %>
<table width="100%" cellpadding="0" cellspacing="0" style="padding-bottom:15px;">
<tr><td>
<dxe:ASPxListBox ID="lbItems" runat="server" Width="100%" style="padding-bottom:15px;"></dxe:ASPxListBox>
</td></tr>
</table>
<table width="100%" cellpadding="0" cellspacing="0">
<tr>
<td style="width:100%;"><dxe:ASPxButton ID="btnDismissAll" runat="server" Text="Dismiss All" AutoPostBack="false"></dxe:ASPxButton></td>
<td style="width:80px;" align="right"><dxe:ASPxButton ID="btnDismiss" runat="server" Text="Dismiss" Width="80px" AutoPostBack="false"></dxe:ASPxButton></td>
</tr>
<tr>
<td colspan="2" style="padding:8px 0 4px 0;"><dxe:ASPxLabel ID="lblClickSnooze" runat="server" Text="Click Snooze to be reminded again in:"></dxe:ASPxLabel></td>
</tr>
<tr>
<td style="width:100%;padding-right:20px;"><dxe:ASPxComboBox ID="cbSnooze" runat="server" Width="100%">
</dxe:ASPxComboBox></td>
<td style="width:80px;"><dxe:ASPxButton ID="btnSnooze" runat="server" Text="Snooze" Width="80px" AutoPostBack="false"></dxe:ASPxButton></td>
</tr>
</table>
@@ -0,0 +1,69 @@
'------------------------------------------------------------------------------
' <auto-generated>
' This code was generated by a tool.
'
' Changes to this file may cause incorrect behavior and will be lost if
' the code is regenerated.
' </auto-generated>
'------------------------------------------------------------------------------
Option Strict On
Option Explicit On
Partial Public Class ReminderForm
'''<summary>
'''lbItems control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents lbItems As Global.DevExpress.Web.ASPxListBox
'''<summary>
'''btnDismissAll control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents btnDismissAll As Global.DevExpress.Web.ASPxButton
'''<summary>
'''btnDismiss control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents btnDismiss As Global.DevExpress.Web.ASPxButton
'''<summary>
'''lblClickSnooze control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents lblClickSnooze As Global.DevExpress.Web.ASPxLabel
'''<summary>
'''cbSnooze control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents cbSnooze As Global.DevExpress.Web.ASPxComboBox
'''<summary>
'''btnSnooze control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents btnSnooze As Global.DevExpress.Web.ASPxButton
End Class
@@ -0,0 +1,67 @@
Imports Microsoft.VisualBasic
Imports System
Imports System.Data
Imports System.Configuration
Imports System.Collections
Imports System.Web
Imports System.Web.Security
Imports System.Web.UI
Imports System.Web.UI.WebControls
Imports System.Web.UI.WebControls.WebParts
Imports System.Web.UI.HtmlControls
Imports DevExpress.Web.ASPxScheduler
Imports DevExpress.XtraScheduler
Imports DevExpress.Web.ASPxScheduler.Internal
Imports DevExpress.Web
Imports DevExpress.XtraScheduler.Native
Imports DevExpress.XtraScheduler.Localization
Partial Public Class ReminderForm
Inherits SchedulerFormControl
Public Sub New()
MyBase.New()
End Sub
Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
'PrepareChildControls();
End Sub
Public Overrides Sub DataBind()
MyBase.DataBind()
Dim container As RemindersFormTemplateContainer = CType(Parent, RemindersFormTemplateContainer)
btnDismiss.ClientSideEvents.Click = container.DismissReminderHandler
btnDismissAll.ClientSideEvents.Click = container.DismissAllRemindersHandler
btnSnooze.ClientSideEvents.Click = container.SnoozeRemindersHandler
InitItemListBox(container)
InitSnoozeCombo(container)
End Sub
Private Sub InitItemListBox(ByVal container As RemindersFormTemplateContainer)
Dim reminders As ReminderCollection = container.Reminders
Dim count As Integer = reminders.Count
For i As Integer = 0 To count - 1
Dim reminder As Reminder = reminders(i)
Dim item As New ListEditItem(reminder.Subject, i)
lbItems.Items.Add(item)
Next i
lbItems.SelectedIndex = 0
End Sub
Private Sub InitSnoozeCombo(ByVal container As RemindersFormTemplateContainer)
cbSnooze.Items.Clear()
Dim timeSpans() As TimeSpan = container.SnoozeTimeSpans
Dim count As Integer = timeSpans.Length
For i As Integer = 0 To count - 1
Dim timeSpan As TimeSpan = timeSpans(i)
cbSnooze.Items.Add(New ListEditItem(container.ConvertSnoozeTimeSpanToString(timeSpan), timeSpan))
Next i
cbSnooze.SelectedIndex = 4
End Sub
Protected Overrides Function GetChildEditors() As ASPxEditBase()
Dim edits() As ASPxEditBase = { lbItems, lblClickSnooze, cbSnooze }
Return edits
End Function
Protected Overrides Function GetChildButtons() As ASPxButton()
Dim buttons() As ASPxButton = { btnDismissAll, btnDismiss, btnSnooze }
Return buttons
End Function
End Class
@@ -0,0 +1,21 @@
<%@ Control Language="vb" AutoEventWireup="true" Inherits="UserForms_SelectionToolTip" Codebehind="SelectionToolTip.ascx.vb" %>
<%@ Register Assembly="DevExpress.Web.v15.2" Namespace="DevExpress.Web"
TagPrefix="dxe" %>
<div runat="server" id="buttonDiv">
<dxe:ASPxButton ID="btnShowMenu" runat="server" AutoPostBack="False" AllowFocus="False">
<Border BorderWidth="0px" />
<Paddings Padding="0px" />
<FocusRectPaddings Padding="4px" />
<FocusRectBorder BorderStyle="None" BorderWidth="0px" />
</dxe:ASPxButton>
</div>
<script type="text/javascript" id="dxss_">
ASPxClientSelectionToolTip = _aspxCreateClass(ASPxClientToolTipBase, {
Initialize: function() {
ASPxClientUtils.AttachEventToElement(this.controls.buttonDiv, "click", _aspxCreateDelegate(this.OnButtonDivClick, this));
},
OnButtonDivClick: function(s,e) {
this.ShowViewMenu(s);
}
});
</script>
@@ -0,0 +1,33 @@
'------------------------------------------------------------------------------
' <auto-generated>
' This code was generated by a tool.
'
' Changes to this file may cause incorrect behavior and will be lost if
' the code is regenerated.
' </auto-generated>
'------------------------------------------------------------------------------
Option Strict On
Option Explicit On
Partial Public Class UserForms_SelectionToolTip
'''<summary>
'''buttonDiv control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents buttonDiv As Global.System.Web.UI.HtmlControls.HtmlGenericControl
'''<summary>
'''btnShowMenu control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents btnShowMenu As Global.DevExpress.Web.ASPxButton
End Class
@@ -0,0 +1,40 @@
Imports Microsoft.VisualBasic
Imports System
Imports System.Data
Imports System.Configuration
Imports System.Collections
Imports System.Web
Imports System.Web.Security
Imports System.Web.UI
Imports System.Web.UI.WebControls
Imports System.Web.UI.WebControls.WebParts
Imports System.Web.UI.HtmlControls
Imports DevExpress.Web.ASPxScheduler
Imports DevExpress.Web.ASPxScheduler.Internal
Imports DevExpress.Web
Partial Public Class UserForms_SelectionToolTip
Inherits ASPxSchedulerToolTipBase
Public Overrides ReadOnly Property ToolTipShowStem() As Boolean
Get
Return False
End Get
End Property
Public Overrides ReadOnly Property ClassName() As String
Get
Return "ASPxClientSelectionToolTip"
End Get
End Property
Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
DevExpress.Web.ASPxWebControl.RegisterBaseScript(Page)
End Sub
Protected Overrides Sub OnLoad(ByVal e As EventArgs)
MyBase.OnLoad(e)
btnShowMenu.Image.Assign(GetSmartTagImage())
End Sub
Protected Overrides Function GetChildControls() As Control()
Dim controls() As Control = { buttonDiv }
Return controls
End Function
End Class
@@ -0,0 +1,74 @@
<%--
{************************************************************************************}
{ }
{ DO NOT MODIFY THIS FILE! }
{ }
{ It will be overwritten without prompting when a new version becomes }
{ available. All your changes will be lost. }
{ }
{ This file contains the default template and is required for the appointment }
{ rendering. Improper modifications may result in incorrect appearance of the }
{ appointment. }
{ }
{ In order to create and use your own custom template, perform the following }
{ steps: }
{ 1. Save a copy of this file with a different name in another location. }
{ 2. Add a Register tag in the .aspx page header for each template you use, }
{ as follows: <%@ Register Src="PathToTemplateFile" TagName="NameOfTemplate"}
{ TagPrefix="ShortNameOfTemplate" %> }
{ 3. In the .aspx page find the tags for different scheduler views within }
{ the ASPxScheduler control tag. Insert template tags into the tags }
{ for the views which should be customized. }
{ The template tag should satisfy the following pattern: }
{ <Templates> }
{ <VerticalAppointmentTemplate> }
{ < ShortNameOfTemplate: NameOfTemplate runat="server"/> }
{ </VerticalAppointmentTemplate> }
{ </Templates> }
{ where ShortNameOfTemplate, NameOfTemplate are the names of the }
{ registered templates, defined in step 2. }
{************************************************************************************}
--%>
<%@ Control Language="vb" AutoEventWireup="true" Inherits="VerticalAppointmentTemplate" Codebehind="VerticalAppointmentTemplate.ascx.vb" %>
<%@ Register Assembly="DevExpress.Web.ASPxScheduler.v15.2, Version=15.2.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" Namespace="DevExpress.Web.ASPxScheduler" TagPrefix="dxwschs" %>
<%@ Register Assembly="DevExpress.Web.v15.2, Version=15.2.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" Namespace="DevExpress.Web" TagPrefix="dxe" %>
<div id="appointmentDiv" runat="server" class='<%#(CType(Container, VerticalAppointmentTemplateContainer)).Items.AppointmentStyle.CssClass%>'>
<table width="100%" cellpadding="0" cellspacing="0">
<tr valign="top" >
<td runat="server" id="statusContainer">
</td>
<td style="width:100%">
<table cellpadding="1" cellspacing="0" width="100%">
<tr valign="top">
<td>
<table id="imageContainer" runat="server" cellpadding="1" cellspacing="0" style="text-align: center">
<tr><td></td></tr>
</table>
</td>
<td style="width:100%">
<table width="100%" cellpadding="1" cellspacing="0" >
<tr>
<td>
<dxe:ASPxLabel runat="server" EnableViewState="false" EncodeHtml="true" ID="lblStartTime" Text='<%#(CType(Container, VerticalAppointmentTemplateContainer)).Items.StartTimeText.Text%>' Visible='<%#(CType(Container, VerticalAppointmentTemplateContainer)).Items.StartTimeText.Visible%>'></dxe:ASPxLabel>
<dxe:ASPxLabel runat="server" EnableViewState="false" EncodeHtml="true" style="margin-left: -4px;" ID="lblEndTime" Text='<%#(CType(Container, VerticalAppointmentTemplateContainer)).Items.EndTimeText.Text%>' Visible='<%#(CType(Container, VerticalAppointmentTemplateContainer)).Items.EndTimeText.Visible%>'></dxe:ASPxLabel>
<dxe:ASPxLabel runat="server" EnableViewState="false" EncodeHtml="true" ID="lblTitle" Text='<%#(CType(Container, VerticalAppointmentTemplateContainer)).Items.Title.Text%>'></dxe:ASPxLabel>
</td>
</tr>
<tr>
<td>
<div runat="server" id="horizontalSeparator" class='<%#(CType(Container, VerticalAppointmentTemplateContainer)).Items.HorizontalSeparator.Style.CssClass%>' visible='<%#(CType(Container, VerticalAppointmentTemplateContainer)).Items.HorizontalSeparator.Visible%>'></div>
</td>
</tr>
<tr>
<td>
<dxe:ASPxLabel runat="server" EnableViewState="false" EncodeHtml="true" ID="lblDescription" Text='<%#(CType(Container, VerticalAppointmentTemplateContainer)).Items.Description.Text%>'></dxe:ASPxLabel>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</div>
@@ -0,0 +1,87 @@
'------------------------------------------------------------------------------
' <auto-generated>
' This code was generated by a tool.
'
' Changes to this file may cause incorrect behavior and will be lost if
' the code is regenerated.
' </auto-generated>
'------------------------------------------------------------------------------
Option Strict On
Option Explicit On
Partial Public Class VerticalAppointmentTemplate
'''<summary>
'''appointmentDiv control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents appointmentDiv As Global.System.Web.UI.HtmlControls.HtmlGenericControl
'''<summary>
'''statusContainer control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents statusContainer As Global.System.Web.UI.HtmlControls.HtmlTableCell
'''<summary>
'''imageContainer control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents imageContainer As Global.System.Web.UI.HtmlControls.HtmlTable
'''<summary>
'''lblStartTime control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents lblStartTime As Global.DevExpress.Web.ASPxLabel
'''<summary>
'''lblEndTime control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents lblEndTime As Global.DevExpress.Web.ASPxLabel
'''<summary>
'''lblTitle control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents lblTitle As Global.DevExpress.Web.ASPxLabel
'''<summary>
'''horizontalSeparator control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents horizontalSeparator As Global.System.Web.UI.HtmlControls.HtmlGenericControl
'''<summary>
'''lblDescription control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents lblDescription As Global.DevExpress.Web.ASPxLabel
End Class
@@ -0,0 +1,80 @@
'
'{************************************************************************************}
'{ }
'{ DO NOT MODIFY THIS FILE! }
'{ }
'{ It will be overwritten without prompting when a new version becomes }
'{ available. All your changes will be lost. }
'{ }
'{ This file contains the default template and is required for the appointment }
'{ rendering. Improper modifications may result in incorrect appearance of the }
'{ appointment. }
'{ }
'{ In order to create and use your own custom template, perform the following }
'{ steps: }
'{ 1. Save a copy of this file with a different name in another location. }
'{ 2. Add a Register tag in the .aspx page header for each template you use, }
'{ as follows: <%@ Register Src="PathToTemplateFile" TagName="NameOfTemplate"}
'{ TagPrefix="ShortNameOfTemplate" %> }
'{ 3. In the .aspx page find the tags for different scheduler views within }
'{ the ASPxScheduler control tag. Insert template tags into the tags }
'{ for the views which should be customized. }
'{ The template tag should satisfy the following pattern: }
'{ <Templates> }
'{ <VerticalAppointmentTemplate> }
'{ < ShortNameOfTemplate: NameOfTemplate runat="server"/> }
'{ </VerticalAppointmentTemplate> }
'{ </Templates> }
'{ where ShortNameOfTemplate, NameOfTemplate are the names of the }
'{ registered templates, defined in step 2. }
'{************************************************************************************}
'
Imports Microsoft.VisualBasic
Imports System
Imports System.Web.UI.WebControls
Imports System.Web.UI.HtmlControls
Imports DevExpress.Web.ASPxScheduler
Imports DevExpress.Web.ASPxScheduler.Drawing
Partial Public Class VerticalAppointmentTemplate
Inherits System.Web.UI.UserControl
Private ReadOnly Property Container() As VerticalAppointmentTemplateContainer
Get
Return CType(Parent, VerticalAppointmentTemplateContainer)
End Get
End Property
Private ReadOnly Property Items() As VerticalAppointmentTemplateItems
Get
Return Container.Items
End Get
End Property
Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
appointmentDiv.Style.Value = Items.AppointmentStyle.GetStyleAttributes(Page).Value
horizontalSeparator.Style.Value = Items.HorizontalSeparator.Style.GetStyleAttributes(Page).Value
lblStartTime.ControlStyle.MergeWith(Items.StartTimeText.Style)
lblEndTime.ControlStyle.MergeWith(Items.EndTimeText.Style)
lblTitle.ControlStyle.MergeWith(Items.Title.Style)
lblDescription.ControlStyle.MergeWith(Items.Description.Style)
statusContainer.Controls.Add(Items.StatusControl)
LayoutAppointmentImages()
End Sub
Private Sub LayoutAppointmentImages()
Dim count As Integer = Items.Images.Count
For i As Integer = 0 To count - 1
Dim row As New HtmlTableRow()
Dim cell As New HtmlTableCell()
AddImage(cell, Items.Images(i))
row.Cells.Add(cell)
imageContainer.Rows.Add(row)
Next i
End Sub
Private Sub AddImage(ByVal targetCell As HtmlTableCell, ByVal imageItem As AppointmentImageItem)
Dim image As New Image()
imageItem.ImageProperties.AssignToControl(image, False)
targetCell.Controls.Add(image)
End Sub
End Class