X-Git-Url: https://jasonwoof.com/gitweb/?p=ckeditor.git;a=blobdiff_plain;f=_source%2Fplugins%2Fscayt%2Fdialogs%2Foptions.js;h=feb3f0e91fb069a3f7d10837a35ee39a629579b4;hp=120adbc4d51fd42b7810724ed8e53d2d349af488;hb=941b0a9ba4e673e292510d80a5a86806994b8ea6;hpb=7cd80714081a8ffdf4a1a8d2c72f120ed5ef3d6d
diff --git a/_source/plugins/scayt/dialogs/options.js b/_source/plugins/scayt/dialogs/options.js
index 120adbc..feb3f0e 100644
--- a/_source/plugins/scayt/dialogs/options.js
+++ b/_source/plugins/scayt/dialogs/options.js
@@ -1,5 +1,5 @@
/*
-Copyright (c) 2003-2009, CKSource - Frederico Knabben. All rights reserved.
+Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
For licensing, see LICENSE.html or http://ckeditor.com/license
*/
@@ -11,13 +11,40 @@ CKEDITOR.dialog.add( 'scaytcheck', function( editor )
tags = [],
i,
contents = [],
- userDicActive = false;
- var dic_buttons = [
- // [0] contains buttons for creating
- "dic_create,dic_restore",
- // [1] contains buton for manipulation
- "dic_rename,dic_delete"
- ];
+ userDicActive = false,
+ dic_buttons = [
+ // [0] contains buttons for creating
+ "dic_create,dic_restore",
+ // [1] contains buton for manipulation
+ "dic_rename,dic_delete"
+ ],
+ optionsIds= [ 'mixedCase','mixedWithDigits','allCaps','ignoreDomainNames' ];
+
+ // common operations
+
+ function getBOMAllOptions () {
+ return document.forms.optionsbar["options"];
+ }
+ function getBOMAllLangs () {
+ return document.forms.languagesbar["scayt_lang"];
+ }
+
+ function setCheckedValue(radioObj, newValue) {
+ if(!radioObj)
+ return;
+ var radioLength = radioObj.length;
+ if(radioLength == undefined) {
+ radioObj.checked = (radioObj.value == newValue.toString());
+ return;
+ }
+ for(var i = 0; i < radioLength; i++) {
+ radioObj[i].checked = false;
+ if(radioObj[i].value == newValue.toString()) {
+ radioObj[i].checked = true;
+ }
+ }
+ }
+
var tags_contents = [
{
id : 'options',
@@ -26,25 +53,25 @@ CKEDITOR.dialog.add( 'scaytcheck', function( editor )
{
type : 'html',
id : 'options',
- html : '
'
}
]
},
@@ -55,11 +82,11 @@ CKEDITOR.dialog.add( 'scaytcheck', function( editor )
{
type : 'html',
id : 'langs',
- html : ''
}
]
},
@@ -70,8 +97,8 @@ CKEDITOR.dialog.add( 'scaytcheck', function( editor )
{
type : 'html',
style: '',
- id : 'dic',
- html : '' +
+ id : 'dictionaries',
+ html : '
'
}
]
},
@@ -101,16 +128,17 @@ CKEDITOR.dialog.add( 'scaytcheck', function( editor )
{
type : 'html',
id : 'about',
- style : 'margin: 10px 40px;',
+ style : 'margin: 5px 5px;',
html : ''
}
]
}
];
+
var dialogDefiniton = {
title : editor.lang.scayt.title,
- minWidth : 340,
- minHeight : 200,
+ minWidth : 360,
+ minHeight : 220,
onShow : function()
{
var dialog = this;
@@ -128,15 +156,15 @@ CKEDITOR.dialog.add( 'scaytcheck', function( editor )
var stop = 0;
if ( firstLoad )
{
- dialog.data.scayt.getCaption( 'en', function( caps )
- {
- if ( stop++ > 0 ) // Once only
- return;
- captions = caps;
- init_with_captions.apply( dialog );
- reload.apply( dialog );
- firstLoad = false;
- });
+ dialog.data.scayt.getCaption( editor.langCode || 'en', function( caps )
+ {
+ if ( stop++ > 0 ) // Once only
+ return;
+ captions = caps;
+ init_with_captions.apply( dialog );
+ reload.apply( dialog );
+ firstLoad = false;
+ });
}
else
reload.apply( dialog );
@@ -145,65 +173,43 @@ CKEDITOR.dialog.add( 'scaytcheck', function( editor )
},
onOk : function()
{
- var scayt_control = this.data.scayt_control,
- o = scayt_control.option(),
- c = 0;
-
- // Set up options if any was set.
- for ( var i in this.options )
- {
- if (o[i] != this.options[ i ] && c === 0 )
- {
- scayt_control.option( this.options );
- c++;
- }
- }
-
+ var scayt_control = this.data.scayt_control;
+ scayt_control.option( this.options );
// Setup languge if it was changed.
var csLang = this.chosed_lang;
- if ( csLang && this.data.sLang != csLang )
- {
- scayt_control.setLang( csLang );
- c++;
- }
- if ( c > 0 )
- scayt_control.refresh();
+ scayt_control.setLang( csLang );
+ scayt_control.refresh();
+ },
+ onCancel: function()
+ {
+ var o = getBOMAllOptions();
+ for (i in o)
+ o[i].checked = false;
+
+ setCheckedValue(getBOMAllLangs(),"");
},
contents : contents
- };
+ };
var scayt_control = CKEDITOR.plugins.scayt.getScayt( editor );
- if ( scayt_control )
- {
- tags = scayt_control.uiTags;
- }
- for ( i in tags ) {
+ tags = CKEDITOR.plugins.scayt.uiTabs;
+
+ for ( i in tags )
+ {
if ( tags[ i ] == 1 )
contents[ contents.length ] = tags_contents[ i ];
}
if ( tags[2] == 1 )
userDicActive = true;
- function onDicButtonClick()
- {
- var dic_name = doc.getById('dic_name').getValue();
- if ( !dic_name )
- {
- dic_error_message(" Dictionary name should not be empty. ");
- return false;
- }
- //apply handler
- window.dic[ this.getId() ].apply( null, [ this, dic_name, dic_buttons ] );
- return true;
- }
var init_with_captions = function()
{
var dialog = this,
lang_list = dialog.data.scayt.getLangList(),
buttons = [ 'dic_create','dic_delete','dic_rename','dic_restore' ],
- labels = [ 'mixedCase','mixedWithDigits','allCaps','ignoreDomainNames' ],
+ labels = optionsIds,
i;
// Add buttons titles
@@ -219,18 +225,21 @@ CKEDITOR.dialog.add( 'scaytcheck', function( editor )
// Fill options and dictionary labels.
- for ( i in labels )
+ if (tags[0] == 1)
{
- var label = 'label_' + labels[ i ],
- labelElement = doc.getById( label );
-
- if ( 'undefined' != typeof labelElement
- && 'undefined' != typeof captions[ label ]
- && 'undefined' != typeof dialog.options[labels[ i ]] )
+ for ( i in labels )
{
- labelElement.setHtml( captions[ label ] );
- var labelParent = labelElement.getParent();
- labelParent.$.style.display = "block";
+ var label = 'label_' + labels[ i ],
+ labelElement = doc.getById( label );
+
+ if ( 'undefined' != typeof labelElement
+ && 'undefined' != typeof captions[ label ]
+ && 'undefined' != typeof dialog.options[labels[ i ]] )
+ {
+ labelElement.setHtml( captions[ label ] );
+ var labelParent = labelElement.getParent();
+ labelParent.$.style.display = "block";
+ }
}
}
@@ -273,104 +282,97 @@ CKEDITOR.dialog.add( 'scaytcheck', function( editor )
};
var langList = [];
- for ( i in lang_list.rtl )
- langList[ langList.length ] = createOption( i, lang_list.ltr );
+ if (tags[1] ==1 )
+ {
+ for ( i in lang_list.rtl )
+ langList[ langList.length ] = createOption( i, lang_list.ltr );
- for ( i in lang_list.ltr )
- langList[ langList.length ] = createOption( i, lang_list.ltr );
+ for ( i in lang_list.ltr )
+ langList[ langList.length ] = createOption( i, lang_list.ltr );
- langList.sort( function( lang1, lang2 )
- {
- return ( lang2.lang > lang1.lang ) ? -1 : 1 ;
- });
+ langList.sort( function( lang1, lang2 )
+ {
+ return ( lang2.lang > lang1.lang ) ? -1 : 1 ;
+ });
- var fieldL = doc.getById( 'scayt_lcol' ),
- fieldR = doc.getById( 'scayt_rcol' );
- for ( i=0; i < langList.length; i++ )
- {
- var field = ( i < langList.length / 2 ) ? fieldL : fieldR;
- field.append( langList[ i ].radio );
+ var fieldL = doc.getById( 'scayt_lcol' ),
+ fieldR = doc.getById( 'scayt_rcol' );
+ for ( i=0; i < langList.length; i++ )
+ {
+ var field = ( i < langList.length / 2 ) ? fieldL : fieldR;
+ field.append( langList[ i ].radio );
+ }
}
// user dictionary handlers
var dic = {};
dic.dic_create = function( el, dic_name , dic_buttons )
- {
- // comma separated button's ids include repeats if exists
- var all_buttons = dic_buttons[0] + ',' + dic_buttons[1];
+ {
+ // comma separated button's ids include repeats if exists
+ var all_buttons = dic_buttons[0] + ',' + dic_buttons[1];
- var err_massage = captions["err_dic_create"];
- var suc_massage = captions["succ_dic_create"];
- //console.info("--plugin ");
+ var err_massage = captions["err_dic_create"];
+ var suc_massage = captions["succ_dic_create"];
- window.scayt.createUserDictionary(dic_name,
- function(arg)
- {
- //console.info( "dic_create callback called with args" , 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)
- {
- //console.info( "dic_create errorback called with args" , arg )
- err_massage = err_massage.replace("%s" ,arg.dname );
- dic_error_message ( err_massage + "( "+ (arg.message || "") +")");
- });
+ 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)
+ {
+ err_massage = err_massage.replace("%s" ,arg.dname );
+ dic_error_message ( err_massage + "( "+ (arg.message || "") +")");
+ });
- };
+ };
dic.dic_rename = function( el, dic_name )
- {
- //
- // try to rename dictionary
- // @TODO: rename dict
- //console.info ( captions["err_dic_rename"] )
- var err_massage = captions["err_dic_rename"] || "";
- var suc_massage = captions["succ_dic_rename"] || "";
- window.scayt.renameUserDictionary(dic_name,
- function(arg)
- {
- //console.info( "dic_rename callback called with args" , arg );
- suc_massage = suc_massage.replace("%s" , arg.dname );
- set_dic_name( dic_name );
- dic_success_message ( suc_massage );
- },
- function(arg)
- {
- //console.info( "dic_rename errorback called with args" , arg )
- err_massage = err_massage.replace("%s" , arg.dname );
- set_dic_name( dic_name );
- dic_error_message( err_massage + "( " + ( arg.message || "" ) + " )" );
- });
- };
+ {
+ //
+ // 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)
+ {
+ suc_massage = suc_massage.replace("%s" , arg.dname );
+ set_dic_name( dic_name );
+ dic_success_message ( suc_massage );
+ },
+ function(arg)
+ {
+ err_massage = err_massage.replace("%s" , arg.dname );
+ set_dic_name( dic_name );
+ dic_error_message( err_massage + "( " + ( arg.message || "" ) + " )" );
+ });
+ };
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"];
- var suc_massage = captions["succ_dic_delete"];
+ {
+ var all_buttons = dic_buttons[0] + ',' + dic_buttons[1];
+ var err_massage = captions["err_dic_delete"];
+ var suc_massage = captions["succ_dic_delete"];
- // try to delete dictionary
- // @TODO: delete dict
- window.scayt.deleteUserDictionary(
- function(arg)
- {
- //console.info( "dic_delete callback " , dic_name ,arg );
- suc_massage = suc_massage.replace("%s" , arg.dname );
- hide_dic_buttons ( all_buttons );
- display_dic_buttons ( dic_buttons[0] );
- set_dic_name( "" ); // empty input field
- dic_success_message( suc_massage );
- },
- function(arg)
- {
- //console.info( " dic_delete errorback called with args" , arg )
- err_massage = err_massage.replace("%s" , arg.dname );
- dic_error_message(err_massage);
- });
- };
+ // try to delete dictionary
+ window.scayt.deleteUserDictionary(
+ function(arg)
+ {
+ suc_massage = suc_massage.replace("%s" , arg.dname );
+ hide_dic_buttons ( all_buttons );
+ display_dic_buttons ( dic_buttons[0] );
+ set_dic_name( "" ); // empty input field
+ dic_success_message( suc_massage );
+ },
+ 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 )
{
@@ -381,28 +383,45 @@ CKEDITOR.dialog.add( 'scaytcheck', function( editor )
window.scayt.restoreUserDictionary(dic_name,
function(arg)
- {
- //console.info( "dic_restore callback called with args" , 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 );
- },
+ {
+ 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)
- {
- //console.info( " dic_restore errorback called with args" , arg )
- err_massage = err_massage.replace("%s" , arg.dname );
- dic_error_message( err_massage );
- });
+ {
+ err_massage = err_massage.replace("%s" , arg.dname );
+ dic_error_message( err_massage );
+ });
};
+ function onDicButtonClick( ev )
+ {
+ var dic_name = doc.getById('dic_name').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();
+ dic[ id ].apply( null, [ el, dic_name, dic_buttons ] );
+ }catch(err){
+ dic_error_message(" Dictionary error. ");
+ }
+
+ return true;
+ }
+
// ** bind event listeners
var arr_buttons = ( dic_buttons[0] + ',' + dic_buttons[1] ).split( ',' ),
l;
for ( i = 0, l = arr_buttons.length ; i < l ; i += 1 )
{
- var dic_button = doc.getById(arr_buttons[i]);
+ var dic_button = doc.getById(arr_buttons[i]);
if ( dic_button )
dic_button.on( 'click', onDicButtonClick, this );
}
@@ -411,84 +430,104 @@ CKEDITOR.dialog.add( 'scaytcheck', function( editor )
var reload = function()
{
var dialog = this;
+ // for enabled options tab
+ if (tags[0] == 1){
+ var opto = getBOMAllOptions();
- // Animate options.
- for ( var i in dialog.options )
- {
- var checkbox = doc.getById( i );
- if ( checkbox )
+ // Animate options.
+ for ( var k=0,l = opto.length; k' + m + '' );
- }
- function dic_success_message ( m )
- {
- doc.getById('dic_message').setHtml('' + m + '') ;
- }
+ {
+ doc.getById('dic_message').setHtml('' + m + '' );
+ }
+ function dic_success_message ( m )
+ {
+ doc.getById('dic_message').setHtml('' + m + '') ;
+ }
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";
- }
+ {
+ 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 )
+ {
+ sIds = String( sIds );
+ var aIds = sIds.split(',');
+ for ( var i = 0, l = aIds.length; i < l ; i += 1 )
{
- 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";
- }
+ doc.getById( aIds[i] ).$.style.display = "none";
}
+ }
function set_dic_name ( dic_name )
- {
- doc.getById('dic_name').$.value= dic_name;
- }
+ {
+ doc.getById('dic_name').$.value= dic_name;
+ }
return dialogDefiniton;
});