/** * GRAPPELLI UTILS * functions needed for Grappelli */ var grp = { "jQuery": jQuery }; (function($) { // dateformat grappelli.getFormat = function(type) { if (type == "date") { var format = DATE_FORMAT.toLowerCase().replace(/%\w/g, function(str) { str = str.replace(/%/, ''); return str + str; }); return format; } }; // datepicker, timepicker init grappelli.initDateAndTimePicker = function() { // HACK: get rid of text after DateField (hardcoded in django.admin) $('p.datetime').each(function() { var text = $(this).html(); text = text.replace(/^\w*: /, ""); text = text.replace(/
.*: /, "
"); $(this).html(text); }); var options = { //appendText: '(mm/dd/yyyy)', showOn: 'button', buttonImageOnly: false, buttonText: '', dateFormat: grappelli.getFormat('date'), showButtonPanel: true, showAnim: '', // HACK: sets the current instance to a global var. // needed to actually select today if the today-button is clicked. // see onClick handler for ".ui-datepicker-current" beforeShow: function(year, month, inst) { grappelli.datepicker_instance = this; } }; var dateFields = $("input[class*='vDateField']:not([id*='__prefix__'])"); dateFields.datepicker(options); if (typeof IS_POPUP != "undefined" && IS_POPUP) { dateFields.datepicker('disable'); } // HACK: adds an event listener to the today button of datepicker // if clicked today gets selected and datepicker hides. // use live() because couldn't find hook after datepicker generates it's complete dom. $(".ui-datepicker-current").live('click', function() { $.datepicker._selectDate(grappelli.datepicker_instance); grappelli.datepicker_instance = null; }); // init timepicker $("input[class*='vTimeField']:not([id*='__prefix__'])").grp_timepicker(); // now-button for both date and time // $("