After building a table and dragging a switch field, you need TODO:
1. Give a name to the table with the switch. Example "isac":
$('.isac').on('change','td input[name="p_status_page"]',function(){
var isChecked = $(this).is(':checked'),
id = $(this).parents('tr').find('input[name="p_id_fk"]').val(),
val = isChecked ? 1 : 0;
$.IGRP.request('webapps?r=igrp_studio/ListaPage/changeStatus',{
params : {
p_id : id,
p_status_page : val
},
success:function(r){
var type = r.status ? 'success' : 'danger',
msg = r.status ? 'Estado alterado' : 'Estado não foi alterado';
$.IGRP.notify({
message : msg,
type : type
});
},
fail:function(){
}
});
});
If the id tag is a column and not a hidden field, no need to add _fk. See name=code without _fk
$('.isac').on('change','td input[name="p_status"]',function(){
var isChecked = $(this).is(':checked'),
code = $(this).parents('tr').find("[item-name=codigo]").text(),
val = isChecked ? 1 : 0;
$.IGRP.request('webapps?r=igrp/transaccao/changeStatus',{
params : {
p_code : code,
p_status : val
},
success:function(r){
var type = r.status ? 'success' : 'danger',
msg = r.status ? 'Estado alterado!' : 'Estado não foi alterado!';
$.IGRP.notify({
message : msg,
type : type
});
},
fail:function(){
}
});
});
3. Add this lines to the controller.java
table1.setStatus(ac.getStatus());
table1.setStatus_check(ac.getStatus() == 1 ? ac.getStatus() : -1);
import org.json.JSONException;
import org.json.JSONObject;
import com.google.gson.Gson;
public Response actionChangeStatus() throws IOException, IllegalArgumentException, IllegalAccessException, JSONException {
this.format = Response.FORMAT_JSON;
int id = Core.getParamInt("p_id");
int status = Core.getParamInt("p_status");
boolean response = false;
if (id != 0)) {
Action page = new Action().findOne(id);
if (page != null) {
page.setStatus(status);
if (page.update() != null)
response = true;
}
}
JSONObject json = new JSONObject();
json.put("status", response);
return this.renderView(json.toString());
}