grav-plugin-flex-objects icon indicating copy to clipboard operation
grav-plugin-flex-objects copied to clipboard

Dropdown custom modal in admin not working when in edit page view.

Open n-vs-m opened this issue 2 years ago • 3 comments

See this discussion: https://github.com/getgrav/grav-plugin-admin/issues/2259

A custom modal button made like explained in the doc is not working when you are in edit page view. The button is displayed, but when you click on it a JS error prints.

admin.min.js?59588e338c:683 Uncaught TypeError: Cannot read properties of undefined (reading 'open')
    at HTMLAnchorElement.<anonymous> (admin.min.js?59588e338c:683:56)
    at HTMLDocument.dispatch (jquery-2.x.min.js?59588e338c:3:7537)
    at r.handle (jquery-2.x.min.js?59588e338c:3:5620)

It seems the file https://github.com/trilbymedia/grav-plugin-flex-objects/blob/develop/admin/templates/flex-objects/types/pages/edit.html.twig is missing some definition.

Adding a few lines before the closing if at the line 212 https://github.com/trilbymedia/grav-plugin-flex-objects/blob/f2a044ab813198108f677b3b4844d6696dda9161/admin/templates/flex-objects/types/pages/edit.html.twig#L210-L215

seems to work, here are the lines:

       {% for key, add_modal in config.plugins.admin.add_modals %}
          <div class="remodal {{ add_modal.modal_classes|defined('') }}" data-remodal-id="modal-add_modal-{{ key }}" data-remodal-options="hashTracking: false, closeOnOutsideClick: false">
            {% include add_modal.template|defined('partials/blueprints-new.html.twig') with {
              form: null,
              blueprints: admin.blueprints(add_modal.blueprint),
              data: null,
              form_id: 'add-modal'
            }|merge(add_modal.with|defined({})) %}
          </div>
        {% endfor %}

Sorry i can't make a proper PR as git is not configured on my grav.

n-vs-m avatar Nov 28 '23 19:11 n-vs-m

This worked a treat when I hacked the plugin, so thank you! I was trying to add it to my site repo as an override so I don't have to use a hacked plugin, but couldn't seem to find the right location. It works to override form plugin templates. I have tried:

  • user/admin/themes/grav/templates/flex-objects/types/pages/ and
  • user/admin/templates/flex-objects/types/pages/

but neither seemed to work. Any idea where I might put this modified template to get it working?

hughbris avatar Nov 29 '23 00:11 hughbris

I didn't find any suited user directory...

n-vs-m avatar Nov 30 '23 09:11 n-vs-m

It is possible to override the edit.html.twig from a theme folder:

  • user/themes/{path-to-your-theme}/admin/templates/flex-objects/types/pages/ or
  • user/data/{path-to-your-theme}/admin/templates/flex-objects/types/pages/

Thank you for the lines to make the custom modal working on edit page view.

Xoriander avatar Feb 28 '24 13:02 Xoriander