admin: Make propagation time smarter
Some checks are pending
continuous-integration/drone/push Build is running
Some checks are pending
continuous-integration/drone/push Build is running
This commit is contained in:
parent
2cd40e64ab
commit
5e4c14c634
|
@ -578,10 +578,14 @@ angular.module("FICApp")
|
||||||
$scope.saveSettings();
|
$scope.saveSettings();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
$scope.updateActivateTime = function() {
|
||||||
|
$rootScope.settings.activateTime = this.config.activateTime;
|
||||||
|
}
|
||||||
$scope.updActivateTime = function(modulo) {
|
$scope.updActivateTime = function(modulo) {
|
||||||
var ts = Math.floor((new Date(this.config.end) - Date.now()) / (60000 * modulo)) * (60000 * modulo);
|
var ts = Math.floor((new Date(this.config.end) - Date.now() - (60000 * modulo / 2)) / (60000 * modulo)) * (60000 * modulo);
|
||||||
var d = new Date(this.config.end) - ts;
|
var d = new Date(this.config.end) - ts;
|
||||||
this.config.activateTime = new Date(d).toISOString();
|
this.config.activateTime = new Date(d).toISOString();
|
||||||
|
this.updateActivateTime();
|
||||||
}
|
}
|
||||||
$scope.reset = function(type) {
|
$scope.reset = function(type) {
|
||||||
var txts = {
|
var txts = {
|
||||||
|
|
|
@ -125,6 +125,23 @@ angular.module("FICApp")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
.filter("timer", function() {
|
||||||
|
return function(input) {
|
||||||
|
input = Math.floor(input / 1000);
|
||||||
|
var res = ""
|
||||||
|
|
||||||
|
if (input >= 3600) {
|
||||||
|
res += Math.floor(input / 3600) + ":";
|
||||||
|
input = input % 3600;
|
||||||
|
}
|
||||||
|
if (input >= 60) {
|
||||||
|
res += Math.floor(input / 60) + "'";
|
||||||
|
input = input % 60;
|
||||||
|
}
|
||||||
|
|
||||||
|
return res + (input>9?input:"0"+input) + '"';
|
||||||
|
}
|
||||||
|
})
|
||||||
.filter("since", function() {
|
.filter("since", function() {
|
||||||
return function(passed) {
|
return function(passed) {
|
||||||
if (passed < 120000) {
|
if (passed < 120000) {
|
||||||
|
@ -261,6 +278,19 @@ angular.module("FICApp")
|
||||||
}
|
}
|
||||||
|
|
||||||
$rootScope.timeProgression = 1 - remain / ($rootScope.settings.end - $rootScope.settings.start);
|
$rootScope.timeProgression = 1 - remain / ($rootScope.settings.end - $rootScope.settings.start);
|
||||||
|
$rootScope.timeRemaining = remain;
|
||||||
|
|
||||||
|
if ($rootScope.settings.activateTime) {
|
||||||
|
var now = new Date();
|
||||||
|
var actTime = new Date($rootScope.settings.activateTime);
|
||||||
|
|
||||||
|
if (actTime > now)
|
||||||
|
$rootScope.activateTimeCountDown = actTime - now;
|
||||||
|
else
|
||||||
|
$rootScope.activateTimeCountDown = null;
|
||||||
|
} else {
|
||||||
|
$rootScope.activateTimeCountDown = null;
|
||||||
|
}
|
||||||
|
|
||||||
remain = remain / 1000;
|
remain = remain / 1000;
|
||||||
|
|
||||||
|
|
|
@ -96,7 +96,7 @@
|
||||||
<div class="col">
|
<div class="col">
|
||||||
<div class="input-group" style="margin-top: 5px;">
|
<div class="input-group" style="margin-top: 5px;">
|
||||||
<div class="input-group-prepend">
|
<div class="input-group-prepend">
|
||||||
<button class="btn btn-sm btn-outline-secondary dropdown-toggle" type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"><span class="glyphicon glyphicon-record" aria-hidden="true"></span> Propager plus tard</button>
|
<button class="btn btn-sm btn-outline-secondary dropdown-toggle" type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" ng-class="{'btn-outline-secondary': !activateTimeCountDown, 'btn-warning': activateTimeCountDown && config.activateTime == settings.activateTime, 'btn-outline-warning': config.activateTime && config.activateTime != settings.activateTime}"><span class="glyphicon glyphicon-record" aria-hidden="true"></span> Propager plus tard</button>
|
||||||
<div class="dropdown-menu">
|
<div class="dropdown-menu">
|
||||||
<a class="dropdown-item" ng-click="updActivateTime(2)">modulo 2 minutes</a>
|
<a class="dropdown-item" ng-click="updActivateTime(2)">modulo 2 minutes</a>
|
||||||
<a class="dropdown-item" ng-click="updActivateTime(5)">modulo 5 minutes</a>
|
<a class="dropdown-item" ng-click="updActivateTime(5)">modulo 5 minutes</a>
|
||||||
|
@ -104,10 +104,17 @@
|
||||||
<a class="dropdown-item" ng-click="updActivateTime(15)">modulo 15 minutes</a>
|
<a class="dropdown-item" ng-click="updActivateTime(15)">modulo 15 minutes</a>
|
||||||
<a class="dropdown-item" ng-click="updActivateTime(20)">modulo 20 minutes</a>
|
<a class="dropdown-item" ng-click="updActivateTime(20)">modulo 20 minutes</a>
|
||||||
<a class="dropdown-item" ng-click="updActivateTime(30)">modulo 30 minutes</a>
|
<a class="dropdown-item" ng-click="updActivateTime(30)">modulo 30 minutes</a>
|
||||||
|
<a class="dropdown-item" ng-click="updActivateTime(60)">modulo 60 minutes</a>
|
||||||
|
<a class="dropdown-item" ng-click="updActivateTime(90)">modulo 90 minutes</a>
|
||||||
|
<a class="dropdown-item" ng-click="config.activateTime = '0001-01-01T00:00:00Z'" ng-show="activateTimeCountDown">annuler la propagation</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<input type="text" class="form-control form-control-sm" id="activateTime" ng-model="config.activateTime">
|
<input type="text" class="form-control form-control-sm" id="activateTime" ng-model="config.activateTime" ng-change="updateActivateTime()">
|
||||||
</div>
|
</div>
|
||||||
|
<small ng-if="activateTimeCountDown">
|
||||||
|
Propagation dans : {{ activateTimeCountDown | timer }}
|
||||||
|
Il restera : {{ timeRemaining - activateTimeCountDown | timer }}
|
||||||
|
</small>
|
||||||
</div>
|
</div>
|
||||||
<div class="col text-right">
|
<div class="col text-right">
|
||||||
<button type="submit" class="btn btn-success"><span class="glyphicon glyphicon-save" aria-hidden="true"></span> Propager ces paramètres</button>
|
<button type="submit" class="btn btn-success"><span class="glyphicon glyphicon-save" aria-hidden="true"></span> Propager ces paramètres</button>
|
||||||
|
|
Loading…
Reference in New Issue
Block a user