diff --git a/modules/core/client/app/trans-string-en.js b/modules/core/client/app/trans-string-en.js index db346ac9..16ff054e 100644 --- a/modules/core/client/app/trans-string-en.js +++ b/modules/core/client/app/trans-string-en.js @@ -292,6 +292,7 @@ ADMIN_BASIC_SET_HNR: 'SetHnR', ADMIN_BASIC_UNSET_HNR: 'UnsetHnR', ADMIN_BASIC_SET_VIP: 'SetVIP', + ADMIN_BASIC_EDIT_TAGS: 'Edit Tags', ADMIN_BASIC_UNSET_VIP: 'UnsetVIP', ADMIN_BASIC_TYPE_SET: 'Sale Type', ADMIN_SALE_TYPE_SET: 'Sale Type Set', @@ -320,6 +321,8 @@ TORRENT_TOGGLE_HNR_FAILED: 'Torrent toggle HnR tag failed', TORRENT_TOGGLE_VIP_SUCCESSFULLY: 'Torrent toggle VIP tag successfully', TORRENT_TOGGLE_VIP_FAILED: 'Torrent toggle VIP tag failed', + TORRENT_SETTAGS_SUCCESSFULLY: 'Torrent tags set successfully', + TORRENT_SETTAGS_ERROR: 'Torrent tags set failed', //page text PAGE_TEXT_FIRST: 'First', @@ -446,6 +449,7 @@ BUTTON_SELECT_PICTURE: 'Select Picture', BUTTON_USE_THIS_PICTURE: 'Use This Picture', BUTTON_CANCEL: 'Cancel', + BUTTON_SAVE: 'Save', BUTTON_SET: 'Set', BUTTON_COMPLETE: 'Complete', BUTTON_SAVE_PASSWORD: 'Save Password', diff --git a/modules/core/client/app/trans-string-zh.js b/modules/core/client/app/trans-string-zh.js index d88b47b5..0ab06e55 100644 --- a/modules/core/client/app/trans-string-zh.js +++ b/modules/core/client/app/trans-string-zh.js @@ -292,6 +292,7 @@ ADMIN_BASIC_SET_HNR: '设置HnR', ADMIN_BASIC_UNSET_HNR: '取消HnR', ADMIN_BASIC_SET_VIP: '设置VIP', + ADMIN_BASIC_EDIT_TAGS: '编辑标签', ADMIN_BASIC_UNSET_VIP: '取消VIP', ADMIN_BASIC_TYPE_SET: '设置促销', ADMIN_SALE_TYPE_SET: '种子促销类型', @@ -320,6 +321,8 @@ TORRENT_TOGGLE_HNR_FAILED: '改变种子HnR标签失败', TORRENT_TOGGLE_VIP_SUCCESSFULLY: '改变种子VIP标签成功', TORRENT_TOGGLE_VIP_FAILED: '改变种子VIP标签失败', + TORRENT_SETTAGS_SUCCESSFULLY: '种子属性标签设置成功', + TORRENT_SETTAGS_ERROR: '种子属性标签设置失败', //page text PAGE_TEXT_FIRST: '首页', @@ -416,6 +419,8 @@ SET_ROLE_FAILED: '用户角色权限设置失败', SET_STATUS_SUCCESSFULLY: '用户帐号状态设置成功', SET_STATUS_FAILED: '用户帐号状态设置失败', + SET_IMAGE_SUCCESSFULLY: '用户帐号图片修改成功', + SET_IMAGE_FAILED: '用户帐号图片修改失败', SCORE_NUMBER: '积分数', SCORE_TITLE: '修改积分', @@ -444,6 +449,7 @@ BUTTON_SELECT_PICTURE: '选择图片', BUTTON_USE_THIS_PICTURE: '应用图片', BUTTON_CANCEL: '取消', + BUTTON_SAVE: '保存', BUTTON_SET: '设置', BUTTON_COMPLETE: '完成', BUTTON_SAVE_PASSWORD: '保存密码', diff --git a/modules/core/client/less/mt.less b/modules/core/client/less/mt.less index 90eca8db..9baf6738 100644 --- a/modules/core/client/less/mt.less +++ b/modules/core/client/less/mt.less @@ -1268,6 +1268,11 @@ body { } } +.tags-side-overlay { + top: 50px !important; + max-height: ~"calc(100% - 100px)"; +} + .imgCropArea { background: #E4E4E4; overflow: hidden; @@ -1276,7 +1281,7 @@ body { } .page-header { - padding-bottom: 0; + padding-bottom: 5px; } .ranking-user-img { diff --git a/modules/messages/client/controllers/messages.client.controller.js b/modules/messages/client/controllers/messages.client.controller.js index 81dc988c..63ca314f 100644 --- a/modules/messages/client/controllers/messages.client.controller.js +++ b/modules/messages/client/controllers/messages.client.controller.js @@ -165,7 +165,8 @@ }; /** - * viewMessage + * showMessage + * @param evt * @param msg */ vm.showMessage = function (evt, msg) { diff --git a/modules/torrents/client/controllers/torrent-info.client.controller.js b/modules/torrents/client/controllers/torrent-info.client.controller.js index aae9c8cb..b877843b 100644 --- a/modules/torrents/client/controllers/torrent-info.client.controller.js +++ b/modules/torrents/client/controllers/torrent-info.client.controller.js @@ -8,12 +8,12 @@ TorrentsInfoController.$inject = ['$scope', '$state', '$stateParams', '$translate', 'Authentication', 'Notification', 'TorrentsService', 'MeanTorrentConfig', 'DownloadService', '$sce', '$filter', 'CommentsService', 'ModalConfirmService', 'marked', 'Upload', '$timeout', 'SubtitlesService', 'getStorageLangService', 'ScrapeService', 'NotifycationService', 'DebugConsoleService', 'TorrentGetInfoServices', - 'localStorageService', '$compile']; + 'localStorageService', '$compile', 'SideOverlay']; function TorrentsInfoController($scope, $state, $stateParams, $translate, Authentication, Notification, TorrentsService, MeanTorrentConfig, DownloadService, $sce, $filter, CommentsService, ModalConfirmService, marked, Upload, $timeout, SubtitlesService, getStorageLangService, ScrapeService, NotifycationService, mtDebug, TGI, - localStorageService, $compile) { + localStorageService, $compile, SideOverlay) { var vm = this; vm.TGI = TGI; vm.user = Authentication.user; @@ -28,6 +28,7 @@ vm.scoreConfig = MeanTorrentConfig.meanTorrentConfig.score; vm.torrentTabs = []; + vm.searchTags = []; vm.progress = 0; /** @@ -166,6 +167,86 @@ }); }; + /** + * editTags + * @param evt + */ + vm.editTags = function (evt) { + vm.searchTags = vm.torrentLocalInfo.torrent_tags; + SideOverlay.open(evt, 'tagsPopupSlide'); + }; + + /** + * hideTagsPopup + */ + vm.hideTagsPopup = function () { + SideOverlay.close(null, 'tagsPopupSlide'); + }; + + /** + * setTorrentTags + */ + vm.setTorrentTags = function () { + mtDebug.info(vm.searchTags); + SideOverlay.close(null, 'tagsPopupSlide'); + + TorrentsService.setTorrentTags({ + _torrentId: vm.torrentLocalInfo._id, + tags: vm.searchTags + }, function (res) { + Notification.success({ + message: ' ' + $translate.instant('TORRENT_SETTAGS_SUCCESSFULLY') + }); + + vm.torrentLocalInfo = res; + mtDebug.info(res); + }, function (res) { + Notification.error({ + message: res.data.message, + title: ' ' + $translate.instant('TORRENT_SETTAGS_ERROR') + }); + }); + }; + + /** + * onRadioTagClicked + * @param event + * @param n: tag name + */ + vm.onRadioTagClicked = function (event, n) { + var e = angular.element(event.currentTarget); + + if (e.hasClass('btn-success')) { + e.removeClass('btn-success').addClass('btn-default'); + vm.searchTags.splice(vm.searchTags.indexOf(n), 1); + } else { + e.addClass('btn-success').removeClass('btn-default').siblings().removeClass('btn-success').addClass('btn-default'); + vm.searchTags.push(n); + + angular.forEach(e.siblings(), function (se) { + if (vm.searchTags.indexOf(se.value) !== -1) { + vm.searchTags.splice(vm.searchTags.indexOf(se.value), 1); + } + }); + } + e.blur(); + }; + + /** + * onCheckboxTagClicked + * @param event + * @param n: tag name + */ + vm.onCheckboxTagClicked = function (event, n) { + var e = angular.element(event.currentTarget); + + if (e.hasClass('btn-success')) { + vm.searchTags.push(n); + } else { + vm.searchTags.splice(vm.searchTags.indexOf(n), 1); + } + }; + /** * doScrape */ diff --git a/modules/torrents/client/services/torrents.client.service.js b/modules/torrents/client/services/torrents.client.service.js index 6f19c818..8b3afa1c 100644 --- a/modules/torrents/client/services/torrents.client.service.js +++ b/modules/torrents/client/services/torrents.client.service.js @@ -47,6 +47,13 @@ rlevel: '@_rlevel' } }, + setTorrentTags: { + method: 'PUT', + url: '/api/torrents/:torrentId/set/tags', + params: { + torrentId: '@_torrentId' + } + }, setReviewedStatus: { method: 'PUT', url: '/api/torrents/:torrentId/set/reviewed', diff --git a/modules/torrents/client/views/list-torrents.client.view.html b/modules/torrents/client/views/list-torrents.client.view.html index 46a005f8..e5e688d8 100644 --- a/modules/torrents/client/views/list-torrents.client.view.html +++ b/modules/torrents/client/views/list-torrents.client.view.html @@ -111,6 +111,8 @@ +
+