WeaveCommentToolAction
Let users add comments to a (x,y) position of the stage.
Overview
The WeaveCommentToolAction class that allows users to create comments on a particular position (x,y) of the stage.
The class extends the WeaveAction class.
Name
This action name
property value is commentTool
.
Import
import { WeaveCommentToolAction } from "@inditextech/weave-sdk";
Instantiation
new WeaveCommentToolAction<T>(params: WeaveCommentToolActionParams<T>);
TypeScript types
type WeaveCommentToolActionStateKeys = keyof typeof WEAVE_COMMENT_TOOL_STATE;
type WeaveCommentToolActionState =
(typeof WEAVE_COMMENT_TOOL_STATE)[WeaveCommentToolActionStateKeys];
type WeaveCommentToolStyle = {
cursor: {
add: string;
block: string;
};
};
type WeaveCommentToolModel<T> = {
getCreateModel: () => DeepPartial<T>;
};
type WeaveCommentToolActionConfig<T> = {
style: WeaveCommentToolStyle;
getUser: () => WeaveUser;
getUserBackgroundColor: (
user: WeaveUser
) => string | CanvasGradient | undefined;
getUserForegroundColor: (
user: WeaveUser
) => string | CanvasGradient | undefined;
model: WeaveCommentToolModel<T>;
};
type WeaveCommentToolActionParams<T> = {
config: Pick<
WeaveCommentToolActionConfig<T>,
"model" | "getUser" | "getUserBackgroundColor" | "getUserForegroundColor"
> &
DeepPartial<Pick<WeaveCommentToolActionConfig<T>, "style">>;
};
Constants
const WEAVE_COMMENT_TOOL_ACTION_NAME = "commentTool";
const WEAVE_COMMENT_TOOL_LAYER_NAME = "commentsLayer";
const WEAVE_COMMENT_TOOL_STATE = {
["IDLE"]: "idle",
["ADDING"]: "adding",
["SELECTED_POSITION"]: "selectedPosition",
["CREATING_COMMENT"]: "creatingComment",
["ADDED"]: "added",
} as const;
Parameters
For WeaveBrushToolActionParams
:
Prop | Type | Default |
---|---|---|
config | Pick<WeaveCommentToolActionConfig<T>, 'model' | 'getUser' | 'getUserBackgroundColor' | 'getUserForegroundColor'> & DeepPartial<Pick<WeaveCommentToolActionConfig<T>, 'style'>> | - |
For Pick<WeaveCommentToolActionConfig<T>, 'model' | 'getUser' | 'getUserBackgroundColor' | 'getUserForegroundColor'> & DeepPartial<Pick<WeaveCommentToolActionConfig<T>, 'style'>>
:
Prop | Type | Default |
---|---|---|
getUserForegroundColor | (user: WeaveUser) => string | CanvasGradient | undefined | - |
getUserBackgroundColor | (user: WeaveUser) => string | CanvasGradient | undefined | - |
getUser | () => WeaveUser | - |
model | WeaveCommentToolModel<T> | - |
style? | WeaveCommentToolStyle | check default values |
Default values
const WEAVE_COMMENT_TOOL_DEFAULT_CONFIG = {
style: {
cursor: {
add: "crosshair",
block: "not-allowed",
},
},
};