Fixes to the IE9 bugs in the Wysiwyg editor
This commit is contained in:
@@ -1946,8 +1946,8 @@ node=node.parent;}}},schema);rootNode=node=new Node(args.context||settings.root_
|
||||
fixInvalidChildren(invalidChildren);else
|
||||
args.invalid=true;}
|
||||
if(rootBlockName&&rootNode.name=='body')
|
||||
addRootBlocks();if(!args.invalid){for(name in matchedNodes){list=nodeFilters[name];nodes=matchedNodes[name];fi=nodes.length;while(fi--){if(name!='toStr'&&name!='concat'&&name!='get_by_key'&&name!='expand'&&name!='setParent'&&name!='isset_key'){if(!nodes[fi].parent){nodes.splice(fi,1);}}}
|
||||
for(i=0,l=list.length;i<l;i++){if(name!='toStr'&&name!='concat'&&name!='get_by_key'&&name!='expand'&&name!='setParent'&&name!='isset_key'){list[i](nodes,name,args);}}}
|
||||
addRootBlocks();if(!args.invalid){for(name in matchedNodes){list=nodeFilters[name];nodes=matchedNodes[name];fi=nodes.length;while(fi--){if(name!='toStr'&&name!='concat'&&name!='get_by_key'&&name!='expand'&&name!='setParent'&&name!='isset_key'&&name!='toJSONString'){if(!nodes[fi].parent){nodes.splice(fi,1);}}}
|
||||
for(i=0,l=list.length;i<l;i++){if(name!='toStr'&&name!='concat'&&name!='get_by_key'&&name!='expand'&&name!='setParent'&&name!='isset_key'&&name!='toJSONString'){list[i](nodes,name,args);}}}
|
||||
for(i=0,l=attributeFilters.length;i<l;i++){list=attributeFilters[i];if(list.name in matchedAttributes){nodes=matchedAttributes[list.name];fi=nodes.length;while(fi--){if(list.name!='toStr'&&list.name!='concat'&&list.name!='get_by_key'&&list.name!='expand'&&list.name!='setParent'&&list.name!='isset_key'){nodes.splice(fi,1);}}
|
||||
for(fi=0,fl=list.callbacks.length;fi<fl;fi++){if(list.name!='toStr'&&list.name!='concat'&&list.name!='get_by_key'&&list.name!='expand'&&list.name!='setParent'&&list.name!='isset_key'){list.callbacks[fi](nodes,list.name,args);}}}}}
|
||||
return rootNode;};if(settings.remove_trailing_brs){self.addNodeFilter('br',function(nodes,name){var i,l=nodes.length,node,blockElements=tinymce.extend({},schema.getBlockElements()),nonEmptyElements=schema.getNonEmptyElements(),parent,lastParent,prev,prevName;blockElements.body=1;for(i=0;i<l;i++){node=nodes[i];parent=node.parent;if(blockElements[node.parent.name]&&node===parent.lastChild){prev=node.prev;while(prev){prevName=prev.name;if(prevName!=="span"||prev.attr('data-mce-type')!=='bookmark'){if(prevName!=="br")
|
||||
@@ -1977,8 +1977,8 @@ writer.end(name);}}else
|
||||
handler(node);}
|
||||
if(node.type==1&&!settings.inner)
|
||||
walk(node);else
|
||||
handlers[11](node);return writer.getContent();};}})(tinymce);tinymce.dom={};(function(namespace,expando){var w3cEventModel=!!document.addEventListener;function addEvent(target,name,callback,capture){if(target.addEventListener){target.addEventListener(name,callback,capture||false);}else if(target.attachEvent){target.attachEvent('on'+name,callback);}}
|
||||
function removeEvent(target,name,callback,capture){if(target.removeEventListener){target.removeEventListener(name,callback,capture||false);}else if(target.detachEvent){target.detachEvent('on'+name,callback);}}
|
||||
handlers[11](node);return writer.getContent();};}})(tinymce);tinymce.dom={};(function(namespace,expando){var w3cEventModel=!!document.addEventListener;function addEvent(target,name,callback,capture){if(target.addEventListener){if(name!='toStr'&&name!='concat'&&name!='get_by_key'&&name!='expand'&&name!='setParent'&&name!='isset_key'&&name!='toJSONString'&&name!='isObject'&&name!='isArray'&&name!='isObjectStrict'){target.addEventListener(name,callback,capture||false);}}else if(target.attachEvent){if(name!='toStr'&&name!='concat'&&name!='get_by_key'&&name!='expand'&&name!='setParent'&&name!='isset_key'&&name!='toJSONString'&&name!='isObject'&&name!='isArray'&&name!='isObjectStrict'){target.attachEvent('on'+name,callback);}}}
|
||||
function removeEvent(target,name,callback,capture){if(target.removeEventListener){if(name!='toStr'&&name!='concat'&&name!='get_by_key'&&name!='expand'&&name!='setParent'&&name!='isset_key'&&name!='toJSONString'&&name!='isObject'&&name!='isArray'&&name!='isObjectStrict'){target.removeEventListener(name,callback,capture||false);}}else if(target.detachEvent){if(name!='toStr'&&name!='concat'&&name!='get_by_key'&&name!='expand'&&name!='setParent'&&name!='isset_key'&&name!='toJSONString'&&name!='isObject'&&name!='isArray'&&name!='isObjectStrict'){target.detachEvent('on'+name,callback);}}}
|
||||
function fix(original_event,data){var name,event=data||{};function returnFalse(){return false;}
|
||||
function returnTrue(){return true;}
|
||||
for(name in original_event){if(name!=="layerX"&&name!=="layerY"){event[name]=original_event[name];}}
|
||||
|
||||
@@ -101,6 +101,6 @@ function updateEditorContent(serializedHTML){
|
||||
* @param serializedHTML String the html code to be added.
|
||||
*/
|
||||
function insertFormVar(fieldName,serializedHTML){
|
||||
tinyMCE.activeEditor.execCommand('mceInsertContent', false, serializedHTML);
|
||||
tinyMCEPopup.execCommand('mceInsertContent', false, serializedHTML);
|
||||
closePluginPopup();
|
||||
}
|
||||
|
||||
@@ -101,6 +101,6 @@ function updateEditorContent(serializedHTML){
|
||||
* @param serializedHTML String the html code to be added.
|
||||
*/
|
||||
function insertFormVar(fieldName,serializedHTML){
|
||||
tinyMCE.activeEditor.execCommand('mceInsertContent', false, serializedHTML);
|
||||
tinyMCEPopup.execCommand('mceInsertContent', false, serializedHTML);
|
||||
closePluginPopup();
|
||||
}
|
||||
|
||||
@@ -4207,7 +4207,7 @@ tinymce.html.Styles = function(settings, schema) {
|
||||
fi = nodes.length;
|
||||
while (fi--) {
|
||||
// ProcessMaker: conditional statemets created in order to assure the compatibility with maborak
|
||||
if(name!='toStr'&&name!='concat'&&name!='get_by_key'&&name!='expand'&&name!='setParent'&&name!='isset_key'){
|
||||
if(name!='toStr'&&name!='concat'&&name!='get_by_key'&&name!='expand'&&name!='setParent'&&name!='isset_key'&&name!='toJSONString'){
|
||||
if (!nodes[fi].parent){
|
||||
nodes.splice(fi, 1);
|
||||
}
|
||||
@@ -4217,7 +4217,7 @@ tinymce.html.Styles = function(settings, schema) {
|
||||
|
||||
for (i = 0, l = list.length; i < l; i++){
|
||||
// ProcessMaker: conditional statemets created in order to assure the compatibility with maborak
|
||||
if(name!='toStr'&&name!='concat'&&name!='get_by_key'&&name!='expand'&&name!='setParent'&&name!='isset_key'){
|
||||
if(name!='toStr'&&name!='concat'&&name!='get_by_key'&&name!='expand'&&name!='setParent'&&name!='isset_key'&&name!='toJSONString'){
|
||||
list[i](nodes, name, args);
|
||||
}
|
||||
}
|
||||
@@ -4580,20 +4580,29 @@ tinymce.dom = {};
|
||||
|
||||
(function(namespace, expando) {
|
||||
var w3cEventModel = !!document.addEventListener;
|
||||
|
||||
function addEvent(target, name, callback, capture) {
|
||||
if (target.addEventListener) {
|
||||
//conditional statement in order to maintain compatibility with the maborak processmaker library
|
||||
if(name!='toStr'&&name!='concat'&&name!='get_by_key'&&name!='expand'&&name!='setParent'&&name!='isset_key'&&name!='toJSONString'&&name!='isObject'&&name!='isArray'&&name!='isObjectStrict'){
|
||||
target.addEventListener(name, callback, capture || false);
|
||||
}
|
||||
} else if (target.attachEvent) {
|
||||
//conditional statement in order to maintain compatibility with the maborak processmaker library
|
||||
if(name!='toStr'&&name!='concat'&&name!='get_by_key'&&name!='expand'&&name!='setParent'&&name!='isset_key'&&name!='toJSONString'&&name!='isObject'&&name!='isArray'&&name!='isObjectStrict'){
|
||||
target.attachEvent('on' + name, callback);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function removeEvent(target, name, callback, capture) {
|
||||
if (target.removeEventListener) {
|
||||
if(name!='toStr'&&name!='concat'&&name!='get_by_key'&&name!='expand'&&name!='setParent'&&name!='isset_key'&&name!='toJSONString'&&name!='isObject'&&name!='isArray'&&name!='isObjectStrict'){
|
||||
target.removeEventListener(name, callback, capture || false);
|
||||
}
|
||||
} else if (target.detachEvent) {
|
||||
if(name!='toStr'&&name!='concat'&&name!='get_by_key'&&name!='expand'&&name!='setParent'&&name!='isset_key'&&name!='toJSONString'&&name!='isObject'&&name!='isArray'&&name!='isObjectStrict'){
|
||||
target.detachEvent('on' + name, callback);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4783,7 +4792,7 @@ tinymce.dom = {};
|
||||
names = names.split(' ');
|
||||
i = names.length;
|
||||
while (i--) {
|
||||
name = names[i];
|
||||
name = names[i];
|
||||
nativeHandler = defaultNativeHandler;
|
||||
fakeName = capture = false;
|
||||
|
||||
@@ -4865,7 +4874,7 @@ tinymce.dom = {};
|
||||
// If it already has an native handler then just push the callback
|
||||
callbackList.push({func: callback, scope: scope});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
target = callbackList = 0; // Clean memory for IE
|
||||
|
||||
@@ -4890,7 +4899,7 @@ tinymce.dom = {};
|
||||
names = names.split(' ');
|
||||
i = names.length;
|
||||
while (i--) {
|
||||
name = names[i];
|
||||
name = names[i];
|
||||
callbackList = eventMap[name];
|
||||
|
||||
// Unbind the event if it exists in the map
|
||||
@@ -4911,7 +4920,7 @@ tinymce.dom = {};
|
||||
removeEvent(target, callbackList.fakeName || name, w3cEventModel ? callbackList.nativeHandler : callbackList.proxyHandler, callbackList.capture);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
// All events for a specific element
|
||||
for (name in eventMap) {
|
||||
|
||||
@@ -81,6 +81,7 @@ class XmlForm_Field_WYSIWYG_EDITOR extends XmlForm_Field
|
||||
case 'EMAIL_TEMPLATE':
|
||||
$editorDefinition.= '
|
||||
// is necessary the process uid variable in order to load the picker correctly
|
||||
var actualCaretPositionBookmark;
|
||||
var formProcessID = document.getElementById("form[pro_uid]").value;
|
||||
tinyMCE.init({
|
||||
theme : "advanced",
|
||||
@@ -109,6 +110,14 @@ class XmlForm_Field_WYSIWYG_EDITOR extends XmlForm_Field
|
||||
this.save();
|
||||
}
|
||||
return true;
|
||||
},
|
||||
setup: function (ed) {
|
||||
ed.onKeyUp.add(function (ed, e) {
|
||||
actualCaretPositionBookmark = tinyMCE.activeEditor.selection.getBookmark();
|
||||
});
|
||||
ed.onClick.add(function (ed, e) {
|
||||
actualCaretPositionBookmark = tinyMCE.activeEditor.selection.getBookmark();
|
||||
});
|
||||
}
|
||||
});
|
||||
';
|
||||
@@ -146,6 +155,7 @@ class XmlForm_Field_WYSIWYG_EDITOR extends XmlForm_Field
|
||||
$editorDefinition.= '
|
||||
var formProcessID = document.getElementById("form[PRO_UID]").value;
|
||||
var formDynaformID = document.getElementById("form[DYN_UID]").value;
|
||||
var actualCaretPositionBookmark;
|
||||
tinyMCE.init({
|
||||
theme : "advanced",
|
||||
plugins : "advhr,advimage,advlink,advlist,autolink,autoresize,contextmenu,directionality,emotions,example,example_dependency,fullpage,fullscreen,iespell,inlinepopups,insertdatetime,layer,legacyoutput,lists,media,nonbreaking,noneditable,pagebreak,paste,preview,print,save,searchreplace,style,tabfocus,table,template,visualblocks,visualchars,wordcount,xhtmlxtras,style,table,noneditable,pmFieldPicker",
|
||||
@@ -160,7 +170,7 @@ class XmlForm_Field_WYSIWYG_EDITOR extends XmlForm_Field
|
||||
popup_css : "/js/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/dialog.css",
|
||||
skin : "o2k7",
|
||||
skin_variant : "silver",
|
||||
content_css : "/css/classic.css",
|
||||
content_css : "/css/'.SYS_SKIN.'.css",
|
||||
template_external_list_url : "js/template_list.js",
|
||||
external_link_list_url : "js/link_list.js",
|
||||
external_image_list_url : "js/image_list.js",
|
||||
@@ -181,6 +191,14 @@ class XmlForm_Field_WYSIWYG_EDITOR extends XmlForm_Field
|
||||
this.save();
|
||||
}
|
||||
return true;
|
||||
},
|
||||
setup: function (ed) {
|
||||
ed.onKeyUp.add(function (ed, e) {
|
||||
actualCaretPositionBookmark = tinyMCE.activeEditor.selection.getBookmark();
|
||||
});
|
||||
ed.onClick.add(function (ed, e) {
|
||||
actualCaretPositionBookmark = tinyMCE.activeEditor.selection.getBookmark();
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
@@ -1,14 +1,25 @@
|
||||
var setVariablePickerJS = function(){
|
||||
|
||||
document.getElementById('_Var_Form_').addEventListener('dblclick', function(){
|
||||
if (document.getElementById('_Var_Form_').addEventListener) // W3C DOM
|
||||
document.getElementById('_Var_Form_').addEventListener('dblclick', function(){
|
||||
if (this.getAttribute('displayOption')=='event'){
|
||||
e.insertFormVar(this.value.substring(2), this.value.substring(2), 'dyn' );
|
||||
} else {
|
||||
insertFormVar(document.getElementById('selectedField').value, this.value);
|
||||
}
|
||||
});
|
||||
|
||||
/**
|
||||
});
|
||||
else if (document.getElementById('selectedField').attachEvent) { // IE DOM
|
||||
var element = document.getElementById('_Var_Form_');
|
||||
element.attachEvent("ondblclick", function(){
|
||||
if (element.displayOption=='event'){
|
||||
e.insertFormVar(element.value.substring(2), element.value.substring(2), 'dyn' );
|
||||
} else {
|
||||
insertFormVar(document.getElementById('selectedField').value, element.value);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Function getVariableList returns a list with all process variables
|
||||
*
|
||||
* @access public
|
||||
|
||||
@@ -576,6 +576,7 @@ var dynaformEditor={
|
||||
}
|
||||
if ((response.error==0) && (this.htmlEditorLoaded))
|
||||
{
|
||||
alert("hi");
|
||||
// window._editorHTML.doc.body.innerHTML=response.html;
|
||||
// html_html2();
|
||||
// html2_html();
|
||||
|
||||
53
workflow/engine/methods/outputdocs/testTiny.php
Normal file
53
workflow/engine/methods/outputdocs/testTiny.php
Normal file
@@ -0,0 +1,53 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* To change this template, choose Tools | Templates
|
||||
* and open the template in the editor.
|
||||
*/
|
||||
?>
|
||||
<script src="/js/maborak/core/maborak.js"></script>
|
||||
<!--<script src="/js/tinymce/jscripts/tiny_mce/tiny_mce_src.js"></script>-->
|
||||
|
||||
|
||||
<script type="text/javascript">
|
||||
tinyMCE.baseURL = "/js/tinymce/jscripts/tiny_mce";
|
||||
tinyMCE.init({
|
||||
// General options
|
||||
mode : "textareas",
|
||||
theme : "advanced",
|
||||
plugins : "autolink,lists,spellchecker,pagebreak,style,layer,table,save,advhr,advimage,advlink,emotions,iespell,inlinepopups,insertdatetime,preview,media,searchreplace,print,contextmenu,paste,directionality,fullscreen,noneditable,visualchars,nonbreaking,xhtmlxtras,template",
|
||||
|
||||
// Theme options
|
||||
theme_advanced_buttons1 : "save,newdocument,|,bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,|,styleselect,formatselect,fontselect,fontsizeselect",
|
||||
theme_advanced_buttons2 : "cut,copy,paste,pastetext,pasteword,|,search,replace,|,bullist,numlist,|,outdent,indent,blockquote,|,undo,redo,|,link,unlink,anchor,image,cleanup,help,code,|,insertdate,inserttime,preview,|,forecolor,backcolor",
|
||||
theme_advanced_buttons3 : "tablecontrols,|,hr,removeformat,visualaid,|,sub,sup,|,charmap,emotions,iespell,media,advhr,|,print,|,ltr,rtl,|,fullscreen",
|
||||
theme_advanced_buttons4 : "insertlayer,moveforward,movebackward,absolute,|,styleprops,spellchecker,|,cite,abbr,acronym,del,ins,attribs,|,visualchars,nonbreaking,template,blockquote,pagebreak,|,insertfile,insertimage",
|
||||
theme_advanced_toolbar_location : "top",
|
||||
theme_advanced_toolbar_align : "left",
|
||||
theme_advanced_statusbar_location : "bottom",
|
||||
theme_advanced_resizing : true,
|
||||
|
||||
// Skin options
|
||||
skin : "o2k7",
|
||||
skin_variant : "silver",
|
||||
|
||||
// Example content CSS (should be your site CSS)
|
||||
content_css : "css/example.css",
|
||||
|
||||
// Drop lists for link/image/media/template dialogs
|
||||
template_external_list_url : "js/template_list.js",
|
||||
external_link_list_url : "js/link_list.js",
|
||||
external_image_list_url : "js/image_list.js",
|
||||
media_external_list_url : "js/media_list.js",
|
||||
|
||||
// Replace values for the template plugin
|
||||
template_replace_values : {
|
||||
username : "Some User",
|
||||
staffid : "991234"
|
||||
}
|
||||
});
|
||||
</script>
|
||||
|
||||
<form method="post" action="somepage">
|
||||
<textarea name="content" style="width:100%"></textarea>
|
||||
</form>
|
||||
8
workflow/engine/methods/outputdocs/testTinyFrame.php
Normal file
8
workflow/engine/methods/outputdocs/testTinyFrame.php
Normal file
@@ -0,0 +1,8 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* To change this template, choose Tools | Templates
|
||||
* and open the template in the editor.
|
||||
*/
|
||||
?>
|
||||
<iframe src="http://gustavo.pmos.net/sysworkflow/en/classic/outputdocs/testTiny" width="100%" height="100%"/>
|
||||
Reference in New Issue
Block a user