mirror of
https://github.com/the-djmaze/snappymail.git
synced 2026-07-13 03:27:39 +03:00
Squire bugfixes
This commit is contained in:
parent
deae36d8c8
commit
48acb9ca38
1 changed files with 18 additions and 12 deletions
30
vendors/squire/build/squire-raw.js
vendored
30
vendors/squire/build/squire-raw.js
vendored
|
|
@ -24,9 +24,9 @@
|
||||||
var createTreeWalker = (root, whatToShow, filter) => document.createTreeWalker(
|
var createTreeWalker = (root, whatToShow, filter) => document.createTreeWalker(
|
||||||
root,
|
root,
|
||||||
whatToShow,
|
whatToShow,
|
||||||
filter ? {
|
{
|
||||||
acceptNode: (node) => filter(node) ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_SKIP
|
acceptNode: (node) => !filter || filter(node) ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_SKIP
|
||||||
} : null
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
// source/Constants.ts
|
// source/Constants.ts
|
||||||
|
|
@ -100,12 +100,7 @@
|
||||||
props = null;
|
props = null;
|
||||||
}
|
}
|
||||||
if (props) {
|
if (props) {
|
||||||
for (const attr in props) {
|
setAttributes(el, props);
|
||||||
const value = props[attr];
|
|
||||||
if (value !== void 0) {
|
|
||||||
el.setAttribute(attr, value);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
if (children) {
|
if (children) {
|
||||||
children.forEach((node) => el.append(node));
|
children.forEach((node) => el.append(node));
|
||||||
|
|
@ -200,6 +195,17 @@
|
||||||
node = (_a = node && !node.closest ? node.parentElement : node) == null ? void 0 : _a.closest(selector);
|
node = (_a = node && !node.closest ? node.parentElement : node) == null ? void 0 : _a.closest(selector);
|
||||||
return node && root.contains(node) ? node : null;
|
return node && root.contains(node) ? node : null;
|
||||||
};
|
};
|
||||||
|
var setAttributes = (node, props) => {
|
||||||
|
props && Object.entries(props).forEach(([k, v]) => {
|
||||||
|
if (null == v) {
|
||||||
|
node.removeAttribute(k);
|
||||||
|
} else if ("style" === k && typeof v === "object") {
|
||||||
|
Object.entries(v).forEach(([k2, v2]) => node.style[k2] = v2);
|
||||||
|
} else {
|
||||||
|
node.setAttribute(k, v);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
// source/node/Whitespace.ts
|
// source/node/Whitespace.ts
|
||||||
var notWSTextNode = (node) => {
|
var notWSTextNode = (node) => {
|
||||||
|
|
@ -1273,7 +1279,7 @@
|
||||||
let textContent = "";
|
let textContent = "";
|
||||||
let addedTextInBlock = false;
|
let addedTextInBlock = false;
|
||||||
let value;
|
let value;
|
||||||
if (!(node instanceof Element) && !(node instanceof Text) || !walker.filter(node)) {
|
if (!(node instanceof Element) && !(node instanceof Text) || NodeFilter.FILTER_ACCEPT !== walker.filter.acceptNode(node)) {
|
||||||
node = walker.nextNode();
|
node = walker.nextNode();
|
||||||
}
|
}
|
||||||
while (node) {
|
while (node) {
|
||||||
|
|
@ -3003,7 +3009,7 @@
|
||||||
);
|
);
|
||||||
let { startContainer, startOffset, endContainer, endOffset } = range;
|
let { startContainer, startOffset, endContainer, endOffset } = range;
|
||||||
walker.currentNode = startContainer;
|
walker.currentNode = startContainer;
|
||||||
if (!(startContainer instanceof Element) && !(startContainer instanceof Text) || !walker.filter(startContainer)) {
|
if (!(startContainer instanceof Element) && !(startContainer instanceof Text) || NodeFilter.FILTER_ACCEPT !== walker.filter.acceptNode(startContainer)) {
|
||||||
const next = walker.nextNode();
|
const next = walker.nextNode();
|
||||||
if (!next) {
|
if (!next) {
|
||||||
return range;
|
return range;
|
||||||
|
|
@ -3819,7 +3825,7 @@
|
||||||
let range = this.getSelection();
|
let range = this.getSelection();
|
||||||
let start = (range == null ? void 0 : range.startContainer) || {};
|
let start = (range == null ? void 0 : range.startContainer) || {};
|
||||||
let end = (range == null ? void 0 : range.endContainer) || {};
|
let end = (range == null ? void 0 : range.endContainer) || {};
|
||||||
if ("dir" == name || isTextNode(start) && 0 === range.startOffset && start === end && end.length === range.endOffset) {
|
if ("dir" == name || start instanceof Text && 0 === range.startOffset && start === end && end.length === range.endOffset) {
|
||||||
this._recordUndoState(range);
|
this._recordUndoState(range);
|
||||||
setAttributes(start.parentNode, { [name]: value });
|
setAttributes(start.parentNode, { [name]: value });
|
||||||
this._docWasChanged();
|
this._docWasChanged();
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue