ldapsaisie/trunk/includes/js/LSformElement_date_field.js

46 lines
1.4 KiB
JavaScript
Raw Normal View History

- config.inc.php : Ajout d'une constante LS_CSS_DIR - Ajout d'un LSformElement Date : -> includes/class/class.LSattr_ldap_date.php -> includes/class/class.LSattr_html_date.php -> includes/class/class.LSformElement_date.php -> includes/class/class.LSformRule_date.php -> includes/libs/jscalendar -> includes/js/LSformElement_date.js -> includes/js/LSformElement_date_field.js -> templates/images/calendar.png - LSformElement : Ajout d'une méthode exportValues() utilisée par LSform::exportValues() - LSform : -> Utlisation de LSformElement::exportValues() pour exporter les données du formulaire -> Méthode setValuesFromPostData() est désormais invoqué à chaque invocation de la méthode validate() - LSformElement_select_object : Ajout d'une méthode exportValues() pour coller au nouveau mode d'exportation des données de l'annuaire - LSldapObjet : Correction d'un bug potentiel (foreach sur une variable à false) dans la méthode updateData() - LSsession : -> Méthode addCssFile() & addJSscript() : ajout d'un paramètre pour la possibilité d'inclusion de fichier externe (hors des dossiers par défaut ex: les libs) -> Utilisation de la Constante LS_CSS_DIR au lieu d'une chemin en dure -> Paramètrage JS depuis Php : -> Méthode addJSconfigParam() : ajouter un paramètre de config. JS -> Méthode displayTemplate() adaptée pour -> top.tpl : adapté pour afficher une div contenant les paramètres JSONisés -> LSdefault.css : adapté pour ne pas afficher la div contenant les params. -> LSdefault.js : récupère les informations et Initialise une variable javascript LSjsConfig - LSconfirmBox : Correction d'un debug : "delete this;"
2008-07-18 16:02:46 +02:00
var LSformElement_date_field = new Class({
initialize: function(calendarBtn){
this.calendarBtn = calendarBtn;
this.calendarBtn.addEvent('click',this.onCalendarBtnClick.bind(this));
// Récupération des paramètres à partir de l'attribut 'rem' du bouton
this.params = varLSdefault.LSjsConfig[this.calendarBtn.id];
if (!$type(this.params)) {
this.params={};
}
if (!$type(this.params.format)) {
this.params.format = "%d/%m/%Y, %H:%M:%S";
}
if (!$type(this.params.firstDayOfWeek)) {
this.params.firstDayOfWeek=0;
}
this.input = calendarBtn.getParent().getFirst();
this.input.addEvent('click',this.onCalendarBtnClick.bind(this));
this.date = Date.parseDate(this.input.value,this.params.format);
this.calendar = new Calendar(
this.params.firstDayOfWeek,
this.date,
this.onChangeCalendar.bind(this),
this.onCloseCalendar.bind(this)
);
this.calendar.setDateFormat(this.params.format);
this.calendar.showsTime = true;
this.calendar.create();
},
onCalendarBtnClick: function() {
this.calendar.showAtElement(this.calendarBtn);
},
onChangeCalendar: function(calendar, date) {
this.input.value = date;
},
onCloseCalendar: function() {
this.calendar.hide();
}
});