UNPKG

@paperbits/core

Version:
18 lines (16 loc) 735 B
import * as ko from "knockout"; import { CollapseBehavior } from "@paperbits/common/behaviors/behavior.collapse"; ko.bindingHandlers["collapse"] = { init: (triggerElement: HTMLElement, valueAccessor) => { // timeout to let other bindings to bind id for collapsable container setTimeout(() => { const targetSelector = ko.unwrap(valueAccessor()); const behaviorHandle = CollapseBehavior.attach(triggerElement, targetSelector); ko.utils.domNodeDisposal.addDisposeCallback(triggerElement, () => { if (behaviorHandle && behaviorHandle.detach) { behaviorHandle.detach(); } }); }, 100); } };