Skip to content

BlockSuite API Documentation / @blocksuite/blocks / ShapeElementModel

Class: ShapeElementModel

Extends

Constructors

new ShapeElementModel(options)

new ShapeElementModel(options): ShapeElementModel

Parameters

options: Object

options.model: SurfaceBlockModel

options.onChange: (payload) => void

options.stashedStore: Map<unknown, unknown>

options.yMap: Map<unknown>

Returns

ShapeElementModel

Inherited from

@blocksuite/blocks.ElementModel.constructor

Source

packages/blocks/src/surface-block/element-model/base.ts:96

Properties

_local

protected _local: Map<string | symbol, unknown>

Inherited from

@blocksuite/blocks.ElementModel._local

Source

packages/blocks/src/surface-block/element-model/base.ts:61


_observerDisposable

protected _observerDisposable: Record<string | symbol, () => void> = {}

Inherited from

@blocksuite/blocks.ElementModel._observerDisposable

Source

packages/blocks/src/surface-block/element-model/base.ts:66


_onChange

protected _onChange: (payload) => void

Parameters

payload: Object

payload.oldValues: Record<string, unknown>

payload.props: Record<string, unknown>

Returns

void

Inherited from

@blocksuite/blocks.ElementModel._onChange

Source

packages/blocks/src/surface-block/element-model/base.ts:62


_preserved

protected _preserved: Map<string, unknown>

When the ymap is not connected to the doc, its value cannot be read. But we need to use those value during the creation, so the yfied decorated field's value will be stored in this map too during the creation.

After the ymap is connected to the doc, this map will be cleared.

Inherited from

@blocksuite/blocks.ElementModel._preserved

Source

packages/blocks/src/surface-block/element-model/base.ts:59


_stashed

protected _stashed: Map<string, unknown>

Inherited from

@blocksuite/blocks.ElementModel._stashed

Source

packages/blocks/src/surface-block/element-model/base.ts:60


color

color: string

Source

packages/blocks/src/surface-block/element-model/shape.ts:118


display

display: boolean = true

Inherited from

@blocksuite/blocks.ElementModel.display

Source

packages/blocks/src/surface-block/element-model/base.ts:84


externalXYWH

externalXYWH: undefined | `[${number},${number},${number},${number}]` = undefined

Inherited from

@blocksuite/blocks.ElementModel.externalXYWH

Source

packages/blocks/src/surface-block/element-model/base.ts:90


fillColor

fillColor: string = '--affine-palette-shape-yellow'

Source

packages/blocks/src/surface-block/element-model/shape.ts:97


filled

filled: boolean = false

Source

packages/blocks/src/surface-block/element-model/shape.ts:94


fontFamily

fontFamily: string

Source

packages/blocks/src/surface-block/element-model/shape.ts:124


fontSize

fontSize: number

Source

packages/blocks/src/surface-block/element-model/shape.ts:121


fontStyle

fontStyle: FontStyle

Source

packages/blocks/src/surface-block/element-model/shape.ts:130


fontWeight

fontWeight: FontWeight

Source

packages/blocks/src/surface-block/element-model/shape.ts:127


index

index: string

Inherited from

@blocksuite/blocks.ElementModel.index

Source

packages/blocks/src/surface-block/element-model/base.ts:78


opacity

opacity: number = 1

Inherited from

@blocksuite/blocks.ElementModel.opacity

Source

packages/blocks/src/surface-block/element-model/base.ts:87


radius

radius: number = 0

Source

packages/blocks/src/surface-block/element-model/shape.ts:91


rotate

rotate: number = 0

Overrides

@blocksuite/blocks.ElementModel.rotate

Source

packages/blocks/src/surface-block/element-model/shape.ts:85


roughness

roughness: number = DEFAULT_ROUGHNESS

Source

packages/blocks/src/surface-block/element-model/shape.ts:112


seed

seed: number

Inherited from

@blocksuite/blocks.ElementModel.seed

Source

packages/blocks/src/surface-block/element-model/base.ts:81


shapeStyle

shapeStyle: ShapeStyle = 'General'

Source

packages/blocks/src/surface-block/element-model/shape.ts:109


shapeType

shapeType: ShapeType = 'rect'

Source

packages/blocks/src/surface-block/element-model/shape.ts:88


strokeColor

strokeColor: string = '--affine-palette-line-yellow'

Source

packages/blocks/src/surface-block/element-model/shape.ts:103


strokeStyle

strokeStyle: StrokeStyle = 'solid'

Source

packages/blocks/src/surface-block/element-model/shape.ts:106


strokeWidth

strokeWidth: number = 4

Source

packages/blocks/src/surface-block/element-model/shape.ts:100


surface

surface: SurfaceBlockModel

Inherited from

@blocksuite/blocks.ElementModel.surface

Source

packages/blocks/src/surface-block/element-model/base.ts:69


text?

text?: Text

Source

packages/blocks/src/surface-block/element-model/shape.ts:115


textAlign

