Project

General

Profile

1
var module = angular.module('modalSynonym', []);
2

    
3
module.directive('modalSynonym', function(){
4
	return {
5
		restrict: 'E',
6
		templateUrl: '../resources/html/vocabularies/modalSynonym.html',
7
		controller: function($scope){
8
			$scope.showSynonymModal = function(term, synonym) {
9
				$scope.selectedTermIndex = $scope.entries.indexOf(term);
10
				$scope.selectedSynonymIndex = $scope.entries[$scope.selectedTermIndex].synonyms.indexOf(synonym);
11
				if (synonym != null) {
12
					// edit existing synonym
13
					$scope.modalSynonym.refTerm = $scope.entries[$scope.selectedTermIndex].englishName;
14
					$scope.modalSynonym.term = $scope.entries[$scope.selectedTermIndex].synonyms[$scope.selectedSynonymIndex].term;
15
					$scope.modalSynonym.encoding = $scope.entries[$scope.selectedTermIndex].synonyms[$scope.selectedSynonymIndex].encoding;
16
				} else {
17
					// new synonym
18
					$scope.modalSynonym.refTerm = $scope.entries[$scope.selectedTermIndex].englishName;
19
					$scope.modalSynonym.term = '';
20
					$scope.modalSynonym.encoding = '';
21
				}
22
				$('#synonymModal').modal();
23
			};
24
			
25
			$scope.editSynonym = function() {
26
				if ($scope.selectedSynonymIndex == -1) {
27
					$scope.entries[$scope.selectedTermIndex].synonyms.push({
28
						"term" : $scope.modalSynonym.term,
29
						"encoding" : $scope.modalSynonym.encoding
30
					});
31
				} else {
32
					$scope.entries[$scope.selectedTermIndex].synonyms[$scope.selectedSynonymIndex].term = $scope.modalSynonym.term;
33
					$scope.entries[$scope.selectedTermIndex].synonyms[$scope.selectedSynonymIndex].encoding = $scope.modalSynonym.encoding;
34
				}
35
				// dismiss modal
36
				$('.modal').modal('hide');
37
				if ($scope.autocommit) {
38
					$scope.commit();
39
				} else {
40
					showPermanotice("Uncommitted changes!");
41
				}
42
			}
43
		},
44
		controllerAs: 'modalSynonym'
45
	}
46
});
(20-20/34)