このフィルターを機能させるのに問題があります。
$scope.imgCollection.then(function (images) {
$scope.images = images.thisGal_images;
if ($scope.images[0].order == '0') {
console.log('orgName');
$scope.images = $filter('orderBy')($scope.images, 'orgName');
} else {
console.log('sort order');
$scope.images = $filter('orderBy')($scope.images, 'sortOrder');
console.log($scope.images);
}
});
$scope.images は、データベースから画像のリストを返します。最初のアップロードでは、ui:sortable を介して並べ替えることができるため、sortOrder 列には「0」が入力されます。したがって、最初のビューでは、ファイル名に基づいて並べ替えます。最初のビューの後、DB が書き込まれ、最初のイメージに sortOrder 1 が与えられ、そこからインクリメントされます。
これは私の $filter の誤解かもしれませんが、$scope.images = $filter('orderBy')($scope.images,'sortOrder');
sortOrder に基づいて $scope.images を並べ替えていません。
ありがとう