source: trunk/prototype/modules/calendar/js/activity.helpers.js @ 7861

Revision 7861, 25.7 KB checked in by acoutinho, 11 years ago (diff)

Ticket #3340 - Falha ao alterar o grupo de uma tarefa quando inserido em uma atividade

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