From d00390d46d83b07fe03c815df3af2cd2371c02a8 Mon Sep 17 00:00:00 2001 From: Gehad elrobey Date: Sat, 23 Aug 2014 22:22:24 +0300 Subject: HTML: Save divecomputer data to the HTML exports Save divecomputers data to the JSON files. and show them in the HTML dive detailed view. Fixes #711 Signed-off-by: Gehad elrobey Signed-off-by: Dirk Hohndel --- save-html.c | 17 +++++++++++++++++ theme/list_lib.js | 21 ++++++++++++++++++++- 2 files changed, 37 insertions(+), 1 deletion(-) diff --git a/save-html.c b/save-html.c index c3d5073b2..11d16a481 100644 --- a/save-html.c +++ b/save-html.c @@ -25,6 +25,22 @@ void save_photos(struct membuffer *b, const char *photos_dir, struct dive *dive) put_string(b, "],"); } +void write_divecomputers(struct membuffer *b, struct dive *dive) +{ + put_string(b, "\"divecomputers\":["); + struct divecomputer *dc; + for_each_dc(dive, dc) { + put_format(b, "{"); + write_attribute(b, "model", dc->model); + if (dc->deviceid) + put_format(b, "\"deviceid\":\"%08x\",", dc->deviceid); + if (dc->diveid) + put_format(b, "\"diveid\":\"%08x\",", dc->diveid); + put_format(b, "},"); + } + put_string(b, "],"); +} + void write_dive_status(struct membuffer *b, struct dive *dive) { put_format(b, "\"sac\":\"%d\",", dive->sac); @@ -245,6 +261,7 @@ void write_one_dive(struct membuffer *b, struct dive *dive, const char *photos_d put_HTML_bookmarks(b, dive); write_dive_status(b, dive); save_photos(b, photos_dir, dive); + write_divecomputers(b, dive); } put_string(b, "},\n"); (*dive_no)++; diff --git a/theme/list_lib.js b/theme/list_lib.js index c66be6414..d3f9f8cac 100644 --- a/theme/list_lib.js +++ b/theme/list_lib.js @@ -941,10 +941,29 @@ function get_dive_HTML(dive) '

' + translate.Buddy + ':

' + dive.buddy + '' + translate.Suit + ': ' + dive.suit + '' + translate.Tags + ': ' + putTags(dive.tags) + - '

' + translate.Notes + ':

' + dive.notes + '
'; + ''+ put_divecomputer_details(dive.divecomputers) +'

' + translate.Notes + ':

' + dive.notes + '
'; return res; }; +function put_divecomputer_details(dc) +{ + if (dc.length <= 0) + return; + + var res = ''; + res += '

Divecomputer:

'; + for (var i =0; i < dc.length; i++) { + res += ''; + res += ''; + if (dc[i].deviceid) + res += ''; + if (dc[i].diveid) + res += ''; + res += '
Model : ' + dc[i].model + '
Device ID : ' + dc[i].deviceid + '
Dive ID : ' + dc[i].diveid + '

'; + } + return res; +} + /** *Return HTML dive status data */ -- cgit v1.2.3-70-g09d2