Last updated

API / geotoolkit / scene / HTMLOverlayLayer / HTMLOverlayLayer

Class: HTMLOverlayLayer

scene.HTMLOverlayLayer.HTMLOverlayLayer

HTMLOverlayLayer allows user adds other HTMLElements at a given position in Node's model space NOTE: This layer will not be exported to pdf.

Example

import {HTMLOverlayLayer} from '@int/geotoolkit/scene/HTMLOverlayLayer';
import {AnnotatedWidget} from '@int/geotoolkit/widgets/AnnotatedWidget';
import {HTMLOverlay} from '@int/geotoolkit/scene/shapes/HTMLOverlay';
import {Axis} from '@int/geotoolkit/axis/Axis';
import {TickPosition, LabelPosition} from '@int/geotoolkit/axis/TickInfo';
import {Orientation} from '@int/geotoolkit/util/Orientation';
import {AnchorType} from '@int/geotoolkit/util/AnchorType';
import {AdaptiveTickGenerator} from '@int/geotoolkit/axis/AdaptiveTickGenerator';

const annotatedWidget = new AnnotatedWidget({
'model': model, // instance of @int/geotoolkit/scene/Group
'annotationssizes': {
'north': 5, 'south': 60, 'east': 12, 'west': 80
},
'north': [],
'south': [new Axis({
'tickposition': TickPosition.Top,
'orientation': Orientation.Horizontal,
'labelposition': LabelPosition.Top,
'title': {
'text': 'Day',
'visible': true,
'textstyle': {
'color': '#757575'
},
'alignment': AnchorType.Center
},
'tickgenerator': new AdaptiveTickGenerator()
})],
'west': [new Axis({
'tickposition': TickPosition.Right,
'labelposition': LabelPosition.Right,
'orientation': Orientation.Vertical,
'title': {
'text': 'Volume (gal)',
'visible': true,
'textstyle': {
'color': '#757575'
},
'alignment': AnchorType.Center
},
'tickgenerator': new AdaptiveTickGenerator()
})],
'east': [],
'tools': {
'horizontalscroll': {
'visible': false
},
'verticalscroll': {
'visible': false
}
}
});

const htmlOverlayLayer = new HTMLOverlayLayer();
htmlOverlayLayer.addOverlays(new HTMLOverlay());
annotatedWidget.getModel().addChild(htmlOverlayLayer);

Hierarchy

  • Node

    HTMLOverlayLayer

Table of contents

Constructors
Methods
Css Properties
Name Type Description
cssclassstringThe css class name of this node
idstring | numberId of the node, its a unique identifier
namestringName of the node. It is often used for debugging purposes or to simplify queries
selectablebooleanSelectable node, a boolean to determine if selection should consider this node
taganyCustom information associated with node. It is a user object which can be used by client code to store information or attach an application object to the shape
visiblebooleanVisibility of the node, a boolean to determine if the node should be rendered or not
z-indexnumberDefine node z-index

Contents

Constructors

new HTMLOverlayLayer(options)

new HTMLOverlayLayer(options?)

Parameters

Name Type
Optional optionsOptions

Overrides

Node.constructor

Methods

addCssClass

addCssClass(cssclass): HTMLOverlayLayer

Adds new css class to node

Parameters

