fix refresh working tab

This commit is contained in:
aynsix
2020-05-19 17:45:16 +03:00
parent 8e7537e0ae
commit 77311ed7f6
3 changed files with 64 additions and 25 deletions

View File

@@ -4,6 +4,7 @@ namespace Alchemy\Phrasea\WorkerManager\Controller;
use Alchemy\Phrasea\Application as PhraseaApplication;
use Alchemy\Phrasea\Controller\Controller;
use Alchemy\Phrasea\Model\Entities\WorkerRunningJob;
use Alchemy\Phrasea\Model\Repositories\WorkerRunningJobRepository;
use Alchemy\Phrasea\SearchEngine\Elastic\ElasticsearchOptions;
use Alchemy\Phrasea\WorkerManager\Event\PopulateIndexEvent;
@@ -25,8 +26,12 @@ class AdminConfigurationController extends Controller
/** @var AMQPConnection $serverConnection */
$serverConnection = $this->app['alchemy_worker.amqp.connection'];
/** @var WorkerRunningJobRepository $repoWorker */
$repoWorker = $app['repo.worker-running-job'];
return $this->render('admin/worker-manager/index.html.twig', [
'isConnected' => ($serverConnection->getChannel() != null) ? true : false
'isConnected' => ($serverConnection->getChannel() != null) ? true : false,
'workerRunningJob' => $repoWorker->findAll(),
]);
}
@@ -69,10 +74,20 @@ class AdminConfigurationController extends Controller
/** @var WorkerRunningJobRepository $repoWorker */
$repoWorker = $app['repo.worker-running-job'];
$workerRunningJob = [];
$reload = ($request->query->get('reload')) == 1 ? true : false ;
if ($request->query->get('running') == 1 && $request->query->get('finished') == 1) {
$workerRunningJob = $repoWorker->findAll();
} elseif ($request->query->get('running') == 1) {
$workerRunningJob = $repoWorker->findBy(['status' => WorkerRunningJob::RUNNING]);
} elseif ($request->query->get('finished') == 1) {
$workerRunningJob = $repoWorker->findBy(['status' => WorkerRunningJob::FINISHED]);
}
return $this->render('admin/worker-manager/worker_info.html.twig', [
'workerRunningJob' => $repoWorker->findAll(),
'workerRunningJob' => $workerRunningJob,
'reload' => $reload
]);
}

View File

@@ -10,7 +10,7 @@
{{ "Configuration" | trans }}
</a>
</li>
<li class="worker-info" role="presentation">
<li class="worker-info active" role="presentation">
<a href="#worker-info" aria-controls="worker-info" role="tab" data-toggle="tab" data-url="/admin/worker-manager/info">
{{ "Working info" | trans }}
</a>
@@ -25,7 +25,7 @@
{{ "Pull Assets" | trans }}
</a>
</li>
<li class="worker-subview active" role="presentation">
<li class="worker-subview" role="presentation">
<a href="#worker-subview" aria-controls="worker-subview" role="tab" data-toggle="tab" data-url="/admin/worker-manager/subview">
{{ "Subview" | trans }}
</a>
@@ -41,10 +41,12 @@
<!-- Tab panes -->
<div class="tab-content">
<div role="tabpanel" class="tab-pane fade" id="worker-configuration"></div>
<div role="tabpanel" class="tab-pane fade" id="worker-info"></div>
<div role="tabpanel" class="tab-pane fade in active" id="worker-info">
{% include "admin/worker-manager/worker_info.html.twig" %}
</div>
<div role="tabpanel" class="tab-pane fade" id="worker-searchengine"></div>
<div role="tabpanel" class="tab-pane fade" id="worker-pull-assets"></div>
<div role="tabpanel" class="tab-pane fade in active" id="worker-subview"></div>
<div role="tabpanel" class="tab-pane fade" id="worker-subview"></div>
<div role="tabpanel" class="tab-pane fade" id="worker-metadata"></div>
</div>
</div>
@@ -84,8 +86,6 @@
</script>
{% else %}
<h1 class="alert alert-danger">
Error! Check rabbit config to use worker.
Error! can't load rabbit config. Check rabbit config to use worker.
</h1>
{% endif %}

View File

@@ -5,23 +5,36 @@
<form action="{{ path("worker_admin_truncate") }}" method="POST">
<p class="alert alert-danger">
<strong>Warning!</strong>
It's truncate all work table content !
{{ "It's delete all work information !" |trans }}
</p>
<button class="btn btn-primary">
{{ 'Truncate table' }}
{{ 'Erase all information' |trans }}
</button>
</form>
<form action="{{ path("worker_admin_delete_finished") }}" method="POST">
<p class="alert alert-danger">
<strong>Warning!</strong>
It's delete all finished works !
{{ "It's delete all finished works !"|trans }}
</p>
<button class="btn btn-primary">
{{ 'Delete finished' }}
{{ 'Erase all finished' | trans }}
</button>
</form>
<button id="refresh-list" class="btn btn-success">
{{ 'Refresh list' |trans }}
</button>
<div class="controls">
<label class="checkbox inline">
<input class="running-work" type="checkbox" value="1" checked> {{ 'Display running work' | trans }}
</label>
<label class="checkbox inline">
<input class="finished-work" type="checkbox" value="1" checked> {{ 'Display finished work' | trans }}
</label>
</div>
<table class="admintable">
<thead>
<tr>
@@ -53,19 +66,30 @@
{% if not reload %}
</tbody>
</table>
<script>
setInterval(function () {
if ($('.worker-info').hasClass('active')) {
<script type="text/javascript">
$("#refresh-list").on('click', function () {
console.log("ato");
var running = 1;
var finished = 1;
if (!$(".running-work").is(":checked"))
{
running = 0;
}
if (!$(".finished-work").is(":checked"))
{
finished = 0;
}
$.ajax({
type: "GET",
url: "/admin/worker-manager/info?reload=1",
url: "/admin/worker-manager/info?reload=1&running="+running+"&finished="+finished,
success: function (data) {
$(".work-list").empty().html(data);
}
});
}
}, 5000
);
});
</script>
{% endif %}