1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
| "use strict";
| Object.defineProperty(exports, "__esModule", { value: true });
| var component_1 = require("../common/component");
| var button_1 = require("../mixins/button");
| var color_1 = require("../common/color");
| var utils_1 = require("../common/utils");
| (0, component_1.VantComponent)({
| mixins: [button_1.button],
| props: {
| show: {
| type: Boolean,
| observer: function (show) {
| !show && this.stopLoading();
| },
| },
| title: String,
| message: String,
| theme: {
| type: String,
| value: 'default',
| },
| useSlot: Boolean,
| className: String,
| customStyle: String,
| asyncClose: Boolean,
| messageAlign: String,
| beforeClose: null,
| overlayStyle: String,
| useTitleSlot: Boolean,
| showCancelButton: Boolean,
| closeOnClickOverlay: Boolean,
| confirmButtonOpenType: String,
| width: null,
| zIndex: {
| type: Number,
| value: 2000,
| },
| confirmButtonText: {
| type: String,
| value: '确认',
| },
| cancelButtonText: {
| type: String,
| value: '取消',
| },
| confirmButtonColor: {
| type: String,
| value: color_1.RED,
| },
| cancelButtonColor: {
| type: String,
| value: color_1.GRAY,
| },
| showConfirmButton: {
| type: Boolean,
| value: true,
| },
| overlay: {
| type: Boolean,
| value: true,
| },
| transition: {
| type: String,
| value: 'scale',
| },
| },
| data: {
| loading: {
| confirm: false,
| cancel: false,
| },
| callback: (function () { }),
| },
| methods: {
| onConfirm: function () {
| this.handleAction('confirm');
| },
| onCancel: function () {
| this.handleAction('cancel');
| },
| onClickOverlay: function () {
| this.close('overlay');
| },
| close: function (action) {
| var _this = this;
| this.setData({ show: false });
| wx.nextTick(function () {
| _this.$emit('close', action);
| var callback = _this.data.callback;
| if (callback) {
| callback(action, _this);
| }
| });
| },
| stopLoading: function () {
| this.setData({
| loading: {
| confirm: false,
| cancel: false,
| },
| });
| },
| handleAction: function (action) {
| var _a;
| var _this = this;
| this.$emit(action, { dialog: this });
| var _b = this.data, asyncClose = _b.asyncClose, beforeClose = _b.beforeClose;
| if (!asyncClose && !beforeClose) {
| this.close(action);
| return;
| }
| this.setData((_a = {},
| _a["loading.".concat(action)] = true,
| _a));
| if (beforeClose) {
| (0, utils_1.toPromise)(beforeClose(action)).then(function (value) {
| if (value) {
| _this.close(action);
| }
| else {
| _this.stopLoading();
| }
| });
| }
| },
| },
| });
|
|