source: sandbox/2.2.0.2/contactcenter/js/cc_config.js @ 4502

Revision 4502, 6.4 KB checked in by airton, 13 years ago (diff)

Ticket #1928 - Falhas na associação de um contato com um grupo de contato

Line 
1  /***************************************************************************\
2  * cc_config.js                                                                                                                      *
3  * Written by:                                                               *
4  *  - Adriano Pereira da silva - Prognus <adriano@prognus.com.br>            *
5  *  - Airton Bordin Junior - Prognus <airton@prognus.com.br>                 *
6  *  - http://www.prognus.com.br                                              *
7  * ------------------------------------------------------------------------- *
8  *  This program is free software; you can redistribute it and/or modify it  *
9  *  under the terms of the GNU General Public License as published by the    *
10  *  Free Software Foundation; either version 2 of the License, or (at your   *
11  *  option) any later version.                                               *
12  \***************************************************************************/
13
14
15
16        /*
17         * @function cc_attribute_clear
18         * @abstract Elimina as tuplas com campos vazios antes de enviar o formulário via POST
19         * @author Prognus software livre - http://www.prognus.com.br
20         * @param form
21         */
22        function cc_attribute_clear(form)
23        {
24
25                var vars = document.getElementsByClassName("cc_attribute");
26               
27                var tupla;
28                var select;
29                var inputs;
30               
31                for (var i=0; i<vars.length; i++) {     
32                        tupla = vars[i];
33                        inputs = tupla.getElementsByTagName("input");
34                       
35                        if(inputs[0].value == "" || inputs[1].value == "")
36                        {
37                               
38                                inputs[0].setAttribute("value", "");
39                                inputs[1].setAttribute("value", "");
40                               
41                                select = tupla.getElementsByTagName("select");
42                                select[0].innerHTML = "<option value=\"\" selected=\"selected\"></option>";
43                               
44                                tupla.style.visible = "hidden";
45                                tupla.style.display = "none";
46                        }
47                }
48                form.submit();
49        }
50       
51       
52       
53        /*
54         * @function cc_attribute_add
55         * @abstract Adiciona uma nova tupla de campos ao final da lista de tuplas
56         * @author Prognus software livre - http://www.prognus.com.br
57         * @param
58         */
59        function cc_attribute_add()
60        {
61                var strings = document.getElementsByClassName("cc_attribute")[0].getElementsByTagName("label");
62                var stringNome = strings[0].innerHTML + " ";
63                var stringCorrespLdap = " " + strings[1].innerHTML + " ";
64                var stringTipo = " " + strings[2].innerHTML + " ";
65               
66                var stringTexto = document.getElementsByClassName("cc_attribute")[0].getElementsByTagName("select")[0].getElementsByTagName("option")[0].innerHTML;
67                var stringMultivalorado = document.getElementsByClassName("cc_attribute")[0].getElementsByTagName("select")[0].getElementsByTagName("option")[1].innerHTML
68               
69                var numeroAtributo = 0;
70                var vars = document.getElementsByClassName("cc_attribute");
71               
72                var maior = 0;
73                for (var i=0; i<vars.length; i++) {
74                        var tupla = vars[i];
75                        var linhaIndice = tupla.getElementsByTagName("input")[0];
76                        var arrayDeTokens = linhaIndice.getAttribute("name").split("_");
77                       
78                        numeroAtributo = arrayDeTokens[3];
79                        numeroAtributo = numeroAtributo.substr(0, numeroAtributo.length -1);
80                        numeroAtributo = parseInt(numeroAtributo); 
81                        if (numeroAtributo > maior) {
82                                maior = numeroAtributo;
83                        }
84                }
85               
86                maior++;
87                numeroAtributo = maior;
88               
89                var cc_attribute_name = "newsettings[cc_attribute_name_" + numeroAtributo + "]";
90                var cc_attribute_ldapname = "newsettings[cc_attribute_ldapname_" + numeroAtributo + "]";
91                var cc_attribute_type = "newsettings[cc_attribute_type_" + numeroAtributo + "]";
92               
93                var pool = document.getElementById("cc_attribute_fields");
94                var btn = document.getElementById("c_attribute_box_adder"); // nome do id definido no template.
95               
96                var newDiv = document.createElement("div");
97                newDiv.setAttribute("class", "cc_attribute");
98               
99                var labelNome = document.createElement("label");
100                labelNome.appendChild(document.createTextNode(stringNome));
101               
102                var formularioNome = document.createElement("input");
103                formularioNome.setAttribute("type", "text");
104                formularioNome.setAttribute("name", cc_attribute_name);
105                formularioNome.setAttribute("value", "");
106               
107                var labelCorrespondenteLdap = document.createElement("label");
108                labelCorrespondenteLdap.appendChild(document.createTextNode(stringCorrespLdap));
109               
110                var formularioLdap = document.createElement("input");
111                formularioLdap.setAttribute("type", "text");
112                formularioLdap.setAttribute("name", cc_attribute_ldapname);
113                formularioLdap.setAttribute("value", "");
114               
115                var labelTipo = document.createElement("label");
116                labelTipo.appendChild(document.createTextNode(stringTipo));
117               
118                var selectTipos = document.createElement("select");
119                selectTipos.setAttribute("name", cc_attribute_type);
120                        var optionTexto = document.createElement("option");
121                        optionTexto.setAttribute("value", "text");
122                        optionTexto.setAttribute("selected", "selected");
123                        optionTexto.innerHTML = stringTexto + " ";
124               
125                        var optionMultivalorado = document.createElement("option");
126                        optionMultivalorado.setAttribute("value", "multivalues");
127                        optionMultivalorado.innerHTML = stringMultivalorado + " ";
128                       
129                selectTipos.appendChild(optionTexto);
130                selectTipos.appendChild(optionMultivalorado);
131                               
132
133                var imagem = document.createElement("img");
134                imagem.setAttribute("type", "image");
135                imagem.setAttribute("src", "contactcenter/templates/default/images/cc_x.png");
136                imagem.setAttribute("alt", "Excluir Campo ");
137                imagem.setAttribute("style", "width: 15px; height: 14px; cursor: pointer; position: relative; top: 3px;");
138                imagem.setAttribute("onclick", "javascript:cc_attribute_delete(this)");
139                               
140                newDiv.appendChild(labelNome);
141                newDiv.appendChild(formularioNome);
142                newDiv.appendChild(labelCorrespondenteLdap);
143                newDiv.appendChild(formularioLdap);
144                newDiv.appendChild(labelTipo);
145                newDiv.appendChild(selectTipos);
146                newDiv.appendChild(document.createTextNode(" "));
147                newDiv.appendChild(imagem);
148
149                pool.appendChild(newDiv);
150        }
151       
152        /*
153         * @function cc_attribute_clear(form)
154         * @abstract Exclui uma tupla e de campos, onde e é uma referência ao elemento HTML (div) container da tupla 
155         * @author Prognus software livre - http://www.prognus.com.br
156         * @param e
157         *
158         */
159        function cc_attribute_delete(e)
160        {
161                        var tupla = e.parentNode;
162                       
163                        var inputs = tupla.getElementsByTagName("input");
164
165                                inputs[0].value = "";
166                                inputs[1].value = "";
167                               
168                                var select = tupla.getElementsByTagName("select");
169                                select[0].innerHTML = "<option value=\"\" selected=\"selected\"></option>";
170                               
171                        tupla.style.visible = "hidden";
172                        tupla.style.display = "none";
173               
174//              e.parentNode.parentNode.removeChild(e.parentNode);
175        }
Note: See TracBrowser for help on using the repository browser.