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

72 lines
1.6 KiB
JavaScript
Raw Normal View History

(function() {
'use strict';
angular
.module('harbor.details')
.constant('mockupProjects', mockupProjects)
.directive('retrieveProjects', retrieveProjects);
function mockupProjects() {
var data = [
{ "id": 1, "name" : "myrepo"},
{ "id": 2, "name" : "myproject"},
{ "id": 3, "name" : "harbor_project"},
{ "id": 4, "name" : "legacy"}
];
return data;
}
RetrieveProjectsController.$inject = ['mockupProjects'];
function RetrieveProjectsController(mockupProjects) {
var vm = this;
vm.projects = mockupProjects();
vm.selectItem = selectItem;
vm.filterProjects = filterProjects;
function selectItem(item) {
vm.selectedId = item.id;
}
var totalProjects = mockupProjects();
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: {
'visible': '='
},
replace: true,
controller: RetrieveProjectsController,
bindToController: true,
controllerAs: 'vm'
}
return directive;
}
})();