Skip to content

Commit

Permalink
each task list page supports independent display order
Browse files Browse the repository at this point in the history
  • Loading branch information
mayswind committed Dec 2, 2023
1 parent b53b87c commit 1d253b4
Show file tree
Hide file tree
Showing 8 changed files with 62 additions and 9 deletions.
1 change: 1 addition & 0 deletions src/langs/zh_Hans.txt
Original file line number Diff line number Diff line change
Expand Up @@ -215,6 +215,7 @@ Include Prefix When Copying From Task Details=任务详情页复制时包括前
Show Pieces Info In Task Detail Page=任务详情页显示区块信息
Pieces Amount is Less than or Equal to {value}=区块数量小于等于 {{value}}
RPC List Display Order=RPC 列表显示顺序
Each Task List Page Uses Independent Display Order=各任务列表页面使用独立显示顺序
Recently Used=最近使用
RPC Alias=RPC 别名
Import / Export AriaNg Settings=导入 / 导出 AriaNg 设置
Expand Down
1 change: 1 addition & 0 deletions src/langs/zh_Hant.txt
Original file line number Diff line number Diff line change
Expand Up @@ -215,6 +215,7 @@ Include Prefix When Copying From Task Details=工作詳情頁複製時包括前
Show Pieces Info In Task Detail Page=工作詳情頁顯示區塊資訊
Pieces Amount is Less than or Equal to {value}=區塊數量小於等於 {{value}}
RPC List Display Order=RPC 清單顯示順序
Each Task List Page Uses Independent Display Order=各工作清單頁面使用獨立顯示順序
Recently Used=最近使用
RPC Alias=RPC 別名
Import / Export AriaNg Settings=匯入 / 匯出 AriaNg 設定
Expand Down
3 changes: 3 additions & 0 deletions src/scripts/config/constants.js
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,10 @@
includePrefixWhenCopyingFromTaskDetails: true,
showPiecesInfoInTaskDetailPage: 'le10240',
afterRetryingTask: 'task-list-downloading',
taskListIndependentDisplayOrder: false,
displayOrder: 'default:asc',
waitingTaskListPageDisplayOrder: 'default:asc',
stoppedTaskListPageDisplayOrder: 'default:asc',
fileListDisplayOrder: 'default:asc',
peerListDisplayOrder: 'default:asc'
});
Expand Down
4 changes: 2 additions & 2 deletions src/scripts/controllers/list.js
Original file line number Diff line number Diff line change
Expand Up @@ -75,15 +75,15 @@
};

$scope.getOrderType = function () {
return ariaNgSettingService.getDisplayOrder();
return ariaNgSettingService.getDisplayOrder(location);
};

$scope.isSupportDragTask = function () {
if (!ariaNgSettingService.getDragAndDropTasks()) {
return false;
}

var displayOrder = ariaNgCommonService.parseOrderType(ariaNgSettingService.getDisplayOrder());
var displayOrder = ariaNgCommonService.parseOrderType(ariaNgSettingService.getDisplayOrder(location));

return location === 'waiting' && displayOrder.type === 'default';
};
Expand Down
18 changes: 15 additions & 3 deletions src/scripts/controllers/main.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,16 @@
var pageTitleRefreshPromise = null;
var globalStatRefreshPromise = null;

var getTaskListPageType = function () {
var location = $location.path().substring(1);

if (location === 'downloading' || location === 'waiting' || location === 'stopped') {
return location;
} else {
return '';
}
};

var refreshPageTitle = function () {
var title = ariaNgTitleService.getFinalTitleByGlobalStat({
globalStat: $scope.globalStat,
Expand Down Expand Up @@ -391,18 +401,20 @@
};

$scope.changeDisplayOrder = function (type, autoSetReverse) {
var oldType = ariaNgCommonService.parseOrderType(ariaNgSettingService.getDisplayOrder());
var taskListPageType = getTaskListPageType();
var oldType = ariaNgCommonService.parseOrderType(ariaNgSettingService.getDisplayOrder(taskListPageType));
var newType = ariaNgCommonService.parseOrderType(type);

if (autoSetReverse && newType.type === oldType.type) {
newType.reverse = !oldType.reverse;
}

ariaNgSettingService.setDisplayOrder(newType.getValue());
ariaNgSettingService.setDisplayOrder(newType.getValue(), taskListPageType);
};

$scope.isSetDisplayOrder = function (type) {
var orderType = ariaNgCommonService.parseOrderType(ariaNgSettingService.getDisplayOrder());
var taskListPageType = getTaskListPageType();
var orderType = ariaNgCommonService.parseOrderType(ariaNgSettingService.getDisplayOrder(taskListPageType));
var targetType = ariaNgCommonService.parseOrderType(type);

return orderType.equals(targetType);
Expand Down
4 changes: 4 additions & 0 deletions src/scripts/controllers/settings-ariang.js
Original file line number Diff line number Diff line change
Expand Up @@ -201,6 +201,10 @@
ariaNgSettingService.setRPCListDisplayOrder(value);
};

$scope.setTaskListIndependentDisplayOrder = function (value) {
ariaNgSettingService.setTaskListIndependentDisplayOrder(value);
};

$scope.setKeyboardShortcuts = function (value) {
ariaNgSettingService.setKeyboardShortcuts(value);
};
Expand Down
29 changes: 25 additions & 4 deletions src/scripts/services/ariaNgSettingService.js
Original file line number Diff line number Diff line change
Expand Up @@ -655,17 +655,38 @@

return true;
},
getDisplayOrder: function () {
var value = getOption('displayOrder');
getTaskListIndependentDisplayOrder: function () {
return getOption('taskListIndependentDisplayOrder');
},
setTaskListIndependentDisplayOrder: function (value) {
setOption('taskListIndependentDisplayOrder', value);
},
getTaskListDisplayOrderKey: function (taskListPageType) {
var optionKey = 'displayOrder';

if (this.getTaskListIndependentDisplayOrder()) {
if (taskListPageType === 'waiting') {
optionKey = 'waitingTaskListPageDisplayOrder';
} else if (taskListPageType === 'stopped') {
optionKey = 'stoppedTaskListPageDisplayOrder';
}
}

return optionKey;
},
getDisplayOrder: function (taskListPageType) {
var optionKey = this.getTaskListDisplayOrderKey(taskListPageType);
var value = getOption(optionKey);

if (!value) {
value = 'default:asc';
}

return value;
},
setDisplayOrder: function (value) {
setOption('displayOrder', value);
setDisplayOrder: function (value, taskListPageType) {
var optionKey = this.getTaskListDisplayOrderKey(taskListPageType);
setOption(optionKey, value);
},
getFileListDisplayOrder: function () {
var value = getOption('fileListDisplayOrder');
Expand Down
11 changes: 11 additions & 0 deletions src/views/settings-ariang.html
Original file line number Diff line number Diff line change
Expand Up @@ -226,6 +226,17 @@
</select>
</div>
</div>
<div class="row">
<div class="setting-key setting-key-without-desc col-sm-4">
<span translate>Each Task List Page Uses Independent Display Order</span>
</div>
<div class="setting-value col-sm-8">
<select class="form-control" style="width: 100%;" ng-model="context.settings.taskListIndependentDisplayOrder"
ng-change="setTaskListIndependentDisplayOrder(context.settings.taskListIndependentDisplayOrder)"
ng-options="option.value as (option.name | translate) for option in context.trueFalseOptions">
</select>
</div>
</div>
<div class="row">
<div class="setting-key setting-key-without-desc col-sm-4">
<span translate>Action After Creating New Tasks</span>
Expand Down

0 comments on commit 1d253b4

Please sign in to comment.