@paperbits/core
Version:
Paperbits core components.
23 lines (20 loc) • 786 B
text/typescript
import * as ko from "knockout";
ko.bindingHandlers["validationMessageToggle"] = {
init: (triggerElement: HTMLElement, valueAccessor) => {
const observable = valueAccessor();
if (!ko.isObservable(observable) || !(<any>observable).isValid) {
console.warn("No validation assigned to observable for element: " + triggerElement.nodeType);
return;
}
ko.applyBindingsToNode(triggerElement, {
visible: ko.pureComputed(() => !(<any>observable).isValid()),
balloon: {
component: {
name: "tooltip",
params: { text: (<any>observable).error }
},
position: "top"
}
}, null);
}
};