using tinymce as the wysywg editor.

making next and finish buttons behave the same.



git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/BRANCHES/WCM-DEV2/root@3592 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Ariel Backenroth
2006-08-23 20:45:09 +00:00
parent 6fd275ab0e
commit 31acacc947
5 changed files with 110 additions and 65 deletions

View File

@@ -10,6 +10,21 @@ dojo.require("dojo.html.style");
dojo.hostenv.writeIncludes();
dojo.addOnLoad(xforms_init);
tinyMCE.init({
theme : "advanced",
mode : "exact",
// elements : "editor",
save_callback : "saveContent",
add_unload_trigger: false,
add_form_submit_trigger: false,
theme_advanced_toolbar_location : "top",
theme_advanced_toolbar_align : "left",
theme_advanced_buttons1_add : "fontselect,fontsizeselect",
theme_advanced_buttons2_add : "separator,forecolor,backcolor",
theme_advanced_disable: "styleselect",
extended_valid_elements : "a[href|target|name],font[face|size|color|style],span[class|align|style]"
});
//dojo.provide("alfresco.xforms.textarea");
//
//dojo.declare("alfresco.xforms.Widget",
@@ -134,32 +149,34 @@ function load_body(body, ui_element_stack)
cell = document.createElement("td");
row.appendChild(cell);
var nodeRef = document.createElement("div");
nodeRef.setAttribute("style", "height: 200px; border: solid 1px black;");
nodeRef.setAttribute("style", "height: 200px; width: 100%; border: solid 1px black;");
cell.appendChild(nodeRef);
var id = o.getAttribute("id");
nodeRef.setAttribute("id", id);
var initial_value = get_initial_value(o) || "";
nodeRef.appendChild(document.createTextNode(initial_value));
var w = dojo.widget.createWidget("Editor",
{
widgetId: id,
focusOnLoad: false,
items: [ "|", "bold", "italic", "underline", "strikethrough", "|", "colorGroup", "|", "createLink", "insertImage" ]
},
nodeRef);
dojo.event.connect(w,
"setRichText",
function(event)
{
dojo.event.connect(w._richText,
"onBlur",
function()
{
setXFormsValue(w.widgetId,
w._richText.getEditorContent());
});
});
nodeRef.innerHTML = initial_value;
tinyMCE.addMCEControl(nodeRef, id);
// var w = dojo.widget.createWidget("Editor",
// {
// widgetId: id,
// focusOnLoad: false,
// items: [ "|", "bold", "italic", "underline", "strikethrough", "|", "colorGroup", "|", "createLink", "insertImage" ]
// },
// nodeRef);
// dojo.event.connect(w,
// "setRichText",
// function(event)
// {
// dojo.event.connect(w._richText,
// "onBlur",
// function()
// {
// setXFormsValue(w.widgetId,
// w._richText.getEditorContent());
// });
//
// });
//
break;
case "xforms:input":
var id = o.getAttribute("id");
@@ -495,7 +512,8 @@ function fireAction(id)
load: function(type, data, evt)
{
document.submitTrigger.done = true;
doSubmit();
document.submitTrigger.currentButton.click();
document.submitTrigger.currentButton = null;
},
error: function(type, e)
{
@@ -520,4 +538,33 @@ function setXFormsValue(id, value)
}
};
dojo.io.bind(req);
}
}
function addSubmitHandlerToButton(b)
{
var baseOnClick = b.onclick;
b.onclick = function(event)
{
// alert("submitting xform from " + b.getAttribute("id") +
// " b " + b +
// " this " + this );
if (!document.submitTrigger.done)
{
// alert("not done, resubmitting");
tinyMCE.triggerSave();
document.submitTrigger.currentButton = this;
document.submitTrigger.buttonClick();
return false;
}
else
{
// alert("done - doing base click");
return baseOnClick(event);
}
}
}
function saveContent(id, content)
{
setXFormsValue(id, content);
}