Changeset 1448 for trunk/workflow


Ignore:
Timestamp:
09/25/09 09:58:16 (15 years ago)
Author:
gbisotto
Message:

Ticket #657 - Modificação do script js para suportar redimencionamento da janela

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/workflow/js/userinterface/processes.js

    r795 r1448  
    6161                parag.className = "text_dsp"; 
    6262                parag.innerHTML = "Não existem processos disponíveis"; 
    63                 content_id_1.appendChild(parag);                                                 
     63                content_id_1.appendChild(parag); 
    6464        } 
    6565        else 
     
    8282{ 
    8383        var content_id_1 = document.getElementById("content_id_1"); 
    84         var available_width = screen.availWidth - 200; 
    85         var max_columns = Math.floor(available_width / 120); 
    86         var max_lines = 2; 
    87          
    88         var table_element = document.createElement("TABLE"); 
    89         var tbody_element = document.createElement("TBODY"); 
    90         table_element.setAttribute("id", "table_proc"); 
    91         table_element.setAttribute("cellSpacing", "10"); 
    92         table_element.setAttribute("width", "auto");     
    93         tr_element = document.createElement("TR"); 
    94                  
    95         for (i=1; i <= max_lines * max_columns; i++) { 
    96                 td_element = document.createElement("TD"); 
    97                 td_element.setAttribute("id", "td_proc_" + (i -1) ); 
    98                 td_element.className = "proc_td_bg"; 
    99                 td_element.align = "left"; 
    100                 tr_element.appendChild(td_element); 
    101                 if ((i % max_columns) == 0) { 
    102                         tbody_element.appendChild(tr_element); 
    103                         tr_element = document.createElement("TR"); 
     84 
     85        var div_conteiner = document.createElement("DIV"); 
     86 
     87        div_conteiner.style.paddingRight = '100px'; 
     88        content_id_1.appendChild(div_conteiner); 
     89 
     90        (function loop(i) { 
     91 
     92                if(i < data.length){ 
     93 
     94                        var proc = data[i]; 
     95                        var proc_name_dsp = proc.wf_procname; 
     96 
     97                        if (proc_name_dsp.length > 40) { 
     98                            proc_name_dsp = proc_name_dsp.substr(0,40) + "..."; 
     99                        } 
     100 
     101                        var div_element = document.createElement("DIV"); 
     102 
     103                        div_element.style.width = '106px'; 
     104 
     105                        if(is_ie) { 
     106                                div_element.style.styleFloat = "left"; 
     107                                div_element.style.height = '150px'; 
     108                        } else { 
     109                                div_element.style.cssFloat = "left"; 
     110                                div_element.style.height = '100px' 
     111                        } 
     112 
     113                        div_element.style.padding = '7px'; 
     114                        div_element.style.paddingTop = "25px"; 
     115                        div_element.style.cursor = 'pointer'; 
     116 
     117                        var index = i; 
     118 
     119                        div_element.onclick = function() { displayProcessMenu(index); }; 
     120                        div_element.onmouseover = function() { menuTimer = setTimeout("displayProcessMenu('" + index + "')",400);}; 
     121                        div_element.onmouseout = function() { if (menuTimer) clearTimeout(menuTimer); }; 
     122 
     123                        var div_proc_img = document.createElement("DIV"); 
     124                        div_proc_img.style.width = "100%"; 
     125                        div_proc_img.style.textAlign = 'center'; 
     126                        div_proc_img.innerHTML = '<img src="' + proc.wf_iconfile + '" id="processImage_' + i + '" width="32" height="32">'; 
     127 
     128                        var div_proc_txt = document.createElement("DIV"); 
     129                        div_proc_txt.style.width = "100%"; 
     130                        div_proc_txt.style.textAlign = 'center'; 
     131                        div_proc_txt.style.paddingTop = '5px'; 
     132                        div_proc_txt.innerHTML = '<span style="font-size: 11px !important;">'+proc_name_dsp+'</span>'; 
     133                        div_proc_txt.innerHTML += '<br><span class="version_dsp"> (v' + proc.wf_version + ')</span></p>'; 
     134                        div_element.appendChild(div_proc_img); 
     135                        div_element.appendChild(div_proc_txt); 
     136 
     137                        div_conteiner.appendChild(div_element); 
     138 
     139                        createProcessMenu(i, data[i]); 
     140 
     141                        loop(i+1); 
    104142                } 
    105         }        
    106         tbody_element.appendChild(tr_element); 
    107         table_element.appendChild(tbody_element); 
    108         content_id_1.appendChild(table_element); 
    109          
    110         for (i=1; i <= data.length; i++) { 
    111                 ind = i -1; 
    112                 proc = data[ind]; 
    113                 proc_name_dsp = proc.wf_procname;        
    114                 if (proc_name_dsp.length > 40) { 
    115                         proc_name_dsp = proc.wf_procname.substr(0,40) + "..."; 
    116                 } 
    117                 table_element = document.createElement("TABLE"); 
    118                 tbody_element = document.createElement("TBODY"); 
    119                  
    120                 tr_element = document.createElement("TR"); 
    121                 td_element = document.createElement("TD"); 
    122                 td_element.setAttribute("vAlign", "top"); 
    123                 td_element.setAttribute("align", "center"); 
    124                 td_element.setAttribute("height", "40"); 
    125                 td_element.innerHTML = '<img src="' + proc.wf_iconfile + '" id="processImage_' + ind + '" width="32" height="32">'; 
    126                 tr_element.appendChild(td_element); 
    127                 tbody_element.appendChild(tr_element);   
    128                 eval('tbody_element.onclick = function() { displayProcessMenu(' + ind + '); }'); 
    129                 eval('tbody_element.onmouseover = function() { menuTimer = setTimeout("displayProcessMenu(' + ind + ')",400); }'); 
    130                 tbody_element.onmouseout = function() { if (menuTimer) clearTimeout(menuTimer); }; 
    131                  
    132                 tr_element = document.createElement("TR"); 
    133                 td_element = document.createElement("TD"); 
    134                 td_element.setAttribute("width", "106"); 
    135                 if (is_ie) { 
    136                         td_element.setAttribute("height", "60"); 
    137                 } else { 
    138                         td_element.setAttribute("height", "47"); 
    139                 } 
    140                 td_element.setAttribute("vAlign", "top"); 
    141                 td_element.setAttribute("align", "center"); 
    142                 td_element.innerHTML = proc_name_dsp; 
    143                 td_element.innerHTML += "<br><span class='version_dsp'> (v" + proc.wf_version + ")</span></p>"; 
    144                 tr_element.appendChild(td_element); 
    145                 tbody_element.appendChild(tr_element);   
    146                 tbody_element.style.cursor = 'pointer'; 
    147                  
    148                 table_element.appendChild(tbody_element); 
    149                 td_proc = document.getElementById("td_proc_" + ind); 
    150                 td_proc.appendChild(table_element); 
    151                 td_proc.className = "proc_td"; 
    152                  
    153                 createProcessMenu(ind, data[ind]); 
    154         } 
    155          
    156         for (ix=data.length; ix < max_lines * max_columns; ix++) { 
    157                 elem = document.getElementById("td_proc_" + ix); 
    158                 elem.setAttribute("width", "112"); 
    159                 if (is_ie) { 
    160                         elem.setAttribute("height", "119"); 
    161                 } else { 
    162                         elem.setAttribute("height", "106"); 
    163                 }                
    164                 elem.innerHTML = "&nbsp;";               
    165         } 
     143        })(0) 
     144 
     145        var div_bottom = document.createElement("DIV"); 
     146        div_bottom.style.width = "100%"; 
     147        div_bottom.style.clear = 'both'; 
     148 
     149        div_conteiner.appendChild(div_bottom); 
    166150} 
    167151 
     
    245229        /* define the menu position */ 
    246230        var processImage = $("processImage_" + index); 
    247         MENU_POS[0]['block_left'] = Position.page(processImage)[0] + processImage.getWidth(); 
    248         MENU_POS[0]['block_top'] = Position.page(processImage)[1]; 
     231        MENU_POS[0]['block_left'] = Position.cumulativeOffset(processImage)[0] + processImage.getWidth(); 
     232        MENU_POS[0]['block_top'] = Position.cumulativeOffset(processImage)[1]; 
    249233 
    250234        /* create the menu */ 
     
    255239{ 
    256240        for (var i = 0; i < A_MENUS.length; i++) 
    257                 if (i == id) 
     241                if (i == id){ 
     242 
     243                        var processImage = $("processImage_" + id); 
     244                        var posX = Position.cumulativeOffset(processImage)[0] + processImage.getWidth(); 
     245                        var posY = Position.cumulativeOffset(processImage)[1]; 
     246 
     247                        var firstItem = $("menuDiv_" + id).firstChild; 
     248 
     249                        var deltaX = (posX - parseFloat(firstItem.style.left)); 
     250                        var deltaY = (posY - parseFloat(firstItem.style.top)); 
     251 
     252                        if(deltaX != 0){ 
     253 
     254                                var items = $("menuDiv_" + id).childNodes; 
     255 
     256                                for(j = 0; j < items.length; j++){ 
     257                                        if(items[j].style != null) { 
     258                                                items[j].style.left = parseFloat(items[j].style.left) + deltaX + 'px'; 
     259                                                items[j].style.top  = parseFloat(items[j].style.top)  + deltaY + 'px'; 
     260                                        } 
     261                                } 
     262                        } 
     263 
    258264                        $("menuDiv_" + i).show(); 
    259                 else 
     265 
     266                } else 
    260267                        $("menuDiv_" + i).hide(); 
    261268} 
     
    287294                border_id = create_border("Sobre - " + data['wf_procname']); 
    288295                content = document.getElementById("content_id_" + border_id); 
    289                  
     296 
    290297                var table_proc = document.createElement("TABLE"); 
    291298                var tbody_proc = document.createElement("TBODY"); 
     
    298305                td_element.innerHTML = "Processo " + data['wf_procname'] + " (v" + data['wf_version'] + ")"; 
    299306                tr_element.appendChild(td_element); 
    300                 tbody_proc.appendChild(tr_element);                      
     307                tbody_proc.appendChild(tr_element); 
    301308                tr_element = document.createElement("TR"); 
    302309                tr_element.className = "info_tr_simple"; 
    303310                td_element = document.createElement("TD"); 
    304311                td_element.innerHTML = data['wf_description']; 
    305                 tr_element.appendChild(td_element);              
     312                tr_element.appendChild(td_element); 
    306313                tbody_proc.appendChild(tr_element); 
    307314                table_proc.appendChild(tbody_proc); 
     
    310317                content.appendChild(table_proc); 
    311318                content.appendChild(document.createElement("BR")); 
    312          
     319 
    313320                var table_activ = document.createElement("TABLE"); 
    314321                var tbody_activ = document.createElement("TBODY"); 
     
    322329                td_element.innerHTML = "Atividades do Processo"; 
    323330                tr_element.appendChild(td_element); 
    324                 tbody_activ.appendChild(tr_element);                     
     331                tbody_activ.appendChild(tr_element); 
    325332 
    326333                for (ix = 0; ix < data['wf_activities'].length; ix++) { 
     
    335342                        td_element2.innerHTML = data['wf_activities'][ix]['wf_description']; 
    336343                        tr_element.appendChild(td_element1); 
    337                         tr_element.appendChild(td_element2);     
     344                        tr_element.appendChild(td_element2); 
    338345                        tbody_activ.appendChild(tr_element); 
    339346                } 
    340                  
     347 
    341348                table_activ.appendChild(tbody_activ); 
    342349                content.appendChild(table_activ); 
Note: See TracChangeset for help on using the changeset viewer.