From 3ddd763a7abcc7746e438393e410a85fd9c6ae3e Mon Sep 17 00:00:00 2001 From: Krivchikov Dmitry Date: Tue, 27 May 2014 17:39:26 +0400 Subject: [PATCH] =?UTF-8?q?=D0=91=D0=BB=D0=BE=D0=BA=D0=B8=D1=80=D0=BE?= =?UTF-8?q?=D0=B2=D0=BA=D0=B0=20=D0=BA=D0=BD=D0=BE=D0=BF=D0=BA=D0=B8=20?= =?UTF-8?q?=D0=B4=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5=D0=BD=D0=B8=D1=8F=20?= =?UTF-8?q?=D1=82=D0=BE=D1=87=D0=BA=D0=B8=20=D0=BD=D0=B0=20=D0=B2=D1=80?= =?UTF-8?q?=D0=B5=D0=BC=D1=8F=20=D0=BE=D1=82=D0=BF=D1=80=D0=B0=D0=B2=D0=BA?= =?UTF-8?q?=D0=B8=20=D0=B7=D0=B0=D0=BF=D1=80=D0=BE=D1=81=D0=B0.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- public/js/main.js | 125 +++++++++++++++++++++++++--------------------- 1 file changed, 68 insertions(+), 57 deletions(-) diff --git a/public/js/main.js b/public/js/main.js index 91c206f..58ddbf1 100644 --- a/public/js/main.js +++ b/public/js/main.js @@ -8,6 +8,7 @@ var categories; var points = Array(); var search; var route = false; +var addPointInProcess = false; // -------------------------------- Libs --------------------------------------- @@ -248,70 +249,80 @@ function activateAddPoint() function addPoint() { $('.form-group').removeClass('has-error'); - $.ajax({ - type: "POST", - url: "/json/addpoint/", - data: { - name: $('#addPointName').val(), - img: $('#addPointImg').val(), - description: $('#addPointDescription').val(), - categoryId: $('#addPointCategoryId').val(), - source: $('#addPointSource').val(), - lat: $('#addPointLat').val(), - lng: $('#addPointLng').val() - }, - success: function(data) { - balloon = myMap.balloon.open([$('#addPointLat').val(), $('#addPointLng').val()], {content: 'Точка успешно добавлена!'}, {closeButton: false}); - setTimeout(function() { - balloon.close(); - }, 3000); + if (!addPointInProcess) + { + addPointInProcess = true; + $.ajax({ + type: "POST", + url: "/json/addpoint/", + data: { + name: $('#addPointName').val(), + img: $('#addPointImg').val(), + description: $('#addPointDescription').val(), + categoryId: $('#addPointCategoryId').val(), + source: $('#addPointSource').val(), + lat: $('#addPointLat').val(), + lng: $('#addPointLng').val() + }, + success: function(data) { + balloon = myMap.balloon.open([$('#addPointLat').val(), $('#addPointLng').val()], {content: 'Точка успешно добавлена!'}, {closeButton: false}); + setTimeout(function() { + balloon.close(); + }, 3000); - obj = {}; - obj.id = data; - obj.name = $('#addPointName').val(); - obj.lat = $('#addPointLat').val(); - obj.lng = $('#addPointLng').val(); - obj.categoryIcon = categories[$('#addPointCategoryId').val()].icon; + obj = {}; + obj.id = data; + obj.name = $('#addPointName').val(); + obj.lat = $('#addPointLat').val(); + obj.lng = $('#addPointLng').val(); + obj.categoryIcon = categories[$('#addPointCategoryId').val()].icon; - setTimeout(function() { - myMap.geoObjects.add(constructPoint(obj)); - }, 3000); + setTimeout(function() { + myMap.geoObjects.add(constructPoint(obj)); + }, 2000); - $('#addPointModal').modal('hide'); + $('#addPointModal').modal('hide'); - // Clear form - $('#addPointForm input').val(''); - $('#addPointForm textarea').val(''); - $('.form-group').removeClass('has-error'); - $('#addPointButton').removeClass('btn-success').addClass('btn-default'); - myMap.cursors.push('arrow'); + // Clear form + $('#addPointForm input').val(''); + $('#addPointForm textarea').val(''); + $('.form-group').removeClass('has-error'); + $('#addPointButton').removeClass('btn-success').addClass('btn-default'); + myMap.cursors.push('arrow'); - return true; - }, - error: function(data) { - response = data.responseJSON; - message = ''; - for (var k in response) { - if (typeof response[k] !== 'function') { - if (k == 1) - $('#addPointName').parent().addClass('has-error'); - else - if (k == 2) - $('#addPointImg').parent().addClass('has-error'); - else - if (k == 3) - $('#addPointDescription').parent().addClass('has-error'); - else - message += response[k] + '; '; - } - } + addPointInProcess = false; + return true; + }, + error: function(data) { + response = data.responseJSON; + message = ''; + for (var k in response) { + if (typeof response[k] !== 'function') { + if (k == 1) + $('#addPointName').parent().addClass('has-error'); + else + if (k == 2) + $('#addPointImg').parent().addClass('has-error'); + else + if (k == 3) + $('#addPointDescription').parent().addClass('has-error'); + else + message += response[k] + '; '; + } + } - if (message != '') - alert(message); + if (message != '') + alert(message); - return false; - } - }); + addPointInProcess = false; + return false; + } + }); + } + else + { + alert ('Точка добавляется, нужно немного подождать.'); + } } /**