1 | import { r as registerInstance, g as getElement } from './stencilrouter-1307249c.js';
|
2 | import { A as ActiveRouter } from './chunk-cfc6485e.js';
|
3 |
|
4 | class 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 | }
|
51 | ActiveRouter.injectProps(StencilRouterPrompt, [
|
52 | 'history',
|
53 | ]);
|
54 |
|
55 | export { StencilRouterPrompt as stencil_router_prompt };
|