* Il construit une grille d'élève qui contient un colonne(nom d'élève)
* @param config.store le strore de la grille d'élève
*/
- constructor: function(config) {
+ constructor:function (config) {
this.NS = eliot.absences.saisie.dispense;
this.Constantes = this.NS.Constantes;
// Grid d'élève
this.eleveGrid = new Ext.grid.GridPanel({
- store: config.store,
- enableColumnMove: false,
- enableColumnResize: true,
- height : 200,
- sm: selectionModel,
- cm : new Ext.grid.ColumnModel({
- defaults :
- {
- menuDisabled : true,
- resizable : false,
- fixed : false
+ store:config.store,
+ enableColumnMove:false,
+ enableColumnResize:true,
+ height:200,
+ sm:selectionModel,
+ cm:new Ext.grid.ColumnModel({
+ defaults:{
+ menuDisabled:true,
+ resizable:false,
+ fixed:false
},
- columns : columns
+ columns:columns
})
});
this.isDirty = null;
this.observeEleveGrid(this.eleveGrid, config.isRecherche);
},
- setValide:function(isDirty) {
+ setValide:function (isDirty) {
this.isDirty = isDirty;
},
* affichée.
* @param isRecherche
*/
- creeColumns: function(isRecherche) {
+ creeColumns:function (isRecherche) {
var columns = [];
if (isRecherche == true) {
columns.push({
- header : this.ConfigServeur.header.classe,
- dataIndex : this.Constantes.dataIndex.classe,
- width : 50,
- resizable : true,
- sortable : true,
- align : 'left'
+ header:this.ConfigServeur.header.classe,
+ dataIndex:this.Constantes.dataIndex.classe,
+ width:50,
+ resizable:true,
+ sortable:true,
+ align:'left'
});
}
columns.push({
- header : this.ConfigServeur.header.eleve,
- dataIndex : this.Constantes.dataIndex.libelle,
- width : 116,
- resizable : true,
- sortable : true,
- align : 'left',
- renderer: this.eleveRenderer.createDelegate(this)
+ header:this.ConfigServeur.header.eleve,
+ dataIndex:this.Constantes.dataIndex.libelle,
+ width:116,
+ resizable:true,
+ sortable:true,
+ align:'left',
+ renderer:this.eleveRenderer.createDelegate(this)
});
return columns;
},
- eleveRenderer: function(eleveNom, obj, record) {
+ eleveRenderer:function (eleveNom, obj, record) {
+ obj.attr = 'ext:qtip="' + eleveNom + '"';
+
if (record === this.eleveGrid.selModel.getSelected()) {
var eleveId = record.get('id');
return '<a href="#" onclick="eliot.ficheeleve.Application.' +
* Observe la grille d'élève
* @param eleveGrid
*/
- observeEleveGrid : function(eleveGrid, isRecherche) {
+ observeEleveGrid:function (eleveGrid, isRecherche) {
eleveGrid.getSelectionModel().addListener({
- beforerowselect : {
- fn: function(selectModele, rowIndex) {
+ beforerowselect:{
+ fn:function (selectModele, rowIndex) {
if ((this.isDirty) && (this.isDirty())) {
eliot.absences.Message.showErreur(
this.ConfigServeur.message.erreurChangementEleve
return false;
}
},
- scope: this
+ scope:this
},
rowdeselect:{
scope:this
},
- rowselect : {
- fn: function(selectionModel, rowIndex, record) {
+ rowselect:{
+ fn:function (selectionModel, rowIndex, record) {
eliot.absences.Message.resetMessages();
this.forceExecuteEleveRenderer(record);
this.actionSelection(rowIndex);
},
- scope: this
+ scope:this
}
});
eleveGrid.store.addListener({
- load : {
- fn : function() {
+ load:{
+ fn:function () {
if (eleveGrid.store.getTotalCount() > 0) {
- var oldSelection = eleveGrid.getSelectionModel().getSelected();
- if(!oldSelection){
+ var oldSelection = eleveGrid.getSelectionModel().getSelected();
+ if (!oldSelection) {
eleveGrid.getSelectionModel().selectFirstRow();
}
}
}
},
- scope : this
+ scope:this
}
});
},
* @param grid
* @param rowIndex
*/
- actionSelection : function(rowIndex) {
+ actionSelection:function (rowIndex) {
var recordSelectionne = this.eleveGrid.store.getAt(rowIndex);
this.fireEvent(
this.Constantes.eventId.actionSelection,
);
},
- actionAucunePreselection : function() {
+ actionAucunePreselection:function () {
eliot.absences.Message.showErreur(
this.ConfigServeur.message.rechercheVide +
" " +
*/
eliot.notes.saisie.brevet.GridFicheView = Ext.extend(Ext.util.Observable, {
- constructor: function(config) {
+ constructor:function (config) {
this.init(eliot.notes.saisie.brevet, config);
this.observeController();
},
- init: function(ns, config) {
+ init:function (ns, config) {
this.ns = ns;
this.Constantes = this.ns.Constantes;
this.ConfigServeur = this.ns.ConfigServeur;
this.addAllEvents();
},
- addAllEvents: function() {
+ addAllEvents:function () {
//this.addEvents();
},
- creeConfig: function() {
+ creeConfig:function () {
this.config = {
- ficheController: undefined,
- panel: undefined,
- gridScrollSynchronizer: undefined
+ ficheController:undefined,
+ panel:undefined,
+ gridScrollSynchronizer:undefined
};
return this.config;
},
- observeController: function() {
+ observeController:function () {
this.config.ficheController.addListener(
this.Constantes.eventId.change,
- function(ficheStore, ficheFooterStore, epreuves) {
+ function (ficheStore, ficheFooterStore, epreuves) {
this.epreuves = epreuves;
this.creeFicheGrid(ficheStore, epreuves);
},
this);
},
- creeFicheGrid: function(ficheStore, epreuves) {
+ creeFicheGrid:function (ficheStore, epreuves) {
var view = this.creeGridView();
var columns = this.creerColonnes(epreuves);
}
this.ficheGrid = new Ext.grid.EditorGridPanel({
- store: ficheStore,
- clicksToEdit: 1,
- enableColumnResize: false,
- enableColumnHide: false,
- enableColumnMove: false,
- enableDragDrop: false,
- enableHdMenu: false,
- autoSize: false,
- colModel: this.creerColModel(columns),
- baseCls: 'eliot-patch-ie-wrap x-panel',
- cls: 'portal-default_table',
- margins: '0 5 5 5',
- border: true,
- columnLines: true,
- stripeRows: true,
- autoExpandMax: 5000,
- autoExpandMin: columns[columns.length - 1].width,
- autoExpandColumn: columns.length - 1,
- view: view,
- listeners: {
- scope: this,
- resize: function() {
+ store:ficheStore,
+ clicksToEdit:1,
+ enableColumnResize:false,
+ enableColumnHide:false,
+ enableColumnMove:false,
+ enableDragDrop:false,
+ enableHdMenu:false,
+ autoSize:false,
+ colModel:this.creerColModel(columns),
+ baseCls:'eliot-patch-ie-wrap x-panel',
+ cls:'portal-default_table',
+ margins:'0 5 5 5',
+ border:true,
+ columnLines:true,
+ stripeRows:true,
+ autoExpandMax:5000,
+ autoExpandMin:columns[columns.length - 1].width,
+ autoExpandColumn:columns.length - 1,
+ view:view,
+ listeners:{
+ scope:this,
+ resize:function () {
view.refresh(false);
},
- afteredit: function(e) {
+ afteredit:function (e) {
this.editeurActif = null;
var editor = e.grid.getColumnModel().columns[e.column].editor;
if (epreuve && epreuve.exportable == true) {
if (e.originalValue == 'AB') {
- eliot.notes.Messages.afficherDialogConfirmation(
- this.ConfigServeur.messages.titreConfirmationSupprimerAB,
- this.ConfigServeur.messages.confirmationSupprimerAB,
- this.removeNoteAB.createDelegate(this,[e.record]),
- this.setNoteAB.createDelegate(this,[e.record]),
- null);
+ eliot.notes.Messages.afficherDialogConfirmation(
+ this.ConfigServeur.messages.titreConfirmationSupprimerAB,
+ this.ConfigServeur.messages.confirmationSupprimerAB,
+ this.removeNoteAB.createDelegate(this, [e.record]),
+ this.setNoteAB.createDelegate(this, [e.record]),
+ null);
}
}
this.config.gridScrollSynchronizer.noScrollDate = new Date();
view.refresh(false);
},
- beforeedit: function(e) {
+ beforeedit:function (e) {
var editor = e.grid.getColumnModel().columns[e.column].editor;
this.currentRecord = e.record;
if (editor != null) {
}
}
},
- bodyscroll: function() {
+ bodyscroll:function () {
if (this.editeurActif) {
this.editeurActif.getEl().blur();
this.editeurActif = undefined;
return this.ficheGrid;
},
- getEpreuveEleve: function(epreuve, record) {
+ getEpreuveEleve:function (epreuve, record) {
var fiche = record.get('fiche');
- for(var i = 0; i < fiche.epreuves.length; i++) {
+ for (var i = 0; i < fiche.epreuves.length; i++) {
var epreuveEleve = fiche.epreuves[i];
if (epreuve.id == epreuveEleve.id) {
return epreuveEleve;
return null;
},
- creerColModel: function(columns) {
+ creerColModel:function (columns) {
return new Ext.ux.grid.LockingColumnModel({
- defaults:
- {
- menuDisabled: true,
- resizable: false,
- align: 'left'
+ defaults:{
+ menuDisabled:true,
+ resizable:false,
+ align:'left'
},
- columns: columns
+ columns:columns
});
},
- creerColonnes: function(epreuves) {
+ creerColonnes:function (epreuves) {
var columns = [
{
- header: this.creeEnteteEleve(),
- dataIndex: 'libelle',
- width: 150,
- sortable: false,
- align: 'left',
- locked: true,
- renderer: {
- fn: function(value, metaData, record) {
-
+ header:this.creeEnteteEleve(),
+ dataIndex:'libelle',
+ width:150,
+ sortable:false,
+ align:'left',
+ locked:true,
+ renderer:{
+ fn:function (eleveNom, metaData, record) {
+ metaData.attr = 'ext:qtip="' + eleveNom + '"';
var eleveId = record.get('id');
- var eleveNom = value;
var link = '<a href="#" onclick="eliot.ficheeleve.Application.' +
'afficheFicheEleve(' + eleveId + ',' + true + ');">'
return link;
},
- scope: this
+ scope:this
}
}
];
this.ajouteEpreuvesComptabiliseesColonnes(columns, epreuves);
columns.push(
- {
- dataIndex: 'moyenne',
- width : 80,
- sortable : false,
- align:'center',
- renderer: eliot.notes.commun.Utils.getNoteRenderer({precision: 0.01, bold: true})
- },
- {
- dataIndex: 'points',
- width : 90,
- sortable : false,
- align:'center',
- renderer: eliot.notes.commun.Utils.getNoteRenderer({precision: 0.01, bold: true})
- }
+ {
+ dataIndex:'moyenne',
+ width:80,
+ sortable:false,
+ align:'center',
+ renderer:eliot.notes.commun.Utils.getNoteRenderer({precision:0.01, bold:true})
+ },
+ {
+ dataIndex:'points',
+ width:90,
+ sortable:false,
+ align:'center',
+ renderer:eliot.notes.commun.Utils.getNoteRenderer({precision:0.01, bold:true})
+ }
);
this.ajouteEpreuvesNonComptabiliseesColonnes(columns, epreuves);
var listeners = eliot.notes.commun.Utils.getTextAreaCommunListeners(this);
- listeners.focus = function(field) {
+ listeners.focus = function (field) {
this.editeurActif = field;
};
columns.push(
- {
- dataIndex: 'avis',
- sortable : false,
- width : 300,
- renderer: eliot.notes.commun.Utils.textRenderer,
- editor: new Ext.form.TextArea({
- grow : true,
- enableKeyEvents: true,
- autoCreate: {tag: 'textarea', maxlength: 255},
- listeners: listeners
- })
- }
+ {
+ dataIndex:'avis',
+ sortable:false,
+ width:300,
+ renderer:eliot.notes.commun.Utils.textRenderer,
+ editor:new Ext.form.TextArea({
+ grow:true,
+ enableKeyEvents:true,
+ autoCreate:{tag:'textarea', maxlength:255},
+ listeners:listeners
+ })
+ }
);
return columns;
},
- ajouteEpreuvesComptabiliseesColonnes: function(columns, epreuves) {
- for(var i = 0; i < epreuves.length; i++) {
+ ajouteEpreuvesComptabiliseesColonnes:function (columns, epreuves) {
+ for (var i = 0; i < epreuves.length; i++) {
var epreuve = epreuves[i];
if ((epreuve.indicative == false) && (epreuve.notee == true)) {
}
},
- ajouteEpreuvesNonComptabiliseesColonnes: function(columns, epreuves) {
- for(var i = 0; i < epreuves.length; i++) {
+ ajouteEpreuvesNonComptabiliseesColonnes:function (columns, epreuves) {
+ for (var i = 0; i < epreuves.length; i++) {
var epreuve = epreuves[i];
if ((epreuve.indicative == true) || (epreuve.notee == false)) {
}
},
- ajouteEpreuveColonnes: function(columns, epreuve) {
+ ajouteEpreuveColonnes:function (columns, epreuve) {
columns.push({
- header: this.ConfigServeur.libelle.header3eme,
- dataIndex: 'moyenne' + epreuve.id,
- width : epreuve.notee == false ? 80 : 40,
- sortable : false,
+ header:this.ConfigServeur.libelle.header3eme,
+ dataIndex:'moyenne' + epreuve.id,
+ width:epreuve.notee == false ? 80 : 40,
+ sortable:false,
align:'center',
- editor: this.creeNoteEditor(epreuve),
- renderer: this.creeMoyenneRenderer(epreuve)
+ editor:this.creeNoteEditor(epreuve),
+ renderer:this.creeMoyenneRenderer(epreuve)
});
if (epreuve.notee == true) {
columns.push({
- header: this.ConfigServeur.libelle.headerCC,
- dataIndex: 'points' + epreuve.id,
- width : 40,
- sortable : false,
+ header:this.ConfigServeur.libelle.headerCC,
+ dataIndex:'points' + epreuve.id,
+ width:40,
+ sortable:false,
align:'center',
- renderer: this.creeMoyenneRendererCC(epreuve)
+ renderer:this.creeMoyenneRendererCC(epreuve)
});
}
},
- creeMoyenneRenderer: function(epreuve) {
+ creeMoyenneRenderer:function (epreuve) {
var view = this;
return {
- fn: function(value, metaData, record) {
+ fn:function (value, metaData, record) {
var epreuveEleve = view.getEpreuveEleve(epreuve, record);
if (epreuveEleve.inscrit == false) {
return '<div class="verrouille"> </div>';
return value;
}
else {
- return eliot.notes.commun.Utils.getNoteRenderer({precision: 0.01})(value);
+ return eliot.notes.commun.Utils.getNoteRenderer({precision:0.01})(value);
}
}
},
- scope: this
+ scope:this
};
},
- creeMoyenneRendererCC: function(epreuve) {
+ creeMoyenneRendererCC:function (epreuve) {
var view = this;
return {
- fn: function(value, metaData, record) {
+ fn:function (value, metaData, record) {
var epreuveEleve = view.getEpreuveEleve(epreuve, record);
if (epreuveEleve.inscrit == false) {
return '<div class="verrouille"> </div>';
}
else {
return '<div class="cc">'
- + eliot.notes.commun.Utils.getNoteRenderer({precision: 0.01})(value)
+ + eliot.notes.commun.Utils.getNoteRenderer({precision:0.01})(value)
+ '</div>';
}
}
},
- scope: this
+ scope:this
};
},
- creeEnteteEleve: function() {
+ creeEnteteEleve:function () {
var entete = '';
entete += '<p align="right">';
- entete += '<table width="100%" cellpadding="0" cellspacing="0" border="0">';
- entete += '<tr>';
- entete += '<td style="color:#3F61A0;font-weight:bold;">' + this.ConfigServeur.libelle.eleves + '</td>';
- entete += '<td style="color:#3F61A0;font-weight:bold;text-align:right;">' + this.ConfigServeur.libelle.moyenneCourt + '</td>';
- entete += '</tr>';
- entete += '</table>';
+ entete += '<table width="100%" cellpadding="0" cellspacing="0" border="0">';
+ entete += '<tr>';
+ entete += '<td style="color:#3F61A0;font-weight:bold;">' + this.ConfigServeur.libelle.eleves + '</td>';
+ entete += '<td style="color:#3F61A0;font-weight:bold;text-align:right;">' + this.ConfigServeur.libelle.moyenneCourt + '</td>';
+ entete += '</tr>';
+ entete += '</table>';
entete += '</p>';
return entete;
},
- creeGridView: function() {
+ creeGridView:function () {
return new Ext.ux.grid.NoScrollLockingGridView({
- syncHeights: true,
- listeners: {
- refresh: function() {
+ syncHeights:true,
+ listeners:{
+ refresh:function () {
this.refreshHtmlElements();
},
- rowupdated: function() {
+ rowupdated:function () {
this.refreshHtmlElements();
},
- scope: this
+ scope:this
}
});
},
- creeNoteEditor: function(epreuve) {
+ creeNoteEditor:function (epreuve) {
var listeners = this.creeEditorListeners(epreuve);
- listeners.focus = function(field) {
+ listeners.focus = function (field) {
this.editeurActif = field;
};
var conf = {
- decimalSeparator: '.',
- decimalPrecision : 2,
- allowNegative : false,
- maxValue : 20,
- enableKeyEvents : true,
- listeners: listeners
+ decimalSeparator:'.',
+ decimalPrecision:2,
+ allowNegative:false,
+ maxValue:20,
+ enableKeyEvents:true,
+ listeners:listeners
};
if (epreuve.notee == false) {
return editor;
},
- creeEditorListeners: function(epreuve) {
+ creeEditorListeners:function (epreuve) {
var noteMaxMessageTemplate = new Ext.Template(
this.ConfigServeur.messages.invalidNoteMax);
return {
- scope: this,
+ scope:this,
- keydown: function(field, e) {
+ keydown:function (field, e) {
var key = e.getKey();
var value = field.getValue();
if (this.noteAutorisee(epreuve, 'AB')) {
this.saisie = {
- fiche: this.currentRecord,
- epreuve: epreuve,
- value: value
+ fiche:this.currentRecord,
+ epreuve:epreuve,
+ value:value
};
field.setValue('AB');
if (epreuve.exportable) {
eliot.notes.Messages.afficherDialogConfirmation(
- this.ConfigServeur.messages.titreConfirmationAB,
- this.ConfigServeur.messages.confirmationAB,
- this.setNoteAB.createDelegate(this, [this.currentRecord]),
- this.cancelNoteAB.createDelegate(this, [this.currentRecord]),
- null);
+ this.ConfigServeur.messages.titreConfirmationAB,
+ this.ConfigServeur.messages.confirmationAB,
+ this.setNoteAB.createDelegate(this, [this.currentRecord]),
+ this.cancelNoteAB.createDelegate(this, [this.currentRecord]),
+ null);
}
}
break;
field.setValue('VA');
}
break;
- }
+ }
}
},
- keyup: function(field, e) {
+ keyup:function (field, e) {
var noteSaisie = field.getValue();
var noteMax = field.maxValue;
if (noteSaisie > noteMax) {
}
},
- specialkey: function(field, e) {
+ specialkey:function (field, e) {
this.specialkeyEvent = true;
var noteSaisie = field.getValue();
var noteMax = field.maxValue;
}
},
- focus: function(field) {
+ focus:function (field) {
this.editeurActif = field;
}
};
},
- noteAutorisee: function(epreuve, note) {
- for(var i = 0; i < epreuve.valeurTextuelleAutorisees.length; i++) {
+ noteAutorisee:function (epreuve, note) {
+ for (var i = 0; i < epreuve.valeurTextuelleAutorisees.length; i++) {
var valeurTextuelleAutorisee = epreuve.valeurTextuelleAutorisees[i];
if (note == valeurTextuelleAutorisee) {
return true;
return false;
},
- cancelNoteAB: function(record) {
+ cancelNoteAB:function (record) {
record.set('moyenne' + this.saisie.epreuve.id, this.saisie.value);
},
- setNoteAB: function(record) {
+ setNoteAB:function (record) {
this.config.ficheController.calculeMoyenneDisabled = true;
var fiche = record.get('fiche');
- for(var i = 0; i < this.epreuves.length; i++) {
+ for (var i = 0; i < this.epreuves.length; i++) {
var epreuve = this.epreuves[i];
var epreuveEleve = this.getEpreuveEleve(epreuve, record);
if (epreuve.exportable == true && epreuveEleve.inscrit == true) {
},
- removeNoteAB: function(record) {
+ removeNoteAB:function (record) {
this.config.ficheController.calculeMoyenneDisabled = true;
var fiche = record.get('fiche');
- for(var i = 0; i < this.epreuves.length; i++) {
+ for (var i = 0; i < this.epreuves.length; i++) {
var epreuve = this.epreuves[i];
var value = record.get('moyenne' + epreuve.id);
this.calculeMoyennes();
},
- surchargeEditor: function(editor, epreuve) {
+ surchargeEditor:function (editor, epreuve) {
var view = this;
editor.epreuve = epreuve;
- editor.isAllowedNonNumericValue = function(value) {
+ editor.isAllowedNonNumericValue = function (value) {
if ((value == 'AB') || (value == 'DI') || (value == 'NV') || (value == 'VA')) {
return view.noteAutorisee(epreuve, value);
}
}
editor.baseValidateValue = editor.validateValue;
- editor.validateValue = function(value){
+ editor.validateValue = function (value) {
if (this.isAllowedNonNumericValue(value)) {
return true;
}
};
editor.baseGetValue = editor.getValue;
- editor.getValue = function(){
+ editor.getValue = function () {
var value = Ext.form.NumberField.superclass.getValue.call(this);
if (this.isAllowedNonNumericValue(value)) {
return value;
};
editor.baseSetValue = editor.setValue;
- editor.setValue = function(value){
- if (this.isAllowedNonNumericValue(value)) {
+ editor.setValue = function (value) {
+ if (this.isAllowedNonNumericValue(value)) {
return Ext.form.NumberField.superclass.setValue.call(this, value);
}
return editor.baseSetValue.call(this, value);
};
},
- refreshHtmlElements: function() {
+ refreshHtmlElements:function () {
this.changeCcStyle();
this.changeLockedStyle();
var task = new Ext.util.DelayedTask(
- function(){
- this.changeCcStyle();
- this.changeLockedStyle();
- },
- this);
+ function () {
+ this.changeCcStyle();
+ this.changeLockedStyle();
+ },
+ this);
task.delay(1);
},
- changeLockedStyle: function() {
+ changeLockedStyle:function () {
var elements = Ext.DomQuery.select('.verrouille');
- for(var i = 0; i < elements.length; i++) {
+ for (var i = 0; i < elements.length; i++) {
var element = elements[i];
element.parentNode.parentNode.style.background = '#E9E2E2';
}
},
- changeCcStyle: function() {
+ changeCcStyle:function () {
var elements = Ext.DomQuery.select('.cc');
- for(var i = 0; i < elements.length; i++) {
+ for (var i = 0; i < elements.length; i++) {
var element = elements[i];
element.parentNode.parentNode.style.background = '#FAFAFA';
}
},
- calculeMoyennes: function() {
+ calculeMoyennes:function () {
// Délégation du calcule des moyennes du controller surchargée dans application
}