X-Git-Url: https://git.immae.eu/?p=perso%2FImmae%2FProjets%2Fpackagist%2Fpiedsjaloux-ckeditor-component.git;a=blobdiff_plain;f=sources%2Fplugins%2FAudio%2Fdialogs%2Faudio.js;fp=sources%2Fplugins%2FAudio%2Fdialogs%2Faudio.js;h=0000000000000000000000000000000000000000;hp=5b72af9cedbedbfa5998907107d9cf576d68a361;hb=9946db9daaa76448d0e43247472cdedd2a5ea22a;hpb=317f8f8f0651488f226b5280a8f036c7c135c639
diff --git a/sources/plugins/Audio/dialogs/audio.js b/sources/plugins/Audio/dialogs/audio.js
deleted file mode 100644
index 5b72af9..0000000
--- a/sources/plugins/Audio/dialogs/audio.js
+++ /dev/null
@@ -1,350 +0,0 @@
-CKEDITOR.dialog.add( 'audio', function ( editor )
-{
- var lang = editor.lang.audio;
-
- function commitValue( audioNode, extraStyles )
- {
- var value=this.getValue();
-
- if ( !value && this.id=='id' )
- value = generateId();
-
- audioNode.setAttribute( this.id, value);
-
- if ( !value )
- return;
- switch( this.id )
- {
- case 'poster':
- extraStyles.backgroundImage = 'url(' + value + ')';
- break;
- case 'width':
- extraStyles.width = value + 'px';
- break;
- case 'height':
- extraStyles.height = value + 'px';
- break;
- }
- }
-
- function commitSrc( audioNode, extraStyles, audios )
- {
- var match = this.id.match(/(\w+)(\d)/),
- id = match[1],
- number = parseInt(match[2], 10);
-
- var audio = audios[number] || (audios[number]={});
- audio[id] = this.getValue();
- }
-
- function loadValue( audioNode )
- {
- if ( audioNode )
- this.setValue( audioNode.getAttribute( this.id ) );
- else
- {
- if ( this.id == 'id')
- this.setValue( generateId() );
- }
- }
-
- function loadSrc( audioNode, audios )
- {
- var match = this.id.match(/(\w+)(\d)/),
- id = match[1],
- number = parseInt(match[2], 10);
-
- var audio = audios[number];
- if (!audio)
- return;
- this.setValue( audio[ id ] );
- }
-
- function generateId()
- {
- var now = new Date();
- return 'audio' + now.getFullYear() + now.getMonth() + now.getDate() + now.getHours() + now.getMinutes() + now.getSeconds();
- }
-
- // To automatically get the dimensions of the poster image
- var onImgLoadEvent = function()
- {
- // Image is ready.
- var preview = this.previewImage;
- preview.removeListener( 'load', onImgLoadEvent );
- preview.removeListener( 'error', onImgLoadErrorEvent );
- preview.removeListener( 'abort', onImgLoadErrorEvent );
-
- this.setValueOf( 'info', 'width', preview.$.width );
- this.setValueOf( 'info', 'height', preview.$.height );
- };
-
- var onImgLoadErrorEvent = function()
- {
- // Error. Image is not loaded.
- var preview = this.previewImage;
- preview.removeListener( 'load', onImgLoadEvent );
- preview.removeListener( 'error', onImgLoadErrorEvent );
- preview.removeListener( 'abort', onImgLoadErrorEvent );
- };
-
- return {
- title : lang.dialogTitle,
- minWidth : 400,
- minHeight : 200,
-
- onShow : function()
- {
- // Clear previously saved elements.
- this.fakeImage = this.audioNode = null;
- // To get dimensions of poster image
- this.previewImage = editor.document.createElement( 'img' );
-
- var fakeImage = this.getSelectedElement();
- if ( fakeImage && fakeImage.data( 'cke-real-element-type' ) && fakeImage.data( 'cke-real-element-type' ) == 'audio' )
- {
- this.fakeImage = fakeImage;
-
- var audioNode = editor.restoreRealElement( fakeImage ),
- audios = [],
- sourceList = audioNode.getElementsByTag( 'source', '' );
- if (sourceList.count()==0)
- sourceList = audioNode.getElementsByTag( 'source', 'cke' );
-
- for ( var i = 0, length = sourceList.count() ; i < length ; i++ )
- {
- var item = sourceList.getItem( i );
- audios.push( {src : item.getAttribute( 'src' ), type: item.getAttribute( 'type' )} );
- }
-
- this.audioNode = audioNode;
-
- this.setupContent( audioNode, audios );
- }
- else
- this.setupContent( null, [] );
- },
-
- onOk : function()
- {
- // If there's no selected element create one. Otherwise, reuse it
- var audioNode = null;
- if ( !this.fakeImage )
- {
- audioNode = CKEDITOR.dom.element.createFromHtml( '', editor.document );
- audioNode.setAttributes(
- {
- controls : 'controls'
- } );
- }
- else
- {
- audioNode = this.audioNode;
- }
-
- var extraStyles = {}, audios = [];
- this.commitContent( audioNode, extraStyles, audios );
-
- var innerHtml = '', links = '',
- link = lang.linkTemplate || '',
- fallbackTemplate = lang.fallbackTemplate || '';
- for(var i=0; i';
- links += link.replace('%src%', audio.src).replace('%type%', audio.type);
- }
- audioNode.setHtml( innerHtml + fallbackTemplate.replace( '%links%', links ) );
-
- // Refresh the fake image.
- var newFakeImage = editor.createFakeElement( audioNode, 'cke_audio', 'audio', false );
- newFakeImage.setStyles( extraStyles );
- if ( this.fakeImage )
- {
- newFakeImage.replace( this.fakeImage );
- editor.getSelection().selectElement( newFakeImage );
- }
- else
- {
- // Insert it in a div
- var div = new CKEDITOR.dom.element( 'DIV', editor.document );
- editor.insertElement( div );
- div.append( newFakeImage );
- }
- },
- onHide : function()
- {
- if ( this.previewImage )
- {
- this.previewImage.removeListener( 'load', onImgLoadEvent );
- this.previewImage.removeListener( 'error', onImgLoadErrorEvent );
- this.previewImage.removeListener( 'abort', onImgLoadErrorEvent );
- this.previewImage.remove();
- this.previewImage = null; // Dialog is closed.
- }
- },
-
- contents :
- [
- {
- id : 'info',
- elements :
- [
- {
- type : 'hbox',
- widths: [ '', '100px'],
- children : [
- {
- type : 'text',
- id : 'poster',
- label : lang.poster,
- commit : commitValue,
- setup : loadValue,
- onChange : function()
- {
- var dialog = this.getDialog(),
- newUrl = this.getValue();
-
- //Update preview image
- if ( newUrl.length > 0 ) //Prevent from load before onShow
- {
- dialog = this.getDialog();
- var preview = dialog.previewImage;
-
- preview.on( 'load', onImgLoadEvent, dialog );
- preview.on( 'error', onImgLoadErrorEvent, dialog );
- preview.on( 'abort', onImgLoadErrorEvent, dialog );
- preview.setAttribute( 'src', newUrl );
- }
- }
- },
- {
- type : 'button',
- id : 'browse',
- hidden : 'true',
- style : 'display:inline-block;margin-top:10px;',
- filebrowser :
- {
- action : 'Browse',
- target: 'info:poster',
- url: editor.config.filebrowserImageBrowseUrl || editor.config.filebrowserBrowseUrl
- },
- label : editor.lang.common.browseServer
- }]
- },
- {
- type : 'hbox',
- widths: [ '33%', '33%', '33%'],
- children : [
- {
- type : 'text',
- id : 'width',
- label : editor.lang.common.width,
- 'default' : 400,
- validate : CKEDITOR.dialog.validate.notEmpty( lang.widthRequired ),
- commit : commitValue,
- setup : loadValue
- },
- {
- type : 'text',
- id : 'height',
- label : editor.lang.common.height,
- 'default' : 300,
- validate : CKEDITOR.dialog.validate.notEmpty(lang.heightRequired ),
- commit : commitValue,
- setup : loadValue
- },
- {
- type : 'text',
- id : 'id',
- label : 'Id',
- commit : commitValue,
- setup : loadValue
- }
- ]
- },
- {
- type : 'hbox',
- widths: [ '', '100px', '75px'],
- children : [
- {
- type : 'text',
- id : 'src0',
- label : lang.sourceaudio,
- commit : commitSrc,
- setup : loadSrc
- },
- {
- type : 'button',
- id : 'browse',
- hidden : 'true',
- style : 'display:inline-block;margin-top:10px;',
- filebrowser :
- {
- action : 'Browse',
- target: 'info:src0',
- url: editor.config.filebrowserAudioBrowseUrl || editor.config.filebrowserBrowseUrl
- },
- label : editor.lang.common.browseServer
- },
- {
- id : 'type0',
- label : lang.sourceType,
- type : 'select',
- 'default' : 'audio/mp3',
- items :
- [
- [ 'MP3', 'audio/mp3' ],
- [ 'WAV', 'audio/wav' ]
- ],
- commit : commitSrc,
- setup : loadSrc
- }]
- },
-
- {
- type : 'hbox',
- widths: [ '', '100px', '75px'],
- children : [
- {
- type : 'text',
- id : 'src1',
- label : lang.sourceaudio,
- commit : commitSrc,
- setup : loadSrc
- },
- {
- type : 'button',
- id : 'browse',
- hidden : 'true',
- style : 'display:inline-block;margin-top:10px;',
- filebrowser :
- {
- action : 'Browse',
- target: 'info:src1',
- url: editor.config.filebrowserAudioBrowseUrl || editor.config.filebrowserBrowseUrl
- },
- label : editor.lang.common.browseServer
- },
- {
- id : 'type1',
- label : lang.sourceType,
- type : 'select',
- 'default':'audio/wav',
- items :
- [
- [ 'MP3', 'audio/mp3' ],
- [ 'WAV', 'audio/wav' ]
- ],
- commit : commitSrc,
- setup : loadSrc
- }]
- }
- ]
- }
-
- ]
- };
-} );