I found this in plugins\fabrik_visualization\googlemap\models\googlemap.php
* One day we should get smarter about how we decide which elements to render
* but for now all we can do is set formatAll(), in case they use an element
* which isn't set for list display, which then wouldn't get rendered unless we do this.
if (FabrikString::usesElementPlaceholders($template))
{
$listModel->formatAll(true);
}
So as soon as the bubble template has a placeholer, all elements are rendered. I assume this was before the element option "always render" was added.
If I take this line out it doesn't show any element rendering in the debug (as expected).
I had expected to see only the raw values in the marker popup but it's showing the labels of the dbjoin (nice effect but
)
But date elements or elements with "link to details" are showing up raw (until set to "Always render").
-----------
Edit:
So it will break backward compatibility taking the formatAll out (elements in bubble template must be set to always render if not shown in the list) but speed up the map viz dramatically.
-----------------------
The map is speeding up (34 rows, 7 elements) to about 2 seconds (from 8 seconds with formatAll)
You can work around these element renderings with the list copy, but in this case the map viz doesn't show filtered values (if the list view was filtered before).
If the map could skip all these row onCanDelete it would save additional rownumber x 35ms (i.e. about 1 second per 30 rows).
(onCanEdit and canSelectRows are fast, but why are those tests necessary in a viz?)