CKFinder 2 ダイアログ内で jQuery および jQuery プラグインを使用する方法はありますか? Jcrop を使用して、プラグインで画像をトリミングしたいだけです。たとえば、以下のコードは機能しません。jQuery(document).ready(...)
イベントはうまく発生しますが、その中でダイアログの要素を選択できません。それで、それはまったく可能ですか?
CKFinder.dialog.add("ImageCroppingDialog", function (api) {
return {
title: "Test",
minWidth: 480,
minHeight: 750,
onShow: function () {
var file = api.getSelectedFile();
var url = file.getUrl();
var doc = this.getElement().getDocument();
var img = doc.getById('cropbox');
img.setAttribute('src', url);
jQuery(document).ready(function () {
jQuery('#cropbox').Jcrop();
});
},
contents: [
{
id: 'tab1',
label: '',
title: '',
expand: true,
padding: 0,
elements: [
{
type: 'html',
html: '<h3>Select area to crop.</h3><img id="cropbox" src="" style="max-width: 480px; max-height: 580px;"></img>'
+ '<script type="text/javascript" src="../Scripts/jquery-1.5.1.min.js"></script>'
+ '<script type="text/javascript" src="../Scripts/crop/jquery.jcrop.min.js"></script>'
}
]
}
],
buttons: [CKFinder.dialog.cancelButton, CKFinder.dialog.okButton]
};
});
CKFinder.addPlugin('ImageCropper', function (api) {
api.addFileContextMenuOption({ label: 'Crop image', command: "ImageCropper" }, function (api, file) {
api.openDialog("ImageCroppingDialog");
if (!file.isImage()) {
api.openMsgDialog("Image cropping", "This feature is only available for editing images.");
return;
} //end check if isImage()
});
});