mirror of
https://github.com/Combodo/iTop.git
synced 2026-02-13 07:24:13 +01:00
N°4468 - Add data-resource-id meta-data on all buttons
This commit is contained in:
@@ -2332,6 +2332,8 @@ class MenuBlock extends DisplayBlock
|
||||
|
||||
$sTarget = isset($aAction['target']) ? $aAction['target'] : '';
|
||||
$oActionButton = ButtonUIBlockFactory::MakeLinkNeutral($sUrl, $sLabel, $sIconClass, $sTarget, utils::Sanitize($sActionId, '', utils::ENUM_SANITIZATION_FILTER_ELEMENT_IDENTIFIER));
|
||||
// ResourceId should not be sanitized
|
||||
$oActionButton->AddDataAttribute('resource-id', $sActionId);
|
||||
$oActionButton->AddCSSClasses(['ibo-action-button', 'ibo-regular-action-button']);
|
||||
if (empty($sLabel)) {
|
||||
if (empty($aAction['tooltip'])) {
|
||||
|
||||
@@ -94,6 +94,11 @@ class Button extends UIBlock
|
||||
*/
|
||||
public function __construct(string $sLabel, string $sId = null, string $sTooltip = '', string $sIconClass = '', string $sActionType = self::DEFAULT_ACTION_TYPE, string $sColorScheme = self::DEFAULT_COLOR_SCHEME, string $sJsCode = '', string $sOnClickJsCode = '')
|
||||
{
|
||||
// We only use resource ID (not sanitized) on button for now, but this might be reworked back into \UIBlock if needed
|
||||
if (!is_null($sId)) {
|
||||
$this->AddDataAttribute('resource-id', $sId);
|
||||
}
|
||||
|
||||
parent::__construct($sId);
|
||||
|
||||
$this->sLabel = $sLabel;
|
||||
|
||||
@@ -107,7 +107,7 @@ abstract class UIBlock implements iUIBlock
|
||||
/** @var array Cache for the CSS classes of a block inheritance. Key is the block class, value is an array of CSS classes */
|
||||
private static $aBlocksInheritanceCSSClassesCache = [];
|
||||
|
||||
/** @var string $sId */
|
||||
/** @var string ID of the block */
|
||||
protected $sId;
|
||||
|
||||
/**
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{% extends 'base/components/popover-menu/item/layout.html.twig' %}
|
||||
|
||||
{% block iboPopoverMenuItem %}
|
||||
<a id="{{ oUIBlock.GetID() }}" class="{{ oUIBlock.GetBlocksInheritanceCSSClassesAsString() }} {{ oUIBlock.GetAdditionalCSSClassesAsString() }}" data-role="ibo-popover-menu--item" data-uid="{{ oUIBlock.GetUID() }}" href="{{ oUIBlock.GetUrl() }}" onclick="{{ oUIBlock.GetJsCode()|escape }}"
|
||||
<a id="{{ oUIBlock.GetID() }}" class="{{ oUIBlock.GetBlocksInheritanceCSSClassesAsString() }} {{ oUIBlock.GetAdditionalCSSClassesAsString() }}" data-role="ibo-popover-menu--item" data-resource-id="{{ oUIBlock.GetUID() }}" data-uid="{{ oUIBlock.GetUID() }}" href="{{ oUIBlock.GetUrl() }}" onclick="{{ oUIBlock.GetJsCode()|escape }}"
|
||||
{% if oUIBlock.GetDataAttributes() %}
|
||||
{% for sName, sValue in oUIBlock.GetDataAttributes() %}
|
||||
data-{{ sName }}="{{ sValue }}"
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{% extends 'base/components/popover-menu/item/layout.html.twig' %}
|
||||
|
||||
{% block iboPopoverMenuItem %}
|
||||
<a id="{{ oUIBlock.GetID() }}" class="{{ oUIBlock.GetBlocksInheritanceCSSClassesAsString() }} {{ oUIBlock.GetAdditionalCSSClassesAsString() }}" data-role="ibo-popover-menu--item" data-uid="{{ oUIBlock.GetUID() }}" href="{{ oUIBlock.GetUrl() }}" target="{{ oUIBlock.GetTarget() }}"
|
||||
<a id="{{ oUIBlock.GetID() }}" class="{{ oUIBlock.GetBlocksInheritanceCSSClassesAsString() }} {{ oUIBlock.GetAdditionalCSSClassesAsString() }}" data-role="ibo-popover-menu--item" data-resource-id="{{ oUIBlock.GetUID() }}" data-uid="{{ oUIBlock.GetUID() }}" href="{{ oUIBlock.GetUrl() }}" target="{{ oUIBlock.GetTarget() }}"
|
||||
{% if oUIBlock.HasDataAttributes() %}
|
||||
{% for sName, sValue in oUIBlock.GetDataAttributes() %}
|
||||
data-{{ sName }}="{{ sValue }}"
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
oFavoriteButton[0].click();
|
||||
}
|
||||
else{
|
||||
let oPopupItemButton = $('[data-role="ibo-popover-menu"]').find('[data-uid="UI:Menu:Modify"]');
|
||||
let oPopupItemButton = $('[data-role="ibo-popover-menu"]').find('[data-resource-id="UI:Menu:Modify"]');
|
||||
if(oPopupItemButton[0]){
|
||||
oPopupItemButton[0].click();
|
||||
}
|
||||
@@ -31,7 +31,7 @@
|
||||
oFavoriteButton[0].click();
|
||||
}
|
||||
else{
|
||||
let oPopupItemButton = $('[data-role="ibo-popover-menu"]').find('[data-uid="UI:Menu:Delete"]');
|
||||
let oPopupItemButton = $('[data-role="ibo-popover-menu"]').find('[data-resource-id="UI:Menu:Delete"]');
|
||||
if(oPopupItemButton[0]){
|
||||
oPopupItemButton[0].click();
|
||||
}
|
||||
@@ -44,7 +44,7 @@
|
||||
oFavoriteButton[0].click();
|
||||
}
|
||||
else{
|
||||
let oPopupItemButton = $('[data-role="ibo-popover-menu"]').find('[data-uid="UI:Menu:New"]');
|
||||
let oPopupItemButton = $('[data-role="ibo-popover-menu"]').find('[data-resource-id="UI:Menu:New"]');
|
||||
if(oPopupItemButton[0]){
|
||||
oPopupItemButton[0].click();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user