[web/data] Fix userCallbackThenUpdateUI to completely replace old DOM elements
Without the 'swap' parameter, userCallbackThenUpdateUI() would replace
the _children_ of the component with a new version of the componenent,
thus creating nested divs/spans/buttons/etc.
Closes #4881299
Schema of the data
------------------
First take a look at the data schema_ then try to remember that you are browsing
through a heap of data by applying stylesheets to the results of queries. This
site is not a content management system with items placed in folders. It is an
interface to a database which applies a view to retreived data.
.. _schema: schema