1 |
- "use strict";var _baseComponent=_interopRequireDefault(require("../helpers/baseComponent")),_classNames5=_interopRequireDefault(require("../helpers/libs/classNames")),_useDOM=require("../helpers/hooks/useDOM");function _interopRequireDefault(t){return t&&t.__esModule?t:{default:t}}function _typeof(t){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function ownKeys(e,t){var o,n=Object.keys(e);return Object.getOwnPropertySymbols&&(o=Object.getOwnPropertySymbols(e),t&&(o=o.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,o)),n}function _objectSpread(e){for(var t=1;t<arguments.length;t++){var o=null!=arguments[t]?arguments[t]:{};t%2?ownKeys(Object(o),!0).forEach(function(t){_defineProperty(e,t,o[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(o)):ownKeys(Object(o)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(o,t))})}return e}function _defineProperty(t,e,o){return(e=_toPropertyKey(e))in t?Object.defineProperty(t,e,{value:o,enumerable:!0,configurable:!0,writable:!0}):t[e]=o,t}function _toPropertyKey(t){t=_toPrimitive(t,"string");return"symbol"==_typeof(t)?t:String(t)}function _toPrimitive(t,e){if("object"!=_typeof(t)||!t)return t;var o=t[Symbol.toPrimitive];if(void 0===o)return("string"===e?String:Number)(t);o=o.call(t,e||"default");if("object"!=_typeof(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}var defaultAction="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAQAAAAAYLlVAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAAmJLR0QAAKqNIzIAAAAHdElNRQfhBAQLCR5MtjrbAAAAjUlEQVRo3u3ZMRKAIAxEUbDirp4nXnctFFDHBtDQ/O1Nnk6aHUMgZCBKMkmmNAtgOmL9M+IQQGVM95zljy8DAAAAAAAAAAAAAACALsDZcppSx7Q+WdtUvA5xffUtrjeA8/qQ21S9gc15/3Nfzw0M5O0G2kM5BQAAAAAAAAAAAAAAQGk33q0qZ/p/Q/JFdmei9usomnwIAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDE3LTA0LTA0VDExOjA5OjMwKzA4OjAw1U4c3wAAACV0RVh0ZGF0ZTptb2RpZnkAMjAxNy0wNC0wNFQxMTowOTozMCswODowMKQTpGMAAAAASUVORK5CYII=",setTransform=function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:0,e=1<arguments.length&&void 0!==arguments[1]?arguments[1]:1,o=2<arguments.length&&void 0!==arguments[2]?arguments[2]:300,n=!(3<arguments.length&&void 0!==arguments[3])||arguments[3],o="transition-duration: ".concat(o,"ms"),e="transform: scale(".concat(e,") translate3d(").concat(n?t:0,"px, ").concat(n?0:t,"px, 0)");return"opacity: 1; ".concat(o,"; ").concat(e)};(0,_baseComponent.default)({properties:{prefixCls:{type:String,value:"wux-fab-button"},hoverClass:{type:String,value:"default"},theme:{type:String,value:"balanced"},position:{type:String,value:"bottomRight"},action:{type:String,value:defaultAction},actionRotate:{type:Boolean,value:!0},hideShadow:{type:Boolean,value:!1},backdrop:{type:Boolean,value:!1},buttons:{type:Array,value:[],observer:"forceUpdateButtonStyle"},direction:{type:String,value:"horizontal",observer:"forceUpdateButtonStyle"},spaceBetween:{type:Number,value:10,observer:"forceUpdateButtonStyle"},duration:{type:Number,value:300},scale:{type:Number,value:.9,observer:"forceUpdateButtonStyle"},reverse:{type:Boolean,value:!1,observer:"forceUpdateButtonStyle"},sAngle:{type:Number,value:0,observer:"forceUpdateButtonStyle"},eAngle:{type:Number,value:360,observer:"forceUpdateButtonStyle"},defaultVisible:{type:Boolean,value:!1},visible:{type:Boolean,value:!1,observer:function(t){this.data.controlled&&this.updated(t)}},controlled:{type:Boolean,value:!1}},data:{buttonStyle:[],buttonVisible:!1},computed:{classes:["prefixCls, position, theme, direction, reverse, buttonVisible, hideShadow, actionRotate, buttons, hoverClass",function(e,t,o,n,a,r,i,c,s,u){return{wrap:(0,_classNames5.default)(e,_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({},"".concat(e,"--").concat(t),t),"".concat(e,"--").concat(o),o),"".concat(e,"--").concat(n),n),"".concat(e,"--reverse"),a),"".concat(e,"--opened"),r)),action:(0,_classNames5.default)("".concat(e,"__action"),_defineProperty({},"".concat(e,"__action--hide-shadow"),i)),text:(0,_classNames5.default)("".concat(e,"__text"),_defineProperty({},"".concat(e,"__text--rotate"),r&&c)),button:s.map(function(t){return{wrap:(0,_classNames5.default)("".concat(e,"__button"),_defineProperty(_defineProperty(_defineProperty({},"".concat(e,"__button--hide-shadow"),t.hideShadow),"".concat(e,"__button--disabled"),t.disabled),"".concat(t.className),t.className)),hover:t.hoverClass&&"default"!==t.hoverClass?t.hoverClass:"".concat(e,"__button--hover")}}),icon:"".concat(e,"__icon"),label:"".concat(e,"__label"),backdrop:"".concat(e,"__backdrop"),hover:u&&"default"!==u?u:"".concat(e,"--hover")}}]},methods:{updated:function(t){this.data.buttonVisible!==t&&(this.setData({buttonVisible:t}),this.updateButtonStyle(!t))},onChange:function(t){this.data.controlled||this.updated(t),this.triggerEvent("change",{value:t})},onToggle:function(){this.onChange(!this.data.buttonVisible)},onTap:function(t){var t=t.currentTarget.dataset,e=t.index,t=t.value,e={index:e,value:t,buttons:this.data.buttons};t.disabled||(this.triggerEvent("click",e),this.onChange(!1))},forceUpdateButtonStyle:function(){this.updateButtonStyle(!this.data.buttonVisible)},updateButtonStyle:function(t){var a=this,e=this.data,o=e.prefixCls,r=e.buttons,i=e.duration,c=e.direction,s=e.spaceBetween,u=e.scale,l=[],d=this.data.reverse?1:-1,p="horizontal"===c;t?(r.forEach(function(){l.push("opacity: 0; transform: translate3d(0, 0, 0)")}),this.data.buttonStyle!==l&&this.setData({buttonStyle:l})):(0,_useDOM.useRect)(".".concat(o,"__action"),this).then(function(o){switch(c){case"horizontal":case"vertical":r.forEach(function(t,e){e="".concat(d*(o.width+s)*(e+1)),e=setTransform(e,u,i,p);l.push(e)});break;case"circle":var n=o.width+s;r.forEach(function(t,e){l.push(a.getCircleStyle(e,n))})}a.data.buttonStyle!==l&&a.setData({buttonStyle:l})})},getCircleStyle:function(t,e){var o=this.data,n=o.sAngle,a=o.eAngle,r=o.duration,o=o.scale,i=this.data.buttons.length,c=Math.max,s=Math.sin,u=Math.cos,l=Math.PI,n=n*l/180,a=a*l/180,n=n+(a-n)/(a%(2*l)==0?i:c(1,i-1))*t,a=s(n)*e,l=u(n)*e,a=parseFloat(a.toFixed(6)),l=parseFloat(l.toFixed(6)),c="transform: scale(".concat(o,") translate3d(").concat(a,"px, ").concat(l,"px, 0)");return"opacity: 1; transition-duration: ".concat(r,"ms; ").concat(c)},bindgetuserinfo:function(t){this.triggerEvent("getuserinfo",_objectSpread(_objectSpread({},t.detail),t.currentTarget.dataset))},bindcontact:function(t){this.triggerEvent("contact",_objectSpread(_objectSpread({},t.detail),t.currentTarget.dataset))},bindgetphonenumber:function(t){this.triggerEvent("getphonenumber",_objectSpread(_objectSpread({},t.detail),t.currentTarget.dataset))},bindopensetting:function(t){this.triggerEvent("opensetting",_objectSpread(_objectSpread({},t.detail),t.currentTarget.dataset))},bindlaunchapp:function(t){this.triggerEvent("launchapp",_objectSpread(_objectSpread({},t.detail),t.currentTarget.dataset))},bindchooseavatar:function(t){this.triggerEvent("chooseavatar",_objectSpread(_objectSpread({},t.detail),t.currentTarget.dataset))},onError:function(t){this.triggerEvent("error",_objectSpread(_objectSpread({},t.detail),t.currentTarget.dataset))}},ready:function(){var t=this.data,e=t.defaultVisible,o=t.visible,t=t.controlled;this.updated(t?o:e)}});
|