Aleksander Machniak
2012-07-30 750fcf8ece50e8d3b34439723d3ed788808e94f6
program/js/tiny_mce/plugins/lists/editor_plugin_src.js
@@ -440,9 +440,9 @@
         }
         function fixDeletingFirstCharOfList(ed, e) {
            function listElements(list, li) {
            function listElements(li) {
               var elements = [];
               var walker = new tinymce.dom.TreeWalker(li, list);
               var walker = new tinymce.dom.TreeWalker(li.firstChild, li);
               for (var node = walker.current(); node; node = walker.next()) {
                  if (ed.dom.is(node, 'ol,ul,li')) {
                     elements.push(node);
@@ -454,9 +454,11 @@
            if (e.keyCode == tinymce.VK.BACKSPACE) {
               var li = getLi();
               if (li) {
                  var list = ed.dom.getParent(li, 'ol,ul');
                  if (list && list.firstChild === li) {
                     var elements = listElements(list, li);
                  var list = ed.dom.getParent(li, 'ol,ul'),
                     rng  = ed.selection.getRng();
                  if (list && list.firstChild === li && rng.startOffset == 0) {
                     var elements = listElements(li);
                     elements.unshift(li);
                     ed.execCommand("Outdent", false, elements);
                     ed.undoManager.add();
                     return Event.cancel(e);
@@ -474,7 +476,7 @@
                  ed.dom.remove(li, true);
                  var textNodes = tinymce.grep(prevLi.childNodes, function(n){ return n.nodeType === 3 });
                  if (textNodes.length === 1) {
                     var textNode = textNodes[0]
                     var textNode = textNodes[0];
                     ed.selection.setCursorLocation(textNode, textNode.length);
                  }
                  ed.undoManager.add();
@@ -839,7 +841,7 @@
         }
         function recurse(element) {
            t.splitSafeEach(element.childNodes, processElement);
            t.splitSafeEach(element.childNodes, processElement, true);
         }
         function brAtEdgeOfSelection(container, offset) {
@@ -890,9 +892,11 @@
         }
      },
      splitSafeEach: function(elements, f) {
         if (tinymce.isGecko && (/Firefox\/[12]\.[0-9]/.test(navigator.userAgent) ||
               /Firefox\/3\.[0-4]/.test(navigator.userAgent))) {
      splitSafeEach: function(elements, f, forceClassBase) {
         if (forceClassBase ||
            (tinymce.isGecko &&
               (/Firefox\/[12]\.[0-9]/.test(navigator.userAgent) ||
                /Firefox\/3\.[0-4]/.test(navigator.userAgent)))) {
            this.classBasedEach(elements, f);
         } else {
            each(elements, f);
@@ -933,8 +937,7 @@
      },
      selectedBlocks: function() {
         var ed = this.ed
         var selectedBlocks = ed.selection.getSelectedBlocks();
         var ed = this.ed, selectedBlocks = ed.selection.getSelectedBlocks();
         return selectedBlocks.length == 0 ? [ ed.dom.getRoot() ] : selectedBlocks;
      },