UNPKG

mand-mobile

Version:

A Vue.js 2.0 Mobile UI Toolkit

209 lines (184 loc) 6.41 kB
(function (global, factory) { if (typeof define === "function" && define.amd) { define(['exports', 'vue', './toast'], factory); } else if (typeof exports !== "undefined") { factory(exports, require('vue'), require('./toast')); } else { var mod = { exports: {} }; factory(mod.exports, global.vue, global.toast); global.index = mod.exports; } })(this, function (exports, _vue, _toast) { 'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _vue2 = _interopRequireDefault(_vue); var _toast2 = _interopRequireDefault(_toast); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } /** * Toast factory * * @param {Object} props * @return {Toast} */ var Toast = function Toast(_ref) { var _ref$content = _ref.content, content = _ref$content === undefined ? '' : _ref$content, _ref$icon = _ref.icon, icon = _ref$icon === undefined ? '' : _ref$icon, _ref$iconSvg = _ref.iconSvg, iconSvg = _ref$iconSvg === undefined ? false : _ref$iconSvg, _ref$duration = _ref.duration, duration = _ref$duration === undefined ? 3000 : _ref$duration, _ref$position = _ref.position, position = _ref$position === undefined ? 'center' : _ref$position, _ref$hasMask = _ref.hasMask, hasMask = _ref$hasMask === undefined ? false : _ref$hasMask, _ref$parentNode = _ref.parentNode, parentNode = _ref$parentNode === undefined ? document.body : _ref$parentNode, _ref$square = _ref.square, square = _ref$square === undefined ? false : _ref$square; var vm = Toast._instance; if (!vm) { var ToastConstructor = _vue2.default.extend(_toast2.default); vm = Toast._instance = new ToastConstructor({ propsData: { content: content, icon: icon, iconSvg: iconSvg, duration: duration, position: position, hasMask: hasMask, square: square } }).$mount(); } if (!vm.$el.parentNode) { parentNode.appendChild(vm.$el); } vm.content = content; vm.icon = icon; vm.iconSvg = iconSvg; vm.duration = duration; vm.position = position; vm.hasMask = hasMask; vm.square = square; // vm.visible = true // vm.fire() vm.show(); return vm; }; // There is only one toast singleton Toast._instance = null; /** * Hide toast */ Toast.hide = function () { var ToastConstructor = _vue2.default.extend(_toast2.default); if (Toast._instance instanceof ToastConstructor && Toast._instance.visible) { Toast._instance.hide(); } }; /** * Show info toast * @param {string} content * @param {number=} [duration=3000] * @param {boolean=} [hasMask=false] * @param {node=} [parentNode=document.body] * @returns {Toast} */ Toast.info = function () { var content = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ''; var duration = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 3000; var hasMask = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; var parentNode = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : document.body; var square = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false; return Toast({ icon: '', content: content, duration: duration, hasMask: hasMask, parentNode: parentNode, square: square }); }; /** * Show succeed toast * @param {string} content * @param {number=} [duration=3000] * @param {boolean=} [hasMask=false] * @param {node=} [parentNode=document.body] * @returns {Toast} */ Toast.succeed = function () { var content = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ''; var duration = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 3000; var hasMask = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; var parentNode = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : document.body; var square = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false; return Toast({ icon: 'success', content: content, duration: duration, hasMask: hasMask, parentNode: parentNode, square: square }); }; /** * Show failed toast * @param {string} content * @param {number=} [duration=3000] * @param {boolean=} [hasMask=true] * @param {node=} [parentNode=document.body] * @returns {Toast} */ Toast.failed = function () { var content = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ''; var duration = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 3000; var hasMask = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; var parentNode = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : document.body; var square = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false; return Toast({ icon: 'fail', content: content, duration: duration, hasMask: hasMask, parentNode: parentNode, square: square }); }; /** * Show loading toast * @param {string} content * @param {number=} [duration=0] * @param {boolean=} [hasMask=false] * @param {node=} [parentNode=document.body] * @returns {Toast} */ Toast.loading = function () { var content = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ''; var duration = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0; var hasMask = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true; var parentNode = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : document.body; var square = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false; return Toast({ icon: 'spinner', iconSvg: true, content: content, duration: duration, hasMask: hasMask, parentNode: parentNode, square: square }); }; Toast.component = _toast2.default; exports.default = Toast; });