Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions config/reference.php
Original file line number Diff line number Diff line change
Expand Up @@ -767,6 +767,7 @@
* }
* @psalm-type LiveComponentConfig = array{
* secret?: scalar|Param|null, // The secret used to compute fingerprints and checksums // Default: "%kernel.secret%"
* fetch_credentials?: "same-origin"|"include"|"omit"|Param, // The default fetch credentials mode for all Live Components ('same-origin', 'include', 'omit') // Default: "same-origin"
* }
* @psalm-type StimulusConfig = array{
* controller_paths?: list<scalar|Param|null>,
Expand Down Expand Up @@ -1474,6 +1475,9 @@
* path?: scalar|Param|null, // The local icon set directory path. (cannot be used with 'alias')
* alias?: scalar|Param|null, // The remote icon set identifier. (cannot be used with 'path')
* icon_attributes?: array<string, scalar|Param|null>,
* suffixes?: array<string, array{ // The suffix name (e.g. "solid", "20-solid") // Default: []
* icon_attributes?: array<string, scalar|Param|null>,
* }>,
* }>,
* aliases?: array<string, string|Param>,
* iconify?: bool|array{ // Configuration for the remote icon service.
Expand Down
24 changes: 24 additions & 0 deletions config/routes.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,3 +3,27 @@ index:
controller: Symfony\Bundle\FrameworkBundle\Controller\TemplateController
defaults:
template: base.html.twig

basic_create:
path: /basic/create
controller: Symfony\Bundle\FrameworkBundle\Controller\TemplateController
defaults:
template: basic/create.html.twig

basic_update:
path: /basic/update
controller: Symfony\Bundle\FrameworkBundle\Controller\TemplateController
defaults:
template: basic/update.html.twig

basic_index:
path: /basic/index
controller: Symfony\Bundle\FrameworkBundle\Controller\TemplateController
defaults:
template: basic/index.html.twig

basic_show:
path: /basic/show
controller: Symfony\Bundle\FrameworkBundle\Controller\TemplateController
defaults:
template: basic/show.html.twig
Original file line number Diff line number Diff line change
@@ -1,25 +1,27 @@
{% if form is not defined %}
{% set form = hookable_metadata.context.form %}
{% set form = hookable_metadata.context.form|default(null) %}
{% endif %}

{% if resource is not defined %}
{% set resource = hookable_metadata.context.resource|default(null) %}
{% endif %}

{% form_theme form '@SyliusBootstrapAdminUi/shared/form_theme.html.twig' %}
{% if form is not null %}
{% form_theme form '@SyliusBootstrapAdminUi/shared/form_theme.html.twig' %}

<div class="container-xl" {% if attributes is defined %} {{ attributes }} {% endif %}>
{{ form_start(form, {'attr': {'novalidate': 'novalidate', 'id': form.vars.id}}) }}
<div class="card-body">
{% if hookable_metadata.configuration.method is defined %}
<input type="hidden" name="_method" value="{{ hookable_metadata.configuration.method }}"/>
{% elseif form.vars.data.id|default(null) is not null %}
<input type="hidden" name="_method" value="PUT"/>
{% endif %}
{{ form_errors(form) }}
{{ form_widget(form._token) }}
<div class="container-xl" {% if attributes is defined %} {{ attributes }} {% endif %}>
{{ form_start(form, {'attr': {'novalidate': 'novalidate', 'id': form.vars.id}}) }}
<div class="card-body">
{% if hookable_metadata.configuration.method is defined %}
<input type="hidden" name="_method" value="{{ hookable_metadata.configuration.method }}"/>
{% elseif form.vars.data.id|default(null) is not null %}
<input type="hidden" name="_method" value="PUT"/>
{% endif %}
{{ form_errors(form) }}
{{ form_widget(form._token) }}

{% hook 'form' with { form, resource } %}
{% hook 'form' with { form, resource } %}
</div>
{{ form_end(form, {render_rest: hookable_metadata.configuration.render_rest|default(false)}) }}
</div>
{{ form_end(form, {render_rest: hookable_metadata.configuration.render_rest|default(false)}) }}
</div>
{% endif %}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{% set resources = hookable_metadata.context.resources %}
{% set resources = hookable_metadata.context.resources|default(null) %}

<div class="col-12 col-md-auto ms-auto d-print-none">
<div class="btn-list">
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,12 @@
{% import '@SyliusBootstrapAdminUi/shared/helper/button.html.twig' as button %}

{% set configuration = hookable_metadata.context.configuration %}
{% set configuration = hookable_metadata.context.configuration|default(null) %}

{% set index_url = sylius_generate_redirect_path(app.request.headers.get('referer')|default(path(
configuration.vars.index.route.name|default(configuration.getRouteName('index')),
configuration.vars.index.route.parameters|default(configuration.vars.route.parameters|default({}))
))) %}
{% if app.request.headers.has('referer') or configuration is not null %}
{% set index_url = sylius_generate_redirect_path(app.request.headers.get('referer')|default(path(
configuration.vars.index.route.name|default(configuration.getRouteName('index')),
configuration.vars.index.route.parameters|default(configuration.vars.route.parameters|default({}))
))) %}

{{ button.cancel(sylius_test_form_attribute('cancel-changes-button')|merge({ text: 'sylius.ui.cancel'|trans, url: index_url, class: 'btn' })) }}
{{ button.cancel(sylius_test_form_attribute('cancel-changes-button')|merge({ text: 'sylius.ui.cancel'|trans, url: index_url, class: 'btn' })) }}
{% endif %}
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{% import '@SyliusBootstrapAdminUi/shared/helper/button.html.twig' as button %}

{% set form = hookable_metadata.context.form %}
{% set form = hookable_metadata.context.form|default(null) %}

{{ button.primary({ text: 'sylius.ui.create'|trans, type: 'submit', form: form.vars.id }) }}
{{ button.primary({ text: 'sylius.ui.create'|trans, type: 'submit', form: form.vars.id|default(null) }) }}
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,6 @@
sylius_test_form_attribute('update-changes-button')|merge({
text: 'sylius.ui.update'|trans,
type: 'submit',
form: hookable_metadata.context.form.vars.id
form: hookable_metadata.context.form.vars.id|default(null)
})
) }}
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
{% set metadata = hookable_metadata.context.metadata %}
{% set header = hookable_metadata.configuration.title|default(metadata.applicationName~'.ui.'~metadata.pluralName) %}
{% else %}
{% set header = hookable_metadata.configuration.title %}
{% set header = hookable_metadata.configuration.title|default(null) %}
{% endif %}

