index.js 2.3 KB

1
  1. "use strict";var _baseComponent=_interopRequireDefault(require("../helpers/baseComponent")),_classNames2=_interopRequireDefault(require("../helpers/classNames"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _objectSpread(t){for(var e=1;e<arguments.length;e++)if(e%2){var n=null!=arguments[e]?arguments[e]:{},i=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(i=i.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),i.forEach(function(e){_defineProperty(t,e,n[e])})}else Object.defineProperties(t,Object.getOwnPropertyDescriptors(arguments[e]));return t}function _defineProperty(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var defaults={prefixCls:"wux-toptips",classNames:"wux-animate--slideInDown",icon:"cancel",hidden:!1,text:"",duration:3e3,success:function(){}},_toptips=null;(0,_baseComponent.default)({useFunc:!0,data:defaults,computed:{classes:["prefixCls, icon",function(e,t){var n=t||"cancel";return{wrap:(0,_classNames2.default)(e),content:(0,_classNames2.default)("".concat(e,"__content"),_defineProperty({},"".concat(e,"__content--").concat(n),n)),icon:"".concat(e,"__icon")}}]},methods:{hide:function(){if(this.removed)return!1;this.removed=!0,_toptips&&(clearTimeout(_toptips.timeout),_toptips=null),this.$$setData({in:!1}),"function"==typeof this.fns.success&&this.fns.success()},show:function(e){function t(){_toptips&&_toptips.hide.call(n)}var n=this,i=0<arguments.length&&void 0!==e?e:{},o=new Promise(function(e){var t=n.$$mergeOptionsAndBindMethods(Object.assign({},defaults,i));n.removed=!1,n.$$setData(_objectSpread({in:!0},t)),_toptips&&(clearTimeout(_toptips.timeout),_toptips=null),(_toptips={hide:n.hide}).timeout=setTimeout(function(){return n.hide(),e(!0)},t.duration)});return t.then=function(e,t){return o.then(e,t)},t.promise=o,t},success:function(e){var t=0<arguments.length&&void 0!==e?e:{};return this.show(Object.assign({icon:"success"},t))},info:function(e){var t=0<arguments.length&&void 0!==e?e:{};return this.show(Object.assign({icon:"info"},t))},warn:function(e){var t=0<arguments.length&&void 0!==e?e:{};return this.show(Object.assign({icon:"warn"},t))},error:function(e){var t=0<arguments.length&&void 0!==e?e:{};return this.show(Object.assign({icon:"cancel"},t))}}});