]> git.agnieray.net Git - galette.git/commitdiff
Display plugin info in modal
authorGuillaume AGNIERAY <dev@agnieray.net>
Mon, 6 Feb 2023 12:42:08 +0000 (13:42 +0100)
committerJohan Cwiklinski <johan@x-tnd.be>
Fri, 10 Feb 2023 17:34:14 +0000 (18:34 +0100)
galette/templates/default/page.html.twig
galette/templates/default/pages/plugins.html.twig
galette/templates/default/public_page.html.twig

index 939e192d4070de78ea4037221dbae638d6de907b..b4c9d5ae1695888ce94ff0e2f46bfb427e838427 100644 (file)
@@ -38,7 +38,7 @@
             {% endif %}
                     </h1>
                     {% include "elements/messages_inline.html.twig" %}
-                    {% block content %}{{ _T('Page content') }}{% endblock %}
+                    <div class="main-content">{% block content %}{{ _T('Page content') }}{% endblock %}</div>
                     {% include "elements/footer.html.twig" %}
                 </section>
             </div>
index 5cada39e61e0a4549debd5cc803e2d4ab502eca0..38e03bb5ad7cfd988b18d77d13b131d9adf82cfe 100644 (file)
@@ -19,7 +19,7 @@
             </tr>
 {% for name, plugin in plugins_list %}
             <tr class="{% if loop.index0 % 2 == 0 %}even{% else %}odd{% endif %}">
-                <td data-scope="row"><a href="{{ path_for(plugin.route ~ "Info", {"plugin": name}) }}">{{ plugin.name }} ({{ name }})</a></td>
+                <td data-scope="row"><a href="{{ path_for(plugin.route ~ "Info", {"plugin": name}) }}" class="info-plugin">{{ plugin.name }} ({{ name }})</a></td>
                 <td data-title="{{ _T('Description') }}">{{ plugin.desc }}</td>
                 <td data-title="{{ _T('Author') }}">{{ plugin.author }}</td>
                 <td data-title="{{ _T('Version') }}">{{ plugin.version }}</td>
                     });
                 });
             };
+
+            $('.info-plugin').click(function(event){
+                event.preventDefault();
+                var _this = $(this);
+                var _url = _this.attr('href');
+                $.ajax({
+                    url: _url,
+                    type: "GET",
+                    datatype: 'json',
+                    {% include "elements/js/loader.js.twig" %},
+                    success: function(res) {
+                        var _content = $($.parseHTML(res)).find('div.main-content').children();
+                        $('body').modal({
+                            title: _this.html(),
+                            class: 'large',
+                            classContent: 'scrolling',
+                            content: _content,
+                            actions: [{
+                                text    : '{{ _T("Close")|e('js') }}',
+                                class   : 'labeled icon cancel',
+                                icon    : 'times'
+                            }]
+                        }).modal('show');
+                    },
+                    error: function() {
+                        alert("{{ _T("An error occurred :(")|e('js') }}");
+                    }
+                });
+            });
     {% endif %}
         });
     </script>
index bba4a6f27e608bbe785bb2f2d84e922d02a736be..77e2e2ed398e30310f8bb1fbced005f1a2560544 100644 (file)
@@ -35,7 +35,7 @@
 {% endif %}
                     <h1 class="ui block center aligned header">{{ page_title }}</h1>
                     {% include "elements/messages_inline.html.twig" %}
-                    {% block content %}{{ _T("Public page content") }}{% endblock %}
+                    <div class="main-content">{% block content %}{{ _T("Public page content") }}{% endblock %}</div>
                     {% include "elements/footer.html.twig" %}
                 </section>
             </div>