perfis.js
4.21 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
YAHOO.namespace("example.container");
function initMenu()
{
core_ativaBotaoAdicionaLinha("../php/menutemas.php?funcao=alteraPerfis")
core_carregando("ativa");
core_ativaPainelAjuda("ajuda","botaoAjuda");
pegaPerfis();
}
function pegaPerfis()
{
core_pegaDados("buscando perfis...","../php/menutemas.php?funcao=pegaPerfis","montaTabela")
}
function montaTabela(dados)
{
YAHOO.example.InlineCellEditing = new function()
{
// Custom formatter for "address" column to preserve line breaks
var formatTexto = function(elCell, oRecord, oColumn, oData)
{
elCell.innerHTML = "<p style=width:250px >" + oData + "</p>";
};
var formatTextoId = function(elCell, oRecord, oColumn, oData)
{
elCell.innerHTML = "<p style=width:20px >" + oData + "</p>";
};
var formatSalva = function(elCell, oRecord, oColumn)
{
elCell.innerHTML = "<div class=aplicar style='text-align:center' onclick='gravaLinha(\""+oRecord._sId+"\")'></div>";
};
var formatExclui = function(elCell, oRecord, oColumn)
{
elCell.innerHTML = "<div class=excluir style='text-align:center' ></div>";
};
var myColumnDefs = [
{key:"excluir",label:"excluir",formatter:formatExclui},
{label:"salvar",formatter:formatSalva},
{label:"id",key:"id_perfil", formatter:formatTextoId},
{label:"nome",resizeable:true,key:"perfil", formatter:formatTexto, editor:"textbox"}
];
myDataSource = new YAHOO.util.DataSource(dados);
myDataSource.responseType = YAHOO.util.DataSource.TYPE_JSARRAY;
myDataSource.responseSchema =
{
fields: ["id_perfil","perfil"]
};
myDataTable = new YAHOO.widget.DataTable("tabela", myColumnDefs, myDataSource);
// Set up editing flow
myDataTable.highlightEditableCell = function(oArgs)
{
var elCell = oArgs.target;
var column = myDataTable.getColumn(oArgs.target);
if(!YAHOO.lang.isNull(column.editor))
{
YAHOO.util.Dom.addClass(elCell,'yui-dt-highlighted');
}
};
myDataTable.unhighlightEditableCell = function(oArgs)
{
var elCell = oArgs.target;
if(elCell.style.cursor="pointer")
{
YAHOO.util.Dom.removeClass(elCell,'yui-dt-highlighted');
}
};
myDataTable.subscribe("cellMouseoverEvent", myDataTable.highlightEditableCell);
myDataTable.subscribe("cellMouseoutEvent", myDataTable.unhighlightEditableCell);
myDataTable.subscribe('cellClickEvent',function(ev)
{
var target = YAHOO.util.Event.getTarget(ev);
var column = this.getColumn(target);
if(YAHOO.example.container.panelCK)
{
YAHOO.example.container.panelCK.destroy();
YAHOO.example.container.panelCK = null;
}
if (column.key == 'excluir')
{
var record = this.getRecord(target);
excluiLinha(record.getData('id_perfil'),target);
}
else
{this.onEventShowCellEditor(ev);}
});
// Hook into custom event to customize save-flow of "radio" editor
myDataTable.subscribe("editorUpdateEvent", function(oArgs)
{
if(oArgs.editor.column.key === "active")
{
this.saveCellEditor();
}
});
myDataTable.subscribe("editorBlurEvent", function(oArgs)
{
this.cancelCellEditor();
});
};
core_carregando("desativa");
}
function gravaLinha(row)
{
var r = myDataTable.getRecordSet().getRecord(row);
var id_perfil = r.getData("id_perfil");
var perfil = r.getData("perfil");
core_carregando("ativa");
var mensagem = " gravando registro do id= "+id_perfil;
var sUrl = "../php/menutemas.php?funcao=alteraPerfis&perfil="+perfil+"&id="+id_perfil;
core_gravaLinha(mensagem,row,sUrl)
}
function excluiLinha(id,row)
{
var mensagem = " excluindo o registro do id= "+id;
var sUrl = "../php/menutemas.php?funcao=excluirRegistro&id="+id+"&tabela=perfis";
core_excluiLinha(sUrl,row,mensagem)
}
YAHOO.util.Event.addListener(window, "load", initMenu);