Current versions of Beaver Builder plugin employ Partial Refresh for layout, in which only the row, column, or module that you are currently editing is updated when you click Save (or a preview refresh is triggered). However, custom module developers need to enable this for their modules and be sure that they are compatible for partial refresh to work. Custom modules that do not support partial refresh will trigger a full layout refresh when edited.
As you can see, that code will run the same function for each module on the page, even when just a single module is updated.
That code will only run for a module with a specific ID.
At this point, you may be wondering how you can accomplish this without having to use frontend.js.php for everything. We typically do that by using frontend.js.php for the instance code and frontend.js to house the bulk of the logic. Here's an example:
individual instance. Any number of parameters can be passed here. We're just
id for this module.
In frontend.js we build the
FLBuilderAccordion object, which has all of
frontend.js.php (some code omitted for brevity).
Once your module is compatible, enabling partial refresh is easy. Just set the partial_refresh parameter in your module's constructor to true as shown in the example below and partial refresh will be enabled for your module.