Ticket #4814: options.patch
File options.patch, 12.6 KB (added by , 14 years ago) |
---|
-
options.js
129 129 if ( firstLoad ) 130 130 { 131 131 dialog.data.scayt.getCaption( 'en', function( caps ) 132 133 134 135 136 137 138 139 132 { 133 if ( stop++ > 0 ) // Once only 134 return; 135 captions = caps; 136 init_with_captions.apply( dialog ); 137 reload.apply( dialog ); 138 firstLoad = false; 139 }); 140 140 } 141 141 else 142 reload.apply( dialog ); 142 { 143 reload.apply( dialog ); 144 } 143 145 146 144 147 dialog.selectPage( dialog.data.tab ); 145 148 }, 146 149 onOk : function() 147 150 { 148 var scayt_control = this.data.scayt_control, 149 o = scayt_control.option(), 150 c = 0; 151 152 // Set up options if any was set. 153 for ( var i in this.options ) 154 { 155 if (o[i] != this.options[ i ] && c === 0 ) 156 { 157 scayt_control.option( this.options ); 158 c++; 159 } 160 } 161 151 var scayt_control = this.data.scayt_control; 152 scayt_control.option( this.options ); 162 153 // Setup languge if it was changed. 163 164 154 var csLang = this.chosed_lang; 165 if ( csLang && this.data.sLang != csLang ) 166 { 167 scayt_control.setLang( csLang ); 168 c++; 169 } 170 171 172 if (c > 0) { 173 scayt_control.refresh(); 174 } 175 176 177 }, 155 scayt_control.setLang( csLang ); 156 scayt_control.refresh(); 157 }, 178 158 contents : contents 179 159 }; 180 160 181 161 var scayt_control = CKEDITOR.plugins.scayt.getScayt( editor ); 182 if ( scayt_control )183 {184 //tags = scayt_control.uiTags;185 tags = CKEDITOR.plugins.scayt.uiTabs;186 }187 162 188 for ( var i in tags ) { 163 tags = CKEDITOR.plugins.scayt.uiTabs; 164 165 for ( i in tags ) 166 { 189 167 if ( tags[ i ] == 1 ) 190 168 contents[ contents.length ] = tags_contents[ i ]; 191 169 } … … 215 193 216 194 // Fill options and dictionary labels. 217 195 if (tags[0] == 1) 218 for ( i in labels ) 196 { 197 for ( i in labels ) 219 198 { 220 199 var label = 'label_' + labels[ i ], 221 200 labelElement = doc.getById( label ); 222 201 223 202 if ( 'undefined' != typeof labelElement 224 203 && 'undefined' != typeof captions[ label ] 225 204 && 'undefined' != typeof dialog.options[labels[ i ]] ) … … 228 207 var labelParent = labelElement.getParent(); 229 208 labelParent.$.style.display = "block"; 230 209 } 231 } 210 } 211 } 232 212 213 233 214 var about = '<p>' + captions[ 'about_throwt_image' ] + '</p>'+ 234 215 '<p>' + captions[ 'version' ] + dialog.data.scayt.version.toString() + '</p>' + 235 216 '<p>' + captions[ 'about_throwt_copy' ] + '</p>'; … … 253 234 ' value="' + option + '" name="scayt_lang" />' ); 254 235 255 236 radio.on( 'click', function() 256 257 258 259 237 { 238 this.$.checked = true; 239 dialog.chosed_lang = option; 240 }); 260 241 261 242 div.append( radio ); 262 243 div.append( label ); … … 269 250 }; 270 251 271 252 var langList = []; 272 if (tags[1] ==1 ){ 253 if (tags[1] ==1 ) 254 { 273 255 for ( i in lang_list.rtl ) 274 256 langList[ langList.length ] = createOption( i, lang_list.ltr ); 275 257 … … 294 276 // user dictionary handlers 295 277 var dic = {}; 296 278 dic.dic_create = function( el, dic_name , dic_buttons ) 297 298 299 279 { 280 // comma separated button's ids include repeats if exists 281 var all_buttons = dic_buttons[0] + ',' + dic_buttons[1]; 300 282 301 302 283 var err_massage = captions["err_dic_create"]; 284 var suc_massage = captions["succ_dic_create"]; 303 285 304 window.scayt.createUserDictionary(dic_name, 305 function(arg) 306 { 307 //console.info( "dic_create callback called with args" , arg ); 308 hide_dic_buttons ( all_buttons ); 309 display_dic_buttons ( dic_buttons[1] ); 310 suc_massage = suc_massage.replace("%s" , arg.dname ); 311 dic_success_message (suc_massage); 312 }, 313 function(arg) 314 { 315 //console.info( "dic_create errorback called with args" , arg ) 316 err_massage = err_massage.replace("%s" ,arg.dname ); 317 dic_error_message ( err_massage + "( "+ (arg.message || "") +")"); 318 }); 286 window.scayt.createUserDictionary(dic_name, 287 function(arg) 288 { 289 hide_dic_buttons ( all_buttons ); 290 display_dic_buttons ( dic_buttons[1] ); 291 suc_massage = suc_massage.replace("%s" , arg.dname ); 292 dic_success_message (suc_massage); 293 }, 294 function(arg) 295 { 296 err_massage = err_massage.replace("%s" ,arg.dname ); 297 dic_error_message ( err_massage + "( "+ (arg.message || "") +")"); 298 }); 319 299 320 300 }; 321 301 322 302 dic.dic_rename = function( el, dic_name ) 323 { 324 // 325 // try to rename dictionary 326 // @TODO: rename dict 327 //console.info ( captions["err_dic_rename"] ) 328 var err_massage = captions["err_dic_rename"] || ""; 329 var suc_massage = captions["succ_dic_rename"] || ""; 330 window.scayt.renameUserDictionary(dic_name, 331 function(arg) 332 { 333 //console.info( "dic_rename callback called with args" , arg ); 334 suc_massage = suc_massage.replace("%s" , arg.dname ); 335 set_dic_name( dic_name ); 336 dic_success_message ( suc_massage ); 337 }, 338 function(arg) 339 { 340 //console.info( "dic_rename errorback called with args" , arg ) 341 err_massage = err_massage.replace("%s" , arg.dname ); 342 set_dic_name( dic_name ); 343 dic_error_message( err_massage + "( " + ( arg.message || "" ) + " )" ); 344 }); 345 }; 303 { 304 // 305 // try to rename dictionary 306 var err_massage = captions["err_dic_rename"] || ""; 307 var suc_massage = captions["succ_dic_rename"] || ""; 308 window.scayt.renameUserDictionary(dic_name, 309 function(arg) 310 { 311 suc_massage = suc_massage.replace("%s" , arg.dname ); 312 set_dic_name( dic_name ); 313 dic_success_message ( suc_massage ); 314 }, 315 function(arg) 316 { 317 err_massage = err_massage.replace("%s" , arg.dname ); 318 set_dic_name( dic_name ); 319 dic_error_message( err_massage + "( " + ( arg.message || "" ) + " )" ); 320 }); 321 }; 346 322 347 323 dic.dic_delete = function ( el, dic_name , dic_buttons ) 348 349 350 351 324 { 325 var all_buttons = dic_buttons[0] + ',' + dic_buttons[1]; 326 var err_massage = captions["err_dic_delete"]; 327 var suc_massage = captions["succ_dic_delete"]; 352 328 353 // try to delete dictionary 354 // @TODO: delete dict 355 window.scayt.deleteUserDictionary( 356 function(arg) 357 { 358 //console.info( "dic_delete callback " , dic_name ,arg ); 359 suc_massage = suc_massage.replace("%s" , arg.dname ); 360 hide_dic_buttons ( all_buttons ); 361 display_dic_buttons ( dic_buttons[0] ); 362 set_dic_name( "" ); // empty input field 363 dic_success_message( suc_massage ); 364 }, 365 function(arg) 366 { 367 //console.info( " dic_delete errorback called with args" , arg ) 368 err_massage = err_massage.replace("%s" , arg.dname ); 369 dic_error_message(err_massage); 370 }); 371 }; 329 // try to delete dictionary 330 window.scayt.deleteUserDictionary( 331 function(arg) 332 { 333 suc_massage = suc_massage.replace("%s" , arg.dname ); 334 hide_dic_buttons ( all_buttons ); 335 display_dic_buttons ( dic_buttons[0] ); 336 set_dic_name( "" ); // empty input field 337 dic_success_message( suc_massage ); 338 }, 339 function(arg) 340 { 341 err_massage = err_massage.replace("%s" , arg.dname ); 342 dic_error_message(err_massage); 343 }); 344 }; 372 345 373 346 dic.dic_restore = dialog.dic_restore || function ( el, dic_name , dic_buttons ) 374 347 { … … 378 351 var suc_massage = captions["succ_dic_restore"]; 379 352 380 353 window.scayt.restoreUserDictionary(dic_name, 354 function(arg) 355 { 356 suc_massage = suc_massage.replace("%s" , arg.dname ); 357 hide_dic_buttons ( all_buttons ); 358 display_dic_buttons(dic_buttons[1]); 359 dic_success_message( suc_massage ); 360 }, 381 361 function(arg) 382 { 383 //console.info( "dic_restore callback called with args" , arg ); 384 suc_massage = suc_massage.replace("%s" , arg.dname ); 385 hide_dic_buttons ( all_buttons ); 386 display_dic_buttons(dic_buttons[1]); 387 dic_success_message( suc_massage ); 388 }, 389 function(arg) 390 { 391 //console.info( " dic_restore errorback called with args" , arg ) 392 err_massage = err_massage.replace("%s" , arg.dname ); 393 dic_error_message( err_massage ); 394 }); 362 { 363 err_massage = err_massage.replace("%s" , arg.dname ); 364 dic_error_message( err_massage ); 365 }); 395 366 }; 396 367 function onDicButtonClick( ev ) 397 368 { … … 431 402 for ( var i in dialog.options ) 432 403 { 433 404 var checkbox = doc.getById( i ); 405 434 406 if ( checkbox ) 435 407 { 436 408 checkbox.removeAttribute( 'checked' ); 409 checkbox.$.removeAttribute( 'checked' ); 410 411 var opt = dialog.data.scayt_control.option(); 412 437 413 if ( dialog.options[ i ] == 1 ) 438 414 checkbox.setAttribute( 'checked', 'checked' ); 439 415 … … 441 417 if ( firstLoad ) 442 418 { 443 419 checkbox.on( 'click', function() 444 445 446 });420 { 421 dialog.options[ this.getId() ] = this.$.checked ? 1 : 0 ; 422 }); 447 423 } 448 424 } 449 425 } … … 473 449 }; 474 450 475 451 function dic_error_message ( m ) 476 477 478 452 { 453 doc.getById('dic_message').setHtml('<span style="color:red;">' + m + '</span>' ); 454 } 479 455 function dic_success_message ( m ) 480 481 482 456 { 457 doc.getById('dic_message').setHtml('<span style="color:blue;">' + m + '</span>') ; 458 } 483 459 function display_dic_buttons ( sIds ) 484 460 { 485 461 486 487 488 489 490 491 462 sIds = String( sIds ); 463 var aIds = sIds.split(','); 464 for ( var i=0, l = aIds.length; i < l ; i+=1) 465 { 466 doc.getById( aIds[i] ).$.style.display = "inline"; 467 } 492 468 493 469 } 494 470 function hide_dic_buttons ( sIds ) 495 496 497 498 499 500 501 502 471 { 472 sIds = String( sIds ); 473 var aIds = sIds.split(','); 474 for ( var i = 0, l = aIds.length; i < l ; i += 1 ) 475 { 476 doc.getById( aIds[i] ).$.style.display = "none"; 477 } 478 } 503 479 function set_dic_name ( dic_name ) 504 505 506 480 { 481 doc.getById('dic_name').$.value= dic_name; 482 } 507 483 508 484 return dialogDefiniton; 509 485 });