UNPKG

1.36 kBJavaScriptView Raw
1import { r as registerInstance, g as getElement } from './stencilrouter-1307249c.js';
2import { A as ActiveRouter } from './chunk-cfc6485e.js';
3
4class StencilRouterPrompt {
5 constructor(hostRef) {
6 registerInstance(this, hostRef);
7 this.when = true;
8 this.message = '';
9 }
10 enable(message) {
11 if (this.unblock) {
12 this.unblock();
13 }
14 if (this.history) {
15 this.unblock = this.history.block(message);
16 }
17 }
18 disable() {
19 if (this.unblock) {
20 this.unblock();
21 this.unblock = undefined;
22 }
23 }
24 componentWillLoad() {
25 if (this.when) {
26 this.enable(this.message);
27 }
28 }
29 updateMessage(newMessage, prevMessage) {
30 if (this.when) {
31 if (!this.when || prevMessage !== newMessage) {
32 this.enable(this.message);
33 }
34 }
35 else {
36 this.disable();
37 }
38 }
39 componentDidUnload() {
40 this.disable();
41 }
42 render() {
43 return null;
44 }
45 get el() { return getElement(this); }
46 static get watchers() { return {
47 "message": ["updateMessage"],
48 "when": ["updateMessage"]
49 }; }
50}
51ActiveRouter.injectProps(StencilRouterPrompt, [
52 'history',
53]);
54
55export { StencilRouterPrompt as stencil_router_prompt };