Webform module and config export

This commit is contained in:
Rob Davies 2017-03-16 15:29:07 +00:00
parent 3e6a5cbed2
commit 0e15467384
1040 changed files with 117682 additions and 0 deletions

View file

@ -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 }}

View file

@ -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>

View file

@ -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 %}

View file

@ -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 %}

View file

@ -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 %}

View file

@ -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 }}

View file

@ -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 %}

View file

@ -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 }}

View file

@ -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>

View file

@ -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 %}

View file

@ -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 }}

View file

@ -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>

View file

@ -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/>

View file

@ -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 %}

View file

@ -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 }}

View file

@ -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>

View file

@ -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" />

View 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>

View file

@ -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>

View file

@ -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 %}&lt;{{ settings.from_name }}&gt;{% 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 : '' }}

View file

@ -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/>

View file

@ -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>

View 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 }}

View file

@ -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 %}

View file

@ -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 %}

View file

@ -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>

View file

@ -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 }}

View file

@ -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>

View file

@ -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 %}

View file

@ -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 }}

View file

@ -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 }}

View file

@ -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 }}

View 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>