root / i3geo60 / admin / js / perfis.js @ 6498
History | View | Annotate | Download (5.56 KB)
1 |
/*
|
---|---|
2 |
Title: perfis.js
|
3 |
|
4 |
Funções que controlam a interface do editor de perfis
|
5 |
|
6 |
Licenca:
|
7 |
|
8 |
GPL2
|
9 |
|
10 |
i3Geo Interface Integrada de Ferramentas de Geoprocessamento para Internet
|
11 |
|
12 |
Direitos Autorais Reservados (c) 2006 Ministério do Meio Ambiente Brasil
|
13 |
Desenvolvedor: Edmar Moretti edmar.moretti@gmail.com
|
14 |
|
15 |
Este programa é software livre; você pode redistribuí-lo
|
16 |
e/ou modificá-lo sob os termos da Licença Pública Geral
|
17 |
GNU conforme publicada pela Free Software Foundation;
|
18 |
|
19 |
Este programa é distribuído na expectativa de que seja útil,
|
20 |
porém, SEM NENHUMA GARANTIA; nem mesmo a garantia implícita
|
21 |
de COMERCIABILIDADE OU ADEQUAÇÃO A UMA FINALIDADE ESPECÍFICA.
|
22 |
Consulte a Licença Pública Geral do GNU para mais detalhes.
|
23 |
Você deve ter recebido uma cópia da Licença Pública Geral do
|
24 |
GNU junto com este programa; se não, escreva para a
|
25 |
Free Software Foundation, Inc., no endereço
|
26 |
59 Temple Street, Suite 330, Boston, MA 02111-1307 USA.
|
27 |
|
28 |
Arquivo:
|
29 |
|
30 |
i3geo/admin/js/perfis.js
|
31 |
*/
|
32 |
YAHOO.namespace("admin.container");
|
33 |
/*
|
34 |
Function: initMenu
|
35 |
|
36 |
Inicializa o editor
|
37 |
|
38 |
<ALTERAPERFIS>
|
39 |
*/
|
40 |
function initMenu() |
41 |
{ |
42 |
core_ativaBotaoAdicionaLinha("../php/menutemas.php?funcao=alteraPerfis");
|
43 |
core_carregando("ativa");
|
44 |
core_ativaPainelAjuda("ajuda","botaoAjuda"); |
45 |
pegaPerfis(); |
46 |
} |
47 |
/*
|
48 |
Function: pegaPerfis
|
49 |
|
50 |
Obtém a lista de perfis
|
51 |
|
52 |
<PEGAPERFIS>
|
53 |
*/
|
54 |
function pegaPerfis() |
55 |
{ |
56 |
core_pegaDados($trad("msgBuscaPerfil",i3GEOadmin.perfis.dicionario),"../php/menutemas.php?funcao=pegaPerfis","montaTabela"); |
57 |
} |
58 |
function montaTabela(dados) |
59 |
{ |
60 |
YAHOO.example.InlineCellEditing = new function() |
61 |
{ |
62 |
// Custom formatter for "address" column to preserve line breaks
|
63 |
var formatTexto = function(elCell, oRecord, oColumn, oData) |
64 |
{ |
65 |
elCell.innerHTML = "<p style=width:250px >" + oData + "</p>"; |
66 |
}; |
67 |
var formatTextoId = function(elCell, oRecord, oColumn, oData) |
68 |
{ |
69 |
elCell.innerHTML = "<p style=width:20px >" + oData + "</p>"; |
70 |
}; |
71 |
|
72 |
var formatSalva = function(elCell, oRecord, oColumn) |
73 |
{ |
74 |
elCell.innerHTML = "<div class=salvar style='text-align:center' onclick='gravaLinha(\""+oRecord._sId+"\")'></div>"; |
75 |
}; |
76 |
var formatExclui = function(elCell, oRecord, oColumn) |
77 |
{ |
78 |
elCell.innerHTML = "<div class=excluir style='text-align:center' ></div>";
|
79 |
}; |
80 |
var myColumnDefs = [
|
81 |
{key:"excluir",label:$trad("excluir",i3GEOadmin.core.dicionario),formatter:formatExclui}, |
82 |
{label:$trad("salva2",i3GEOadmin.core.dicionario),formatter:formatSalva}, |
83 |
{label:"id",key:"id_perfil", formatter:formatTextoId}, |
84 |
{label:$trad("nome",i3GEOadmin.core.dicionario),resizeable:true,key:"perfil", formatter:formatTexto, editor:new YAHOO.widget.TextboxCellEditor({disableBtns:true})} |
85 |
]; |
86 |
myDataSource = new YAHOO.util.DataSource(dados);
|
87 |
myDataSource.responseType = YAHOO.util.DataSource.TYPE_JSARRAY; |
88 |
myDataSource.responseSchema = |
89 |
{ |
90 |
fields: ["id_perfil","perfil"] |
91 |
}; |
92 |
myDataTable = new YAHOO.widget.DataTable("tabela", myColumnDefs, myDataSource); |
93 |
// Set up editing flow
|
94 |
myDataTable.highlightEditableCell = function(oArgs) |
95 |
{ |
96 |
var elCell = oArgs.target;
|
97 |
var column = myDataTable.getColumn(oArgs.target);
|
98 |
if(!YAHOO.lang.isNull(column.editor))
|
99 |
{ |
100 |
YAHOO.util.Dom.addClass(elCell,'yui-dt-highlighted');
|
101 |
} |
102 |
}; |
103 |
myDataTable.unhighlightEditableCell = function(oArgs) |
104 |
{ |
105 |
var elCell = oArgs.target;
|
106 |
if(elCell.style.cursor="pointer") |
107 |
{ |
108 |
YAHOO.util.Dom.removeClass(elCell,'yui-dt-highlighted');
|
109 |
} |
110 |
}; |
111 |
myDataTable.subscribe("cellMouseoverEvent", myDataTable.highlightEditableCell);
|
112 |
myDataTable.subscribe("cellMouseoutEvent", myDataTable.unhighlightEditableCell);
|
113 |
myDataTable.subscribe('cellClickEvent',function(ev) |
114 |
{ |
115 |
var target = YAHOO.util.Event.getTarget(ev);
|
116 |
var column = this.getColumn(target); |
117 |
if(YAHOO.admin.container.panelCK)
|
118 |
{ |
119 |
YAHOO.admin.container.panelCK.destroy(); |
120 |
YAHOO.admin.container.panelCK = null;
|
121 |
} |
122 |
if (column.key == 'excluir') |
123 |
{ |
124 |
var record = this.getRecord(target); |
125 |
excluiLinha(record.getData('id_perfil'),target);
|
126 |
} |
127 |
else
|
128 |
{ |
129 |
this.onEventShowCellEditor(ev);
|
130 |
} |
131 |
}); |
132 |
// Hook into custom event to customize save-flow of "radio" editor
|
133 |
myDataTable.subscribe("editorUpdateEvent", function(oArgs) |
134 |
{ |
135 |
if(oArgs.editor.column.key === "active") |
136 |
{ |
137 |
this.saveCellEditor();
|
138 |
} |
139 |
}); |
140 |
myDataTable.subscribe("editorSaveEvent", function(oArgs) |
141 |
{ |
142 |
if(oArgs.newData != oArgs.oldData){
|
143 |
var linha = myDataTable.getTrEl(oArgs.editor.getRecord());
|
144 |
linha.style.color = "blue";
|
145 |
linha.style.textDecoration = "blink";
|
146 |
} |
147 |
}); |
148 |
|
149 |
myDataTable.subscribe("editorBlurEvent", function(oArgs) |
150 |
{ |
151 |
this.cancelCellEditor();
|
152 |
}); |
153 |
}; |
154 |
core_carregando("desativa");
|
155 |
} |
156 |
/*
|
157 |
Function: gravaLinha
|
158 |
|
159 |
Aplica as alterações feitas em um perfil
|
160 |
|
161 |
<ALTERAPERFIS>
|
162 |
*/
|
163 |
function gravaLinha(row) |
164 |
{ |
165 |
var r = myDataTable.getRecordSet().getRecord(row);
|
166 |
var id_perfil = r.getData("id_perfil"); |
167 |
var perfil = r.getData("perfil"); |
168 |
core_carregando("ativa");
|
169 |
var mensagem = $trad("gravaId",i3GEOadmin.core.dicionario)+id_perfil; |
170 |
var sUrl = "../php/menutemas.php?funcao=alteraPerfis&perfil="+perfil+"&id="+id_perfil; |
171 |
core_gravaLinha(mensagem,row,sUrl); |
172 |
} |
173 |
function excluiLinha(id,row) |
174 |
{ |
175 |
var mensagem = $trad("msgExclui",i3GEOadmin.core.dicionario)+id; |
176 |
var sUrl = "../php/menutemas.php?funcao=excluirRegistro&id="+id+"&tabela=perfis"; |
177 |
core_excluiLinha(sUrl,row,mensagem); |
178 |
} |