iink-ts - v4.0.0
    Preparing search index...

    Class IISelectionManager

    Hierarchy (View Summary)

    Index

    The Interactive Ink Canvas instance

    endSelectionPoint?: TPoint
    logger: Logger

    Logger instance for this manager Automatically uses LoggerCategory.MANAGER

    managerName: string = "IISelectionManager"

    Name of the manager for logging purposes Must be overridden in concrete classes

    "IITypesetManager", "IIMathManager"
    
    selectedGroup?: SVGGElement
    startSelectionPoint?: TPoint
    • get client(): WebSocketClient

      Get the client from the canvas Convenience getter to avoid accessing canvas.client everywhere

      Returns WebSocketClient

    • get model(): IIModel

      Get the model from the canvas Convenience getter to avoid accessing canvas.model everywhere

      Returns IIModel

    • get renderer(): SVGRenderer

      Get the renderer from the canvas Convenience getter to avoid accessing canvas.renderer everywhere

      Returns SVGRenderer

    • get selectionBox(): TBox | undefined

      Returns TBox | undefined

    • Parameters

      • layer: HTMLElement

      Returns void

    • Returns void

    • Parameters

      Returns SVGGElement

    • Path-based hit area for line/polyline edges — narrow stroke aligned with edge geometry, avoiding the AABB problem where diagonal edges have an oversized clickable rectangle.

      Parameters

      Returns SVGPathElement

    • Parameters

      Returns SVGGElement | undefined

    • Parameters

      Returns SVGGElement | undefined

    • Parameters

      Returns SVGGElement

    • Parameters

      Returns SVGGElement

    • Parameters

      Returns SVGRectElement

    • Destroy the manager and cleanup resources Calls the onDestroy hook if defined

      Returns void

    • Returns void

    • Parameters

      Returns void

    • Parameters

      Returns void

    • In "element" mode, grows the current selection to include, for every math block that has at least one selected source stroke, all of that block's sibling source strokes plus its frozen draw result stroke (if any). No-op in "operand" mode.

      Returns void

    • Build selected/covered stroke ID sets from JIIX math groups. Returns null when no JIIX groups exist (fallback to stroke overlap).

      Parameters

      Returns { covered: Set<string>; selected: Set<string> } | null

    • Parameters

      • ev: PointerEvent

      Returns TPoint

    • Find the JIIX block ID of the single fully-selected math block, if any. Returns undefined when zero or more than one block qualifies.

      Returns string | undefined

    • Build selected/covered stroke ID sets from JIIX shape (Node/Edge) groups. Returns null when level is "stroke" or no groups exist (fallback to stroke overlap).

      Parameters

      Returns { covered: Set<string>; selected: Set<string> } | null

    • Build selected/covered stroke ID sets from JIIX text groups. Returns null when no JIIX groups exist (fallback to stroke overlap).

      Parameters

      Returns { covered: Set<string>; selected: Set<string> } | null

    • Returns void

    • Whether the given math block currently qualifies as selected. Reuses the same per-block coverage rule as getSelectedMathJiixBlockId, without the single-block constraint (supports multi-block selection).

      Parameters

      • jiixBlockId: string

      Returns boolean

    • Parameters

      Returns Promise<void>

    • Lifecycle hook called when the manager is being destroyed Override in subclasses to cleanup resources

      Returns void

      protected onDestroy(): void {
      this.logger.info(`${this.managerName} destroyed`)
      // Remove event listeners, clear intervals, etc.
      }
    • Lifecycle hook called after manager initialization Override in subclasses if needed

      This is called at the end of the constructor, allowing subclasses to perform initialization that requires access to this.managerName or other properties set in the subclass constructor.

      Returns void

      protected onInit(): void {
      this.logger.info(`${this.managerName} initialized`)
      // Setup event listeners, etc.
      }
    • Returns void

    • Returns void

    • Parameters

      Returns void