js/directive/search.js   A
last analyzed

Complexity

Total Complexity 7
Complexity/F 1.4

Size

Lines of Code 28
Function Count 5

Duplication

Duplicated Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
wmc 7
dl 0
loc 28
rs 10
c 1
b 0
f 0
cc 0
nc 2
mnd 1
bc 6
fnc 5
bpm 1.2
cpm 1.4
noi 0
1
/*
2
 * @copyright Copyright (c) 2016 Julius Härtl <[email protected]>
3
 *
4
 * @author Julius Härtl <[email protected]>
5
 *
6
 * @license GNU AGPL version 3 or any later version
7
 *  
8
 *  This program is free software: you can redistribute it and/or modify
9
 *  it under the terms of the GNU Affero General Public License as
10
 *  published by the Free Software Foundation, either version 3 of the
11
 *  License, or (at your option) any later version.
12
 *  
13
 *  This program is distributed in the hope that it will be useful,
14
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
15
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16
 *  GNU Affero General Public License for more details.
17
 *  
18
 *  You should have received a copy of the GNU Affero General Public License
19
 *  along with this program.  If not, see <http://www.gnu.org/licenses/>.
20
 *  
21
 */
22
23
app.directive('search', function ($document, $location) {
24
	'use strict';
25
26
	return {
27
		restrict: 'E',
28
		scope: {
29
			'onSearch': '='
30
		},
31
		link: function (scope) {
32
			var box = $('#searchbox');
33
			box.val($location.search().search);
34
35
			var doSearch = function() {
36
				var value = box.val();
37
				scope.$apply(function () {
38
					scope.onSearch(value);
39
				});
40
			};
41
42
			box.on('search keyup', function (event) {
43
				if (event.type === 'search' || event.keyCode === 13 ) {
44
					doSearch();
45
				}
46
			});
47
48
		}
49
	};
50
});
51