function pAbsenMahasiswaDosen(){
var pageTitle = 'Kehadiran Mahasiswa & Dosen ';
var pageIcon = 'silk-calendar';
var idcb_prodi = 'cb.prodi';
var idcb_stsemester = 'cb.stsemester';
var pnDosId = 'fp.detdos';
var pAbsenDosId = 'fp.detabsdos';
var pAbsenMhsId = 'fp.detabsmhs';
var DosenStat ='Dosen Pengajar';
var IdDetObj = {
dosen : pnDosId,
absendos : pAbsenDosId,
absenmhs : pAbsenMhsId,
};
//var kdmk = '';
/** COMON STORES */
var ds_prodireg = store_prodireg();
var ds_stsmt = store_stsmt();
var niduasisten = "";
var jmlmhs = "";
var jmlhadir = 0;
/** GRID PANEL MATKUL */
var gp_matkul = cMatkul(idcb_prodi, idcb_stsemester, IdDetObj, DosenStat);
var fpMain = new Ext.Panel({
title: pageTitle, iconCls: pageIcon,
buttonAlign: 'left',
bodyStyle: 'padding: 0px',
border: true,
layout: 'border',
waitMsg: 'Waiting...',
maskDisabled: false,
monitorValid: true,
autoScroll:true,
frame: true,
items: [{
region:'north', layout:'border', height:40,
items:[{
region:'center',
items:[
headerProdiSmt({
idcb_prodi : idcb_prodi, cb_prodi_width: 220,
idcb_stsmt : idcb_stsemester, cb_stsmt_width : 140,
fnReload : function(){reloadGridMatkul();}
})
]
},{
region:'east', width:'50%',split: true, //autoWidth:true,
items:[bPrint()
/* stAbsenPicker({ //defined in cAbsen.js
idcb_temuke : 'cb.temuke', idcb_stabsenmhs : 'cb.stabsenmhs',
//fnSelect_temuke : function(){},
//fnSelect_stabsenmhs : function(){}
}) */
]
}]
},{
region:'center', layout:'border',//autoScroll:true,
items:[{
region:'center',
xtype: 'panel', layout:'fit',
title:'Mata Kuliah', id:'fp.master',
frame: true, //height:220,
items: [gp_matkul],
},{
region:'east',width:'50%',split: true,
xtype: 'panel', layout:'fit', //margins:'0 0 0 0',
title:DosenStat, id: pnDosId,
frame: true, //height:220,
//items: [gp_dosen],
},{
region:'south', //split:true,
xtype:'fieldset', layout:'border', height:45,
items:[{
region:'center',
items:[{
layout:'form',
items:[{
xtype: 'container',
fieldLabel: 'Mata Kuliah',
layout: 'hbox',
items: [{
xtype:'textfield', id:'info.nmmatkul', width: 350, disabled:true,
}]
}]
},
{
xtype:'hidden', id:'info.kdmatkul'
}]
},{
region:'east', width:'50%',
items:[
{
layout:'form',
items:[{
xtype: 'container',
fieldLabel: DosenStat,
layout: 'hbox',
items: [{
xtype:'textfield', id:'info.nmdos', width: 350, disabled:true,
}]
}]
},
{
xtype:'hidden', id:'info.nidu'
},
]
}]
}]
},{
region:'south', layout:'form', height:250, split:true, autoScroll:true,
items:[{
xtype: 'panel', layout:'fit', //margins:'10 0 10 0',
title:'Daftar Kehadiran Dosen', id: pAbsenDosId,
frame: true, height:190,
},{
xtype: 'panel', layout:'fit', //margins:'10 0 10 0',
title:'Daftar Kehadiran Mahasiswa', id: pAbsenMhsId,
frame: true, height:283,
}]
}]
}); SET_PAGE_CONTENT(fpMain);
/**
FUNCTIONS
*/
function removeAllDetails(){
RH.removeDetail(IdDetObj.dosen);
RH.removeDetail(IdDetObj.absendos);
RH.removeDetail(IdDetObj.absenmhs);
Ext.getCmp('bt.cetak').disable();
Ext.getCmp('bt.cetakbl').disable();
}
function reloadGridMatkul(){
//remove details
removeAllDetails();
clearInfoMatkulDos();
//reload master-grid
gp_matkul.store.reload({
params: {
kdprodi: RH.getCompValue(idcb_prodi, true),
kdstsemester: RH.getCompValue(idcb_stsemester, true)
}
});
}
function clearInfoMatkulDos(){
RH.setCompValue('info.kdmatkul','');
RH.setCompValue('info.nmmatkul','');
RH.setCompValue('info.nidu','');
RH.setCompValue('info.nmdos','');
}
/** MASTER: MATKUL from struprog ======================== */
function cMatkul(idcb_prodi, idcb_stsemester, IdDetObj, DosenStat){
var pageSize = 5;
var nmmatkulWidth = 300;
var fields_matkul = RH.storeFields('kdprodi', 'kdstsemester', 'kdmk', 'nmmkind', 'jmldos'); //from struprog join matakuliah
/** GRID STORE: MTAKULIAH */
var ds_matkul = RH.JsonStore({
url : BASE_URL + 'matkuldos_controller/get_matkulProdiSmt',
fields : fields_matkul,
limit: pageSize,
params: [
{key:'kdprodi', id: idcb_prodi}
,{key:'kdstsemester', id: idcb_stsemester}
],
enableSearch: true,
});
ds_matkul.on('beforeload', function(){ removeMatkulDetails() });
//SEARCH COMPONENT
var sb_matkul = RH.searchComp({
id : 'sb_matkul',
fields : ['kdmk:Kode Mata Kuliah','nmmkind:Nama Mata Kuliah'],
selected : 'kdmk',
store : ds_matkul,
textWidth : 250
});
/** GRID COLUMN MODEL */
var cm_matkul = new Ext.grid.ColumnModel([
new Ext.grid.RowNumberer(), //for rows numbering
{
header: 'Kode', width:100,
dataIndex: 'kdmk',
renderer: RH.keyToDetil,
sortable: true
}, {
header: 'Nama Mata Kuliah ', width: nmmatkulWidth,
dataIndex: 'nmmkind',
sortable: true,
}, {
header: 'Jumlah Dosen', width: 110,
dataIndex: 'jmldos', align:'right'
}]
);
// Selection Model
var sm_matkul = new Ext.grid.RowSelectionModel({ singleSelect: true });
// Grid View
var gv_matkul = new Ext.grid.GridView({emptyText: '< Belum ada Data >'});
/** GRID PANEL */
var gp_matkul = new Ext.grid.GridPanel({
ds: ds_matkul,
cm: cm_matkul,
sm: sm_matkul,
view: gv_matkul,
forceFit: true,
//height:200,
//autoHeight: (idmenu != MENU.absen),
layout:'anchor',
//autoSizeColumns: true,
//autoExpandColumn: 'nmmkind',
autoScroll:true,
//enableColumnResize: true,
columnLines: true,
loadMask: true,
tbar:[sb_matkul],
bbar: new Ext.PagingToolbar({
store: ds_matkul,
displayInfo: true,
pageSize: pageSize,
mode: 'local',
displayMsg: 'Data {0} - {1} dari {2}',
emptyMsg: "Belum ada data"
}),
listeners: {
cellclick: onCellMatkulClick
}
}); return gp_matkul;
function onCellMatkulClick(grid, rowIndex, columnIndex, e) {
var t = e.getTarget();
var record = grid.getStore().getAt(rowIndex); // Get the Record
var kdprodi = record.data['kdprodi'];
var kdstsemester = record.data['kdstsemester'];
var kdmk = record.data['kdmk'];
removeMatkulDetails();
if (t.className == 'keyMasterDetail') {
var nmmk = record.data['nmmkind'];
RH.setCompValue('info.kdmatkul',kdmk);
RH.setCompValue('info.nmmatkul',nmmk);
RH.setCompValue('info.nidu','');
RH.setCompValue('info.nmdos','');
var gridPanelDet = cDosenMatkul(kdprodi, kdstsemester, kdmk, IdDetObj, DosenStat);
RH.loadDetail(IdDetObj.dosen, gridPanelDet);
}
}
function removeMatkulDetails(){
RH.removeDetail(IdDetObj.dosen);
RH.removeDetail(IdDetObj.mahasiswa);
Ext.getCmp('bt.cetak').disable();
Ext.getCmp('bt.cetakbl').disable();
}
}
/**
DETIL#1: DOSEN =====================================
*/
function cDosenMatkul(kdprodi, kdstsemester, kdmk, IdDetObj, DosenStat){
//var nidu = ''; //param for detail to jadwal
var fields_dosmk = RH.storeFields('kdprodi', 'kdstsemester',
'kdmk', 'nidu', 'nidudisp', 'nmdosen', 'niduasist', 'niduasistdisp', 'nmdosasist',
'idkelas','nmkelas','nmklsmhs','jmlmhs'); //from struprogdet join dosen
/** GRID STORE: DOSEN MATKUL */
var ds_dosmk = RH.JsonStore({
url : BASE_URL + 'matkuldos_controller/get_dosmk',
fields : fields_dosmk,
limit: 3,
params: [
{key:'kdprodi', value: kdprodi}
,{key:'kdstsemester', value: kdstsemester}
,{key:'kdmk', value: kdmk}
,{key:'jdosen', value: DosenStat}
],
enableSearch: false,
});
ds_dosmk.on('beforeload', function(){ removeDosenDetails() });
/** GRID COLUMN MODEL */
var cm_dosmk = new Ext.grid.ColumnModel([
new Ext.grid.RowNumberer(), //for rows numbering
{
header: 'NIDU
(Koordinator)', width:90,
dataIndex: 'nidudisp',
renderer: function(value){
Ext.QuickTips.init();
return '
'
+ value +'
';
},
sortable: true
}, {
header: 'Nama Dosen (Koordinator)', width: 170,
dataIndex: 'nmdosen',
sortable: true,
}, {
header: 'NIDU
(Asisten)', width:90,
dataIndex: 'niduasistdisp',
renderer: function(value){
if (value) {
Ext.QuickTips.init();
return ''
+ value +'
';
}
},
sortable: true
}, {
header: 'Nama Dosen (Asisten)', width: 170,
dataIndex: 'nmdosasist',
sortable: true,
}, {
header: 'Kelas Perkuliahan', width: 100,
dataIndex: 'nmkelas',
}, {
header: 'Kelas Mahasiswa', width: 100,
dataIndex: 'nmklsmhs',
}, {
header: 'Jml.Mahasiswa', width: 95,
dataIndex: 'jmlmhs', align:'right'
}]
);
// Selection Model
var sm_dosmk = new Ext.grid.RowSelectionModel({ singleSelect: true });
// Grid View
var gv_dosmk = new Ext.grid.GridView({emptyText: '< Belum ada Data >'});
/** GRID PANEL */
var gp_dosmk = new Ext.grid.GridPanel({
id:'gp_dosmk',
ds: ds_dosmk,
cm: cm_dosmk,
sm: sm_dosmk,
view: gv_dosmk,
forceFit: true,
layout:'anchor',
autoScroll:true,
columnLines: true,
loadMask: true,
bbar: new Ext.PagingToolbar({
store: ds_dosmk,
displayInfo: true,
mode: 'local', pageSize: 3,
displayMsg: 'Data {0} - {1} dari {2}',
emptyMsg: "Belum ada data"
}),
listeners: {
cellclick: onCellDosmkClick
}
}); return gp_dosmk;
function onCellDosmkClick(grid, rowIndex, columnIndex, e) {
var t = e.getTarget();
var record = grid.getStore().getAt(rowIndex); // Get the Record
var nidu = record.data['nidu'];
var niduasist = record.data['niduasist'];
var idkelas = record.data['idkelas'];
var ds_stabsenmhs = store_stabsenmhs();
var storesObj = {stabsenmhs:ds_stabsenmhs};
jmlmhs = record.data['jmlmhs'];
niduasisten = record.data['niduasist'];
removeDosenDetails();
if (t.className == 'keyMasterDetail') {
RH.setCompValue('info.nidu',record.data['nidudisp']);
RH.setCompValue('info.nmdos',record.data['nmdosen']);
if(Ext.getCmp('hidden.idkelas'))
RH.setCompValue('hidden.idkelas',idkelas);
var panelDet = cAbsenDosen(kdprodi, kdstsemester, kdmk, nidu, idkelas);
var gridPanelDet = cAbsenMahasiswa(kdprodi, kdstsemester, kdmk, nidu, idkelas, storesObj);
RH.loadDetail(IdDetObj.absendos, panelDet);
RH.loadDetail(IdDetObj.absenmhs, gridPanelDet);
}
if (t.className == 'keyMasterDetail1') {
RH.setCompValue('info.nidu',record.data['niduasistdisp']);
RH.setCompValue('info.nmdos',record.data['nmdosasist']);
if(Ext.getCmp('hidden.idkelas'))
RH.setCompValue('hidden.idkelas',idkelas);
var panelDet = cAbsenDosen(kdprodi, kdstsemester, kdmk, niduasist, idkelas);
var gridPanelDet = cAbsenMahasiswa(kdprodi, kdstsemester, kdmk, nidu, idkelas, storesObj);
RH.loadDetail(IdDetObj.absendos, panelDet);
RH.loadDetail(IdDetObj.absenmhs, gridPanelDet);
}
}
function removeDosenDetails(){
RH.removeDetail(IdDetObj.absendos);
RH.removeDetail(IdDetObj.absenmhs);
Ext.getCmp('bt.cetak').disable();
Ext.getCmp('bt.cetakbl').disable();
}
}
function loadAbsenDos(kdstsemester,kdprodi,kdmk,nidu,idkelas) {
var waitmsg_loadabsendos = Ext.MessageBox.wait('Load Data Absensi Dosen...', 'Info');
var ds_absendos = new Ext.data.JsonStore({
proxy: new Ext.data.HttpProxy({
url : BASE_URL + 'absen_controller/get_absendos',
method: 'POST'
}),
baseParams: {
kdstsemester: kdstsemester,
kdprodi : kdprodi,
kdmk : kdmk,
nidu : nidu,
idkelas : idkelas
},
root: 'data',
totalProperty: 'results',
autoLoad: false,
fields: [
{name: "p1",mapping: "p1"},{name: "p2",mapping: "p2"},{name: "p3",mapping: "p3"},{name: "p4",mapping: "p4"},{name: "p5",mapping: "p5"},{name: "p6",mapping: "p6"},{name: "p7",mapping: "p7"},{name: "p8",mapping: "p8"},
{name: "p9",mapping: "p9"},{name: "p10",mapping: "p10"},{name: "p11",mapping: "p11"},{name: "p12",mapping: "p12"},{name: "p13",mapping: "p13"},{name: "p14",mapping: "p14"},{name: "p15",mapping: "p15"},{name: "p16",mapping: "p16"},
{name: "tgl1",mapping: "tgl1"},{name: "tgl2",mapping: "tgl2"},{name: "tgl3",mapping: "tgl3"},{name: "tgl4",mapping: "tgl4"},{name: "tgl5",mapping: "tgl5"},{name: "tgl6",mapping: "tgl6"},{name: "tgl7",mapping: "tgl7"},{name: "tgl8",mapping: "tgl8"},
{name: "tgl9",mapping: "tgl9"},{name: "tgl10",mapping: "tgl10"},{name: "tgl11",mapping: "tgl11"},{name: "tgl12",mapping: "tgl12"},{name: "tgl13",mapping: "tgl13"},{name: "tgl14",mapping: "tgl14"},{name: "tgl15",mapping: "tgl15"},{name: "tgl16",mapping: "tgl16"},
{name: "dj1",mapping: "dj1"},{name: "dj2",mapping: "dj2"},{name: "dj3",mapping: "dj3"},{name: "dj4",mapping: "dj4"},{name: "dj5",mapping: "dj5"},{name: "dj6",mapping: "dj6"},{name: "dj7",mapping: "dj7"},{name: "dj8",mapping: "dj8"},
{name: "dj9",mapping: "dj9"},{name: "dj10",mapping: "dj10"},{name: "dj11",mapping: "dj11"},{name: "dj12",mapping: "dj12"},{name: "dj13",mapping: "dj13"},{name: "dj14",mapping: "dj14"},{name: "dj15",mapping: "dj15"},{name: "dj16",mapping: "dj16"},
{name: "sj1",mapping: "sj1"},{name: "sj2",mapping: "sj2"},{name: "sj3",mapping: "sj3"},{name: "sj4",mapping: "sj4"},{name: "sj5",mapping: "sj5"},{name: "sj6",mapping: "sj6"},{name: "sj7",mapping: "sj7"},{name: "sj8",mapping: "sj8"},
{name: "sj9",mapping: "sj9"},{name: "sj10",mapping: "sj10"},{name: "sj11",mapping: "sj11"},{name: "sj12",mapping: "sj12"},{name: "sj13",mapping: "sj13"},{name: "sj14",mapping: "sj14"},{name: "sj15",mapping: "sj15"},{name: "sj16",mapping: "sj16"}
],
listeners: {
}
});
ds_absendos.load({
scope: this,
callback: function (records, operation, success) {
if(records == 0) {
var compidp='',compidt='',compidj='',compidsj='';
var i;
for(var i=1; i<=16; i++){
compidp = 'cb.dos-p'+ i;
Ext.getCmp(compidp).enable();
compidt = 'df.p'+ i;
Ext.getCmp(compidt).enable();
compidj = 'tf.dj'+ i;
Ext.getCmp(compidj).enable();
compidsj = 'tf.sj'+ i;
Ext.getCmp(compidsj).enable();
}
Ext.getCmp('bt.saveabsendos').enable();
Ext.getCmp('bt.cetak').enable();
Ext.getCmp('bt.cetakbl').enable();
waitmsg_loadabsendos.hide();
} else {
var arrp='',arrt='',arrdj='',arrsj='';
var compidp='',compidt='',compidj='',compidsj='';
var i;
for(var i=1; i<=16; i++){
arrp = 'p' + i.toString();
compidp = 'cb.dos-p'+ i;
Ext.getCmp(compidp).setValue(ds_absendos.getAt(i-1).get(arrp));
Ext.getCmp(compidp).enable();
arrt = 'tgl' + i.toString();
compidt = 'df.p'+ i;
Ext.getCmp(compidt).setValue(ds_absendos.getAt(i-1).get(arrt));
Ext.getCmp(compidt).enable();
arrdj = 'dj' + i.toString();
compidj = 'tf.dj'+ i;
Ext.getCmp(compidj).setValue(ds_absendos.getAt(i-1).get(arrdj));
Ext.getCmp(compidj).enable();
arrsj = 'sj' + i.toString();
compidsj = 'tf.sj'+ i;
Ext.getCmp(compidsj).setValue(ds_absendos.getAt(i-1).get(arrsj));
Ext.getCmp(compidsj).enable();
if (Ext.getCmp(compidp).getValue()=='1'){
jmlhadir = jmlhadir + 1;
}
}
Ext.getCmp('bt.saveabsendos').enable();
Ext.getCmp('bt.cetak').enable();
Ext.getCmp('bt.cetakbl').enable();
waitmsg_loadabsendos.hide();
}
}
});
}
/* function stAbsenPicker(arg){
//arg :
//idcb_temuke : idcb_temuke,
//idcb_stabsenmhs : idcb_stabsenmhs,
//fnSelect_temuke : function(){},
//fnSelect_stabsenmhs : function(){}
var idCbxStabsen = 'cbx.stbsenmhs';
var ds_tatapmuka = store_pertemuan();
var ds_stabsenmhs = store_stabsenmhs();
var ds_stabsensidos = store_stabsensidos();
var header = {
xtype: 'fieldset', flex: 1,
items:[{
xtype: 'container', layout: 'hbox',
items:[{
layout:'form', labelWidth:90, labelAlign:'right',
items: [
RH.ActionCombo({
id: arg.idcb_temuke, label: 'Pertemuan ke', width: 50,
data: ds_tatapmuka, key: 'kode', display: 'kode',
fnSelect: function(){ fnSetStabsenmhs(arg.idcb_temuke, arg.idcb_stabsenmhs, idCbxStabsen)}//arg.fnSelect_temuke
})
]
},{
layout:'form', labelWidth:80, labelAlign:'right',
items:[{
xtype: 'checkbox', id:idCbxStabsen, fieldLabel:'Pilih Semua',
listeners: {
change: function(checkbox, newValue, oldValue) {
//if(checkbox.getValue()==true){
if(newValue == true){
Ext.getCmp(arg.idcb_temuke).disable();
fnSetStabsenmhs(arg.idcb_temuke, arg.idcb_stabsenmhs, idCbxStabsen);
}else{
Ext.getCmp(arg.idcb_temuke).enable();
}
}
}
}]
},{
layout:'form', labelWidth:40, labelAlign:'right',
items: [
RH.ActionCombo({
id: arg.idcb_stabsenmhs, label: 'Status', width:90,
data: ds_stabsenmhs, key: 'idstabsenmhs', display: 'stabsensimhs',
fnSelect: function(){ fnSetStabsenmhs(arg.idcb_temuke, arg.idcb_stabsenmhs, idCbxStabsen)}//arg.fnSelect_stabsenmhs
})
]
},{
xtype:'button', iconCls:'silk-save', text:'Simpan', margins:'0 0 0 10', id:'bt.simpan',
handler: function(){ fnSaveAbsensi(); }
},{
xtype:'button', iconCls:'silk-printer', text:'Cetak', margins:'0 0 0 10', id:'bt.cetak',
handler: function(){ fnPrintBlanko(); fnPrintAbsensi(); }
}]
}]
};
return header;
} */
function bPrint(){
var header = {
xtype: 'fieldset', flex: 1,
items:[{
xtype: 'container', layout: 'hbox',
items:[{
xtype:'button', iconCls:'silk-printer', text:'Cetak', margins:'0 0 0 10', id:'bt.cetak',
handler: function(){ fnPrintAbsensi(0); }
},{
xtype:'button', iconCls:'silk-printer', text:'Cetak Blanko', margins:'0 0 0 10', id:'bt.cetakbl',
handler: function(){ fnPrintAbsensi(1); }
}]
}]
};
return header;
}
function validatetime(value) {
var isValid = /^([0-1]?[0-9]|2[0-4]):([0-5][0-9])(:[0-5][0-9])?$/.test(value);
var returnval;
if (isValid) {
return value;
} else {
return null;
}
}
function cAbsenDosen(kdprodi, kdstsemester, kdmk, nidu, idkelas){
var ds_stabsensidos = store_stabsensidos();
/* var fields_absendos = RH.storeFields('kdprodi', 'kdstsemester',
'kdmk', 'nidu','idkelas',
'p1','p2','p3','p4','p5','p6','p7','p8',
'p9','p10','p11','p12','p13','p14','p15','p16');
var ds_absendos = RH.JsonStore({
url : BASE_URL + 'absen_controller/get_absendos',
fields : fields_absendos,
limit: 1,
params: [
{key:'kdprodi', value: kdprodi}
,{key:'kdstsemester', value: kdstsemester}
,{key:'kdmk', value: kdmk}
,{key:'nidu', value: nidu}
,{key:'idkelas', value: idkelas}
],
enableSearch: false,
}); */
function getLabel(np){
var objArr = new Array();
for(var i=0; i'});
/** GRID PANEL */
var gp_absenmhs = new Ext.grid.EditorGridPanel({
id:'gp_absenmhs',
ds: ds_absenmhs,
cm: cm_absenmhs,
sm: sm_absenmhs,
view: gv_absenmhs,
clicksToEdit: 1, //for cell editing (single click =1, dblclick=2)
forceFit: true,
height: gpheight, //autoHeight: true,
layout:'anchor',
autoScroll:true,
columnLines: true,
loadMask: true,
tbar:[{
xtype:'textfield', id:'hidden.nim', hidden:true
},{
xtype:'textfield', id:'hidden.updatecol', hidden:true
},{
xtype:'label', text:'Pertemuan ke:', style: 'font-size:12px;margin-right:11px;margin-left:11px',
},RH.ActionCombo({
id: 'cb.temuke', label: 'Pertemuan ke', width: 50,
data: ds_tatapmuka, key: 'kode', display: 'kode',
fnSelect: function(){ fnSetStabsenmhs('cb.temuke', 'cb.stabsenmhs', 'cbx.stbsenmhs')}//arg.fnSelect_temuke
}),
{
xtype:'label', text:'Pilih Semua:', style: 'font-size:12px;margin-right:11px;margin-left:11px',
},{
xtype: 'checkbox', id:'cbx.stbsenmhs', fieldLabel:'Pilih Semua',
listeners: {
change: function(checkbox, newValue, oldValue) {
//if(checkbox.getValue()==true){
if(newValue == true){
Ext.getCmp('cb.temuke').disable();
fnSetStabsenmhs('cb.temuke', 'cb.stabsenmhs', 'cbx.stbsenmhs');
}else{
Ext.getCmp('cb.temuke').enable();
}
}
}
},{
xtype:'label', text:'Status:', style: 'font-size:12px;margin-right:11px;margin-left:11px',
},RH.ActionCombo({
id: 'cb.stabsenmhs', label: 'Status', width:90,
data: ds_stabsenmhs, key: 'idstabsenmhs', display: 'stabsensimhs',
fnSelect: function(){ fnSetStabsenmhs('cb.temuke', 'cb.stabsenmhs', 'cbx.stbsenmhs')}//arg.fnSelect_stabsenmhs
}),
{
xtype:'button', iconCls:'silk-save', text:'Simpan', margins:'0 0 0 10', id:'bt.saveabsenmhs',
handler: function(){ saveAbsenMhs(); }
}],
/* bbar: new Ext.PagingToolbar({
store: ds_absenmhs,
displayInfo: true,
mode: 'local', pageSize: pageSize,
displayMsg: 'Data {0} - {1} dari {2}',
emptyMsg: "Belum ada data"
}), */
listeners: {
cellclick: onCellClick
}
}); return gp_absenmhs;
function onCellClick(grid, rowIndex, columnIndex, e) {
var dataIndex = grid.getColumnModel().getDataIndex(columnIndex);
var record = grid.getStore().getAt(rowIndex); // Get the Record
var nim = record.data['nim'];
RH.setCompValue('hidden.nim', nim);
RH.setCompValue('hidden.updatecol', dataIndex);
}
function updateAbsenmhs(idstabsenmhs){
Ext.Ajax.request({
url: BASE_URL + 'absen_controller/update_absenmhs1',
params: {
kdprodi : kdprodi,
kdstsemester : kdstsemester,
kdmk : kdmk,
nidu : nidu,
nim : RH.getCompValue('hidden.nim'),
field : RH.getCompValue('hidden.updatecol'),
value : idstabsenmhs
},
success: function() {
ds_absenmhs.reload();
},
failure: function() {
Ext.Msg.alert("Info", "Ubah Data Gagal");
}
});
}
}
function fnSetStabsenmhs(idComboTemu, idComboStatus, idCheckBox){
var pertemuan = RH.getCompValue(idComboTemu,true);
var status = RH.getCompValue(idComboStatus,true);
var getall = Ext.getCmp(idCheckBox).getValue();
if(Ext.getCmp('gp_absenmhs')){
var grid = Ext.getCmp('gp_absenmhs');
var sel_model = grid.getSelectionModel();
var store = grid.getStore();
var numrec = store.getCount(); //jumlah record
if(numrec > 0){
for(var i=0; i 0){
for(var i=0; i 0){
var waitmsg_saveabsenmhs = Ext.MessageBox.wait('Menyimpan Absensi Mahasiswa....', 'Info');
for(var i=0; i