extract feedItemOptions stuff
This commit is contained in:
parent
32fbdee05f
commit
c29f6d6cb9
4 changed files with 68 additions and 63 deletions
|
@ -49,61 +49,56 @@ function FeedCtrl($scope, $routeParams, $location, feeds, pageSwitcher, feedItem
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
$scope.showItemOptions = function(id) {
|
pageSwitcher.setBack('feeds');
|
||||||
angular.forEach($scope.feed.items, function(value, key) {
|
|
||||||
if (value.id == id) {
|
|
||||||
$scope.feed.items[key].showOptions = !$scope.feed.items[key].showOptions;
|
|
||||||
} else {
|
|
||||||
$scope.feed.items[key].showOptions = false;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function ListItemCtrl($scope, $rootScope, feedItems, downloader, pageChanger)
|
||||||
|
{
|
||||||
|
$scope.playItem = function(id) {
|
||||||
|
feedItems.get(id, function(feedItem) {
|
||||||
|
$rootScope.$broadcast('playItem', feedItem);
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
$scope.showItemOptions = function(id) {
|
||||||
|
//TODO: close all other options bars
|
||||||
|
this.item.showOptions = !this.item.showOptions;
|
||||||
|
};
|
||||||
|
|
||||||
$scope.addToQueue = function(id) {
|
$scope.addToQueue = function(id) {
|
||||||
feedItems.addToQueue(id);
|
feedItems.addToQueue(id);
|
||||||
};
|
};
|
||||||
|
|
||||||
$scope.playItem = function(id) {
|
|
||||||
feedItems.get(id, function(feedItem) {
|
|
||||||
$rootScope.$broadcast('playItem', feedItem);
|
|
||||||
});
|
|
||||||
};
|
|
||||||
|
|
||||||
pageSwitcher.setBack('feeds');
|
|
||||||
}
|
|
||||||
|
|
||||||
function QueueListCtrl($scope, $rootScope, pageSwitcher, feedItems, feeds, downloader, queueList, pageChanger) {
|
|
||||||
$scope.queue = queueList.getQueueList();
|
|
||||||
|
|
||||||
$scope.$on('queueListRefresh', function(event) {
|
|
||||||
$rootScope.$apply(queueList.rebuildList());
|
|
||||||
});
|
|
||||||
|
|
||||||
$scope.playItem = function(id) {
|
|
||||||
feedItems.get(id, function(feedItem) {
|
|
||||||
$rootScope.$broadcast('playItem', feedItem);
|
|
||||||
});
|
|
||||||
};
|
|
||||||
|
|
||||||
$scope.showItemOptions = function(id) {
|
|
||||||
angular.forEach($scope.queue, function(value, key) {
|
|
||||||
if (value.id == id) {
|
|
||||||
$scope.queue[key].showOptions = !$scope.queue[key].showOptions;
|
|
||||||
} else {
|
|
||||||
$scope.queue[key].showOptions = false;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
};
|
|
||||||
|
|
||||||
$scope.downloadFile = function(id) {
|
$scope.downloadFile = function(id) {
|
||||||
feedItems.get(id, function(feedItem) {
|
feedItems.get(id, function(feedItem) {
|
||||||
downloader.downloadFiles([feedItem]);
|
downloader.downloadFiles([feedItem]);
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
$scope.reDownloadFile = function(id) {
|
||||||
|
feedItems.get(id, function(feedItem) {
|
||||||
|
feedItem.audio = null;
|
||||||
|
downloader.downloadFiles([feedItem]);
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
$scope.goToFeed = function(feedId) {
|
||||||
|
pageChanger.goToFeed(feedId);
|
||||||
|
};
|
||||||
|
|
||||||
$scope.removeFromQueue = function(feedItemId) {
|
$scope.removeFromQueue = function(feedItemId) {
|
||||||
feedItems.unQueue(feedItemId);
|
feedItems.unQueue(feedItemId);
|
||||||
};
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
function QueueListCtrl($scope, $rootScope, pageSwitcher, feedItems, feeds, downloader, queueList, pageChanger) {
|
||||||
|
$scope.queue = queueList.getQueueList();
|
||||||
|
|
||||||
|
$scope.$on('queueListRefresh', function(event) {
|
||||||
|
console.log('rebuilding');
|
||||||
|
$rootScope.$apply(queueList.rebuildList());
|
||||||
|
});
|
||||||
|
|
||||||
$scope.downloadItems = function(updateStatus) {
|
$scope.downloadItems = function(updateStatus) {
|
||||||
feeds.downloadAllItems(feedItems, function(feedItem, feed) {
|
feeds.downloadAllItems(feedItems, function(feedItem, feed) {
|
||||||
|
@ -116,18 +111,6 @@ function QueueListCtrl($scope, $rootScope, pageSwitcher, feedItems, feeds, downl
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
$scope.reDownloadFile = function(id) {
|
|
||||||
feedItems.get(id, function(feedItem) {
|
|
||||||
feedItem.audio = null;
|
|
||||||
downloader.downloadFiles([feedItem]);
|
|
||||||
});
|
|
||||||
};
|
|
||||||
|
|
||||||
//TODO: extract this to somewhere
|
|
||||||
$scope.goToFeed = function(feedId) {
|
|
||||||
pageChanger.goToFeed(feedId);
|
|
||||||
};
|
|
||||||
|
|
||||||
pageSwitcher.change('queue');
|
pageSwitcher.change('queue');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -14,18 +14,22 @@
|
||||||
{{ feed.summary }}
|
{{ feed.summary }}
|
||||||
</div>
|
</div>
|
||||||
<h3>Episodes</h3>
|
<h3>Episodes</h3>
|
||||||
<div ng-repeat="item in feed.items | orderBy:'date':reverse=true">
|
<div ng-repeat="item in feed.items | orderBy:'date':reverse=true" ng-controller="ListItemCtrl">
|
||||||
<div class="listItem">
|
<div class="listItem">
|
||||||
<div class="playButton">
|
<div class="playButton">
|
||||||
<span ng-click="playItem(item.id)"><i ng-class="{hasAudio: item.audio}" class="icon-play"></i></span>
|
<span ng-click="playItem(item.id)"><i ng-class="{hasAudio: item.audio}" class="icon-play"></i></span>
|
||||||
</div>
|
</div>
|
||||||
<div class="feedItemContent" ng-click="showItemOptions(item.id)">
|
<div class="feedItemContent" ng-click="showItemOptions(item.id)">
|
||||||
<span class="feedItemTitle">{{ item.title }}</span>
|
<span class="feedItemTitle">{{ item.title }}</span>
|
||||||
{{ item.date | timeAgo }}
|
{{ item.date | timeAgo }}<span ng-show="item.duration">, {{ item.duration }}</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div ng-show="item.showOptions" class="feedItemOptions">
|
<div ng-show="item.showOptions" class="feedItemOptions">
|
||||||
<a ng-hide="item.queued" ng-click="addToQueue(item.id)"><i class="icon-plus"></i> Add to Queue</a>
|
<a ng-hide="item.queued" ng-click="addToQueue(item.id)"><i class="icon-plus"></i> Add to Queue</a>
|
||||||
|
<a ng-hide="item.audio" ng-click="downloadFile(item.id)"><i class="icon-download"></i> Download</a>
|
||||||
|
<a ng-show="item.audio" ng-click="reDownloadFile(item.id)"><i class="icon-download"></i> Re-Download</a>
|
||||||
|
<a ng-click="goToFeed(item.feedId)"><i class="icon-list-ul"></i> Show Feed</a>
|
||||||
|
<a ng-show="item.queued" ng-click="removeFromQueue(item.id)"><i class="icon-remove-circle"></i> Unqueue</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
17
partials/listItem.html
Normal file
17
partials/listItem.html
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
<!-- This isn't used yet, because of https://github.com/angular/angular.js/issues/3584 -->
|
||||||
|
<div class="listItem">
|
||||||
|
<div class="playButton">
|
||||||
|
<span ng-click="playItem(item.id)"><i ng-class="{hasAudio: item.audio}" class="icon-play"></i></span>
|
||||||
|
</div>
|
||||||
|
<div class="feedItemContent" ng-click="showItemOptions(item.id)">
|
||||||
|
<span class="feedItemTitle">{{ item.title }}</span>
|
||||||
|
{{ item.date | timeAgo }}<span ng-show="item.duration">, {{ item.duration }}</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div ng-show="item.showOptions" class="feedItemOptions">
|
||||||
|
<a ng-hide="item.queued" ng-click="addToQueue(item.id)"><i class="icon-plus"></i> Add to Queue</a>
|
||||||
|
<a ng-hide="item.audio" ng-click="downloadFile(item.id)"><i class="icon-download"></i> Download</a>
|
||||||
|
<a ng-show="item.audio" ng-click="reDownloadFile(item.id)"><i class="icon-download"></i> Re-Download</a>
|
||||||
|
<a ng-click="goToFeed(item.feedId)"><i class="icon-list-ul"></i> Show Feed</a>
|
||||||
|
<a ng-click="removeFromQueue(item.id)"><i class="icon-remove-circle"></i> Unqueue</a>
|
||||||
|
</div>
|
|
@ -1,19 +1,20 @@
|
||||||
<div id="queueList" pull-to-refresh="pull-to-refresh">
|
<div id="queueList" pull-to-refresh="pull-to-refresh">
|
||||||
<div ng-repeat="feedItem in queue|orderBy:'-date'" class="listRow">
|
<div ng-repeat="item in queue|orderBy:'-date'" class="listRow" ng-controller="ListItemCtrl">
|
||||||
<div class="listItem">
|
<div class="listItem">
|
||||||
<div class="playButton" ng-click="playItem(feedItem.id)">
|
<div class="playButton">
|
||||||
<span><i ng-class="{hasAudio: feedItem.audio}" class="icon-play"></i></span>
|
<span ng-click="playItem(item.id)"><i ng-class="{hasAudio: item.audio}" class="icon-play"></i></span>
|
||||||
</div>
|
</div>
|
||||||
<div class="feedItemContent" ng-click="showItemOptions(feedItem.id)">
|
<div class="feedItemContent" ng-click="showItemOptions(item.id)">
|
||||||
<span class="feedItemTitle">{{ feedItem.title }}</span>
|
<span class="feedItemTitle">{{ item.title }}</span>
|
||||||
{{ feedItem.date | timeAgo }}<span ng-show="feedItem.duration">, {{ feedItem.duration }}</span>
|
{{ item.date | timeAgo }}<span ng-show="item.duration">, {{ item.duration }}</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div ng-show="feedItem.showOptions" class="feedItemOptions">
|
<div ng-show="item.showOptions" class="feedItemOptions">
|
||||||
<a ng-hide="feedItem.audio" ng-click="downloadFile(feedItem.id)"><i class="icon-download"></i> Download</a>
|
<a ng-hide="item.queued" ng-click="addToQueue(item.id)"><i class="icon-plus"></i> Add to Queue</a>
|
||||||
<a ng-show="feedItem.audio" ng-click="reDownloadFile(feedItem.id)"><i class="icon-download"></i> Re-Download</a>
|
<a ng-hide="item.audio" ng-click="downloadFile(item.id)"><i class="icon-download"></i> Download</a>
|
||||||
<a ng-click="goToFeed(feedItem.feedId)"><i class="icon-list-ul"></i> Show Feed</a>
|
<a ng-show="item.audio" ng-click="reDownloadFile(item.id)"><i class="icon-download"></i> Re-Download</a>
|
||||||
<a ng-click="removeFromQueue(feedItem.id)"><i class="icon-remove-circle"></i> Unqueue</a>
|
<a ng-click="goToFeed(item.feedId)"><i class="icon-list-ul"></i> Show Feed</a>
|
||||||
|
<a ng-show="item.queued" ng-click="removeFromQueue(item.id)"><i class="icon-remove-circle"></i> Unqueue</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div ng-hide="queue.length" class="pullDownMessage">
|
<div ng-hide="queue.length" class="pullDownMessage">
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue