@worktile/theia 17.4.0 → 17.4.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { AngularEditor, createClipboardData, getPlainText, setClipboardData } from 'slate-angular';
|
|
1
|
+
import { AngularEditor, createClipboardData, getPlainText, isClipboardWriteSupported, setClipboardData } from 'slate-angular';
|
|
2
2
|
import { TheiaConverter } from '@atinc/selene';
|
|
3
3
|
import { cloneDeep } from './lodash';
|
|
4
4
|
export const setClipboardDataByDom = async (e, fragment, data) => {
|
|
@@ -7,9 +7,11 @@ export const setClipboardDataByDom = async (e, fragment, data) => {
|
|
|
7
7
|
const domRange = AngularEditor.toDOMRange(e, e.selection);
|
|
8
8
|
const contents = domRange.cloneContents();
|
|
9
9
|
const div = document.createElement('div');
|
|
10
|
-
|
|
10
|
+
const child = document.createElement('div');
|
|
11
|
+
child.appendChild(contents);
|
|
12
|
+
div.appendChild(child);
|
|
11
13
|
div.setAttribute('hidden', 'true');
|
|
12
|
-
|
|
14
|
+
child.innerHTML = htmlString;
|
|
13
15
|
document.body.appendChild(div);
|
|
14
16
|
const attach = div.childNodes[0];
|
|
15
17
|
const plainText = getPlainText(div);
|
|
@@ -18,13 +20,17 @@ export const setClipboardDataByDom = async (e, fragment, data) => {
|
|
|
18
20
|
document.body.removeChild(div);
|
|
19
21
|
};
|
|
20
22
|
export function copyNode(e, element, thyNotifyService) {
|
|
23
|
+
if (!isClipboardWriteSupported()) {
|
|
24
|
+
thyNotifyService?.error('复制失败');
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
21
27
|
const fragment = cloneDeep(element);
|
|
22
28
|
return setClipboardDataByDom(e, fragment)
|
|
23
29
|
.then(() => {
|
|
24
|
-
thyNotifyService
|
|
30
|
+
thyNotifyService?.success('复制成功');
|
|
25
31
|
})
|
|
26
32
|
.catch(() => {
|
|
27
|
-
thyNotifyService
|
|
33
|
+
thyNotifyService?.error('复制失败');
|
|
28
34
|
});
|
|
29
35
|
}
|
|
30
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29weS1ub2RlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvc3JjL3V0aWxzL2NvcHktbm9kZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsYUFBYSxFQUFFLG1CQUFtQixFQUFFLFlBQVksRUFBRSx5QkFBeUIsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU5SCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFHckMsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsS0FBSyxFQUFFLENBQVksRUFBRSxRQUE2QixFQUFFLElBQW1CLEVBQUUsRUFBRTtJQUM1RyxNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDOUQsTUFBTSxVQUFVLEdBQUcsY0FBYyxDQUFDLGFBQWEsQ0FBQyxLQUFZLENBQUMsQ0FBQztJQUM5RCxNQUFNLFFBQVEsR0FBRyxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDMUQsTUFBTSxRQUFRLEdBQUcsUUFBUSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQzFDLE1BQU0sR0FBRyxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDMUMsTUFBTSxLQUFLLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUU1QyxLQUFLLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzVCLEdBQUcsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdkIsR0FBRyxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDbkMsS0FBSyxDQUFDLFNBQVMsR0FBRyxVQUFVLENBQUM7SUFDN0IsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUM7SUFFL0IsTUFBTSxNQUFNLEdBQUcsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQWdCLENBQUM7SUFDaEQsTUFBTSxTQUFTLEdBQUcsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3BDLE1BQU0sYUFBYSxHQUFHLG1CQUFtQixDQUFDLFVBQVUsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQzVFLE1BQU0sZ0JBQWdCLENBQUMsYUFBYSxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDekQsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDbkMsQ0FBQyxDQUFDO0FBRUYsTUFBTSxVQUFVLFFBQVEsQ0FBQyxDQUFZLEVBQUUsT0FBZ0IsRUFBRSxnQkFBbUM7SUFDeEYsSUFBSSxDQUFDLHlCQUF5QixFQUFFLEVBQUUsQ0FBQztRQUMvQixnQkFBZ0IsRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDaEMsT0FBTztJQUNYLENBQUM7SUFFRCxNQUFNLFFBQVEsR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDcEMsT0FBTyxxQkFBcUIsQ0FBQyxDQUFDLEVBQUUsUUFBUSxDQUFDO1NBQ3BDLElBQUksQ0FBQyxHQUFHLEVBQUU7UUFDUCxnQkFBZ0IsRUFBRSxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDdEMsQ0FBQyxDQUFDO1NBQ0QsS0FBSyxDQUFDLEdBQUcsRUFBRTtRQUNSLGdCQUFnQixFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNwQyxDQUFDLENBQUMsQ0FBQztBQUNYLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbGVtZW50IH0gZnJvbSAnc2xhdGUnO1xuaW1wb3J0IHsgQW5ndWxhckVkaXRvciwgY3JlYXRlQ2xpcGJvYXJkRGF0YSwgZ2V0UGxhaW5UZXh0LCBpc0NsaXBib2FyZFdyaXRlU3VwcG9ydGVkLCBzZXRDbGlwYm9hcmREYXRhIH0gZnJvbSAnc2xhdGUtYW5ndWxhcic7XG5pbXBvcnQgeyBUaHlOb3RpZnlTZXJ2aWNlIH0gZnJvbSAnbmd4LXRldGh5cy9ub3RpZnknO1xuaW1wb3J0IHsgVGhlaWFDb252ZXJ0ZXIgfSBmcm9tICdAYXRpbmMvc2VsZW5lJztcbmltcG9ydCB7IGNsb25lRGVlcCB9IGZyb20gJy4vbG9kYXNoJztcbmltcG9ydCB7IFRoZUVkaXRvciB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xuXG5leHBvcnQgY29uc3Qgc2V0Q2xpcGJvYXJkRGF0YUJ5RG9tID0gYXN5bmMgKGU6IFRoZUVkaXRvciwgZnJhZ21lbnQ6IEVsZW1lbnQgfCBFbGVtZW50W10sIGRhdGE/OiBEYXRhVHJhbnNmZXIpID0+IHtcbiAgICBjb25zdCBub2RlcyA9IEFycmF5LmlzQXJyYXkoZnJhZ21lbnQpID8gZnJhZ21lbnQgOiBbZnJhZ21lbnRdO1xuICAgIGNvbnN0IGh0bWxTdHJpbmcgPSBUaGVpYUNvbnZlcnRlci5jb252ZXJ0VG9IdG1sKG5vZGVzIGFzIGFueSk7XG4gICAgY29uc3QgZG9tUmFuZ2UgPSBBbmd1bGFyRWRpdG9yLnRvRE9NUmFuZ2UoZSwgZS5zZWxlY3Rpb24pO1xuICAgIGNvbnN0IGNvbnRlbnRzID0gZG9tUmFuZ2UuY2xvbmVDb250ZW50cygpO1xuICAgIGNvbnN0IGRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgIGNvbnN0IGNoaWxkID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG5cbiAgICBjaGlsZC5hcHBlbmRDaGlsZChjb250ZW50cyk7XG4gICAgZGl2LmFwcGVuZENoaWxkKGNoaWxkKTtcbiAgICBkaXYuc2V0QXR0cmlidXRlKCdoaWRkZW4nLCAndHJ1ZScpO1xuICAgIGNoaWxkLmlubmVySFRNTCA9IGh0bWxTdHJpbmc7XG4gICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChkaXYpO1xuXG4gICAgY29uc3QgYXR0YWNoID0gZGl2LmNoaWxkTm9kZXNbMF0gYXMgSFRNTEVsZW1lbnQ7XG4gICAgY29uc3QgcGxhaW5UZXh0ID0gZ2V0UGxhaW5UZXh0KGRpdik7XG4gICAgY29uc3QgY2xpcGJvYXJkRGF0YSA9IGNyZWF0ZUNsaXBib2FyZERhdGEoaHRtbFN0cmluZywgbm9kZXMsIHBsYWluVGV4dCwgW10pO1xuICAgIGF3YWl0IHNldENsaXBib2FyZERhdGEoY2xpcGJvYXJkRGF0YSwgZGl2LCBhdHRhY2gsIGRhdGEpO1xuICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoZGl2KTtcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBjb3B5Tm9kZShlOiBUaGVFZGl0b3IsIGVsZW1lbnQ6IEVsZW1lbnQsIHRoeU5vdGlmeVNlcnZpY2U/OiBUaHlOb3RpZnlTZXJ2aWNlKSB7XG4gICAgaWYgKCFpc0NsaXBib2FyZFdyaXRlU3VwcG9ydGVkKCkpIHtcbiAgICAgICAgdGh5Tm90aWZ5U2VydmljZT8uZXJyb3IoJ+WkjeWItuWksei0pScpO1xuICAgICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZnJhZ21lbnQgPSBjbG9uZURlZXAoZWxlbWVudCk7XG4gICAgcmV0dXJuIHNldENsaXBib2FyZERhdGFCeURvbShlLCBmcmFnbWVudClcbiAgICAgICAgLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgdGh5Tm90aWZ5U2VydmljZT8uc3VjY2Vzcygn5aSN5Yi25oiQ5YqfJyk7XG4gICAgICAgIH0pXG4gICAgICAgIC5jYXRjaCgoKSA9PiB7XG4gICAgICAgICAgICB0aHlOb3RpZnlTZXJ2aWNlPy5lcnJvcign5aSN5Yi25aSx6LSlJyk7XG4gICAgICAgIH0pO1xufVxuIl19
|
|
@@ -10,7 +10,7 @@ import { cloneDeep, map, assign, defaults, groupBy, uniq, isEqual } from 'lodash
|
|
|
10
10
|
export { assign, cloneDeep, debounce, defaults, groupBy, isEqual, map, uniq } from 'lodash';
|
|
11
11
|
import { Editor, Element, Span, Range, Path, Node, Point, Text, Transforms, Operation, createEditor } from 'slate';
|
|
12
12
|
import * as i4 from 'slate-angular';
|
|
13
|
-
import { NODE_TO_PARENT, NODE_TO_INDEX, getClipboardData, AngularEditor, hotkeys, getPlainText as getPlainText$1, createClipboardData, setClipboardData, BaseElementComponent, IS_SAFARI, ELEMENT_TO_COMPONENT, BaseTextComponent, SlateModule, hasBlockCard, isCardLeft, FAKE_RIGHT_BLOCK_CARD_OFFSET, SlateChildrenOutlet, EDITOR_TO_ELEMENT, defaultScrollSelectionIntoView, getDataTransferClipboard, withAngular } from 'slate-angular';
|
|
13
|
+
import { NODE_TO_PARENT, NODE_TO_INDEX, getClipboardData, AngularEditor, hotkeys, getPlainText as getPlainText$1, createClipboardData, setClipboardData, isClipboardWriteSupported, BaseElementComponent, IS_SAFARI, ELEMENT_TO_COMPONENT, BaseTextComponent, SlateModule, hasBlockCard, isCardLeft, FAKE_RIGHT_BLOCK_CARD_OFFSET, SlateChildrenOutlet, EDITOR_TO_ELEMENT, defaultScrollSelectionIntoView, getDataTransferClipboard, withAngular } from 'slate-angular';
|
|
14
14
|
import { HistoryEditor, withHistory } from 'slate-history';
|
|
15
15
|
import { TheiaConverter } from '@atinc/selene';
|
|
16
16
|
import { isObject, isArray, isString, isUndefined } from 'ngx-tethys/util';
|
|
@@ -1721,9 +1721,11 @@ const setClipboardDataByDom = async (e, fragment, data) => {
|
|
|
1721
1721
|
const domRange = AngularEditor.toDOMRange(e, e.selection);
|
|
1722
1722
|
const contents = domRange.cloneContents();
|
|
1723
1723
|
const div = document.createElement('div');
|
|
1724
|
-
|
|
1724
|
+
const child = document.createElement('div');
|
|
1725
|
+
child.appendChild(contents);
|
|
1726
|
+
div.appendChild(child);
|
|
1725
1727
|
div.setAttribute('hidden', 'true');
|
|
1726
|
-
|
|
1728
|
+
child.innerHTML = htmlString;
|
|
1727
1729
|
document.body.appendChild(div);
|
|
1728
1730
|
const attach = div.childNodes[0];
|
|
1729
1731
|
const plainText = getPlainText$1(div);
|
|
@@ -1732,13 +1734,17 @@ const setClipboardDataByDom = async (e, fragment, data) => {
|
|
|
1732
1734
|
document.body.removeChild(div);
|
|
1733
1735
|
};
|
|
1734
1736
|
function copyNode(e, element, thyNotifyService) {
|
|
1737
|
+
if (!isClipboardWriteSupported()) {
|
|
1738
|
+
thyNotifyService?.error('复制失败');
|
|
1739
|
+
return;
|
|
1740
|
+
}
|
|
1735
1741
|
const fragment = cloneDeep(element);
|
|
1736
1742
|
return setClipboardDataByDom(e, fragment)
|
|
1737
1743
|
.then(() => {
|
|
1738
|
-
thyNotifyService
|
|
1744
|
+
thyNotifyService?.success('复制成功');
|
|
1739
1745
|
})
|
|
1740
1746
|
.catch(() => {
|
|
1741
|
-
thyNotifyService
|
|
1747
|
+
thyNotifyService?.error('复制失败');
|
|
1742
1748
|
});
|
|
1743
1749
|
}
|
|
1744
1750
|
|