{% set icon = hookable_metadata.configuration.icon|default(null) %}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,18 +4,27 @@
{% set metadata = hookable_metadata.context.metadata %}
{% set resource_name = hookable_metadata.configuration.resource_name|default(metadata.applicationName~'.ui.'~metadata.pluralName) %}
{% else %}
{% set resource_name = hookable_metadata.configuration.resource_name %}
{% set resource_name = hookable_metadata.configuration.resource_name|default(null) %}
{% endif %}

{% set configuration = hookable_metadata.context.configuration %}
{% set index_url = path(
configuration.vars.index.route.name|default(configuration.getRouteName('index')),
configuration.vars.index.route.parameters|default(configuration.vars.route.parameters|default({}))
)
%}
{% set configuration = hookable_metadata.context.configuration|default(null) %}

{{ breadcrumbs([
{ name: 'sylius.ui.dashboard', url: path('sylius_admin_ui_dashboard'), active: false },
{ name: resource_name, url: index_url, active: false },
{ name: 'sylius.ui.new'|trans, active: true}
]) }}
{% if configuration is not null %}
{% set index_url = path(
configuration.vars.index.route.name|default(configuration.getRouteName('index')),
configuration.vars.index.route.parameters|default(configuration.vars.route.parameters|default({}))
) %}
{% endif %}

