diff options
author | Simon Rettberg | 2016-09-06 18:47:25 +0200 |
---|---|---|
committer | Simon Rettberg | 2016-09-06 18:47:25 +0200 |
commit | c06b302e6d069446fea27691e293082b65013f1d (patch) | |
tree | 76c441c71f0097d3786de46d0848cf3f035c2da5 /modules-available/roomplanner/js | |
parent | [roomplanner] Remove stray html/head/body tags (diff) | |
download | slx-admin-c06b302e6d069446fea27691e293082b65013f1d.tar.gz slx-admin-c06b302e6d069446fea27691e293082b65013f1d.tar.xz slx-admin-c06b302e6d069446fea27691e293082b65013f1d.zip |
[roomplanner] Use AJAX for saving, show error message if unsuccessful
Diffstat (limited to 'modules-available/roomplanner/js')
-rw-r--r-- | modules-available/roomplanner/js/grid.js | 14 | ||||
-rw-r--r-- | modules-available/roomplanner/js/init.js | 13 |
2 files changed, 20 insertions, 7 deletions
diff --git a/modules-available/roomplanner/js/grid.js b/modules-available/roomplanner/js/grid.js index eb845f9f..80273441 100644 --- a/modules-available/roomplanner/js/grid.js +++ b/modules-available/roomplanner/js/grid.js @@ -286,11 +286,15 @@ if (!roomplanner) var roomplanner = { return JSON.stringify(objects); }, load: function(object) { - try { - var objects = JSON.parse(object); - } catch(e) { - alert('invalid JSON format'); - return false; + if (typeof object === 'string') { + try { + var objects = JSON.parse(object); + } catch (e) { + alert('invalid JSON format'); + return false; + } + } else { + var objects = object; } $('#draw-element-area').html(''); diff --git a/modules-available/roomplanner/js/init.js b/modules-available/roomplanner/js/init.js index efe14fea..da015711 100644 --- a/modules-available/roomplanner/js/init.js +++ b/modules-available/roomplanner/js/init.js @@ -28,8 +28,17 @@ function initRoomplanner() { }); $("#saveBtn").click(function() { - $('#serializedRoom').val(roomplanner.serialize()); - $('#roomForm').submit(); + $.post('?do=roomplanner&locationid=' + locationId, + { token: TOKEN, action: 'save', serializedRoom: roomplanner.serialize() } + ).done(function ( data ) { + if (data.indexOf('SUCCESS') !== -1) { + window.close(); + return; + } + $('#error-msg').text('Error: ' + data).show(); + }).fail(function () { + $('#error-msg').text('AJAX save call failed').show(); + }); }); $('#zoom-out').click(function() { |