BlockSuite API Documentation / @blocksuite/affine-widget-edgeless-toolbar
@blocksuite/affine-widget-edgeless-toolbar
Classes
EdgelessDraggableElementController<T>
Type Parameters
T
T
Implements
ReactiveController
Constructors
Constructor
new EdgelessDraggableElementController<
T>(host,options):EdgelessDraggableElementController<T>
Parameters
host
EdgelessDraggableElementHost & ReactiveControllerHost
options
EdgelessDraggableElementOptions<T>
Returns
EdgelessDraggableElementController<T>
Properties
clearTimeout
clearTimeout:
Timeout|null=null
events
events:
EventCache={}
host
host:
EdgelessDraggableElementHost&ReactiveControllerHost
info
info:
DraggingInfo<T>
options
options:
EdgelessDraggableElementOptions<T>
overlay
overlay:
OverlayLayer|null=null
states
states:
ReactiveState<T>
Accessors
gfx
Get Signature
get gfx():
GfxController
Returns
Methods
cancel()
cancel():
void
Cancel the current dragging & animate even if dragOut
Returns
void
cancelWithoutAnimation()
cancelWithoutAnimation():
void
Same as cancel but without animation
Returns
void
clickToDrag()
clickToDrag(
target,startPos):void
A workaround to apply click event manually
Parameters
target
HTMLElement
startPos
x
number
y
number
Returns
void
dragAndMoveTo()
dragAndMoveTo(
target,to):void
Parameters
target
HTMLElement
to
x
number
y
number
Returns
void
hostConnected()
hostConnected():
void
Called when the host is connected to the component tree. For custom element hosts, this corresponds to the connectedCallback() lifecycle, which is only called when the component is connected to the document.
Returns
void
Implementation of
ReactiveController.hostConnected
hostDisconnected()
hostDisconnected():
void
Called when the host is disconnected from the component tree. For custom element hosts, this corresponds to the disconnectedCallback() lifecycle, which is called the host or an ancestor component is disconnected from the document.
Returns
void
Implementation of
ReactiveController.hostDisconnected
onMouseDown()
onMouseDown(
e,elementInfo):void
Parameters
e
MouseEvent
elementInfo
ElementInfo<T>
Returns
void
onTouchStart()
onTouchStart(
e,elementInfo):void
Parameters
e
TouchEvent
elementInfo
ElementInfo<T>
Returns
void
removeAllEvents()
removeAllEvents():
void
Returns
void
reset()
reset():
void
Returns
void
updateElementInfo()
updateElementInfo(
elementInfo):void
Parameters
elementInfo
Partial<ElementInfo<T>>
Returns
void
abstract EdgelessToolbarToolClass
Extends
DisposableClass
Extended by
Constructors
Properties
active
active:
boolean
createPopper()
createPopper: <
T>(tagName,reference,options?) =>MenuPopper<HTMLElementTagNameMap[T]>
Type Parameters
T
T extends keyof HTMLElementTagNameMap
Parameters
tagName
T
reference
HTMLElement
options?
duration?
number
transition duration in ms
onDispose?
() => void
setProps?
(ele) => void
Returns
MenuPopper<HTMLElementTagNameMap[T]>
edgeless
edgeless:
BlockComponent
edgelessTool
edgelessTool:
ToolOptionWithType
enableActiveBackground?
optionalenableActiveBackground:boolean
gfx
gfx:
GfxController
popper
popper:
MenuPopper<HTMLElement> |null
setEdgelessTool()
setEdgelessTool: <
T>(toolType,options?) =>void
Type Parameters
T
T extends BaseTool<Record<string, unknown>>
Parameters
toolType
ToolType<T>
options?
ToolOptions<T>
Returns
void
theme
theme:
ColorScheme
toolbarContainer
toolbarContainer:
HTMLElement|null
toolbarSlots
toolbarSlots:
EdgelessToolbarSlots
tryDisposePopper()
tryDisposePopper: () =>
boolean
Returns
boolean
true if operation was successful
type
Accessors
toolbar
EdgelessToolbarWidget
Extends
Constructors
Constructor
new EdgelessToolbarWidget():
EdgelessToolbarWidget
Returns
Overrides
WidgetComponent<RootBlockModel>.constructor
Other
activePopper
activePopper:
MenuPopper<HTMLElement> |null=null
containerWidth
edgelessTool
Get Signature
get edgelessTool():
string
Returns
string
gfx
Get Signature
get gfx():
GfxController
Returns
isPresentMode
Get Signature
get isPresentMode():
boolean
Returns
boolean
presentFrameMenuShow
presentSettingMenuShow
scrollSeniorToolIndex
scrollSeniorToolSize
Get Signature
get scrollSeniorToolSize():
number
Returns
number
slots
Get Signature
get slots():
EdgelessToolbarSlots
Returns
toolbarContainer
connectedCallback()
connectedCallback():
void
Invoked when the component is added to the document's DOM.
In connectedCallback() you should setup tasks that should only occur when the element is connected to the document. The most common of these is adding event listeners to nodes external to the element, like a keydown event handler added to the window.
connectedCallback() {
super.connectedCallback();
addEventListener('keydown', this._handleKeydown);
}Typically, anything done in connectedCallback() should be undone when the element is disconnected, in disconnectedCallback().
Returns
void
Overrides
WidgetComponent.connectedCallback
disconnectedCallback()
disconnectedCallback():
void
Invoked when the component is removed from the document's DOM.
This callback is the main signal to the element that it may no longer be used. disconnectedCallback() should ensure that nothing is holding a reference to the element (such as event listeners added to nodes external to the element), so that it is free to be garbage collected.
disconnectedCallback() {
super.disconnectedCallback();
window.removeEventListener('keydown', this._handleKeydown);
}An element may be re-connected after being disconnected.
Returns
void
Overrides
WidgetComponent.disconnectedCallback
render()
render(): typeof
nothing|TemplateResult<1>
Invoked on each update to perform rendering tasks. This method may return any value renderable by lit-html's ChildPart - typically a TemplateResult. Setting properties inside this method will not trigger the element to update.
Returns
typeof nothing | TemplateResult<1>
Overrides
attributes
controllers
dev-mode
properties
rendering
styles
styles
staticstyles:CSSResult
Array of styles to apply to the element. The styles should be defined using the css tag function, via constructible stylesheets, or imported from native CSS module scripts.
Note on Content Security Policy:
Element styles are implemented with <style> tags when the browser doesn't support adopted StyleSheets. To use such <style> tags with the style-src CSP directive, the style-src value must either include 'unsafe-inline' or nonce-<base64-value> with <base64-value> replaced be a server-generated nonce.
To provide a nonce to use on generated <style> elements, set window.litNonce to a server-generated nonce in your page's HTML, before loading application code:
<script>
// Generated and unique per request:
window.litNonce = 'a1b2c3d4';
</script>Nocollapse
Overrides
WidgetComponent.styles
updates
firstUpdated()
firstUpdated():
void
Invoked when the element is first updated. Implement to perform one time work on the element after update.
firstUpdated() {
this.renderRoot.getElementById('my-text-area').focus();
}Setting properties inside this method will trigger the element to update again after this update cycle completes.
Returns
void
Overrides
WidgetComponent.firstUpdated
abstract QuickToolMixinClass
Extends
Constructors
Properties
Accessors
abstract ToolbarButtonWithMenuClass
Extends
Constructors
Properties
Accessors
Interfaces
EdgelessToolbarSlots
Properties
resize
resize:
Subject<{h:number;w:number; }>
MenuPopper<T>
Type Parameters
T
T extends HTMLElement
Properties
cancel()?
optionalcancel: () =>void
Returns
void
dispose()
dispose: () =>
void
Returns
void
element
element:
T
QuickTool
Properties
content
content:
TemplateResult
enable?
optionalenable:boolean
menu?
optionalmenu:MenuConfig
if not configured, the tool will not be shown in dense mode
priority?
optionalpriority:number
type?
optionaltype:string
SeniorTool
Properties
content
content:
TemplateResult
enable?
optionalenable:boolean
name
name:
string
Used to show in nav-button's tooltip
Type Aliases
DenseMenuBuilder()
DenseMenuBuilder = (
edgeless,gfx) =>MenuConfig
Helper function to build a menu configuration for a tool in dense mode
Parameters
edgeless
gfx
Returns
MenuConfig
Menu<T>
Menu<
T> =object
Type Parameters
T
T
Properties
currentValue
currentValue:
T
icon?
optionalicon:TemplateResult
items
items:
MenuItem<T>[]
label
label:
string
onPick()
onPick: (
value) =>void
Parameters
value
T
Returns
void
tooltip?
optionaltooltip:string
MenuItem<T>
MenuItem<
T> =object
Type Parameters
T
T
Properties
disabled?
optionaldisabled:boolean
icon?
optionalicon:TemplateResult
key?
optionalkey:string
value
value:
T
ToolBuilder()<T>
ToolBuilder<
T> = (options) =>T
Type Parameters
T
T
Parameters
options
block
gfx
toolbarContainer
HTMLElement
Returns
T
Variables
EDGELESS_TOOLBAR_WIDGET
constEDGELESS_TOOLBAR_WIDGET:"edgeless-toolbar-widget"='edgeless-toolbar-widget'
edgelessToolbarContext
constedgelessToolbarContext:object
Type Declaration
__context__
__context__:
EdgelessToolbarWidget
edgelessToolbarSlotsContext
constedgelessToolbarSlotsContext:object
Type Declaration
__context__
__context__:
EdgelessToolbarSlots
edgelessToolbarThemeContext
constedgelessToolbarThemeContext:object
Type Declaration
__context__
__context__:
ColorScheme
edgelessToolbarWidget
constedgelessToolbarWidget:ExtensionType
LINE_STYLE_LIST
constLINE_STYLE_LIST: [{icon:TemplateResult<1>;key:"General";value:false; }, {icon:TemplateResult<1>;key:"Scribbled";value:true; }]
QuickToolIdentifier
constQuickToolIdentifier:ServiceIdentifier<ToolBuilder<QuickTool>> & <U>(variant) =>ServiceIdentifier<U>
SeniorToolIdentifier
constSeniorToolIdentifier:ServiceIdentifier<ToolBuilder<SeniorTool>> & <U>(variant) =>ServiceIdentifier<U>
Functions
createPopper()
createPopper<
T>(tagName,reference,options?):MenuPopper<HTMLElementTagNameMap[T]>
Type Parameters
T
T extends keyof HTMLElementTagNameMap
Parameters
tagName
T
reference
HTMLElement
options?
duration?
number
transition duration in ms
onDispose?
() => void
setProps?
(ele) => void
Returns
MenuPopper<HTMLElementTagNameMap[T]>
EdgelessToolbarToolMixin()
EdgelessToolbarToolMixin<
T>(SuperClass):T&Constructor<EdgelessToolbarToolClass>
Type Parameters
T
T extends Constructor<LitElement>
Parameters
SuperClass
T
Returns
T & Constructor<EdgelessToolbarToolClass>
getRootBlock()
getRootBlock(
ctx):BlockComponent<BlockModel<object>,BlockService,string> |null
Parameters
ctx
ToolbarContext
Returns
BlockComponent<BlockModel<object>, BlockService, string> | null
QuickToolExtension()
QuickToolExtension(
id,builder):ExtensionType
Parameters
id
string
builder
Returns
QuickToolMixin()
QuickToolMixin<
T>(SuperClass):T&Constructor<QuickToolMixinClass>
Mixin for quick tool item.
Type Parameters
T
T extends Constructor<LitElement>
Parameters
SuperClass
T
Returns
T & Constructor<QuickToolMixinClass>
renderCurrentMenuItemWith()
renderCurrentMenuItemWith<
T,F>(items,currentValue,field):MenuItem<T>[F] |undefined
Type Parameters
T
T
F
F extends keyof MenuItem<T>
Parameters
items
MenuItem<T>[]
currentValue
T
field
F
Returns
MenuItem<T>[F] | undefined
renderMenu()
renderMenu<
T>(__namedParameters):TemplateResult<1>
Type Parameters
T
T
Parameters
__namedParameters
Menu<T>
Returns
TemplateResult<1>
renderMenuItems()
renderMenuItems<
T>(items,currentValue,onPick):unknown
Type Parameters
T
T
Parameters
items
MenuItem<T>[]
currentValue
T
onPick
(value) => void
Returns
unknown
SeniorToolExtension()
SeniorToolExtension(
id,builder):ExtensionType
Parameters
id
string
builder
Returns
ToolbarButtonWithMenuMixin()
ToolbarButtonWithMenuMixin<
T>(SuperClass):T&Constructor<ToolbarButtonWithMenuClass>
Type Parameters
T
T extends Constructor<LitElement> = Constructor<LitElement>
Parameters
SuperClass
T
Returns
T & Constructor<ToolbarButtonWithMenuClass>