UNPKG

zs-mini-ali-ui

Version:

中视编译后版本 ali-ui

566 lines (518 loc) 17.7 kB
;/******/ (() => { // webpackBootstrap /******/ "use strict"; /******/ var __webpack_modules__ = ([ /* 0 */, /* 1 */ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ fmtEvent) /* harmony export */ }); function fmtEvent(props, e) { var dataset = {}; for (var key in props) { if (/data-/gi.test(key)) { dataset[key.replace(/data-/gi, '')] = props[key]; } } return Object.assign({}, e, { currentTarget: { dataset: dataset }, target: { dataset: dataset, targetDataset: dataset } }); } /***/ }), /* 2 */, /* 3 */, /* 4 */, /* 5 */, /* 6 */, /* 7 */ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ getI18n) /* harmony export */ }); /* harmony import */ var _lang_zh_CN__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8); /* harmony import */ var _lang_en_US__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(9); function getI18n() { try { /* global getApp */ /* eslint no-undef: "error" */ var appMiniAliUI = getApp() || null; if (appMiniAliUI) { var _appMiniAliUI$globalD; if (((_appMiniAliUI$globalD = appMiniAliUI.globalData) == null ? void 0 : _appMiniAliUI$globalD.miniAliUiLang) === 'en-US') { return _lang_en_US__WEBPACK_IMPORTED_MODULE_1__["default"]; } else { return _lang_zh_CN__WEBPACK_IMPORTED_MODULE_0__["default"]; } } else { return _lang_zh_CN__WEBPACK_IMPORTED_MODULE_0__["default"]; } } catch (error) { return _lang_zh_CN__WEBPACK_IMPORTED_MODULE_0__["default"]; } } /***/ }), /* 8 */ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); var I18n_zhCN = { amountInput: { thousand: '千', tenThousand: '万', hundredThousand: '十万', million: '百万', tenMillion: '千万', hundredMillion: '亿', billion: '十亿' }, avatar: { error: 'Avatar: 不允许设置 desc 但不定义 name' }, calendar: { year: '年', month: '月', sunday: '日', monday: '一', tuesday: '二', wednesday: '三', thursday: '四', friday: '五', saturday: '六' }, coupon: { ruleBtn: '规则详情' }, filter: { reset: '重置', confirm: '确定' }, footer: { endLine: '我是有底线的' }, guide: { nextBtn: '下一步', jumpBtn: '跳过', overBtn: '知道了' }, list: { loadMore: '加载更多...', loadOver: '-- 数据加载完了 --' }, notice: { detail: '查看详情' }, pageResult: { refresh: '重新刷新', networkTitle: '网络不给力', errorTitle: '页面遇到一些小问题', busyTitle: '请稍等哦,马上出来', emptyTitle: '什么都没有', logoffTitle: '此用户已注销', paymentTitle: '付款没成功', redpacketTitle: '什么都没有', networkBrief: '世界上最遥远的距离莫过于此', errorBrief: '请稍后刷新', busyBrief: '前面还有很多朋友在排队', emptyBrief: '前不见古人,后不见来者', logoffBrief: '', paymentBrief: '请重新付款', redpacketBrief: '红包已领空', timeOut: '秒后' }, searchBar: { cancel: '取消' }, verifyCode: { label: '验证码', placeholder: '请输入验证码', sendBtn: '发送验证码', sendAgainBtn: '重发验证码', countDown: '秒后重试' } }; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (I18n_zhCN); /***/ }), /* 9 */ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _zh_CN__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8); var I18n_enUS = { amountInput: { thousand: 'in thousand (K)' || 0, tenThousand: 'in ten thousand' || 0, hundredThousand: 'in a hundred thousand' || 0, million: 'in million (M)' || 0, tenMillion: 'in ten million' || 0, hundredMillion: 'in a hundred million' || 0, billion: 'in billion (B)' || 0 }, avatar: { error: 'Avatar: Define both the name and the desc.' || 0 }, calendar: { year: ' ' || 0, month: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'] || 0, sunday: 'SUN' || 0, monday: 'MON' || 0, tuesday: 'TUE' || 0, wednesday: 'WED' || 0, thursday: 'THUR' || 0, friday: 'FRI' || 0, saturday: 'SAT' || 0 }, coupon: { ruleBtn: 'More' || 0 }, filter: { reset: 'Clear' || 0, confirm: 'Apply' || 0 }, footer: { endLine: 'End' || 0 }, guide: { nextBtn: 'Next' || 0, jumpBtn: 'Skip' || 0, overBtn: 'OK' || 0 }, list: { loadMore: 'See more...' || 0, loadOver: '-- This is the end. --' || 0 }, notice: { detail: 'More' || 0 }, pageResult: { refresh: 'Refresh' || 0, networkTitle: 'We\'ve lost the Internet connection.' || 0, errorTitle: 'We\'re met some errors.' || 0, busyTitle: 'Hang on, we\'ll be back soon.' || 0, emptyTitle: 'No coupons anymore.' || 0, logoffTitle: 'The user has logged off.' || 0, paymentTitle: 'Your payment failed.' || 0, redpacketTitle: 'No coupons anymore.' || 0, networkBrief: 'We\'re working out best to get you back up and running. Just be patient.' || 0, errorBrief: 'Please refresh and try again later.' || 0, busyBrief: 'You\'re in a high traffic. Just be patient.' || 0, emptyBrief: 'Sorry. We tried out best.' || 0, logoffBrief: false || _zh_CN__WEBPACK_IMPORTED_MODULE_0__["default"].pageResult.logoffBrief, paymentBrief: 'Please try again.' || 0, redpacketBrief: 'Come to pick up the coupon earlier next time.' || 0, timeOut: 's to ' || 0 }, searchBar: { cancel: 'Cancel' || 0 }, verifyCode: { label: 'Ver. Code' || 0, placeholder: 'Verification Code' || 0, sendBtn: 'Send' || 0, sendAgainBtn: 'Resend Now' || 0, countDown: 's to Resend' || 0 } }; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (I18n_enUS); /***/ }) /******/ ]); /************************************************************************/ /******/ // The module cache /******/ var __webpack_module_cache__ = {}; /******/ /******/ // The require function /******/ function __webpack_require__(moduleId) { /******/ // Check if module is in cache /******/ var cachedModule = __webpack_module_cache__[moduleId]; /******/ if (cachedModule !== undefined) { /******/ return cachedModule.exports; /******/ } /******/ // Create a new module (and put it into the cache) /******/ var module = __webpack_module_cache__[moduleId] = { /******/ // no module.id needed /******/ // no module.loaded needed /******/ exports: {} /******/ }; /******/ /******/ // Execute the module function /******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__); /******/ /******/ // Return the exports of the module /******/ return module.exports; /******/ } /******/ /************************************************************************/ /******/ /* webpack/runtime/define property getters */ /******/ (() => { /******/ // define getter functions for harmony exports /******/ __webpack_require__.d = (exports, definition) => { /******/ for(var key in definition) { /******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { /******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); /******/ } /******/ } /******/ }; /******/ })(); /******/ /******/ /* webpack/runtime/hasOwnProperty shorthand */ /******/ (() => { /******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop)) /******/ })(); /******/ /******/ /* webpack/runtime/make namespace object */ /******/ (() => { /******/ // define __esModule on exports /******/ __webpack_require__.r = (exports) => { /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); /******/ } /******/ Object.defineProperty(exports, '__esModule', { value: true }); /******/ }; /******/ })(); /******/ /************************************************************************/ var __webpack_exports__ = {}; // This entry need to be wrapped in an IIFE because it need to be isolated against other modules in the chunk. (() => { __webpack_require__.r(__webpack_exports__); /* harmony import */ var _util_fmtEvent__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(1); /* harmony import */ var _util_getI18n__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(7); var i18n = (0,_util_getI18n__WEBPACK_IMPORTED_MODULE_1__["default"])().notice; var noop = function noop() {}; var canIUseTransitionEnd = my.canIUse('view.onTransitionEnd'); Component({ props: { className: '', mode: '', // closable,link action: '', // 文本按钮 actionLeft: '', // 文本按钮 show: true, // 是否显示 enableMarquee: false, // 是否开启marquee onClick: function onClick() {}, onClickLeft: function onClickLeft() {}, marqueeProps: { loop: false, leading: 500, trailing: 800, fps: 40 }, capsuleItem: [], showIcon: true, type: 'normal', // 通告栏类型: normal/error/active capsule: false, // 是否为胶囊型通告栏 transparent: false }, data: { animatedWidth: 0, overflowWidth: 0, duration: 0, marqueeStyle: '', canIUseTransitionEnd: canIUseTransitionEnd, showShadow: true, _i18nDetail: i18n.detail }, didMount: function didMount() { if (this.props.enableMarquee) { if (!canIUseTransitionEnd) { this._measureText(); this._startAnimation(); } else { this._measureText(this.startMarquee.bind(this)); } } if (this.props.type === 'active' && this.props.transparent) { this.setData({ showShadow: false }); } else { this.setData({ showShadow: true }); } }, didUpdate: function didUpdate() { if (this.props.type === 'active' && this.props.transparent && this.data.showShadow === true) { this.setData({ showShadow: false }); } else if (this.data.showShadow === false) { this.setData({ showShadow: true }); } // 这里更新处理的原因是防止notice内容在动画过程中发生改变。 if (!canIUseTransitionEnd) { this._measureText(); } if (this.props.enableMarquee && !this._marqueeTimer && !canIUseTransitionEnd) { this._measureText(); this._startAnimation(); } else { // 当通过脚本切换 show 的值时(true or false),导致跑马灯动画效果失效的 bug 处理 if (!this.props.show && this.data.marqueeStyle !== '') { this.setData({ marqueeStyle: '' }); } this._measureText(this.startMarquee.bind(this)); } }, didUnmount: function didUnmount() { if (this._marqueeTimer) { clearTimeout(this._marqueeTimer); this._marqueeTimer = null; } }, methods: { resetMarquee: function resetMarquee() { var marqueeStyle = 'transform: translateX(0px); transition: 0s all linear;'; this.setData({ marqueeStyle: marqueeStyle }); }, startMarquee: function startMarquee() { var _this$props$marqueePr = this.props.marqueeProps.leading, leading = _this$props$marqueePr === void 0 ? 500 : _this$props$marqueePr; var _this$data = this.data, duration = _this$data.duration, overflowWidth = _this$data.overflowWidth; var marqueeStyle = "transform: translateX(" + -overflowWidth + "px); transition: " + duration + "s all linear " + (typeof leading === 'number' ? leading / 1000 + "s" : '0s') + ";"; if (this.data.marqueeStyle !== marqueeStyle) { this.setData({ marqueeStyle: marqueeStyle }); } }, onTransitionEnd: function onTransitionEnd() { var _this = this; var _this$props$marqueePr2 = this.props.marqueeProps, _this$props$marqueePr3 = _this$props$marqueePr2.loop, loop = _this$props$marqueePr3 === void 0 ? false : _this$props$marqueePr3, _this$props$marqueePr4 = _this$props$marqueePr2.trailing, trailing = _this$props$marqueePr4 === void 0 ? 800 : _this$props$marqueePr4; if (loop) { setTimeout(function () { _this.resetMarquee(); _this._measureText(_this.startMarquee.bind(_this)); }, typeof trailing === 'number' ? trailing : 0); } }, _measureText: function _measureText(callback) { var _this2 = this; if (callback === void 0) { callback = noop; } var _this$props$marqueePr5 = this.props.marqueeProps.fps, fps = _this$props$marqueePr5 === void 0 ? 40 : _this$props$marqueePr5; // 计算文本所占据的宽度,计算需要滚动的宽度 setTimeout(function () { my.createSelectorQuery().select(".am-notice-marquee-" + _this2.$id).boundingClientRect().select(".am-notice-content-" + _this2.$id).boundingClientRect().exec(function (ret) { var overflowWidth = ret && ret[0] && ret[1] && ret[0].width - ret[1].width || 0; if (overflowWidth > 0) { _this2.setData({ overflowWidth: overflowWidth, duration: overflowWidth / fps }); callback(); } }); }, 0); }, _startAnimation: function _startAnimation() { var _this3 = this; if (this._marqueeTimer) { clearTimeout(this._marqueeTimer); } var _this$props$marqueePr6 = this.props.marqueeProps, _this$props$marqueePr7 = _this$props$marqueePr6.loop, loop = _this$props$marqueePr7 === void 0 ? false : _this$props$marqueePr7, _this$props$marqueePr8 = _this$props$marqueePr6.leading, leading = _this$props$marqueePr8 === void 0 ? 500 : _this$props$marqueePr8, _this$props$marqueePr9 = _this$props$marqueePr6.trailing, trailing = _this$props$marqueePr9 === void 0 ? 800 : _this$props$marqueePr9, _this$props$marqueePr10 = _this$props$marqueePr6.fps, fps = _this$props$marqueePr10 === void 0 ? 40 : _this$props$marqueePr10; var TIMEOUT = 1 / fps * 1000; var isLeading = this.data.animatedWidth === 0; var timeout = isLeading ? leading : TIMEOUT; var animate = function animate() { var overflowWidth = _this3.data.overflowWidth; var animatedWidth = _this3.data.animatedWidth + 1; var isRoundOver = animatedWidth > overflowWidth; if (isRoundOver) { if (loop) { animatedWidth = 0; } else { return; } } if (isRoundOver && trailing) { _this3._marqueeTimer = setTimeout(function () { _this3.setData({ animatedWidth: animatedWidth }); _this3._marqueeTimer = setTimeout(animate, TIMEOUT); }, trailing); } else { _this3.setData({ animatedWidth: animatedWidth }); _this3._marqueeTimer = setTimeout(animate, TIMEOUT); } }; if (this.data.overflowWidth !== 0) { this._marqueeTimer = setTimeout(animate, timeout); } }, onNoticeTap: function onNoticeTap(e) { var _this$props = this.props, capsule = _this$props.capsule, mode = _this$props.mode, action = _this$props.action, actionLeft = _this$props.actionLeft, onClick = _this$props.onClick; var event = (0,_util_fmtEvent__WEBPACK_IMPORTED_MODULE_0__["default"])(this.props, e); if (capsule && typeof onClick === 'function' || mode === 'link' && actionLeft === '' && action === '' && typeof onClick === 'function') { onClick(event); } }, onOperationTap: function onOperationTap(e) { var _this$props2 = this.props, mode = _this$props2.mode, action = _this$props2.action, onClick = _this$props2.onClick; var event = (0,_util_fmtEvent__WEBPACK_IMPORTED_MODULE_0__["default"])(this.props, e); if ((mode || action !== '') && typeof onClick === 'function') { onClick(event); } }, onActionLeftTap: function onActionLeftTap(e) { var _this$props3 = this.props, actionLeft = _this$props3.actionLeft, onClickLeft = _this$props3.onClickLeft; var event = (0,_util_fmtEvent__WEBPACK_IMPORTED_MODULE_0__["default"])(this.props, e); if (actionLeft !== '' && typeof onClickLeft === 'function') { onClickLeft(event); } } } }); })(); /******/ })() ;