ICatalog

Interface

Catalog is the definition which powers what options are available in a Gallery. It controls not only the scoping of the search, but also the options available to the UX.

Thus the lower-level searchContent, searchUser, searchGroup functions do not take Catalogs, rather they accept Filters

const simpleCatalog:Catalog = {
  title: "Select Map",
  filter: {
    filterType: "content",
    type: "Web Map",
    owner: "jsmith"
  }
}

Collections

The key feature of a Catalog is the ability to defined Collections. These are essentially sub-sets of content, typically organized around generalized content types, i.e. "Datasets", vs "Maps", vs "Documents"

const complex:Catalog = {
  filter: {
   type: "content",
   groups: ["3ef", "bc4"]
  },
  collections: [
    {
      label: "Documents",
      filter: {
        filterType: "content",
        type: ["Microsoft Word", "PDF", "Microsoft Excel"]
      }
    },
    {
      label: "Datasets",
      filter: {
        filterType: "content",
        type: ["Feature Layer", "Feature Service", "Map Service", "CSV"]
      }
    }
  ]
}

Properties

Property Type Notes
filter Filter<FilterType>
collections Optional ICollection[]
facets Optional IFacet[]
sort Optional ISortOption[]
title Optional string

Title for the Gallery


Interface defined in common/src/search/types.ts:249