Weave.js

WeaveLineToolAction (deprecated)

Add a simple line to the canvas

Overview

The WeaveLineToolAction class that allows users to draw a precise, vector-based line by click-and-drag to define the line.

The line becomes a WeaveLineNode, synced in real time across all collaborators.

The class extends the WeaveAction class.

Name

This action name property value is lineTool.

Import

import { WeaveLineToolAction } from "@inditextech/weave-sdk";

Instantiation

new WeaveLineToolAction(params?: WeaveLineToolActionParams);

TypeScript types

type WeaveLineToolActionProperties = {
  snapAngles: {
    angles: number[]; // Angles for snapping in degrees
    activateThreshold: number;
    releaseThreshold: number;
  };
};

type WeaveLineToolActionParams = {
  config: Partial<WeaveLineToolActionProperties>;
};

Parameters

For WeaveLineToolActionParams:

Property Type Required Description

config

Partial<WeaveLineToolActionProperties>

Required

Config parameters for the tool.

For WeaveLineToolActionProperties:

Property Type Required Default Description

snapAngles.angles

number

10

Array of angles (in degrees) to snap the line to when shift is pressed.

snapAngles.activateThreshold

number

5

Activation threshold for the angle snapping utility.

snapAngles.releaseThreshold

number

10

Release threshold for the angle snapping utility.

Default values

const LINE_TOOL_DEFAULT_CONFIG = {
  snapAngles: {
    angles: [0, 45, 90, 135, 180, 225, 270, 315],
    activateThreshold: 5,
    releaseThreshold: 10,
  },
};