Показать сообщение отдельно
  #3 (permalink)  
Старый 07.06.2013, 23:25
Интересующийся
Отправить личное сообщение для MaximusFT Посмотреть профиль Найти все сообщения от MaximusFT
 
Регистрация: 07.06.2013
Сообщений: 14

Контроллер страницы
function sortReorder(col,e,scope) {
	if (e.shiftKey) {
		var sortIndex = 0;
		angular.forEach(scope, function(el) {
			if (Math.abs(el.sort)>sortIndex) sortIndex = Math.abs(el.sort);
		});
		angular.forEach(scope, function(el) {
			if (el.name==col) el.sort = el.sort?-el.sort:sortIndex+1;
		});
	} else {
		angular.forEach(scope, function(el) {
			if (el.name==col) el.sort = el.sort>0?-1:1; else el.sort = null;
		});
	}
};
function UsersCtrl($scope, $routeParams, $location, Users) {
	$scope.items = Users.query(function(data){
		$scope.paginator.setPages($scope.items.length);
		var i = 0;
		angular.forEach(data, function(v,k) {
			data[k]._id = i++;
		});
	});

	$scope.selected  = [];
	$scope.paginator = {
		count: 20,
		page:  1,
		pages: 1,
		setPages: function(itemsCount){ this.pages = Math.ceil(itemsCount/this.count); }
	};
	
	$scope.sortBy = function() {
		var order = [];
		angular.forEach($scope.tablehead, function(h){
			if (h.sort>0) order[h.sort-1] = h.name;
			if (h.sort<0) order[Math.abs(h.sort)-1] = '-'+h.name;
		});
		return order;
	};
	$scope.sortReorder = function(col,e) { sortReorder(col,e,$scope.tablehead);	};
}


Обратите внимание на sortReorder, это удалось превратить в функцию... и вызывать ее в разных контроллерах...
А вот из вот этого
$scope.sortBy = function() {
		var order = [];
		angular.forEach($scope.tablehead, function(h){
			if (h.sort>0) order[h.sort-1] = h.name;
			if (h.sort<0) order[Math.abs(h.sort)-1] = '-'+h.name;
		});
		return order;
	};


не получается, и вот из этого в особенности хочется, так как это то что может правильно перегрузить содержимое таблицы на странице
$scope.items = Users.query(function(data){
		$scope.paginator.setPages($scope.items.length);
		var i = 0;
		angular.forEach(data, function(v,k) {
			data[k]._id = i++;
		});
	});


Оба кода уникальны для всех страниц, сейчас у меня их уже 8... и в каждом контроллере страницы есть одинаковые куски кода...

Я понимаю что может я говорю как Ламер... но я очень хочу разобраться...
Ответить с цитированием