201 lines
13 KiB
HTML
201 lines
13 KiB
HTML
<section class="content no-padding">
|
|
<div class="nav-tabs-custom">
|
|
<ul class="nav nav-tabs">
|
|
<li ng-class="{'active': context.currentTab == 'global'}">
|
|
<a class="pointer-cursor" ng-click="changeTab('global')" translate>Global</a>
|
|
</li>
|
|
<li ng-class="{'active': context.currentTab == 'rpc'}">
|
|
<a class="pointer-cursor" ng-click="changeTab('rpc')" translate>RPC</a>
|
|
</li>
|
|
</ul>
|
|
<div class="tab-content no-padding">
|
|
<div class="tab-pane" ng-class="{'active': context.currentTab == 'global'}">
|
|
<div class="settings-table striped hoverable">
|
|
<div class="row">
|
|
<div class="setting-key setting-key-without-desc col-sm-4">
|
|
<span translate>Language</span>
|
|
</div>
|
|
<div class="setting-value col-sm-8">
|
|
<select class="form-control" style="width: 100%;" ng-model="context.settings.language"
|
|
ng-options="type as language.displayName for (type, language) in context.languages"
|
|
ng-change="settingService.setLanguage(context.settings.language)">
|
|
</select>
|
|
</div>
|
|
</div>
|
|
<div class="row" ng-if="context.showDebugMode">
|
|
<div class="setting-key setting-key-without-desc col-sm-4">
|
|
<span translate>Debug Mode</span>
|
|
</div>
|
|
<div class="setting-value col-sm-8">
|
|
<select class="form-control" style="width: 100%;" ng-model="context.sessionSettings.debugMode"
|
|
ng-options="option.value as (option.name | translate) for option in context.trueFalseOptions"
|
|
ng-change="settingService.setDebugMode(context.sessionSettings.debugMode)">
|
|
</select>
|
|
</div>
|
|
</div>
|
|
<div class="row">
|
|
<div class="setting-key setting-key-without-desc col-sm-4">
|
|
<span translate>Page Title</span>
|
|
<i class="icon-primary fa fa-question-circle" data-toggle="popover"
|
|
data-trigger="hover" data-placement="auto right" data-container="body" data-html="true"
|
|
data-content="{{('Supported Placeholder' | translate) + ':<br/>' + ('AriaNg Title' | translate) + ': ${title}<br/>' + ('Downloading Count' | translate) + ': ${downloading}<br/>' + ('Waiting Count' | translate) + ': ${waiting}<br/>' + ('Stopped Count' | translate) + ': ${stopped}<br/>' + ('Download Speed' | translate) + ': ${downspeed}<br/>' + ('Upload Speed' | translate) + ': ${upspeed}<br/>'}}"></i>
|
|
</div>
|
|
<div class="setting-value col-sm-8">
|
|
<input class="form-control" type="text" ng-model="context.settings.title"
|
|
ng-change="settingService.setTitle(context.settings.title)"/>
|
|
</div>
|
|
</div>
|
|
<div class="row">
|
|
<div class="setting-key setting-key-without-desc col-sm-4">
|
|
<span translate>Page Title Refresh Interval</span>
|
|
<span class="asterisk">*</span>
|
|
</div>
|
|
<div class="setting-value col-sm-8">
|
|
<select class="form-control" style="width: 100%;"
|
|
ng-model="context.settings.titleRefreshInterval"
|
|
ng-change="settingService.setTitleRefreshInterval(context.settings.titleRefreshInterval)"
|
|
ng-options="time.optionValue as (time.name | translate: {value: time.value}) for time in context.availableTime">
|
|
</select>
|
|
</div>
|
|
</div>
|
|
<div class="row" ng-if="isSupportNotification()">
|
|
<div class="setting-key setting-key-without-desc col-sm-4">
|
|
<span translate>Enable Browser Notification</span>
|
|
</div>
|
|
<div class="setting-value col-sm-8">
|
|
<select class="form-control" style="width: 100%;"
|
|
ng-model="context.settings.browserNotification"
|
|
ng-change="setEnableBrowserNotification(context.settings.browserNotification)"
|
|
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>Global Stat Refresh Interval</span>
|
|
<span class="asterisk">*</span>
|
|
</div>
|
|
<div class="setting-value col-sm-8">
|
|
<select class="form-control" style="width: 100%;"
|
|
ng-model="context.settings.globalStatRefreshInterval"
|
|
ng-change="settingService.setGlobalStatRefreshInterval(context.settings.globalStatRefreshInterval)"
|
|
ng-options="time.optionValue as (time.name | translate: {value: time.value}) for time in context.availableTime">
|
|
</select>
|
|
</div>
|
|
</div>
|
|
<div class="row">
|
|
<div class="setting-key setting-key-without-desc col-sm-4">
|
|
<span translate>Download Task Refresh Interval</span>
|
|
<span class="asterisk">*</span>
|
|
</div>
|
|
<div class="setting-value col-sm-8">
|
|
<select class="form-control" style="width: 100%;"
|
|
ng-model="context.settings.downloadTaskRefreshInterval"
|
|
ng-change="settingService.setDownloadTaskRefreshInterval(context.settings.downloadTaskRefreshInterval)"
|
|
ng-options="time.optionValue as (time.name | translate: {value: time.value}) for time in context.availableTime">
|
|
</select>
|
|
</div>
|
|
</div>
|
|
<div class="row tip no-background no-hover">
|
|
<span class="asterisk">*</span>
|
|
<span translate>Changes to the settings take effect after refreshing page.</span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="tab-pane" ng-class="{'active': context.currentTab == 'rpc'}">
|
|
<div class="settings-table striped hoverable">
|
|
<div class="row">
|
|
<div class="setting-key setting-key-without-desc col-sm-4">
|
|
<span translate>Aria2 RPC Host</span>
|
|
<span class="asterisk">*</span>
|
|
</div>
|
|
<div class="setting-value col-sm-8">
|
|
<div class="input-group">
|
|
<span class="input-group-addon" ng-bind="context.settings.protocol + '://'"></span>
|
|
<input class="form-control" type="text" ng-model="context.settings.rpcHost"
|
|
ng-change="settingService.setRpcHost(context.settings.rpcHost)"/>
|
|
<span class="input-group-addon" style="border-left: 0">:</span>
|
|
<span class="input-group-addon" ng-bind="context.settings.rpcPort" style="border-left: 0"></span>
|
|
<span class="input-group-addon" style="border-left: 0">/</span>
|
|
<span class="input-group-addon" ng-if="context.settings.rpcInterface" ng-bind="context.settings.rpcInterface"></span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="row">
|
|
<div class="setting-key setting-key-without-desc col-sm-4">
|
|
<span translate>Aria2 RPC Port</span>
|
|
<span class="asterisk">*</span>
|
|
</div>
|
|
<div class="setting-value col-sm-8">
|
|
<input class="form-control" type="text" ng-model="context.settings.rpcPort"
|
|
ng-change="settingService.setRpcPort(context.settings.rpcPort)"/>
|
|
</div>
|
|
</div>
|
|
<div class="row">
|
|
<div class="setting-key setting-key-without-desc col-sm-4">
|
|
<span translate>Aria2 RPC Interface</span>
|
|
<span class="asterisk">*</span>
|
|
</div>
|
|
<div class="setting-value col-sm-8">
|
|
<input class="form-control" type="text" ng-model="context.settings.rpcInterface"
|
|
ng-change="settingService.setRpcInterface(context.settings.rpcInterface)"/>
|
|
</div>
|
|
</div>
|
|
<div class="row">
|
|
<div class="setting-key setting-key-without-desc col-sm-4">
|
|
<span translate>Aria2 RPC Protocol</span>
|
|
<span class="asterisk">*</span>
|
|
</div>
|
|
<div class="setting-value col-sm-8">
|
|
<select class="form-control" style="width: 100%;" ng-model="context.settings.protocol"
|
|
ng-change="settingService.setProtocol(context.settings.protocol)">
|
|
<option value="http" translate>Http</option>
|
|
<option value="https" translate>Https</option>
|
|
<option value="ws" translate>WebSocket</option>
|
|
<option value="wss" translate>WebSocket (Security)</option>
|
|
</select>
|
|
</div>
|
|
</div>
|
|
<div class="row" ng-if="context.settings.protocol === 'http' || context.settings.protocol === 'https'">
|
|
<div class="setting-key setting-key-without-desc col-sm-4">
|
|
<span translate>Aria2 RPC Http Request Method</span>
|
|
<span class="asterisk">*</span>
|
|
<i class="icon-primary fa fa-question-circle" ng-tooltip-container="body" ng-tooltip-placement="top"
|
|
ng-tooltip="{{'POST method only supports aria2 v1.15.2 and above.' | translate}}"></i>
|
|
</div>
|
|
<div class="setting-value col-sm-8">
|
|
<select class="form-control" style="width: 100%;" ng-model="context.settings.httpMethod"
|
|
ng-change="settingService.setHttpMethod(context.settings.httpMethod)">
|
|
<option value="POST" translate>POST</option>
|
|
<option value="GET" translate>GET</option>
|
|
</select>
|
|
</div>
|
|
</div>
|
|
<div class="row">
|
|
<div class="setting-key setting-key-without-desc col-sm-4">
|
|
<span translate>Aria2 RPC Secret Token</span>
|
|
<span class="asterisk">*</span>
|
|
</div>
|
|
<div class="setting-value col-sm-8">
|
|
<div class="input-group">
|
|
<input class="form-control" type="{{context.showRpcSecret ? 'text' : 'password'}}" ng-model="context.settings.secret"
|
|
ng-change="settingService.setSecret(context.settings.secret)"/>
|
|
<span class="input-group-addon input-group-addon-compact no-vertical-padding">
|
|
<button class="btn btn-xs btn-default" title="{{context.showRpcSecret ? 'Hide Secret' : 'Show Secret' | translate}}"
|
|
ng-class="{'active': context.showRpcSecret}" ng-click="context.showRpcSecret = !context.showRpcSecret">
|
|
<i class="fa fa-eye"></i>
|
|
</button>
|
|
</span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="row tip no-background no-hover">
|
|
<span class="asterisk">*</span>
|
|
<span translate>Changes to the settings take effect after refreshing page.</span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</section>
|