Changeset 6066 for trunk/prototype/modules/calendar/js/calendar.shared.js
- Timestamp:
- 04/30/12 15:42:36 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/prototype/modules/calendar/js/calendar.shared.js
r6052 r6066 2 2 var html = DataLayer.render('templates/shared_calendar.ejs', { 3 3 calendar: Calendar.calendars 4 4 }); 5 5 6 6 //Variaval global para manipulação dos usuários … … 92 92 var permission = DataLayer.get('calendarToPermission', { 93 93 filter: ['AND', ['=', 'calendar', calendarId], ['=', 'user', '0']] 94 94 }, true); 95 95 if($.isArray(permission)) 96 96 permission = permission[0]; … … 186 186 name: currentUsers [id] .name, 187 187 mail: currentUsers [id] .mail 188 188 }])) 189 189 .scrollTo('max'); 190 190 … … 300 300 } 301 301 }); 302 if(dataCurrent){303 304 if(dataCurrent[i].user == "0"){305 306 307 308 UI.dialogs.sharedCalendar.find('input[name="busy"]').attr('checked', 'checked');309 }else{310 311 312 313 314 id: dataCurrent[i].user.id,315 name: dataCurrent[i].user.name,316 mail: dataCurrent[i].user.mail,317 acl:dataCurrent[i].acl,318 aclValue: dataCurrent[i].aclValues,319 current: true,320 idPermission: dataCurrent[i].id321 322 323 324 325 326 327 if(dataCurrent[i].acl[f]){328 329 330 }331 332 }333 334 }335 UI.dialogs.sharedCalendar.dialog('open');302 if(dataCurrent){ 303 for(var i = 0; i < dataCurrent.length; i++){ 304 if(dataCurrent[i].user == "0"){ 305 UI.dialogs.sharedCalendar.find('input[name="isPublic"]').attr('checked', 'checked') 306 .parent().find('.free-busy').toggleClass('hidden'); 307 if(dataCurrent[i].acl['busy']) 308 UI.dialogs.sharedCalendar.find('input[name="busy"]').attr('checked', 'checked'); 309 }else{ 310 currentUsers[dataCurrent[i].user.id] = true; 311 312 UI.dialogs.sharedCalendar.find('dd.user-list ul.user-list') 313 .append(DataLayer.render('templates/user_shared_add_itemlist.ejs', [{ 314 id: dataCurrent[i].user.id, 315 name: dataCurrent[i].user.name, 316 mail: dataCurrent[i].user.mail, 317 acl:dataCurrent[i].acl, 318 aclValue: dataCurrent[i].aclValues, 319 current: true, 320 idPermission: dataCurrent[i].id 321 }])) 322 .scrollTo('max'); 323 $('li.not-user').remove(); 324 callbackSharedCotactsAdd(); 325 326 for (var f in dataCurrent[i].acl){ 327 if(dataCurrent[i].acl[f]){ 328 UI.dialogs.sharedCalendar.find('.'+f+':last').toggleClass('attendee-permissions-change-button') 329 .find('span:first').toggleClass('attendee-permissions-change').end(); 330 } 331 } 332 } 333 } 334 } 335 UI.dialogs.sharedCalendar.dialog('open'); 336 336 } 337 337 … … 378 378 backgroundColor: (!!type ? 'fbec88' : '8c8c8c'), 379 379 borderColor: (!!type ? 'fad24e' : '120d0d') 380 380 }, !!idPermission ? { 381 381 id: idPermission 382 382 } : {} )); … … 405 405 } 406 406 }, true); 407 var resultPublic = DataLayer.get('calendarToPermission', {408 409 410 deepness: 2411 412 }, true);413 414 /**407 var resultPublic = DataLayer.get('calendarToPermission', { 408 filter: ['AND', ['=','type',1], ['OR', ['i*','name',$(this).val()], ["i*", "description", $(this).val()]]] , 409 criteria: { 410 deepness: 2 411 } 412 }, true); 413 414 /** 415 415 * TODO: trocar por template 416 416 */ 417 UI.dialogs.sharedCalendar.find('ul.search-result-list').empty().css('overflow', 'hidden'); 418 if (!result && !resultPublic) { 419 UI.dialogs.sharedCalendar.find('ul.search-result-list').append('<li><label class="empty">Nenhum resultado encontrado.</label></li>'); 420 } 421 422 if(resultPublic){ 423 var notConflict = []; 424 var conflit = false; 425 for(var i = 0; i < resultPublic.length; i++){ 426 for(var j = 0; j < result.length; j++){ 427 if(resultPublic[i].id == result[j].calendar.id) 428 conflit = true; 429 } 430 if(!conflit){ 431 notConflict.push(resultPublic[i]); 432 conflit = false; 433 } 434 } 435 } 436 resultPublic = notConflict; 437 438 var resultNormalize = []; 439 for(i=0; i<result.length; i++){ 440 resultNormalize.push({ 441 id: result[i].calendar.id, 442 name:result[i].calendar.name, 443 mail: result[i].calendar.description, 444 type: 0 445 }) 446 resultNormalize[i].enabled = currentCalendars[result[i].id] ? false : true; 447 } 448 if(resultPublic) 449 for(i=0; i<resultPublic.length; i++){ 417 UI.dialogs.sharedCalendar.find('ul.search-result-list').empty().css('overflow', 'hidden'); 418 if (!result && !resultPublic) { 419 UI.dialogs.sharedCalendar.find('ul.search-result-list').append('<li><label class="empty">Nenhum resultado encontrado.</label></li>'); 420 } 421 422 if(resultPublic){ 423 var notConflict = []; 424 var conflit = false; 425 for(var i = 0; i < resultPublic.length; i++){ 426 for(var j = 0; j < result.length; j++){ 427 if(resultPublic[i].id == result[j].calendar.id) 428 conflit = true; 429 } 430 if(!conflit){ 431 notConflict.push(resultPublic[i]); 432 conflit = false; 433 } 434 } 435 } 436 resultPublic = notConflict; 437 438 var resultNormalize = []; 439 for(i=0; i<result.length; i++){ 450 440 resultNormalize.push({ 451 id: result Public[i].calendar.id,452 name:result Public[i].calendar.name,453 mail: result Public[i].calendar.description,454 type: 1441 id: result[i].calendar.id, 442 name:result[i].calendar.name, 443 mail: result[i].calendar.description, 444 type: 0 455 445 }) 456 resultNormalize[i].enabled = currentCalendars[resultPublic[i].id] ? false : true; 457 } 458 459 UI.dialogs.sharedCalendar.find('ul.search-result-list').append(DataLayer.render( 'templates/calendar_search_itemlist.ejs', resultNormalize)); 460 461 UI.dialogs.sharedCalendar.find('ul.search-result-list li').click(function(event, ui){ 462 if ($(event.target).is('input')) { 463 old_item = $(event.target).parents('li'); 464 var id = old_item.find('.id').html(); 446 resultNormalize[i].enabled = currentCalendars[result[i].id] ? false : true; 447 } 448 if(resultPublic) 449 for(i=0; i<resultPublic.length; i++){ 450 resultNormalize.push({ 451 id: resultPublic[i].calendar.id, 452 name:resultPublic[i].calendar.name, 453 mail: resultPublic[i].calendar.description, 454 type: 1 455 }) 456 resultNormalize[i].enabled = currentCalendars[resultPublic[i].id] ? false : true; 457 } 458 459 UI.dialogs.sharedCalendar.find('ul.search-result-list').append(DataLayer.render( 'templates/calendar_search_itemlist.ejs', resultNormalize)); 460 461 UI.dialogs.sharedCalendar.find('ul.search-result-list li').click(function(event, ui){ 462 if ($(event.target).is('input')) { 463 old_item = $(event.target).parents('li'); 464 var id = old_item.find('.id').html(); 465 465 466 for(var i = 0; i<resultNormalize.length; i++){467 468 currentCalendars[id] = {469 470 471 472 473 474 };475 }476 477 UI.dialogs.sharedCalendar.find('dd.calendar-list ul.user-list')478 .append(DataLayer.render('templates/user_shared_add_itemlist.ejs', [currentCalendars[id]]))479 .scrollTo('max');466 for(var i = 0; i<resultNormalize.length; i++){ 467 if(resultNormalize[i].id == id) 468 currentCalendars[id] = { 469 id: id, 470 name: resultNormalize[i].name, 471 description: resultNormalize[i].description, 472 type: resultNormalize[i].type, 473 isCalendar: true 474 }; 475 } 476 477 UI.dialogs.sharedCalendar.find('dd.calendar-list ul.user-list') 478 .append(DataLayer.render('templates/user_shared_add_itemlist.ejs', [currentCalendars[id]])) 479 .scrollTo('max'); 480 480 481 $('li.not-user').remove();482 callbackSharedCalendarAdd();483 old_item.remove();484 485 });486 event.preventDefault();487 488 });489 490 var callbackSharedCalendarAdd = function(event){491 492 493 icons: {494 495 },496 text: false497 498 var id = $(this).parents('li').find('input[name="idPermission"]').val();499 currentCalendars[$(this).parents().find('input[name="calendar[]"]').val()] = false;500 $(this).parents('li').remove();501 if(!!id)502 DataLayer.remove('calendarSignature', id);503 504 505 506 507 508 function () {509 510 511 512 },513 function () {514 515 516 517 }518 );519 }520 521 //Carrega os dados já cadastrados522 for (var i = 0; i < Calendar.signatures.length; i++)523 524 var dataCurrent = Calendar.signatures[i].calendar;525 currentCalendars[Calendar.signatures[i].permission.id] = {526 527 528 529 530 531 532 533 };481 $('li.not-user').remove(); 482 callbackSharedCalendarAdd(); 483 old_item.remove(); 484 } 485 }); 486 event.preventDefault(); 487 } 488 }); 489 490 var callbackSharedCalendarAdd = function(event){ 491 492 UI.dialogs.sharedCalendar.find('.button').filter(".close.new").button({ 493 icons: { 494 primary: "ui-icon-close" 495 }, 496 text: false 497 }).click(function () { 498 var id = $(this).parents('li').find('input[name="idPermission"]').val(); 499 currentCalendars[$(this).parents().find('input[name="calendar[]"]').val()] = false; 500 $(this).parents('li').remove(); 501 if(!!id) 502 DataLayer.remove('calendarSignature', id); 503 }) 504 .addClass('tiny disable ui-button-disabled ui-state-disabled') 505 .removeClass('new').end(); 506 507 UI.dialogs.sharedCalendar.find('.user-list li').hover( 508 function () { 509 $(this).addClass("hover-user"); 510 $(this).find('.button').removeClass('disable ui-button-disabled ui-state-disabled').end() 511 .find('.user-acls-shared-calendar').addClass('hover-user'); 512 }, 513 function () { 514 $(this).removeClass("hover-user"); 515 $(this).find('.button').addClass('disable ui-button-disabled ui-state-disabled').end() 516 .find('.user-acls-shared-calendar').removeClass('hover-user');; 517 } 518 ); 519 } 520 521 //Carrega os dados já cadastrados 522 for (var i = 0; i < Calendar.signatures.length; i++) 523 if(Calendar.signatures[i].isOwner == "0"){ 524 var dataCurrent = Calendar.signatures[i].calendar; 525 currentCalendars[Calendar.signatures[i].permission.id] = { 526 id: dataCurrent.id, 527 idPermission:Calendar.signatures[i].id , 528 name: dataCurrent.name, 529 description: dataCurrent.description, 530 type: Calendar.signatures[i].permission.type, 531 isCalendar: true, 532 current: true 533 }; 534 534 535 UI.dialogs.sharedCalendar.find('dd.calendar-list ul.user-list')536 .append(DataLayer.render('templates/user_shared_add_itemlist.ejs', [currentCalendars[Calendar.signatures[i].permission.id]]))537 .scrollTo('max');538 539 $('li.not-user').remove();540 callbackSharedCalendarAdd();541 542 543 UI.dialogs.sharedCalendar.dialog('open');535 UI.dialogs.sharedCalendar.find('dd.calendar-list ul.user-list') 536 .append(DataLayer.render('templates/user_shared_add_itemlist.ejs', [currentCalendars[Calendar.signatures[i].permission.id]])) 537 .scrollTo('max'); 538 539 $('li.not-user').remove(); 540 callbackSharedCalendarAdd(); 541 } 542 543 UI.dialogs.sharedCalendar.dialog('open'); 544 544 } 545 545
Note: See TracChangeset
for help on using the changeset viewer.