UNPKG

@paperbits/core

Version:
20 lines (16 loc) 710 B
import * as ko from "knockout"; import { ViewManager } from "@paperbits/common/ui"; import { StickToBehavior, StickToConfig } from "@paperbits/common/behaviors/behavior.stickTo"; export class StickToBindingHandler { constructor(viewManager: ViewManager) { ko.bindingHandlers["stickTo"] = { init(element: HTMLElement, valueAccessor: () => StickToConfig): void { const config = valueAccessor(); const handle = StickToBehavior.attach(element, config, viewManager); ko.utils.domNodeDisposal.addDisposeCallback(element, () => { handle.detach(); }); } }; } }