@antmjs/vantui
Version:
一套适用于Taro3及React的vantui组件库
96 lines (95 loc) • 4.58 kB
JavaScript
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.clear = clear;
exports.createAction = createAction;
exports.loading = exports.fail = void 0;
exports.resetDefaultOptions = resetDefaultOptions;
exports.setDefaultOptions = setDefaultOptions;
exports.show = void 0;
exports.show_ = show_;
exports.success = void 0;
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
var _assign2 = _interopRequireDefault(require("lodash/assign"));
var _index = _interopRequireDefault(require("../overlay/index"));
var _extraNode = require("../wxs/extra-node");
var _toast = require("./toast");
var _jsxRuntime = require("react/jsx-runtime");
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 extraNode = (0, _extraNode.createExtraNode)();
var overlayNode = (0, _extraNode.createExtraNode)();
var defaultDuration = 2500;
var timer = null;
var hasMask = false;
var defaultToastOptions = {
duration: 2500
};
var _defaultOptions = _objectSpread({}, defaultToastOptions);
function setDefaultOptions(options) {
(0, _assign2.default)(_defaultOptions, options);
}
function resetDefaultOptions() {
_defaultOptions = _objectSpread({}, defaultToastOptions);
}
function show_(options) {
var _extraNode$renderNode;
if (timer) {
clearTimeout(timer);
timer = null;
}
if (!hasMask) {
var _overlayNode$renderNo;
hasMask = true;
(_overlayNode$renderNo = overlayNode.renderNode) === null || _overlayNode$renderNo === void 0 ? void 0 : _overlayNode$renderNo.call(overlayNode, /*#__PURE__*/(0, _jsxRuntime.jsx)(_index.default, {
show: true,
zIndex: options.zIndex,
style: options.mask ? '' : 'background-color: transparent;'
}));
}
(_extraNode$renderNode = extraNode.renderNode) === null || _extraNode$renderNode === void 0 ? void 0 : _extraNode$renderNode.call(extraNode, /*#__PURE__*/(0, _jsxRuntime.jsx)(_toast.Toast, _objectSpread({}, _objectSpread(_objectSpread({}, _defaultOptions), options))));
if (options.duration !== 0) {
var _defaultOptions2;
timer = setTimeout(function () {
var _options$onClose;
clear();
options === null || options === void 0 ? void 0 : (_options$onClose = options.onClose) === null || _options$onClose === void 0 ? void 0 : _options$onClose.call(options);
}, options.duration || ((_defaultOptions2 = _defaultOptions) === null || _defaultOptions2 === void 0 ? void 0 : _defaultOptions2.duration) || defaultDuration);
}
}
function createAction() {
var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
return function (options_) {
var options = _objectSpread({}, params);
if (options_ && typeof options_ === 'string') {
options.message = options_;
} else if ((0, _typeof2.default)(options_) === 'object') {
options = _objectSpread(_objectSpread({}, options), options_);
}
show_(options);
};
}
var show = createAction({});
exports.show = show;
var success = createAction({
type: 'success'
});
exports.success = success;
var fail = createAction({
type: 'fail'
});
exports.fail = fail;
var loading = createAction({
type: 'loading',
duration: 0
});
exports.loading = loading;
function clear() {
var _extraNode$removeNode, _overlayNode$removeNo;
hasMask = false;
(_extraNode$removeNode = extraNode.removeNode) === null || _extraNode$removeNode === void 0 ? void 0 : _extraNode$removeNode.call(extraNode);
(_overlayNode$removeNo = overlayNode.removeNode) === null || _overlayNode$removeNo === void 0 ? void 0 : _overlayNode$removeNo.call(overlayNode);
}
;