{% if index_url is defined and resource_name is not null %}
{{ breadcrumbs([
{ name: 'sylius.ui.dashboard', url: path('sylius_admin_ui_dashboard'), active: false },
{ name: resource_name, url: index_url, active: false },
{ name: 'sylius.ui.new'|trans, active: true}
]) }}
{% else %}
{{ breadcrumbs([
{ name: 'sylius.ui.dashboard', url: path('sylius_admin_ui_dashboard'), active: false },
{ name: 'sylius.ui.new'|trans, active: true}
]) }}
{% endif %}
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@
{% set singular_name = hookable_metadata.configuration.resource_name|default(metadata.applicationName ~ '.ui.' ~ _context.metadata.name) %}
{% set header = hookable_metadata.configuration.title|default(hookable_metadata.configuration.header|default(null)) %}
{% else %}
{% set singular_name = hookable_metadata.configuration.resource_name %}
{% set header = hookable_metadata.configuration.title|default(hookable_metadata.configuration.header) %}
{% set singular_name = hookable_metadata.configuration.resource_name|default(null) %}
{% set header = hookable_metadata.configuration.title|default(hookable_metadata.configuration.header|default(null)) %}
{% endif %}

{% set icon = hookable_metadata.configuration.icon|default(null) %}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{% from "@SyliusBootstrapAdminUi/shared/helper/accordion.html.twig" import accordion %}
{% import "@SyliusBootstrapAdminUi/shared/helper/button.html.twig" as button %}

{% set resources = hookable_metadata.context.resources %}
{% set resources = resources|default(hookable_metadata.context.resources|default(null)) %}

{% set path = path(app.request.attributes.get('_route'), app.request.attributes.all('_route_params')) %}
{% set are_criteria_set = app.request.query.has('criteria') %}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{% set resources = hookable_metadata.context.resources %}
{% set resources = resources|default(hookable_metadata.context.resources|default(null)) %}

{% if resources.data is defined and resources.data|length == 0 %}
<div class="card">
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,10 @@
{% if title_from_context is not null or resource_metadata is not null %}
{% set title = title_from_context|default(resource_metadata.applicationName~'.ui.'~resource_metadata.pluralName) %}
{% else %}
{% set title = hookable_metadata.configuration.title|default('') %}
{% set title = hookable_metadata.configuration.title|default(null) %}
{% endif %}

{{ breadcrumbs([
{ 'name': 'sylius.ui.dashboard', 'url': path('sylius_admin_ui_dashboard'), 'active': false },
{ 'name': title, 'active': true },
{ 'name': title|default('sylius.ui.index'|trans), 'active': true },
]) }}
Original file line number Diff line number Diff line change
@@ -1,15 +1,18 @@
{% from '@SyliusBootstrapAdminUi/shared/helper/breadcrumbs.html.twig' import breadcrumbs %}

{% set configuration = hookable_metadata.context.configuration %}
{% set resource = hookable_metadata.context.resource %}
{% set metadata = hookable_metadata.context.metadata %}
{% set configuration = hookable_metadata.context.configuration|default(null) %}
{% set resource = hookable_metadata.context.resource|default(null) %}
{% set metadata = hookable_metadata.context.metadata|default(null) %}

{% set resource_index = metadata.applicationName~'.ui.'~metadata.pluralName %}
{% set index_url = path(
configuration.vars.index.route.name|default(configuration.getRouteName('index')),
configuration.vars.index.route.parameters|default(configuration.vars.route.parameters|default({}))
) %}
{% if configuration and metadata %}
{% set resource_index = metadata.applicationName~'.ui.'~metadata.pluralName %}
{% set index_url = path(
configuration.vars.index.route.name|default(configuration.getRouteName('index')),
configuration.vars.index.route.parameters|default(configuration.vars.route.parameters|default({}))
) %}
{% endif %}

