mirror of
https://github.com/friendica/friendica
synced 2025-04-24 09:50:11 +00:00
TinyMCE 3.5.8 update; some fixes
This commit is contained in:
parent
c9cce9873d
commit
d39a2e8a9d
48 changed files with 2213 additions and 2054 deletions
File diff suppressed because one or more lines are too long
|
@ -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();
|
||||
|
@ -722,7 +724,8 @@
|
|||
} else {
|
||||
actions = {
|
||||
defaultAction: convertListItemToParagraph,
|
||||
elements: this.selectedBlocks()
|
||||
elements: this.selectedBlocks(),
|
||||
processEvenIfEmpty: true
|
||||
};
|
||||
}
|
||||
this.process(actions);
|
||||
|
@ -826,7 +829,7 @@
|
|||
|
||||
function processElement(element) {
|
||||
dom.removeClass(element, '_mce_act_on');
|
||||
if (!element || element.nodeType !== 1 || selectedBlocks.length > 1 && isEmptyElement(element)) {
|
||||
if (!element || element.nodeType !== 1 || ! actions.processEvenIfEmpty && selectedBlocks.length > 1 && isEmptyElement(element)) {
|
||||
return;
|
||||
}
|
||||
element = findItemToOperateOn(element, dom);
|
||||
|
@ -838,7 +841,7 @@
|
|||
}
|
||||
|
||||
function recurse(element) {
|
||||
t.splitSafeEach(element.childNodes, processElement);
|
||||
t.splitSafeEach(element.childNodes, processElement, true);
|
||||
}
|
||||
|
||||
function brAtEdgeOfSelection(container, offset) {
|
||||
|
@ -889,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);
|
||||
|
@ -932,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;
|
||||
},
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue