feat(torrents): list music torrents in admin manage page

This commit is contained in:
OldHawk
2017-09-29 11:26:35 +08:00
parent b2a44cbd8b
commit 2735ec733b
3 changed files with 86 additions and 14 deletions

View File

@@ -580,8 +580,8 @@ body {
.torrent-list-info {
.media-object {
max-height: 100px;
//opacity: 0.8;
height: 100px;
width: 66.66px;
opacity: 1;
}
.media-body {

View File

@@ -19,6 +19,7 @@
vm.torrentSalesType = MeanTorrentConfig.meanTorrentConfig.torrentSalesType;
vm.torrentRLevels = MeanTorrentConfig.meanTorrentConfig.torrentRecommendLevel;
vm.torrentType = MeanTorrentConfig.meanTorrentConfig.torrentType;
vm.voteTitleConfig = MeanTorrentConfig.meanTorrentConfig.voteTitle;
vm.selectedType = 'movie';
vm.searchTags = [];
@@ -493,5 +494,79 @@
});
});
};
/**
* getTorrentListImage
* @param item
* @returns {string}
*/
vm.getTorrentListImage = function (item) {
var result = null;
switch (vm.selectedType) {
case 'movie':
case 'tvserial':
result = vm.tmdbConfig.posterListBaseUrl + item.resource_detail_info.poster_path;
break;
case 'music':
result = '/modules/torrents/client/uploads/cover/' + item.resource_detail_info.cover;
break;
}
return result;
};
/**
* getTorrentTitle
* @param item
* @returns {string}
*/
vm.getTorrentTitle = function (item) {
var result = null;
switch (vm.selectedType) {
case 'movie':
result = item.resource_detail_info.original_title;
break;
case 'tvserial':
result = item.resource_detail_info.original_name;
break;
case 'music':
result = item.resource_detail_info.title;
break;
}
return result;
};
/**
* getTorrentOriginalTitle
* @param item
* @returns {string}
*/
vm.getTorrentOriginalTitle = function (item) {
var result = null;
switch (vm.selectedType) {
case 'movie':
if (item.resource_detail_info.original_title != item.resource_detail_info.title) {
result = item.resource_detail_info.title;
}
break;
case 'tvserial':
if (item.resource_detail_info.original_name != item.resource_detail_info.name) {
result = item.resource_detail_info.name;
}
break;
}
return result;
};
/**
* getVoteTitle
* @param item
* @returns {string}
*/
vm.getVoteTitle = function(item){
return item.resource_detail_info.vote_average? vm.voteTitleConfig.imdb : vm.voteTitleConfig.mt;
}
}
}());

View File

@@ -11,7 +11,8 @@
<div class="row margin-bottom-5">
<div class="col-sm-6 col-md-4">
<select class="form-control" ng-model="vm.selectedType" ng-change="vm.onTorrentTypeChanged();">
<option ng-repeat="t in vm.torrentType.value | filter:{enable: true}" value="{{t.value}}">{{'MENU_TORRENTS_SUB.'+t.name | translate}}
<option ng-repeat="t in vm.torrentType.value | filter:{enable: true}"
value="{{t.value}}">{{'MENU_TORRENTS_SUB.'+t.name | translate}}
</option>
</select>
</div>
@@ -142,7 +143,7 @@
<thead>
<tr>
<th>{{ 'TABLE_FIELDS.INFO' | translate}}</th>
<th class="text-center">{{ 'TABLE_FIELDS.VOTES' | translate}}</th>
<th>{{ 'TABLE_FIELDS.VOTES' | translate}}</th>
<th class="text-center">{{ 'TABLE_FIELDS.LIFETIME' | translate}}</th>
<th class="text-center">{{ 'TABLE_FIELDS.SIZE' | translate}}</th>
<th>
@@ -158,7 +159,7 @@
<td class="col-md-7 td-text-overflow-admin">
<div class="media">
<div class="media-left">
<img class="media-object" ng-src="{{vm.tmdbConfig.posterListBaseUrl}}{{item.resource_detail_info.poster_path}}"
<img class="media-object" ng-src="{{vm.getTorrentListImage(item)}}"
alt="...">
<div class="layer-download">
@@ -170,21 +171,17 @@
</div>
</div>
<div class="media-body">
<h5 class="media-heading" ng-if="vm.selectedType=='movie'">{{item.resource_detail_info.original_title}}
<span ng-show="item.resource_detail_info.original_title!=item.resource_detail_info.title"> / {{item.resource_detail_info.title}}</span>
<h5 class="media-heading">{{vm.getTorrentTitle(item)}}
<span ng-show="vm.getTorrentOriginalTitle(item)"> / {{vm.getTorrentOriginalTitle(item)}}</span>
<span class="upload-by" ng-show="item.user.displayName"> (By:
<span user-info="item.user" info-name></span>
<span message-to="item.user" to-class="message-to-icon"></span> )</span>
</h5>
<h5 class="media-heading" ng-if="vm.selectedType=='tvserial'">{{item.resource_detail_info.original_name}}
<span ng-show="item.resource_detail_info.original_name!=item.resource_detail_info.name"> / {{item.resource_detail_info.name}}</span>
<span class="upload-by" ng-show="item.user.displayName"> (By: {{item.user.displayName}})</span>
<span user-info="item.user" info-name></span> )</span>
</h5>
<div class="list-all-genres">
<span class="genres-item" ng-repeat="t in item.resource_detail_info.genres">{{t.name}}</span>
</div>
<div class="torrent-filename text-long">{{item.resource_detail_info.subtitle}}</div>
<div class="torrent-filename text-long">{{item.torrent_filename | filename}}</div>
<div class="list-all-tags">
@@ -225,7 +222,7 @@
</td>
<td class="col-md-1 td-v-middle td-imdb">
<span title="{{ 'TITLE_ALT.IMDB_VOTES' | translate}}"
class="torrent-votes"><kbd>IMDB</kbd> {{item.resource_detail_info.vote_average | number : 1}}</span>
class="torrent-votes"><kbd>{{vm.getVoteTitle(item)}}</kbd> {{item.resource_detail_info.vote_average | number : 1}}</span>
</td>
<td class="col-md-1 td-v-middle text-center td-life">{{item.createdat | life}}</td>
<td class="col-md-1 td-v-middle text-center td-size">{{item.torrent_size | bytes:2}}</td>