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
| let queue = [];
| function getContext() {
| const pages = getCurrentPages();
| return pages[pages.length - 1];
| }
| const Dialog = (options) => {
| options = Object.assign(Object.assign({}, Dialog.currentOptions), options);
| return new Promise((resolve, reject) => {
| const context = options.context || getContext();
| const dialog = context.selectComponent(options.selector);
| delete options.context;
| delete options.selector;
| if (dialog) {
| dialog.setData(
| Object.assign({ onCancel: reject, onConfirm: resolve }, options)
| );
| queue.push(dialog);
| } else {
| console.warn(
| '未找到 van-dialog 节点,请确认 selector 及 context 是否正确'
| );
| }
| });
| };
| Dialog.defaultOptions = {
| show: true,
| title: '',
| width: null,
| message: '',
| zIndex: 100,
| overlay: true,
| selector: '#van-dialog',
| className: '',
| asyncClose: false,
| transition: 'scale',
| customStyle: '',
| messageAlign: '',
| overlayStyle: '',
| confirmButtonText: '确认',
| cancelButtonText: '取消',
| showConfirmButton: true,
| showCancelButton: false,
| closeOnClickOverlay: false,
| confirmButtonOpenType: '',
| };
| Dialog.alert = Dialog;
| Dialog.confirm = (options) =>
| Dialog(Object.assign({ showCancelButton: true }, options));
| Dialog.close = () => {
| queue.forEach((dialog) => {
| dialog.close();
| });
| queue = [];
| };
| Dialog.stopLoading = () => {
| queue.forEach((dialog) => {
| dialog.stopLoading();
| });
| };
| Dialog.setDefaultOptions = (options) => {
| Object.assign(Dialog.currentOptions, options);
| };
| Dialog.resetDefaultOptions = () => {
| Dialog.currentOptions = Object.assign({}, Dialog.defaultOptions);
| };
| Dialog.resetDefaultOptions();
| export default Dialog;
|
|