diff options
Diffstat (limited to 'lib/grappelli/media/js/grappelli.timepicker.js')
-rw-r--r-- | lib/grappelli/media/js/grappelli.timepicker.js | 171 |
1 files changed, 0 insertions, 171 deletions
diff --git a/lib/grappelli/media/js/grappelli.timepicker.js b/lib/grappelli/media/js/grappelli.timepicker.js deleted file mode 100644 index 05bedcc..0000000 --- a/lib/grappelli/media/js/grappelli.timepicker.js +++ /dev/null @@ -1,171 +0,0 @@ -/** - * this is grappellis timepicker. - * works pretty similar to ui.datepicker: - * - adds a button to the element - * - creates a node (div) at the bottom called ui-timepicker - * - element.onClick fills the ui-timepicker node with the time_list (all times you can select) - */ - -(function( $ ) { -$.widget("ui.timepicker", { - // default options - options: { - // template for the container of the timepicker - template: '<div id="ui-timepicker" class="module" style="position: absolute; display: none;"></div>', - // selector to get the ui-timepicker once it's added to the dom - timepicker_selector: "#ui-timepicker", - // needed offset of the container from the element - offset: { - top: 0 - }, - // if time_list wasn't sent when calling the timepicker we use this - default_time_list: [ - 'now', - '00:00', - '01:00', - '02:00', - '03:00', - '04:00', - '05:00', - '06:00', - '07:00', - '08:00', - '09:00', - '10:00', - '11:00', - '12:00', - '13:00', - '14:00', - '15:00', - '16:00', - '17:00', - '18:00', - '19:00', - '20:00', - '21:00', - '22:00', - '23:00' - ], - // leave this empty!!! - // NOTE: you can't set a default for time_list because if you call: - // $("node").timepicker({time_list: ["01:00", "02:00"]}) - // ui.widget will extend/merge the options.time_list whith the one you sent. - time_list: [] - }, - - /** - * init timepicker for a specific element - */ - _create: function() { - // for the events - var self = this; - - // to close timpicker if you click somewhere in the document - $(document).mousedown(function(evt) { - if (self.timepicker.is(":visible")) { - var $target = $(evt.target); - if ($target[0].id != self.timepicker[0].id && $target.parents(self.options.timepicker_selector).length == 0 && !$target.hasClass('hasTimepicker') && !$target.hasClass('ui-timepicker-trigger')) { - self.timepicker.hide(); - } - } - }); - - // get/create timepicker's container - if ($(this.options.timepicker_selector).size() == 0) { - $(this.options.template).appendTo('body'); - } - this.timepicker = $(this.options.timepicker_selector); - this.timepicker.hide(); - - // modify the element and create the button - this.element.addClass("hasTimepicker"); - this.button = $('<button type="button" class="ui-timepicker-trigger"></button>'); - this.element.after(this.button); - - // disable button if element is disabled - if (this.element.attr("disabled")) { - this.button.attr("disabled", true); - } - // register event - else { - this.button.click(function() { - self._toggleTimepicker(); - }); - } - }, - - /** - * called when button is clicked - */ - _toggleTimepicker: function() { - if (this.timepicker.is(":visible")) { - this.timepicker.hide(); - } else { - this.element.focus(); - this._generateTimepickerContents(); - this._showTimepicker(); - } - }, - - /** - * fills timepicker with time_list of element and shows it. - * - * called by _toggleTimepicker - */ - _generateTimepickerContents: function() { - var self = this, - template_str = "<ul>"; - - // there is no time_list for this instance so use the default one - if (this.options.time_list.length == 0) { - this.options.time_list = this.options.default_time_list; - } - - for (var i = 0; i < this.options.time_list.length; i++) { - if (this.options.time_list[i] == "now") { - var now = new Date(), - hours = now.getHours(), - minutes = now.getMinutes(); - - hours = ((hours < 10) ? "0" + hours : hours); - minutes = ((minutes < 10) ? "0" + minutes : minutes); - - template_str += '<li class="ui-state-active row">' + hours + ":" + minutes + '</li>'; - } else { - template_str += '<li class="ui-state-default row">' + this.options.time_list[i] + '</li>'; - } - } - template_str += "</ul>"; - - // fill timepicker container - this.timepicker.html(template_str); - - // click handler for items (times) in timepicker - this.timepicker.find('li').click(function() { - // remove active class from all items - $(this).parent().children('li').removeClass("ui-state-active"); - // mark clicked item as active - $(this).addClass("ui-state-active"); - - // set the new value and hide the timepicker - self.element.val($(this).html()); - self.timepicker.hide(); - }); - }, - - /** - * sets offset and shows timepicker containter - */ - _showTimepicker: function() { - this.timepicker_offset = this.element.offset(); - this.timepicker_offset.top += this.element.outerHeight() + this.options.offset.top; - this.timepicker.css(this.timepicker_offset); - this.timepicker.show(); - }, - - destroy: function() { - $.Widget.prototype.destroy.apply(this, arguments); // default destroy - // now do other stuff particular to this widget - } -}); -})(django.jQuery);
\ No newline at end of file |