| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 | 
							- 'use strict'
 
- import $ from 'jquery'
 
- import Vue from 'vue'
 
- import _ from 'lodash'
 
- const videoRules = {
 
-   'youtube': new RegExp(/(?:(?:youtu\.be\/|v\/|vi\/|u\/\w\/|embed\/)|(?:(?:watch)?\?v(?:i)?=|&v(?:i)?=))([^#&?]*).*/, 'i'),
 
-   'vimeo': new RegExp(/vimeo.com\/(?:channels\/(?:\w+\/)?|groups\/(?:[^/]*)\/videos\/|album\/(?:\d+)\/video\/|)(\d+)(?:$|\/|\?)/, 'i'),
 
-   'dailymotion': new RegExp(/(?:dailymotion\.com(?:\/embed)?(?:\/video|\/hub)|dai\.ly)\/([0-9a-z]+)(?:[-_0-9a-zA-Z]+(?:#video=)?([a-z0-9]+)?)?/, 'i')
 
- }
 
- module.exports = (mde, mdeModalOpenState) => {
 
-   // Vue Video instance
 
-   let vueVideo = new Vue({
 
-     el: '#modal-editor-video',
 
-     data: {
 
-       link: ''
 
-     },
 
-     methods: {
 
-       open: (ev) => {
 
-         $('#modal-editor-video').addClass('is-active')
 
-         $('#modal-editor-video input').focus()
 
-       },
 
-       cancel: (ev) => {
 
-         mdeModalOpenState = false // eslint-disable-line no-undef
 
-         $('#modal-editor-video').removeClass('is-active')
 
-         vueVideo.link = ''
 
-       },
 
-       insertVideo: (ev) => {
 
-         if (mde.codemirror.doc.somethingSelected()) {
 
-           mde.codemirror.execCommand('singleSelection')
 
-         }
 
-         // Guess video type
 
-         let videoType = _.findKey(videoRules, (vr) => {
 
-           return vr.test(vueVideo.link)
 
-         })
 
-         if (_.isNil(videoType)) {
 
-           videoType = 'video'
 
-         }
 
-         // Insert video tag
 
-         let videoText = '[video](' + vueVideo.link + '){.' + videoType + '}\n'
 
-         mde.codemirror.doc.replaceSelection(videoText)
 
-         vueVideo.cancel()
 
-       }
 
-     }
 
-   })
 
-   return vueVideo
 
- }
 
 
  |