Webform module and config export
This commit is contained in:
parent
3e6a5cbed2
commit
0e15467384
1040 changed files with 117682 additions and 0 deletions
|
@ -0,0 +1,13 @@
|
|||
{#
|
||||
/**
|
||||
* @file
|
||||
* Default theme implementation of a webform actions.
|
||||
*
|
||||
* @see template_preprocess_webform_actions()
|
||||
* @see \Drupal\webform\WebformSubmissionForm::actionsElement
|
||||
* @see \Drupal\webform\WebformSubmissionForm::actions
|
||||
*
|
||||
* @ingroup themeable
|
||||
*/
|
||||
#}
|
||||
{{ element }}
|
|
@ -0,0 +1,25 @@
|
|||
{#
|
||||
/**
|
||||
* @file
|
||||
* Theme implementation for 'CodeMirror' code.
|
||||
*
|
||||
* Available variables
|
||||
* - code: The code.
|
||||
* - type: The type of code.
|
||||
* - mode: The CodeMirror mode used to format the code.
|
||||
*
|
||||
* @see http://codemirror.net/doc/manual.html#option_mode
|
||||
* @see \Drupal\webform\Element\WebformCodeMirror()
|
||||
* @see template_preprocess_webform_codemirror()
|
||||
*
|
||||
* @ingroup themeable
|
||||
*/
|
||||
#}
|
||||
{% if type == 'html' %}
|
||||
{{ attach_library('webform/webform.element.codemirror.html') }}
|
||||
{% elseif type == 'yaml' %}
|
||||
{{ attach_library('webform/webform.element.codemirror.yaml') }}
|
||||
{% else %}
|
||||
{{ attach_library('webform/webform.element.codemirror.text') }}
|
||||
{% endif %}
|
||||
<pre class="js-webform-codemirror-runmode webform-codemirror-runmode" data-webform-codemirror-mode="{{ mode }}">{{ code }}</pre>
|
|
@ -0,0 +1,51 @@
|
|||
{#
|
||||
/**
|
||||
* @file
|
||||
* Default theme implementation of an address composite webform element.
|
||||
*
|
||||
* Available variables:
|
||||
* - content: The address webform element to be output.
|
||||
* - flexbox: Determines if Flexbox layout should be applied to the composite
|
||||
* element.
|
||||
*
|
||||
* @see template_preprocess_webform_address()
|
||||
*
|
||||
* @ingroup themeable
|
||||
*/
|
||||
#}
|
||||
{{ attach_library('webform/webform.element.composite') }}
|
||||
{% if flexbox %}
|
||||
|
||||
{% if content.address %}
|
||||
<div class="webform-flexbox">
|
||||
<div class="webform-flex webform-flex--1"><div class="webform-flex--container">{{ content.address }}</div></div>
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
{% if content.address_2 %}
|
||||
<div class="webform-flexbox">
|
||||
<div class="webform-flex webform-flex--1"><div class="webform-flex--container">{{ content.address_2 }}</div></div>
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
<div class="webform-flexbox">
|
||||
{% if content.city %}
|
||||
<div class="webform-flex webform-flex--1"><div class="webform-flex--container">{{ content.city }}</div></div>
|
||||
{% endif %}
|
||||
{% if content.state_province %}
|
||||
<div class="webform-flex webform-flex--1"><div class="webform-flex--container">{{ content.state_province }}</div></div>
|
||||
{% endif %}
|
||||
{% if content.postal_code %}
|
||||
<div class="webform-flex webform-flex--1"><div class="webform-flex--container">{{ content.postal_code }}</div></div>
|
||||
{% endif %}
|
||||
</div>
|
||||
|
||||
{% if content.country %}
|
||||
<div class="webform-flexbox">
|
||||
<div class="webform-flex webform-flex--1"><div class="webform-flex--container">{{ content.country }}</div></div>
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
{% else %}
|
||||
{{ content }}
|
||||
{% endif %}
|
|
@ -0,0 +1,73 @@
|
|||
{#
|
||||
/**
|
||||
* @file
|
||||
* Default theme implementation of a contact composite webform element.
|
||||
*
|
||||
* Available variables:
|
||||
* - content: The contact webform element to be output.
|
||||
* - flexbox: Determines if Flexbox layout should be applied to the composite
|
||||
* element.
|
||||
*
|
||||
* @see template_preprocess_webform_contact()
|
||||
*
|
||||
* @ingroup themeable
|
||||
*/
|
||||
#}
|
||||
{{ attach_library('webform/webform.element.composite') }}
|
||||
{% if flexbox %}
|
||||
|
||||
{% if content.name or content.company %}
|
||||
<div class="webform-flexbox">
|
||||
{% if content.name %}
|
||||
<div class="webform-flex webform-flex--1"><div class="webform-flex--container">{{ content.name }}</div></div>
|
||||
{% endif %}
|
||||
{% if content.company %}
|
||||
<div class="webform-flex webform-flex--1"><div class="webform-flex--container">{{ content.company }}</div></div>
|
||||
{% endif %}
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
{% if content.email or content.phone %}
|
||||
<div class="webform-flexbox">
|
||||
{% if content.email %}
|
||||
<div class="webform-flex webform-flex--1"><div class="webform-flex--container">{{ content.email }}</div></div>
|
||||
{% endif %}
|
||||
{% if content.phone %}
|
||||
<div class="webform-flex webform-flex--1"><div class="webform-flex--container">{{ content.phone }}</div></div>
|
||||
{% endif %}
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
{% if content.address %}
|
||||
<div class="webform-flexbox">
|
||||
<div class="webform-flex webform-flex--1"><div class="webform-flex--container">{{ content.address }}</div></div>
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
{% if content.address_2 %}
|
||||
<div class="webform-flexbox">
|
||||
<div class="webform-flex webform-flex--1"><div class="webform-flex--container">{{ content.address_2 }}</div></div>
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
<div class="webform-flexbox">
|
||||
{% if content.city %}
|
||||
<div class="webform-flex webform-flex--1"><div class="webform-flex--container">{{ content.city }}</div></div>
|
||||
{% endif %}
|
||||
{% if content.state_province %}
|
||||
<div class="webform-flex webform-flex--1"><div class="webform-flex--container">{{ content.state_province }}</div></div>
|
||||
{% endif %}
|
||||
{% if content.postal_code %}
|
||||
<div class="webform-flex webform-flex--1"><div class="webform-flex--container">{{ content.postal_code }}</div></div>
|
||||
{% endif %}
|
||||
</div>
|
||||
|
||||
{% if content.country %}
|
||||
<div class="webform-flexbox">
|
||||
<div class="webform-flex webform-flex--1"><div class="webform-flex--container">{{ content.country }}</div></div>
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
{% else %}
|
||||
{{ content }}
|
||||
{% endif %}
|
|
@ -0,0 +1,45 @@
|
|||
{#
|
||||
/**
|
||||
* @file
|
||||
* Default theme implementation of a creditcard composite webform element.
|
||||
*
|
||||
* Available variables:
|
||||
* - content: The creditcard webform element to be output.
|
||||
* - flexbox: Determines if Flexbox layout should be applied to the composite
|
||||
* element.
|
||||
*
|
||||
* @see template_preprocess_webform_creditcard()
|
||||
*
|
||||
* @ingroup themeable
|
||||
*/
|
||||
#}
|
||||
{{ attach_library('webform/webform.element.composite') }}
|
||||
{% if flexbox %}
|
||||
|
||||
{{ content.warning }}
|
||||
|
||||
{% if content.name %}
|
||||
<div class="webform-flexbox">
|
||||
<div class="webform-flex webform-flex--1"><div class="webform-flex--container">{{ content.name }}</div></div>
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
<div class="webform-flexbox">
|
||||
{% if content.type %}
|
||||
<div class="webform-flex webform-flex--1"><div class="webform-flex--container">{{ content.type }}</div></div>
|
||||
{% endif %}
|
||||
<div class="webform-flex webform-flex--2"><div class="webform-flex--container">{{ content.number }}</div></div>
|
||||
<div class="webform-flex webform-flex--1"><div class="webform-flex--container">{{ content.civ }}</div></div>
|
||||
</div>
|
||||
|
||||
<div class="webform-flexbox">
|
||||
<div class="webform-flex webform-flex--1"><div class="webform-flex--container">
|
||||
{{ content.expiration }}
|
||||
{{ content.expiration_month }}
|
||||
{{ content.expiration_year }}
|
||||
</div></div>
|
||||
</div>
|
||||
|
||||
{% else %}
|
||||
{{ content }}
|
||||
{% endif %}
|
|
@ -0,0 +1,15 @@
|
|||
{#
|
||||
/**
|
||||
* @file
|
||||
* Default theme implementation of a location composite webform element.
|
||||
*
|
||||
* Available variables:
|
||||
* - content: The location webform element to be output.
|
||||
|
||||
* @see template_preprocess_webform_location()
|
||||
*
|
||||
* @ingroup themeable
|
||||
*/
|
||||
#}
|
||||
{{ attach_library('webform/webform.element.composite') }}
|
||||
{{ content }}
|
|
@ -0,0 +1,40 @@
|
|||
{#
|
||||
/**
|
||||
* @file
|
||||
* Default theme implementation of a name composite webform element.
|
||||
*
|
||||
* Available variables:
|
||||
* - content: The name webform element to be output.
|
||||
* - flexbox: Determines if Flexbox layout should be applied to the composite
|
||||
* element.
|
||||
*
|
||||
* @see template_preprocess_webform_name()
|
||||
*
|
||||
* @ingroup themeable
|
||||
*/
|
||||
#}
|
||||
{{ attach_library('webform/webform.element.composite') }}
|
||||
{% if flexbox %}
|
||||
<div class="webform-flexbox">
|
||||
{% if content.title %}
|
||||
<div class="webform-flex webform-flex--2"><div class="webform-flex--container">{{ content.title }}</div></div>
|
||||
{% endif %}
|
||||
{% if content.first %}
|
||||
<div class="webform-flex webform-flex--3"><div class="webform-flex--container">{{ content.first }}</div></div>
|
||||
{% endif %}
|
||||
{% if content.middle %}
|
||||
<div class="webform-flex webform-flex--2"><div class="webform-flex--container">{{ content.middle }}</div></div>
|
||||
{% endif %}
|
||||
{% if content.last %}
|
||||
<div class="webform-flex webform-flex--3"><div class="webform-flex--container">{{ content.last }}</div></div>
|
||||
{% endif %}
|
||||
{% if content.suffix %}
|
||||
<div class="webform-flex webform-flex--1"><div class="webform-flex--container">{{ content.suffix }}</div></div>
|
||||
{% endif %}
|
||||
{% if content.degree %}
|
||||
<div class="webform-flex webform-flex--1"><div class="webform-flex--container">{{ content.degree }}</div></div>
|
||||
{% endif %}
|
||||
</div>
|
||||
{% else %}
|
||||
{{ content }}
|
||||
{% endif %}
|
|
@ -0,0 +1,20 @@
|
|||
{#
|
||||
/**
|
||||
* @file
|
||||
* Default theme implementation of a telephone composite webform element.
|
||||
*
|
||||
* Available variables:
|
||||
* - content: The telephone webform element to be output.
|
||||
* - flexbox: Determines if Flexbox layout should be applied to the composite
|
||||
* element.
|
||||
*
|
||||
* @see template_preprocess_webform_telephone()
|
||||
*
|
||||
* @ingroup themeable
|
||||
*/
|
||||
#}
|
||||
{{ attach_library('webform/webform.element.composite') }}
|
||||
|
||||
{{ content.type }}
|
||||
{{ content.phone }}
|
||||
{{ content.ext }}
|
|
@ -0,0 +1,31 @@
|
|||
{#
|
||||
/**
|
||||
* @file
|
||||
* Default theme implementation to webform confirmation.
|
||||
*
|
||||
* Available variables:
|
||||
* - progress: Progress bar.
|
||||
* - message: Confirmation message.
|
||||
* - back_url: URL to the previous webform submission.
|
||||
*
|
||||
* @see template_preprocess_webform_confirmation()
|
||||
*
|
||||
* @ingroup themeable
|
||||
*/
|
||||
#}
|
||||
{{ attach_library('webform/webform.confirmation') }}
|
||||
<div{{ attributes.addClass('webform-confirmation') }}>
|
||||
{% if progress %}
|
||||
{{ progress }}
|
||||
{% endif %}
|
||||
|
||||
{% if message %}
|
||||
<div class="webform-confirmation__message">{{ message }}</div>
|
||||
{% endif %}
|
||||
|
||||
{% if back %}
|
||||
<div class="webform-confirmation__back">
|
||||
<a href="{{ back_url }}" rel="back" title="{{ back_label }}"{{ back_attributes }}>{{ back_label }}</a>
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
|
@ -0,0 +1,23 @@
|
|||
{#
|
||||
/**
|
||||
* @file
|
||||
* Default theme implementation for a webform base container as html.
|
||||
*
|
||||
* Available variables:
|
||||
* - element: The webform element.
|
||||
* - id: The webform element id.
|
||||
* - title: The label for the container.
|
||||
* - value: The content for the container.
|
||||
* - options Associative array of options for element.
|
||||
* - email: Flag to determine if element is for an email.
|
||||
*/
|
||||
#}
|
||||
{% if options.email %}
|
||||
<h3>{{ title }}</h3>
|
||||
{{ value }}
|
||||
{% else %}
|
||||
<details data-webform-element-id="{{ id }}" open="open">
|
||||
<summary role="button" aria-expanded="true" aria-pressed="true">{{ title }}</summary>
|
||||
<div class="details-wrapper">{{ value }}</div>
|
||||
</details>
|
||||
{% endif %}
|
|
@ -0,0 +1,19 @@
|
|||
{#
|
||||
/**
|
||||
* @file
|
||||
* Default theme implementation for a form base container as text.
|
||||
*
|
||||
* Available variables:
|
||||
* - element: The form element.
|
||||
* - title: The label for the container.
|
||||
* - value: The content for the container.
|
||||
* - options Associative array of options for element.
|
||||
* - email: Flag to determine if element is for an email.
|
||||
*/
|
||||
#}
|
||||
|
||||
{% if title %}{{ title|upper }}
|
||||
{% for i in 1..title|length %}-{% endfor %}
|
||||
{% endif %}
|
||||
|
||||
{{ value }}
|
|
@ -0,0 +1,24 @@
|
|||
{#
|
||||
/**
|
||||
* @file
|
||||
* Default theme implementation for an audio file element.
|
||||
*
|
||||
* Available variables:
|
||||
* - element: The element.
|
||||
* - value: The element's value.
|
||||
* - options Associative array of options for element.
|
||||
* - file: The element's File object.
|
||||
* - file_link: Link to the file.
|
||||
*
|
||||
* @see http://caniuse.com/#feat=audio
|
||||
* @see http://www.w3schools.com/html/html5_audio.asp
|
||||
*/
|
||||
#}
|
||||
{% if extension == 'mp3' %}
|
||||
<div class="webform-audio-file">
|
||||
<audio controls>
|
||||
<source src="{{ uri }}" type="{{ type }}">
|
||||
</audio>
|
||||
</div>
|
||||
{% endif %}
|
||||
<div>{{ file_link }}</div>
|
|
@ -0,0 +1,16 @@
|
|||
{#
|
||||
/**
|
||||
* @file
|
||||
* Default theme implementation for a form base element as html.
|
||||
*
|
||||
* Available variables:
|
||||
* - element: The element.
|
||||
* - title: The label for the element.
|
||||
* - value: The content for the element.
|
||||
* - options Associative array of options for element.
|
||||
* - multiline: Flag to determine if value spans multiple lines.
|
||||
* - email: Flag to determine if element is for an email.
|
||||
*/
|
||||
#}
|
||||
{% if title %}<b>{{ title }}</b><br/>{% endif %}
|
||||
{{ value }}<br/><br/>
|
|
@ -0,0 +1,23 @@
|
|||
{#
|
||||
/**
|
||||
* @file
|
||||
* Default theme implementation for a webform base element as text.
|
||||
*
|
||||
* Available variables:
|
||||
* - element: The webform element.
|
||||
* - title: The label for the element.
|
||||
* - value: The content for the element.
|
||||
* - options Associative array of options for element.
|
||||
* - email: Flag to determine if element is for an email.
|
||||
* - multiline: Flag to determine if value spans multiple lines.
|
||||
* - first: Flag to determine if the element is that first element in its container.
|
||||
* - last: Flag to determine if the element is that last element in its container.
|
||||
*
|
||||
* @see \Drupal\webform\WebformSubmissionViewBuilder::buildElements
|
||||
*/
|
||||
#}
|
||||
{% if title %}{{ title }}{% if options.multiline %}:
|
||||
{% else %}: {% endif %}{% endif %}{{ value }}
|
||||
{% if options.multiline and not options.last %}
|
||||
|
||||
{% endif %}
|
|
@ -0,0 +1,17 @@
|
|||
{#
|
||||
/**
|
||||
* @file
|
||||
* Default theme implementation for a form color element value swatch.
|
||||
*
|
||||
* Using an inline style so that the color swatch will look okay when it is
|
||||
* sent via email.
|
||||
*
|
||||
* Available variables:
|
||||
* - element: The element.
|
||||
* - value: The element's value.
|
||||
* - options Associative array of options for element.
|
||||
* - multiline: Flag to determine if value spans multiple lines.
|
||||
* - email: Flag to determine if element is for an email.
|
||||
*/
|
||||
#}
|
||||
<span style="display:inline-block; height:1em; width:1em; border:1px solid #000; background-color:{{ value }}"></span> {{ value }}
|
|
@ -0,0 +1,15 @@
|
|||
{#
|
||||
/**
|
||||
* @file
|
||||
* Default theme implementation for a document file element.
|
||||
*
|
||||
* Available variables:
|
||||
* - element: The element.
|
||||
* - value: The element's value.
|
||||
* - options Associative array of options for element.
|
||||
* - file: The element's File object.
|
||||
* - file_link: Link to the file.
|
||||
*/
|
||||
#}
|
||||
<div>{{ file_link }}</div>
|
||||
|
|
@ -0,0 +1,15 @@
|
|||
{#
|
||||
/**
|
||||
* @file
|
||||
* Default theme implementation for an image file element.
|
||||
*
|
||||
* Available variables:
|
||||
* - element: The element.
|
||||
* - value: The element's value.
|
||||
* - options Associative array of options for element.
|
||||
* - file: The element's File object.
|
||||
* - uri: The element's URI.
|
||||
*/
|
||||
#}
|
||||
{{ attach_library('webform/webform.element.image_file') }}
|
||||
<img src="{{ uri }}" class="webform-image-file" />
|
|
@ -0,0 +1,14 @@
|
|||
{#
|
||||
/**
|
||||
* @file
|
||||
* Default theme implementation for a managed file element.
|
||||
*
|
||||
* Available variables:
|
||||
* - element: The element.
|
||||
* - value: The element's value.
|
||||
* - options Associative array of options for element.
|
||||
* - file: The element's File object.
|
||||
* - file_link: Link to the file.
|
||||
*/
|
||||
#}
|
||||
<div>{{ file_link }}</div>
|
|
@ -0,0 +1,25 @@
|
|||
{#
|
||||
/**
|
||||
* @file
|
||||
* Default theme implementation for a video file element.
|
||||
*
|
||||
* Available variables:
|
||||
* - element: The element.
|
||||
* - value: The element's value.
|
||||
* - options Associative array of options for element.
|
||||
* - file: The element's File object.
|
||||
* - file_link: Link to the file.
|
||||
*
|
||||
* @see http://caniuse.com/#feat=video
|
||||
* @see http://www.w3schools.com/html/html5_audio.asp
|
||||
*/
|
||||
#}
|
||||
{% if extension == 'mp4' %}
|
||||
{{ attach_library('webform/webform.element.video_file') }}
|
||||
<div class="webform-video-file">
|
||||
<video width="620" height="349" controls>
|
||||
<source src="{{ uri }}" type="{{ type }}">
|
||||
</video>
|
||||
</div>
|
||||
{% endif %}
|
||||
<div>{{ file_link }}</div>
|
|
@ -0,0 +1,23 @@
|
|||
{#
|
||||
/**
|
||||
* @file
|
||||
* Default theme implementation for a summary of a form email handler.
|
||||
*
|
||||
* Available variables:
|
||||
* - settings: The current configuration for this email handler:
|
||||
* - handler: The handler information, including:
|
||||
* - id: The handler plugin id.
|
||||
* - handler_id: The handler id.
|
||||
* - label: The handler label.
|
||||
* - description: The handler description.
|
||||
*
|
||||
* @ingroup themeable
|
||||
*/
|
||||
#}
|
||||
{% if settings.debug %}<b class="color-error">{{ 'Debugging is enabled'|t }}</b><br/>{% endif %}
|
||||
<b>{{ 'To:'|t }}</b> {{ settings.to_mail }}<br/>
|
||||
{% if settings.cc_mail %}<b>{{ 'Cc:'|t }}</b> {{ settings.cc_mail }}<br/>{% endif %}
|
||||
{% if settings.bcc_mail %}<b>{{ 'Bcc:'|t }}</b> {{ settings.bcc_mail }}<br/>{% endif %}
|
||||
<b>{{ 'From:'|t }}</b> {{ settings.from_mail }} {% if settings.from_name %}<{{ settings.from_name }}>{% endif %}<br/>
|
||||
<b>{{ 'Subject:'|t }}</b> {{ settings.subject }}<br/>
|
||||
<b>{{ 'Settings:'|t }}</b> {{ settings.html ? 'HTML' : 'Plain text'|t }}{{ settings.html and settings.attachments ? '/' : '' }}{{ settings.attachments ? 'Attachments '|t : '' }}
|
|
@ -0,0 +1,21 @@
|
|||
{#
|
||||
/**
|
||||
* @file
|
||||
* Default theme implementation for a summary of a form remote posts handler.
|
||||
*
|
||||
* Available variables:
|
||||
* - settings: The current configuration for this remote post handler:
|
||||
* - handler: The handler information, including:
|
||||
* - id: The handler plugin id.
|
||||
* - handler_id: The handler id.
|
||||
* - label: The handler label.
|
||||
* - description: The handler description.
|
||||
*
|
||||
* @ingroup themeable
|
||||
*/
|
||||
#}
|
||||
{% if settings.debug %}<b class="color-error">{{ 'Debugging is enabled'|t }}</b><br/>{% endif %}
|
||||
<b>{{ 'Insert URL:'|t }}</b> {{ settings.insert_url }}<br/>
|
||||
{% if settings.update_url %}<b>{{ 'Update URL:'|t }}</b> {{ settings.update_url }}<br/>{% endif %}
|
||||
{% if settings.delete_url %}<b>{{ 'Delete URL:'|t }}</b> {{ settings.delete_url }}<br/>{% endif %}
|
||||
<b>{{ 'Type:'|t }}</b> {{ settings.type }}<br/>
|
|
@ -0,0 +1,17 @@
|
|||
{#
|
||||
/**
|
||||
* @file
|
||||
* Theme implementation for webform help video using YouTube.
|
||||
*
|
||||
* Available variables
|
||||
* - youtube_id: YouTube video id.
|
||||
*
|
||||
* @ingroup themeable
|
||||
*/
|
||||
#}
|
||||
{{ attach_library('webform/webform.help') }}
|
||||
<div class="webform-help-video-youtube">
|
||||
<div class="webform-help-video-youtube--container">
|
||||
<iframe width="560" height="315" src="https://www.youtube.com/embed/{{ youtube_id }}?rel=0&autoplay=1" frameborder="0" allowfullscreen></iframe>
|
||||
</div>
|
||||
</div>
|
18
web/modules/contrib/webform/templates/webform-help.html.twig
Normal file
18
web/modules/contrib/webform/templates/webform-help.html.twig
Normal file
|
@ -0,0 +1,18 @@
|
|||
{#
|
||||
/**
|
||||
* @file
|
||||
* Theme implementation for webform help.
|
||||
*
|
||||
* Available variables
|
||||
* - title: Help title.
|
||||
* - content: Help content.
|
||||
* - youtube_id: YouTube video id.
|
||||
* - help: A render array content help title and content inside a details element.
|
||||
*
|
||||
* @see template_preprocess_webform_help()
|
||||
*
|
||||
* @ingroup themeable
|
||||
*/
|
||||
#}
|
||||
{{ attach_library('webform/webform.help') }}
|
||||
{{ help }}
|
|
@ -0,0 +1,27 @@
|
|||
{#
|
||||
/**
|
||||
* @file
|
||||
* Default theme implementation of a Webform message container.
|
||||
*
|
||||
* Available variables:
|
||||
* - attributes: HTML attributes for the containing element.
|
||||
* - message: The rendered status_messages elements.
|
||||
* - has_parent: A flag to indicate that the container has one or more parent
|
||||
* containers.
|
||||
* - closed: A flag to indicate that the message has been been closed and should
|
||||
* not be displayed.
|
||||
*
|
||||
* @see template_preprocess_webform_message()
|
||||
*
|
||||
* @ingroup themeable
|
||||
*/
|
||||
#}
|
||||
{%
|
||||
set classes = [
|
||||
has_parent ? 'js-form-wrapper',
|
||||
has_parent ? 'form-wrapper',
|
||||
]
|
||||
%}
|
||||
{% if not closed %}
|
||||
<div{{ attributes.addClass(classes) }}>{{ message }}</div>
|
||||
{% endif %}
|
|
@ -0,0 +1,33 @@
|
|||
{#
|
||||
/**
|
||||
* @file
|
||||
* Default theme implementation from webform wizard progress bar.
|
||||
*
|
||||
* Available variables:
|
||||
* - webform: A webform.
|
||||
* - pages: Associatve array of wizard pages.
|
||||
* - progress: Array of wizard progress containing page titles.
|
||||
* - current_page: Current wizard page key.
|
||||
* - current_index: The current wizard page index.
|
||||
* - max_pages: Maximum number of pages to be displayed.
|
||||
*
|
||||
* @see template_preprocess_webform_progress_bar()
|
||||
*
|
||||
* @ingroup themeable
|
||||
*/
|
||||
#}
|
||||
{{ attach_library('webform/webform.progress.bar') }}
|
||||
|
||||
{% if progress|length < max_pages %}
|
||||
<ol class="webform-progress-bar" data-steps="{{ progress|length }}">
|
||||
{% for index, title in progress %}{%
|
||||
set classes = [
|
||||
'webform-progress-bar__page',
|
||||
index < current_index ? 'webform-progress-bar__page--done',
|
||||
index == current_index ? 'webform-progress-bar__page--current',
|
||||
]
|
||||
%}<li{{ attributes.setAttribute('class', '').addClass(classes) }}>
|
||||
<b>{{ title }}</b>{% if (loop.first or loop.last) %}<span></span>{% endif %}
|
||||
</li>{% endfor %}
|
||||
</ol>
|
||||
{% endif %}
|
|
@ -0,0 +1,39 @@
|
|||
{#
|
||||
/**
|
||||
* @file
|
||||
* Default theme implementation from webform wizard progress.
|
||||
*
|
||||
* Available variables:
|
||||
* - webform: A webform.
|
||||
* - pages: Array of wizard pages.
|
||||
* - current_page: Current wizard page.
|
||||
* - total_pages: Current wizard page.
|
||||
* - summary: Summary of progress.
|
||||
* - percentage: Percentage completed.
|
||||
* - bar: A progress bar.
|
||||
*
|
||||
* @see template_preprocess_webform_progress()
|
||||
*
|
||||
* @ingroup themeable
|
||||
*/
|
||||
#}
|
||||
{{ attach_library('webform/webform.progress') }}
|
||||
|
||||
<div class="webform-progress">
|
||||
|
||||
{{ bar }}
|
||||
|
||||
{% if summary or percentage %}
|
||||
<div class="webform-progress__status">
|
||||
{% if summary %}
|
||||
<span class="webform-progress__'summary">{{ summary }}</span>
|
||||
{% if percentage %}
|
||||
<span class="webform-progress__percentage">({{ percentage }})</span>
|
||||
{% endif %}
|
||||
{% else %}
|
||||
<span class="webform-progress__percentage">{{ percentage }}</span>
|
||||
{% endif %}
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
</div>
|
|
@ -0,0 +1,14 @@
|
|||
{#
|
||||
/**
|
||||
* @file
|
||||
* Default theme implementation from webform submission as HTML.
|
||||
*
|
||||
* Available variables:
|
||||
* - data: The webform submission's data.
|
||||
|
||||
* @see template_preprocess_webform_submission_html()
|
||||
*
|
||||
* @ingroup themeable
|
||||
*/
|
||||
#}
|
||||
{{ data }}
|
|
@ -0,0 +1,60 @@
|
|||
{#
|
||||
/**
|
||||
* @file
|
||||
* Default theme implementation from webform submission information.
|
||||
*
|
||||
* Available variables:
|
||||
* @todo Add variables.
|
||||
*
|
||||
* @see template_preprocess_webform_submission_information()
|
||||
*
|
||||
* @ingroup themeable
|
||||
*/
|
||||
#}
|
||||
<details data-webform-element-id="{{ webform_id }}--submission_information"{% if open %} open="open"{% endif %}>
|
||||
<summary role="button"{% if open %} aria-expanded="true" aria-pressed="true"{% endif %}>{{ 'Submission information'|t }}</summary>
|
||||
<div class="details-wrapper">
|
||||
{% if submissions_view %}
|
||||
<div><b>{{ 'Submission Number'|t }}:</b> {{ serial }}</div>
|
||||
<div><b>{{ 'Submission ID'|t }}:</b> {{ sid }}</div>
|
||||
<div><b>{{ 'Submission UUID'|t }}:</b> {{ uuid }}</div>
|
||||
{% if uri %}
|
||||
<div><b>{{ 'Submission URI'|t }}:</b> {{ uri }}</div>
|
||||
{% endif %}
|
||||
{% if token_update %}
|
||||
<div><b>{{ 'Submission Update'|t }}:</b> {{ token_update }}</div>
|
||||
{% endif %}
|
||||
<br/>
|
||||
<div><b>{{ 'Created'|t }}:</b> {{ created }}</div>
|
||||
<div><b>{{ 'Completed'|t }}:</b> {{ completed }}</div>
|
||||
<div><b>{{ 'Changed'|t }}:</b> {{ changed }}</div>
|
||||
<br/>
|
||||
<div><b>{{ 'Remote IP address'|t }}:</b> {{ remote_addr }}</div>
|
||||
<div><b>{{ 'Submitted by'|t }}:</b> {{ submitted_by }}</div>
|
||||
<div><b>{{ 'Language'|t }}:</b> {{ language }}</div>
|
||||
<br/>
|
||||
<div><b>{{ 'Is draft'|t }}:</b> {{ is_draft }}</div>
|
||||
{% if current_page %}
|
||||
<div><b>{{ 'Current page'|t }}:</b> {{ current_page }}</div>
|
||||
{% endif %}
|
||||
<div><b>{{ 'Webform'|t }}:</b> {{ webform }}</div>
|
||||
{% if submitted_to %}
|
||||
<div><b>{{ 'Submitted to'|t }}:</b> {{ submitted_to }}</div>
|
||||
{% endif %}
|
||||
{% if sticky or notes %}
|
||||
<br/>
|
||||
{% if sticky %}
|
||||
<div><b>{{ 'Flagged'|t }}:</b> {{ sticky }}</div>
|
||||
{% endif %}
|
||||
{% if notes %}
|
||||
<div><b>{{ 'Notes'|t }}:</b> {{ notes }}</div>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
|
||||
{% else %}
|
||||
<div><b>{{ 'Submission ID'|t }}:</b> {{ sid }}</div>
|
||||
<div><b>{{ 'Created'|t }}:</b> {{ created }}</div>
|
||||
{% endif %}
|
||||
|
||||
</div>
|
||||
</details>
|
|
@ -0,0 +1,31 @@
|
|||
{#
|
||||
/**
|
||||
* @file
|
||||
* Default theme implementation to navigate webform submission.
|
||||
*
|
||||
* Available variables:
|
||||
* - prev_url: URL to the previous webform submission.
|
||||
* - next_url: URL to the next webform submission.
|
||||
* - webform_id: The webform ID. Provided for context.
|
||||
*
|
||||
* @see template_preprocess_webform_submission_navigation()
|
||||
*
|
||||
* @ingroup themeable
|
||||
*/
|
||||
#}
|
||||
{% if prev_url or next_url %}
|
||||
<nav id="webform-submission-navigation-{{ webform_id }}" class="webform-submission-navigation" role="navigation" aria-labelledby="webform-submission-label-{{ webform_id }}">
|
||||
<ul class="webform-submission-pager">
|
||||
{% if prev_url %}
|
||||
<li class="webform-submission-pager__item webform-submission-pager__item--previous">
|
||||
<a href="{{ prev_url }}" rel="prev" title="{{ 'Go to previous page'|t }}"><b>{{ '‹'|t }}</b> {{ 'Previous submission'|t }}</a>
|
||||
</li>
|
||||
{% endif %}
|
||||
{% if next_url %}
|
||||
<li class="webform-submission-pager__item webform-submission-pager__item--next">
|
||||
<a href="{{ next_url }}" rel="next" title="{{ 'Go to next page'|t }}">{{ 'Next submission'|t }} <b>{{ '›'|t }}</b></a>
|
||||
</li>
|
||||
{% endif %}
|
||||
</ul>
|
||||
</nav>
|
||||
{% endif %}
|
|
@ -0,0 +1,14 @@
|
|||
{#
|
||||
/**
|
||||
* @file
|
||||
* Default theme implementation from webform submission as a table.
|
||||
*
|
||||
* Available variables:
|
||||
* - table: The webform submission's as a table.
|
||||
|
||||
* @see template_preprocess_webform_submission_table()
|
||||
*
|
||||
* @ingroup themeable
|
||||
*/
|
||||
#}
|
||||
{{ table }}
|
|
@ -0,0 +1,27 @@
|
|||
{#
|
||||
/**
|
||||
* @file
|
||||
* Default theme implementation from form submission as plain text.
|
||||
*
|
||||
* @ingroup themeable
|
||||
*/
|
||||
#}
|
||||
--------------------------------------------------------------------------------
|
||||
{{ 'Submission ID'|t }}: {{ sid }}
|
||||
{{ 'Submission UUID'|t }}: {{ uuid }}
|
||||
{{ 'Submission URI'|t }}: {{ uri }}
|
||||
{{ 'Created'|t }}: {{ created }}
|
||||
{{ 'Completed'|t }}: {{ completed }}
|
||||
{{ 'Changed'|t }}: {{ changed }}
|
||||
{{ 'Is draft'|t }}: {{ is_draft }}
|
||||
{{ 'Current page'|t }}: {{ current_page }}
|
||||
{{ 'Remote IP address'|t }}: {{ remote_addr }}
|
||||
{{ 'Submitted by'|t }}: {{ submitted_by }}
|
||||
{{ 'Language'|t }}: {{ language }}
|
||||
{{ 'Form'|t }}: {{ form }}
|
||||
{{ 'Submitted to'|t }}: {{ submitted_to }}
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
{{ 'Submitted values are'|t }}:
|
||||
|
||||
{{ data }}
|
|
@ -0,0 +1,14 @@
|
|||
{#
|
||||
/**
|
||||
* @file
|
||||
* Default theme implementation from webform submission as YAML.
|
||||
*
|
||||
* Available variables:
|
||||
* - yaml: The webform submission as YAML.
|
||||
|
||||
* @see template_preprocess_webform_submission_yaml()
|
||||
*
|
||||
* @ingroup themeable
|
||||
*/
|
||||
#}
|
||||
{{ yaml }}
|
28
web/modules/contrib/webform/templates/webform.html.twig
Normal file
28
web/modules/contrib/webform/templates/webform.html.twig
Normal file
|
@ -0,0 +1,28 @@
|
|||
{#
|
||||
/**
|
||||
* @file
|
||||
* Theme implementation for a 'webform' element.
|
||||
*
|
||||
* This is an copy of the webform.html.twig theme_wrapper which includes the
|
||||
* 'title_prefix' and 'title_suffix' variables needed for
|
||||
* contextual links to appear.
|
||||
*
|
||||
* Available variables
|
||||
* - attributes: A list of HTML attributes for the wrapper element.
|
||||
* - children: The child elements of the webform.
|
||||
* - title_prefix: Additional output populated by modules, intended to be
|
||||
* displayed in front of the main title tag that appears in the template.
|
||||
* - title_suffix: Additional output populated by modules, intended to be
|
||||
* displayed after the main title tag that appears in the template.
|
||||
*
|
||||
* @see template_preprocess_webform()
|
||||
* @see _webform_form_after_build()
|
||||
*
|
||||
* @ingroup themeable
|
||||
*/
|
||||
#}
|
||||
<form{{ attributes }}>
|
||||
{{ title_prefix }}
|
||||
{{ children }}
|
||||
{{ title_suffix }}
|
||||
</form>
|
Reference in a new issue