{% set title = hookable_metadata.configuration.title|default(null) %}
{% set rendered_field_prefix = hookable_metadata.configuration.rendered_field_prefix|default(null) %}
{% set field_name = hookable_metadata.configuration.rendered_field|default('') %}
{% set rendered_field = rendered_field_prefix ~ (attribute(resource, field_name) is defined ? attribute(resource, field_name) : null) %}
Expand All @@ -19,18 +22,26 @@
: {}
%}

{% set resource_show_name = rendered_field|default(resource.translations[app.locale].name|default(resource.code|default(resource.id))) %}
{% set resource_show_name = title|default(rendered_field|default(resource.translations[app.locale].name|default(resource.code|default(resource.id|default(null))))) %}

{% if action is defined and action.name is defined %}
{% set show_url = path(configuration.getRouteName('show'), { id: resource.id }) %}
{% set resource_show = { name: resource_show_name, url: show_url} %}
{% else %}
{% set resource_show = { name: resource_show_name, active: true} %}
{% set resource_show = { name: resource_show_name|default('sylius.ui.show'|trans), active: true} %}
{% endif %}

{{ breadcrumbs([
{ name: 'sylius.ui.dashboard', url: path('sylius_admin_ui_dashboard'), active: false },
{ name: resource_index, url: index_url, active: false },
resource_show,
action
]) }}
{% if resource_index is defined and index_url is defined %}
{{ breadcrumbs([
{ name: 'sylius.ui.dashboard', url: path('sylius_admin_ui_dashboard'), active: false },
{ name: resource_index, url: index_url, active: false },
resource_show,
action
]) }}
{% else %}
{{ breadcrumbs([
{ name: 'sylius.ui.dashboard', url: path('sylius_admin_ui_dashboard'), active: false },
resource_show,
action
]) }}
{% endif %}
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@
{% set singular_name = hookable_metadata.configuration.resource_name|default(metadata.applicationName ~ '.ui.' ~ _context.metadata.name) %}
{% set header = hookable_metadata.configuration.title|default(hookable_metadata.configuration.header|default(null)) %}
{% else %}
{% set singular_name = hookable_metadata.configuration.resource_name %}
{% set header = hookable_metadata.configuration.title|default(hookable_metadata.configuration.header) %}
{% set singular_name = hookable_metadata.configuration.resource_name|default(null) %}
{% set header = hookable_metadata.configuration.title|default(hookable_metadata.configuration.header|default(null)) %}
{% endif %}

{% set icon = hookable_metadata.configuration.icon|default(null) %}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,32 +1,41 @@
{% from '@SyliusBootstrapAdminUi/shared/helper/breadcrumbs.html.twig' import breadcrumbs %}

{% set configuration = hookable_metadata.context.configuration %}
{% set resource = hookable_metadata.context.resource %}
{% set metadata = hookable_metadata.context.metadata %}
{% set configuration = hookable_metadata.context.configuration|default(null) %}
{% set resource = hookable_metadata.context.resource|default(null) %}
{% set metadata = hookable_metadata.context.metadata|default(null) %}

{% set resource_index = metadata.applicationName~'.ui.'~metadata.pluralName %}
{% set index_url = path(
configuration.vars.index.route.name|default(configuration.getRouteName('index')),
configuration.vars.index.route.parameters|default(configuration.vars.route.parameters|default({}))
) %}
{% if metadata is not null and configuration is not null %}
{% set resource_index = metadata.applicationName~'.ui.'~metadata.pluralName %}
{% set index_url = path(
configuration.vars.index.route.name|default(configuration.getRouteName('index')),
configuration.vars.index.route.parameters|default(configuration.vars.route.parameters|default({}))
) %}
{% endif %}

