From c06b302e6d069446fea27691e293082b65013f1d Mon Sep 17 00:00:00 2001 From: Simon Rettberg Date: Tue, 6 Sep 2016 18:47:25 +0200 Subject: [roomplanner] Use AJAX for saving, show error message if unsuccessful --- modules-available/roomplanner/js/grid.js | 14 +++++++++----- modules-available/roomplanner/js/init.js | 13 +++++++++++-- 2 files changed, 20 insertions(+), 7 deletions(-) (limited to 'modules-available/roomplanner/js') 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() { -- cgit v1.2.3-55-g7522