Notes/src/public/app/widgets/buttons/onclick_button.js

37 lines
949 B
JavaScript
Raw Normal View History

2022-12-02 16:46:14 +01:00
import AbstractButtonWidget from "./abstract_button.js";
export default class OnClickButtonWidget extends AbstractButtonWidget {
doRender() {
super.doRender();
if (this.settings.onClick) {
this.$widget.on("click", e => {
e.stopPropagation();
2022-12-02 16:46:14 +01:00
this.$widget.tooltip("hide");
this.settings.onClick(this, e);
});
} else {
console.warn(`Button widget '${this.componentId}' has no defined click handler`, this.settings);
}
if (this.settings.onAuxClick) {
this.$widget.on("auxclick", e => {
this.$widget.tooltip("hide");
this.settings.onAuxClick(this, e);
});
}
2022-12-02 16:46:14 +01:00
}
onClick(handler) {
this.settings.onClick = handler;
return this;
}
onAuxClick(handler) {
this.settings.onAuxClick = handler;
return this;
}
2022-12-02 16:46:14 +01:00
}