terriajs
Version:
Geospatial data visualization platform.
57 lines (51 loc) • 1.67 kB
text/typescript
import { JsonObject } from "../../Core/Json";
import anyTrait from "../Decorators/anyTrait";
import objectArrayTrait from "../Decorators/objectArrayTrait";
import primitiveArrayTrait from "../Decorators/primitiveArrayTrait";
import primitiveTrait from "../Decorators/primitiveTrait";
import mixTraits from "../mixTraits";
import ModelTraits from "../ModelTraits";
import CatalogMemberTraits from "./CatalogMemberTraits";
import GroupTraits from "./GroupTraits";
import LegendOwnerTraits from "./LegendOwnerTraits";
import UrlTraits from "./UrlTraits";
export class FacetFilterTraits extends ModelTraits {
({
name: "Facet name",
type: "string",
description: "Name of facet"
})
name?: string;
({
name: "Facet value",
type: "string",
description: "Value of facet to use as filter"
})
value?: string;
}
export default class SocrataCatalogGroupTraits extends mixTraits(
UrlTraits,
CatalogMemberTraits,
LegendOwnerTraits,
GroupTraits
) {
({
name: "Facet groups",
description:
"Facets to include in group structure. By default, `tags` and `categories` will be used,",
type: "string"
})
facetGroups: string[] = ["tags", "categories"];
({
name: "Facets filter",
type: FacetFilterTraits,
description: "Facets (key/value pairs) to use to filter datasets.",
idProperty: "name"
})
facetFilters?: FacetFilterTraits[];
({
name: "Filter Query",
description: `Gets or sets the filter query to pass to Socrata when querying the available data sources and their groups.`
})
filterQuery: JsonObject = {};
}