[geeklog-hg] geeklog: Optimized?code for Advanced Editor

geeklog-cvs at lists.geeklog.net geeklog-cvs at lists.geeklog.net
Sat Aug 17 09:18:25 EDT 2013


changeset 9255:f729429c6b8e
url:  http://project.geeklog.net/cgi-bin/hgwebdir.cgi/geeklog/rev/f729429c6b8e
user: dengen <taharaxp at gmail.com>
date: Sat Aug 17 22:18:02 2013 +0900
description:
Optimized?code for Advanced Editor

diffstat:

 public_html/javascript/advanced_editor.js       |  22 ++++++++++++++--------
 public_html/javascript/story_editor.js          |  13 +++++++++++++
 public_html/javascript/storyeditor_adveditor.js |  14 --------------
 3 files changed, 27 insertions(+), 22 deletions(-)

diffs (90 lines):

diff -r f9971705d9f1 -r f729429c6b8e public_html/javascript/advanced_editor.js
--- a/public_html/javascript/advanced_editor.js	Thu Aug 15 21:40:33 2013 +0900
+++ b/public_html/javascript/advanced_editor.js	Sat Aug 17 22:18:02 2013 +0900
@@ -75,7 +75,7 @@
         this.api[this.editor].newEditor(this.TextareaId[i].advanced, {toolbar:bar});
     }
 
-    this.addEventListener();
+    this.addEvent();
 
     var elem;
     elem = document.getElementById(this.ContainerId);
@@ -121,6 +121,19 @@
     }
 }
 
+AdvancedEditor.addEvent = function() {
+    var elem = document.getElementById(this.EditModeId);
+    this.addEventListener(elem, 'change', this.onchange_editmode);
+}
+
+AdvancedEditor.addEventListener = function(target, type, listener) {
+    if (target.addEventListener) {
+        target.addEventListener(type, listener, false);
+    } else if (target.attachEvent) {
+        target.attachEvent('on' + type, listener); // support legacy IE
+    }
+}
+
 AdvancedEditor.onchange_editmode = function() {
     if (AdvancedEditor.isAdvancedMode()) {
         document.getElementById('text_editor').style.display = 'none';
@@ -132,13 +145,6 @@
     AdvancedEditor.swapEditorContent();
 }
 
-AdvancedEditor.addEventListener = function() {
-//    document.getElementById(this.EditModeId)
-//        .addEventListener("change", this.onchange_editmode, false);
-    var elem = document.getElementById(this.EditModeId);
-    elem.onchange = this.onchange_editmode;
-}
-
 function changeToolbar(toolbar) {
     AdvancedEditor.changeToolbar(toolbar);
 }
diff -r f9971705d9f1 -r f729429c6b8e public_html/javascript/story_editor.js
--- a/public_html/javascript/story_editor.js	Thu Aug 15 21:40:33 2013 +0900
+++ b/public_html/javascript/story_editor.js	Sat Aug 17 22:18:02 2013 +0900
@@ -148,6 +148,19 @@
 
     }
 
+    $(function() {
+        var elem = document.getElementById('sel_editmode');
+        if (elem.addEventListener) {
+          elem.addEventListener('change', modifyNavlist, false);
+        } else if (elem.attachEvent) {
+          elem.attachEvent('onchange', modifyNavlist);
+        }
+        function modifyNavlist() {
+            var navlistcount = document.getElementById('navlist').getElementsByTagName('li').length;
+            showhideEditorDiv('editor', navlistcount - 6);
+        }
+    });
+
     /* Enable if you want to have toolbar only auto-collapse when not editing in field */
     /*
     function FCKeditor_OnComplete( editorInstance )  {
diff -r f9971705d9f1 -r f729429c6b8e public_html/javascript/storyeditor_adveditor.js
--- a/public_html/javascript/storyeditor_adveditor.js	Thu Aug 15 21:40:33 2013 +0900
+++ b/public_html/javascript/storyeditor_adveditor.js	Sat Aug 17 22:18:02 2013 +0900
@@ -36,17 +36,3 @@
         toolbar:1,
     });
 }
-
-// Override event listener
-AdvancedEditor.onchange_editmode = function() {
-    var navlistcount = document.getElementById('navlist').getElementsByTagName('li').length;
-    showhideEditorDiv('editor', navlistcount - 6);
-    if (AdvancedEditor.isAdvancedMode()) {
-        document.getElementById('text_editor').style.display = 'none';
-        document.getElementById('html_editor').style.display = '';
-    } else {
-        document.getElementById('text_editor').style.display = '';
-        document.getElementById('html_editor').style.display = 'none';
-    }
-    AdvancedEditor.swapEditorContent();
-}



More information about the geeklog-cvs mailing list