source: sandbox/2.5.1-expresso2/prototype/modules/calendar/js/activity.helpers.js @ 7869

Revision 7869, 27.6 KB checked in by eduardow, 11 years ago (diff)

Ticket #3341 - Implementacao da DFD0151 - Nova funcionalidade ao alterar o grupo de uma atividade

  • Property svn:executable set to *
RevLine 
[6945]1function activityDetails( objActivity, decoded, path, isMail, repeat){
[6881]2
[6945]3    tasks = {length: 0};
[6881]4       
5    if(path == undefined)
6        path = "";
7               
8    if( !decoded )
[6945]9        objActivity = DataLayer.decode( "schedulable:group", objActivity );
[6881]10
11    if(!isMail)
[6945]12        objActivity = DataLayer.encode( "schedulable:activity", objActivity );
13
14    /**
[6977]15    * canDiscardActivityDialog deve ser true se não houver alterações no evento
16    */
[6951]17    canDiscardActivityDialog = true;
[6945]18    /**
[6974]19         * zebraDiscardActivityDialog é uma flag indicando que uma janela de confirmação (Zebra_Dialog)
20         * já está aberta na tela, uma vez que não é possivel acessar o evento ESC utilizado para fechá-la
[6945]21         */
[6951]22    zebraDiscardActivityDialog = false;
[6881]23       
24        var html = DataLayer.render( path+'templates/activity_add.ejs', {
[6945]25            activity:objActivity
[6881]26        });     
27                       
28        if (!UI.dialogs.addActivity) {
29
30            UI.dialogs.addActivity = jQuery('#sandbox').append('<div title="Criar Atividade" class="new-activity-win active"> <div>').find('.new-activity-win.active').html(html).dialog({
[6945]31                resizable: false,
32                modal:true,
33                autoOpen: false,
[6959]34                width:735,
[6945]35                position: 'center',
36                close: function(event, ui) {
37                        /**
38                         * Remove tooltip possivelmente existente
39                         */
40                        if ($('.qtip.qtip-blue.qtip-active').length)
41                                $('.qtip.qtip-blue.qtip-active').qtip('destroy');                                               
42                       
43                attendees  = {};
44                },
45                beforeClose: function(event, ui) {
46               
[6951]47                    if (!canDiscardActivityDialog && !zebraDiscardActivityDialog) {
48                                zebraDiscardActivityDialog = true;
[6945]49                                window.setTimeout(function() {
[6951]50                                    $.Zebra_Dialog('Suas alterações na atividade não foram salvas. Deseja descartar as alterações?', {
[6945]51                                        'type':     'question',
52                                        'overlay_opacity': '0.5',
[6951]53                                        'buttons':  ['Descartar alterações', 'Continuar editando'],
[6945]54                                        'onClose':  function(clicked) {
[6951]55                                            if(clicked == 'Descartar alterações') {
56                                                canDiscardActivityDialog = true;
[6945]57                                                /**
[6951]58                                                *Remoção dos anexos do eventos caso seja cancelado a edição
[6945]59                                                */
60                                                DataLayer.rollback();
[6881]61
[6945]62                                                var ids = false;
63                                                $.each($('.attachment-list input'), function (i, input) {
64                                                    DataLayer.put('attachment', {id: ''+input.value});
65                                                    DataLayer.remove('attachment', ''+input.value);
66                                                        ids = true;
67                                                });
68                                                if(ids)
69                                                        DataLayer.commit();
[6881]70
[6945]71                                                UI.dialogs.addActivity.dialog('close');
72                                            }else{
[6951]73                                                   zebraDiscardActivityDialog = false;
[6945]74                                            }
75                                                                                       
76                                            /**
[6951]77                                            * Uma vez aberta uma janela de confirmação (Zebra_Dialog), ao fechá-la
78                                            * com ESC, para que o evento ESC não seja propagado para fechamento da
79                                            * janela de edição de eventos, deve ser setada uma flag indicando que
80                                            * já existe uma janela de confirmação aberta.
[6945]81                                            */
82                                            if (!clicked) {
83                                                window.setTimeout(function() {
[6951]84                                                    zebraDiscardActivityDialog = false;
[6945]85                                                }, 200);
86                                            }
87                                        }
88                            });
89                                                                       
90                        }, 300);
91            }
92            //DataLayer.rollback();
[6951]93            return canDiscardActivityDialog;
[6945]94        },
95        dragStart: function(event, ui) {
[6974]96            if ($('.qtip.qtip-blue.qtip-active').length)
97                $('.qtip.qtip-blue.qtip-active').qtip('destroy');
[6945]98       }
99    });
[6881]100                               
101        } else {
102            UI.dialogs.addActivity.html(html);
103        }
104               
105var tabs = UI.dialogs.addActivity.children('.content').tabs({
106        select: function(event, ui) {
107                if ($('.qtip.qtip-blue.qtip-active').length)
108                        $('.qtip.qtip-blue.qtip-active').qtip('destroy');
109        }       
110        });
[6945]111
112var group = DataLayer.get('calendar', objActivity.group);
[6881]113                               
[6945]114if (group.timezone != objActivity.timezone){
115    UI.dialogs.addActivity.find('.group_addactivity_details_lnk_timezone').find('option[value="'+objActivity.timezone+'"]').attr('selected','selected').trigger('change');
116    UI.dialogs.addActivity.find('.group_addactivity_details_lnk_timezone').addClass('hidden');
117    $('.group-addevent-details-txt-timezone').removeClass('hidden');
[6881]118                       
119}
120
[6945]121UI.dialogs.addActivity.find('.group_addactivity_details_lnk_timezone').click(function(e){
[6881]122    $(this).addClass('hidden');
[6945]123    $('.group-addactivity-details-txt-timezone').removeClass('hidden');
[6881]124    e.preventDefault();
125});
126
[6945]127UI.dialogs.addActivity.find('.button.remove').button({
128    text:false,
129    icons:{
130        primary:'ui-icon-close'
131    }
132}).click(function(el){
133    var id;
134    if( id = $(this).parent().find('input[name="alarmId[]"]').val())
135        DataLayer.remove('alarm', id);
136    $(this).parent().remove().find('li').is(':empty');
137});
[6881]138
[6945]139UI.dialogs.addActivity.find('.button-add-alarms').click(function(){
[7269]140            DataLayer.render( 'templates/alarms_add_itemlist.ejs', {type: 2}, function( template ){
[6945]141            jQuery('.activity-alarms-list').append(template)
142            .find('.number').numeric().end()
143            .find('.button.remove').button({
144                text:false,
145                icons:{
146                    primary:'ui-icon-close'
147                }
148            }).click(function(el) {
149                $(this).parent().remove();
150            });   
151            });
152        });
[6881]153
[6951]154/*Seleciona a agenda padrão para visualização/edição de um evento*/
[6945]155if(objActivity.id)
[6954]156    UI.dialogs.addActivity.find('select[name="group"] option[value="'+objActivity.group+'"]').attr('selected','selected').trigger('change');
[6881]157
158UI.dialogs.addActivity.find('.button').button();
[6945]159    UI.dialogs.addActivity.find('.button.add').button({
160        icons: {
161           secondary: "ui-icon-plus"
162        }
[6881]163});
164
[6954]165todoStatus('addActivity', (objActivity.activityStatus != undefined) ? objActivity.activityStatus : 1);
166
[6958]167UI.dialogs.addActivity.find('select[name="activityStatus"]').attr('disabled', 'disabled');
168
[6881]169// ==== validation events ====
[6958]170UI.dialogs.addActivity.find(".input-group .h1").Watermark("Atividade sem título");
[6945]171
[6881]172UI.dialogs.addActivity.find(".number").numeric();
[6945]173
[6881]174User.preferences.dateFormat.indexOf('-') > 0 ?
175UI.dialogs.addActivity.find(".date").mask("99-99-9999", {
176    completed:function(){
177        updateMap();
178    }
179}) :
[6945]180
[6881]181UI.dialogs.addActivity.find(".date").mask("99/99/9999", {
182    completed:function(){
183        updateMap();
184    }
185});
186
[6945]187UI.dialogs.addActivity.find(".menu-addactivity")
[6881]188.children(".delete").click(function(){
[7518]189    $.Zebra_Dialog('A exclusão desta atividade também traz a opção de excluir suas tarefas adicionadas. O que deseja excluir?', {
[6881]190        'type':     'question',
[7518]191    'width': '400',
[6881]192        'overlay_opacity': '0.5',
[7518]193        'buttons':  ['Atividade e Tarefas', 'Apenas Atividade', 'Cancelar'],
[6881]194        'onClose':  function(clicked) {
[7518]195            if(clicked == 'Apenas Atividade'){
196            canDiscardActivityDialog = true;
197            /* Remove por filtro */
198            DataLayer.removeFilter('schedulable', {filter: ['AND', ['=', 'id', objActivity.id], ['=', 'calendar', objActivity.group], ['=','user',(objActivity.me.user ? objActivity.me.user.id : objActivity.me.id)], ['=', 'type', '2']],criteria:{type:2}});
199            Calendar.rerenderView(true);
200            /********************/
201            UI.dialogs.addActivity.dialog("close");
202            }else if(clicked == 'Atividade e Tarefas'){
203            canDiscardActivityDialog = true;
204            DataLayer.removeFilter('schedulable', {filter: ['AND', ['=', 'id', objActivity.id], ['=', 'calendar', objActivity.group], ['=','user',(objActivity.me.user ? objActivity.me.user.id : objActivity.me.id)], ['=', 'type', '2']],criteria:{removeTaskToActivity: true, type:2}});
205            Calendar.rerenderView(true);
206            UI.dialogs.addActivity.dialog("close");
207        }
[6881]208        }
209    });
210}).end()
211           
212.children(".cancel").click(function(){
213    UI.dialogs.addActivity.dialog("close");
214}).end()
215           
216.children(".save").click(function(){
[6951]217    /* Validação
[6881]218    var msg = false;                   
219    if(msg = validDateEvent()){
[6945]220        $(".new-activity-win.active").find('.messages-validation').removeClass('hidden').find('.message label').html(msg);
221        return false;
[6881]222    }
[6945]223    */
[6881]224
[7869]225    //Código o qual será chamado para o salvamento da Atividade.
226    var handler_save = function (objsToSave){
227        UI.dialogs.addActivity.find('select[name="activityStatus"], input[name="allDay"]').removeAttr('disabled');
228        canDiscardActivityDialog = true;
229
230        var activity_tst = DataLayer.form( UI.dialogs.addActivity.children().find('form') );
231        if(objsToSave)
232            objsToSave[objsToSave.length] = activity_tst;
233       
234        else
235            objsToSave = activity_tst;
236        DataLayer.put('schedulable', objsToSave);
237       
238        UI.dialogs.addActivity.dialog("close");
239    }
240
241    //Verifica se o grupo da atividade mudou
242    if (group.id != UI.dialogs.addActivity.children().find('form select[name="group"] :selected').val() && typeof group.id != 'undefined') {
243        //Janela de dialogo
244        $.Zebra_Dialog('Você alterou o grupo da atividade, deseja alterar também o grupo das tarefas pertencentes à essa atividade?', {
245            'type':     'question',
246            'overlay_opacity': '0.5',
247            'modal': true,
248            'buttons':  ['Não Alterar', 'Alterar'],
249            'onClose':  function(clicked) {
250                if(clicked == 'Não Alterar') {
251                 
252                    handler_save();
253                }else{
254                    var objsToSave = [];
255                    //percorre as tarefas da atividade para verificar se o grupo mudou
256                    for(var t in objActivity.tasks){
257                        if(typeof objActivity.tasks[t].group != 'undefined')
258                            if (objActivity.tasks[t].group != UI.dialogs.addActivity.children().find('form select[name="group"] :selected').val()){
259                                objActivity.tasks[t].group = UI.dialogs.addActivity.children().find('form select[name="group"] :selected').val();
260                                objsToSave[objsToSave.length] = {'calendar' : objActivity.tasks[t].group, 'id': t};
261                            }
262                    }
263                    handler_save(objsToSave);
264                   
265                }
266               
267            }
268        });
269                       
270   
271    } else {
272        handler_save();
273    }
274
[6881]275}).end()
276               
277.children(".export").click(function(){
278    UI.dialogs.addActivity.children().find(".form-export").submit();
279});
280
[6945]281var task_activityHtml = DataLayer.render( path+'templates/task_activity_add.ejs', {     activity: objActivity});
282var blkAddTask = UI.dialogs.addActivity.find('#group_addactivity_details8').append(task_activityHtml);
[6881]283
284var dates = UI.dialogs.addActivity.find('input.date').datepicker({
285    dateFormat: User.preferences.dateFormat.replace(/M/g, 'm').replace(/yyyy/g, 'yy'),
286    onSelect : function( selectedDate ){
287        updateMap();
288    }
289});
290
[6945]291blkAddTask.find('.add-activity-search .ui-icon-search').click(function(event) {
292    blkAddTask.find('.add-activity-search input').keydown();
[6881]293});
294                       
295                       
[6945]296blkAddTask.find('.add-activity-search input').keydown(function(event) {
[6881]297
298    if(event.keyCode == '13' || typeof(event.keyCode) == 'undefined') {
299    // Fazer get das tarefas   
[6945]300        var filter =
301        {
302            filter:
303                ['AND',
304                    ['=', 'type', '2'],
305                    ['>=','startTime', $.now()],
[7869]306                    ['in', 'calendar', [$('div.new-activity-win.active select[name="groupFilter"]').val()]]
[7680]307                ], criteria: {filterTasks: true, deepness: 2}
[6945]308        };
309    if($(this).val() != ''){
310        filter['filter'].push(['OR',
311                            ["i*", "summary", $(this).val()],
312                            ["i*", "description", $(this).val()]
313                           ]);
314    }
315    var result = DataLayer.get('schedulable:taskSearch', filter, true)
[6881]316        /**
[6951]317        * TODO: trocar por template
318        */
[6945]319        blkAddTask.find('ul.search-result-list').empty().css('overflow', 'hidden');
[6881]320        if (!result) {
[6945]321            blkAddTask.find('ul.search-result-list').append('<li><label class="empty">Nenhum resultado encontrado.</label></li>');
322        }else{
323        for(i=0; i<result.length; i++)
324            result[i].enabled = (blkAddTask.find('dd.task-activity-list ul.task-activity-list input[value="' +  result[i].id + '"]').length) ? false : true;
325                                                                                       
326        blkAddTask.find('ul.search-result-list').append(DataLayer.render( path+'templates/task_search_itemlist.ejs', result));
[6881]327
[6945]328        /* TODO - Verificar id da aitividade*/
329        blkAddTask.find('ul.search-result-list li').click(function(event, ui){
330            if ($(event.target).is('input')) {
331                old_item = $(event.target).parents('li');
[6881]332
[6945]333                tasks[old_item.find('[name="id"]').val()] = {
334                    startDate: old_item.find('[name="taskStartDate"]').val(),
335                    startHour: old_item.find('[name="taskStartHour"]').val(),
336                    endDate: old_item.find('[name="taskEndDate"]').val(),
337                    endHour: old_item.find('[name="taskEndHour"]').val(),
338                    dueDate: old_item.find('[name="taskDueDate"]').val(),
339                    dueTime: old_item.find('[name="taskDueTime"]').val(),
340                    allDay: old_item.find('[name="taskAllDay"]').val(),
[6954]341                    percentage: old_item.find('[name="taskPercentage"]').val(),
342                    status: old_item.find('[name="taskStatus"]').val()
[6945]343                };
[6881]344
[6945]345                tasks.length += 1;
346                                                               
[6951]347                blkAddTask.find('dd.task-activity-list ul.task-activity-list')
348                    .append(DataLayer.render(path+'templates/task_add_itemlist.ejs', [{
[7075]349                                idTask: old_item.find('[name="id"]').val(),
350                                description: old_item.find('.description').html(),
351                                isWrite: false,
352                                summary: old_item.find('[name="taskSummary"]').val(),
353                                dueDate: old_item.find('[name="taskDueDate"]').val(),
354                                dueTime: old_item.find('[name="taskDueTime"]').val(),
355                                startDate: old_item.find('[name="taskStartDate"]').val(),
356                                startHour: old_item.find('[name="taskStartHour"]').val(),
357                                percentage: old_item.find('[name="taskPercentage"]').val(),
358                                priority: old_item.find('[name="taskPriority"]').val()
[6951]359                        }]))
[6945]360                        .scrollTo('max');
[7008]361                callbackTask(false, path);
[6945]362                registerStatus();
363                blkAddTask.find('.not-activity').addClass('hidden');
364                old_item.remove();
365            }
366        });
367    }
[6951]368    event.preventDefault();
[6881]369    }
370});
371
[6951]372/*Carrega as tarefas já existentes em uma atividade*/
[6945]373if(objActivity.tasks.length){
374    tasks = objActivity.tasks;
375
376    for(var i in objActivity.tasks){
377        if(i != 'length')
378            blkAddTask.find('dd.task-activity-list ul.task-activity-list')
379                .append(DataLayer.render(path+'templates/task_add_itemlist.ejs', [{
380                    idTask: i,
381                    description: tasks[i].description,
[6977]382                    idTaskToActivity: tasks[i].taskToActivity,
[7075]383                                        isWrite: true,
384                                        summary: tasks[i].summary,
385                                        dueDate: tasks[i].dueDate,
386                                        dueTime: tasks[i].dueTime,
387                                        startDate: tasks[i].startDate,
388                                        startHour: tasks[i].startHour,
389                                        percentage: tasks[i].percentage,
390                                        priority: tasks[i].priority
[6945]391                 }]))
392            .scrollTo('max');
393    }
394
[7008]395    callbackTask(false, path);
[6945]396    registerStatus();
397    blkAddTask.find('.not-activity').addClass('hidden');
398}
399
400UI.dialogs.addActivity.find('.row.fileupload-buttonbar-activity .button').filter('.delete').button({
[6881]401    icons: {
[6945]402           primary: "ui-icon-close"
[6881]403    },
404    text: 'Excluir'
405}).click(function () {
406    $.Zebra_Dialog('Tem certeza que deseja excluir todos anexos?', {
407        'type':     'question',
408        'overlay_opacity': '0.5',
[6951]409        'buttons':  ['Sim', 'Não'],
[6881]410        'onClose':  function(clicked) {
411            if(clicked == 'Sim'){
412               
413                var ids = [];
414                $.each($('.attachment-list input'), function (i, input) {
415                     DataLayer.remove('schedulableToAttachment', {
416                        filter: ['=', 'id', ''+input.value]
417                        });
418                });
[6981]419                $('div.new-activity-win .attachment-list input').remove();
420                $('div.new-activity-win .row.fileupload-buttonbar-activity .attachments-list p').remove();
421                $('div.new-activity-win .btn-danger.delete').addClass('hidden');
[6881]422            }
423        }});
424}).end()
425.filter('.close').button({
426    icons: {
[6945]427           primary: "ui-icon-close"
[6881]428    },
429    text: false
430}).click(function () {
431    DataLayer.remove('schedulableToAttachment', $(this).parents('p').find('input[name="fileId[]"]').val());
432    $(this).parents('p').remove();
433}).end()
434.filter('.downlaod-archive').button({
435    icons: {
[6945]436           primary: "ui-icon-arrowthickstop-1-s"
[6881]437    },
438    text: false
439});
440
[6981]441extendsFileupload('activity', path);
[6881]442
[6951]443UI.dialogs.addActivity.find(':input').change(function(event){
444    if (event.keyCode != '27' && event.keyCode != '13')
445        canDiscardActivityDialog = false;
446}).keydown(function(event){
447    if (event.keyCode != '27' && event.keyCode != '13')
448        canDiscardActivityDialog = false;
449});
450
[6881]451UI.dialogs.addActivity.dialog('open');
[6977]452}
453
454function refreshTaskActivity(){
455    updateActivity = false;
456
[7869]457    var idTask = UI.dialogs.addActivity.find('input[name="idActivity"]').val();
458     
459    getSchedulable( idTask );
460     
461    var objActivity = DataLayer.get('schedulable:activity', idTask );
[6977]462    var blkAddTask = UI.dialogs.addActivity.find('#group_addactivity_details8');
463    var blkAuto = UI.dialogs.addActivity.find('#group_addactivity_details1');
464   
465   tasks = objActivity.tasks;
466   blkAddTask.find('dd.task-activity-list ul.task-activity-list').html('');
467   
468   for(var i in tasks)
469       DataLayer.remove('schedulable', i, false);
470
471    for(var i in objActivity.tasks){
472        if(i != 'length')
473            blkAddTask.find('dd.task-activity-list ul.task-activity-list')
474                .append(DataLayer.render('templates/task_add_itemlist.ejs', [{
475                    idTask: i,
476                    description: tasks[i].description,
477                    idTaskToActivity: tasks[i].taskToActivity,
[7075]478                                        isWrite: true,
479                                        summary: tasks[i].summary,
480                                        dueDate: tasks[i].dueDate,
481                                        dueTime: tasks[i].dueTime,
482                                        startDate: tasks[i].startDate,
483                                        startHour: tasks[i].startHour,
484                                        percentage: tasks[i].percentage,
485                                        priority: tasks[i].priority
[6977]486                 }]))
487            .scrollTo('max');
488    }
489
490    callbackTask(blkAddTask);
491    registerStatus(blkAuto);
492}
493
494function registerStatus(blkAuto){
495    if(!blkAuto)
496        blkAuto = UI.dialogs.addActivity.find('#group_addactivity_details1');
497
498    var startDate = false;
499    var endDate = new Date;
500    var dueDate = new Date;
501    var percentage = 0;         
502            var statusTasks = {1: 0, 2: 0, 3: 0, 4: 0};
503            var allDay = true;
504
505    var formatString =  User.preferences.dateFormat + " " +  User.preferences.hourFormat;
506
507    if(tasks.length == 0){
508
509        startDate = new Date();
510        var configData = (startDate.toString('mm') < 30)  ? {minutes: (30 - parseInt(startDate.toString('mm')))} : {hours: 1, minutes: '-'+startDate.toString('mm')};
511        startDate.add(configData);
512
513        endDate = new Date(dateCalendar.decodeRange(startDate, (!!User.preferences.defaultCalendar ? (   !!Calendar.signatureOf[User.preferences.defaultCalendar].calendar.defaultDuration ?  (Calendar.signatureOf[User.preferences.defaultCalendar].calendar.defaultDuration) : (User.preferences.defaultDuration)) : (User.preferences.defaultDuration))));
514
515        blkAuto.find('input[name="startDate"]').val(startDate.toString(User.preferences.dateFormat ));
516        blkAuto.find('input[name="startHour"]').val(startDate.toString(User.preferences.hourFormat ));
517
518        blkAuto.find('input[name="endDate"]').val(endDate.toString(User.preferences.dateFormat ));
519        blkAuto.find('input[name="endHour"]').val(endDate.toString(User.preferences.hourFormat ));
520
521        blkAuto.find('input[name="dueDate"]').val('');
522        blkAuto.find('input[name="dueHour"]').val('');
523
524        blkAuto.find('input[name="percentage"]').val(percentage);
525
526        todoStatus('addActivity', 1);
527
528        UI.dialogs.addActivity.find('select[name="activityStatus"] option[value="'+1+'"]').attr('selected','selected');
529
530        blkAuto.find('input[name="allDay"]').attr('checked', false);
531
532        return true;
533    }
534
535    for (var i in tasks){
536
[7012]537        if(i == 'length')
538            continue;
[6977]539
[7012]540        statusTasks[tasks[i].status]++;
[6977]541
[7012]542        var stTime = Date.parseExact( tasks[i].startDate + " "+$.trim( tasks[i].startHour) , formatString);
543        var enTime = Date.parseExact( tasks[i].endDate + " "+$.trim( tasks[i].endHour), formatString );
[6977]544
[7012]545        startDate = (startDate && startDate.compareTo(stTime) == -1) ? startDate : stTime;
546        endDate = endDate.compareTo(enTime) == -1 ? enTime : endDate;
[6977]547
[7012]548        if(tasks[i].dueDate != ''){
549            var pvTime = Date.parseExact( tasks[i].dueDate + " "+$.trim( tasks[i].dueTime), formatString );
550            dueDate = dueDate.compareTo(pvTime) == -1 ? pvTime : dueDate;
551        }
[6977]552
[7012]553        percentage += parseInt(tasks[i].percentage);
[6977]554    }
[7012]555
556
557    if((percentage > 0) && (tasks.length > 0))
558        percentage = parseInt(percentage / tasks.length);
559   
[6977]560    var statusActivity = 1;
561
562    if(statusTasks[4] != 0)
563        statusActivity = 4;
564    else if(statusTasks[2] != 0)
565        statusActivity = 2;
566    else if(statusTasks[3] == tasks.length)
567        statusActivity = 3;
568    else if(statusTasks[1] == tasks.length)
569        statusActivity = 1;
570    else
571        statusActivity = 2;                     
572
573    todoStatus('addActivity', statusActivity);
574
575    UI.dialogs.addActivity.find('select[name="activityStatus"] option[value="'+statusActivity+'"]').attr('selected','selected');
576
577    dueDate = dueDate.compareTo(endDate) == -1 ? endDate : dueDate;
578
579    blkAuto.find('input[name="startDate"]').val(startDate.toString(User.preferences.dateFormat ));
580    blkAuto.find('input[name="startHour"]').val(startDate.toString(User.preferences.hourFormat ));
581
582    blkAuto.find('input[name="endDate"]').val(endDate.toString(User.preferences.dateFormat ));
583    blkAuto.find('input[name="endHour"]').val(endDate.toString(User.preferences.hourFormat ));
584
585    blkAuto.find('input[name="dueDate"]').val(dueDate.toString(User.preferences.dateFormat ));
586    blkAuto.find('input[name="dueHour"]').val(dueDate.toString(User.preferences.hourFormat ));
587
588    blkAuto.find('input[name="percentage"]').val(percentage);
589
590    blkAuto.find('input[name="allDay"]').attr('checked', (!!(startDate.compareTo(endDate) == 0) || (startDate.toString('HH:mm') == endDate.toString('HH:mm')) ? true : false));
591}
592
[7008]593function callbackTask(blkAddTask, path){
594
595    path = path ? path : '';
596
[6977]597        if(!blkAddTask)
598            blkAddTask = UI.dialogs.addActivity.find('#group_addactivity_details8');
599
600        blkAddTask.find("li .button").filter(".close.new").button({
601            icons: {
602            primary: "ui-icon-close"
603            },
604            text: false
605        }).click(function () {
606
607            delete tasks[$(this).parents('li').find('input[name="idtask[]"]').val()]
608            tasks.length +=  -1;
609
610            idTaskToActivity = $(this).parents('li').find('input[name="idTaskToActivity[]"]').val()
611
612            if(idTaskToActivity != '')
613                DataLayer.remove('taskToActivity', idTaskToActivity);
614           
615            $(this).parents('li').remove();
616               
617            if(blkAddTask.find(".task-activity-list li").length == 1)
618                blkAddTask.find("li.not-activity    ").removeClass('hidden');
619
620            registerStatus();
621        })
622        .addClass('tiny disable ui-button-disabled ui-state-disabled')
623        .removeClass('new').end()
624
625        .filter(".info.new").button({
626            icons: {
627                primary:  "ui-icon-notice"
628            },
629            text: false
630        }).click(function () {
631            var positionY = $(this).parents("li").offset().top;
632             
[7075]633            var summary = $(this).parents('li').find("div").find(".summary").val();
634                        var startDate = $(this).parents('li').find("div").find(".startDate").val();
635            var startHour = $(this).parents('li').find("div").find(".startHour").val();
636                        var dueDate = $(this).parents('li').find("div").find(".dueDate").val();
637                        var dueTime = $(this).parents('li').find("div").find(".dueTime").val();
638                        var percentage = $(this).parents('li').find("div").find(".percentage").val();
639                        var priority = $(this).parents('li').find("div").find(".priority").val();
[6977]640            var email = $(this).parents('li').find("div").find(".mail").text()
641                       
642            if( $('.qtip.qtip-blue.qtip-active').val() !== ''){
643                $(this).qtip({
644                    show: {
645                        ready: true,
646                        solo: true,
647                        when: {
648                            event: 'click'
649                        }
650                    },
651                    hide: false,
652                    content: {
653                        text: $('<div></div>').html( DataLayer.render( path + 'templates/activity_information_task.ejs', {
[7075]654                            'summary' : summary,
655                                                        'startDate' : startDate,
656                                                        'startHour' : startHour,
657                                                        'dueDate' : dueDate,
658                                                        'dueTime' : dueTime,
659                                                        'percentage' : percentage,
660                                                        'priority' : priority
[6977]661                        } ) ),
662                        title: {
663                            text:'Informações',
664                            button: '<a class="button close" href="#">close</a>'
665                        }
666                    },
667                style: {
668                    name: 'blue',
669                        tip: {
670                             },
671                        border: {
672                            width: 4,
673                            radius: 8
674                        },
675                        width: {
676                            min: 230,
677                            max:230
678                        }
679                },
680                position: {
681                    corner: {
682                        target: 'rightMiddle',
683                        tooltip: 'leftMiddle'
684                    },
685                    adjust: {
686                        x: 30,
687                        y: 0
688                    }
689                }
690            })
691            .qtip("api").onShow = function(arg0) {
692                $('.qtip-active .button.close').button({
693                    icons: {
694                        primary: "ui-icon-close"
695                    },
696                    text: false
697                })
698                .click(function(){
[7405]699                    blkAddTask.find('dd.task-activity-list').qtip('destroy');
[6977]700                });
701                                       
702                $('.qtip-active .button.cancel').button().click(function(){
[7405]703                    blkAddTask.find('dd.activity-list [type=checkbox]').attr('checked', false);
704                    blkAddTask.find('dd.activity-list').qtip('destroy');
[6977]705                });
706
707                $('.qtip .button').button();
708                                       
709            };
710         }             
711     })
712 .addClass('tiny disable ui-button-disabled ui-state-disabled')
713 .removeClass('new').end()
714 .filter(".edit.new").button({
715            icons: {
716            primary: "ui-icon-pencil"
717            },
718            text: false
719        }).click(function () {
[7869]720            var idTask = $(this).parents('li').find('input[name="idtask[]"]').val()
721        getSchedulable(idTask);
722        var task = DataLayer.get('schedulable:task', idTask);
723        taskDetails(task, true, '',true, null, true);     
[6977]724        })
725        .addClass('tiny disable ui-button-disabled ui-state-disabled')
726        .removeClass('new').end()
727
728        UI.dialogs.addActivity.find('.task-activity-list li').hover(
729            function () {
730                $(this).addClass("hover-attendee");
731                $(this).find('.button').removeClass('disable ui-button-disabled ui-state-disabled').end()
732                .find('.activity-options').addClass('hover-attendee');
733            },
734            function () {
735                $(this).removeClass("hover-attendee");
736                $(this).find('.button').addClass('disable ui-button-disabled ui-state-disabled').end()
737                .find('.activity-options').removeClass('hover-attendee');
738            }
739        );       
[7075]740    }
Note: See TracBrowser for help on using the repository browser.