Skip to content
Snippets Groups Projects
Select Git revision
  • f6a359d86000d96024648e939efbd8adb0a7f2ef
  • master default protected
  • 1.31
  • 4.25.3
  • 4.25.2
  • 4.25.1
  • 4.25.0
  • 4.24.3
  • 4.24.2
  • 4.24.1
  • 4.24.0
  • 4.23.6
  • 4.23.5
  • 4.23.4
  • 4.23.3
  • 4.23.2
  • 4.23.1
  • 4.23.0
  • 4.22.3
  • 4.22.2
  • 4.22.1
  • 4.22.0
  • 4.21.0
23 results

Monster_Constraints.IsArray.html

Blame
  • Video.js 1.97 KiB
    import videoIcon from "raw-loader!../../icons/youtube-brands.svg";
    
    export const VideoBlock = (bm, label) => {
        bm.add('bs-video', {
            label: `
                ${videoIcon}
                <div>${label}</div>
            `,
            category: 'Media',
            content: {
                type: 'bs-video'
            }
        });
    };
    
    export default (domComponent) => {
        const videoType = domComponent.getType('video');
        const model = videoType.model;
        const view = videoType.view;
        const type = 'bs-embed-responsive';
    
        domComponent.addType(type, {
            model: model.extend({
                defaults: Object.assign({}, model.prototype.defaults, {
                    'custom-name': 'Video',
                    resizable: false,
                    droppable: false,
                    draggable: false,
                    copyable: false,
                    provider: 'so',
                    classes: ['embed-responsive-item'],
                })
            }, {
                isComponent: function(el) {
                    if(el && el.className === 'embed-responsive-item') {
                        var result = {
                            provider: 'so',
                            type: type
                        };
                        var isYtProv = /youtube\.com\/embed/.test(el.src);
                        var isYtncProv = /youtube-nocookie\.com\/embed/.test(el.src);
                        var isViProv = /player\.vimeo\.com\/video/.test(el.src);
                        var isExtProv = isYtProv || isYtncProv || isViProv;
                        if (el.tagName == 'VIDEO' || (el.tagName == 'IFRAME' && isExtProv)) {
                          if (el.src) result.src = el.src;
                          if (isExtProv) {
                            if (isYtProv) result.provider = 'yt';
                            else if (isYtncProv) result.provider = 'ytnc';
                            else if (isViProv) result.provider = 'vi';
                          }
                        }
                        return result;
    
                    }
                }
            }),
            view: view
        });
    }