Added option to add page/folder when editing existing page

This commit is contained in:
Andy Miller
2017-04-19 12:09:32 -06:00
parent 5f4217cc7c
commit 9c4f7ee185
2 changed files with 46 additions and 14 deletions

View File

@@ -115,18 +115,20 @@
<div class="button-group">
<button type="button" class="button disabled" href="#modal" data-remodal-target="modal">
<i class="fa fa-plus"></i> {{ "PLUGIN_ADMIN.ADD_PAGE"|tu }}
<i class="fa fa-plus"></i> {{ "PLUGIN_ADMIN.ADD"|tu }}
</button>
<button type="button" class="button dropdown-toggle" data-toggle="dropdown">
<i class="fa fa-caret-down"></i>
</button>
<ul class="dropdown-menu">
<li><a class="button" href="#modal" data-remodal-target="modal">{{ "PLUGIN_ADMIN.ADD_PAGE"|tu }}</a></li>
<li><a class="button" href="#modal-folder" data-remodal-target="modal-folder">{{ "PLUGIN_ADMIN.ADD_FOLDER"|tu }}</a></li>
{% if admin.modularTypes is not empty %}
<li><a class="button" href="#modular" data-remodal-target="modular">{{ "PLUGIN_ADMIN.ADD_MODULAR"|tu }}</a></li>
{% endif %}
</ul>
</div>
{% if admin.multilang %}
<div class="button-group">
<button type="button" class="button disabled">
@@ -154,7 +156,24 @@
{{ preview_link|raw }}
<a class="button" href="{{ base_url }}/pages"><i class="fa fa-reply"></i> {{ "PLUGIN_ADMIN.BACK"|tu }}</a>
{% if exists %}
<div class="button-group">
<button type="button" class="button disabled" href="#modal" data-remodal-target="modal">
<i class="fa fa-plus"></i> {{ "PLUGIN_ADMIN.ADD"|tu }}
</button>
<button type="button" class="button dropdown-toggle" data-toggle="dropdown">
<i class="fa fa-caret-down"></i>
</button>
<ul class="dropdown-menu">
<li><a class="button" href="#modal" data-remodal-target="modal">{{ "PLUGIN_ADMIN.ADD_PAGE"|tu }}</a></li>
<li><a class="button" href="#modal-folder" data-remodal-target="modal-folder">{{ "PLUGIN_ADMIN.ADD_FOLDER"|tu }}</a></li>
{% if admin.modularTypes is not empty %}
<li><a class="button" href="#modular" data-remodal-target="modular">{{ "PLUGIN_ADMIN.ADD_MODULAR"|tu }}</a></li>
{% endif %}
</ul>
</div>
<a class="button disable-after-click" href="{{ uri.addNonce(page_url ~ '/task' ~ config.system.param_sep ~ 'copy', 'admin-form', 'admin-nonce') }}" class="page-copy" ><i class="fa fa-copy"></i> {{ "PLUGIN_ADMIN.COPY"|tu }}</a>
<a class="button" href="#" data-remodal-target="move"><i class="fa fa-arrows"></i> {{ "PLUGIN_ADMIN.MOVE"|tu }}</a>
{% if config.plugins['admin-pro'].enabled %}
@@ -279,22 +298,29 @@
{% endif %}
</div>
{% if mode == 'list' %}
<div class="remodal" data-remodal-id="modal" data-remodal-options="hashTracking: false">
{% include 'partials/blueprints-new.html.twig' with { blueprints: admin.blueprints('admin/pages/new'), data: context } %}
</div>
<div class="remodal" data-remodal-id="modal-folder" data-remodal-options="hashTracking: false">
{% include 'partials/blueprints-new-folder.html.twig' with { blueprints: admin.blueprints('admin/pages/new_folder'), data: context } %}
</div>
<div class="remodal" data-remodal-id="modular" data-remodal-options="hashTracking: false">
{% include 'partials/blueprints-new.html.twig' with { blueprints: admin.blueprints('admin/pages/modular_new'), data: context } %}
</div>
{% if context %}
{% set obj_data = clone(context) %}
{% if mode == 'edit' %}
{% do obj_data.folder('') %}
{% endif %}
{% endif %}
{% if mode == 'list' or mode == 'edit' %}
<div class="remodal" data-remodal-id="modal" data-remodal-options="hashTracking: false">
{% include 'partials/blueprints-new.html.twig' with { blueprints: admin.blueprints('admin/pages/new'), data: obj_data } %}
</div>
<div class="remodal" data-remodal-id="modal-folder" data-remodal-options="hashTracking: false">
{% include 'partials/blueprints-new-folder.html.twig' with { blueprints: admin.blueprints('admin/pages/new_folder'), data: obj_data } %}
</div>
<div class="remodal" data-remodal-id="modular" data-remodal-options="hashTracking: false">
{% include 'partials/blueprints-new.html.twig' with { blueprints: admin.blueprints('admin/pages/modular_new'), data: obj_data } %}
</div>
{% endif %}
{% if mode == 'edit' %}
<div class="remodal" data-remodal-id="move" data-remodal-options="hashTracking: false">

View File

@@ -49,9 +49,15 @@ class AdminTwigExtension extends \Twig_Extension
{
return [
new \Twig_SimpleFunction('getPageUrl', [$this, 'getPageUrl'], ['needs_context' => true]),
new \Twig_SimpleFunction('clone', [$this, 'cloneFunc']),
];
}
public function cloneFunc($obj)
{
return clone $obj;
}
public function getPageUrl($context, $page)
{
$page_route = trim($page->rawRoute(), '/');