Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app/assets/javascripts/behaviors/markdown/copy_as_gfm.js')
-rw-r--r--app/assets/javascripts/behaviors/markdown/copy_as_gfm.js33
1 files changed, 11 insertions, 22 deletions
diff --git a/app/assets/javascripts/behaviors/markdown/copy_as_gfm.js b/app/assets/javascripts/behaviors/markdown/copy_as_gfm.js
index 52d9f2f0322..947d019c725 100644
--- a/app/assets/javascripts/behaviors/markdown/copy_as_gfm.js
+++ b/app/assets/javascripts/behaviors/markdown/copy_as_gfm.js
@@ -1,5 +1,8 @@
import $ from 'jquery';
+import { DOMParser } from 'prosemirror-model';
import { getSelectedFragment } from '~/lib/utils/common_utils';
+import schema from './schema';
+import markdownSerializer from './serializer';
export class CopyAsGFM {
constructor() {
@@ -36,13 +39,9 @@ export class CopyAsGFM {
div.appendChild(el.cloneNode(true));
const html = div.innerHTML;
- CopyAsGFM.nodeToGFM(el)
- .then(res => {
- clipboardData.setData('text/plain', el.textContent);
- clipboardData.setData('text/x-gfm', res);
- clipboardData.setData('text/html', html);
- })
- .catch(() => {});
+ clipboardData.setData('text/plain', el.textContent);
+ clipboardData.setData('text/x-gfm', this.nodeToGFM(el));
+ clipboardData.setData('text/html', html);
}
static pasteGFM(e) {
@@ -138,21 +137,11 @@ export class CopyAsGFM {
}
static nodeToGFM(node) {
- return Promise.all([
- import(/* webpackChunkName: 'gfm_copy_extra' */ 'prosemirror-model'),
- import(/* webpackChunkName: 'gfm_copy_extra' */ './schema'),
- import(/* webpackChunkName: 'gfm_copy_extra' */ './serializer'),
- ])
- .then(([prosemirrorModel, schema, markdownSerializer]) => {
- const { DOMParser } = prosemirrorModel;
- const wrapEl = document.createElement('div');
- wrapEl.appendChild(node.cloneNode(true));
- const doc = DOMParser.fromSchema(schema.default).parse(wrapEl);
-
- const res = markdownSerializer.default.serialize(doc);
- return res;
- })
- .catch(() => {});
+ const wrapEl = document.createElement('div');
+ wrapEl.appendChild(node.cloneNode(true));
+ const doc = DOMParser.fromSchema(schema).parse(wrapEl);
+
+ return markdownSerializer.serialize(doc);
}
}