N°4021 - Introduce sticky header for panels and object details (tab container to be done)

This commit is contained in:
Molkobain
2021-05-25 20:16:36 +02:00
parent dd284a6c1d
commit 3ee4a14c56
12 changed files with 526 additions and 54 deletions

View File

@@ -1,5 +1,14 @@
{% if oUIBlock.isCollapsible() %}
$('#{{ oUIBlock.GetId() }}').find('[data-role="ibo-panel--collapsible-toggler"]').on('click', function(){
$('#{{ oUIBlock.GetId() }}').toggleClass('ibo-is-opened');
{# Collapsible handler #}
{% block iboCollapsibleHandlers %}
{% if oUIBlock.isCollapsible() %}
$('#{{ oUIBlock.GetId() }}').find('[data-role="ibo-panel--collapsible-toggler"]').on('click', function(){
$('#{{ oUIBlock.GetId() }}').toggleClass('ibo-is-opened');
});
{% endif %}
{% endblock %}
{% block iboWidgetInstantiation %}
$('#{{ oUIBlock.GetId() }}').panel({
is_header_visible_on_scroll: {{ oUIBlock.IsHeaderVisibleOnScroll|var_export }}
});
{% endif %}
{% endblock %}

View File

@@ -1,29 +1,33 @@
{# @copyright Copyright (C) 2010-2020 Combodo SARL #}
{# @license http://opensource.org/licenses/AGPL-3.0 #}
{% extends 'base/components/panel/layout.js.twig' %}
$('#{{ oUIBlock.GetId() }}').on('edit_object', function(){
$(this).find('button[name="UI:Menu:Modify"]').click();
});
{% block iboKeyboardShortcutsHandlers %}
$('#{{ oUIBlock.GetId() }}').on('edit_object', function(){
$(this).find('button[name="UI:Menu:Modify"]').click();
});
$('#{{ oUIBlock.GetId() }}').on('delete_object', function(){
$(this).find('button[name="UI:Menu:Delete"]').click();
});
$('#{{ oUIBlock.GetId() }}').on('delete_object', function(){
$(this).find('button[name="UI:Menu:Delete"]').click();
});
$('#{{ oUIBlock.GetId() }}').on('new_object', function(){
$(this).find('button[name="UI:Menu:New"]').click();
});
{% if oUIBlock.GetObjectMode() == constant('cmdbAbstractObject::ENUM_OBJECT_MODE_EDIT') or oUIBlock.GetObjectMode() == constant('cmdbAbstractObject::ENUM_OBJECT_MODE_CREATE') %}
$('#{{ oUIBlock.GetId() }}').on('save_object', function(){
$(this).find('button[type="submit"][name=""][value=""]').click();
});
{% elseif oUIBlock.GetObjectMode() == constant('cmdbAbstractObject::ENUM_OBJECT_MODE_STIMULUS') %}
$('#{{ oUIBlock.GetId() }}').on('save_object', function(){
$(this).find('button[type="submit"][name="submit"][value="submit"]').click();
});
{% endif %}
$('#{{ oUIBlock.GetId() }}').on('new_object', function(){
$(this).find('button[name="UI:Menu:New"]').click();
});
{% if oUIBlock.GetObjectMode() == constant('cmdbAbstractObject::ENUM_OBJECT_MODE_EDIT') or oUIBlock.GetObjectMode() == constant('cmdbAbstractObject::ENUM_OBJECT_MODE_CREATE') %}
$('#{{ oUIBlock.GetId() }}').on('save_object', function(){
$(this).find('button[type="submit"][name=""][value=""]').click();
});
{% elseif oUIBlock.GetObjectMode() == constant('cmdbAbstractObject::ENUM_OBJECT_MODE_STIMULUS') %}
$('#{{ oUIBlock.GetId() }}').on('save_object', function(){
$(this).find('button[type="submit"][name="submit"][value="submit"]').click();
});
{% endif %}
{% endblock %}
// Keep URL's hash parameters when clicking on a link of the header
$('#{{ oUIBlock.GetId() }}').on('click', '[data-role="ibo-panel--header-right"] a', function() {
{% block iboPanelHeaderRightActionsHandlers %}
// Keep URL's hash parameters when clicking on a link of the header
$('#{{ oUIBlock.GetId() }}').on('click', '[data-role="ibo-panel--header-right"] a', function() {
aMatches = /#(.*)$/.exec(window.location.href);
if (aMatches != null) {
currentHash = aMatches[1];
@@ -31,4 +35,11 @@ $('#{{ oUIBlock.GetId() }}').on('click', '[data-role="ibo-panel--header-right"]
this.href = this.href.replace(/#(.*)$/, '#'+currentHash);
}
}
});
});
{% endblock %}
{% block iboWidgetInstantiation %}
$('#{{ oUIBlock.GetId() }}').object_details({
is_header_visible_on_scroll: {{ oUIBlock.IsHeaderVisibleOnScroll|var_export }}
});
{% endblock %}