Skip to content

Latest commit

 

History

History
366 lines (223 loc) · 11.5 KB

ElementsController.md

File metadata and controls

366 lines (223 loc) · 11.5 KB

The Elements controller allows you to get information about the elements on the map, and make changes to their visibility.

Extended by

Methods

getElement()

getElement(id: string): Promise<null | Element>

Get a single element from the map by its id.

Parameters

Parameter Type Description
id string The id of the element you want to get.

Returns

Promise<null | Element>

The requested element.

Example

const element = await felt.getElement("element-1");

getElementGeometry()

getElementGeometry(id: string): Promise<null | Geometry>

Get the geometry of an element.

Parameters

Parameter Type Description
id string The id of the element you want to get the geometry of.

Returns

Promise<null | Geometry>

Example

const geometry = await felt.getElementGeometry("element-1");
console.log(geometry?.type, geometry?.coordinates);

getElements()

getElements(constraint?: GetElementsConstraint): Promise<(null | Element)[]>

Gets elements from the map, according to the constraints supplied. If no constraints are supplied, all elements will be returned.

Parameters

Parameter Type Description
constraint? GetElementsConstraint The constraints to apply to the elements returned from the map.

Returns

Promise<(null | Element)[]>

All elements on the map.

Remarks

The elements in the map, ordered by the order specified in Felt. This is not necessarily the order that they are drawn in, as Felt draws points above lines and lines above polygons, for instance.

Example

const elements = await felt.getElements();

getElementGroup()

getElementGroup(id: string): Promise<null | ElementGroup>

Get an element group from the map by its id.

Parameters

Parameter Type
id string

Returns

Promise<null | ElementGroup>

The requested element group.

Example

const elementGroup = await felt.getElementGroup("element-group-1");

getElementGroups()

getElementGroups(constraint?: GetElementGroupsConstraint): Promise<(null | ElementGroup)[]>

Gets element groups from the map, according to the filters supplied. If no constraints are supplied, all element groups will be returned in rendering order.

Parameters

Parameter Type Description
constraint? GetElementGroupsConstraint The constraints to apply to the element groups returned from the map.

Returns

Promise<(null | ElementGroup)[]>

The requested element groups.

Example

const elementGroups = await felt.getElementGroups({ ids: ["element-group-1", "element-group-2"] });

setElementGroupVisibility()

setElementGroupVisibility(visibility: SetVisibilityRequest): Promise<void>

Hide or show element groups with the given ids.

Parameters

Parameter Type
visibility SetVisibilityRequest

Returns

Promise<void>

Example

felt.setElementGroupVisibility({ show: ["element-group-1", "element-group-2"], hide: ["element-group-3"] });

createElement()

createElement(element: ElementCreate): Promise<Element>

Create a new element on the map.

Parameters

Parameter Type
element ElementCreate

Returns

Promise<Element>

Example

const element = await felt.createElement({ type: "Place", coordinates: [10, 10] });

updateElement()

updateElement(element: ElementUpdate): Promise<Element>

Update an element on the map.

Parameters

Parameter Type
element ElementUpdate

Returns

Promise<Element>


deleteElement()

deleteElement(id: string): Promise<void>

Delete an element from the map.

Parameters

Parameter Type
id string

Returns

Promise<void>

Events

onElementCreate()

onElementCreate(args: { handler: (change: ElementChangeCallbackParams) => void; }): VoidFunction

Adds a listener for when an element is created.

Parameters

Parameter Type Description
args { handler: (change: ElementChangeCallbackParams) => void; } -
args.handler (change: ElementChangeCallbackParams) => void The handler that is called when an element is created.

Returns

VoidFunction

A function to unsubscribe from the listener

Example

const unsubscribe = felt.onElementCreate({
  handler: (element) => console.log(element.id),
});

// later on...
unsubscribe();

onElementChange()

onElementChange(args: { options: { id: string; }; handler: (change: ElementChangeCallbackParams) => void; }): VoidFunction

Adds a listener for when an element changes.

Parameters

Parameter Type Description
args { options: { id: string; }; handler: (change: ElementChangeCallbackParams) => void; } -
args.options { id: string; } -
args.options.id string The id of the element to listen for changes to.
args.handler (change: ElementChangeCallbackParams) => void The handler that is called when the element changes.

Returns

VoidFunction

A function to unsubscribe from the listener

Example

const unsubscribe = felt.onElementChange({
  options: { id: "element-1" },
  handler: ({element}) => console.log(element.id),
});

// later on...
unsubscribe();

onElementDelete()

onElementDelete(args: { options: { id: string; }; handler: () => void; }): VoidFunction

Adds a listener for when an element is deleted.

Parameters

Parameter Type Description
args { options: { id: string; }; handler: () => void; } -
args.options { id: string; } -
args.options.id string The id of the element to listen for deletions of.
args.handler () => void The handler that is called when the element is deleted.

Returns

VoidFunction

A function to unsubscribe from the listener

Example

const unsubscribe = felt.onElementDelete({
  options: { id: "element-1" },
  handler: (element) => console.log(element.id),
});

// later on...
unsubscribe();

onElementGroupChange()

onElementGroupChange(args: { options: { id: string; }; handler: (change: ElementGroupChangeCallbackParams) => void; }): VoidFunction

Adds a listener for when an element group changes.

Parameters

Parameter Type
args { options: { id: string; }; handler: (change: ElementGroupChangeCallbackParams) => void; }
args.options { id: string; }
args.options.id string
args.handler (change: ElementGroupChangeCallbackParams) => void

Returns

VoidFunction

A function to unsubscribe from the listener

Example

const unsubscribe = felt.onElementGroupChange({
  options: { id: "element-group-1" },
  handler: elementGroup => console.log(elementGroup.id),
});

// later on...
unsubscribe();