diff --git a/datamodels/2.x/itop-portal-base/portal/src/apis/extensions/d3portaluiextension.class.inc.php b/datamodels/2.x/itop-portal-base/portal/src/apis/extensions/d3portaluiextension.class.inc.php deleted file mode 100644 index f105f9c54..000000000 --- a/datamodels/2.x/itop-portal-base/portal/src/apis/extensions/d3portaluiextension.class.inc.php +++ /dev/null @@ -1,44 +0,0 @@ - -// -namespace Combodo\iTop\Portal\API\Extension; - -use AbstractPortalUIExtension; -use Silex\Application; -use utils; - -class D3PortalUIExtension extends AbstractPortalUIExtension -{ - public function GetCSSFiles(Application $oApp) - { - $aCSSFiles = array( - utils::GetAbsoluteUrlAppRoot().'css/c3.min.css?v='.ITOP_VERSION, - ); - return $aCSSFiles; - } - - public function GetJSFiles(Application $oApp) - { - $aJSFiles = array( - utils::GetAbsoluteUrlAppRoot().'js/d3.min.js?v='.ITOP_VERSION, - utils::GetAbsoluteUrlAppRoot().'js/c3.min.js?v='.ITOP_VERSION, - utils::GetCurrentModuleUrl().'/portal/web/js/export.js?v='.ITOP_VERSION, - ); - return $aJSFiles; - } -} \ No newline at end of file diff --git a/datamodels/2.x/itop-portal-base/portal/src/entities/managebrick.class.inc.php b/datamodels/2.x/itop-portal-base/portal/src/entities/managebrick.class.inc.php index 5760df17c..08ca6072c 100644 --- a/datamodels/2.x/itop-portal-base/portal/src/entities/managebrick.class.inc.php +++ b/datamodels/2.x/itop-portal-base/portal/src/entities/managebrick.class.inc.php @@ -46,6 +46,7 @@ class ManageBrick extends PortalBrick const DEFAULT_LIST_LENGTH = 20; const DEFAULT_ZLIST_FIELDS = 'list'; const DEFAULT_SHOW_TAB_COUNTS = false; + const DEFAULT_DISPLAY_MODE = self::ENUM_DISPLAY_MODE_TABLE; 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'; @@ -55,6 +56,43 @@ class ManageBrick extends PortalBrick self::ENUM_DISPLAY_MODE_PIE, self::ENUM_DISPLAY_MODE_BAR, ); + static $aPresentationData = array( + 'badge' => array( + 'decorationCssClass' => 'fa fa-id-card-o fa-2x', + 'tileTemplate' => 'itop-portal-base/portal/src/views/bricks/manage/tile-badge.html.twig', + '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' => 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' => 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' => 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' => self::ENUM_PAGE_TEMPLATE_PATH_TABLE, + 'layoutDisplayMode' => self::ENUM_DISPLAY_MODE_TABLE, + 'need_details' => true, + ), + ); static $sRouteName = 'p_manage_brick'; @@ -70,44 +108,6 @@ class ManageBrick extends PortalBrick protected $sDisplayMode; protected $iGroupLimit; protected $bGroupShowOthers; - - protected $aPresentationData = array( - 'badge' => array( - 'decorationCssClass' => 'fa fa-id-card-o fa-2x', - 'tileTemplate' => 'itop-portal-base/portal/src/views/bricks/manage/tile-badge.html.twig', - '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' => 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' => 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' => 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' => self::ENUM_PAGE_TEMPLATE_PATH_TABLE, - 'layoutDisplayMode' => self::ENUM_DISPLAY_MODE_TABLE, - 'need_details' => true, - ), - ); protected $aAvailableDisplayModes = array(); public function __construct() @@ -208,12 +208,12 @@ class ManageBrick extends PortalBrick */ public function GetPresentationDataForDisplayMode($sDisplayMode) { - if (isset($this->aPresentationData[$sDisplayMode])) + if (isset(static::$aPresentationData[$sDisplayMode])) { - return $this->aPresentationData[$sDisplayMode]; + return static::$aPresentationData[$sDisplayMode]; } - return $this->aPresentationData['default']; + return static::$aPresentationData[static::DEFAULT_DISPLAY_MODE]; } /** @@ -697,7 +697,7 @@ class ManageBrick extends PortalBrick // Display modes : at least one selected $sDefaultDetailDisplayMode = (isset($this->sDisplayMode)) - ? $this->aPresentationData[$this->sDisplayMode]['layoutDisplayMode'] + ? static::$aPresentationData[$this->sDisplayMode]['layoutDisplayMode'] : 'default'; $bHasAvailableDisplayModes = (count($this->GetAvailablesDisplayModes()) > 0); $bIsDefaultDisplayModeInAvailableModes = in_array($sDefaultDetailDisplayMode, @@ -728,9 +728,9 @@ class ManageBrick extends PortalBrick // Checking the navigation icon $sDecorationClassNavigationMenu = $this->GetDecorationClassNavigationMenu(); - if (empty($sDecorationClassNavigationMenu) && isset($this->aPresentationData[$this->sDisplayMode])) + if (empty($sDecorationClassNavigationMenu) && isset(static::$aPresentationData[$this->sDisplayMode])) { - $sDecorationClassNavigationMenu = $this->aPresentationData[$this->sDisplayMode]['decorationCssClass']; + $sDecorationClassNavigationMenu = static::$aPresentationData[$this->sDisplayMode]['decorationCssClass']; if (!empty($sDecorationClassNavigationMenu)) { $this->SetDecorationClassNavigationMenu($sDecorationClassNavigationMenu); diff --git a/datamodels/2.x/itop-portal-base/portal/src/views/bricks/manage/layout.html.twig b/datamodels/2.x/itop-portal-base/portal/src/views/bricks/manage/layout.html.twig index 3b38f4a31..740e3fbc1 100644 --- a/datamodels/2.x/itop-portal-base/portal/src/views/bricks/manage/layout.html.twig +++ b/datamodels/2.x/itop-portal-base/portal/src/views/bricks/manage/layout.html.twig @@ -7,7 +7,7 @@ {% if oBrick.GetAvailablesDisplayModes|length > 1 %}
{% for sDisplay in oBrick.GetAvailablesDisplayModes %} - {{ ('Brick:Portal:Manage:DisplayMode:' ~ sDisplay)|dict_s }} diff --git a/datamodels/2.x/itop-portal-base/portal/src/views/layout.html.twig b/datamodels/2.x/itop-portal-base/portal/src/views/layout.html.twig index 0cfce0b06..75af312e3 100644 --- a/datamodels/2.x/itop-portal-base/portal/src/views/layout.html.twig +++ b/datamodels/2.x/itop-portal-base/portal/src/views/layout.html.twig @@ -46,6 +46,7 @@ {# - Misc libs #} + {# - Bootstrap theme #} {# - Portal adjustments for BS theme #} @@ -84,6 +85,8 @@ + + {# Visible.js to check if an element is visible on screen #} @@ -101,6 +104,8 @@ + {# Export for Datatables #} + {# CKEditor files for HTML WYSIWYG #}