or
#region private properties |
private RadAjaxManager _radAjaxManager = null; |
#endregion |
protected override void OnInit(EventArgs e) |
{ |
RadScriptManager scriptManager = new RadScriptManager(); |
Controls.Add(scriptManager); |
RadAjaxManager radAjaxManager = new RadAjaxManager(); |
radAjaxManager.ID = "radAjaxManager"; |
_radAjaxManager = radAjaxManager; |
Controls.Add(radAjaxManager); |
base.OnInit(e); |
scriptManager.Scripts.Add(new ScriptReference("Elevate.UI.Scripts.Search.js", "Elevate")); |
} |
protected override void CreateChildControls() |
{ |
RadAjaxLoadingPanel radAjaxLoadingPanel = new RadAjaxLoadingPanel(); |
radAjaxLoadingPanel.ID = "ajaxLoadingPanel"; |
radAjaxLoadingPanel.Skin = "Default"; |
Controls.Add(radAjaxLoadingPanel); |
/* Child Controls Creation */ |
_radAjaxManager.AjaxSettings.AddAjaxSetting(button1, simplePanel, radAjaxLoadingPanel); |
_radAjaxManager.AjaxSettings.AddAjaxSetting(linkButton1, simplePanel, radAjaxLoadingPanel); |
_radAjaxManager.AjaxSettings.AddAjaxSetting(lbMLS, simplePanel, radAjaxLoadingPanel); |
} |
<
asp:Content
ID
=
"Content2"
ContentPlaceHolderID
=
"Content"
runat
=
"server"
>
<
telerik:RadScriptManager
runat
=
"server"
ID
=
"RadScriptManager1"
/>
<
div
style
=
"margin-bottom: 25px;"
>
<
asp:Label
ID
=
"lblError"
runat
=
"server"
EnableViewState
=
"false"
Style
=
"color: Red; font-size: 16px;"
/><
br
/>
</
div
>
<
telerik:RadScriptBlock
runat
=
"server"
>
<
script
type
=
"text/javascript"
>
function OnClientFilesUploaded(sender, args) {
$find('<%= RadAjaxManager1.ClientID %>').ajaxRequest();
}
</
script
>
</
telerik:RadScriptBlock
>
<
telerik:RadAjaxManager
ID
=
"RadAjaxManager1"
runat
=
"server"
EnablePageHeadUpdate
=
"false"
>
<
AjaxSettings
>
<
telerik:AjaxSetting
AjaxControlID
=
"RadAjaxManager1"
>
<
UpdatedControls
>
<
telerik:AjaxUpdatedControl
ControlID
=
"RadImageEditor1"
/>
</
UpdatedControls
>
</
telerik:AjaxSetting
>
</
AjaxSettings
>
</
telerik:RadAjaxManager
>
<
div
id
=
"dwndWrapper"
>
<
telerik:RadAsyncUpload
ID
=
"AsyncUpload1"
runat
=
"server"
OnClientFilesUploaded
=
"OnClientFilesUploaded"
OnFileUploaded
=
"AsyncUpload1_FileUploaded"
MaxFileSize
=
"2097152"
AllowedFileExtensions
=
"jpg,png,gif,bmp"
AutoAddFileInputs
=
"false"
Localization-Select
=
"Upload Image"
/>
<
asp:Label
ID
=
"Label1"
Text
=
"*Size limit: 2MB"
runat
=
"server"
Style
=
"font-size: 10px;"
></
asp:Label
>
</
div
>
<
telerik:RadImageEditor
ID
=
"RadImageEditor1"
runat
=
"server"
OnImageLoading
=
"RadImageEditor1_ImageLoading"
Width
=
"300px"
Height
=
"300px"
ExternalDialogsPath
=
"~/user"
ToolsFile
=
"~/user/tools.xml"
OnImageSaving
=
"RadImageEditor1_ImageSaving"
OnClientCommandExecuting
=
"modifyCommand"
CanvasMode
=
"No"
>
</
telerik:RadImageEditor
>
</
asp:Content
>
<asp:Content ID=
"Content3"
ContentPlaceHolderID=
"Scripts"
runat=
"server"
>
<telerik:RadCodeBlock ID=
"codeblock1"
runat=
"server"
>
<script type=
"text/javascript"
>
function
modifyCommand(imageEditor, args) {
if
(args.get_commandName() ==
"Crop"
) {
waitForCommand(imageEditor, args.get_commandName(),
function
(widget) {
var
width = 149;
var
height = 170;
var
ratio = width / height;
//stop the aspect ratio constraint
//widget._constraintBtn.set_checked(false);
//widget._setCropBoxRatio(null);
//widget._sizeRatio = null;
widget._setCropBoxRatio(ratio);
widget._sizeRatio = ratio;
widget.set_width(width);
widget.set_height(height);
widget._constraintBtn.set_enabled(
false
);
widget._updateCropBoxFromControls();
});
}
if
(args.get_commandName() ==
"Save"
) {
//doesn't work
setTimeout(
function
() {
$find(
"<%=RadImageEditor1.ClientID %>"
).applyChangesOnServer();
}, 300) ;
var
filename = imageEditor.getEditableImage();.
//gives error about being unable to deserialize an empty string
imageEditor.editImageOnServer(
"Crop"
,
"Crop"
,
"Crop"
, callbackFunction);
imageEditor.saveImageOnServer(filename,
true
);
imageEditor.setToggleState(
'Save'
,
false
);
args.set_cancel(
true
);
}
}
function
callbackFunction(clientData, serverData) {
var
imgEditor = $find(
"<%=RadImageEditor1.ClientID %>"
);
imgEditor.getEditableImage()._finishReset();
}
'always called, always loads original image
Protected
Sub
RadImageEditor1_ImageLoading(sender
As
Object
, args
As
ImageEditorLoadingEventArgs)
' Handle Uploaded images
If
Not
[
Object
].Equals(Context.Cache.[
Get
](Session.SessionID +
"UploadedFile"
),
Nothing
)
Then
Using image
As
New
EditableImage(
DirectCast
(Context.Cache.[
Get
](Session.SessionID +
"UploadedFile"
), MemoryStream))
args.Image = image.Clone()
args.Cancel =
True
End
Using
End
If
End
Sub
'saves original image, not cropped one seen on screen
Protected
Sub
RadImageEditor1_ImageSaving(sender
As
Object
, args
As
Telerik.Web.UI.ImageEditorSavingEventArgs)
'Save the image to a custom location
Dim
fullPath
As
String
= Server.MapPath(
"~/temp"
)
Dim
fileName
As
String
=
String
.Format(
"test-{0}.jpg"
, DateTime.Now.ToString(
"yyyyMMdd-hhmmss"
))
fullPath = Path.Combine(fullPath, fileName)
Dim
img
As
Telerik.Web.UI.ImageEditor.EditableImage = args.Image
Try
img.Image.Save(fullPath)
'lblError.Text = "File Saved";
args.Argument = [
String
].Format(
"The image is saved under the name: <strong>{0}</strong>."
, fileName)
args.Cancel =
True
Catch
ex
As
Exception
args.Argument = ex.Message
End
Try
End
Sub
'never called
Protected
Sub
RadImageEditor1_ImageEditing(sender
As
Object
, args
As
ImageEditorEditingEventArgs)
args.Cancel =
True
End
Sub