terriajs
Version:
Geospatial data visualization platform.
93 lines (82 loc) • 2.52 kB
text/typescript
import { TableStyleMapModel } from "../../../Table/TableStyleMap";
import objectArrayTrait from "../../Decorators/objectArrayTrait";
import objectTrait from "../../Decorators/objectTrait";
import primitiveArrayTrait from "../../Decorators/primitiveArrayTrait";
import primitiveTrait from "../../Decorators/primitiveTrait";
import mixTraits from "../../mixTraits";
import {
BinStyleTraits,
EnumStyleTraits,
TableStyleMapSymbolTraits,
TableStyleMapTraits
} from "./StyleMapTraits";
export class PointSymbolTraits extends mixTraits(TableStyleMapSymbolTraits) {
({
name: "Marker (icon)",
description:
'Marker used to symbolize points. Default is "point"/"circle". This can be data URI or one of the supported [Maki icons](https://labs.mapbox.com/maki-icons/) (eg "hospital")',
type: "string"
})
marker?: string = "point";
({
name: "Rotation",
description: "Rotation of marker in degrees (clockwise).",
type: "number"
})
rotation?: number = 0;
({
name: "Pixel offset",
description: "Pixel offset in screen space from the origin. [x, y] format",
type: "number"
})
pixelOffset?: number[];
({
name: "Height",
description: "Height of the marker (in pixels).",
type: "number"
})
height?: number = 16;
({
name: "Width",
description: "Width of the marker (in pixels).",
type: "number"
})
width?: number = 16;
}
export class EnumPointSymbolTraits extends mixTraits(
PointSymbolTraits,
EnumStyleTraits
) {
static isRemoval = EnumStyleTraits.isRemoval;
}
export class BinPointSymbolTraits extends mixTraits(
PointSymbolTraits,
BinStyleTraits
) {
static isRemoval = BinStyleTraits.isRemoval;
}
export default class TablePointStyleTraits
extends mixTraits(TableStyleMapTraits)
implements TableStyleMapModel<PointSymbolTraits>
{
({
name: "Enum point styles",
description: "The point style to use for enumerated values.",
type: EnumPointSymbolTraits,
idProperty: "index"
})
enum: EnumPointSymbolTraits[] = [];
({
name: "Bin point styles",
description: "The point style to use for bin values.",
type: BinPointSymbolTraits,
idProperty: "index"
})
bin: BinPointSymbolTraits[] = [];
({
name: "Enum Colors",
description: "The default point style.",
type: PointSymbolTraits
})
null: PointSymbolTraits = new PointSymbolTraits();
}