@stencil/router
Version:
56 lines (53 loc) • 1.36 kB
JavaScript
import { r as registerInstance, g as getElement } from './stencilrouter-1307249c.js';
import { A as ActiveRouter } from './chunk-cfc6485e.js';
class StencilRouterPrompt {
constructor(hostRef) {
registerInstance(this, hostRef);
this.when = true;
this.message = '';
}
enable(message) {
if (this.unblock) {
this.unblock();
}
if (this.history) {
this.unblock = this.history.block(message);
}
}
disable() {
if (this.unblock) {
this.unblock();
this.unblock = undefined;
}
}
componentWillLoad() {
if (this.when) {
this.enable(this.message);
}
}
updateMessage(newMessage, prevMessage) {
if (this.when) {
if (!this.when || prevMessage !== newMessage) {
this.enable(this.message);
}
}
else {
this.disable();
}
}
componentDidUnload() {
this.disable();
}
render() {
return null;
}
get el() { return getElement(this); }
static get watchers() { return {
"message": ["updateMessage"],
"when": ["updateMessage"]
}; }
}
ActiveRouter.injectProps(StencilRouterPrompt, [
'history',
]);
export { StencilRouterPrompt as stencil_router_prompt };