/usr/share/horde/nag/js/task.js is in php-horde-nag 4.2.13-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 | var NagTasks = {
knl: {},
/**
* Attaches a KeyNavList drop down to one of the time fields.
*
* @param string|Element field A time field (id).
*
* @return KeyNavList The drop down list object.
*/
attachTimeDropDown: function(field, time_format)
{
var list = [], d = new Date(), time, opts;
d.setHours(0);
d.setMinutes(0);
do {
time = d.toString(time_format);
list.push({ l: time, v: time });
d.add(30).minutes();
} while (d.getHours() !== 0 || d.getMinutes() !== 0);
field = $(field);
opts = {
list: list,
domParent: field.up('#nag_form_task'),
onChoose: function(value) {
if (value) {
field.setValue(value);
}
}.bind(this)
};
this.knl[field.id] = new KeyNavList(field, opts);
return this.knl[field.id];
},
/**
* Keypress handler for time fields.
*/
timeSelectKeyHandler: function(e)
{
switch(e.keyCode) {
case Event.KEY_UP:
case Event.KEY_DOWN:
case Event.KEY_RIGHT:
case Event.KEY_LEFT:
return;
default:
var dt = $('due_time');
if ($F(dt) !== this.knl[dt.identify()].getCurrentEntry()) {
this.knl[dt.identify()].markSelected(null);
}
}
}
}
document.observe('dom:loaded', function() {
var dropDown = NagTasks.attachTimeDropDown('due_time', Nag.conf.time_format);
var dt = $('due_time');
dt.observe('click', function() { dropDown.show(); });
dt.observe('keyup', NagTasks.timeSelectKeyHandler.bind(NagTasks));
});
|