I'm wondering if the following is possible with the arcgis-basemap-gallery component (and if not, I would like to request it as a feature):
Is there a way to organize basemaps in the basemap gallery into different groups for skimming/browsing purposes?
For example, in one application, I define the `arcgis-basemap-gallery` `sources` field to be a dozen or so basemaps. Some of these are from my organization, while others are public basemaps from Living Atlas. I want to separate them into groups in the gallery so it's clear at a glance which are coming from my organization and which are coming from Living Atlas. (Note that this is just an example; the ability to manually sort them into groups arbitrarily is what I'm after.)
For my purposes, I'd need the ability to sort them into groups and title the groups:
const gallery = document.querySelector('arcgis-basemap-gallery);
await gallery.componentOnReady();
const myOrgBasemaps = [/** define some basemaps here */];
const livingAtlasBasemaps = [/** same here, but different basemaps */];
// POTENTIAL API: `source` can accept an array/Collection
// of LocalBasemapsSource, and LocalBasemapsSource supports
// a `title` property
gallery.source = [
new LocalBasemapsSource({
basemaps: myOrgBasemaps,
title: 'Organization basemaps',
}),
new LocalBasemapsSource({
basemaps: livingAtlasBasemaps,
title: 'Living Atlas basemaps',
}),
];
This would be a huge help for making it easier to find the right basemap!
There's nothing stopping you from using more than one basemap gallery. I've built an Experience Builder Widget on top of the arcgis-basemap-gallery component that has a tabbed presentation allowing the end user to switch between two categories of basemap.
Yep, this is what I'm going for in the meantime. Would still love a supported way to organize the presentation of the basemaps, though.