UNPKG

wux-weapp

Version:

一套组件化、可复用、易扩展的微信小程序 UI 组件库

1 lines 2.93 kB
"use strict";var _baseComponent=_interopRequireDefault(require("../helpers/baseComponent")),_classNames2=_interopRequireDefault(require("../helpers/classNames")),_index=require("../index");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]:{},s=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(s=s.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),s.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-toast",classNames:"wux-animate--fadeIn",type:"default",duration:1500,color:"#fff",text:"",icon:"",mask:!0,transparent:!0,success:function(){}},iconTypes={success:"ios-checkmark-circle-outline",cancel:"ios-close-circle-outline",forbidden:"ios-alert",text:"",default:""},_toast=null;(0,_baseComponent.default)({useFunc:!0,data:defaults,computed:{classes:["prefixCls, icon",function(e,t){return{wrap:(0,_classNames2.default)(e),content:(0,_classNames2.default)("".concat(e,"__content"),_defineProperty({},"".concat(e,"__content--has-icon"),t)),icon:"".concat(e,"__icon"),text:"".concat(e,"__text")}}]},methods:{hide:function(){if(this.removed)return!1;this.removed=!0,_toast&&(clearTimeout(_toast.timeout),_toast=null),this.$$setData({in:!1}),this.$wuxBackdrop&&this.$wuxBackdrop.release(),"function"==typeof this.fns.success&&this.fns.success()},show:function(s,e){var o=this;"string"==typeof s&&(s=Object.assign({},{text:arguments[0]},e));function t(){_toast&&_toast.hide.call(o)}var n=new Promise(function(e){var t=o.$$mergeOptionsAndBindMethods(Object.assign({},defaults,s)),n=iconTypes[t.type]||t.icon;t.icon=n,o.removed=!1,o.$$setData(_objectSpread({in:!0},t)),o.$wuxBackdrop&&o.$wuxBackdrop.retain(),_toast&&(clearTimeout(_toast.timeout),_toast=null),(_toast={hide:o.hide}).timeout=setTimeout(function(){return o.hide(),e(!0)},Math.max(0,t.duration))});return t.then=function(e,t){return n.then(e,t)},t.promise=n,t},success:function(e,t){return"string"==typeof e&&(e=Object.assign({},{text:arguments[0]},t)),this.show(Object.assign({type:"success"},e))},warning:function(e,t){return"string"==typeof e&&(e=Object.assign({},{text:arguments[0]},t)),this.show(Object.assign({type:"forbidden"},e))},error:function(e,t){return"string"==typeof e&&(e=Object.assign({},{text:arguments[0]},t)),this.show(Object.assign({type:"cancel"},e))},info:function(e,t){return"string"==typeof e&&(e=Object.assign({},{text:arguments[0]},t)),this.show(Object.assign({type:"text"},e))}},created:function(){this.data.mask&&(this.$wuxBackdrop=(0,_index.$wuxBackdrop)("#wux-backdrop",this))}});