|
From: Jon O. <jon...@us...> - 2008-05-21 21:58:17
|
Update of /cvsroot/mxbb/mx_simpledoc/simpledoc/includes/js In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv16738 Modified Files: management.js.php Log Message: rewritten, a lot, for tinyMCE Index: management.js.php =================================================================== RCS file: /cvsroot/mxbb/mx_simpledoc/simpledoc/includes/js/management.js.php,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** management.js.php 2 Jun 2007 21:42:17 -0000 1.6 --- management.js.php 21 May 2008 21:58:12 -0000 1.7 *************** *** 44,48 **** var tabsLoading = new Fader("tabs-loading"); var tabsSaving = new Fader("tabs-saving"); - //var AjaxRequest = new AjaxRequest(); function tabsLoadingOn() { document.getElementById("tabs-loading").style.display = "block"; tabsLoading.start(); } --- 44,47 ---- *************** *** 77,80 **** --- 76,80 ---- return; } + checkContentSaved(); *************** *** 85,89 **** ,'onLoading':function() { clearTabs(); tabsLoadingOn(); } ,'onComplete':function() { tabsLoadingOff(); } ! ,'onSuccess':function(req){ el('tabs-data').innerHTML = req.responseText; initSimpleEditor(); el('body-tmp').value = el('body').value; updateTabs('tab2'); dhtmlHistory.add( treeGetId(), el(tree.active+"-text").innerHTML );} ,'onError':function(req){ el('tabs-data').innerHTML = 'Error!\nStatusText='+req.statusText+'\nContents='+req.responseText;} ,'timeout':5000 --- 85,90 ---- ,'onLoading':function() { clearTabs(); tabsLoadingOn(); } ,'onComplete':function() { tabsLoadingOff(); } ! ,'onSuccess':function(req){ el('tabs-data').innerHTML = req.responseText; initTinyMCEEditor(); updateTabs('tab2'); dhtmlHistory.add( treeGetId(), el(tree.active+"-text").innerHTML );} ! //,'onSuccess':function(req){ el('tabs-data').innerHTML = req.responseText; initTinyMCEEditor(); el('body-tmp').value = el('body').value; updateTabs('tab2'); dhtmlHistory.add( treeGetId(), el(tree.active+"-text").innerHTML );} ,'onError':function(req){ el('tabs-data').innerHTML = 'Error!\nStatusText='+req.statusText+'\nContents='+req.responseText;} ,'timeout':5000 *************** *** 93,98 **** } ! var ste = null; ! function initSimpleEditor(){ ste = new SimpleTextEditor("body", "ste"); ste.path = "modules/mx_simpledoc/simpledoc/shared/SimpleTextEditor/"; --- 94,100 ---- } ! /* ! var ste = null; ! function initSimpleEditor(){ ste = new SimpleTextEditor("body", "ste"); ste.path = "modules/mx_simpledoc/simpledoc/shared/SimpleTextEditor/"; *************** *** 105,108 **** --- 107,117 ---- } } + */ + + function initTinyMCEEditor(){ + tinyMCE.execCommand('mceAddControl', false, 'body'); + // var inst = tinyMCE.getInstanceById('body'); + // MyEditor = inst.editorId; + } function documentPreview() { *************** *** 112,115 **** --- 121,126 ---- } + checkContentSaved(); + AjaxRequest.get( { *************** *** 136,140 **** 'url':'modules/mx_simpledoc/simpledoc/modules/simpledoc__tab-view-publish.php' ,'parameters':{ 'id': escape(treeGetId()), 'block_id':mxBlock.block_id, 'page_id':mxBlock.page_id } ! ,'onLoading':function() { el('tabs-data').innerHTML = ""; tabsLoadingOn(); } ,'onComplete':function() { tabsLoadingOff(); } ,'onSuccess':function(req){ el('tabs-data').innerHTML = stripBodyHtml(req.responseText); generateParentTOC('view'); generateTOC('view');} --- 147,151 ---- 'url':'modules/mx_simpledoc/simpledoc/modules/simpledoc__tab-view-publish.php' ,'parameters':{ 'id': escape(treeGetId()), 'block_id':mxBlock.block_id, 'page_id':mxBlock.page_id } ! ,'onLoading':function() { clearTabs(); tabsLoadingOn(); } ,'onComplete':function() { tabsLoadingOff(); } ,'onSuccess':function(req){ el('tabs-data').innerHTML = stripBodyHtml(req.responseText); generateParentTOC('view'); generateTOC('view');} *************** *** 146,149 **** --- 157,183 ---- } + function saveContent() { + + AjaxRequest.post( + { + 'url':'modules/mx_simpledoc/simpledoc/modules/simpledoc__tab-save-content.php' + ,'parameters':{ 'id':escape(treeGetId()), 'block_id':mxBlock.block_id, 'page_id':mxBlock.page_id, 'body':tinyMCE.getContent() } + ,'onLoading':function() { tabsSavingOn(); el('save-document').disabled = true;} + ,'onComplete':function() { tabsSavingOff(); } + ,'onSuccess':function(req){ el('save-document').disabled = false; } + ,'onError':function(req){ el('tabs-data').innerHTML = 'Error!\nStatusText='+req.statusText+'\nContents='+req.responseText;} + ,'timeout':5000 + ,'onTimeout':function(){ clearTabs(); tabsLoadingOff(); el('tabs-data').innerHTML = 'Timed out. Try again!'; } + } + ); + + el("saved").innerHTML = "Saved successfuly on "+(new Date()+"<br>(this message will disappear in 2 seconds)"); + if (savedTimerID) clearTimeout(savedTimerID); + savedTimerID = setTimeout(function(){ el("saved").innerHTML = "";}, 1000); + + tinyMCE.selectedInstance.undoRedo.undoLevels = []; + } + + /* function saveContent(theform) { *************** *** 176,179 **** --- 210,214 ---- return status; } + */ // this snippet doesn't work if there is a folder named "html" *************** *** 181,192 **** function generateTOC(mode) { var contents = ""; ! var link = escape(treeGetId()); contents = '<div><a target="_blank" href="index.php?page='+mxBlock.page_id+'&mode='+mode+'#'+link+'">Permanent Link to this page</a></div>'; ! var all = document.getElementById("tabs-data").childNodes; var contents2 = ""; var text = ""; var found = false; var h3 = false; --- 216,229 ---- function generateTOC(mode) { var contents = ""; ! //var link = escape(treeGetId()); ! var link = treeGetId(); contents = '<div><a target="_blank" href="index.php?page='+mxBlock.page_id+'&mode='+mode+'#'+link+'">Permanent Link to this page</a></div>'; ! var all = document.getElementById("tabs-data").getElementsByTagName('*'); var contents2 = ""; var text = ""; var found = false; + var h2 = false; var h3 = false; *************** *** 194,203 **** for (var i = 0; i < all.length; ++i) { ! if (all[i].nodeName == "H2" || all[i].nodeName == "H3") { ! if (all[i].nodeName == "H2") { ! if (h3) contents2 += '</ul>'; h3 = false; } if (all[i].nodeName == "H3") { if (!h3) contents2 += '<ul>'; --- 231,248 ---- for (var i = 0; i < all.length; ++i) { ! if (all[i].nodeName == "H1" || all[i].nodeName == "H2" || all[i].nodeName == "H3") { ! if (all[i].nodeName == "H1") { ! if (h3 || h2) contents2 += '</ul>'; ! h2 = false; h3 = false; } + + if (all[i].nodeName == "H2") { + if (h3) contents2 += '</ul>'; + if (!h2) contents2 += '<ul>'; + h2 = true; + } + if (all[i].nodeName == "H3") { if (!h3) contents2 += '<ul>'; *************** *** 208,216 **** text = all[i].innerHTML.replace(/<[^>]+>/g,""); all[i].innerHTML = '<a name="'+text+'">'+text+'</a>'; ! contents2 += '<li><a href="index.php?page='+mxBlock.page_id+'&mode='+mode+'#'+text+'">'+text+'</a></li>'; } } contents2 += '</ul>'; if (found) { if (contents) contents += '<br>'; --- 253,263 ---- text = all[i].innerHTML.replace(/<[^>]+>/g,""); all[i].innerHTML = '<a name="'+text+'">'+text+'</a>'; ! var str_temp = document.URL.split("#", 1); ! contents2 += '<li><a href="'+str_temp+'#'+text+'">'+text+'</a></li>'; } } contents2 += '</ul>'; + if (found) { if (contents) contents += '<br>'; *************** *** 262,266 **** function stripBodyHtml(html) { ! // Remove HTML comments //html = html.replace(/<!--[\w\s\d@{}:.;,'"%!#_=&|?~()[*+\/\-\]]*-->/gi, "" ); // Remove all HTML tags --- 309,313 ---- function stripBodyHtml(html) { ! // Remove HTML comments //html = html.replace(/<!--[\w\s\d@{}:.;,'"%!#_=&|?~()[*+\/\-\]]*-->/gi, "" ); // Remove all HTML tags *************** *** 309,312 **** --- 356,360 ---- var savedTimerID = null; + /* function isContentSaved() { if (ste && el("body") && el("save-document")) { *************** *** 318,321 **** --- 366,380 ---- return true; } + */ + + function isContentSaved() { + if (el("save-document")) { + if (tinyMCE.selectedInstance.undoRedo.undoLevels.length > 1) { + return false; + } + } + return true; + } + function checkContentSaved() { if (!isContentSaved()) { *************** *** 333,339 **** function updateTabs(active){ ! el('tab1').className = "tab"+((active=='tab1')?"-active":""); ! el('tab2').className = "tab"+((active=='tab2')?"-active":"")+" right"; ! el('tab3').className = "tab"+((active=='tab3')?"-active":"")+" view"; } --- 392,398 ---- function updateTabs(active){ ! el('tab1').className = "tab"+((active=='tab1')?"-active":""); ! el('tab2').className = "tab"+((active=='tab2')?"-active":"")+" right"; ! el('tab3').className = "tab"+((active=='tab3')?"-active":"")+" view"; } |