Slate
ExamplesGitHubSlack
main
main
  • Introduction
  • Walkthroughs
    • Installing Slate
    • Adding Event Handlers
    • Defining Custom Elements
    • Applying Custom Formatting
    • Executing Commands
    • Saving to a Database
    • Enabling Collaborative Editing
    • Using the Bundled Source
  • Concepts
    • Interfaces
    • Nodes
    • Locations
    • Transforms
    • Operations
    • Commands
    • Editor
    • Plugins
    • Rendering
    • Serializing
    • Normalizing
    • TypeScript
    • Migrating
  • API
    • Transforms
    • Node Types
      • Editor
      • Element
      • Node
      • NodeEntry
      • Text
    • Location Types
      • Location
      • Path
      • PathRef
      • Point
      • PointEntry
      • PointRef
      • Range
      • RangeRef
      • Span
    • Operation Types
      • Operation
    • Scrubber
  • Libraries
    • Slate React
      • withReact
      • ReactEditor
      • Hooks
      • Slate Component
      • Editable Component
      • Event Handling
    • Slate History
      • withHistory
      • HistoryEditor
      • History
    • Slate Hyperscript
  • General
    • Resources
    • Contributing
    • Changelog
    • FAQ
Powered by GitBook
On this page
  • Instance methods
  • Static methods
  • Transform methods
  1. API
  2. Location Types

PointRef

PreviousPointEntryNextRange

Last updated 1 month ago

PointRef objects keep a specific point in a document synced over time as new operations are applied to the editor. It is created using the Editor.pointRef method. You can access their property current at any time for the up-to-date Point value. When you no longer need to track this location, call unref() to free the resources. The affinity refers to the direction the PointRef will go when a user inserts content at the current position of the Point.

interface PointRef {
  current: Point | null
  affinity: 'forward' | 'backward' | null
  unref(): Point | null
}

Instance methods

unref() => Point | null

Call this when you no longer need to sync this point. It also returns the current value.

Static methods

Transform methods

PointRef.transform(ref: PointRef, op: Operation)

Transform the point refs current value by an op. The editor calls this as needed, so normally you won't need to.

Instance methods
Static methods
Transform methods