harbor/static/ng/resources/js/components/details/retrieve-projects.directive.js

63 lines
1.3 KiB
JavaScript
Raw Normal View History

(function() {
'use strict';
angular
.module('harbor.details')
.directive('retrieveProjects', retrieveProjects);
2016-04-19 19:20:07 +02:00
function RetrieveProjectsController() {
var vm = this;
2016-04-19 19:20:07 +02:00
vm.selectItem = selectItem;
vm.filterProjects = filterProjects;
2016-04-20 12:09:35 +02:00
vm.selectedId = vm.selectedProject.id;
function selectItem(item) {
vm.selectedId = item.id;
2016-04-19 19:20:07 +02:00
vm.selectedProject = item;
}
2016-04-19 19:20:07 +02:00
var totalProjects = vm.projects;
function filterProjects(input) {
if(input == "") {
vm.projects = totalProjects;
}else{
var filteredResults = [];
for(var i = 0; i < totalProjects.length; i++) {
var item = totalProjects[i];
if(item.name.indexOf(input) >= 0) {
filteredResults.push(item);
continue;
}
}
vm.projects = filteredResults;
}
}
}
function retrieveProjects() {
var directive = {
restrict: 'E',
templateUrl: '/static/ng/resources/js/components/details/retrieve-projects.directive.html',
scope: {
2016-04-19 19:20:07 +02:00
'projects': '=',
'isOpen': '=',
'selectedProject': '='
},
replace: true,
controller: RetrieveProjectsController,
bindToController: true,
controllerAs: 'vm'
}
return directive;
}
})();