mirror of
https://github.com/Combodo/iTop.git
synced 2026-04-23 10:38:45 +02:00
Portal: Fixes on ManageBrick routes and display modes.
SVN:trunk[5860]
This commit is contained in:
@@ -108,9 +108,9 @@ Dict::Add('EN US', 'English', 'English', array(
|
||||
'Brick:Portal:Manage:Name' => 'Manage items',
|
||||
'Brick:Portal:Manage:Table:NoData' => 'No item.',
|
||||
'Brick:Portal:Manage:Table:ItemActions' => 'Actions',
|
||||
'Brick:Portal:Manage:DisplayType:pie-chart' => 'Pie Chart',
|
||||
'Brick:Portal:Manage:DisplayType:bar-chart' => 'Bar Chart',
|
||||
'Brick:Portal:Manage:DisplayType:default' => 'List',
|
||||
'Brick:Portal:Manage:DisplayMode:pie-chart' => 'Pie Chart',
|
||||
'Brick:Portal:Manage:DisplayMode:bar-chart' => 'Bar Chart',
|
||||
'Brick:Portal:Manage:DisplayMode:default' => 'List',
|
||||
'Brick:Portal:Manage:Others' => 'Others',
|
||||
'Brick:Portal:Manage:All' => 'All',
|
||||
'Brick:Portal:Manage:Group' => 'Group',
|
||||
|
||||
@@ -108,9 +108,9 @@ Dict::Add('FR FR', 'French', 'Français', array(
|
||||
'Brick:Portal:Manage:Name' => 'Gestion d\'éléments',
|
||||
'Brick:Portal:Manage:Table:NoData' => 'Aucun élément',
|
||||
'Brick:Portal:Manage:Table:ItemActions' => 'Actions',
|
||||
'Brick:Portal:Manage:DisplayType:pie-chart' => 'Secteur',
|
||||
'Brick:Portal:Manage:DisplayType:bar-chart' => 'Histogramme',
|
||||
'Brick:Portal:Manage:DisplayType:default' => 'Liste',
|
||||
'Brick:Portal:Manage:DisplayMode:pie-chart' => 'Secteur',
|
||||
'Brick:Portal:Manage:DisplayMode:bar-chart' => 'Histogramme',
|
||||
'Brick:Portal:Manage:DisplayMode:default' => 'Liste',
|
||||
'Brick:Portal:Manage:Others' => 'Autres',
|
||||
'Brick:Portal:Manage:All' => 'Total',
|
||||
'Brick:Portal:Manage:Group' => 'Groupe',
|
||||
|
||||
@@ -54,7 +54,7 @@ class ManageBrickController extends BrickController
|
||||
* @param \Symfony\Component\HttpFoundation\Request $oRequest
|
||||
* @param \Silex\Application $oApp
|
||||
* @param string $sBrickId
|
||||
* @param string $sDisplayType
|
||||
* @param string $sDisplayMode
|
||||
* @param string $sGroupingTab
|
||||
* @param string $sDataLoading
|
||||
*
|
||||
@@ -65,21 +65,21 @@ class ManageBrickController extends BrickController
|
||||
* @throws \MySQLException
|
||||
* @throws \OQLException
|
||||
*/
|
||||
public function DisplayAction(Request $oRequest, Application $oApp, $sBrickId, $sGroupingTab, $sDisplayType = null, $sDataLoading = null)
|
||||
public function DisplayAction(Request $oRequest, Application $oApp, $sBrickId, $sGroupingTab, $sDisplayMode = null, $sDataLoading = null)
|
||||
{
|
||||
/** @var ManageBrick $oBrick */
|
||||
$oBrick = ApplicationHelper::GetLoadedBrickFromId($oApp, $sBrickId);
|
||||
|
||||
if (is_null($sDisplayType))
|
||||
if (is_null($sDisplayMode))
|
||||
{
|
||||
$sDisplayType = $oBrick->GetDisplayType();
|
||||
$sDisplayMode = $oBrick->GetDisplayMode();
|
||||
}
|
||||
$aDisplayParams = $oBrick->GetPresentationDataForDisplayType($sDisplayType);
|
||||
$aDisplayParams = $oBrick->GetPresentationDataForDisplayMode($sDisplayMode);
|
||||
$aData = $this->GetData($oRequest, $oApp, $sBrickId, $sGroupingTab, $aDisplayParams['need_details']);
|
||||
|
||||
$aExportFields = $oBrick->GetExportFields();
|
||||
$aData = $aData + array(
|
||||
'sDisplayType' => $sDisplayType,
|
||||
'sDisplayMode' => $sDisplayMode,
|
||||
'bCanExport' => !empty($aExportFields),
|
||||
);
|
||||
// Preparing response
|
||||
@@ -701,7 +701,7 @@ class ManageBrickController extends BrickController
|
||||
);
|
||||
$aUrls[] = $oApp['url_generator']->generate('p_manage_brick', array(
|
||||
'sBrickId' => $sBrickId,
|
||||
'sDisplayType' => 'default',
|
||||
'sDisplayMode' => 'default',
|
||||
'sGroupingTab' => $aValues['value']
|
||||
));
|
||||
}
|
||||
|
||||
@@ -30,29 +30,37 @@ use Combodo\iTop\Portal\Brick\PortalBrick;
|
||||
*/
|
||||
class BrowseBrick extends PortalBrick
|
||||
{
|
||||
const DEFAULT_DECORATION_CLASS_HOME = 'fa fa-map';
|
||||
const DEFAULT_DECORATION_CLASS_NAVIGATION_MENU = 'fa fa-map fa-2x';
|
||||
const ENUM_BROWSE_MODE_LIST = 'list';
|
||||
const ENUM_BROWSE_MODE_TREE = 'tree';
|
||||
const ENUM_BROWSE_MODE_MOSAIC = 'mosaic';
|
||||
|
||||
const ENUM_ACTION_VIEW = 'view';
|
||||
const ENUM_ACTION_EDIT = 'edit';
|
||||
const ENUM_ACTION_DRILLDOWN = 'drilldown';
|
||||
|
||||
const ENUM_ACTION_CREATE_FROM_THIS = 'create_from_this';
|
||||
const ENUM_ACTION_ICON_CLASS_VIEW = 'glyphicon glyphicon-list-alt';
|
||||
const ENUM_ACTION_ICON_CLASS_EDIT = 'glyphicon glyphicon-pencil';
|
||||
const ENUM_ACTION_ICON_CLASS_DRILLDOWN = 'glyphicon glyphicon-menu-down';
|
||||
const ENUM_ACTION_ICON_CLASS_CREATE_FROM_THIS = 'glyphicon glyphicon-edit';
|
||||
|
||||
const ENUM_FACTORY_TYPE_METHOD = 'method';
|
||||
const ENUM_FACTORY_TYPE_CLASS = 'class';
|
||||
const DEFAULT_DATA_LOADING = self::ENUM_DATA_LOADING_FULL;
|
||||
|
||||
const DEFAULT_DECORATION_CLASS_HOME = 'fa fa-map';
|
||||
const DEFAULT_DECORATION_CLASS_NAVIGATION_MENU = 'fa fa-map fa-2x';
|
||||
const DEFAULT_DATA_LOADING = self::ENUM_DATA_LOADING_FULL;
|
||||
const DEFAULT_LEVEL_NAME_ATT = 'name';
|
||||
const DEFAULT_BROWSE_MODE = self::ENUM_BROWSE_MODE_LIST;
|
||||
const DEFAULT_ACTION = self::ENUM_ACTION_DRILLDOWN;
|
||||
const DEFAULT_ACTION_OPENING_TARGET = self::ENUM_OPENING_TARGET_MODAL;
|
||||
const DEFAULT_LIST_LENGTH = 20;
|
||||
|
||||
static $aBrowseModes = array(self::ENUM_BROWSE_MODE_LIST, self::ENUM_BROWSE_MODE_TREE, self::ENUM_BROWSE_MODE_MOSAIC);
|
||||
static $aBrowseModes = array(
|
||||
self::ENUM_BROWSE_MODE_LIST,
|
||||
self::ENUM_BROWSE_MODE_TREE,
|
||||
self::ENUM_BROWSE_MODE_MOSAIC
|
||||
);
|
||||
|
||||
static $sRouteName = 'p_browse_brick';
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?php
|
||||
|
||||
// Copyright (C) 2010-2017 Combodo SARL
|
||||
// Copyright (C) 2010-2018 Combodo SARL
|
||||
//
|
||||
// This file is part of iTop.
|
||||
//
|
||||
@@ -25,17 +25,21 @@ use DBSearch;
|
||||
use DOMFormatException;
|
||||
use MetaModel;
|
||||
|
||||
define('MANAGE_BRICK_LAYOUT_PATH', 'itop-portal-base/portal/src/views/bricks/manage/');
|
||||
|
||||
class ManageBrick extends PortalBrick
|
||||
{
|
||||
const ENUM_ACTION_VIEW = 'view';
|
||||
const ENUM_ACTION_EDIT = 'edit';
|
||||
|
||||
const DEFAULT_DECORATION_CLASS_HOME = 'fa fa-pencil-square';
|
||||
const ENUM_DISPLAY_MODE_TABLE = 'default';
|
||||
const ENUM_DISPLAY_MODE_PIE = 'pie-chart';
|
||||
const ENUM_DISPLAY_MODE_BAR = 'bar-chart';
|
||||
|
||||
const ENUM_PAGE_TEMPLATE_PATH_TABLE = 'itop-portal-base/portal/src/views/bricks/manage/layout-table.html.twig';
|
||||
const ENUM_PAGE_TEMPLATE_PATH_CHART = 'itop-portal-base/portal/src/views/bricks/manage/layout-chart.html.twig';
|
||||
|
||||
const DEFAULT_DECORATION_CLASS_HOME = 'fa fa-pencil-square';
|
||||
const DEFAULT_DECORATION_CLASS_NAVIGATION_MENU = 'fa fa-pencil-square fa-2x';
|
||||
const DEFAULT_PAGE_TEMPLATE_PATH = 'itop-portal-base/portal/src/views/bricks/manage/layout-table.html.twig';
|
||||
const CHART_PAGE_TEMPLATE_PATH = 'itop-portal-base/portal/src/views/bricks/manage/layout-chart.html.twig';
|
||||
const DEFAULT_PAGE_TEMPLATE_PATH = self::ENUM_PAGE_TEMPLATE_PATH_TABLE;
|
||||
const DEFAULT_OQL = '';
|
||||
const DEFAULT_OPENING_MODE = self::ENUM_ACTION_EDIT;
|
||||
const DEFAULT_DATA_LOADING = self::ENUM_DATA_LOADING_LAZY;
|
||||
@@ -46,7 +50,14 @@ class ManageBrick extends PortalBrick
|
||||
const DEFAULT_TILE_TEMPLATE_PATH = 'itop-portal-base/portal/src/views/bricks/manage/tile-default.html.twig';
|
||||
const DEFAULT_TILE_CONTROLLER_ACTION = 'Combodo\\iTop\\Portal\\Controller\\ManageBrickController::TileAction';
|
||||
|
||||
static $aDisplayModes = array(
|
||||
self::ENUM_DISPLAY_MODE_TABLE,
|
||||
self::ENUM_DISPLAY_MODE_PIE,
|
||||
self::ENUM_DISPLAY_MODE_BAR,
|
||||
);
|
||||
|
||||
static $sRouteName = 'p_manage_brick';
|
||||
|
||||
protected $sOql;
|
||||
protected $sOpeningMode;
|
||||
protected $aGrouping;
|
||||
@@ -56,7 +67,7 @@ class ManageBrick extends PortalBrick
|
||||
/**
|
||||
* @var string default display mode for the brick's tile
|
||||
*/
|
||||
protected $sDisplayType;
|
||||
protected $sDisplayMode;
|
||||
protected $iGroupLimit;
|
||||
protected $bGroupShowOthers;
|
||||
|
||||
@@ -64,48 +75,40 @@ class ManageBrick extends PortalBrick
|
||||
'badge' => array(
|
||||
'decorationCssClass' => 'fa fa-id-card-o fa-2x',
|
||||
'tileTemplate' => 'itop-portal-base/portal/src/views/bricks/manage/tile-badge.html.twig',
|
||||
'layoutTemplate' => 'itop-portal-base/portal/src/views/bricks/manage/layout-table.html.twig',
|
||||
'layoutDisplayType' => ManageBrick::DISPLAY_MODE_TABLE,
|
||||
'layoutTemplate' => self::ENUM_PAGE_TEMPLATE_PATH_TABLE,
|
||||
'layoutDisplayMode' => self::ENUM_DISPLAY_MODE_TABLE,
|
||||
'need_details' => true,
|
||||
),
|
||||
'top-list' => array(
|
||||
'decorationCssClass' => 'fa fa-signal fa-rotate-270 fa-2x',
|
||||
'tileTemplate' => 'itop-portal-base/portal/src/views/bricks/manage/tile-top-list.html.twig',
|
||||
'layoutTemplate' => 'itop-portal-base/portal/src/views/bricks/manage/layout-table.html.twig',
|
||||
'layoutDisplayType' => ManageBrick::DISPLAY_MODE_TABLE,
|
||||
'layoutTemplate' => self::ENUM_PAGE_TEMPLATE_PATH_TABLE,
|
||||
'layoutDisplayMode' => self::ENUM_DISPLAY_MODE_TABLE,
|
||||
'need_details' => true,
|
||||
),
|
||||
'pie-chart' => array(
|
||||
'decorationCssClass' => 'fa fa-pie-chart fa-2x',
|
||||
'tileTemplate' => 'itop-portal-base/portal/src/views/bricks/manage/tile-chart.html.twig',
|
||||
'layoutTemplate' => 'itop-portal-base/portal/src/views/bricks/manage/layout-chart.html.twig',
|
||||
'layoutDisplayType' => ManageBrick::DISPLAY_MODE_PIE,
|
||||
'layoutTemplate' => self::ENUM_PAGE_TEMPLATE_PATH_CHART,
|
||||
'layoutDisplayMode' => self::ENUM_DISPLAY_MODE_PIE,
|
||||
'need_details' => false,
|
||||
),
|
||||
'bar-chart' => array(
|
||||
'decorationCssClass' => 'fa fa-bar-chart fa-2x',
|
||||
'tileTemplate' => 'itop-portal-base/portal/src/views/bricks/manage/tile-chart.html.twig',
|
||||
'layoutTemplate' => 'itop-portal-base/portal/src/views/bricks/manage/layout-chart.html.twig',
|
||||
'layoutDisplayType' => ManageBrick::DISPLAY_MODE_BAR,
|
||||
'layoutTemplate' => self::ENUM_PAGE_TEMPLATE_PATH_CHART,
|
||||
'layoutDisplayMode' => self::ENUM_DISPLAY_MODE_BAR,
|
||||
'need_details' => false,
|
||||
),
|
||||
'default' => array(
|
||||
'decorationCssClass' => 'fa fa-pencil-square fa-2x',
|
||||
'tileTemplate' => self::DEFAULT_TILE_TEMPLATE_PATH,
|
||||
'layoutTemplate' => 'itop-portal-base/portal/src/views/bricks/manage/layout-table.html.twig',
|
||||
'layoutDisplayType' => ManageBrick::DISPLAY_MODE_TABLE,
|
||||
'layoutTemplate' => self::ENUM_PAGE_TEMPLATE_PATH_TABLE,
|
||||
'layoutDisplayMode' => self::ENUM_DISPLAY_MODE_TABLE,
|
||||
'need_details' => true,
|
||||
),
|
||||
);
|
||||
protected $aAvailableDisplayModes = array();
|
||||
const DISPLAY_MODE_TABLE = 'default';
|
||||
const DISPLAY_MODE_PIE = 'pie-chart';
|
||||
const DISPLAY_MODE_BAR = 'bar-chart';
|
||||
const DISPLAY_MODES_ALLOWED = array(
|
||||
ManageBrick::DISPLAY_MODE_TABLE,
|
||||
ManageBrick::DISPLAY_MODE_PIE,
|
||||
ManageBrick::DISPLAY_MODE_BAR
|
||||
);
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
@@ -185,29 +188,29 @@ class ManageBrick extends PortalBrick
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
public function GetDisplayType()
|
||||
public function GetDisplayMode()
|
||||
{
|
||||
return $this->sDisplayType;
|
||||
return $this->sDisplayMode;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $sDisplayType
|
||||
* @param string $sDisplayMode
|
||||
*/
|
||||
public function SetDisplayType($sDisplayType)
|
||||
public function SetDisplayMode($sDisplayMode)
|
||||
{
|
||||
$this->sDisplayType = $sDisplayType;
|
||||
$this->sDisplayMode = $sDisplayMode;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $sDisplayType
|
||||
* @param string $sDisplayMode
|
||||
*
|
||||
* @return string[] parameters for specified type, default parameters if type is invalid
|
||||
*/
|
||||
public function GetPresentationDataForDisplayType($sDisplayType)
|
||||
public function GetPresentationDataForDisplayMode($sDisplayMode)
|
||||
{
|
||||
if (isset($this->aPresentationData[$sDisplayType]))
|
||||
if (isset($this->aPresentationData[$sDisplayMode]))
|
||||
{
|
||||
return $this->aPresentationData[$sDisplayType];
|
||||
return $this->aPresentationData[$sDisplayMode];
|
||||
}
|
||||
|
||||
return $this->aPresentationData['default'];
|
||||
@@ -495,7 +498,7 @@ class ManageBrick extends PortalBrick
|
||||
public function LoadFromXml(DesignElement $oMDElement)
|
||||
{
|
||||
parent::LoadFromXml($oMDElement);
|
||||
$this->sDisplayType = 'default';
|
||||
$this->sDisplayMode = 'default';
|
||||
$this->iGroupLimit = 0;
|
||||
$this->bGroupShowOthers = true;
|
||||
$bUseListFieldsForExport = false;
|
||||
@@ -509,7 +512,7 @@ class ManageBrick extends PortalBrick
|
||||
$sClass = $oBrickSubNode->GetText();
|
||||
if ($sClass === '')
|
||||
{
|
||||
throw new DOMFormatException('ManageBrick : class tag is empty. Must contain Classname', null,
|
||||
throw new DOMFormatException('ManageBrick: class tag is empty. Must contain Classname', null,
|
||||
null, $oBrickSubNode);
|
||||
}
|
||||
|
||||
@@ -520,7 +523,7 @@ class ManageBrick extends PortalBrick
|
||||
$sOql = $oBrickSubNode->GetText();
|
||||
if ($sOql === '')
|
||||
{
|
||||
throw new DOMFormatException('ManageBrick : oql tag is empty. Must contain OQL statement', null,
|
||||
throw new DOMFormatException('ManageBrick: oql tag is empty. Must contain OQL statement', null,
|
||||
null, $oBrickSubNode);
|
||||
}
|
||||
|
||||
@@ -531,7 +534,7 @@ class ManageBrick extends PortalBrick
|
||||
$sOpeningMode = $oBrickSubNode->GetText(static::DEFAULT_OPENING_MODE);
|
||||
if (!in_array($sOpeningMode, array(static::ENUM_ACTION_VIEW, static::ENUM_ACTION_EDIT)))
|
||||
{
|
||||
throw new DOMFormatException('ManageBrick : opening_mode tag value must be edit|view ("'.$sOpeningMode.'" given)',
|
||||
throw new DOMFormatException('ManageBrick: opening_mode tag value must be edit|view ("'.$sOpeningMode.'" given)',
|
||||
null, null, $oBrickSubNode);
|
||||
}
|
||||
|
||||
@@ -548,14 +551,14 @@ class ManageBrick extends PortalBrick
|
||||
{
|
||||
if (!$oModeNode->hasAttribute('id'))
|
||||
{
|
||||
throw new DOMFormatException('ManageBrick : display mode must have a unique ID attribute',
|
||||
throw new DOMFormatException('ManageBrick: Display mode must have a unique ID attribute',
|
||||
null, null, $oModeNode);
|
||||
}
|
||||
|
||||
$sModeId = $oModeNode->getAttribute('id');
|
||||
if (!in_array($sModeId, ManageBrick::DISPLAY_MODES_ALLOWED))
|
||||
if (!in_array($sModeId, static::$aDisplayModes))
|
||||
{
|
||||
throw new DOMFormatException('ManageBrick : display mode has an invalid value',
|
||||
throw new DOMFormatException('ManageBrick: Display mode has an invalid value. Expected '.implode('/', static::$aDisplayModes.', "'.$sModeId.'" given.'),
|
||||
null, null, $oModeNode);
|
||||
}
|
||||
|
||||
@@ -564,8 +567,8 @@ class ManageBrick extends PortalBrick
|
||||
break;
|
||||
|
||||
case 'default';
|
||||
$this->sDisplayType = $oDisplayNode->nodeValue;
|
||||
$aDisplayParameterForType = $this->GetPresentationDataForDisplayType($this->sDisplayType);
|
||||
$this->sDisplayMode = $oDisplayNode->nodeValue;
|
||||
$aDisplayParameterForType = $this->GetPresentationDataForDisplayMode($this->sDisplayMode);
|
||||
$this->SetTileTemplatePath($aDisplayParameterForType['tileTemplate']);
|
||||
$this->SetPageTemplatePath($aDisplayParameterForType['layoutTemplate']);
|
||||
break;
|
||||
@@ -693,8 +696,8 @@ class ManageBrick extends PortalBrick
|
||||
}
|
||||
|
||||
// Display modes : at least one selected
|
||||
$sDefaultDetailDisplayMode = (isset($this->sDisplayType))
|
||||
? $this->aPresentationData[$this->sDisplayType]['layoutDisplayType']
|
||||
$sDefaultDetailDisplayMode = (isset($this->sDisplayMode))
|
||||
? $this->aPresentationData[$this->sDisplayMode]['layoutDisplayMode']
|
||||
: 'default';
|
||||
$bHasAvailableDisplayModes = (count($this->GetAvailablesDisplayModes()) > 0);
|
||||
$bIsDefaultDisplayModeInAvailableModes = in_array($sDefaultDetailDisplayMode,
|
||||
@@ -725,9 +728,9 @@ class ManageBrick extends PortalBrick
|
||||
|
||||
// Checking the navigation icon
|
||||
$sDecorationClassNavigationMenu = $this->GetDecorationClassNavigationMenu();
|
||||
if (empty($sDecorationClassNavigationMenu) && isset($this->aPresentationData[$this->sDisplayType]))
|
||||
if (empty($sDecorationClassNavigationMenu) && isset($this->aPresentationData[$this->sDisplayMode]))
|
||||
{
|
||||
$sDecorationClassNavigationMenu = $this->aPresentationData[$this->sDisplayType]['decorationCssClass'];
|
||||
$sDecorationClassNavigationMenu = $this->aPresentationData[$this->sDisplayMode]['decorationCssClass'];
|
||||
if (!empty($sDecorationClassNavigationMenu))
|
||||
{
|
||||
$this->SetDecorationClassNavigationMenu($sDecorationClassNavigationMenu);
|
||||
|
||||
@@ -22,19 +22,29 @@ namespace Combodo\iTop\Portal\Router;
|
||||
class ManageBrickRouter extends AbstractRouter
|
||||
{
|
||||
static $aRoutes = array(
|
||||
array(
|
||||
'pattern' => '/manage/{sBrickId}/{sGroupingTab}/{sDisplayType}',
|
||||
'callback' => 'Combodo\\iTop\\Portal\\Controller\\ManageBrickController::DisplayAction',
|
||||
'bind' => 'p_manage_brick',
|
||||
'asserts' => array(
|
||||
'sDisplayType' => 'badge|pie-chart|bar-chart|top-list|default'
|
||||
),
|
||||
'values' => array(
|
||||
'sDisplayType' => 'default',
|
||||
'sGroupingTab' => null,
|
||||
)
|
||||
),
|
||||
array(
|
||||
array(
|
||||
'pattern' => '/manage/{sBrickId}/{sGroupingTab}',
|
||||
'callback' => 'Combodo\\iTop\\Portal\\Controller\\ManageBrickController::DisplayAction',
|
||||
'bind' => 'p_manage_brick',
|
||||
'asserts' => array(),
|
||||
'values' => array(
|
||||
'sDisplayMode' => 'default',
|
||||
'sGroupingTab' => null,
|
||||
)
|
||||
),
|
||||
array(
|
||||
'pattern' => '/manage/{sBrickId}/display-as/{sDisplayMode}/{sGroupingTab}',
|
||||
'callback' => 'Combodo\\iTop\\Portal\\Controller\\ManageBrickController::DisplayAction',
|
||||
'bind' => 'p_manage_brick_display_as',
|
||||
'asserts' => array(
|
||||
'sDisplayMode' => 'badge|pie-chart|bar-chart|top-list|default'
|
||||
),
|
||||
'values' => array(
|
||||
'sDisplayMode' => 'default',
|
||||
'sGroupingTab' => null,
|
||||
)
|
||||
),
|
||||
array(
|
||||
'pattern' => '/manage/{sBrickId}/{sGroupingTab}/{sGroupingArea}/page/{iPageNumber}/show/{iListLength}',
|
||||
'callback' => 'Combodo\\iTop\\Portal\\Controller\\ManageBrickController::DisplayAction',
|
||||
'bind' => 'p_manage_brick_lazy',
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
{% block pMainContentHolder %}
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-body">
|
||||
{% include 'itop-portal-base/portal/src/views/bricks/manage/mode-' ~ sDisplayType ~ '.html.twig' with {'oBrick': oBrick, 'aColumns': aColumns, 'aNames': aNames, 'aUrls': aUrls, 'aDisplayValues': aDisplayValues} %}
|
||||
{% include 'itop-portal-base/portal/src/views/bricks/manage/mode-' ~ sDisplayMode ~ '.html.twig' with {'oBrick': oBrick, 'aColumns': aColumns, 'aNames': aNames, 'aUrls': aUrls, 'aDisplayValues': aDisplayValues} %}
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
<ul class="nav nav-pills grouping_tabs">
|
||||
{% for aGroupingTab in aGroupingTabsValues %}
|
||||
<li{% if sGroupingTab is defined and sGroupingTab == aGroupingTab.value %} class="active"{% endif %}>
|
||||
<a href="{{ app.url_generator.generate('p_manage_brick', {'sBrickId': sBrickId, 'sDisplayType': 'default', 'sGroupingTab': aGroupingTab.value}) }}"
|
||||
<a href="{{ app.url_generator.generate('p_manage_brick', {'sBrickId': sBrickId, 'sDisplayMode': 'default', 'sGroupingTab': aGroupingTab.value}) }}"
|
||||
id="btn_tab_for_{{ aGroupingTab.value }}">
|
||||
{{ aGroupingTab.label|raw }}
|
||||
{% if oBrick.GetShowTabCounts() %}
|
||||
|
||||
@@ -7,10 +7,10 @@
|
||||
{% if oBrick.GetAvailablesDisplayModes|length > 1 %}
|
||||
<div class="btn-group btn_group_explicit">
|
||||
{% for sDisplay in oBrick.GetAvailablesDisplayModes %}
|
||||
<a href="{{ app.url_generator.generate('p_manage_brick', {'sBrickId': sBrickId, 'sDisplayType': sDisplay}) }}{% if app['combodo.portal.instance.routes'][oBrick.GetRouteName]['hash'] is defined %}#{{ app['combodo.portal.instance.routes'][oBrick.GetRouteName]['hash'] }}{% endif %}"
|
||||
<a href="{{ app.url_generator.generate('p_manage_brick', {'sBrickId': sBrickId, 'sDisplayMode': sDisplay}) }}{% if app['combodo.portal.instance.routes'][oBrick.GetRouteName]['hash'] is defined %}#{{ app['combodo.portal.instance.routes'][oBrick.GetRouteName]['hash'] }}{% endif %}"
|
||||
id="btn_tab_for_{{ sDisplay }}"
|
||||
class="btn btn-default {% if sDisplay == oBrick.GetPresentationDataForDisplayType(sDisplayType).layoutDisplayType %}active{% endif %}">
|
||||
{{ ('Brick:Portal:Manage:DisplayType:' ~ sDisplay)|dict_s }}
|
||||
class="btn btn-default {% if sDisplay == oBrick.GetPresentationDataForDisplayMode(sDisplayMode).layoutDisplayMode %}active{% endif %}">
|
||||
{{ ('Brick:Portal:Manage:DisplayMode:' ~ sDisplay)|dict_s }}
|
||||
</a>
|
||||
{% endfor %}
|
||||
</div>
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
|
||||
<div class="col-xs-12 col-sm-{{ oBrick.GetWidth }} tile-badge">
|
||||
{% block pTileWrapper %}
|
||||
<a href="{{ app.url_generator.generate('p_manage_brick', {'sBrickId': sBrickId, 'sDisplayType': oBrick.GetDisplayType}) }}{% if app['combodo.portal.instance.routes'][oBrick.GetRouteName]['hash'] is defined %}#{{ app['combodo.portal.instance.routes'][oBrick.GetRouteName]['hash'] }}{% endif %}"
|
||||
<a href="{{ app.url_generator.generate('p_manage_brick_display_as', {'sBrickId': sBrickId, 'sDisplayMode': oBrick.GetDisplayMode}) }}{% if app['combodo.portal.instance.routes'][oBrick.GetRouteName]['hash'] is defined %}#{{ app['combodo.portal.instance.routes'][oBrick.GetRouteName]['hash'] }}{% endif %}"
|
||||
{% if app['combodo.portal.instance.routes'][oBrick.GetRouteName]['navigation_menu_attr'] is defined %}{% for key, value in app['combodo.portal.instance.routes'][oBrick.GetRouteName]['navigation_menu_attr'] %} {{ key }}="{{ value }}"{% endfor %}{% endif %}
|
||||
{% if oBrick.GetModal %}data-toggle="modal" data-target="#modal-for-all"{% endif %}
|
||||
class="tile{# vertical-center#}"
|
||||
|
||||
@@ -3,16 +3,16 @@
|
||||
|
||||
<div class="col-xs-12 col-sm-{{ oBrick.GetWidth }} tile-chart">
|
||||
{% block pTileWrapper %}
|
||||
<a href="{{ app.url_generator.generate('p_manage_brick', {'sBrickId': sBrickId, 'sDisplayType': oBrick.GetDisplayType}) }}{% if app['combodo.portal.instance.routes'][oBrick.GetRouteName]['hash'] is defined %}#{{ app['combodo.portal.instance.routes'][oBrick.GetRouteName]['hash'] }}{% endif %}"
|
||||
<a href="{{ app.url_generator.generate('p_manage_brick_display_as', {'sBrickId': sBrickId, 'sDisplayMode': oBrick.GetDisplayMode}) }}{% if app['combodo.portal.instance.routes'][oBrick.GetRouteName]['hash'] is defined %}#{{ app['combodo.portal.instance.routes'][oBrick.GetRouteName]['hash'] }}{% endif %}"
|
||||
{% if app['combodo.portal.instance.routes'][oBrick.GetRouteName]['navigation_menu_attr'] is defined %}{% for key, value in app['combodo.portal.instance.routes'][oBrick.GetRouteName]['navigation_menu_attr'] %} {{ key }}="{{ value }}"{% endfor %}{% endif %}
|
||||
{% if oBrick.GetModal %}data-toggle="modal" data-target="#modal-for-all"{% endif %}
|
||||
class="tile{# vertical-center#}"
|
||||
id="brick-{{ oBrick.GetId }}"
|
||||
data-brick-id="{{ oBrick.GetId }}">
|
||||
<div>
|
||||
<div class="tile_title"><span class="icon fa fa-{{ oBrick.GetDisplayType }}"></span> {{ oBrick.GetTitle()|dict_s }}
|
||||
<div class="tile_title"><span class="icon fa fa-{{ oBrick.GetDisplayMode }}"></span> {{ oBrick.GetTitle()|dict_s }}
|
||||
({{ iCount }})</span> </div>
|
||||
{% include 'itop-portal-base/portal/src/views/bricks/manage/mode-' ~ oBrick.GetDisplayType ~ '.html.twig' with {'oBrick': oBrick, 'aColumns': aColumns, 'aNames': aNames, 'aUrls': aUrls, 'aDisplayValues': aDisplayValues} %}
|
||||
{% include 'itop-portal-base/portal/src/views/bricks/manage/mode-' ~ oBrick.GetDisplayMode ~ '.html.twig' with {'oBrick': oBrick, 'aColumns': aColumns, 'aNames': aNames, 'aUrls': aUrls, 'aDisplayValues': aDisplayValues} %}
|
||||
</div>
|
||||
</a>
|
||||
{% endblock %}
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
|
||||
<div class="col-xs-12 col-sm-{{ oBrick.GetWidth }}">
|
||||
{% block pTileWrapper %}
|
||||
<a href="{{ app.url_generator.generate('p_manage_brick', {'sBrickId': sBrickId, 'sDisplayType': oBrick.GetDisplayType}) }}{% if app['combodo.portal.instance.routes'][oBrick.GetRouteName]['hash'] is defined %}#{{ app['combodo.portal.instance.routes'][oBrick.GetRouteName]['hash'] }}{% endif %}"
|
||||
<a href="{{ app.url_generator.generate('p_manage_brick_display_as', {'sBrickId': sBrickId, 'sDisplayMode': oBrick.GetDisplayMode}) }}{% if app['combodo.portal.instance.routes'][oBrick.GetRouteName]['hash'] is defined %}#{{ app['combodo.portal.instance.routes'][oBrick.GetRouteName]['hash'] }}{% endif %}"
|
||||
{% if app['combodo.portal.instance.routes'][oBrick.GetRouteName]['navigation_menu_attr'] is defined %}{% for key, value in app['combodo.portal.instance.routes'][oBrick.GetRouteName]['navigation_menu_attr'] %} {{ key }}="{{ value }}"{% endfor %}{% endif %}
|
||||
{% if oBrick.GetModal %}data-toggle="modal" data-target="#modal-for-all"{% endif %}
|
||||
class="tile{# vertical-center#}"
|
||||
|
||||
Reference in New Issue
Block a user