UNPKG

@antmjs/vantui

Version:

一套适用于Taro3及React的vantui组件库

77 lines (76 loc) 3.16 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty")); var _events = require("./events"); function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; } function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; } var _defaultOptions = { show: false, title: '', width: null, theme: 'default', message: '', overlay: true, className: '', asyncClose: false, transition: 'scale', messageAlign: '', overlayStyle: '', confirmButtonText: '确认', cancelButtonText: '取消', showConfirmButton: true, showCancelButton: false, closeOnClickOverlay: false, confirmButtonOpenType: '' }; var _default = { defaultOptions: _objectSpread({}, _defaultOptions), alert: function alert(options) { var p = new Promise(function (resolve) { var confirmFn = function confirmFn() { (0, _events.off)('confirm', confirmFn); resolve('confirm'); }; var cancelFn = function cancelFn() { (0, _events.off)('cancel', cancelFn); resolve('cancel'); }; (0, _events.on)('confirm', confirmFn); (0, _events.on)('cancel', cancelFn); }); var innerOptions = (options === null || options === void 0 ? void 0 : options.theme) === 'round-button' ? { confirmButtonColor: '#FFFFFF', cancelButtonColor: '#FFFFFF' } : {}; (0, _events.trigger)('alert', _objectSpread(_objectSpread(_objectSpread(_objectSpread({}, this.defaultOptions), options), innerOptions), {}, { show: true })); return p; }, confirm: function confirm(options) { return this.alert(_objectSpread(_objectSpread({}, options), {}, { showCancelButton: true })); }, close: function close() { (0, _events.off)('confirm'); (0, _events.off)('cancel'); (0, _events.trigger)('close'); }, stopLoading: function stopLoading() { (0, _events.trigger)('stopLoading'); }, setDefaultOptions: function setDefaultOptions(options) { ; this.defaultOptions = _objectSpread(_objectSpread({}, this.defaultOptions), options); }, resetDefaultOptions: function resetDefaultOptions() { ; this.defaultOptions = _objectSpread({}, _defaultOptions); } }; exports.default = _default;