| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136 | "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],    classes: ['cancle-button-class', 'confirm-button-class'],    props: {        show: {            type: Boolean,            observer: function (show) {                !show && this.stopLoading();            },        },        title: String,        message: String,        theme: {            type: String,            value: 'default',        },        confirmButtonId: String,        className: String,        customStyle: String,        asyncClose: Boolean,        messageAlign: String,        beforeClose: null,        overlayStyle: String,        useSlot: Boolean,        useTitleSlot: Boolean,        useConfirmButtonSlot: Boolean,        useCancelButtonSlot: 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',        },        rootPortal: {            type: Boolean,            value: false,        },    },    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) {            this.setData({ show: false });            this.closeAction = action;        },        onAfterLeave: function () {            var action = this.closeAction;            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();                    }                });            }        },    },});
 |