mirror of
https://github.com/Combodo/iTop.git
synced 2026-05-17 14:28:53 +02:00
N°3123 - Create specific block for DisplayBlock(type: List)
This commit is contained in:
@@ -22,4 +22,5 @@
|
||||
@import "components/all";
|
||||
@import "layout/all";
|
||||
@import "pages/all";
|
||||
@import "themes/all";
|
||||
@import "specific/all";
|
||||
@import "themes/all";
|
||||
|
||||
6
css/backoffice/specific/_all.scss
Normal file
6
css/backoffice/specific/_all.scss
Normal file
@@ -0,0 +1,6 @@
|
||||
/*!
|
||||
* copyright Copyright (C) 2010-2020 Combodo SARL
|
||||
* license http://opensource.org/licenses/AGPL-3.0
|
||||
*/
|
||||
|
||||
@import "displayblock/all";
|
||||
2
css/backoffice/specific/displayblock/_all.scss
Normal file
2
css/backoffice/specific/displayblock/_all.scss
Normal file
@@ -0,0 +1,2 @@
|
||||
|
||||
@import "blocklist";
|
||||
4
css/backoffice/specific/displayblock/_blocklist.scss
Normal file
4
css/backoffice/specific/displayblock/_blocklist.scss
Normal file
@@ -0,0 +1,4 @@
|
||||
/*!
|
||||
* copyright Copyright (C) 2010-2020 Combodo SARL
|
||||
* license http://opensource.org/licenses/AGPL-3.0
|
||||
*/
|
||||
@@ -147,7 +147,7 @@ return array(
|
||||
'Combodo\\iTop\\Application\\Search\\CriterionConversion\\CriterionToSearchForm' => $baseDir . '/sources/application/search/criterionconversion/criteriontosearchform.class.inc.php',
|
||||
'Combodo\\iTop\\Application\\Search\\CriterionParser' => $baseDir . '/sources/application/search/criterionparser.class.inc.php',
|
||||
'Combodo\\iTop\\Application\\Search\\SearchForm' => $baseDir . '/sources/application/search/searchform.class.inc.php',
|
||||
'Combodo\\iTop\\Application\\Service\\DisplayBlockFactory' => $baseDir . '/sources/application/UI/Service/DisplayBlockFactory.php',
|
||||
'Combodo\\iTop\\Application\\Specific\\DisplayBlock\\DisplayBlockFactory' => $baseDir . '/sources/application/UI/Specific/DisplayBlock/DisplayBlockFactory.php',
|
||||
'Combodo\\iTop\\Application\\TwigBase\\Controller\\Controller' => $baseDir . '/sources/application/TwigBase/Controller/Controller.php',
|
||||
'Combodo\\iTop\\Application\\TwigBase\\Controller\\PageNotFoundException' => $baseDir . '/sources/application/TwigBase/Controller/Controller.php',
|
||||
'Combodo\\iTop\\Application\\TwigBase\\Twig\\Extension' => $baseDir . '/sources/application/TwigBase/Twig/Extension.php',
|
||||
@@ -242,6 +242,7 @@ return array(
|
||||
'Combodo\\iTop\\Application\\UI\\UIBlock' => $baseDir . '/sources/application/UI/UIBlock.php',
|
||||
'Combodo\\iTop\\Application\\UI\\UIException' => $baseDir . '/sources/application/UI/UIException.php',
|
||||
'Combodo\\iTop\\Application\\UI\\iUIBlock' => $baseDir . '/sources/application/UI/iUIBlock.php',
|
||||
'Combodo\\iTop\\Application\\UI\\tBlockParams' => $baseDir . '/sources/application/UI/tBlockParams.php',
|
||||
'Combodo\\iTop\\Application\\UI\\tUIContentAreas' => $baseDir . '/sources/application/UI/tUIContentAreas.php',
|
||||
'Combodo\\iTop\\Composer\\iTopComposer' => $baseDir . '/sources/Composer/iTopComposer.php',
|
||||
'Combodo\\iTop\\Controller\\AjaxRenderController' => $baseDir . '/sources/Controller/AjaxRenderController.php',
|
||||
|
||||
@@ -377,7 +377,7 @@ class ComposerStaticInit0018331147de7601e7552f7da8e3bb8b
|
||||
'Combodo\\iTop\\Application\\Search\\CriterionConversion\\CriterionToSearchForm' => __DIR__ . '/../..' . '/sources/application/search/criterionconversion/criteriontosearchform.class.inc.php',
|
||||
'Combodo\\iTop\\Application\\Search\\CriterionParser' => __DIR__ . '/../..' . '/sources/application/search/criterionparser.class.inc.php',
|
||||
'Combodo\\iTop\\Application\\Search\\SearchForm' => __DIR__ . '/../..' . '/sources/application/search/searchform.class.inc.php',
|
||||
'Combodo\\iTop\\Application\\Service\\DisplayBlockFactory' => __DIR__ . '/../..' . '/sources/application/UI/Service/DisplayBlockFactory.php',
|
||||
'Combodo\\iTop\\Application\\Specific\\DisplayBlock\\DisplayBlockFactory' => __DIR__ . '/../..' . '/sources/application/UI/Specific/DisplayBlock/DisplayBlockFactory.php',
|
||||
'Combodo\\iTop\\Application\\TwigBase\\Controller\\Controller' => __DIR__ . '/../..' . '/sources/application/TwigBase/Controller/Controller.php',
|
||||
'Combodo\\iTop\\Application\\TwigBase\\Controller\\PageNotFoundException' => __DIR__ . '/../..' . '/sources/application/TwigBase/Controller/Controller.php',
|
||||
'Combodo\\iTop\\Application\\TwigBase\\Twig\\Extension' => __DIR__ . '/../..' . '/sources/application/TwigBase/Twig/Extension.php',
|
||||
@@ -472,6 +472,7 @@ class ComposerStaticInit0018331147de7601e7552f7da8e3bb8b
|
||||
'Combodo\\iTop\\Application\\UI\\UIBlock' => __DIR__ . '/../..' . '/sources/application/UI/UIBlock.php',
|
||||
'Combodo\\iTop\\Application\\UI\\UIException' => __DIR__ . '/../..' . '/sources/application/UI/UIException.php',
|
||||
'Combodo\\iTop\\Application\\UI\\iUIBlock' => __DIR__ . '/../..' . '/sources/application/UI/iUIBlock.php',
|
||||
'Combodo\\iTop\\Application\\UI\\tBlockParams' => __DIR__ . '/../..' . '/sources/application/UI/tBlockParams.php',
|
||||
'Combodo\\iTop\\Application\\UI\\tUIContentAreas' => __DIR__ . '/../..' . '/sources/application/UI/tUIContentAreas.php',
|
||||
'Combodo\\iTop\\Composer\\iTopComposer' => __DIR__ . '/../..' . '/sources/Composer/iTopComposer.php',
|
||||
'Combodo\\iTop\\Controller\\AjaxRenderController' => __DIR__ . '/../..' . '/sources/Controller/AjaxRenderController.php',
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
<?php
|
||||
/**
|
||||
* @copyright Copyright (C) 2010-2020 Combodo SARL
|
||||
* @license http://opensource.org/licenses/AGPL-3.0
|
||||
*/
|
||||
|
||||
namespace Combodo\iTop\Application\UI\Specific\DisplayBlock\BlockList;
|
||||
|
||||
|
||||
use Combodo\iTop\Application\UI\Layout\UIContentBlock;
|
||||
use Combodo\iTop\Application\UI\tBlockParams;
|
||||
|
||||
/**
|
||||
* Class BlockList
|
||||
*
|
||||
* @package Combodo\iTop\Application\UI\Specific\DisplayBlock\BlockList
|
||||
*/
|
||||
class BlockList extends UIContentBlock
|
||||
{
|
||||
// Overloaded constants
|
||||
public const BLOCK_CODE = 'ibo-blocklist';
|
||||
public const HTML_TEMPLATE_REL_PATH = 'specific/displayblock/blocklist/layout';
|
||||
public const JS_TEMPLATE_REL_PATH = 'specific/displayblock/blocklist/layout';
|
||||
|
||||
use tBlockParams;
|
||||
}
|
||||
@@ -5,7 +5,7 @@
|
||||
*/
|
||||
|
||||
|
||||
namespace Combodo\iTop\Application\Service;
|
||||
namespace Combodo\iTop\Application\Specific\DisplayBlock;
|
||||
|
||||
|
||||
use Combodo\iTop\Application\UI\iUIBlock;
|
||||
60
sources/application/UI/tBlockParams.php
Normal file
60
sources/application/UI/tBlockParams.php
Normal file
@@ -0,0 +1,60 @@
|
||||
<?php
|
||||
/**
|
||||
* @copyright Copyright (C) 2010-2020 Combodo SARL
|
||||
* @license http://opensource.org/licenses/AGPL-3.0
|
||||
*/
|
||||
|
||||
namespace Combodo\iTop\Application\UI;
|
||||
|
||||
/**
|
||||
* Trait tBlockParams
|
||||
*
|
||||
* Add generic parameters to blocks
|
||||
*
|
||||
* @package Combodo\iTop\Application\UI
|
||||
*/
|
||||
trait tBlockParams
|
||||
{
|
||||
/** @var array */
|
||||
protected $aParameters;
|
||||
|
||||
/**
|
||||
* @param string $sName
|
||||
*
|
||||
* @return mixed|null
|
||||
*/
|
||||
public function GetParameter(string $sName)
|
||||
{
|
||||
if (isset($this->aParameters[$sName])) {
|
||||
return $this->aParameters[$sName];
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $sName
|
||||
* @param $value
|
||||
*/
|
||||
public function AddParameter(string $sName, $value)
|
||||
{
|
||||
$this->aParameters[$sName] = $value;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return array
|
||||
*/
|
||||
public function GetParameters(): array
|
||||
{
|
||||
return $this->aParameters;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param array $aParameters
|
||||
*/
|
||||
public function SetParameters(array $aParameters): void
|
||||
{
|
||||
$this->aParameters = $aParameters;
|
||||
}
|
||||
|
||||
}
|
||||
25
templates/specific/displayblock/blocklist/layout.html.twig
Normal file
25
templates/specific/displayblock/blocklist/layout.html.twig
Normal file
@@ -0,0 +1,25 @@
|
||||
{# @copyright Copyright (C) 2010-2020 Combodo SARL #}
|
||||
{# @license http://opensource.org/licenses/AGPL-3.0 #}
|
||||
{% apply spaceless %}
|
||||
|
||||
{% if oUIBlock.GetParameter('bEmptySet') %}
|
||||
<p>{{ 'UI:NoObjectToDisplay'|dict_s }}</p>
|
||||
{% endif %}
|
||||
|
||||
{% if oUIBlock.GetParameter('bNotAuthorized') %}
|
||||
<p>{{ 'UI:NoObjectToDisplay'|dict_s }}</p>
|
||||
{% endif %}
|
||||
|
||||
{% if oUIBlock.GetParameter('bCreateNew') %}
|
||||
<p>
|
||||
<a{{ oUIBlock.GetParameter('sLinkTarget') }} href="{{ oUIBlock.GetParameter('sAbsoluteUrlAppRoot') }}pages/UI.php?operation=new&class={{ oUIBlock.GetParameter('sClass') }}&{{ oUIBlock.GetParameter('sParams') }}{{ oUIBlock.GetParameter('sDefault') }}">
|
||||
{{ 'UI:ClickToCreateNew'|dict_format(oUIBlock.GetParameter('sClassName')) }}
|
||||
</a>
|
||||
</p>
|
||||
{% endif %}
|
||||
|
||||
{% for oSubBlock in oUIBlock.GetSubBlocks() %}
|
||||
{{ render_block(oSubBlock, {aPage: aPage}) }}
|
||||
{% endfor %}
|
||||
|
||||
{% endapply %}
|
||||
7
templates/specific/displayblock/blocklist/layout.js.twig
Normal file
7
templates/specific/displayblock/blocklist/layout.js.twig
Normal file
@@ -0,0 +1,7 @@
|
||||
{# @copyright Copyright (C) 2010-2020 Combodo SARL #}
|
||||
{# @license http://opensource.org/licenses/AGPL-3.0 #}
|
||||
{% apply spaceless %}
|
||||
{% if oUIBlock.GetParameter('sEventAttachedData') is not empty %}
|
||||
$('body').trigger('update_history.itop', [{{ oUIBlock.GetParameter('sEventAttachedData') }}])
|
||||
{% endif %}
|
||||
{% endapply %}
|
||||
Reference in New Issue
Block a user