@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
- div.appendChild(contents);
10
+ const child = document.createElement('div');
11
+ child.appendChild(contents);
12
+ div.appendChild(child);
11
13
  div.setAttribute('hidden', 'true');
12
- div.innerHTML = htmlString;
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.success('复制成功');
30
+ thyNotifyService?.success('复制成功');
25
31
  })
26
32
  .catch(() => {
27
- thyNotifyService.error('复制失败');
33
+ thyNotifyService?.error('复制失败');
28
34
  });
29
35
  }
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29weS1ub2RlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvc3JjL3V0aWxzL2NvcHktbm9kZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsYUFBYSxFQUFFLG1CQUFtQixFQUFFLFlBQVksRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVuRyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFHckMsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsS0FBSyxFQUFFLENBQVksRUFBRSxRQUE2QixFQUFFLElBQW1CLEVBQUUsRUFBRTtJQUM1RyxNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDOUQsTUFBTSxVQUFVLEdBQUcsY0FBYyxDQUFDLGFBQWEsQ0FBQyxLQUFZLENBQUMsQ0FBQztJQUM5RCxNQUFNLFFBQVEsR0FBRyxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDMUQsTUFBTSxRQUFRLEdBQUcsUUFBUSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQzFDLE1BQU0sR0FBRyxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7SUFFMUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUMxQixHQUFHLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNuQyxHQUFHLENBQUMsU0FBUyxHQUFHLFVBQVUsQ0FBQztJQUMzQixRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUUvQixNQUFNLE1BQU0sR0FBRyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBZ0IsQ0FBQztJQUNoRCxNQUFNLFNBQVMsR0FBRyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDcEMsTUFBTSxhQUFhLEdBQUcsbUJBQW1CLENBQUMsVUFBVSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDNUUsTUFBTSxnQkFBZ0IsQ0FBQyxhQUFhLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQztJQUN6RCxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUNuQyxDQUFDLENBQUM7QUFFRixNQUFNLFVBQVUsUUFBUSxDQUFDLENBQVksRUFBRSxPQUFnQixFQUFFLGdCQUFrQztJQUN2RixNQUFNLFFBQVEsR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUM7SUFFcEMsT0FBTyxxQkFBcUIsQ0FBQyxDQUFDLEVBQUUsUUFBUSxDQUFDO1NBQ3BDLElBQUksQ0FBQyxHQUFHLEVBQUU7UUFDUCxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDckMsQ0FBQyxDQUFDO1NBQ0QsS0FBSyxDQUFDLEdBQUcsRUFBRTtRQUNSLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNuQyxDQUFDLENBQUMsQ0FBQztBQUNYLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbGVtZW50IH0gZnJvbSAnc2xhdGUnO1xuaW1wb3J0IHsgQW5ndWxhckVkaXRvciwgY3JlYXRlQ2xpcGJvYXJkRGF0YSwgZ2V0UGxhaW5UZXh0LCBzZXRDbGlwYm9hcmREYXRhIH0gZnJvbSAnc2xhdGUtYW5ndWxhcic7XG5pbXBvcnQgeyBUaHlOb3RpZnlTZXJ2aWNlIH0gZnJvbSAnbmd4LXRldGh5cy9ub3RpZnknO1xuaW1wb3J0IHsgVGhlaWFDb252ZXJ0ZXIgfSBmcm9tICdAYXRpbmMvc2VsZW5lJztcbmltcG9ydCB7IGNsb25lRGVlcCB9IGZyb20gJy4vbG9kYXNoJztcbmltcG9ydCB7IFRoZUVkaXRvciB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xuXG5leHBvcnQgY29uc3Qgc2V0Q2xpcGJvYXJkRGF0YUJ5RG9tID0gYXN5bmMgKGU6IFRoZUVkaXRvciwgZnJhZ21lbnQ6IEVsZW1lbnQgfCBFbGVtZW50W10sIGRhdGE/OiBEYXRhVHJhbnNmZXIpID0+IHtcbiAgICBjb25zdCBub2RlcyA9IEFycmF5LmlzQXJyYXkoZnJhZ21lbnQpID8gZnJhZ21lbnQgOiBbZnJhZ21lbnRdO1xuICAgIGNvbnN0IGh0bWxTdHJpbmcgPSBUaGVpYUNvbnZlcnRlci5jb252ZXJ0VG9IdG1sKG5vZGVzIGFzIGFueSk7XG4gICAgY29uc3QgZG9tUmFuZ2UgPSBBbmd1bGFyRWRpdG9yLnRvRE9NUmFuZ2UoZSwgZS5zZWxlY3Rpb24pO1xuICAgIGNvbnN0IGNvbnRlbnRzID0gZG9tUmFuZ2UuY2xvbmVDb250ZW50cygpO1xuICAgIGNvbnN0IGRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuXG4gICAgZGl2LmFwcGVuZENoaWxkKGNvbnRlbnRzKTtcbiAgICBkaXYuc2V0QXR0cmlidXRlKCdoaWRkZW4nLCAndHJ1ZScpO1xuICAgIGRpdi5pbm5lckhUTUwgPSBodG1sU3RyaW5nO1xuICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZGl2KTtcblxuICAgIGNvbnN0IGF0dGFjaCA9IGRpdi5jaGlsZE5vZGVzWzBdIGFzIEhUTUxFbGVtZW50O1xuICAgIGNvbnN0IHBsYWluVGV4dCA9IGdldFBsYWluVGV4dChkaXYpO1xuICAgIGNvbnN0IGNsaXBib2FyZERhdGEgPSBjcmVhdGVDbGlwYm9hcmREYXRhKGh0bWxTdHJpbmcsIG5vZGVzLCBwbGFpblRleHQsIFtdKTtcbiAgICBhd2FpdCBzZXRDbGlwYm9hcmREYXRhKGNsaXBib2FyZERhdGEsIGRpdiwgYXR0YWNoLCBkYXRhKTtcbiAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGRpdik7XG59O1xuXG5leHBvcnQgZnVuY3Rpb24gY29weU5vZGUoZTogVGhlRWRpdG9yLCBlbGVtZW50OiBFbGVtZW50LCB0aHlOb3RpZnlTZXJ2aWNlOiBUaHlOb3RpZnlTZXJ2aWNlKSB7XG4gICAgY29uc3QgZnJhZ21lbnQgPSBjbG9uZURlZXAoZWxlbWVudCk7XG5cbiAgICByZXR1cm4gc2V0Q2xpcGJvYXJkRGF0YUJ5RG9tKGUsIGZyYWdtZW50KVxuICAgICAgICAudGhlbigoKSA9PiB7XG4gICAgICAgICAgICB0aHlOb3RpZnlTZXJ2aWNlLnN1Y2Nlc3MoJ+WkjeWItuaIkOWKnycpO1xuICAgICAgICB9KVxuICAgICAgICAuY2F0Y2goKCkgPT4ge1xuICAgICAgICAgICAgdGh5Tm90aWZ5U2VydmljZS5lcnJvcign5aSN5Yi25aSx6LSlJyk7XG4gICAgICAgIH0pO1xufVxuIl19
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
- div.appendChild(contents);
1724
+ const child = document.createElement('div');
1725
+ child.appendChild(contents);
1726
+ div.appendChild(child);
1725
1727
  div.setAttribute('hidden', 'true');
1726
- div.innerHTML = htmlString;
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.success('复制成功');
1744
+ thyNotifyService?.success('复制成功');
1739
1745
  })
1740
1746
  .catch(() => {
1741
- thyNotifyService.error('复制失败');
1747
+ thyNotifyService?.error('复制失败');
1742
1748
  });
1743
1749
  }
1744
1750