123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- /*
- Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
- For licensing, see LICENSE.html or http://ckeditor.com/license
- */
- CKEDITOR.dialog.add( 'mediaembedDialog', function( editor ) {
- var numberRegex = /^\d+(?:\.\d+)?$/;
- var cssifyLength = function( length )
- {
- if ( numberRegex.test( length ) )
- return length + 'px';
- return length;
- }
- return {
- title : Drupal.t('Embed Media Dialog'),
- minWidth : 400,
- minHeight : 200,
- contents : [
- {
- id : 'mediaTab',
- label : Drupal.t('Embed media code'),
- title : Drupal.t('Embed media code'),
- elements :
- [
- {
- id : 'embed',
- type : 'textarea',
- rows : 9,
- label : Drupal.t('Paste embed code here')
- }
- ]
- }
- ],
- onOk : function() {
- var editor = this.getParentEditor();
- var content = this.getValueOf( 'mediaTab', 'embed' );
- if ( content.length>0 ) {
- var realElement = CKEDITOR.dom.element.createFromHtml('<div class="media_embed"></div>');
- realElement.setHtml(content);
- var fakeElement = editor.createFakeElement( realElement , 'cke_mediaembed', 'div', true);
- var matches = content.match(/width=(["']?)(\d+)\1/i);
- if (matches && matches.length == 3) {
- fakeElement.setStyle('width', cssifyLength(matches[2]));
- }
- matches = content.match(/height=([\"\']?)(\d+)\1/i);
- if (matches && matches.length == 3) {
- fakeElement.setStyle('height', cssifyLength(matches[2]));
- }
- editor.insertElement(fakeElement);
- }
- }
- };
- });
|