[4502] | 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 == "") |
---|
[4544] | 36 | { |
---|
| 37 | //tupla.parentNode.removeChild(tupla); |
---|
[4502] | 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>"; |
---|
[4544] | 43 | select[1].innerHTML = "<option value=\"\" selected=\"selected\"></option>"; |
---|
[4502] | 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; |
---|
[4544] | 69 | for (var i=1; i<vars.length; i++) { |
---|
[4502] | 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 + "]"; |
---|
[4544] | 87 | var cc_attribute_type = "newsettings[cc_attribute_type_" + numeroAtributo + "]"; |
---|
| 88 | var cc_attribute_searchable = "newsettings[cc_attribute_searchable_" + numeroAtributo + "]"; |
---|
[4502] | 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"); |
---|
[4544] | 94 | newDiv.setAttribute("class", "cc_attribute"); |
---|
| 95 | |
---|
[4502] | 96 | var formularioNome = document.createElement("input"); |
---|
[4544] | 97 | formularioNome.setAttribute("type", "text"); |
---|
| 98 | formularioNome.setAttribute("name", cc_attribute_name); |
---|
| 99 | formularioNome.setAttribute("value", ""); |
---|
| 100 | formularioNome.setAttribute("style", "width: 170px;"); |
---|
| 101 | |
---|
[4502] | 102 | var formularioLdap = document.createElement("input"); |
---|
[4544] | 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 | |
---|
[4502] | 109 | var selectTipos = document.createElement("select"); |
---|
| 110 | selectTipos.setAttribute("name", cc_attribute_type); |
---|
[4544] | 111 | selectTipos.setAttribute("style", "width: 86px; margin: 0px 0px 0px 8px"); |
---|
| 112 | //selectTipos.setAttribute("style", "margin: 0px 0px 0px 8px"); |
---|
[4502] | 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 | |
---|
[4544] | 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 | |
---|
[4502] | 142 | var imagem = document.createElement("img"); |
---|
[4544] | 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 | |
---|
[4502] | 149 | newDiv.appendChild(formularioNome); |
---|
[4544] | 150 | newDiv.appendChild(document.createTextNode(" ")); |
---|
[4502] | 151 | newDiv.appendChild(formularioLdap); |
---|
[4544] | 152 | newDiv.appendChild(document.createTextNode(" ")); |
---|
[4502] | 153 | newDiv.appendChild(selectTipos); |
---|
| 154 | newDiv.appendChild(document.createTextNode(" ")); |
---|
[4544] | 155 | newDiv.appendChild(selectPesquisavel); |
---|
| 156 | newDiv.appendChild(document.createTextNode(" ")); |
---|
[4502] | 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>"; |
---|
[4544] | 180 | select[1].innerHTML = "<option value=\"\" selected=\"selected\"></option>"; |
---|
[4502] | 181 | |
---|
| 182 | tupla.style.visible = "hidden"; |
---|
| 183 | tupla.style.display = "none"; |
---|
| 184 | |
---|
| 185 | // e.parentNode.parentNode.removeChild(e.parentNode); |
---|
| 186 | } |
---|