Support › Meta Box Conditional Logic › Conditional logic performance (with repeatable groups)
I'm considering moving a big project (which has a close due date) from ACF PRO to Metabox, mainly due to ACF JS performance on very complex pages, and the bloat it creates in the database (thumbsup for the serialized data option in metabox).
I've bought metabox to give it a try, and came across one main issue.
One of the feature I need to build is a "pagebuilder".
To achieve this, I created a cloneable group.
Inside the group, the first field is a select, where you can choose between 25 different layouts.
Each layout is a "group" field, which collects all the fields of the layout. Each group his hidden with the conditional logic extension, so that when you select the desired layout in the dropdown, only the relevant field group will be displayed.
Everything is working fine (just a pity that you cannot insert tabs inside a repeatable group ;-), except when you add a lot of layouts.
I've tried in a page with 20 layouts (which is approximately the most complex landing page that will be created in this project), and the backend performance have plummeted.
The DOM loads in 36/38 seconds but for the page to become responsive it takes 50 to 60 seconds, which is kind of a no-no because the editorial team needs to be very productive.
Here's the code: https://ghostbin.com/paste/f5yvo
For now it's just an example that I built to test the performance (so it's basically the same set of fields repeating in each layout), the real one is a bit more complex (and requiring a little more conditional logic).
Let me test with your code. We've been optimizing the JS part for Conditional Logic, as it's an important point in our plugins.
I've just tested your code and don't see the delay. Here is my video: http://recordit.co/VlsfsK6Lqf
Which version of the plugins did you test? The latest version of Conditional Logic and Group have improved the performance quite a lot.
thank you for your reply 🙂
How many fields from the parent repeater did you add?
I've encountered the problem when then number it's > 19.
I did not finish yo answer your question:
I'm using Metabox AIO 1.6.16, so it should be up to date with the latest extensions.