aboutsummaryrefslogtreecommitdiff
path: root/static/mauve_utils.js
diff options
context:
space:
mode:
Diffstat (limited to 'static/mauve_utils.js')
-rw-r--r--static/mauve_utils.js60
1 files changed, 46 insertions, 14 deletions
diff --git a/static/mauve_utils.js b/static/mauve_utils.js
index 8a4a9db..3012ca3 100644
--- a/static/mauve_utils.js
+++ b/static/mauve_utils.js
@@ -1,24 +1,56 @@
-// Controls the showing of details on alerts.
-
-function next_date(n, d, when) {
- switch(when) {
- case "daytime"
- next_daytime_hour(d) + n;
- case "working"
- next_working_hour(d) + n;
- default
- d + n;
- }
+function updateDate() {
+ //
+ // Date.getTime() returns *milliseconds*
+ //
+ var this_date = workoutDate( $('#n_hours').val(), $('#type_hours').val() );
+ $('#ack_until_text').html("(until "+humanDate(this_date)+")");
+ $('#ack_until').val(this_date.getTime()/1000);
+
+ return false;
}
-function is_daytime_hour(d) {
- return (d.getHours() => 8 and d.getHours() <= 17);
+function workoutDate(h, t) {
+ var new_date = null;
+
+ //
+ // Use a synchronous ajax request to fetch the date. Note that
+ // Date.getTime() returns milliseconds..
+ //
+ $.ajax({
+ url: '/ajax/time_in_x_hours/'+h+"/"+t,
+ async: false,
+ success: function(data) { new_date = new Date ( new Number(data) * 1000 ); }
+ });
+
+ return new_date;
}
-function next_working_hour(d) {
+function humanDate(d) {
+ var new_date = null;
+ //
+ // Use a synchronous ajax convert a date to a human string. NB Date.getTime()
+ // returns *milliseconds*
+ //
+ $.ajax({
+ url: '/ajax/time_to_s_human/'+d.getTime()/1000,
+ async: false,
+ success: function(data) { new_date = data; }
+ });
+
+ return new_date;
+}
+function fetchDetail(a) {
+ // Use a synchronous ajax request to fetch the date.
+ $.get('/ajax/alerts_table_alert_detail/'+a,
+ function(data) {
+ $('#tr_summary_'+a).after(data);
+ // Only fetch the data once.
+ $('#a_detail_'+a).attr("onclick",null).click(function() { $('#tr_detail_'+a).toggle(); return false; });
+ });
+ return false;
}