2 'app/yangman/directives/validation/unique.directive',
6 angular.module('app.yangman').controller('ParamsAdminCtrl', ParamsAdminCtrl);
8 ParamsAdminCtrl.$inject = ['$mdDialog', 'parametersList'];
10 function ParamsAdminCtrl($mdDialog, parametersList) {
13 vm.parametersList = parametersList;
15 vm.sortField = '_key';
20 vm.createEmptyParam = createEmptyParam;
21 vm.removeParam = removeParam;
22 vm.clearFilter = clearFilter;
23 vm.filterParam = filterParam;
25 vm.sortFunc = sortFunc;
31 * Set attribute to use when sorting
34 function sortBy(sortField) {
35 vm.sortField = sortField;
36 vm.sortAsc = !vm.sortAsc;
40 * Sort parameters with empty params at the end of list
44 function sortFunc(item) {
45 return item[vm.sortField] ? item[vm.sortField] : vm.sortAsc ? 'zzzzzzzzzzzzzzzz' : '';
49 * Empty or matching params will be in list
53 function filterParam(paramObj) {
54 return !(paramObj._key || paramObj._value) ||
55 paramObj._key.indexOf(vm.search) !== -1 ||
56 paramObj._value.indexOf(vm.search) !== -1;
60 function clearFilter() {
65 * Load params list and add one empty to the end of list
68 vm.parametersList.loadListFromStorage();
73 * Remove param from list
76 function removeParam(paramObj) {
77 vm.parametersList.deleteParameterItem(paramObj);
81 * Create new empty param
83 function createEmptyParam() {
84 vm.parametersList.addEmptyItem();
95 * Save list to storage and re-init dialog
98 vm.parametersList.saveToStorage();
105 return ParamsAdminCtrl;