|
|
@@ -33,8 +33,25 @@ function (angular, _) {
|
|
|
};
|
|
|
|
|
|
$scope.add = function() {
|
|
|
- $scope.variables.push($scope.current);
|
|
|
- $scope.update();
|
|
|
+ if ($scope.isValid()) {
|
|
|
+ $scope.variables.push($scope.current);
|
|
|
+ $scope.update();
|
|
|
+ }
|
|
|
+ };
|
|
|
+
|
|
|
+ $scope.isValid = function() {
|
|
|
+ if (!$scope.current.name) {
|
|
|
+ $scope.appEvent('alert-warning', ['Validation', 'Template variable requires a name']);
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+
|
|
|
+ var sameName = _.findWhere($scope.variables, { name: $scope.current.name });
|
|
|
+ if (sameName && sameName !== $scope.current) {
|
|
|
+ $scope.appEvent('alert-warning', ['Validation', 'Variable with the same name already exists']);
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+
|
|
|
+ return true;
|
|
|
};
|
|
|
|
|
|
$scope.runQuery = function() {
|
|
|
@@ -57,10 +74,12 @@ function (angular, _) {
|
|
|
};
|
|
|
|
|
|
$scope.update = function() {
|
|
|
- $scope.runQuery().then(function() {
|
|
|
- $scope.reset();
|
|
|
- $scope.editor.index = 0;
|
|
|
- });
|
|
|
+ if ($scope.isValid()) {
|
|
|
+ $scope.runQuery().then(function() {
|
|
|
+ $scope.reset();
|
|
|
+ $scope.editor.index = 0;
|
|
|
+ });
|
|
|
+ }
|
|
|
};
|
|
|
|
|
|
$scope.reset = function() {
|