UNPKG

2.16 kBJavaScriptView Raw
1'use strict';
2
3Object.defineProperty(exports, '__esModule', { value: true });
4
5const index = require('./index-dd4b7ba3.js');
6const Taro = require('@tarojs/taro');
7const index$1 = require('./index-dffbd352.js');
8
9function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
10
11const Taro__default = /*#__PURE__*/_interopDefaultLegacy(Taro);
12
13const indexCss = ".navigator-hover{background:#efefef}";
14
15let Navigator = class {
16 constructor(hostRef) {
17 index.registerInstance(this, hostRef);
18 this.onSuccess = index.createEvent(this, "cuccess", 7);
19 this.onFail = index.createEvent(this, "fail", 7);
20 this.onComplete = index.createEvent(this, "Complete", 7);
21 this.openType = 'navigate';
22 this.isHover = false;
23 this.delta = 0;
24 }
25 onClick() {
26 const { openType, onSuccess, onFail, onComplete } = this;
27 let promise = Promise.resolve();
28 switch (openType) {
29 case 'navigate':
30 promise = Taro__default['default'].navigateTo({
31 url: this.url
32 });
33 break;
34 case 'redirect':
35 promise = Taro__default['default'].redirectTo({
36 url: this.url
37 });
38 break;
39 case 'switchTab':
40 promise = Taro__default['default'].switchTab({
41 url: this.url
42 });
43 break;
44 case 'reLaunch':
45 promise = Taro__default['default'].reLaunch({
46 url: this.url
47 });
48 break;
49 case 'navigateBack':
50 promise = Taro__default['default'].navigateBack({
51 delta: this.delta
52 });
53 break;
54 case 'exit':
55 promise = Promise.reject(new Error('navigator:fail 暂不支持"openType: exit"'));
56 break;
57 }
58 if (promise) {
59 promise.then(res => {
60 onSuccess.emit(res);
61 }).catch(res => {
62 onFail.emit(res);
63 }).finally(() => {
64 onComplete.emit();
65 });
66 }
67 }
68 render() {
69 const { isHover, hoverClass } = this;
70 return (index.h(index.Host, { class: index$1.classnames({
71 [hoverClass]: isHover
72 }) }));
73 }
74};
75Navigator.style = indexCss;
76
77exports.taro_navigator_core = Navigator;