mirror of
https://github.com/the-djmaze/snappymail.git
synced 2026-07-13 03:27:39 +03:00
Changes for #1412
This commit is contained in:
parent
9eb5646aec
commit
a352ebff25
40 changed files with 102 additions and 46 deletions
27
vendors/squire/build/squire-raw.js
vendored
27
vendors/squire/build/squire-raw.js
vendored
|
|
@ -1808,12 +1808,12 @@ const
|
|||
|
||||
setAttributes = (node, props) => {
|
||||
props && Object.entries(props).forEach(([k,v]) => {
|
||||
if ("style" === k && typeof v === "object") {
|
||||
Object.entries(v).forEach(([k,v]) => node.style[k] = v);
|
||||
} else if (v != null) {
|
||||
node.setAttribute(k, v);
|
||||
} else {
|
||||
if (null == v) {
|
||||
node.removeAttribute(k);
|
||||
} else if ("style" === k && typeof v === "object") {
|
||||
Object.entries(v).forEach(([k,v]) => node.style[k] = v);
|
||||
} else {
|
||||
node.setAttribute(k, v);
|
||||
}
|
||||
});
|
||||
},
|
||||
|
|
@ -2262,7 +2262,7 @@ class Squire
|
|||
},
|
||||
formatRemove: event => {
|
||||
event.preventDefault();
|
||||
this.setStyle(null);
|
||||
this.setStyle();
|
||||
},
|
||||
formatSetBlockTextDirection: event => {
|
||||
event.preventDefault();
|
||||
|
|
@ -3665,9 +3665,20 @@ class Squire
|
|||
let end = range ? range.endContainer : 0;
|
||||
// When the selection is all the text inside an element, set style on the element itself
|
||||
if ("dir" == name || (isTextNode(start) && 0 === range.startOffset && start === end && end.length === range.endOffset)) {
|
||||
this.saveUndoState(range);
|
||||
this._recordUndoState(range);
|
||||
setAttributes(start.parentNode, {[name]: value});
|
||||
this.setRange(range);
|
||||
// this.setRange(range);
|
||||
this._docWasChanged();
|
||||
}
|
||||
// Else when it should remove the attribute
|
||||
else if (null == value) {
|
||||
this._recordUndoState(range);
|
||||
let node = getClosest(range.commonAncestorContainer, this._root, '*');
|
||||
range.collapsed
|
||||
? setAttributes(node, {[name]: value})
|
||||
: node.querySelectorAll('*').forEach(el => setAttributes(el, {[name]: value}));
|
||||
// this.setRange(range);
|
||||
this._docWasChanged();
|
||||
}
|
||||
// Else create a span element
|
||||
else {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue