X-Git-Url: https://jasonwoof.com/gitweb/?a=blobdiff_plain;f=_source%2Fplugins%2Fscayt%2Fdialogs%2Foptions.js;h=1862fa3569514c8e5b10f92152e6e0bfcc336b53;hb=a272c66d841421f8bf933c16535bdcde1c4649fc;hp=c68b8cfa0d04d4314156dce011675e77839fa14a;hpb=e7789c1ad838194d45eeee6ac2eb6e55f5cf35a1;p=ckeditor.git diff --git a/_source/plugins/scayt/dialogs/options.js b/_source/plugins/scayt/dialogs/options.js index c68b8cf..1862fa3 100644 --- a/_source/plugins/scayt/dialogs/options.js +++ b/_source/plugins/scayt/dialogs/options.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -8,68 +8,78 @@ CKEDITOR.dialog.add( 'scaytcheck', function( editor ) var firstLoad = true, captions, doc = CKEDITOR.document, - tags = [], + editorName = editor.name, + tags = CKEDITOR.plugins.scayt.getUiTabs( editor ), i, contents = [], - userDicActive = false, + userDicActive = 0, dic_buttons = [ // [0] contains buttons for creating - "dic_create,dic_restore", + "dic_create_" + editorName + ",dic_restore_" + editorName, // [1] contains buton for manipulation - "dic_rename,dic_delete" + "dic_rename_" + editorName + ",dic_delete_" + editorName ], - optionsIds= [ 'mixedCase','mixedWithDigits','allCaps','ignoreDomainNames' ]; + optionsIds = [ 'mixedCase', 'mixedWithDigits', 'allCaps', 'ignoreDomainNames' ]; // common operations - function getBOMAllOptions () { - return document.forms.optionsbar["options"]; + function getBOMAllOptions() + { + if (typeof document.forms["optionsbar_" + editorName] != "undefined") + return document.forms["optionsbar_" + editorName]["options"]; + return []; } - function getBOMAllLangs () { - return document.forms.languagesbar["scayt_lang"]; + function getBOMAllLangs() + { + if (typeof document.forms["languagesbar_" + editorName] != "undefined") + return document.forms["languagesbar_" + editorName]["scayt_lang"]; + return []; } - function setCheckedValue(radioObj, newValue) { - if (!radioObj) + function setCheckedValue( radioObj, newValue ) + { + if ( !radioObj ) return; var radioLength = radioObj.length; - if (radioLength == undefined) { - radioObj.checked = (radioObj.value == newValue.toString()); + if ( radioLength == undefined ) + { + radioObj.checked = radioObj.value == newValue.toString(); return; } - for (var i = 0; i < radioLength; i++) { + for ( var i = 0; i < radioLength; i++ ) + { radioObj[i].checked = false; - if (radioObj[i].value == newValue.toString()) { + if ( radioObj[i].value == newValue.toString() ) radioObj[i].checked = true; - } } } + var lang = editor.lang.scayt; var tags_contents = [ { id : 'options', - label : editor.lang.scayt.optionsTab, + label : lang.optionsTab, elements : [ { type : 'html', id : 'options', - html : '
' + + html : '
' + '
' + '
' + - ' ' + - ' ' + + ' ' + + ' ' + '
' + '
' + - ' ' + - ' ' + + ' ' + + ' ' + '
' + '
' + - ' ' + - ' ' + + ' ' + + ' ' + '
' + '
' + - ' ' + - ' ' + + ' ' + + ' ' + '
' + '
' } @@ -77,66 +87,66 @@ CKEDITOR.dialog.add( 'scaytcheck', function( editor ) }, { id : 'langs', - label : editor.lang.scayt.languagesTab, + label : lang.languagesTab, elements : [ { type : 'html', id : 'langs', - html : '
' + + html : '
' + '
' + - '
' + - '
' + + '
' + + '
' + '
' } ] }, { id : 'dictionaries', - label : editor.lang.scayt.dictionariesTab, + label : lang.dictionariesTab, elements : [ { type : 'html', style: '', id : 'dictionaries', - html : '
' + - '
' + + html : '
' + + '
' + '
' + ' Dictionary name
'+ ' '+ '
'+ - ' '+ + ' '+ '
'+ '
'+ - ' ' + - ' ' + - ' ' + - ' ' + '
' + - '
' + + '
' + '
' } ] }, { id : 'about', - label : editor.lang.scayt.aboutTab, + label : lang.aboutTab, elements : [ { type : 'html', id : 'about', style : 'margin: 5px 5px;', - html : '
' + html : '
' } ] } ]; var dialogDefiniton = { - title : editor.lang.scayt.title, + title : lang.title, minWidth : 360, minHeight : 220, onShow : function() @@ -144,7 +154,7 @@ CKEDITOR.dialog.add( 'scaytcheck', function( editor ) var dialog = this; dialog.data = editor.fire( 'scaytDialog', {} ); dialog.options = dialog.data.scayt_control.option(); - dialog.sLang = dialog.data.scayt_control.sLang; + dialog.chosed_lang = dialog.sLang = dialog.data.scayt_control.sLang; if ( !dialog.data || !dialog.data.scayt || !dialog.data.scayt_control ) { @@ -175,7 +185,7 @@ CKEDITOR.dialog.add( 'scaytcheck', function( editor ) { var scayt_control = this.data.scayt_control; scayt_control.option( this.options ); - // Setup languge if it was changed. + // Setup language if it was changed. var csLang = this.chosed_lang; scayt_control.setLang( csLang ); scayt_control.refresh(); @@ -183,71 +193,70 @@ CKEDITOR.dialog.add( 'scaytcheck', function( editor ) onCancel: function() { var o = getBOMAllOptions(); - for (i in o) + for ( var i in o ) o[i].checked = false; - setCheckedValue(getBOMAllLangs(),""); + setCheckedValue( getBOMAllLangs(), "" ); }, contents : contents }; var scayt_control = CKEDITOR.plugins.scayt.getScayt( editor ); - tags = CKEDITOR.plugins.scayt.uiTabs; - - for ( i in tags ) + for ( i = 0; i < tags.length; i++ ) { if ( tags[ i ] == 1 ) contents[ contents.length ] = tags_contents[ i ]; } if ( tags[2] == 1 ) - userDicActive = true; - + userDicActive = 1; var init_with_captions = function() { var dialog = this, lang_list = dialog.data.scayt.getLangList(), - buttons = [ 'dic_create','dic_delete','dic_rename','dic_restore' ], + buttonCaptions = [ 'dic_create', 'dic_delete', 'dic_rename', 'dic_restore' ], + buttonIds = [], + langList = [], labels = optionsIds, i; // Add buttons titles if ( userDicActive ) { - for ( i = 0; i < buttons.length; i++ ) + for ( i = 0; i < buttonCaptions.length; i++ ) { - var button = buttons[ i ]; - doc.getById( button ).setHtml( '' + captions[ 'button_' + button] +'' ); + buttonIds[ i ] = buttonCaptions[ i ] + "_" + editorName; + doc.getById( buttonIds[ i ] ).setHtml( '' + captions[ 'button_' + buttonCaptions[ i ]] +'' ); } - doc.getById( 'dic_info' ).setHtml( captions[ 'dic_info' ] ); + doc.getById( 'dic_info_' + editorName ).setHtml( captions[ 'dic_info' ] ); } - // Fill options and dictionary labels. if ( tags[0] == 1 ) { for ( i in labels ) { - var label = 'label_' + labels[ i ], - labelElement = doc.getById( label ); + var labelCaption = 'label_' + labels[ i ], + labelId = labelCaption + '_' + editorName, + labelElement = doc.getById( labelId ); if ( 'undefined' != typeof labelElement - && 'undefined' != typeof captions[ label ] + && 'undefined' != typeof captions[ labelCaption ] && 'undefined' != typeof dialog.options[labels[ i ]] ) { - labelElement.setHtml( captions[ label ] ); + labelElement.setHtml( captions[ labelCaption ] ); var labelParent = labelElement.getParent(); labelParent.$.style.display = "block"; } } } - var about = '

' + captions[ 'about_throwt_image' ] + '

'+ - '

' + captions[ 'version' ] + dialog.data.scayt.version.toString() + '

' + - '

' + captions[ 'about_throwt_copy' ] + '

'; + var about = '

' + + '

' + captions[ 'version' ] + window.scayt.getAboutInfo().version.toString() + '

' + + '

' + captions[ 'about_throwt_copy' ] + '

'; - doc.getById( 'scayt_about' ).setHtml( about ); + doc.getById( 'scayt_about_' + editorName ).setHtml( about ); // Create languages tab. var createOption = function( option, list ) @@ -281,8 +290,7 @@ CKEDITOR.dialog.add( 'scaytcheck', function( editor ) }; }; - var langList = []; - if (tags[1] ==1 ) + if ( tags[1] ==1 ) { for ( i in lang_list.rtl ) langList[ langList.length ] = createOption( i, lang_list.ltr ); @@ -295,8 +303,8 @@ CKEDITOR.dialog.add( 'scaytcheck', function( editor ) return ( lang2.lang > lang1.lang ) ? -1 : 1 ; }); - var fieldL = doc.getById( 'scayt_lcol' ), - fieldR = doc.getById( 'scayt_rcol' ); + var fieldL = doc.getById( 'scayt_lcol_' + editorName ), + fieldR = doc.getById( 'scayt_rcol_' + editorName ); for ( i=0; i < langList.length; i++ ) { var field = ( i < langList.length / 2 ) ? fieldL : fieldR; @@ -314,15 +322,15 @@ CKEDITOR.dialog.add( 'scaytcheck', function( editor ) var err_massage = captions["err_dic_create"]; var suc_massage = captions["succ_dic_create"]; - window.scayt.createUserDictionary(dic_name, - function(arg) + window.scayt.createUserDictionary( dic_name, + function( arg ) { hide_dic_buttons ( all_buttons ); display_dic_buttons ( dic_buttons[1] ); suc_massage = suc_massage.replace("%s" , arg.dname ); dic_success_message (suc_massage); }, - function(arg) + function( arg ) { err_massage = err_massage.replace("%s" ,arg.dname ); dic_error_message ( err_massage + "( "+ (arg.message || "") +")"); @@ -336,14 +344,14 @@ CKEDITOR.dialog.add( 'scaytcheck', function( editor ) // try to rename dictionary var err_massage = captions["err_dic_rename"] || ""; var suc_massage = captions["succ_dic_rename"] || ""; - window.scayt.renameUserDictionary(dic_name, - function(arg) + window.scayt.renameUserDictionary( dic_name, + function( arg ) { suc_massage = suc_massage.replace("%s" , arg.dname ); set_dic_name( dic_name ); dic_success_message ( suc_massage ); }, - function(arg) + function( arg ) { err_massage = err_massage.replace("%s" , arg.dname ); set_dic_name( dic_name ); @@ -351,7 +359,7 @@ CKEDITOR.dialog.add( 'scaytcheck', function( editor ) }); }; - dic.dic_delete = function ( el, dic_name , dic_buttons ) + dic.dic_delete = function( el, dic_name , dic_buttons ) { var all_buttons = dic_buttons[0] + ',' + dic_buttons[1]; var err_massage = captions["err_dic_delete"]; @@ -359,7 +367,7 @@ CKEDITOR.dialog.add( 'scaytcheck', function( editor ) // try to delete dictionary window.scayt.deleteUserDictionary( - function(arg) + function( arg ) { suc_massage = suc_massage.replace("%s" , arg.dname ); hide_dic_buttons ( all_buttons ); @@ -367,14 +375,14 @@ CKEDITOR.dialog.add( 'scaytcheck', function( editor ) set_dic_name( "" ); // empty input field dic_success_message( suc_massage ); }, - function(arg) + function( arg ) { err_massage = err_massage.replace("%s" , arg.dname ); dic_error_message(err_massage); }); }; - dic.dic_restore = dialog.dic_restore || function ( el, dic_name , dic_buttons ) + dic.dic_restore = dialog.dic_restore || function( el, dic_name , dic_buttons ) { // try to restore existing dictionary var all_buttons = dic_buttons[0] + ',' + dic_buttons[1]; @@ -382,14 +390,14 @@ CKEDITOR.dialog.add( 'scaytcheck', function( editor ) var suc_massage = captions["succ_dic_restore"]; window.scayt.restoreUserDictionary(dic_name, - function(arg) + function( arg ) { suc_massage = suc_massage.replace("%s" , arg.dname ); hide_dic_buttons ( all_buttons ); display_dic_buttons(dic_buttons[1]); dic_success_message( suc_massage ); }, - function(arg) + function( arg ) { err_massage = err_massage.replace("%s" , arg.dname ); dic_error_message( err_massage ); @@ -398,17 +406,19 @@ CKEDITOR.dialog.add( 'scaytcheck', function( editor ) function onDicButtonClick( ev ) { - var dic_name = doc.getById('dic_name').getValue(); + var dic_name = doc.getById('dic_name_' + editorName).getValue(); if ( !dic_name ) { dic_error_message(" Dictionary name should not be empty. "); return false; } try{ - var el = id = ev.data.getTarget().getParent(); - var id = el.getId(); + var el = ev.data.getTarget().getParent(); + var id = /(dic_\w+)_[\w\d]+/.exec(el.getId())[1]; dic[ id ].apply( null, [ el, dic_name, dic_buttons ] ); - }catch(err){ + } + catch(err) + { dic_error_message(" Dictionary error. "); } @@ -431,7 +441,7 @@ CKEDITOR.dialog.add( 'scaytcheck', function( editor ) { var dialog = this; // for enabled options tab - if (tags[0] == 1){ + if ( tags[0] == 1 ){ var opto = getBOMAllOptions(); // Animate options. @@ -445,7 +455,7 @@ CKEDITOR.dialog.add( 'scaytcheck', function( editor ) { opto[k].checked = false; //alert (opto[k].removeAttribute) - if ( dialog.options[ i ] == 1 ) + if ( dialog.options[ i.split("_")[0] ] == 1 ) { opto[k].checked = true; } @@ -456,7 +466,7 @@ CKEDITOR.dialog.add( 'scaytcheck', function( editor ) { checkbox.on( 'click', function() { - dialog.options[ this.getId() ] = this.$.checked ? 1 : 0 ; + dialog.options[ this.getId().split("_")[0] ] = this.$.checked ? 1 : 0 ; }); } } @@ -466,8 +476,8 @@ CKEDITOR.dialog.add( 'scaytcheck', function( editor ) //for enabled languages tab if ( tags[1] == 1 ) { - var domLang = doc.getById("cke_option"+dialog.sLang); - setCheckedValue(domLang.$,dialog.sLang); + var domLang = doc.getById("cke_option" + dialog.sLang); + setCheckedValue( domLang.$,dialog.sLang ); } // * user dictionary @@ -480,53 +490,47 @@ CKEDITOR.dialog.add( 'scaytcheck', function( editor ) hide_dic_buttons( dic_buttons[0] + ',' + dic_buttons[1] ); if ( dic_name ) { - doc.getById( 'dic_name' ).setValue(dic_name); + doc.getById( 'dic_name_' + editorName ).setValue(dic_name); display_dic_buttons( dic_buttons[1] ); } else display_dic_buttons( dic_buttons[0] ); }, - function () + function() { - doc.getById( 'dic_name' ).setValue(""); + doc.getById( 'dic_name_' + editorName ).setValue(""); }); dic_success_message(""); } }; - function dic_error_message ( m ) + function dic_error_message( m ) { - doc.getById('dic_message').setHtml('' + m + '' ); + doc.getById('dic_message_' + editorName).setHtml('' + m + '' ); } - function dic_success_message ( m ) + function dic_success_message( m ) { - doc.getById('dic_message').setHtml('' + m + '') ; + doc.getById('dic_message_' + editorName).setHtml('' + m + '') ; } - function display_dic_buttons ( sIds ) + function display_dic_buttons( sIds ) { - sIds = String( sIds ); var aIds = sIds.split(','); for ( var i=0, l = aIds.length; i < l ; i+=1) - { doc.getById( aIds[i] ).$.style.display = "inline"; - } - } - function hide_dic_buttons ( sIds ) + function hide_dic_buttons( sIds ) { sIds = String( sIds ); var aIds = sIds.split(','); for ( var i = 0, l = aIds.length; i < l ; i += 1 ) - { doc.getById( aIds[i] ).$.style.display = "none"; - } } - function set_dic_name ( dic_name ) + function set_dic_name( dic_name ) { - doc.getById('dic_name').$.value= dic_name; + doc.getById('dic_name_' + editorName).$.value= dic_name; } return dialogDefiniton;