| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126 | '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');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.' + action] = true), _a));      if (beforeClose) {        utils_1.toPromise(beforeClose(action)).then(function (value) {          if (value) {            _this.close(action);          } else {            _this.stopLoading();          }        });      }    },  },});
 |