ICatalog
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",
filters: [
{
fitlerType: "item",
operation: "AND",
fitlers
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 |
---|---|---|
Optional | ICollection[] |
Collections within the Catalog |
Optional | IFacet[] |
Facets to use with all Collections |
Optional | Filter<FilterType> |
Filter defines the "scope" of the Catalog, typically a set of groups or orgids
DEPRECATED: Use |
Optional | Array<IFilterGroup<FilterType>> |
Scope is a set of FilterGroups which define the limits of the Catalog. Typically it is just a set of group ids, but it may be arbitrarily complex. If one was to "search a catalog", this is the description of what would be returned. |
Optional | ISortOption[] |
Sort options to be shown in the Gallery |
Optional | string |
Title for the Gallery |
Interface defined in common/src/search/types/ICatalog.ts:60