Name Type Description
cssclassstring | string[]css class name('s)

Returns

HTMLOverlayLayer

this

Inherited from

Node.addCssClass


addInvalidateHandler

addInvalidateHandler(handler): HTMLOverlayLayer

Add invalidate handler

Deprecated

since 4.0, use Node.on instead

Parameters

Name Type Description
handlerFunctionhandler to be notified about invalidation

Returns

HTMLOverlayLayer

this

Inherited from

Node.addInvalidateHandler


addOverlays

addOverlays(overlays): HTMLOverlayLayer

Add overlay(s) to HTMLOverlayLayer

Parameters

Name Type Description
overlaysHTMLOverlay | HTMLOverlay[]An overlay or array of overlays to be added

Returns

HTMLOverlayLayer

this


checkCollision

checkCollision(context): boolean

Check if this node is within the area being rendered by the context

Parameters

Name Type Description
contextRenderingContextRendering Context

Returns

boolean

true if object is inside of renderable area

Inherited from

Node.checkCollision


clone

clone(): Node

All subclasses should override copyConstructor or provide custom implementation for this method

Returns

Node

clone

Inherited from

Node.clone


connectStyle

connectStyle(style, type, callback): HTMLOverlayLayer

Connects style.

This convenience method subscribes a listener to given style for the specified type.
And automatically un-subscribes listener if node is disposed to prevent memory leaks

Parameters

Name Type Description
styleEventDispatcherconnect style
typestringtype of event or property
callbackAttributeCallback<EventDispatcher>function to be called

Returns

HTMLOverlayLayer

this

Inherited from

Node.connectStyle


copyConstructor

Protected copyConstructor(src, deepCopy?): HTMLOverlayLayer

Copy constructor function.
Function used as part of the cloning mechanism.
Implementations should copy the given instance state to this instance.

Parameters

Name Type Description
srcNodeSource to copy from
Optional deepCopybooleandeep copy

Returns

HTMLOverlayLayer

this

Inherited from

Node.copyConstructor


disconnectStyle

disconnectStyle(style, type, callback): HTMLOverlayLayer

Disconnect style
This convenience method un-subscribes a listener to given style for the specified type.

Parameters

Name Type Description
styleEventDispatcherconnect style
typestringtype of event or property
callbackAttributeCallback<EventDispatcher>function to be called

Returns

HTMLOverlayLayer

this

Inherited from

Node.disconnectStyle


dispose

dispose(): void

Disposes this node, once disposes a node should not be used anymore.
Clear all listeners, and disconnect styles to avoid memory leaks.
Also aggressively 'cleanup' this node by setting some of its members to null.

Returns

void

Inherited from

Node.dispose


enableEventPropagation

enableEventPropagation(enable): HTMLOverlayLayer

Enable event propagation from the node hierarchy from bottom to top

This option is similar to DOM Event bubbling, which allows to get any event from child node. By default it is disabled for better performance.

Example

import {Group} from '@int/geotoolkit/scene/Group';
import {Events as SceneEvents} from '@int/geotoolkit/scene/Node';
const parentGroup = new Group()
.setName('ParentGroup')
.enableEventPropagation(true);
const childGroup = new Group()
.setName('ChildGroup');

parentGroup.addChild(childGroup);
parentGroup.on(SceneEvents.Invalidate, (eventName, sender, args) => {
// Got notifications from all children of parent group
});
childGroup.invalidate();

Parameters

Name Type Description
enablebooleanenable

Returns

HTMLOverlayLayer

this

Inherited from

Node.enableEventPropagation


execute

execute(delegate): HTMLOverlayLayer

Executes delegate and return the result. It allows us to keep all initialization calls in one place,
and we do not need to scroll up or down in IDE to find how and where it was initialized.

Example

// All setters (.setName() for example) returns reference to the this.
// In order to modify inner object like LineStyle or Pattern, to get this object (property) we should call getter to get object reference.
// Then modify it as shown below in Option 1 or you can use execute methods shown in Option 2.
import {Group} from '@int/geotoolkit/scene/Group';
import {Rect} from '@int/geotoolkit/util/Rect';
// Option 1
const group = new Group()
.setName('MyGroup')
.setBounds(new Rect(0, 0, 42, 16))
.enableClipping(true)
.setTag({'type': 'sometype'});

group.getLineStyle().setPattern('pattern');
return group;

// Options 2 ( using execute method )
return group
.execute(function () {
this.getLineStyle()
.setPattern("pattern");
});

Parameters

Name Type Description
delegate(this: HTMLOverlayLayer) => voidFunction to execute

Returns

HTMLOverlayLayer

The result if any or this

Inherited from

Node.execute

execute<T>(delegate): T

Type parameters

Name
T

Parameters

Name Type
delegate(this: HTMLOverlayLayer) => T

Returns

T

Inherited from

Node.execute


findOverlay

findOverlay(method): HTMLOverlay

Find a first HtmlOverlay satisfied the provided testing function

Parameters

Name Type Description
method(value: HTMLOverlay, index: number, obj: HTMLOverlay[]) => unknownTesting method to find HtmlOverLay

Returns

HTMLOverlay

HTMLOverlay


getClassName

getClassName(): string

Returns

string

Inherited from

Node.getClassName


getCssClass

getCssClass(): string

Returns css class name to be used to apply CSS style

Returns

string

the css class name

Inherited from

Node.getCssClass


getCssClasses

getCssClasses(): string[]

Gets list of css class names which applied to this node

Returns

string[]

Inherited from

Node.getCssClasses


getId

getId(): string | number

Returns the associated identifier of the node

Returns

string | number

The node's id

Inherited from

Node.getId


getName

getName(): string

Returns the node name

Returns

string

The node name

Inherited from

Node.getName


getOverlay

getOverlay(index): HTMLOverlay

Get an HtmlOverlay by index

Parameters

Name Type Description
indexnumberIndex of HTMLOverlay

Returns

HTMLOverlay

HTMLOverlay


getOverlaysCount

getOverlaysCount(): number

Get number of overlays

Returns

number

Number of overlays


getParent

getParent(): Node

Return parent node

Returns

Node

parent node

Inherited from

Node.getParent


getProperties

getProperties(context?): Options

Gets all the properties pertaining to this object

Parameters

Name Type Description
Optional contextISerializationContextserialization context

Returns

Options

An object containing the properties to set

Inherited from

Node.getProperties


getProperty

getProperty(name): any

Gets dynamic property by name. These properties can be used as a property bags

Parameters

Name Type Description
namestringproperty name

Returns

any

Inherited from

Node.getProperty


getPropertyKeys

getPropertyKeys(): string[]

Returns known properties keys

Returns

string[]

Inherited from

Node.getPropertyKeys


getRoot

getRoot(): Node

Returns root node.
If node doesn't have parent then it returns itself.

Returns

Node

the root node

Inherited from

Node.getRoot


getSceneTransform

getSceneTransform(): Transformation

Returns transformation from node to root scene

Returns

Transformation

a transformation from node to root scene

Inherited from

Node.getSceneTransform


getTag

getTag(): any

Returns the object associated with the node by user.

Returns

any

The node's user-object

Inherited from

Node.getTag


getVisible

getVisible(): boolean

Return visibility of the node

Returns

boolean

true if node is visible

Inherited from

Node.getVisible


getWorldTransform

getWorldTransform(): Transformation

getWorldTransform retrieves the local transformation of the inner node coordinates to parent coordinates.

Returns

Transformation

the world transform.

Inherited from

Node.getWorldTransform


getZIndex

getZIndex(): number

Returns node z-index (null if not set)

Returns

number

Inherited from

Node.getZIndex


hasCssClass

hasCssClass(cssClass): boolean

Check if node has specified css class

Parameters

Name Type Description
cssClassstringcss class name

Returns

boolean

Inherited from

Node.hasCssClass


hasEventListener

hasEventListener(type, callback?): boolean

Check if a list of event listeners for this type contains this listener

Parameters

Name Type Description
typestringtype of event or property
Optional callbackFunctionto be called, if null, check if any callback is registered

Returns

boolean

Inherited from

Node.hasEventListener


indexOfOverlay

indexOfOverlay(overlay): number

Return index of overlay (index of the specified overlay or -1 if overlay is not found)

Parameters

Name Type Description
overlayHTMLOverlayoverlay to check index

Returns

number

index Index of overlay


insertOverlays

insertOverlays(index, overlays): HTMLOverlayLayer

Insert overlay(s) to HTMLOverlayLayer

Parameters

Name Type Description
indexnumberIndex to insert at
overlaysHTMLOverlay | HTMLOverlay[]An overlay or array of overlays to be inserted

Returns

HTMLOverlayLayer

this


invalidate

invalidate(bounds?, force?): HTMLOverlayLayer

Invalidate area of the shape. This method invalidates parent by default. invalidated from parent to root node.

Parameters

Name Type Description
Optional boundsRectbounds of the invalid rectangle in the inner node coordinates
Optional forcebooleantrue if parent should be invalidated immediately if null is provided then cache (if any will be completely refreshed) otherwise only specified rect or node.bounds will be refreshed

Returns

HTMLOverlayLayer

this

Inherited from

Node.invalidate


invalidateParent

Protected invalidateParent(bounds?, force?): HTMLOverlayLayer

Invalidate parent and notify all listeners. NOTE: Don't keep arguments of the event, because instance can be changed

Fires

Events.Invalidate

Parameters

Name Type Description
Optional boundsRectbounds of the invalid rectangle in the inner node coordinates
Optional forcebooleanforce rendering

Returns

HTMLOverlayLayer

this

Inherited from

Node.invalidateParent


isDisposed

isDisposed(): boolean

Returns whether this object has been disposed

Returns

boolean

Inherited from

Node.isDisposed


isEventPropagationEnabled

isEventPropagationEnabled(): boolean

Return true if event propagation is enabled from child to parent

Returns

boolean

Inherited from

Node.isEventPropagationEnabled


isNotificationEnabled

isNotificationEnabled(): boolean

return state of notification

Returns

boolean

current notification state

Inherited from

Node.isNotificationEnabled


isSelectable

isSelectable(): boolean

Returns true if node can be picked/selected.

Returns

boolean

The selectable flag

Inherited from

Node.isSelectable


isSilent

isSilent(): boolean

Return true if the event dispatcher doesn't notify any events

Returns

boolean

Inherited from

Node.isSilent


notify

notify<E>(event, source, args?): HTMLOverlayLayer

Notify listeners of the Node

Type parameters

NameType
Eextends string

Parameters

Name Type Description
eventEtype of event
sourceNodesource who called the event
Optional argsEventMap[E]event arguments

Returns

HTMLOverlayLayer

this

Inherited from

Node.notify


off

off<E>(type?, callback?): HTMLOverlayLayer

Detach listener on event. Calling .off() with no arguments removes all attached listeners. Calling .off(type) with no callback removes all attached listeners for specific type.

Type parameters

NameType
Eextends string

Parameters

Name Type Description
Optional typeEtype of the event
Optional callback(eventType: E, sender: HTMLOverlayLayer, args: EventMap[E]) => voidfunction to be called

Returns

HTMLOverlayLayer

this

Inherited from

Node.off


on

on<E>(type, callback): HTMLOverlayLayer

Attach listener on event that will be called whenever the specified event is delivered to the target

If the callback function is already in the list of event listeners for this target, the function is not added a second time.

If a particular anonymous function is in the list of event listeners registered for a certain target, and then later in the code, an identical anonymous function is given in an "on" call, the second function will also be added to the list of event listeners for that target.

Type parameters

NameType
Eextends string

Parameters

Name Type Description
typeEtype of event or property
callback(eventType: E, sender: HTMLOverlayLayer, args: EventMap[E]) => voidto be called

Returns

HTMLOverlayLayer

this

Inherited from

Node.on


onParentChanged

Protected onParentChanged(node): HTMLOverlayLayer

This method is called when parent changes. Do not call it directly.

Parameters

Name Type Description
nodeNodenode to change parent

Returns

HTMLOverlayLayer

this

Inherited from

Node.onParentChanged


onVisibilityChanged

Protected onVisibilityChanged(): void

This method is called if visibility is changed. Send event Events.VisibilityChanged

Returns

void

Inherited from

Node.onVisibilityChanged


removeCssClass

removeCssClass(cssclass): HTMLOverlayLayer

Removes css class from node

Parameters

Name Type Description
cssclassstring | string[]css class name('s)

Returns

HTMLOverlayLayer

this

Inherited from

Node.removeCssClass


removeInvalidateHandler

removeInvalidateHandler(handler): HTMLOverlayLayer

Remove invalidate handler

Deprecated

since 4.0, use Node.off instead

Parameters

Name Type Description
handlerFunctionhandler to be notified about invalidation

Returns

HTMLOverlayLayer

this

Inherited from

Node.removeInvalidateHandler


removeOverlays

removeOverlays(overlays?): HTMLOverlayLayer

Remove overlay(s) in HTMLOverlayLayer

Parameters

Name Type Description
Optional overlaysnumber[] | HTMLOverlay | HTMLOverlay[]Array of overlays or array of index of the overlays to be removed, or pass nothing to clear all HTMLOverlays

Returns

HTMLOverlayLayer

this


render

render(context): void

Renders node

Parameters

Name Type Description
contextRenderingContextThe rendering context to be used to draw the node

Returns

void

Overrides

Node.render


renderAsync

renderAsync(context, callback): void

Render node in asynchronous mode. Default implementation creates call method "render" inside

Parameters

Name Type Description
contextRenderingContextThe rendering context to be used to draw the node
callback() => voidcallback function

Returns

void

Inherited from

Node.renderAsync


setCssClass

setCssClass(name): HTMLOverlayLayer

Sets css class name of the node to be used to apply CSS style

Parameters

Name Type Description
namestringcss class name of the node

Returns

HTMLOverlayLayer

this

Inherited from

Node.setCssClass


setId

setId(id): HTMLOverlayLayer

Allows the user to associate any identifier

Parameters

Name Type Description
idstring | numberobject id

Returns

HTMLOverlayLayer

this

Inherited from

Node.setId


setName

setName(name): HTMLOverlayLayer

Sets name of the node

Parameters

Name Type Description
namestringThe node name

Returns

HTMLOverlayLayer

this

Inherited from

Node.setName


setNotification

setNotification(notify, force?): HTMLOverlayLayer

set notification state

Parameters

Name Type Description
notifybooleanflag set to invalidate parent or not
Optional forcebooleantrue if parent should be invalidated immediately

Returns

HTMLOverlayLayer

this

Inherited from

Node.setNotification


setProperties

setProperties(properties?, context?): HTMLOverlayLayer

Sets all the properties pertaining to this object

Parameters

Name Type Description
Optional propertiesOptionsAn object containing the properties to set
Optional contextIDeserializationContextdeserialization context

Returns

HTMLOverlayLayer

this

Inherited from

Node.setProperties


setProperty

setProperty(name, value): HTMLOverlayLayer

Sets dynamic property by name

Parameters

Name Type Description
namestringproperty name
valueanyproperty value

Returns

HTMLOverlayLayer

this

Inherited from

Node.setProperty


setSelectable

setSelectable(selectable): HTMLOverlayLayer

Allows to select node. If node is not selectable then child node is not selectable.

Parameters

Name Type Description
selectablebooleanflag to allow node selection

Returns

HTMLOverlayLayer

this

Inherited from

Node.setSelectable


setSilent

setSilent(bool): HTMLOverlayLayer

Set silent mode

Parameters

Name Type Description
boolbooleanflag to enable silent mode

Returns

HTMLOverlayLayer

this

Inherited from

Node.setSilent


setTag

setTag(tag): HTMLOverlayLayer

Allows the user to associate any arbitrary object with the node.

Parameters

Name Type Description
taganyThe object to be associated with the node.

Returns

HTMLOverlayLayer

this

Inherited from

Node.setTag


setVisible

setVisible(value): HTMLOverlayLayer

Sets visibility of the node. Send event Events.VisibilityChanged

Parameters

Name Type Description
valuebooleanflag specifying visibility of the node

Returns

HTMLOverlayLayer

this

Inherited from

Node.setVisible


setZIndex

setZIndex(value): HTMLOverlayLayer

Sets z-index for node (set null for default)

Parameters

Name Type Description
valuenumberindex determining node z-position

Returns

HTMLOverlayLayer

this

Inherited from

Node.setZIndex


toString

toString(): string

Returns a string representation of this object (generally the classname)

Returns

string

A string representation

Inherited from

Node.toString


updateSceneTransformation

updateSceneTransformation(): HTMLOverlayLayer

Update scene transformation

Returns

HTMLOverlayLayer

this

Inherited from

Node.updateSceneTransformation


updateState

updateState(regions?, changes?): HTMLOverlayLayer

Update state. These methods reset node state and update state for children. this method is useful to refresh a scene graph

Parameters

Name Type Description
Optional regionsRect[]optional array to return invalid rectangles in the parent coordinates
Optional changesStateChangesoptional parameter to specify a reason of changes

Returns

HTMLOverlayLayer

this

Inherited from

Node.updateState


updateTimeStamp

Protected updateTimeStamp(): HTMLOverlayLayer

Update time stamp to indicate that Node or Children has been changed.

Returns

HTMLOverlayLayer

this

Inherited from

Node.updateTimeStamp


enableSceneGraphNotification

Static enableSceneGraphNotification(enabled): void

Enable / disable all notifications

Parameters

Name Type Description
enabledbooleansets if this object sends notifications

Returns

void

Inherited from

Node.enableSceneGraphNotification


findParent

Static findParent<T>(node, classType, filter?): InstanceType<T>

Find root of the node with specified type

Type parameters

NameType
Textends Constructor<any>

Parameters

Name Type Description
nodeNodenode to start search
classTypeTtype of the class to search for
Optional filter(node: Node) => booleanadditional filter to apply

Returns

InstanceType<T>

Inherited from

Node.findParent

Static findParent(node, classType, filter?): Node

Find root of the node with specified type

Parameters

Name Type Description
nodeNodenode to start search
classTypestringinterface name to search for
Optional filter(node: Node) => booleanadditional filter to apply

Returns

Node

Inherited from

Node.findParent


getClassName

Static getClassName(): string

Returns

string

Inherited from

Node.getClassName


isSceneGraphNotificationEnabled

Static isSceneGraphNotificationEnabled(): boolean

Return status of the global notification for all nodes.

Returns

boolean

Inherited from

Node.isSceneGraphNotificationEnabled