UNPKG

wux-weapp

Version:

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

1 lines 5.35 kB
"use strict";var _baseComponent=_interopRequireDefault(require("../helpers/baseComponent")),_classNames=_interopRequireDefault(require("../helpers/libs/classNames")),_styleToCssString=_interopRequireDefault(require("../helpers/libs/styleToCssString")),_warning=_interopRequireDefault(require("../helpers/libs/warning")),_omit=require("../helpers/shared/omit"),_utils=require("../dialog/utils"),_utils2=require("../loading/utils"),_utils3=require("../notification/utils"),_utils4=require("../toast/utils"),_utils5=require("../toptips/utils");function _interopRequireDefault(t){return t&&t.__esModule?t:{default:t}}function _slicedToArray(t,e){return _arrayWithHoles(t)||_iterableToArrayLimit(t,e)||_nonIterableRest()}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}function _iterableToArrayLimit(t,e){var n=[],r=!0,o=!1,i=void 0;try{for(var u,a=t[Symbol.iterator]();!(r=(u=a.next()).done)&&(n.push(u.value),!e||n.length!==e);r=!0);}catch(t){o=!0,i=t}finally{try{r||null==a.return||a.return()}finally{if(o)throw i}}return n}function _arrayWithHoles(t){if(Array.isArray(t))return t}function ownKeys(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function _objectSpread(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ownKeys(n,!0).forEach(function(t){_defineProperty(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ownKeys(n).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function _defineProperty(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}var uuid=0,appConfig={dialog:(0,_omit.omit)(_objectSpread({},_utils.defaults,{},_utils.defaultOptions,{resetOnClose:!0}),["onCancel","onConfirm"]),loading:_objectSpread({},_utils2.defaults),notification:(0,_omit.omit)(_utils3.defaults,["onClick","onClose"]),toast:(0,_omit.omit)(_utils4.defaults,["success"]),toptips:(0,_omit.omit)(_utils5.defaults,["success"])},warningUnhooked=function(t,e){t||void 0===console||(0,_warning.default)(!1,"<".concat(e," /> 无法找到对应的组件,请按文档说明使用组件"))},useComponentRef=function(t,e){var n=e.data,r=n.prefixCls,o=n.uuid,i="#".concat(r,"__").concat(t,"-").concat(o);return{current:e.querySelector(i)}},useDialog=function(r,t){var o=useComponentRef("dialog",t),e={};return["show","open","alert","confirm","prompt"].forEach(function(n){e[n]=function(t){if(o.current)return o.current[n](_objectSpread({},r,{},t));warningUnhooked(!1,"Dialog");function e(){}return e.then=function(){},e}}),[e,o]},useLoading=function(n,t){var r=useComponentRef("loading",t);return[{show:function(t){if(r.current)return r.current.show(_objectSpread({},n,{},t));warningUnhooked(!1,"Loading");function e(){}return e.then=function(){},e},hide:function(){r.current&&r.current.hide()}},r]},useNotification=function(n,t){var r=useComponentRef("notification",t);return[{show:function(t){if(r.current)return r.current.show(_objectSpread({},n,{},t));warningUnhooked(!1,"Notification");function e(){}return e.then=function(){},e},hide:function(){r.current&&r.current.hide()}},r]},useToast=function(r,t){var o=useComponentRef("toast",t),e={};return["show","success","warning","info","error"].forEach(function(n){e[n]=function(t){if(o.current)return o.current[n](_objectSpread({},r,{},t));warningUnhooked(!1,"Toast");function e(){}return e.then=function(){},e}}),[e,o]},useToptips=function(r,t){var o=useComponentRef("toptips",t),e={};return["show","success","warn","info","error"].forEach(function(n){e[n]=function(t){if(o.current)return o.current[n](_objectSpread({},r,{},t));warningUnhooked(!1,"Toptips");function e(){}return e.then=function(){},e}}),[e,o]};(0,_baseComponent.default)({useExport:!0,properties:{prefixCls:{type:String,value:"wux-app"},config:{type:Object,value:appConfig},shadowRoot:{type:Boolean,value:!1},wrapCls:{type:String,value:""},wrapStyle:{type:[String,Object],value:"",observer:function(t){this.setData({extStyle:(0,_styleToCssString.default)(t)})}}},data:{extStyle:"",uuid:uuid,memoizedAPI:null},observers:_defineProperty({},"prefixCls, config",function(t,e){this.updateMemoizedAPI(arguments.length<=1?void 0:e)}),computed:{classes:["prefixCls, uuid",function(t,e){return{wrap:(0,_classNames.default)(t),dialog:"".concat(t,"__dialog-").concat(e),loading:"".concat(t,"__loading-").concat(e),notification:"".concat(t,"__notification-").concat(e),toast:"".concat(t,"__toast-").concat(e),toptips:"".concat(t,"__toptips-").concat(e)}}]},methods:_defineProperty({updateMemoizedAPI:function(t){var e={dialog:_slicedToArray(useDialog(appConfig.dialog,this),1)[0],loading:_slicedToArray(useLoading(t.loading,this),1)[0],notification:_slicedToArray(useNotification(t.notification,this),1)[0],toast:_slicedToArray(useToast(t.toast,this),1)[0],toptips:_slicedToArray(useToptips(t.toptips,this),1)[0]};this.data.memoizedAPI!==e&&this.setData({memoizedAPI:e})}},"export",function(){var t=this;return{useApp:function(){return t.data.memoizedAPI}}}),attached:function(){this.setData({uuid:++uuid}),this.updateMemoizedAPI(this.data.config)}});