@paperbits/core
Version:
Paperbits core components.
15 lines (13 loc) • 546 B
text/typescript
import * as ko from "knockout";
import { WhenInViewBehavior } from "@paperbits/common/behaviors/behavior.whenInView";
ko.bindingHandlers["whenInView"] = {
init: (element: HTMLElement, valueAccessor) => {
const callback = valueAccessor();
const behaviorHandle = WhenInViewBehavior.attach(element, callback);
ko.utils.domNodeDisposal.addDisposeCallback(element, () => {
if (behaviorHandle && behaviorHandle.detach) {
behaviorHandle.detach();
}
});
}
};