textAlign: TextAlign

Source

packages/blocks/src/surface-block/element-model/shape.ts:133


textDisplay

textDisplay: boolean = true

Source

packages/blocks/src/surface-block/element-model/shape.ts:79


textHorizontalAlign

textHorizontalAlign: TextAlign

Source

packages/blocks/src/surface-block/element-model/shape.ts:136


textVerticalAlign

textVerticalAlign: VerticalAlign

Source

packages/blocks/src/surface-block/element-model/shape.ts:139


xywh

xywh: `[${number},${number},${number},${number}]` = '[0,0,100,100]'

Overrides

@blocksuite/blocks.ElementModel.xywh

Source

packages/blocks/src/surface-block/element-model/shape.ts:82


yMap

yMap: Map<unknown>

Inherited from

@blocksuite/blocks.ElementModel.yMap

Source

packages/blocks/src/surface-block/element-model/base.ts:68

Accessors

connectable

get connectable(): boolean

Returns

boolean

Source

packages/blocks/src/surface-block/element-model/base.ts:118


deserializedXYWH

get deserializedXYWH(): XYWH

Returns

XYWH

Source

packages/blocks/src/surface-block/element-model/base.ts:122


elementBound

get elementBound(): Bound

Returns

Bound

Source

packages/blocks/src/surface-block/element-model/base.ts:154


externalBound

get externalBound(): null | Bound

Returns

null | Bound

Source

packages/blocks/src/surface-block/element-model/base.ts:92


group

get group(): null | GroupElementModel

Returns

null | GroupElementModel

Source

packages/blocks/src/surface-block/element-model/base.ts:142


groups

get groups(): GroupElementModel[]

Returns

GroupElementModel[]

Source

packages/blocks/src/surface-block/element-model/base.ts:146


h

get h(): number

Returns

number

Source

packages/blocks/src/surface-block/element-model/base.ts:138


id

get id(): string

Returns

string

Source

packages/blocks/src/surface-block/element-model/base.ts:150


type

get type(): string

Returns

string

Source

packages/blocks/src/surface-block/element-model/shape.ts:74


w

get w(): number

Returns

number

Source

packages/blocks/src/surface-block/element-model/base.ts:134


x

get x(): number

Returns

number

Source

packages/blocks/src/surface-block/element-model/base.ts:126


y

get y(): number

Returns

number

Source

packages/blocks/src/surface-block/element-model/base.ts:130

Methods

boxSelect()

boxSelect(bound): boolean

Parameters

bound: Bound

Returns

boolean

Inherited from

@blocksuite/blocks.ElementModel.boxSelect

Source

packages/blocks/src/surface-block/element-model/base.ts:250


containedByBounds()

containedByBounds(bounds): boolean

Parameters

bounds: Bound

Returns

boolean

Overrides

@blocksuite/blocks.ElementModel.containedByBounds

Source

packages/blocks/src/surface-block/element-model/shape.ts:145


getNearestPoint()

getNearestPoint(point): IVec2

Parameters

point: IVec2

Returns

IVec2

Overrides

@blocksuite/blocks.ElementModel.getNearestPoint

Source

packages/blocks/src/surface-block/element-model/shape.ts:153


getRelativePointLocation()

getRelativePointLocation(point): PointLocation

Parameters

point: IVec2

Returns

PointLocation

Overrides

@blocksuite/blocks.ElementModel.getRelativePointLocation

Source

packages/blocks/src/surface-block/element-model/shape.ts:157


hitTest()

hitTest(x, y, options): boolean

Parameters

x: number

y: number

options: HitTestOptions

Returns

boolean

Overrides

@blocksuite/blocks.ElementModel.hitTest

Source

packages/blocks/src/surface-block/element-model/shape.ts:141


intersectWithLine()

intersectWithLine(start, end): null | PointLocation[]

Parameters

start: IVec2

end: IVec2

Returns

null | PointLocation[]

Overrides

@blocksuite/blocks.ElementModel.intersectWithLine

Source

packages/blocks/src/surface-block/element-model/shape.ts:149


pop()

pop(prop): void

Parameters

prop: string

Returns

void

Inherited from

@blocksuite/blocks.ElementModel.pop

Source

packages/blocks/src/surface-block/element-model/base.ts:201


serialize()

serialize(): Object

Returns

Object

Inherited from

@blocksuite/blocks.ElementModel.serialize

Source

packages/blocks/src/surface-block/element-model/base.ts:263


stash()

stash(prop): void

Parameters

prop: string

Returns

void

Inherited from

@blocksuite/blocks.ElementModel.stash

Source

packages/blocks/src/surface-block/element-model/base.ts:162


propsToY()

static propsToY(props): ShapeProps

Parameters

props: ShapeProps

Returns

ShapeProps

Overrides

@blocksuite/blocks.ElementModel.propsToY

Source

packages/blocks/src/surface-block/element-model/shape.ts:66


Generated using TypeDoc and typedoc-plugin-markdown.