* Fix switch metric after filter,bug#38652,task#103053.
This commit is contained in:
+13
-12
@@ -102,13 +102,13 @@ class metric extends control
|
||||
* @access public
|
||||
* @return void
|
||||
*/
|
||||
public function preview($scope = 'project', $viewType = 'single', $metricID = 0, $filters = '')
|
||||
public function preview($scope = 'project', $viewType = 'single', $metricID = 0, $filtersBase64 = '')
|
||||
{
|
||||
$this->metric->processScopeList('released');
|
||||
|
||||
if($scope == 'filter')
|
||||
{
|
||||
$filters = json_decode(base64_decode($filters), true);
|
||||
$filters = json_decode(base64_decode($filtersBase64), true);
|
||||
if(!is_array($filters)) $filters = array();
|
||||
$metrics = $this->metric->getListByFilter($filters, 'released');
|
||||
}
|
||||
@@ -133,16 +133,17 @@ class metric extends control
|
||||
$resultData = $this->metricZen->getViewTableData($metric, $result);
|
||||
}
|
||||
|
||||
$this->view->metrics = $metrics;
|
||||
$this->view->current = $current;
|
||||
$this->view->metricList = $this->lang->metric->metricList;
|
||||
$this->view->scope = $scope;
|
||||
$this->view->title = $this->lang->metric->common;
|
||||
$this->view->viewType = $viewType;
|
||||
$this->view->recTotal = count($metrics);
|
||||
$this->view->filters = $filters;
|
||||
$this->view->resultHeader = $resultHeader;
|
||||
$this->view->resultData = $resultData;
|
||||
$this->view->metrics = $metrics;
|
||||
$this->view->current = $current;
|
||||
$this->view->metricList = $this->lang->metric->metricList;
|
||||
$this->view->scope = $scope;
|
||||
$this->view->title = $this->lang->metric->common;
|
||||
$this->view->viewType = $viewType;
|
||||
$this->view->recTotal = count($metrics);
|
||||
$this->view->filters = $filters;
|
||||
$this->view->filtersBase64 = $filtersBase64;
|
||||
$this->view->resultHeader = $resultHeader;
|
||||
$this->view->resultData = $resultData;
|
||||
$this->display();
|
||||
}
|
||||
|
||||
|
||||
@@ -239,7 +239,7 @@ window.handleFilterClick = function()
|
||||
});
|
||||
return;
|
||||
}
|
||||
loadPage($.createLink('metric', 'preview', 'scope=filter&viewType=' + viewType + '&metricID=0&filters=' + filterBase64));
|
||||
loadPage($.createLink('metric', 'preview', 'scope=filter&viewType=' + viewType + '&metricID=0&filtersBase64=' + filterBase64));
|
||||
}
|
||||
|
||||
window.afterPageUpdate = function($target, info, options)
|
||||
|
||||
@@ -10,18 +10,21 @@ declare(strict_types=1);
|
||||
*/
|
||||
namespace zin;
|
||||
|
||||
$fnGenerateSide = function() use($metrics, $current, $viewType, $scope)
|
||||
$fnGenerateSide = function() use($metrics, $current, $viewType, $scope, $filtersBase64)
|
||||
{
|
||||
$metricList = array();
|
||||
foreach($metrics as $key => $metric)
|
||||
{
|
||||
$class = $metric->id == $current->id ? 'metric-current' : '';
|
||||
$params = "scope=$scope&viewType=$viewType&metricID={$metric->id}";
|
||||
if(!empty($filtersBase64)) $params .= "&filtersBase64={$filtersBase64}";
|
||||
|
||||
$metricList[] = li
|
||||
(
|
||||
set::className($class . ' metric-item font-medium'),
|
||||
a(
|
||||
$metric->name,
|
||||
set::href(helper::createLink('metric', 'preview', "scope=$scope&viewType=$viewType&metricID={$metric->id}")),
|
||||
set::href(helper::createLink('metric', 'preview', $params)),
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user