source: branches/1.2/workflow/js/userinterface/externals.js @ 1349

Revision 1349, 3.6 KB checked in by niltonneto, 15 years ago (diff)

Ticket #561 - Inclusão do módulo Workflow faltante nessa versão.

  • Property svn:executable set to *
Line 
1var externals = function(data)
2{
3        if (_checkError(data))
4                return;
5
6        var content_id_3 = document.getElementById("content_id_3");
7        if (data.length == 0)
8        {
9                var parag = document.createElement("P");
10                parag.className = "text_dsp";
11                parag.innerHTML = "Não existem aplicações externas";
12                content_id_3.appendChild(parag);
13        }
14        else
15        {
16                elem = document.getElementById("table_ext");
17                if (elem) {
18                        elem.parentNode.removeChild(elem);
19                }
20
21                draw_externals_grid(data, 3);
22        }
23};
24
25function draw_externals_folder()
26{
27        cExecute ("$this.bo_userinterface.externals", externals, "");
28}
29
30function draw_externals_grid(data, page)
31{
32        var content_id_3 = document.getElementById("content_id_3");
33        var available_width = screen.availWidth - 200;
34        var max_columns = Math.floor(available_width / 120);
35        var max_lines = Math.max(2, Math.ceil(data.length / max_columns));
36
37        var table_element = document.createElement("TABLE");
38        var tbody_element = document.createElement("TBODY");
39        table_element.setAttribute("id", "table_ext");
40        table_element.setAttribute("cellSpacing", "10");
41        table_element.setAttribute("width", "auto");
42        tr_element = document.createElement("TR");
43
44        for (i=1; i <= max_lines * max_columns; i++)
45        {
46                td_element = document.createElement("TD");
47                td_element.setAttribute("id", "td_ext_" + (i -1) );
48                td_element.className = "proc_td_bg";
49                td_element.align = "left";
50                tr_element.appendChild(td_element);
51                if ((i % max_columns) == 0)
52                {
53                        tbody_element.appendChild(tr_element);
54                        tr_element = document.createElement("TR");
55                }
56        }
57        tbody_element.appendChild(tr_element);
58        table_element.appendChild(tbody_element);
59        content_id_3.appendChild(table_element);
60
61        /* this loop is required because if a regular "for" is used, the variables will be shared among the iterations */
62        (function loop(i)
63        {
64                if (i <= data.length)
65                {
66                        ind = i - 1;
67                        var external_link = data[ind].wf_ext_link;
68                        ext = data[ind];
69                        ext_name_dsp = ext.name;
70                        if (ext_name_dsp.length > 40)
71                        {
72                                ext_name_dsp = ext_name_dsp.substr(0,40) + "...";
73                        }
74                        table_element = document.createElement("TABLE");
75
76                        table_element.onclick = function() { var external_window = window.open(external_link,'extwindow'); external_window.opener = null;};
77                        tbody_element = document.createElement("TBODY");
78
79                        tr_element = document.createElement("TR");
80                        td_element = document.createElement("TD");
81                        td_element.setAttribute("vAlign", "top");
82                        td_element.setAttribute("align", "center");
83                        td_element.setAttribute("height", "40");
84                        td_element.innerHTML = "<img src ='" + ext.image + "' width='32' height='32'>";
85                        tr_element.appendChild(td_element);
86                        tbody_element.appendChild(tr_element);
87
88
89                        tr_element = document.createElement("TR");
90                        td_element = document.createElement("TD");
91                        td_element.setAttribute("width", "106");
92                        if (is_ie) {
93                                td_element.setAttribute("height", "60");
94                        } else {
95                                td_element.setAttribute("height", "47");
96                        }
97                        td_element.setAttribute("vAlign", "top");
98                        td_element.setAttribute("align", "center");
99                        td_element.innerHTML = ext_name_dsp;
100                        td_element.innerHTML += "<br/><br/>";
101                        tr_element.appendChild(td_element);
102                        tbody_element.appendChild(tr_element);
103                        tbody_element.style.cursor = 'pointer';
104
105                        table_element.appendChild(tbody_element);
106                        td_ext = document.getElementById("td_ext_" + ind);
107                        td_ext.appendChild(table_element);
108                        td_ext.className = "proc_td";
109
110                        loop(i+1);
111                }
112        })(1);
113
114        for (ix = data.length; ix < max_lines * max_columns; ix++) {
115                elem = document.getElementById("td_ext_" + ix);
116                elem.setAttribute("width", "120");
117                if (is_ie) {
118                        elem.setAttribute("height", "119");
119                } else {
120                        elem.setAttribute("height", "106");
121                }
122                elem.innerHTML = "&nbsp;";
123        }
124}
Note: See TracBrowser for help on using the repository browser.