Skip to content
Snippets Groups Projects
Commit 0c2cc40e authored by Hahn Axel (hahn)'s avatar Hahn Axel (hahn)
Browse files

overview: reload without jump to the top

parent 3f454edb
No related branches found
No related tags found
1 merge request!62V2.0
......@@ -55,7 +55,6 @@ class projectlist extends base
global $renderAdminLTE;
$sOut = ''; // table
$sOut2 = ''; // tiles
$oPrj = false;
$sTrClass = "trproject";
$sColClass = "tdphase";
......@@ -145,35 +144,6 @@ class projectlist extends base
$sErrors .= $oPrj->renderErrorBoxes();
/*
$sOut2 .= '<div class="' . $sClasses . ' prjbox"><div class="title">'
.$oHtml->getLink(array(
'href'=>'#',
'onclick'=>'$(\'#prjfilter\').val(\'' . $sPrj . '\'); window.setTimeout(\'filterOverviewTable();\', 10);setview(\'extended\'); return false;',
'style'=>'float: right;',
'title'=>t("overview-filter-hint"),
'icon'=>'filter',
'label'=>t("overview-filter")
))
. '<span class="float-right">'.$sPrjGroup.' </span>'
.'<strong>'
.$oHtml->getLink(array(
'href'=>'/deployment/' . $sPrj . '/',
'title'=>t("menu-project-home"). ' ' . $oPrj->getLabel(),
'icon'=>'project',
'label'=>'<strong>'.$oPrj->getLabel().'</strong>'
))
.'</strong>'
// . $sProgress
. '</div>'
. '<div class="box" '
. 'onclick="location.href=\'/deployment/' . $sPrj . '/\'">'
. $oPrj->getDescription()
. '<br>'
. '';
*/
// render output
$sOut .= '
<tr class="' . $sClasses . '" '
......@@ -207,13 +177,10 @@ class projectlist extends base
. '<td class="prj">';
if ($oPrj->canAcceptPhase()) {
$sOut .= $oPrj->renderLink("build");
// $sOut2.=$oPrj->renderLink("build");
// $sOut.='<a href="/deployment/'.$sPrj.'/build/" class="btn btn-default '.$sNext.'"><i class=" icon-forward"></i> Build f&uuml;r ['.$sNext.']</a><br>';
}
$sOut .= '</td>
' . $sOutPhases . '
</tr>';
// $sOut2.=$sOutPhases2 . '</div></div>';
}
if ($sOut) {
$sRowHead1 = '';
......@@ -238,222 +205,9 @@ class projectlist extends base
$sRowHead2 .= $oPrj->renderPlacesAsTd($sPhase);
}
$sOutTop = '
<script>
/**
* filter table by chosen select values for project and phase
*/
function filterOverviewTable(){
// --- reset
$(\'.' . $sTrClass . '\').removeClass("trproject-textfilter");
$(\'.' . $sTrClass . '\').removeClass("trproject-progressfilter");
$(\'.' . $sTrClass . '\').removeClass("trproject-projectfilter");
$(\'.' . $sTrClass . '\').removeClass("trproject-projectgroupfilter");
$(\'.' . $sTrClass . '\').removeClass("trprojectfiltered");
$(\'button.prjprogress\').removeClass(\'selected\');
// --- get free filter
var sSearch=$("#efilter").val();
localStorage.setItem("efilter", sSearch);
$("table").removeHighlight();
if (sSearch) {
// $("tr:regex(\'" + sSearch + "\')").show();
// $("tr:not(:regex(\'" + sSearch + "\'))").hide();
// $("tr").first().show();
$("td").highlight(sSearch);
} else {
$("td").removeHighlight();
$(\'tr\').show();
}
var RegexFreetext = new RegExp(sSearch, "i");
// --- get project filter
var sPrj=$("#prjfilter").val();
localStorage.setItem("selectedPrj", sPrj);
// --- get project group filter
var sPrjGroup=$("#prjgroupfilter").val();
localStorage.setItem("selectedPrjGroup", sPrjGroup);
// --- get progress filter
var sProgress=$("#progressfilter").val();
localStorage.setItem("progress", sProgress);
$(\'#btnProgress\'+sProgress).addClass(\'selected\').blur();
// --- loop over project rows
$(".trproject").each(function() {
if ( !RegexFreetext.exec(this.innerHTML)) {
$(this).addClass("trproject-textfilter");
}
if (sPrj){
if ($(this).hasClass(sPrj)){
$(this).addClass("trprojectfiltered");
} else {
$(this).addClass("trproject-projectfilter");
}
}
if (sPrjGroup){
if ($(this).hasClass("group-"+sPrjGroup)){
$(this).addClass("trprojectgroupfiltered");
} else {
$(this).addClass("trproject-projectgroupfilter");
}
}
if (sProgress && !$(this).hasClass("progress" + sProgress)){
$(this).addClass("trproject-progressfilter");
}
});
showResetbtn();
}
/**
* onclick event of [filter] button in table row of a project
* toggle: show a single project/ all projects
*/
function setProjectFilter(sPrj){
var sCurrentPrj=$(\'#prjfilter\').val();
if (sCurrentPrj != \'\'){
$(\'#prjfilter\').val(\'\');
} else {
$(\'#prjfilter\').val(sPrj);
}
window.setTimeout(\'filterOverviewTable();\', 10);
setview(\'extended\');
}
/**
* filter table and tiles by filtertext
*/
function filterTableByTyping(){
filterOverviewTable();
return false;
}
<div id="counter">...</div><br>
/**
* switch view between tiles and table
*/
function setview(sMode){
$(\'.view\').hide();
$(\'.view\'+sMode).show();
localStorage.setItem("mode", sMode);
return false;
}
/**
* filter table by role
*/
function setrole(){
var sRole=$("#rolefilter").val();
$(\'.role\').hide();
$(\'.role\'+sRole).show();
localStorage.setItem("role", sRole);
showResetbtn();
return false;
}
/**
* filter table by progress status
*/
function setprogress(){
filterOverviewTable();
return false;
}
/**
* set default view; it gets the last values for filter text,
* and selected values in dropdowns and restores the
* last view
*/
function setDefaultView(){
if (localStorage.getItem("progress") && localStorage.getItem("progress")!=\'null\'){
$("#progressfilter").val(localStorage.getItem("progress"));
} else {
$("#progressfilter").val($("#progressfilter option:first").val());
}
if (localStorage.getItem("efilter") && localStorage.getItem("efilter")!=\'null\') {
$("#efilter").val(localStorage.getItem("efilter"));
window.setTimeout("filterTableByTyping();", 10);
}
if(localStorage.getItem("selectedPrjGroup") && localStorage.getItem("selectedPrjGroup")!=\'null\'){
$("#prjgroupfilter").val(localStorage.getItem("selectedPrjGroup"));
} else {
// $("#selectedPrjGroup").val($("#selectedPrjgroup option:first").val());
}
// window.setTimeout("filterOverviewTable();", 10);
filterOverviewTable();
/*
if(localStorage.getItem("selectedPrj") && localStorage.getItem("selectedPrj")!=\'null\'){
$("#prjfilter").val(localStorage.getItem("selectedPrj"));
} else {
$("#prjfilter").val($("#prjfilter option:first").val());
}
if (localStorage.getItem("selectedPhase") && localStorage.getItem("selectedPhase")!=\'null\'){
$("#phasefilter").val(localStorage.getItem("selectedPhase"));
} else {
$("#phasefilter").val($("#phasefilter option:first").val());
}
if (localStorage.getItem("role") && localStorage.getItem("role")!=\'null\') {
$("#rolefilter").val(localStorage.getItem("role"));
window.setTimeout("setrole();", 20);
}
if (localStorage.getItem("mode") && localStorage.getItem("mode")!=\'null\') {
var sMode=localStorage.getItem("mode");
if (sMode)setview(sMode);
}
*/
}
/**
* Button zum Filter reset anzeigen/ verbergen
*/
function showResetbtn(){
var sVisible=$("#efilter").val()?"visible":"hidden";
if ($("#prjfilter").val()>"")sVisible="visible";
if ($("#prjgroupfilter").val()>"")sVisible="visible";
// if ($("#phasefilter").val()!="' . $sColClass . '")sVisible="visible";
if ($("#rolefilter").val())sVisible="visible";
if ($("#progressfilter").val())sVisible="visible";
$("#btnresetfilter").css("visibility", sVisible);
$("#btnresetefilter").css("visibility", $("#efilter").val()?"visible":"hidden");
return false;
}
/**
* Aktion des Filter reset: Filter zurücksetzen
*/
function resetFilter(){
$("#prjfilter").val("");
$("#prjgroupfilter").val("");
// $("#phasefilter").val("");
filterOverviewTable();
$("#efilter").val("");
window.setTimeout("filterTableByTyping();", 10);
$("#rolefilter").val("");
window.setTimeout("setrole();", 20);
$("#progressfilter").val("");
window.setTimeout("setprogress();", 30);
showResetbtn();
return false;
}
</script>
<div class="filterbar">
<form class="form-inline">
<!--
......@@ -551,15 +305,6 @@ class projectlist extends base
<div style="clear: both; margin-bottom: 1em"></div>
</div>';
$sOut = $sErrors
/*
.'
<div class="view viewsimple">
' . $sOut2 . '
<div style="clear: both;"></div>
<br>
</div>'
*/
. '
<table class="table view viewextended" id="tbloverview">
......@@ -576,7 +321,7 @@ class projectlist extends base
</thead>
<tbody>
' . $sOut . '</tbody></table>'
. '<script>window.setTimeout("setDefaultView();", 50); window.setTimeout("window.location.replace(window.location.pathname + window.location.search + window.location.hash);", 60000);</script>';
;
} else {
$sOut = t("class-pl-error-no-project") . '<br><br>'
. $oPrj1->renderLink("new");
......
......@@ -131,7 +131,9 @@ if($oUser->getUsername()){
// ----------------------------------------------------------------------
// html body
// ----------------------------------------------------------------------
$HEAD_INCLUDE='';
$BODY="";
$BODY_END='';
$TITLE="";
$JS='';
......@@ -274,10 +276,12 @@ if(!file_exists($sIncfile)){
// ---------- generate output
$aReplace['{{HEAD_INCLUDE}}']=$HEAD_INCLUDE;
$aReplace['{{PAGE_BODY}}']=$BODY;
$aReplace['{{PAGE_HEADER_LEFT}}']='<h2>'.$TITLE.'</h2>';
$aReplace['{{PAGE_HEADER_RIGHT}}']=$oUser->getUsername() ? getBreadcrumb("link") : '';
$aReplace['{{INJECT_JS}}']=$JS;
$aReplace['{{BODY_END}}']=$BODY_END;
$sTemplate=file_get_contents('ui/page.tpl.php');
echo $renderAdminLTE->render($sTemplate,$aReplace);
// ----------------------------------------------------------------------
// JS FOR OVERVIEW PAGE
// ----------------------------------------------------------------------
// ----------------------------------------------------------------------
// COUNTER
// ----------------------------------------------------------------------
// reload after N seconds
var iReload = 60;
/**
* get the current unix ts
* @returns {Number}
*/
function getUnixTS() {
return Date.now() / 1000;
}
/**
* show a timer and progress bar
* @returns {undefined}
*/
function refreshTimer() {
if (iRefreshCounter == 0) {
$('#counter').html(
'<span>-</span><br>'
+ '<div style="width:100%; float: left;">&nbsp;</div>'
);
}
$('#counter span').html(iReload - iRefreshCounter + 's');
$('#counter div').css('width', (100 - (iRefreshCounter / iReload * 100)) + '%');
iRefreshCounter++;
if (iRefreshCounter > iReload) {
document.location.reload();
}
}
// ----------------------------------------------------------------------
// FILTERING
// ----------------------------------------------------------------------
/**
* filter table by chosen select values for project and phase
*/
function filterOverviewTable() {
// --- reset
$('.trproject').removeClass("trproject-textfilter");
$('.trproject').removeClass("trproject-progressfilter");
$('.trproject').removeClass("trproject-projectfilter");
$('.trproject').removeClass("trproject-projectgroupfilter");
$('.trproject').removeClass("trprojectfiltered");
$('button.prjprogress').removeClass('selected');
// --- get free filter
var sSearch = $("#efilter").val();
localStorage.setItem("efilter", sSearch);
$("table").removeHighlight();
if (sSearch) {
$("td").highlight(sSearch);
} else {
$("td").removeHighlight();
$('tr').show();
}
var RegexFreetext = new RegExp(sSearch, "i");
// --- get project filter
var sPrj = $("#prjfilter").val();
localStorage.setItem("selectedPrj", sPrj);
// --- get project group filter
var sPrjGroup = $("#prjgroupfilter").val();
localStorage.setItem("selectedPrjGroup", sPrjGroup);
// --- get progress filter
var sProgress = $("#progressfilter").val();
localStorage.setItem("progress", sProgress);
$('#btnProgress' + sProgress).addClass('selected').blur();
// --- loop over project rows
$(".trproject").each(function () {
if (!RegexFreetext.exec(this.innerHTML)) {
$(this).addClass("trproject-textfilter");
}
if (sPrj) {
if ($(this).hasClass(sPrj)) {
$(this).addClass("trprojectfiltered");
} else {
$(this).addClass("trproject-projectfilter");
}
}
if (sPrjGroup) {
if ($(this).hasClass("group-" + sPrjGroup)) {
$(this).addClass("trprojectgroupfiltered");
} else {
$(this).addClass("trproject-projectgroupfilter");
}
}
if (sProgress && !$(this).hasClass("progress" + sProgress)) {
$(this).addClass("trproject-progressfilter");
}
});
showResetbtn();
}
/**
* onclick event of [filter] button in table row of a project
* toggle: show a single project/ all projects
*/
function setProjectFilter(sPrj) {
var sCurrentPrj = $('#prjfilter').val();
if (sCurrentPrj != '') {
$('#prjfilter').val('');
} else {
$('#prjfilter').val(sPrj);
}
window.setTimeout('filterOverviewTable();', 10);
setview('extended');
}
/**
* filter table and tiles by filtertext
*/
function filterTableByTyping() {
filterOverviewTable();
return false;
}
/**
* switch view between tiles and table
*/
function setview(sMode) {
$('.view').hide();
$('.view' + sMode).show();
localStorage.setItem("mode", sMode);
return false;
}
/**
* filter table by role
*/
function setrole() {
var sRole = $("#rolefilter").val();
$('.role').hide();
$('.role' + sRole).show();
localStorage.setItem("role", sRole);
showResetbtn();
return false;
}
/**
* filter table by progress status
*/
function setprogress() {
filterOverviewTable();
return false;
}
/**
* set default view; it gets the last values for filter text,
* and selected values in dropdowns and restores the
* last view
*/
function setDefaultView() {
if (localStorage.getItem("progress") && localStorage.getItem("progress") != 'null') {
$("#progressfilter").val(localStorage.getItem("progress"));
} else {
$("#progressfilter").val($("#progressfilter option:first").val());
}
if (localStorage.getItem("efilter") && localStorage.getItem("efilter") != 'null') {
$("#efilter").val(localStorage.getItem("efilter"));
window.setTimeout("filterTableByTyping();", 10);
}
if (localStorage.getItem("selectedPrjGroup") && localStorage.getItem("selectedPrjGroup") != 'null') {
$("#prjgroupfilter").val(localStorage.getItem("selectedPrjGroup"));
} else {
// $("#selectedPrjGroup").val($("#selectedPrjgroup option:first").val());
}
// window.setTimeout("filterOverviewTable();", 10);
filterOverviewTable();
}
/**
* Button zum Filter reset anzeigen/ verbergen
*/
function showResetbtn() {
var sVisible = $("#efilter").val() ? "visible" : "hidden";
if ($("#prjfilter").val() > "") sVisible = "visible";
if ($("#prjgroupfilter").val() > "") sVisible = "visible";
// if ($("#phasefilter").val()!="' . $sColClass . '")sVisible="visible";
if ($("#rolefilter").val()) sVisible = "visible";
if ($("#progressfilter").val()) sVisible = "visible";
$("#btnresetfilter").css("visibility", sVisible);
$("#btnresetefilter").css("visibility", $("#efilter").val() ? "visible" : "hidden");
return false;
}
/**
* Aktion des Filter reset: Filter zurücksetzen
*/
function resetFilter() {
$("#prjfilter").val("");
$("#prjgroupfilter").val("");
// $("#phasefilter").val("");
filterOverviewTable();
$("#efilter").val("");
window.setTimeout("filterTableByTyping();", 10);
$("#rolefilter").val("");
window.setTimeout("setrole();", 20);
$("#progressfilter").val("");
window.setTimeout("setprogress();", 30);
showResetbtn();
return false;
}
// ----------------------------------------------------------------------
// MAIN
// ----------------------------------------------------------------------
iStartTime = getUnixTS();
iRefreshCounter = 0;
refreshTimer();
window.setInterval('refreshTimer()', 1000);
window.setTimeout("setDefaultView();", 50);
// ----------------------------------------------------------------------
......@@ -23,6 +23,8 @@ if (!array_key_exists("prj", $aParams)) {
// ----------------------------------------------------------------------
require_once("./classes/projectlist.class.php");
$oPrjList = new projectlist();
$BODY_END='<script type="text/javascript" src="/deployment/js/functions_overview.js"></script>';
$BODY = $oPrjList->renderOverview();
} else {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment