258 lines
5.4 KiB
JavaScript
258 lines
5.4 KiB
JavaScript
OpenCCM.prototype.showImageDialog = function(image)
|
|
{
|
|
if (!this.dialogs["images"])
|
|
{
|
|
this.prepareImageDialog();
|
|
}
|
|
|
|
var editor = this.editor;
|
|
this.image = image;
|
|
|
|
var data =
|
|
{
|
|
src : "",
|
|
name : "",
|
|
alt : "",
|
|
title : "",
|
|
width : "",
|
|
height : "",
|
|
caption : "",
|
|
zoom : "",
|
|
gallery : "",
|
|
aspect : ""
|
|
};
|
|
|
|
if (typeof image == "undefined" )
|
|
{
|
|
alert ("was?");
|
|
image = editor.getParentElement();
|
|
if ( image && image.tagName.toLowerCase() != 'img' )
|
|
{
|
|
image = null;
|
|
alert("WAS?");
|
|
}
|
|
}
|
|
|
|
if(image && image.tagName.toLowerCase == "img")
|
|
{
|
|
var src = this.editor.fixRelativeLinks(image.getAttribute('src'));
|
|
|
|
data.src = src;
|
|
data.alt = image.alt;
|
|
data.name = image.name;
|
|
data.title = image.title;
|
|
data.width = image.width;
|
|
data.height = image.height;
|
|
|
|
data.caption = ""/*image.next.tagName=="span"*/;
|
|
data.zoom = "" /*image.parent.rel == "zoom"*/;
|
|
data.gallery = "" /*image.parent.rel == "imageGallery"*/;
|
|
|
|
// data.context = image.parent.rel;
|
|
|
|
data.alignment = "" /*image.parent.parent.class*/;
|
|
|
|
// aspect = "";
|
|
}
|
|
|
|
// now calling the show method of the Xinha.Dialog object to set the values and show the actual dialog
|
|
this.dialogs["images"].show(data);
|
|
};
|
|
|
|
OpenCCM.prototype.prepareImageDialog = function()
|
|
{
|
|
var self = this;
|
|
var editor = this.editor;
|
|
|
|
var dialog = this.dialogs["images"] = new Xinha.Dialog(editor, OpenCCM.imagesHtml, 'Xinha',{width:410})
|
|
|
|
// Connect the OK and Cancel buttons
|
|
dialog.getElementById('ok').onclick = function() {self.imageApply();}
|
|
// dialog.getElementById('clear').onclick = function() { self.imageRemove(); };
|
|
dialog.getElementById('cancel').onclick = function() { self.dialogs["images"].hide()};
|
|
|
|
// Connect the Select button
|
|
dialog.getElementById('browse').onclick = function() { self.imageBrowse(window); };
|
|
|
|
this.imageDialogReady = true;
|
|
};
|
|
|
|
//
|
|
OpenCCM.prototype.imageApply = function()
|
|
{
|
|
|
|
var values = this.dialogs["images"].hide();
|
|
var image = this.image;
|
|
var editor = this.editor;
|
|
|
|
var imgAttr =
|
|
{
|
|
src : "",
|
|
alt : "",
|
|
title : "",
|
|
width : "",
|
|
height : ""
|
|
};
|
|
|
|
var spanAttr =
|
|
{
|
|
class : "caption",
|
|
style : "",
|
|
}
|
|
|
|
var linkAttr =
|
|
{
|
|
href : "",
|
|
rel : "",
|
|
class : ""
|
|
|
|
};
|
|
|
|
var divAttr =
|
|
{
|
|
class : "image"
|
|
};
|
|
|
|
// If not all mandatory informations are set
|
|
if (!values.src)
|
|
{
|
|
// don't do anything at all
|
|
return false;
|
|
}
|
|
|
|
// Read form values for image
|
|
imgAttr.src = values.src;
|
|
imgAttr.alt = values.alt;
|
|
imgAttr.title = values.title;
|
|
imgAttr.width = values.width;
|
|
imgAttr.height = values.height;
|
|
|
|
// Read form values for caption
|
|
if(values.caption)
|
|
{
|
|
spanAttr.style = "width:" + imgAttr.width + "px";
|
|
}
|
|
|
|
// Read form values for link
|
|
if(values.zoom || values.gallery)
|
|
{
|
|
linkAttr.href = values.src;
|
|
|
|
if(values.zoom)
|
|
{
|
|
linkAttr.rel = "";
|
|
linkAttr.class = "imageZoom";
|
|
}
|
|
|
|
else if(values.gallery)
|
|
{
|
|
linkAttr.rel = "imageGalleryName";
|
|
linkAttr.class = "imageGallery";
|
|
}
|
|
}
|
|
|
|
// Read form values for div
|
|
/*
|
|
if(values.alignment != "")
|
|
{
|
|
var alignment = values.alignment;
|
|
divAttr.class += " " + alignment;
|
|
}
|
|
*/
|
|
|
|
// Modify Image
|
|
if(image && image.tagName.toLowerCase() == "img")
|
|
{
|
|
alert("Modifying image aka removing currently selected image");
|
|
}
|
|
|
|
// Add Image
|
|
alert("Adding image");
|
|
|
|
|
|
var div = document.createElement("div");
|
|
for(var attr in divAttr)
|
|
{
|
|
div.setAttribute(attr, divAttr[attr]);
|
|
}
|
|
|
|
if(values.zoom || values.gallery)
|
|
{
|
|
link = document.createElement("a");
|
|
for(var attr in linkAttr)
|
|
{
|
|
link.setAttribute(attr, linkAttr[attr]);
|
|
}
|
|
div.appendChild(link);
|
|
}
|
|
|
|
var img = document.createElement("img");
|
|
for(var attr in imgAttr)
|
|
{
|
|
img.setAttribute(attr, imgAttr[attr]);
|
|
}
|
|
if(values.zoom || values.gallery)
|
|
{
|
|
link.appendChild(img);
|
|
}
|
|
else
|
|
{
|
|
div.appendChild(img);
|
|
}
|
|
|
|
if(values.caption)
|
|
{
|
|
var span = document.createElement("span");
|
|
for(var attr in spanAttr)
|
|
{
|
|
span.setAttribute(attr, spanAttr[attr]);
|
|
}
|
|
|
|
div.appendChild(span);
|
|
}
|
|
|
|
editor.insertNodeAtSelection(div);
|
|
|
|
/*
|
|
if ( !img )
|
|
{
|
|
if ( Xinha.is_ie )
|
|
{
|
|
var sel = editor.getSelection();
|
|
var range = editor.createRange(sel);
|
|
editor._doc.execCommand("insertimage", false, param.f_url);
|
|
img = range.parentElement();
|
|
// wonder if this works...
|
|
if ( img.tagName.toLowerCase() != "img" )
|
|
{
|
|
img = img.previousSibling;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
img = document.createElement('img');
|
|
img.src = param.f_url;
|
|
editor.insertNodeAtSelection(img);
|
|
if ( !img.tagName )
|
|
{
|
|
// if the cursor is at the beginning of the document
|
|
img = range.startContainer.firstChild;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
img.src = param.f_url;
|
|
}
|
|
|
|
*/
|
|
};
|
|
|
|
OpenCCM.prototype.imageBrowse = function(window)
|
|
{
|
|
this.dialogs["images"].getElementById(this.dialogs["images"].id["src"]).value = "/theme/mandalay/ccm/cms-service/stream/image/?image_id=9001";
|
|
this.dialogs["images"].getElementById(this.dialogs["images"].id["width"]).value = "304";
|
|
this.dialogs["images"].getElementById(this.dialogs["images"].id["height"]).value = "420";
|
|
this.dialogs["images"].getElementById(this.dialogs["images"].id["name"]).value = "Schild.jpg";
|
|
};
|