N°1254 Portal: Add CSS/JS hooks on object forms for the current state

- CSS class on <form> tag: form_object_state_<STATE_CODE>
- HTML attribute on <form> tag: data-object-state="<STATE_CODE>"

SVN:trunk[5209]
This commit is contained in:
Guillaume Lajarige
2018-01-08 12:09:35 +00:00
parent c4cf10b6e6
commit 7f034f60d6
2 changed files with 7 additions and 4 deletions

View File

@@ -647,6 +647,7 @@ class ObjectController extends AbstractController
$aFormData['formmanager_data'] = $oFormManager->ToJSON();
$aFormData['renderer'] = $oFormManager->GetRenderer();
$aFormData['object_name'] = $oFormManager->GetObject()->GetName();
$aFormData['object_state'] = $oFormManager->GetObject()->GetState();
$aFormData['fieldset'] = $aFieldSetData;
$aFormData['display_mode'] = (isset($aFormProperties['properties'])) ? $aFormProperties['properties']['display_mode'] : ApplicationHelper::FORM_DEFAULT_DISPLAY_MODE;

View File

@@ -1,12 +1,14 @@
{# itop-portal-base/portal/src/views/bricks/object/mode_create.html.twig #}
{# Object brick create layout #}
{% set sFormId = (form.id is defined and form.id is not null) ? form.id : 'object_form' %}
{% set sFormClass = (form.display_mode is defined and form.display_mode is not null) ? 'form_' ~ form.display_mode : '' %}
{% set sFormIdSanitized = sFormId|replace({'-': ''}) %}
{% set tIsModal = (tIsModal is defined and tIsModal == true) ? true : false %}
{% set sFormId = (form.id is defined and form.id is not null) ? form.id : 'object_form' %}
{% set sFormIdSanitized = sFormId|replace({'-': ''}) %}
{% set sFormDisplayModeClass = (form.display_mode is defined and form.display_mode is not null) ? 'form_' ~ form.display_mode : '' %}
{% set sFormObjectStateClass = (form.object_state is defined and form.object_state is not null) ? 'form_object_state_' ~ form.object_state : '' %}
<form id="{{ sFormId }}" class="{{ sFormClass }}" method="POST" action="{{ form.renderer.GetEndpoint()|raw }}">
<form id="{{ sFormId }}" class="{{ sFormDisplayModeClass }} {{ sFormObjectStateClass }}" method="POST" action="{{ form.renderer.GetEndpoint()|raw }}"
{% if form.object_state is defined and form.object_state is not null %}data-object-state="{{ form.object_state }}"{% endif %}>
<input type="hidden" name="transaction_id" value="{{ form.transaction_id }}" />
<div class="form_alerts">
{% block pFormAlerts %}