Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/duplicati/duplicati.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'Duplicati/Server/webroot/ngax/index.html')
-rwxr-xr-xDuplicati/Server/webroot/ngax/index.html141
1 files changed, 112 insertions, 29 deletions
diff --git a/Duplicati/Server/webroot/ngax/index.html b/Duplicati/Server/webroot/ngax/index.html
index 572163cce..ca53e89f1 100755
--- a/Duplicati/Server/webroot/ngax/index.html
+++ b/Duplicati/Server/webroot/ngax/index.html
@@ -1,9 +1,9 @@
<!DOCTYPE html>
-<html xmlns:ng="http://angularjs.org" ng-app="backupApp">
+<html xmlns:ng="http://angularjs.org" ng-app="backupApp" ng-controller="AppController">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
- <title>Duplicati</title>
+ <title ng-bind-template="{{systemInfo.MachineName}} - {{brandingService.appName}}"></title>
<meta name="description" content="">
<meta name="viewport" content="width=device-width, initial-scale=1">
@@ -26,8 +26,8 @@
<meta name="theme-color" content="#ffffff">
<link rel="stylesheet" type="text/css" href="styles/smoothness/jquery-ui.min.css">
- <link rel="stylesheet" type="text/css" href="styles/styles2.css">
<link rel="stylesheet" type="text/css" href="styles/style.css">
+ <link rel="stylesheet" type="text/css" href="styles/themes.css">
<link rel="stylesheet" type="text/css" href="../oem/ngax/styles/oem.css" />
<link rel="stylesheet" type="text/css" href="../customized/customized.css" />
@@ -51,6 +51,8 @@
<script type="text/javascript" src="scripts/libs/modal.min.js"></script>
<script type="text/javascript" src="scripts/libs/dxTree.js"></script>
<script type="text/javascript" src="scripts/libs/moment-with-locales.min.js"></script>
+ <script type="text/javascript" src="scripts/libs/clipboard.min.js"></script>
+ <script type="text/javascript" src="scripts/libs/ngclipboard.min.js"></script>
<script type="text/javascript" src="scripts/libs/angular-gettext.min.js"></script>
@@ -70,6 +72,7 @@
<script type="text/javascript" src="scripts/services/NotificationService.js"></script>
<script type="text/javascript" src="scripts/services/DialogService.js"></script>
<script type="text/javascript" src="scripts/services/EditBackupService.js"></script>
+ <script type="text/javascript" src="scripts/services/CaptchaService.js"></script>
<script type="text/javascript" src="scripts/controllers/AppController.js"></script>
<script type="text/javascript" src="scripts/controllers/AboutController.js"></script>
@@ -77,7 +80,6 @@
<script type="text/javascript" src="scripts/controllers/SystemSettingsController.js"></script>
<script type="text/javascript" src="scripts/controllers/HomeController.js"></script>
<script type="text/javascript" src="scripts/controllers/EditBackupController.js"></script>
- <script type="text/javascript" src="scripts/controllers/PauseController.js"></script>
<script type="text/javascript" src="scripts/controllers/RestoreController.js"></script>
<script type="text/javascript" src="scripts/controllers/RestoreDirectController.js"></script>
<script type="text/javascript" src="scripts/controllers/LogController.js"></script>
@@ -86,6 +88,13 @@
<script type="text/javascript" src="scripts/controllers/UpdateChangelogController.js"></script>
<script type="text/javascript" src="scripts/controllers/DialogController.js"></script>
<script type="text/javascript" src="scripts/controllers/LocalDatabaseController.js"></script>
+ <script type="text/javascript" src="scripts/controllers/DeleteController.js"></script>
+ <script type="text/javascript" src="scripts/controllers/CaptchaController.js"></script>
+ <script type="text/javascript" src="scripts/controllers/RestoreWizardController.js"></script>
+ <script type="text/javascript" src="scripts/controllers/AddWizardController.js"></script>
+ <script type="text/javascript" src="scripts/controllers/PauseController.js"></script>
+ <script type="text/javascript" src="scripts/controllers/CommandlineController.js"></script>
+ <script type="text/javascript" src="scripts/controllers/ThrottleController.js"></script>
<script type="text/javascript" src="scripts/filters/timeremaining.js"></script>
<script type="text/javascript" src="scripts/filters/highlight.js"></script>
@@ -105,56 +114,120 @@
<script type="text/javascript" src="scripts/directives/notificationArea.js"></script>
<script type="text/javascript" src="scripts/directives/progressBar.js"></script>
<script type="text/javascript" src="scripts/directives/advancedOptionsEditor.js"></script>
+ <script type="text/javascript" src="scripts/directives/timeFormatFixer.js"></script>
<script type="text/javascript" src="../package/ngax/package.js"></script>
<script type="text/javascript" src="../oem/ngax/scripts/oem.js"></script>
<script type="text/javascript" src="../customized/customized.js"></script>
</head>
-<body ng-controller="AppController">
+<body class="theme-{{active_theme}}">
<div class="container">
<div class="header">
<div class="logo">
- <a href="#/" class="home">{{brandingService.appName}}</a>
- <div class="build-suffix" ng-hide="systemInfo.ServerVersionType == 'stable' || systemInfo.ServerVersionType == ''">{{systemInfo.ServerVersionType}}</div>
- <div class="powered-by">{{brandingService.appSubtitle}}</div>
+ <a href="#/">
+ <img class="mainlogo" ng-src="{{brandingService.appLogoPath}}"/>
+ </a>
+
+ <div class="logotext">
+ <a href="#/" class="home">{{brandingService.appName}}</a>
+ <div class="build-suffix" ng-hide="systemInfo.ServerVersionType == 'stable' || systemInfo.ServerVersionType == ''">{{systemInfo.ServerVersionType}}</div>
+ <div class="powered-by">{{brandingService.appSubtitle}}</div>
+ </div>
</div>
-
+
<div class="donate" ng-hide="systemInfo.SuppressDonationMessages">
<span translate>Donate</span>
<ul>
<li>
- <a href="bitcoin:1L74qa1n5SFKwwyHhECTHBJgcf6WT2rJKf" target="_blank"><img src="img/donate/bitcoin.png" alt="{{'Donate with Bitcoins' | translate}}" /></a>
+ <a href="bitcoin:1L74qa1n5SFKwwyHhECTHBJgcf6WT2rJKf" target="_blank"><img src="img/donate/bitcoin.png" alt="{{'Donate with Bitcoins' | translate}}" title="{{'Donate with Bitcoins' | translate}}" /></a>
</li>
<li>
- <a href="https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&business=paypal%40hexad%2edk&item_name=Duplicati%20Donation&no_shipping=2&no_note=1&tax=0&currency_code=EUR&bn=PP%2dDonationsBF&charset=UTF%2d8&lc=US" target="_blank"><img src="img/donate/paypal.png" alt="{{'Donate with PayPal' | translate}}" /></a>
+ <a href="https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&business=paypal%40hexad%2edk&item_name=Duplicati%20Donation&no_shipping=2&no_note=1&tax=0&currency_code=EUR&bn=PP%2dDonationsBF&charset=UTF%2d8&lc=US" target="_blank"><img src="img/donate/paypal.png" alt="{{'Donate with PayPal' | translate}}" title="{{'Donate with PayPal' | translate}}" /></a>
</li>
</ul>
</div>
-
+
<a href class="menubutton hidden" data-target="mainmenu" translate>Menu</a>
+
+ <div class="action-icons-small">
+ <div class="pause" ng-class="{'active': state.programState != 'Running'}" ng-click="pauseOptions()" title="{{state.programState == 'Running' ? 'Click to see the pause options' : 'Click to resume'}}"></div>
+ <div class="throttle {{throttle_active ? 'active' : 'inactive'}}" ng-click="throttleOptions()" title="{{'Click to set throttle options' | translate}}" alt="{{'Click to set throttle options' | translate}}"></div>
+ </div>
+
+ <div class="statepadding">
+ <div class="state" ng-controller="StateController">
+ <div class="content">
+ <div ng-hide="state.activeTask == null">
+ <span ng-hide="activeBackup == null">
+ <span ng-hide="StopReqId == activeTaskID">
+ <strong>{{activeBackup.Backup.Name}}:</strong> {{StateText}}
+ </span>
+ <span ng-show="StopReqId == activeTaskID">
+ <strong translate>Stopping after upload:</strong> {{activeBackup.Backup.Name}}
+ </span>
+ </span>
+ <span ng-show="activeBackup == null">
+ <strong ng-hide="StopReqId == activeTaskID" translate>Running task:</strong>
+ <strong ng-show="StopReqId == activeTaskID" translate>Stopping task:</strong>
+ {{StateText}}
+ </span>
+
+ </div>
+
+ <div ng-show="state.activeTask == null &amp;&amp; nextTask != null">
+ <strong translate>Next task:</strong> {{nextTask.Backup.Name}}
+ </div>
+
+ <div ng-show="state.activeTask == null &amp;&amp; nextTask == null &amp;&amp; nextScheduledTask != null"><strong translate>Next scheduled task:</strong> {{nextScheduledTask.Backup.Name}} <span title="{{nextScheduledTime | parsetimestamp}}">{{nextScheduledTime | moment: 'calendar'}}</span></div>
+
+ <div ng-show="state.activeTask == null &amp;&amp; nextTask == null &amp;&amp; nextScheduledTask == null" translate>No scheduled tasks</div>
+ </div>
+
+ <div class="buttons">
+ <div ng-hide="state.activeTask == null" class="stop" ng-click="stopDialog()" translate></div>
+ <div ng-hide="state.activeTask != null || state.programState == 'Running'" class="resume" ng-click="sendResume()" translate></div>
+ </div>
+
+ <div class="progress-bar progress-bar-striped" ng-class="{active: Progress < 0}" role="progressbar" aria-valuenow="{{Progress * 100}}" aria-valuemin="0" aria-valuemax="100" style="width:{{Progress * 100}}%"></div>
+
+ </div>
+
+ <div class="action-icons">
+ <div class="pause" ng-class="{'active': state.programState != 'Running'}" ng-click="pauseOptions()" title="{{state.programState == 'Running' ? 'Click to see the pause options' : 'Click to resume'}}"></div>
+ <div class="throttle {{throttle_active ? 'active' : 'inactive'}}" ng-click="throttleOptions()" title="{{'Click to set throttle options' | translate}}" alt="{{'Click to set throttle options' | translate}}"></div>
+ </div>
+ </div>
</div>
<div class="body">
<div class="mainmenu menu" id="mainmenu">
<ul>
<li>
- <a href="#/add" class="add" translate>Add new backup</a>
+ <a href="#/" class="home" ng-class="{active: current_page == 'home'}" translate>Home</a>
</li>
<li>
- <a href="#/restoredirect" class="restore" translate>Restore backup</a>
+ <a class="add" href="#/addstart" ng-class="{active: current_page == 'add'}" translate>Add backup</a>
</li>
<li>
- <a href="#/pause" id="pause" class="pause" translate>Pause</a>
+ <a href="#/restorestart" ng-class="{active: current_page == 'restore'}" class="restore" translate>Restore</a>
+ </li>
+ <li ng-hide="state.programState == 'Running'">
+ <a href ng-click="resume()" id="resume" class="resume" translate>Resume</a>
</li>
<li>
- <a href="#/settings" class="settings">{{'Settings' | translate}}</a>
+ <a href="#/settings" class="settings" ng-class="{active: current_page == 'settings'}" translate>Settings</a>
</li>
<li>
- <a href="#/log" class="log">{{'Show log' | translate}}</a>
+ <a href="#/log" class="log" ng-class="{active: current_page == 'log'}" translate>Show log</a>
+ </li>
+ <li>
+ <a href="#/about" class="about" ng-class="{active: current_page == 'about'}" translate>About</a>
+ </li>
+ <li ng-show="isLoggedIn">
+ <a href ng-click="log_out()" class="logout" translate>Log out</a>
</li>
-
</ul>
</div>
@@ -175,17 +248,20 @@
{{'Visit us on' | translate}}
<ul>
<li>
- <a href="https://groups.google.com/forum/#!forum/duplicati" target="_blank"><img src="img/social/ggroups.png" alt="Google Groups" width="28" /></a>
+ <a href="https://forum.duplicati.com" target="_blank"><img src="img/social/duplicati.png" alt="{{'Duplicati forum' | translate}}" title="{{'Duplicati forum' | translate}}" width="28" /></a>
</li>
<li>
- <a href="https://github.com/duplicati" target="_blank"><img src="img/social/github.png" alt="Github" /></a>
+ <a href="https://github.com/duplicati" target="_blank"><img src="img/social/github.png" alt="Github" title="Github" /></a>
</li>
<li>
- <a href="https://www.facebook.com/pages/Duplicati/105118456272281" target="_blank"><img src="img/social/facebook.png" alt="Facebook" /></a>
+ <a href="https://www.facebook.com/pages/Duplicati/105118456272281" target="_blank"><img src="img/social/facebook.png" alt="Facebook" title="Facebook" /></a>
</li>
<li>
- <a href="https://plus.google.com/105271984558189185842" target="_blank"><img src="img/social/google.png" alt="Google Plus" /></a>
+ <a href="https://plus.google.com/105271984558189185842" target="_blank"><img src="img/social/google.png" alt="Google Plus" title="Google Plus" /></a>
</li>
+ <!-- <li>
+ <a href="http://www.duplicati.com" target="_blank"><img src="img/social/duplicati.png" alt="{{'Duplicati Website' | translate}}" title="{{'Duplicati Website' | translate}}" /></a>
+ </li> -->
</ul>
</div>
@@ -193,10 +269,10 @@
<span translate>Donate</span>
<ul>
<li>
- <a href="bitcoin:1L74qa1n5SFKwwyHhECTHBJgcf6WT2rJKf" target="_blank"><img src="img/donate/bitcoin.png" alt="{{'Donate with Bitcoins' | translate}}" /></a>
+ <a href="bitcoin:1L74qa1n5SFKwwyHhECTHBJgcf6WT2rJKf" target="_blank"><img src="img/donate/bitcoin.png" alt="{{'Donate with Bitcoins' | translate}}" title="{{'Donate with Bitcoins' | translate}}" /></a>
</li>
<li>
- <a href="https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&business=paypal%40hexad%2edk&item_name=Duplicati%20Donation&no_shipping=2&no_note=1&tax=0&currency_code=EUR&bn=PP%2dDonationsBF&charset=UTF%2d8&lc=US" target="_blank"><img src="img/donate/paypal.png" alt="{{'Donate with PayPal' | translate}}" /></a>
+ <a href="https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&business=paypal%40hexad%2edk&item_name=Duplicati%20Donation&no_shipping=2&no_note=1&tax=0&currency_code=EUR&bn=PP%2dDonationsBF&charset=UTF%2d8&lc=US" target="_blank"><img src="img/donate/paypal.png" alt="{{'Donate with PayPal' | translate}}" title="{{'Donate with PayPal' | translate}}" /></a>
</li>
</ul>
</div>
@@ -211,26 +287,33 @@
<div ng-show="state.CurrentItem != null" class="modal-dialog ng-cloak">
<div class="info">
<div class="title">{{state.CurrentItem.title}}</div>
- <div class="content">{{state.CurrentItem.message}}</div>
+ <div class="content" ng-show="state.CurrentItem.message || state.CurrentItem.enableTextarea">
+ {{state.CurrentItem.message}}
+ <form ng-show="state.CurrentItem.enableTextarea">
+ <textarea placeholder="{{state.CurrentItem.placeholder}}" ng-model="state.CurrentItem.textarea" id="copytarget"></textarea>
+ </form>
+ </div>
+ <div class="content" ng-show="state.CurrentItem.htmltemplate" ng-include="state.CurrentItem.htmltemplate"></div>
<div class="content buttons">
<ul>
- <li ng-repeat="btn in state.CurrentItem.buttons track by $index" style="display: inline-block"><a href class="button" ng-click="onButtonClick($index)" >{{btn}}</a></li>
+ <li ng-show="state.CurrentItem.buttonTemplate" ng-include="state.CurrentItem.buttonTemplate" style="display: inline-block"></li>
+ <li ng-repeat="btn in state.CurrentItem.buttons track by $index" style="display: inline-block"><a href class="button" ng-click="onButtonClick($index)">{{btn}}</a></li>
</ul>
</div>
</div>
</div>
</div>
- <div ng-show="state.connectionState != 'connected'" class="blocker" ng-click=""></div>
+ <div id="connection-lost-blocker" ng-show="state.connectionState != 'connected'" class="blocker ng-cloak" ng-click=""></div>
- <div ng-show="state.connectionState != 'connected'" class="connection-lost ng-cloak" >
+ <div id="connection-lost-dialog" ng-show="state.connectionState != 'connected'" class="connection-lost ng-cloak" >
<div class="info">
<div class="title" translate>Connection lost</div>
<div class="content" ng-show="state.connectionState !='connecting'" translate translate-params-time="(state.connectionAttemptTimer + 1000) | timeremaining">
The connection to the server is lost, attempting again in {{time}} ...
</div>
<div class="content" translate ng-hide="state.connectionState !='connecting'">
- Connnecting to server ...
+ Connecting to server ...
</div>
<div class="content buttons">
<a href ng-show="state.connectionState != 'connecting'" ng-click="doReconnect()" class="button" translate>Connect now</a>