terriajs
Version:
Geospatial data visualization platform.
92 lines (81 loc) • 2.74 kB
text/typescript
import objectTrait from "../Decorators/objectTrait";
import primitiveTrait from "../Decorators/primitiveTrait";
import mixTraits from "../mixTraits";
import AutoRefreshingTraits from "./AutoRefreshingTraits";
import CatalogMemberTraits from "./CatalogMemberTraits";
import EnumDimensionTraits from "./DimensionTraits";
import FeatureInfoUrlTemplateTraits from "./FeatureInfoTraits";
import LegendOwnerTraits from "./LegendOwnerTraits";
import TableTraits from "./Table/TableTraits";
import UrlTraits from "./UrlTraits";
export default class OpenDataSoftCatalogItemTraits extends mixTraits(
AutoRefreshingTraits,
TableTraits,
FeatureInfoUrlTemplateTraits,
UrlTraits,
CatalogMemberTraits,
LegendOwnerTraits
) {
({
type: "string",
name: "Dataset ID",
description: "OpenDataSoft Dataset id (`dataset_id`)."
})
datasetId?: string;
({
type: "string",
name: "Geo point 2d field name",
description: "Field to use as geo point 2d (i.e. lat long)."
})
geoPoint2dFieldName?: string;
({
type: "string",
name: "Datetime field name",
description: "Field to use as datetime."
})
timeFieldName?: string;
({
type: "string",
name: "Color field name",
description: "Field to use as color."
})
colorFieldName?: string;
({
type: "string",
name: "Region field name",
description: "Field to use as region mapping."
})
regionFieldName?: string;
({
type: "string",
name: "Select field",
description: "Names of fields to 'select' when downloading data"
})
selectFields?: string;
({
type: "string",
name: "Group by field",
description: "Names of fields to 'groupBy' when downloading data"
})
groupByFields?: string;
({
type: EnumDimensionTraits,
name: "Available fields",
description: "Names of fields which can be 'selected'"
})
availableFields?: EnumDimensionTraits;
({
type: "string",
name: "Aggregate time values",
description:
"Aggregate time values (eg 1 day). See https://help.opendatasoft.com/apis/ods-search-v2/#group-by-clause"
})
aggregateTime?: string;
({
type: "string",
name: "Refresh interval template",
description:
'Template used to calculate refresh interval based on Opendatasoft dataset object. This template is rendered using dataset JSON object as view. For example `"{{metas.custom.update-frequency}}"` will use `"update-frequency"` custom metadata property. This supports "human readable" time strings - for example "15 minutes" and "60 sec".'
})
refreshIntervalTemplate?: string;
}