| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 | import { BlockEmbed } from '../blots/block';import Link from '../formats/link';const ATTRIBUTES = [  'height',  'width'];class Video extends BlockEmbed {  static create(value) {    let node = super.create(value);    node.setAttribute('frameborder', '0');    node.setAttribute('allowfullscreen', true);    node.setAttribute('src', this.sanitize(value));    return node;  }  static formats(domNode) {    return ATTRIBUTES.reduce(function(formats, attribute) {      if (domNode.hasAttribute(attribute)) {        formats[attribute] = domNode.getAttribute(attribute);      }      return formats;    }, {});  }  static sanitize(url) {    return Link.sanitize(url);  }  static value(domNode) {    return domNode.getAttribute('src');  }  format(name, value) {    if (ATTRIBUTES.indexOf(name) > -1) {      if (value) {        this.domNode.setAttribute(name, value);      } else {        this.domNode.removeAttribute(name);      }    } else {      super.format(name, value);    }  }}Video.blotName = 'video';Video.className = 'ql-video';Video.tagName = 'IFRAME';export default Video;
 |