Changeset 5754 for trunk/prototype/modules/mail/js/foldertree.js
- Timestamp:
- 03/20/12 08:56:56 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/prototype/modules/mail/js/foldertree.js
r5732 r5754 115 115 var target = $(this); 116 116 117 if($(".folders _loading").length)117 if($(".folders-loading").length) 118 118 return; 119 119 … … 121 121 return; 122 122 123 if( target.is('.collapsable-hitarea, .expandable-hitarea, .lastCollapsable-hitarea, .lastExpandable-hitarea, .treeview ,.folder_unseen,.ui-icon, .float-menu, .new_folder, .folders _loading, .head_folder, .shared-folders') )123 if( target.is('.collapsable-hitarea, .expandable-hitarea, .lastCollapsable-hitarea, .lastExpandable-hitarea, .treeview ,.folder_unseen,.ui-icon, .float-menu, .new_folder, .folders-loading, .head_folder, .shared-folders') ) 124 124 return; 125 125 … … 137 137 $(target).children('.folder').addClass('selected'); 138 138 } 139 $(this).addClass("folders _loading");139 $(this).addClass("folders-loading"); 140 140 selected = target.attr('id'); 141 141 change_folder(target.attr('id'), child.attr('title')); … … 158 158 return $(DataLayer.render('../prototype/modules/mail/templates/draggin_box.ejs', {texto : (($(this).text().split("["))[0]), type: "folder"})); 159 159 }, 160 delay: 150, 160 161 refreshPositions: true, 161 scroll: true, 162 scrollSensitivity: 100, 163 scrollSpeed: 100, 162 zIndex : 2700, 163 //scroll: true, 164 //scrollSensitivity: 100, 165 //scrollSpeed: 100, 164 166 containment: "#divAppbox" 165 167 }).end().droppable({ … … 250 252 } 251 253 252 $(this).addClass("folders _loading");254 $(this).addClass("folders-loading"); 253 255 254 256 $.ajax({ … … 278 280 }else 279 281 folder_name = "Root"; 280 DataLayer.render("../prototype/modules/mail/templates/float_folder_menu.ejs", {name_folder : folder_name}, function(html){282 html = DataLayer.render("../prototype/modules/mail/templates/float_folder_menu.ejs", {name_folder : folder_name}); 281 283 //FUNÇÃO DO eventNU FLUTUANTE EDITAR < BEGIN 282 var esc = false; 283 $(folder_).append(html).find(".float-menu-edit").click(function(){ 284 var folder_id = $(this).parents(".closed:first").attr('id'); 285 var name = $.trim($(this).parents(".closed:first").find("span:first").text().split("[")[0]); 286 if($(this).parents(".closed:first").find("span:first").hasClass("selected")) 287 return write_msg(get_lang("It's not possible rename this folder, because it is being used in the moment!")); 288 if($(this).parents(".closed:first").find(".selected").length) 289 return write_msg(get_lang("It's not possible rename this folder, because its subfolder is being used in the moment!")); 290 if(valid_tabs($(this).parents("li:first").find("li"), folder_id)) 291 return; 292 $(this).parents(".closed:first").find("span:first").empty().append("<input class='new_folder folder' type='text' maxlength='100'></input>"); 293 $(".new_folder").focus().keydown(function(event){ 294 event.stopPropagation(); 295 if(event.keyCode == 13){ 296 if($(this).val() != ""){ 297 if($(this).val().match(/[\/\\\!\@\#\$\%\&\*\+\(\)]/gi)){ 298 return write_msg(get_lang("cannot create folder. try other folder name")); 299 } 300 var new_name = folder_id.replace(/[a-zA-Z0-9á-úÁ-Ú]+$/gi, $(this).val()); 301 if($('[id="'+new_name+'"]').length){ 302 $(".folders_loading").removeClass("folders_loading"); 303 write_msg(get_lang("Mailbox already exists")); 304 return draw_new_tree_folder(); 305 } 306 $(".new_folder").parent().addClass("folders_loading"); 307 $.ajax({ 308 url : "controller.php?action=$this.imap_functions.ren_mailbox", 309 type : "POST", 310 data : "current="+folder_id+"&rename="+new_name, 311 success : function(){ 312 write_msg(get_lang("The folder was successfully rename")); 313 cExecute("$this.imap_functions.get_folders_list&onload=true", update_menu); 314 } 315 }); 316 } 317 }else if( event.keyCode == 27){ 318 draw_new_tree_folder(); 319 } 320 }).focusout(function(){ 321 draw_new_tree_folder(); 322 }).val(name); 323 }) 324 //FUNÇÃO DO eventNU FLUTUANTE EDITAR < END 325 //FUNÇÃO DO eventNU FLUTUANTE EXCLUIR < BEGIN 326 .end().find(".float-menu-remove").click(function(){ 327 328 var folder_id = $(this).parents(".closed:first").attr('id'); 329 var folder_name = "<strong>"+$.trim($(this).parents(".closed:first").find(".folder").text().split("[")[0])+"</strong>"; 330 331 if(valid_tabs($(this).parents("li:first").find("li"), folder_id)) 332 return; 333 $(this).parents(".closed:first").find(".folder").addClass("folders_loading"); 334 335 if($(this).parents(".closed:first").find("ul").length){ 336 $(this).parents(".closed:first").find(".folder").removeClass("folders_loading"); 337 return write_msg(get_lang("Delete/move subfolders first")); 338 } 339 if($(this).parents(".closed:first").find(".selected").length){ 340 $(this).parents(".closed:first").find(".folder").removeClass("folders_loading"); 341 return write_msg(get_lang("It's not possible delete this folder, because it is being used in the moment!")); 342 } 343 var folder_span = $(this); 344 var confirm_text = get_lang("Do you wish to exclude the folder "); 345 $.Zebra_Dialog(confirm_text+folder_name, { 346 'type': 'question', 347 'title': 'Confirmação de Exclusão', 348 'buttons': [get_lang('Yes'), get_lang('No')], 349 'onClose': function(caption) { 350 if(caption == get_lang('Yes')){ 351 $.ajax({ 352 url : "controller.php?action=$this.imap_functions.delete_mailbox", 353 type: "POST", 354 data : "del_past="+folder_id, 355 success : function(data){ 356 data = connector.unserialize(data); 357 if(data == "Mailbox does not exist"){ 358 $(".folders_loading").removeClass("folders_loading"); 359 return write_msg(get_lang("Mailbox does not exist")); 360 } 361 write_msg(get_lang("The folder %1 was successfully removed", folder_name)); 362 cExecute("$this.imap_functions.get_folders_list&onload=true", update_menu); 363 } 364 }); 365 }else{ 366 folder_span.parents(".closed:first").find(".folder").removeClass("folders_loading"); 367 return; 368 } 369 } 370 }); 371 /* if(!confirm(confirm_text + folder_name)){ 372 $(this).parents(".closed:first").find(".folder").removeClass("folders_loading"); 373 return; 374 } */ 375 }) 376 //FUNÇÃO DO eventNU FLUTUANTE EXCLUIR < END 377 //FUNÇÃO DO eventNU FLUTUANTE NOVA PASTA < BEGIN 378 .end().find(".float-menu-new").click(function(){ 379 $(this).parents(".float-menu").addClass("hidden"); 380 var selected_li = $(this).parents(".closed:first"); 381 if(selected_li.find("ul:first").length){ 382 var new_folder = $("<li><input class='new_folder folder' type='text' maxlength='100'></input></li>").appendTo(selected_li.find("ul:first")); 383 if(selected_li.find(".expandable-hitarea").length){ 384 selected_li.find(".expandable-hitarea").trigger('click'); 385 } 386 selected_li.find("ul:first").treeview({ 387 add: new_folder 388 }); 389 }else if(selected_li.length){ 390 var new_folder = $("<ul><li><input class='new_folder folder' type='text' maxlength='100'></input></li></ul>").appendTo(selected_li); 391 selected_li.treeview({ 392 add: new_folder 393 }); 394 }else{ 395 selected_li = $(this).parents(".head_folder").parent(); 396 if($(this).parents(".head_folder").parent().find(".expandable-hitarea").length){ 397 $(this).parents(".head_folder").parent().find(".expandable-hitarea").trigger('click'); 398 } 399 var new_folder = $("<ul><li><input class='new_folder folder' type='text' maxlength='100'></input></li></ul>").appendTo(selected_li); 400 selected_li.treeview({ 401 add: new_folder 402 }); 403 } 404 405 selected_li.find(".new_folder").Watermark("Nova Pasta").focus().keydown(function(event){ 406 event.stopPropagation(); 407 if(event.keyCode == 13){ 408 if($(this).val().match(/[\\\!\@\#\$\%\&\*\+\(\)]/gi)){ 284 var esc = false; 285 $(folder_).append(html).find(".float-menu-edit").click(function(){ 286 var folder_id = $(this).parents(".closed:first").attr('id'); 287 var name = $.trim($(this).parents(".closed:first").find("span:first").text().split("[")[0]); 288 if($(this).parents(".closed:first").find("span:first").hasClass("selected")) 289 return write_msg(get_lang("It's not possible rename this folder, because it is being used in the moment!")); 290 if($(this).parents(".closed:first").find(".selected").length) 291 return write_msg(get_lang("It's not possible rename this folder, because its subfolder is being used in the moment!")); 292 if(valid_tabs($(this).parents("li:first").find("li"), folder_id)) 293 return; 294 $(this).parents(".closed:first").find("span:first").empty().append("<input class='new_folder folder' type='text' maxlength='100'></input>"); 295 $(".new_folder").focus().keydown(function(event){ 296 event.stopPropagation(); 297 if(event.keyCode == 13){ 298 if($(this).val() != ""){ 299 if($(this).val().match(/[\/\\\!\@\#\$\%\&\*\+\(\)]/gi)){ 409 300 return write_msg(get_lang("cannot create folder. try other folder name")); 410 301 } 411 if($('[id="'+ (selected_li.attr('id')? selected_li.attr('id') : "INBOX") + cyrus_delimiter + $(this).val()+'"]').length){ 412 $(".folders_loading").removeClass("folders_loading"); 302 var new_name = folder_id.replace(/[a-zA-Z0-9á-úÁ-Ú]+$/gi, $(this).val()); 303 if($('[id="'+new_name+'"]').length){ 304 $(".folders-loading").removeClass("folders-loading"); 413 305 write_msg(get_lang("Mailbox already exists")); 414 306 return draw_new_tree_folder(); 415 307 } 416 $(".new_folder").parent().addClass("folders _loading");308 $(".new_folder").parent().addClass("folders-loading"); 417 309 $.ajax({ 418 url : "controller.php?action=$this.imap_functions. create_mailbox",310 url : "controller.php?action=$this.imap_functions.ren_mailbox", 419 311 type : "POST", 420 data : "newp="+($(this).val() != "" ? $(this).val() : get_lang("New Folder"))+"&base_path="+(selected_li.attr('id')? selected_li.attr('id') : "INBOX"), 421 success : function(data){ 422 data = connector.unserialize(data); 423 if(data == "Mailbox already exists"){ 424 write_msg(get_lang("Mailbox already exists")); 425 } 312 data : "current="+folder_id+"&rename="+new_name, 313 success : function(){ 314 write_msg(get_lang("The folder was successfully rename")); 426 315 cExecute("$this.imap_functions.get_folders_list&onload=true", update_menu); 427 316 } 428 317 }); 429 }else if( event.keyCode == 27){430 draw_new_tree_folder();431 318 } 432 } ).focusout(function(){319 }else if( event.keyCode == 27){ 433 320 draw_new_tree_folder(); 321 } 322 }).focusout(function(){ 323 draw_new_tree_folder(); 324 }).val(name); 325 }) 326 //FUNÇÃO DO eventNU FLUTUANTE EDITAR < END 327 //FUNÇÃO DO eventNU FLUTUANTE EXCLUIR < BEGIN 328 .end().find(".float-menu-remove").click(function(){ 329 330 var folder_id = $(this).parents(".closed:first").attr('id'); 331 var folder_name = "<strong>"+$.trim($(this).parents(".closed:first").find(".folder").text().split("[")[0])+"</strong>"; 332 333 if(valid_tabs($(this).parents("li:first").find("li"), folder_id)) 334 return; 335 $(this).parents(".closed:first").find(".folder").addClass("folders-loading"); 336 337 if($(this).parents(".closed:first").find("ul").length){ 338 $(this).parents(".closed:first").find(".folder").removeClass("folders-loading"); 339 return write_msg(get_lang("Delete/move subfolders first")); 340 } 341 if($(this).parents(".closed:first").find(".selected").length){ 342 $(this).parents(".closed:first").find(".folder").removeClass("folders-loading"); 343 return write_msg(get_lang("It's not possible delete this folder, because it is being used in the moment!")); 344 } 345 var folder_span = $(this); 346 var confirm_text = get_lang("Do you wish to exclude the folder "); 347 $.Zebra_Dialog(confirm_text+folder_name, { 348 'type': 'question', 349 'overlay_opacity': '0.5', 350 'buttons': [get_lang('Yes'), get_lang('No')], 351 'onClose': function(caption) { 352 if(caption == get_lang('Yes')){ 353 $.ajax({ 354 url : "controller.php?action=$this.imap_functions.delete_mailbox", 355 type: "POST", 356 data : "del_past="+folder_id, 357 success : function(data){ 358 data = connector.unserialize(data); 359 if(data == "Mailbox does not exist"){ 360 $(".folders-loading").removeClass("folders-loading"); 361 return write_msg(get_lang("Mailbox does not exist")); 362 } 363 write_msg(get_lang("The folder %1 was successfully removed", folder_name)); 364 cExecute("$this.imap_functions.get_folders_list&onload=true", update_menu); 365 } 366 }); 367 }else{ 368 folder_span.parents(".closed:first").find(".folder").removeClass("folders-loading"); 369 return; 370 } 371 } 372 }); 373 /* if(!confirm(confirm_text + folder_name)){ 374 $(this).parents(".closed:first").find(".folder").removeClass("folders-loading"); 375 return; 376 } */ 377 }) 378 //FUNÇÃO DO eventNU FLUTUANTE EXCLUIR < END 379 //FUNÇÃO DO eventNU FLUTUANTE NOVA PASTA < BEGIN 380 .end().find(".float-menu-new").click(function(){ 381 $(this).parents(".float-menu").hide(); 382 var selected_li = $(this).parents(".closed:first"); 383 if(selected_li.find("ul:first").length){ 384 var new_folder = $("<li><input class='new_folder folder' type='text' maxlength='100'></input></li>").appendTo(selected_li.find("ul:first")); 385 if(selected_li.find(".expandable-hitarea").length){ 386 selected_li.find(".expandable-hitarea").trigger('click'); 387 } 388 selected_li.find("ul:first").treeview({ 389 add: new_folder 434 390 }); 391 }else if(selected_li.length){ 392 var new_folder = $("<ul><li><input class='new_folder folder' type='text' maxlength='100'></input></li></ul>").appendTo(selected_li); 393 selected_li.treeview({ 394 add: new_folder 395 }); 396 }else{ 397 selected_li = $(this).parents(".head_folder").parent(); 398 if($(this).parents(".head_folder").parent().find(".expandable-hitarea").length){ 399 $(this).parents(".head_folder").parent().find(".expandable-hitarea").trigger('click'); 400 } 401 var new_folder = $("<ul><li><input class='new_folder folder' type='text' maxlength='100'></input></li></ul>").appendTo(selected_li); 402 selected_li.treeview({ 403 add: new_folder 404 }); 405 } 406 407 selected_li.find(".new_folder").Watermark("Nova Pasta").focus().keydown(function(event){ 408 event.stopPropagation(); 409 if(event.keyCode == 13){ 410 if($(this).val().match(/[\\\!\@\#\$\%\&\*\+\(\)]/gi)){ 411 return write_msg(get_lang("cannot create folder. try other folder name")); 412 } 413 if($('[id="'+ (selected_li.attr('id')? selected_li.attr('id') : "INBOX") + cyrus_delimiter + $(this).val()+'"]').length){ 414 $(".folders-loading").removeClass("folders-loading"); 415 write_msg(get_lang("Mailbox already exists")); 416 return draw_new_tree_folder(); 417 } 418 $(".new_folder").parent().addClass("folders-loading"); 419 $.ajax({ 420 url : "controller.php?action=$this.imap_functions.create_mailbox", 421 type : "POST", 422 data : "newp="+($(this).val() != "" ? $(this).val() : get_lang("New Folder"))+"&base_path="+(selected_li.attr('id')? selected_li.attr('id') : "INBOX"), 423 success : function(data){ 424 data = connector.unserialize(data); 425 if(data == "Mailbox already exists"){ 426 write_msg(get_lang("Mailbox already exists")); 427 } 428 cExecute("$this.imap_functions.get_folders_list&onload=true", update_menu); 429 } 430 }); 431 }else if( event.keyCode == 27){ 432 draw_new_tree_folder(); 433 } 434 }).focusout(function(){ 435 draw_new_tree_folder(); 435 436 }); 436 //FUNÇÃO DO eventNU FLUTUANTE NOVA PASTA < END437 437 }); 438 //FUNÇÃO DO eventNU FLUTUANTE NOVA PASTA < END 438 439 } 439 440 if(!$(".new_folder").length){ 440 if(!is_ie) 441 $(this).find(".float-menu:first").removeClass("hidden"); 442 else 443 $(this).find(".float-menu:first").show(); 441 $(this).find(".float-menu:first").css("display", ""); 444 442 } 445 443 }, 446 444 function(){ 447 if(!is_ie) 448 $(this).find(".float-menu:first").addClass("hidden"); 449 else 450 $(this).find(".float-menu:first").hide(); 445 $(this).find(".float-menu:first").hide(); 451 446 } 452 447 );
Note: See TracChangeset
for help on using the changeset viewer.