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

@@ -212,6 +212,12 @@ public class CreateXmlContentTypeWizard extends BaseWizardBean
*/ */
public String getPresentationTemplateType() public String getPresentationTemplateType()
{ {
if (this.getPresentationTemplateFileName() != null)
{
// String s = this.getPresentationTemplateFileName();
// String extension =
this.presentationTemplateType = "XSL";
}
return this.presentationTemplateType; return this.presentationTemplateType;
} }

View File

@@ -74,16 +74,25 @@ public class XFormsInputMethod
e.appendChild(result.createTextNode("djConfig = { isDebug: false };\n" + e.appendChild(result.createTextNode("djConfig = { isDebug: false };\n" +
"var WEBAPP_CONTEXT = \"" + cp + "\";\n")); "var WEBAPP_CONTEXT = \"" + cp + "\";\n"));
div.appendChild(e); div.appendChild(e);
e = result.createElement("script");
e.setAttribute("type", "text/javascript");
e.setAttribute("src", cp + "/scripts/tiny_mce/tiny_mce_src.js");
e.appendChild(result.createTextNode("\n"));
div.appendChild(e);
e = result.createElement("script"); e = result.createElement("script");
e.setAttribute("type", "text/javascript"); e.setAttribute("type", "text/javascript");
e.setAttribute("src", cp + "/scripts/ajax/dojo.js"); e.setAttribute("src", cp + "/scripts/ajax/dojo.js");
e.appendChild(result.createTextNode("\n")); e.appendChild(result.createTextNode("\n"));
div.appendChild(e); div.appendChild(e);
e = result.createElement("script"); e = result.createElement("script");
e.setAttribute("type", "text/javascript"); e.setAttribute("type", "text/javascript");
e.setAttribute("src", cp + "/scripts/ajax/xforms.js"); e.setAttribute("src", cp + "/scripts/ajax/xforms.js");
e.appendChild(result.createTextNode("\n")); e.appendChild(result.createTextNode("\n"));
div.appendChild(e); div.appendChild(e);
ts.writeXML(result, out); ts.writeXML(result, out);
} }

View File

@@ -56,26 +56,28 @@ tim.generate(instanceData, tt, out);
<script type="text/javascript"> <script type="text/javascript">
dojo.addOnLoad(function() dojo.addOnLoad(function()
{ {
//alert('foo'); addSubmitHandlerToButton(document.getElementById("wizard:next-button"));
var b = document.getElementById("wizard:next-button"); addSubmitHandlerToButton(document.getElementById("wizard:finish-button"));
var baseOnClick = b.onclick;
b.onclick = function()
{
if (!document.submitTrigger.done)
{
document.submitTrigger.buttonClick();
return false;
}
else
{
return baseOnClick();
}
}
}); });
function doSubmit() //
{ //var baseOnClick = b.onclick;
var b = document.getElementById("wizard:next-button"); //b.onclick = function()
b.click(); //{
} // if (!document.submitTrigger.done)
// {
// document.submitTrigger.buttonClick();
// return false;
// }
// else
// {
// return baseOnClick();
// }
//}
//});
//function doSubmit()
//{
//var b = document.getElementById("wizard:next-button");
//b.click();
//}
</script> </script>

View File

@@ -214,27 +214,8 @@ final InstanceData instanceData = new InstanceData() {
<script type="text/javascript"> <script type="text/javascript">
dojo.addOnLoad(function() dojo.addOnLoad(function()
{ {
//alert('foo'); addSubmitHandlerToButton(document.getElementById("edit-file:save-button"));
var b = document.getElementById("edit-file:save-button");
var baseOnClick = b.onclick;
b.onclick = function()
{
if (!document.submitTrigger.done)
{
document.submitTrigger.buttonClick();
return false;
}
else
{
return baseOnClick();
}
}
}); });
function doSubmit()
{
var b = document.getElementById("edit-file:save-button");
b.click();
}
</script> </script>

View File

@@ -10,6 +10,21 @@ dojo.require("dojo.html.style");
dojo.hostenv.writeIncludes(); dojo.hostenv.writeIncludes();
dojo.addOnLoad(xforms_init); 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.provide("alfresco.xforms.textarea");
// //
//dojo.declare("alfresco.xforms.Widget", //dojo.declare("alfresco.xforms.Widget",
@@ -134,32 +149,34 @@ function load_body(body, ui_element_stack)
cell = document.createElement("td"); cell = document.createElement("td");
row.appendChild(cell); row.appendChild(cell);
var nodeRef = document.createElement("div"); 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); cell.appendChild(nodeRef);
var id = o.getAttribute("id"); var id = o.getAttribute("id");
nodeRef.setAttribute("id", id);
var initial_value = get_initial_value(o) || ""; var initial_value = get_initial_value(o) || "";
nodeRef.appendChild(document.createTextNode(initial_value)); nodeRef.innerHTML = initial_value;
var w = dojo.widget.createWidget("Editor", tinyMCE.addMCEControl(nodeRef, id);
{ // var w = dojo.widget.createWidget("Editor",
widgetId: id, // {
focusOnLoad: false, // widgetId: id,
items: [ "|", "bold", "italic", "underline", "strikethrough", "|", "colorGroup", "|", "createLink", "insertImage" ] // focusOnLoad: false,
}, // items: [ "|", "bold", "italic", "underline", "strikethrough", "|", "colorGroup", "|", "createLink", "insertImage" ]
nodeRef); // },
dojo.event.connect(w, // nodeRef);
"setRichText", // dojo.event.connect(w,
function(event) // "setRichText",
{ // function(event)
dojo.event.connect(w._richText, // {
"onBlur", // dojo.event.connect(w._richText,
function() // "onBlur",
{ // function()
setXFormsValue(w.widgetId, // {
w._richText.getEditorContent()); // setXFormsValue(w.widgetId,
}); // w._richText.getEditorContent());
// });
}); //
// });
//
break; break;
case "xforms:input": case "xforms:input":
var id = o.getAttribute("id"); var id = o.getAttribute("id");
@@ -495,7 +512,8 @@ function fireAction(id)
load: function(type, data, evt) load: function(type, data, evt)
{ {
document.submitTrigger.done = true; document.submitTrigger.done = true;
doSubmit(); document.submitTrigger.currentButton.click();
document.submitTrigger.currentButton = null;
}, },
error: function(type, e) error: function(type, e)
{ {
@@ -520,4 +538,33 @@ function setXFormsValue(id, value)
} }
}; };
dojo.io.bind(req); 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);
}