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:
authorGitLab Bot <gitlab-bot@gitlab.com>2019-12-31 21:09:10 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2019-12-31 21:09:10 +0300
commit62ddd3a00522d62ab23c7804e24dbe1c941bc0a7 (patch)
tree71f2cf18cdc83a3fce5221d05df3a792a562dd4e /app/assets/javascripts/dropzone_input.js
parent1e6a9268646e7346519610492fc2a02d6655a663 (diff)
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'app/assets/javascripts/dropzone_input.js')
-rw-r--r--app/assets/javascripts/dropzone_input.js24
1 files changed, 18 insertions, 6 deletions
diff --git a/app/assets/javascripts/dropzone_input.js b/app/assets/javascripts/dropzone_input.js
index 62b390a46d7..79739072abb 100644
--- a/app/assets/javascripts/dropzone_input.js
+++ b/app/assets/javascripts/dropzone_input.js
@@ -2,6 +2,7 @@ import $ from 'jquery';
import Dropzone from 'dropzone';
import _ from 'underscore';
import './behaviors/preview_markdown';
+import PasteMarkdownTable from './behaviors/markdown/paste_markdown_table';
import csrf from './lib/utils/csrf';
import axios from './lib/utils/axios_utils';
import { n__, __ } from '~/locale';
@@ -173,14 +174,25 @@ export default function dropzoneInput(form) {
// eslint-disable-next-line consistent-return
handlePaste = event => {
const pasteEvent = event.originalEvent;
- if (pasteEvent.clipboardData && pasteEvent.clipboardData.items) {
- const image = isImage(pasteEvent);
- if (image) {
+ const { clipboardData } = pasteEvent;
+ if (clipboardData && clipboardData.items) {
+ // Apple Numbers copies a table as an image, HTML, and text, so
+ // we need to check for the presence of a table first.
+ if (PasteMarkdownTable.isTable(clipboardData)) {
event.preventDefault();
- const filename = getFilename(pasteEvent) || 'image.png';
- const text = `{{${filename}}}`;
+ const converter = new PasteMarkdownTable(clipboardData);
+ const text = converter.convertToTableMarkdown();
pasteText(text);
- return uploadFile(image.getAsFile(), filename);
+ } else {
+ const image = isImage(pasteEvent);
+
+ if (image) {
+ event.preventDefault();
+ const filename = getFilename(pasteEvent) || 'image.png';
+ const text = `{{${filename}}}`;
+ pasteText(text);
+ return uploadFile(image.getAsFile(), filename);
+ }
}
}
};