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 | //tupla.parentNode.removeChild(tupla); |
---|
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 | select[1].innerHTML = "<option value=\"\" selected=\"selected\"></option>"; |
---|
44 | |
---|
45 | tupla.style.visible = "hidden"; |
---|
46 | tupla.style.display = "none"; |
---|
47 | } |
---|
48 | } |
---|
49 | form.submit(); |
---|
50 | } |
---|
51 | |
---|
52 | |
---|
53 | |
---|
54 | /* |
---|
55 | * @function cc_attribute_add |
---|
56 | * @abstract Adiciona uma nova tupla de campos ao final da lista de tuplas |
---|
57 | * @author Prognus software livre - http://www.prognus.com.br |
---|
58 | * @param |
---|
59 | */ |
---|
60 | function cc_attribute_add() |
---|
61 | { |
---|
62 | var stringTexto = document.getElementsByClassName("cc_attribute")[0].getElementsByTagName("select")[0].getElementsByTagName("option")[0].innerHTML; |
---|
63 | var stringMultivalorado = document.getElementsByClassName("cc_attribute")[0].getElementsByTagName("select")[0].getElementsByTagName("option")[1].innerHTML |
---|
64 | |
---|
65 | var numeroAtributo = 0; |
---|
66 | var vars = document.getElementsByClassName("cc_attribute"); |
---|
67 | |
---|
68 | var maior = 0; |
---|
69 | for (var i=0; i<vars.length; i++) { |
---|
70 | var tupla = vars[i]; |
---|
71 | var linhaIndice = tupla.getElementsByTagName("input")[0]; |
---|
72 | var arrayDeTokens = linhaIndice.getAttribute("name").split("_"); |
---|
73 | |
---|
74 | numeroAtributo = arrayDeTokens[3]; |
---|
75 | numeroAtributo = numeroAtributo.substr(0, numeroAtributo.length -1); |
---|
76 | numeroAtributo = parseInt(numeroAtributo); |
---|
77 | if (numeroAtributo > maior) { |
---|
78 | maior = numeroAtributo; |
---|
79 | } |
---|
80 | } |
---|
81 | |
---|
82 | maior++; |
---|
83 | numeroAtributo = maior; |
---|
84 | |
---|
85 | var cc_attribute_name = "newsettings[cc_attribute_name_" + numeroAtributo + "]"; |
---|
86 | var cc_attribute_ldapname = "newsettings[cc_attribute_ldapname_" + numeroAtributo + "]"; |
---|
87 | var cc_attribute_type = "newsettings[cc_attribute_type_" + numeroAtributo + "]"; |
---|
88 | var cc_attribute_searchable = "newsettings[cc_attribute_searchable_" + numeroAtributo + "]"; |
---|
89 | |
---|
90 | var pool = document.getElementById("cc_attribute_fields"); |
---|
91 | var btn = document.getElementById("c_attribute_box_adder"); // nome do id definido no template. |
---|
92 | |
---|
93 | var newDiv = document.createElement("div"); |
---|
94 | newDiv.setAttribute("class", "cc_attribute"); |
---|
95 | |
---|
96 | var formularioNome = document.createElement("input"); |
---|
97 | formularioNome.setAttribute("type", "text"); |
---|
98 | formularioNome.setAttribute("name", cc_attribute_name); |
---|
99 | formularioNome.setAttribute("value", ""); |
---|
100 | formularioNome.setAttribute("style", "width: 170px;"); |
---|
101 | |
---|
102 | var formularioLdap = document.createElement("input"); |
---|
103 | formularioLdap.setAttribute("type", "text"); |
---|
104 | formularioLdap.setAttribute("name", cc_attribute_ldapname); |
---|
105 | formularioLdap.setAttribute("value", ""); |
---|
106 | //formularioLdap.setAttribute("style", "margin: 0px 40px;"); |
---|
107 | formularioLdap.setAttribute("style", "width: 170px;"); |
---|
108 | |
---|
109 | var selectTipos = document.createElement("select"); |
---|
110 | selectTipos.setAttribute("name", cc_attribute_type); |
---|
111 | selectTipos.setAttribute("style", "width: 86px; margin: 0px 0px 0px 8px"); |
---|
112 | //selectTipos.setAttribute("style", "margin: 0px 0px 0px 8px"); |
---|
113 | var optionTexto = document.createElement("option"); |
---|
114 | optionTexto.setAttribute("value", "text"); |
---|
115 | optionTexto.setAttribute("selected", "selected"); |
---|
116 | optionTexto.innerHTML = stringTexto + " "; |
---|
117 | |
---|
118 | var optionMultivalorado = document.createElement("option"); |
---|
119 | optionMultivalorado.setAttribute("value", "multivalues"); |
---|
120 | optionMultivalorado.innerHTML = stringMultivalorado + " "; |
---|
121 | |
---|
122 | selectTipos.appendChild(optionTexto); |
---|
123 | selectTipos.appendChild(optionMultivalorado); |
---|
124 | |
---|
125 | var selectPesquisavel = document.createElement("select"); |
---|
126 | selectPesquisavel.setAttribute("name", cc_attribute_searchable); |
---|
127 | selectPesquisavel.setAttribute("style", "margin: 0px 16px;"); |
---|
128 | var optionYes = document.createElement("option"); |
---|
129 | optionYes.setAttribute("value", "true"); |
---|
130 | optionYes.innerHTML = "Sim "; |
---|
131 | var optionNo = document.createElement("option"); |
---|
132 | optionNo.setAttribute("value", "false"); |
---|
133 | optionNo.setAttribute("selected", "selected"); |
---|
134 | optionNo.innerHTML = "Não "; |
---|
135 | |
---|
136 | |
---|
137 | selectPesquisavel.appendChild(optionYes); |
---|
138 | selectPesquisavel.appendChild(optionNo); |
---|
139 | |
---|
140 | |
---|
141 | |
---|
142 | var imagem = document.createElement("img"); |
---|
143 | imagem.setAttribute("type", "image"); |
---|
144 | imagem.setAttribute("src", "contactcenter/templates/default/images/cc_x.png"); |
---|
145 | imagem.setAttribute("alt", "Excluir Campo "); |
---|
146 | imagem.setAttribute("style", "width: 15px; height: 14px; cursor: pointer; position: relative; top: 3px;"); |
---|
147 | imagem.setAttribute("onclick", "javascript:cc_attribute_delete(this)"); |
---|
148 | |
---|
149 | newDiv.appendChild(formularioNome); |
---|
150 | newDiv.appendChild(document.createTextNode(" ")); |
---|
151 | newDiv.appendChild(formularioLdap); |
---|
152 | newDiv.appendChild(document.createTextNode(" ")); |
---|
153 | newDiv.appendChild(selectTipos); |
---|
154 | newDiv.appendChild(document.createTextNode(" ")); |
---|
155 | newDiv.appendChild(selectPesquisavel); |
---|
156 | newDiv.appendChild(document.createTextNode(" ")); |
---|
157 | newDiv.appendChild(imagem); |
---|
158 | |
---|
159 | pool.appendChild(newDiv); |
---|
160 | } |
---|
161 | |
---|
162 | /* |
---|
163 | * @function cc_attribute_clear(form) |
---|
164 | * @abstract Exclui uma tupla e de campos, onde e é uma referência ao elemento HTML (div) container da tupla |
---|
165 | * @author Prognus software livre - http://www.prognus.com.br |
---|
166 | * @param e |
---|
167 | * |
---|
168 | */ |
---|
169 | function cc_attribute_delete(e) |
---|
170 | { |
---|
171 | var tupla = e.parentNode; |
---|
172 | |
---|
173 | var inputs = tupla.getElementsByTagName("input"); |
---|
174 | |
---|
175 | inputs[0].value = ""; |
---|
176 | inputs[1].value = ""; |
---|
177 | |
---|
178 | var select = tupla.getElementsByTagName("select"); |
---|
179 | select[0].innerHTML = "<option value=\"\" selected=\"selected\"></option>"; |
---|
180 | select[1].innerHTML = "<option value=\"\" selected=\"selected\"></option>"; |
---|
181 | |
---|
182 | tupla.style.visible = "hidden"; |
---|
183 | tupla.style.display = "none"; |
---|
184 | |
---|
185 | // e.parentNode.parentNode.removeChild(e.parentNode); |
---|
186 | } |
---|