1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- /**
- * @file Plugin for inserting video tags with video_filter
- */
- (function ($) {
- CKEDITOR.plugins.add('video_filter', {
- requires : [],
- init: function(editor) {
- // Add Button
- editor.ui.addButton('video_filter', {
- label: 'Video filter',
- command: 'video_filter',
- icon: this.path + 'video_filter.png'
- });
- // Add Command
- editor.addCommand('video_filter', {
- exec : function () {
- var path = (Drupal.settings.video_filter.url.wysiwyg_ckeditor) ? Drupal.settings.video_filter.url.wysiwyg_ckeditor : Drupal.settings.video_filter.url.ckeditor
- var media = window.showModalDialog(path, { 'opener' : window, 'editorname' : editor.name }, "dialogWidth:580px; dialogHeight:480px; center:yes; resizable:yes; help:no;");
- }
- });
- // Register an extra fucntion, this will be used in the popup.
- editor._.video_filterFnNum = CKEDITOR.tools.addFunction(insert, editor);
- }
- });
- function insert(params, editor) {
- var selection = editor.getSelection(),
- ranges = selection.getRanges(),
- range,
- textNode;
- editor.fire('saveSnapshot');
- var str = '[video:' + params.file_url;
- if (params.width) {
- str += ' width:' + params.width;
- }
- if (params.height) {
- str += ' height:' + params.height;
- }
- if (params.align) {
- str += ' align:' + params.align;
- }
- if (params.autoplay) {
- str += ' autoplay:' + params.autoplay;
- }
- str += ']';
- for (var i = 0, len = ranges.length; i < len; i++) {
- range = ranges[i];
- range.deleteContents();
- textNode = CKEDITOR.dom.element.createFromHtml(str);
- range.insertNode(textNode);
- }
- range.moveToPosition(textNode, CKEDITOR.POSITION_AFTER_END);
- range.select();
- editor.fire('saveSnapshot');
- }
- })(jQuery);
|