Dépôt officiel du core SPIP * Anciennement présent sur svn://trac.rezo.net/spip * Les plugins-dist faisant partie de la distribution SPIP sont présents dans https://git.spip.net/SPIP/[nom du plugin dist] https://www.spip.net
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

183 lines
6.6 KiB

<script type='text/javascript'>/*<![CDATA[*/
function date_picker_options(){
return {
closeText: '<:bouton_fermer|texte_script:>',
prevText: '<:precedent|texte_script:>',
nextText: '<:suivant|texte_script:>',
currentText: '<:date_aujourdhui|texte_script:>',
clearText: '<:lien_supprimer|texte_script:>',
monthNames: [
'<:date_mois_1|texte_script:>','<:date_mois_2|texte_script:>','<:date_mois_3|texte_script:>','<:date_mois_4|texte_script:>','<:date_mois_5|texte_script:>','<:date_mois_6|texte_script:>',
'<:date_mois_7|texte_script:>','<:date_mois_8|texte_script:>','<:date_mois_9|texte_script:>','<:date_mois_10|texte_script:>','<:date_mois_11|texte_script:>','<:date_mois_12|texte_script:>'],
monthNamesShort: [
'<:date_mois_1_abbr|texte_script:>','<:date_mois_2_abbr|texte_script:>','<:date_mois_3_abbr|texte_script:>','<:date_mois_4_abbr|texte_script:>','<:date_mois_5_abbr|texte_script:>','<:date_mois_6_abbr|texte_script:>',
'<:date_mois_7_abbr|texte_script:>','<:date_mois_8_abbr|texte_script:>','<:date_mois_9_abbr|texte_script:>','<:date_mois_10_abbr|texte_script:>','<:date_mois_11_abbr|texte_script:>','<:date_mois_12_abbr|texte_script:>'],
dayNames: [
'<:date_jour_1|texte_script:>','<:date_jour_2|texte_script:>','<:date_jour_3|texte_script:>','<:date_jour_4|texte_script:>',
'<:date_jour_5|texte_script:>','<:date_jour_6|texte_script:>','<:date_jour_7|texte_script:>'],
dayNamesShort: [
'<:date_jour_1_abbr|texte_script:>','<:date_jour_2_abbr|texte_script:>','<:date_jour_3_abbr|texte_script:>','<:date_jour_4_abbr|texte_script:>',
'<:date_jour_5_abbr|texte_script:>','<:date_jour_6_abbr|texte_script:>','<:date_jour_7_abbr|texte_script:>'],
dayNamesMin: [
'<:date_jour_1_initiale|texte_script:>','<:date_jour_2_initiale|texte_script:>','<:date_jour_3_initiale|texte_script:>','<:date_jour_4_initiale|texte_script:>',
'<:date_jour_5_initiale|texte_script:>','<:date_jour_6_initiale|texte_script:>','<:date_jour_7_initiale|texte_script:>'],
dateFormat: 'dd/mm/yy',
firstDay: 1,
autoclose: true,
todayBtn: true,
clearBtn: false,
orientation: 'bottom',
showOn:false, // jQuery UI
showOnFocus:false,// BS Datepicker
zIndexOffset: 1010
};
}
function time_picker_options() {
return {
step: #ENV{heure_pas,30},
};
}
function date_picker_range_changed_date($me) {
var newValue = $me.val();
var newDate = $me.datepicker('getDate');
if ($me.data('range-after')) {
var $after = jQuery($me.data('range-after'));
if ($after) {
var afterDate = $after.datepicker('getDate');
if (afterDate < newDate) {
$after.datepicker('setDate', newDate);
}
$after.datepicker('setStartDate', newDate);
}
}
if ($me.data('range-before')) {
var $before = jQuery($me.data('range-before'));
if ($before) {
var beforeDate = $before.datepicker('getDate');
if (beforeDate > newDate) {
$before.datepicker('setDate', newDate);
}
$before.datepicker('setEndDate', newDate);
}
}
}
function date_picker_enable_on_this(opts) {
var $me = jQuery(this);
opts = opts || {};
if (!$me.is('.datePicker')) {
var options = date_picker_options();
var lang = '[(#LANG|texte_script)]';
if (typeof jQuery.fn.datepicker.dates !== "undefined"){
if (typeof jQuery.fn.datepicker.dates[lang]==="undefined"){
jQuery.fn.datepicker.dates[lang] = {
days: options.dayNames,
daysShort: options.dayNamesShort,
daysMin: options.dayNamesMin,
months: options.monthNames,
monthsShort: options.monthNamesShort,
today: options.currentText,
clear: options.clearText,
format: options.dateFormat.replace('yy', 'yyyy'),
titleFormat: "MM yyyy", /* Leverages same syntax as 'format' */
weekStart: options.firstDay,
rtl: [(#LANG_DIR|=={'rtl'}|?{true, false})]
};
}
options.language = lang;
}
// Pour chaque champ, on regarde s'il y a des options propres
if ($me.data('startdate')) {
options.startDate = $me.data('startdate');
}
if ($me.data('enddate')) {
options.endDate = $me.data('enddate');
}
if ($me.data('todaybtn')) {
options.todayBtn = $me.data('todaybtn');
}
if ($me.data('clearbtn')) {
options.todayBtn = $me.data('clearbtn');
}
if ($me.data('orientation')) {
options.orientation = $me.data('orientation');
}
if ($me.data('showonfocus')){
options.showOnFocus = $me.data('showonfocus');
if (options.showOnFocus) {
options.showOn = 'focus';
}
}
if (opts) {
options = jQuery.extend(options, opts);
}
$me
.addClass('datePicker')
.datepicker(jQuery.extend({},options))
.trigger('datePickerLoaded');
if (!options.showOnFocus) {
$me.on('click', function(){$me.datepicker('show')});
}
if ($me.data('range-after') || $me.data('range-before')) {
$me.on('changeDate', function (){date_picker_range_changed_date($me)});
}
}
}
function date_picker_init(){
// Initialisation du sélecteur sur les champs de date
jQuery('input.date').not('.datePicker')
.each(function() {
date_picker_enable_on_this.apply(this,[{}]);
});
// Initialisation du sélecteur sur les champs d'heure
jQuery("input.heure").not('.timePicker')
.addClass('timePicker').each(function() {
// Pour chaque champ, on regarde s'il y a des options propres
var options = {};
if (jQuery(this).data('starttime')) {
options.startTime = jQuery(this).data('starttime');
}
if (jQuery(this).data('endtime')) {
options.endTime = jQuery(this).data('endtime');
}
if (jQuery(this).data('step')) {
options.step = jQuery(this).data('step');
}
jQuery(this)
.timePicker(jQuery.extend(time_picker_options(), options));
});
}
var date_picker_loading;
if (window.jQuery){
jQuery(function(){
if (jQuery('input.date,input.heure').length
&& typeof(date_picker_loading) === "undefined"){
date_picker_loading = jQuery.getScript('[(#PRODUIRE{fond=formulaires/dateur/jquery.dateur.js}|timestamp)]');
date_picker_loading.done(function(){
date_picker_init();
onAjaxLoad(date_picker_init);
})
}
});
}
/*]]>*/</script>
<style type="text/css">
[(#INCLURE{formulaires/dateur/time_picker.css}|compacte{css})]
[(#INCLURE{formulaires/dateur/bootstrap-datepicker.standalone.css}|compacte{css})]
.datepicker th {border-radius: 0;}
.datepicker td.day {background: transparent;}
div.time-picker {font-size:11px; width:5em; /* needed for IE */}
input.datePicker {background-image: url(#CHEMIN_IMAGE{calendrier-16.png});background-size:1em;background-position:[(#ENV{lang}|lang_dir|choixsiegal{ltr,right,left})] 0.25em center;background-repeat:no-repeat;}
.formulaire_spip input.date {width:9em;padding-[(#ENV{lang}|lang_dir|choixsiegal{ltr,right,left})]:1.5em;}
.formulaire_spip input.heure {width:7em;}
</style>