Changes:
* Introduced a cluster marker to denote multiple points of interest at
the same location
* Seperated out a plain enterprise modal into 2 parts
* A modal called EnterpriseModal for showing a list of enterprises at
the same location
* A box called EnterpriseBox(which by the way is also a technically a
modal) that shows the details of that particular enterprise selected
* If at a location there exists only a single enterprise then only the
box is shown
When loading the page $watchGroup calls the listener function for every
listed line item but with a set variant and null quantity and
max_quantity. There's no point on computing an order change when there
was none.
This saves an empty request on the second most used endpoint of the app,
specially busy when users are placing orders.
Add paymentMethodsAPI specific mapping function, we had some errors in production with mastercards probably caused by ActiveMerchant not handling the card type correctly
It was introduced, because `Navigation.go` perserved hash fragments. We
actually don't need that behaviour and it has been corrected.
`goWithoutHashFragments` also didn't deal with absolute URLs. And it used
`location.origin` which is not supported by Internet Explorer. That is
fixed by our use of Modernizr though.
I looked through the history and it looks like this function was a bit
flawed (preserving hash fragments) from the beginning. It has been
patched a few times without addressing the underlying issue that we want
more than just replacing the pathname. We want to go somewhere else.
The filter for closed shops was filtering profiles as well. That made it
impossible to show profiles without showing closed shops as well.
Replacing the filter for closed shops fixes the "show profiles" feature.
Fixes https://github.com/openfoodfoundation/openfoodnetwork/issues/1718
Not initialising `product.variant_names` causes it to become the string
"undefinedVariant1Variant2" while it should just be "Variant1Variant2".
This mistake did not matter when `variant_names` was just used to search
for a sub-string. A recent change to search only for the beginning of a
word, caused this to fail.
See: https://github.com/openfoodfoundation/openfoodnetwork/pull/1545