{% set rendered_field_prefix = hookable_metadata.configuration.rendered_field_prefix|default(null) %}
{% set field_name = hookable_metadata.configuration.rendered_field|default('') %}
{% set rendered_field = rendered_field_prefix ~ (attribute(resource, field_name) is defined ? attribute(resource, field_name) : null) %}

{% set resource_edit_name = rendered_field|default(resource.translations[app.locale].name|default(resource.code|default(resource.id))) %}
{% set show_route_name = configuration.vars.index.route.name|default(configuration.getRouteName('show')) %}
{% set resource_edit_name = rendered_field|default(resource.translations[app.locale].name|default(resource.code|default(resource.id|default(null)))) %}
{% set show_route_name = configuration.vars.index.route.name|default(configuration.getRouteName('show')|default(null)) %}

{% if sylius_route_exists(show_route_name) %}
{% if show_route_name is not null and sylius_route_exists(show_route_name) %}
{% set show_url = path(show_route_name, { id: resource.id }) %}
{% set resource_edit = { name: resource_edit_name, url: show_url} %}
{% else %}
{% set resource_edit = { name: resource_edit_name, active: true} %}
{% endif %}

{{ breadcrumbs([
{ name: 'sylius.ui.dashboard', url: path('sylius_admin_ui_dashboard'), active: false },
{ name: resource_index, url: index_url, active: false },
resource_edit,
{ name: 'sylius.ui.edit'|trans, active: false }
]) }}
{% if resource_index is defined %}
{{ breadcrumbs([
{ name: 'sylius.ui.dashboard', url: path('sylius_admin_ui_dashboard'), active: false },
{ name: resource_index, url: index_url, active: false },
resource_edit,
{ name: 'sylius.ui.edit'|trans, active: false }
]) }}
{% else %}
{{ breadcrumbs([
{ name: 'sylius.ui.dashboard', url: path('sylius_admin_ui_dashboard'), active: false },
{ name: 'sylius.ui.edit'|trans, active: false }
]) }}
{% endif %}
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@
{% set singular_name = hookable_metadata.configuration.resource_name|default(metadata.applicationName ~ '.ui.' ~ _context.metadata.name) %}
{% set header = hookable_metadata.configuration.title|default(hookable_metadata.configuration.header|default(null)) %}
{% else %}
{% set singular_name = hookable_metadata.configuration.resource_name %}
{% set header = hookable_metadata.configuration.title|default(hookable_metadata.configuration.header) %}
{% set singular_name = hookable_metadata.configuration.resource_name|default(null) %}
{% set header = hookable_metadata.configuration.title|default(hookable_metadata.configuration.header|default(null)) %}
{% endif %}

{% set icon = hookable_metadata.configuration.icon|default(null) %}
Expand Down
1 change: 1 addition & 0 deletions src/UiTranslations/translations/messages.en.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ sylius:
from: From
hello: Hello
in: 'In'
index: 'Index'
info: Info
license: 'License'
login: Login
Expand Down
1 change: 1 addition & 0 deletions src/UiTranslations/translations/messages.fr.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ sylius:
from: 'De'
hello: 'Bonjour'
in: 'Dans'
index: 'Index'
info: 'Info'
license: Licence
login: 'Connexion'
Expand Down
5 changes: 5 additions & 0 deletions templates/basic/create.html.twig
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{% extends '@SyliusAdminUi/base.html.twig' %}

{% block body %}
{% hook ['sylius_admin.common.create'] %}
{% endblock %}
5 changes: 5 additions & 0 deletions templates/basic/index.html.twig
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{% extends '@SyliusAdminUi/base.html.twig' %}

{% block body %}
{% hook ['sylius_admin.common.index'] %}
{% endblock %}
5 changes: 5 additions & 0 deletions templates/basic/show.html.twig
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{% extends '@SyliusAdminUi/base.html.twig' %}

{% block body %}
{% hook ['sylius_admin.common.show'] %}
{% endblock %}
Loading
Loading