From 577216828e625b69a64b9d3ba724261674e94706 Mon Sep 17 00:00:00 2001 From: fxy060608 Date: Fri, 1 Nov 2019 16:42:26 +0800 Subject: [PATCH] fix(v3): touches --- packages/uni-app-plus/dist/index.v3.js | 50 +- packages/uni-app-plus/dist/view.css | 9 + packages/uni-app-plus/dist/view.umd.js | 9140 +++++++++-------- src/core/view/plugins/events.js | 8 +- .../service/framework/plugins/vdom-sync.js | 48 +- 5 files changed, 4737 insertions(+), 4518 deletions(-) diff --git a/packages/uni-app-plus/dist/index.v3.js b/packages/uni-app-plus/dist/index.v3.js index dbf2032fd6..86186e4d54 100644 --- a/packages/uni-app-plus/dist/index.v3.js +++ b/packages/uni-app-plus/dist/index.v3.js @@ -9575,7 +9575,7 @@ var serviceContext = (function () { return } if (isLaunchWebview) { // 首页 - isLaunchWebviewReady = true; + // isLaunchWebviewReady = true setPreloadWebview(plus.webview.getLaunchWebview()); } else if (!preloadWebview) { // preloadWebview 不存在,重新加载一下 setPreloadWebview(plus.webview.getWebviewById(pageId)); @@ -9908,7 +9908,7 @@ var serviceContext = (function () { }; } - function wrapperEvent(event) { + function wrapperEvent (event) { event.preventDefault = noop; event.stopPropagation = noop; event.mp = event; @@ -9918,7 +9918,7 @@ var serviceContext = (function () { } const handleVdData = { - [UI_EVENT]: function onUIEvent(vdBatchEvent, vd) { + [UI_EVENT]: function onUIEvent (vdBatchEvent, vd) { vdBatchEvent.forEach(([cid, nid, event]) => { nid = String(nid); const target = vd.elements.find(target => target.cid === cid && target.nid === nid); @@ -9930,14 +9930,14 @@ var serviceContext = (function () { } }; - function onVdSync$1(vdBatchData, vd) { + function onVdSync$1 (vdBatchData, vd) { vdBatchData.forEach(([type, vdData]) => { handleVdData[type](vdData, vd); }); } class VDomSync { - constructor(pageId, pagePath, pageVm) { + constructor (pageId, pagePath, pageVm) { this.pageId = pageId; this.pagePath = pagePath; this.pageVm = pageVm; @@ -9952,47 +9952,47 @@ var serviceContext = (function () { this._init(); } - _init() { + _init () { registerVdSync(this.pageId, (vdBatchData) => { onVdSync$1(vdBatchData, this); }); } - addMountedVm(vm) { + addMountedVm (vm) { vm._$mounted(); // 触发vd数据同步 - this.addVdSyncCallback(function mounted() { + this.addVdSyncCallback(function mounted () { vm.__call_hook('mounted'); }); } - addUpdatedVm(vm) { + addUpdatedVm (vm) { vm._$updated(); // 触发vd数据同步 - this.addVdSyncCallback(function mounted() { + this.addVdSyncCallback(function mounted () { vm.__call_hook('updated'); }); } - addVdSyncCallback(callback) { + addVdSyncCallback (callback) { isFn(callback) && vdSyncCallbacks.push(callback); } - getVm(id) { + getVm (id) { return this.vms[id] } - addVm(vm) { + addVm (vm) { this.vms[vm._$id] = vm; } - removeVm(vm) { + removeVm (vm) { delete this.vms[vm._$id]; } - addElement(elm) { + addElement (elm) { this.elements.indexOf(elm) === -1 && this.elements.push(elm); } - removeElement(elm) { + removeElement (elm) { const elmIndex = this.elements.indexOf(elm); if (elmIndex === -1) { return console.error(`removeElement[${elm.cid}][${elm.nid}] not found`) @@ -10000,11 +10000,11 @@ var serviceContext = (function () { this.elements.splice(elmIndex, 1); } - push(type, cid, data) { + push (type, cid, data) { this.batchData.push([type, [cid, data]]); } - sendPageCreate(data) { + sendPageCreate (data) { this.pageCreateData = data; UniServiceJSBridge.publishHandler(VD_SYNC, { data: [ @@ -10016,7 +10016,7 @@ var serviceContext = (function () { }, [this.pageId]); } - flush() { + flush () { if (!this.initialized) { this.initialized = true; this.batchData.push([PAGE_CREATED, [this.pageId, this.pagePath]]); @@ -10032,26 +10032,26 @@ var serviceContext = (function () { } } - restorePageCreate() { + restorePageCreate () { this.batchData.push([PAGE_CREATE, this.pageCreateData]); } - restoreMountedData() { + restoreMountedData () { const addMountedData = (vm) => { if (vm._$id) { this.push(MOUNTED_DATA, vm._$id, vm._$data); } - // vue 中 $children 顺序不可靠,可能存在恢复误差 + // TODO vue 中 $children 顺序不可靠,可能存在恢复误差 vm.$children.forEach(childVm => addMountedData(childVm)); }; addMountedData(this.pageVm); } - restorePageCreated() { + restorePageCreated () { this.batchData.push([PAGE_CREATED, [this.pageId, this.pagePath]]); } - restore() { + restore () { this.initialized = true; this.batchData.length = 0; @@ -10062,7 +10062,7 @@ var serviceContext = (function () { this.flush(); } - destroy() { + destroy () { this.batchData.length = 0; this.vms = Object.create(null); this.initialized = false; diff --git a/packages/uni-app-plus/dist/view.css b/packages/uni-app-plus/dist/view.css index 6cb82d8b40..476a344bb5 100644 --- a/packages/uni-app-plus/dist/view.css +++ b/packages/uni-app-plus/dist/view.css @@ -1391,3 +1391,12 @@ uni-video[hidden] { pointer-events: none; } + +uni-web-view { + position: absolute; + left: 0; + right: 0; + top: 0; + bottom: 0; +} + diff --git a/packages/uni-app-plus/dist/view.umd.js b/packages/uni-app-plus/dist/view.umd.js index 0788762a84..7668f4398e 100644 --- a/packages/uni-app-plus/dist/view.umd.js +++ b/packages/uni-app-plus/dist/view.umd.js @@ -91,7 +91,7 @@ return /******/ (function(modules) { // webpackBootstrap /******/ /******/ /******/ // Load entry module and return exports -/******/ return __webpack_require__(__webpack_require__.s = 124); +/******/ return __webpack_require__(__webpack_require__.s = 130); /******/ }) /************************************************************************/ /******/ ([ @@ -276,13 +276,13 @@ function broadcast(componentName, eventName) { } }); // EXTERNAL MODULE: ./src/core/view/mixins/listeners.js -var listeners = __webpack_require__(54); +var listeners = __webpack_require__(56); // EXTERNAL MODULE: ./src/core/view/mixins/hover.js var hover = __webpack_require__(14); // EXTERNAL MODULE: ./src/core/view/mixins/subscriber.js -var subscriber = __webpack_require__(55); +var subscriber = __webpack_require__(57); // CONCATENATED MODULE: ./src/core/view/mixins/index.js /* concated harmony reexport emitter */__webpack_require__.d(__webpack_exports__, "a", function() { return emitter; }); @@ -545,6 +545,7 @@ function stringifyQuery(obj) { /* unused harmony export WEBVIEW_UI_EVENT */ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "i", function() { return VD_SYNC_CALLBACK; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return INVOKE_API; }); +/* unused harmony export WEB_INVOKE_APPSERVICE */ var PAGE_CREATE = 2; var MOUNTED_DATA = 4; var UPDATED_DATA = 6; @@ -557,6 +558,7 @@ var WEBVIEW_READY = 'webviewReady'; var WEBVIEW_UI_EVENT = 'webviewUIEvent'; var VD_SYNC_CALLBACK = 'vdSyncCallback'; var INVOKE_API = 'invokeApi'; +var WEB_INVOKE_APPSERVICE = 'WEB_INVOKE_APPSERVICE'; /***/ }), /* 4 */ @@ -569,10 +571,10 @@ __webpack_require__.r(__webpack_exports__); var view_runtime_esm = __webpack_require__(5); // EXTERNAL MODULE: ./src/core/view/bridge/subscribe/api/request-component-info.js -var request_component_info = __webpack_require__(58); +var request_component_info = __webpack_require__(60); // EXTERNAL MODULE: ./src/core/view/bridge/subscribe/api/request-component-observer.js -var request_component_observer = __webpack_require__(51); +var request_component_observer = __webpack_require__(53); // CONCATENATED MODULE: ./src/core/view/bridge/subscribe/api/index.js @@ -586,7 +588,7 @@ var request_component_observer = __webpack_require__(51); var subscribe_scroll = __webpack_require__(12); // EXTERNAL MODULE: ./src/platforms/app-plus/view/bridge/subscribe/index.js -var bridge_subscribe = __webpack_require__(59); +var bridge_subscribe = __webpack_require__(61); // CONCATENATED MODULE: ./src/core/view/bridge/subscribe/index.js @@ -9100,7 +9102,7 @@ if (inBrowser) { /* harmony default export */ __webpack_exports__["a"] = (Vue); -/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(50))) +/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(52))) /***/ }), /* 6 */ @@ -9654,11 +9656,9 @@ function touchstart(evt) { return; } - var _evt$touches = _slicedToArray(evt.touches, 1), - _evt$touches$ = _evt$touches[0], + var _evt$touches$ = evt.touches[0], pageX = _evt$touches$.pageX, pageY = _evt$touches$.pageY; - startPageX = pageX; startPageY = pageY; longPressTimer = setTimeout(function () { @@ -9683,10 +9683,10 @@ function touchmove(evt) { return clearLongPressTimer(); } - var _evt$touches2 = _slicedToArray(evt.touches, 1), - _evt$touches2$ = _evt$touches2[0], - pageX = _evt$touches2$.pageX, - pageY = _evt$touches2$.pageY; + var _evt$touches = _slicedToArray(evt.touches, 1), + _evt$touches$2 = _evt$touches[0], + pageX = _evt$touches$2.pageX, + pageY = _evt$touches$2.pageY; if (Math.abs(pageX - startPageX) > LONGPRESS_THRESHOLD || Math.abs(pageY - startPageY) > LONGPRESS_THRESHOLD) { return clearLongPressTimer(); @@ -9881,10 +9881,10 @@ function createScrollListener(pageId, _ref2) { /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return initData; }); /* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(5); /* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(3); -/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(43); -/* harmony import */ var _vdom_sync__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(62); -/* harmony import */ var _page__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(45); -/* harmony import */ var _page_factory__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(44); +/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(45); +/* harmony import */ var _vdom_sync__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(64); +/* harmony import */ var _page__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(47); +/* harmony import */ var _page_factory__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(46); var _handleData; function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } @@ -10111,7 +10111,7 @@ function initData(Vue) { "use strict"; /* WEBPACK VAR INJECTION */(function(UniViewJSBridge) {/* harmony import */ var uni_mixins__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(1); -/* harmony import */ var uni_helpers_hidpi__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(49); +/* harmony import */ var uni_helpers_hidpi__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(51); function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); } function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); } @@ -10891,6 +10891,22 @@ function processTouches(target, touches) { /***/ }), /* 42 */ +/***/ (function(module, exports, __webpack_require__) { + +// extracted by mini-css-extract-plugin + if(false) { var cssReload; } + + +/***/ }), +/* 43 */ +/***/ (function(module, exports, __webpack_require__) { + +// extracted by mini-css-extract-plugin + if(false) { var cssReload; } + + +/***/ }), +/* 44 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -10933,7 +10949,7 @@ function findElm(component, pageVm) { } /***/ }), -/* 43 */ +/* 45 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -10941,7 +10957,7 @@ function findElm(component, pageVm) { var ON_PAGE_CREATE = 'onPageCreate'; /***/ }), -/* 44 */ +/* 46 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -10979,7 +10995,7 @@ function createPage(pagePath, pageId, pageQuery, pageInstance) { } /***/ }), -/* 45 */ +/* 47 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -11000,7 +11016,7 @@ function setCurrentPage(pageId, pagePath) { } /***/ }), -/* 46 */ +/* 48 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -11074,7 +11090,7 @@ Friction.prototype.configuration = function () { }; /***/ }), -/* 47 */ +/* 49 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -11307,16 +11323,16 @@ Spring.prototype.configuration = function () { }; /***/ }), -/* 48 */ +/* 50 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; // EXTERNAL MODULE: ./src/core/view/mixins/scroller/Friction.js -var Friction = __webpack_require__(46); +var Friction = __webpack_require__(48); // EXTERNAL MODULE: ./src/core/view/mixins/scroller/Spring.js -var Spring = __webpack_require__(47); +var Spring = __webpack_require__(49); // CONCATENATED MODULE: ./src/core/view/mixins/scroller/Scroll.js @@ -11859,7 +11875,7 @@ Scroller.prototype.isScrolling = function () { }); /***/ }), -/* 49 */ +/* 51 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -12024,7 +12040,7 @@ function wrapper(canvas) { } /***/ }), -/* 50 */ +/* 52 */ /***/ (function(module, exports) { var g; @@ -12050,16 +12066,16 @@ module.exports = g; /***/ }), -/* 51 */ +/* 53 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; /* WEBPACK VAR INJECTION */(function(UniViewJSBridge) {/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return requestComponentObserver; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return destroyComponentObserver; }); -/* harmony import */ var intersection_observer__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(66); +/* harmony import */ var intersection_observer__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(68); /* harmony import */ var intersection_observer__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(intersection_observer__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var uni_helpers_index__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(7); -/* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(42); +/* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(44); @@ -12138,23 +12154,23 @@ function destroyComponentObserver(_ref2) { /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(4))) /***/ }), -/* 52 */ +/* 54 */ /***/ (function(module, exports) { module.exports = ['uni-app', 'uni-tabbar', 'uni-page', 'uni-page-head', 'uni-page-wrapper', 'uni-page-body', 'uni-page-refresh', 'uni-actionsheet', 'uni-modal', 'uni-toast', 'uni-resize-sensor', 'uni-ad', 'uni-audio', 'uni-button', 'uni-camera', 'uni-canvas', 'uni-checkbox', 'uni-checkbox-group', 'uni-cover-image', 'uni-cover-view', 'uni-form', 'uni-functional-page-navigator', 'uni-icon', 'uni-image', 'uni-input', 'uni-label', 'uni-live-player', 'uni-live-pusher', 'uni-map', 'uni-movable-area', 'uni-movable-view', 'uni-navigator', 'uni-official-account', 'uni-open-data', 'uni-picker', 'uni-picker-view', 'uni-picker-view-column', 'uni-progress', 'uni-radio', 'uni-radio-group', 'uni-rich-text', 'uni-scroll-view', 'uni-slider', 'uni-swiper', 'uni-swiper-item', 'uni-switch', 'uni-text', 'uni-textarea', 'uni-video', 'uni-view', 'uni-web-view']; /***/ }), -/* 53 */ +/* 55 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; /* WEBPACK VAR INJECTION */(function(UniViewJSBridge, global) {/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(5); -/* harmony import */ var uni_platform_view_index_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(67); +/* harmony import */ var uni_platform_view_index_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(69); /* harmony import */ var uni_platform_view_index_css__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(uni_platform_view_index_css__WEBPACK_IMPORTED_MODULE_1__); -/* harmony import */ var uni_platform_page_factory__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(44); -/* harmony import */ var uni_platform_view_framework_page__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(45); -/* harmony import */ var uni_platform_view_framework_plugins_index__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(63); -/* harmony import */ var _view_api_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(57); +/* harmony import */ var uni_platform_page_factory__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(46); +/* harmony import */ var uni_platform_view_framework_page__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(47); +/* harmony import */ var uni_platform_view_framework_plugins_index__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(65); +/* harmony import */ var _view_api_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(59); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _view_api_js__WEBPACK_IMPORTED_MODULE_5__["a"]; }); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "b", function() { return _view_api_js__WEBPACK_IMPORTED_MODULE_5__["b"]; }); @@ -12185,13 +12201,13 @@ global.__definePage = uni_platform_page_factory__WEBPACK_IMPORTED_MODULE_2__[/* global.Vue = vue__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"]; vue__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"].use(uni_platform_view_framework_plugins_index__WEBPACK_IMPORTED_MODULE_4__[/* default */ "a"]); -__webpack_require__(106); +__webpack_require__(110); -/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(4), __webpack_require__(50))) +/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(4), __webpack_require__(52))) /***/ }), -/* 54 */ +/* 56 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -12305,7 +12321,7 @@ __webpack_require__(106); /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(4))) /***/ }), -/* 55 */ +/* 57 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -12355,7 +12371,7 @@ __webpack_require__(106); /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(4))) /***/ }), -/* 56 */ +/* 58 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -12398,7 +12414,7 @@ function switchTab(args) { /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(4))) /***/ }), -/* 57 */ +/* 59 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -12451,7 +12467,7 @@ function upx2px(number, newDeviceWidth) { return number < 0 ? -result : result; } // EXTERNAL MODULE: ./src/platforms/app-plus/view/api/index.js -var api = __webpack_require__(56); +var api = __webpack_require__(58); // EXTERNAL MODULE: ./src/platforms/app-plus/helpers/get-window-offset.js var get_window_offset = __webpack_require__(9); @@ -12606,14 +12622,14 @@ function canIUse(schema) { } /***/ }), -/* 58 */ +/* 60 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; /* WEBPACK VAR INJECTION */(function(UniViewJSBridge) {/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return requestComponentInfo; }); /* harmony import */ var uni_helpers_index__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7); /* harmony import */ var uni_platform_helpers_get_window_offset__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(9); -/* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(42); +/* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(44); @@ -12766,14 +12782,14 @@ function requestComponentInfo(_ref, pageId) { /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(4))) /***/ }), -/* 59 */ +/* 61 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; /* WEBPACK VAR INJECTION */(function(UniViewJSBridge) {/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return initSubscribe; }); /* harmony import */ var uni_shared__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2); /* harmony import */ var uni_core_view_bridge_subscribe_scroll__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(12); -/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(43); +/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(45); /* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(3); @@ -12815,14 +12831,14 @@ function initSubscribe(subscribe) { /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(4))) /***/ }), -/* 60 */ +/* 62 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; /* WEBPACK VAR INJECTION */(function(UniViewJSBridge) {/* harmony import */ var uni_helpers_index__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7); /* harmony import */ var _events__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(10); -/* harmony import */ var _behaviors__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(64); -/* harmony import */ var _wxs_component_descriptor__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(61); +/* harmony import */ var _behaviors__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(66); +/* harmony import */ var _wxs_component_descriptor__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(63); @@ -12915,7 +12931,7 @@ function pageMounted() { /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(4))) /***/ }), -/* 61 */ +/* 63 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -13130,10 +13146,10 @@ function createComponentDescriptor(vm) { return vm.$el.__wxsComponentDescriptor; } } -/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(50))) +/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(52))) /***/ }), -/* 62 */ +/* 64 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -13238,13 +13254,13 @@ function () { /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(4))) /***/ }), -/* 63 */ +/* 65 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; // EXTERNAL MODULE: ./src/core/helpers/tags.js -var tags = __webpack_require__(52); +var tags = __webpack_require__(54); var tags_default = /*#__PURE__*/__webpack_require__.n(tags); // CONCATENATED MODULE: ./src/core/vue.js @@ -13271,7 +13287,7 @@ function initVue(Vue) { }; } // EXTERNAL MODULE: ./src/core/view/plugins/index.js -var plugins = __webpack_require__(60); +var plugins = __webpack_require__(62); // EXTERNAL MODULE: ./src/platforms/app-plus/view/framework/plugins/data.js var data = __webpack_require__(13); @@ -13324,6 +13340,7 @@ function initEvent(Vue) { /* harmony default export */ var framework_plugins = __webpack_exports__["a"] = ({ install: function install(Vue, options) { if (true) { + Vue.config.productionTip = false; Vue.config.performance = true; } @@ -13335,7 +13352,7 @@ function initEvent(Vue) { }); /***/ }), -/* 64 */ +/* 66 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -13454,7 +13471,7 @@ function initBehaviors(options, vm) { } /***/ }), -/* 65 */ +/* 67 */ /***/ (function(module, exports) { // document.currentScript polyfill by Adam Miller @@ -13496,7 +13513,7 @@ function initBehaviors(options, vm) { /***/ }), -/* 66 */ +/* 68 */ /***/ (function(module, exports) { /** @@ -14243,7 +14260,7 @@ window.IntersectionObserverEntry = IntersectionObserverEntry; /***/ }), -/* 67 */ +/* 69 */ /***/ (function(module, exports, __webpack_require__) { // extracted by mini-css-extract-plugin @@ -14251,37 +14268,37 @@ window.IntersectionObserverEntry = IntersectionObserverEntry; /***/ }), -/* 68 */ +/* 70 */ /***/ (function(module, exports, __webpack_require__) { var map = { - "./button/index.vue": 123, - "./canvas/index.vue": 115, - "./checkbox-group/index.vue": 109, - "./checkbox/index.vue": 112, - "./form/index.vue": 107, - "./icon/index.vue": 99, - "./image/index.vue": 100, - "./input/index.vue": 114, - "./label/index.vue": 116, - "./movable-area/index.vue": 121, - "./movable-view/index.vue": 97, - "./navigator/index.vue": 113, - "./picker-view-column/index.vue": 120, - "./picker-view/index.vue": 118, - "./progress/index.vue": 111, - "./radio-group/index.vue": 110, - "./radio/index.vue": 108, - "./resize-sensor/index.vue": 122, - "./rich-text/index.vue": 95, - "./scroll-view/index.vue": 101, - "./slider/index.vue": 98, - "./swiper-item/index.vue": 105, - "./swiper/index.vue": 117, - "./switch/index.vue": 104, - "./text/index.vue": 119, - "./textarea/index.vue": 103, - "./view/index.vue": 102 + "./button/index.vue": 125, + "./canvas/index.vue": 122, + "./checkbox-group/index.vue": 106, + "./checkbox/index.vue": 107, + "./form/index.vue": 109, + "./icon/index.vue": 103, + "./image/index.vue": 112, + "./input/index.vue": 105, + "./label/index.vue": 121, + "./movable-area/index.vue": 129, + "./movable-view/index.vue": 102, + "./navigator/index.vue": 116, + "./picker-view-column/index.vue": 126, + "./picker-view/index.vue": 128, + "./progress/index.vue": 113, + "./radio-group/index.vue": 120, + "./radio/index.vue": 114, + "./resize-sensor/index.vue": 124, + "./rich-text/index.vue": 99, + "./scroll-view/index.vue": 119, + "./slider/index.vue": 118, + "./swiper-item/index.vue": 117, + "./swiper/index.vue": 123, + "./switch/index.vue": 115, + "./text/index.vue": 127, + "./textarea/index.vue": 108, + "./view/index.vue": 111 }; @@ -14303,10 +14320,10 @@ webpackContext.keys = function webpackContextKeys() { }; webpackContext.resolve = webpackContextResolve; module.exports = webpackContext; -webpackContext.id = 68; +webpackContext.id = 70; /***/ }), -/* 69 */ +/* 71 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -14316,7 +14333,7 @@ webpackContext.id = 68; /* unused harmony default export */ var _unused_webpack_default_export = (_node_modules_vue_cli_service_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_vue_cli_service_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_cli_service_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_vue_cli_service_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_cli_service_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0___default.a); /***/ }), -/* 70 */ +/* 72 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -14326,7 +14343,7 @@ webpackContext.id = 68; /* unused harmony default export */ var _unused_webpack_default_export = (_node_modules_vue_cli_service_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_vue_cli_service_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_cli_service_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_vue_cli_service_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_cli_service_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0___default.a); /***/ }), -/* 71 */ +/* 73 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -14336,7 +14353,7 @@ webpackContext.id = 68; /* unused harmony default export */ var _unused_webpack_default_export = (_node_modules_vue_cli_service_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_vue_cli_service_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_cli_service_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_vue_cli_service_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_cli_service_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0___default.a); /***/ }), -/* 72 */ +/* 74 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -14346,7 +14363,7 @@ webpackContext.id = 68; /* unused harmony default export */ var _unused_webpack_default_export = (_node_modules_vue_cli_service_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_vue_cli_service_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_cli_service_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_vue_cli_service_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_cli_service_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0___default.a); /***/ }), -/* 73 */ +/* 75 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -14356,7 +14373,7 @@ webpackContext.id = 68; /* unused harmony default export */ var _unused_webpack_default_export = (_node_modules_vue_cli_service_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_vue_cli_service_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_cli_service_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_vue_cli_service_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_cli_service_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0___default.a); /***/ }), -/* 74 */ +/* 76 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -14366,7 +14383,7 @@ webpackContext.id = 68; /* unused harmony default export */ var _unused_webpack_default_export = (_node_modules_vue_cli_service_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_vue_cli_service_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_cli_service_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_vue_cli_service_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_cli_service_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0___default.a); /***/ }), -/* 75 */ +/* 77 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -14376,7 +14393,7 @@ webpackContext.id = 68; /* unused harmony default export */ var _unused_webpack_default_export = (_node_modules_vue_cli_service_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_vue_cli_service_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_cli_service_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_vue_cli_service_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_cli_service_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0___default.a); /***/ }), -/* 76 */ +/* 78 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -14386,7 +14403,7 @@ webpackContext.id = 68; /* unused harmony default export */ var _unused_webpack_default_export = (_node_modules_vue_cli_service_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_vue_cli_service_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_cli_service_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_vue_cli_service_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_cli_service_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0___default.a); /***/ }), -/* 77 */ +/* 79 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -14396,7 +14413,7 @@ webpackContext.id = 68; /* unused harmony default export */ var _unused_webpack_default_export = (_node_modules_vue_cli_service_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_vue_cli_service_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_cli_service_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_vue_cli_service_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_cli_service_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0___default.a); /***/ }), -/* 78 */ +/* 80 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -14406,7 +14423,7 @@ webpackContext.id = 68; /* unused harmony default export */ var _unused_webpack_default_export = (_node_modules_vue_cli_service_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_vue_cli_service_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_cli_service_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_vue_cli_service_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_cli_service_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0___default.a); /***/ }), -/* 79 */ +/* 81 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -14416,7 +14433,7 @@ webpackContext.id = 68; /* unused harmony default export */ var _unused_webpack_default_export = (_node_modules_vue_cli_service_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_vue_cli_service_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_cli_service_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_vue_cli_service_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_cli_service_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0___default.a); /***/ }), -/* 80 */ +/* 82 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -14426,7 +14443,7 @@ webpackContext.id = 68; /* unused harmony default export */ var _unused_webpack_default_export = (_node_modules_vue_cli_service_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_vue_cli_service_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_cli_service_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_vue_cli_service_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_cli_service_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0___default.a); /***/ }), -/* 81 */ +/* 83 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -14436,7 +14453,7 @@ webpackContext.id = 68; /* unused harmony default export */ var _unused_webpack_default_export = (_node_modules_vue_cli_service_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_vue_cli_service_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_cli_service_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_vue_cli_service_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_cli_service_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0___default.a); /***/ }), -/* 82 */ +/* 84 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -14446,7 +14463,7 @@ webpackContext.id = 68; /* unused harmony default export */ var _unused_webpack_default_export = (_node_modules_vue_cli_service_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_vue_cli_service_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_cli_service_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_vue_cli_service_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_cli_service_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0___default.a); /***/ }), -/* 83 */ +/* 85 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -14456,7 +14473,7 @@ webpackContext.id = 68; /* unused harmony default export */ var _unused_webpack_default_export = (_node_modules_vue_cli_service_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_vue_cli_service_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_cli_service_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_vue_cli_service_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_cli_service_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0___default.a); /***/ }), -/* 84 */ +/* 86 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -14466,7 +14483,7 @@ webpackContext.id = 68; /* unused harmony default export */ var _unused_webpack_default_export = (_node_modules_vue_cli_service_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_vue_cli_service_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_cli_service_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_vue_cli_service_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_cli_service_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0___default.a); /***/ }), -/* 85 */ +/* 87 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -14476,7 +14493,7 @@ webpackContext.id = 68; /* unused harmony default export */ var _unused_webpack_default_export = (_node_modules_vue_cli_service_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_vue_cli_service_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_cli_service_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_vue_cli_service_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_cli_service_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0___default.a); /***/ }), -/* 86 */ +/* 88 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -14486,7 +14503,7 @@ webpackContext.id = 68; /* unused harmony default export */ var _unused_webpack_default_export = (_node_modules_vue_cli_service_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_vue_cli_service_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_cli_service_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_vue_cli_service_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_cli_service_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0___default.a); /***/ }), -/* 87 */ +/* 89 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -14496,7 +14513,7 @@ webpackContext.id = 68; /* unused harmony default export */ var _unused_webpack_default_export = (_node_modules_vue_cli_service_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_vue_cli_service_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_cli_service_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_vue_cli_service_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_cli_service_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0___default.a); /***/ }), -/* 88 */ +/* 90 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -14506,7 +14523,7 @@ webpackContext.id = 68; /* unused harmony default export */ var _unused_webpack_default_export = (_node_modules_vue_cli_service_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_vue_cli_service_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_cli_service_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_vue_cli_service_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_cli_service_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0___default.a); /***/ }), -/* 89 */ +/* 91 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -14516,7 +14533,7 @@ webpackContext.id = 68; /* unused harmony default export */ var _unused_webpack_default_export = (_node_modules_vue_cli_service_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_vue_cli_service_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_cli_service_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_vue_cli_service_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_cli_service_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0___default.a); /***/ }), -/* 90 */ +/* 92 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -14526,7 +14543,7 @@ webpackContext.id = 68; /* unused harmony default export */ var _unused_webpack_default_export = (_node_modules_vue_cli_service_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_vue_cli_service_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_cli_service_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_vue_cli_service_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_cli_service_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0___default.a); /***/ }), -/* 91 */ +/* 93 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -14536,7 +14553,7 @@ webpackContext.id = 68; /* unused harmony default export */ var _unused_webpack_default_export = (_node_modules_vue_cli_service_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_vue_cli_service_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_cli_service_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_vue_cli_service_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_cli_service_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0___default.a); /***/ }), -/* 92 */ +/* 94 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -14546,12 +14563,13 @@ webpackContext.id = 68; /* unused harmony default export */ var _unused_webpack_default_export = (_node_modules_vue_cli_service_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_vue_cli_service_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_cli_service_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_vue_cli_service_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_cli_service_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0___default.a); /***/ }), -/* 93 */ +/* 95 */ /***/ (function(module, exports, __webpack_require__) { var map = { - "./picker/index.vue": 96, - "./video/index.vue": 127 + "./picker/index.vue": 101, + "./video/index.vue": 100, + "./web-view/index.vue": 104 }; @@ -14573,10 +14591,10 @@ webpackContext.keys = function webpackContextKeys() { }; webpackContext.resolve = webpackContextResolve; module.exports = webpackContext; -webpackContext.id = 93; +webpackContext.id = 95; /***/ }), -/* 94 */ +/* 96 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -14586,7 +14604,27 @@ webpackContext.id = 93; /* unused harmony default export */ var _unused_webpack_default_export = (_node_modules_vue_cli_service_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_vue_cli_service_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_cli_service_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_vue_cli_service_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_cli_service_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0___default.a); /***/ }), -/* 95 */ +/* 97 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var _node_modules_vue_cli_service_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_vue_cli_service_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_cli_service_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_vue_cli_service_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_cli_service_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(42); +/* harmony import */ var _node_modules_vue_cli_service_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_vue_cli_service_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_cli_service_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_vue_cli_service_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_cli_service_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_vue_cli_service_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_vue_cli_service_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_cli_service_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_vue_cli_service_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_cli_service_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0__); +/* unused harmony reexport * */ + /* unused harmony default export */ var _unused_webpack_default_export = (_node_modules_vue_cli_service_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_vue_cli_service_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_cli_service_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_vue_cli_service_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_cli_service_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0___default.a); + +/***/ }), +/* 98 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var _node_modules_vue_cli_service_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_vue_cli_service_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_cli_service_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_vue_cli_service_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_cli_service_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(43); +/* harmony import */ var _node_modules_vue_cli_service_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_vue_cli_service_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_cli_service_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_vue_cli_service_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_cli_service_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_vue_cli_service_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_vue_cli_service_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_cli_service_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_vue_cli_service_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_cli_service_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0__); +/* unused harmony reexport * */ + /* unused harmony default export */ var _unused_webpack_default_export = (_node_modules_vue_cli_service_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_vue_cli_service_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_cli_service_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_vue_cli_service_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_cli_service_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0___default.a); + +/***/ }), +/* 99 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -15177,374 +15215,310 @@ component.options.__file = "src/core/view/components/rich-text/index.vue" /* harmony default export */ var rich_text = __webpack_exports__["default"] = (component.exports); /***/ }), -/* 96 */ +/* 100 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); -// CONCATENATED MODULE: ./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"26557f38-vue-loader-template"}!./node_modules/@vue/cli-service/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader/lib??vue-loader-options!./src/platforms/app-plus/view/components/picker/index.vue?vue&type=template&id=0268771e& +// CONCATENATED MODULE: ./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"26557f38-vue-loader-template"}!./node_modules/@vue/cli-service/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader/lib??vue-loader-options!./src/platforms/app-plus/view/components/video/index.vue?vue&type=template&id=0ba2468e& var render = function() { var _vm = this var _h = _vm.$createElement var _c = _vm._self._c || _h return _c( - "uni-picker", - { - on: { - click: function($event) { - $event.stopPropagation() - return _vm._show($event) - } - } - }, - [_vm._t("default")], - 2 + "uni-video", + _vm._g(_vm._b({}, "uni-video", _vm.attrs, false), _vm.$listeners), + [ + _c("div", { ref: "container", staticClass: "uni-video-container" }), + _c("div", { staticClass: "uni-video-slot" }, [_vm._t("default")], 2) + ] ) } var staticRenderFns = [] render._withStripped = true -// CONCATENATED MODULE: ./src/platforms/app-plus/view/components/picker/index.vue?vue&type=template&id=0268771e& +// CONCATENATED MODULE: ./src/platforms/app-plus/view/components/video/index.vue?vue&type=template&id=0ba2468e& // EXTERNAL MODULE: ./src/core/view/mixins/index.js + 1 modules var mixins = __webpack_require__(1); -// CONCATENATED MODULE: ./src/platforms/app-plus/view/components/picker/page.js -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } +// CONCATENATED MODULE: ./src/platforms/app-plus/view/mixins/native.js -function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } +/* harmony default export */ var mixins_native = ({ + name: 'Native', + mixins: [mixins["c" /* listeners */]], + data: function data() { + return { + style: { + top: '0px', + left: '0px', + width: '0px', + height: '0px', + position: 'static' + }, + hidden: false, + tags: [] + }; + }, + mounted: function mounted() { + var _this = this; -function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + this._updateStyle(); -function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + this.$nextTick(function () { + if (_this.tags.length) { + var view = _this.view = plus.nativeObj.View('view' + Date.now(), _this.style, _this.tags); + plus.webview.currentWebview().append(view); -function getPageType() { - return (typeof window === "undefined" ? "undefined" : _typeof(window)) === 'object' && (typeof navigator === "undefined" ? "undefined" : _typeof(navigator)) === 'object' && (typeof document === "undefined" ? "undefined" : _typeof(document)) === 'object' ? 'vue' : 'nvue'; -} + if (_this.hidden) { + view.hide(); + } + } + }); + }, + beforeDestroy: function beforeDestroy() { + this.view && this.view.close(); + delete this.view; + }, + listeners: { + '@view-update': '_requestUpdate' + }, + methods: { + insertTextView: function insertTextView() {}, + updateTextView: function updateTextView() {}, + removeTextView: function removeTextView() {}, + insertImageView: function insertImageView() {}, + updateImageView: function updateImageView() {}, + removeImageView: function removeImageView() {}, + _updateStyle: function _updateStyle() { + var _this2 = this; -var pageId; + var rect = this.$refs.container.getBoundingClientRect(); + this.hidden = false; + ['top', 'left', 'width', 'height'].forEach(function (key) { + var val = rect[key]; + val = key === 'top' ? val + (document.documentElement.scrollTop || document.body.scrollTop || 0) : val; -function getPageId() { - return pageId || (pageId = plus.webview.currentWebview().id); -} + if (!val && (key === 'width' || key === 'height')) { + _this2.hidden = true; + } -var initedEventListener = false; -var callbacks = {}; + _this2.style[key] = val + 'px'; + }); + }, + _requestUpdate: function _requestUpdate() { + var _this3 = this; -function addEventListener(pageId, callback) { - var type = getPageType(); + if (this._animationFrame) { + cancelAnimationFrame(this._animationFrame); + } - function onPlusMessage(res) { - var message = res.data.__message; + if (this._isMounted) { + this._animationFrame = requestAnimationFrame(function () { + delete _this3._animationFrame; - if (!message || !message.__page) { - return; + _this3._updateStyle(); + }); + } } + } +}); +// CONCATENATED MODULE: ./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader/lib??vue-loader-options!./src/platforms/app-plus/view/components/video/index.vue?vue&type=script&lang=js& +function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - var pageId = message.__page; - var callback = callbacks[pageId]; - callback && callback(message); +// +// +// +// +// +// +// +// +// +// +// +// - if (!message.keep) { - delete callbacks[pageId]; - } - } - if (!initedEventListener) { - if (type === 'nvue') { - var globalEvent = weex.requireModule('globalEvent'); - globalEvent.addEventListener('plusMessage', onPlusMessage); - } else { - window.__plusMessage = onPlusMessage; - } - - initedEventListener = true; - } - - callbacks[pageId] = callback; -} - -var Page = -/*#__PURE__*/ -function () { - function Page(webview) { - _classCallCheck(this, Page); - - this.webview = webview; - } - - _createClass(Page, [{ - key: "sendMessage", - value: function sendMessage(data) { - plus.webview.postMessageToUniNView({ - __message: { - data: data - } - }, this.webview.id); - } - }]); - - return Page; -}(); - -function showPage(_ref) { - var url = _ref.url, - _ref$data = _ref.data, - data = _ref$data === void 0 ? {} : _ref$data, - _ref$style = _ref.style, - style = _ref$style === void 0 ? {} : _ref$style, - onMessage = _ref.onMessage, - onClose = _ref.onClose; - var type = getPageType(); - var fromId = getPageId(); - var titleNView = { - autoBackButton: true, - titleSize: '17px' - }; - var pageId = "page".concat(Date.now()); - style = Object.assign({}, style); - - if (style.titleNView !== false && style.titleNView !== 'none') { - style.titleNView = Object.assign(titleNView, style.titleNView); - } - - var defaultStyle = { - top: 0, - bottom: 0, - usingComponents: {}, - popGesture: 'close', - scrollIndicator: 'none', - animationType: 'pop-in', - animationDuration: 200, - uniNView: { - path: "_www/".concat(url, ".js?from=").concat(fromId, "&type=").concat(type, "&data=").concat(encodeURIComponent(JSON.stringify(data))), - defaultFontSize: plus.screen.resolutionWidth / 20, - viewport: plus.screen.resolutionWidth - } - }; - style = Object.assign(defaultStyle, style); - var page = plus.webview.create('', pageId, style); - page.addEventListener('close', onClose); - addEventListener(pageId, function (message) { - if (typeof onMessage === 'function') { - onMessage(message.data); - } - - if (!message.keep) { - page.close('auto'); - } - }); - page.show(style.animationType, style.animationDuration); - return new Page(page); -} -// CONCATENATED MODULE: ./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader/lib??vue-loader-options!./src/platforms/app-plus/view/components/picker/index.vue?vue&type=script&lang=js& -// -// -// -// -// -// - - -var mode = { - SELECTOR: 'selector', - MULTISELECTOR: 'multiSelector', - TIME: 'time', - DATE: 'date' // 暂不支持城市选择 - // REGION: 'region' - -}; -var fields = { - YEAR: 'year', - MONTH: 'month', - DAY: 'day' -}; -/* harmony default export */ var pickervue_type_script_lang_js_ = ({ - name: 'Picker', - mixins: [mixins["a" /* emitter */]], +var methods = ['play', 'pause', 'seek', 'sendDanmu', 'playbackRate', 'requestFullScreen', 'exitFullScreen']; +var events = ['play', 'pause', 'ended', 'timeupdate', 'fullscreenchange', 'waiting', 'error']; +var _attrs = ['src', 'duration', 'controls', 'danmuList', 'danmuBtn', 'enableDanmu', 'autoplay', 'loop', 'muted', 'objectFit', 'poster', 'direction', 'showProgress', 'initialTime', 'showFullscreenBtn', 'pageGesture', 'enableProgressGesture', 'showPlayBtn', 'showCenterPlayBtn']; +/* harmony default export */ var videovue_type_script_lang_js_ = ({ + name: 'Video', + mixins: [mixins["d" /* subscriber */], mixins_native], props: { - name: { + id: { type: String, default: '' }, - range: { + src: { + type: String, + default: '' + }, + duration: { + type: [Number, String], + default: '' + }, + controls: { + type: [Boolean, String], + default: true + }, + danmuList: { type: Array, default: function _default() { return []; } }, - rangeKey: { - type: String, - default: '' + danmuBtn: { + type: [Boolean, String], + default: false }, - value: { - type: [Number, String, Array], - default: 0 + enableDanmu: { + type: [Boolean, String], + default: false }, - mode: { - type: String, - default: mode.SELECTOR, - validator: function validator(val) { - return Object.values(mode).indexOf(val) >= 0; - } + autoplay: { + type: [Boolean, String], + default: false }, - fields: { - type: String, - default: 'day', - validator: function validator(val) { - return Object.values(fields).indexOf(val) >= 0; - } + loop: { + type: [Boolean, String], + default: false }, - start: { + muted: { + type: [Boolean, String], + default: false + }, + objectFit: { type: String, - default: function _default() { - if (this.mode === mode.TIME) { - return '00:00'; - } - - if (this.mode === mode.DATE) { - var year = new Date().getFullYear() - 60; - - switch (this.fields) { - case fields.YEAR: - return year; - - case fields.MONTH: - return year + '-01'; - - case fields.DAY: - return year + '-01-01'; - } - } - - return ''; - } + default: 'contain' }, - end: { + poster: { type: String, - default: function _default() { - if (this.mode === mode.TIME) { - return '23:59'; - } - - if (this.mode === mode.DATE) { - var year = new Date().getFullYear() + 60; - - switch (this.fields) { - case fields.YEAR: - return year; - - case fields.MONTH: - return year + '-12'; - - case fields.DAY: - return year + '-12-31'; - } - } - - return ''; - } + default: '' }, - disabled: { + direction: { + type: [String, Number], + default: 360 + }, + showProgress: { + type: Boolean, + default: true + }, + initialTime: { + type: [String, Number], + default: 0 + }, + showFullscreenBtn: { + type: [Boolean, String], + default: true + }, + pageGesture: { type: [Boolean, String], default: false + }, + enableProgressGesture: { + type: [Boolean, String], + default: true + }, + showPlayBtn: { + type: [Boolean, String], + default: true + }, + showCenterPlayBtn: { + type: [Boolean, String], + default: true } }, - created: function created() { - var _this = this; + computed: { + attrs: function attrs() { + var _this = this; - this.$dispatch('Form', 'uni-form-group-update', { - type: 'add', - vm: this - }); - Object.keys(this.$props).forEach(function (key) { - if (key !== 'name') { - _this.$watch(key, function (val) { - _this._updatePicker({ - key: val - }); - }); - } - }); - }, - beforeDestroy: function beforeDestroy() { - this.$dispatch('Form', 'uni-form-group-update', { - type: 'remove', - vm: this - }); - }, - methods: { - _show: function _show() { - if (this.disabled) { - return; - } + var obj = {}; - this._showPicker(Object.assign({}, this.$props)); - }, - _showPicker: function _showPicker(data) { - var _this2 = this; + _attrs.forEach(function (key) { + var val = _this.$props[key]; + val = key === 'src' ? _this.$getRealPath(val) : val; + obj[key.replace(/[A-Z]/g, function (str) { + return '-' + str.toLowerCase(); + })] = val; + }); - if (this.page) { - return; - } + return obj; + } + }, + watch: { + hidden: function hidden(val) { + this.video && this.video[val ? 'hide' : 'show'](); + } + }, + mounted: function mounted() { + var _this2 = this; - var res = { - event: 'cancel' - }; - this.page = showPage({ - url: '__uniapppicker', - data: data, - style: { - titleNView: false, - animationType: 'none', - animationDuration: 0, - background: 'rgba(0,0,0,0)', - popGesture: 'none' - }, - onMessage: function onMessage(message) { - var event = message.event; + var video = this.video = plus.video.createVideoPlayer('video' + Date.now(), Object.assign({}, this.attrs, this.style)); + plus.webview.currentWebview().append(video); - if (event === 'created') { - _this2._updatePicker(data); + if (this.hidden) { + video.hide(); + } - return; - } + this.$watch('attrs', function () { + _this2.video && _this2.video.setStyles(_this2.attrs); + }, { + deep: true + }); + this.$watch('style', function () { + _this2.video && _this2.video.setStyles(_this2.style); + }, { + deep: true + }); + events.forEach(function (key) { + video.addEventListener(key, function () { + var data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; - if (event === 'columnchange') { - delete message.event; + _this2.$trigger(key, {}, data); + }); + }); + }, + beforeDestroy: function beforeDestroy() { + this.video && this.video.close(); + delete this.video; + }, + methods: { + _handleSubscribe: function _handleSubscribe(_ref) { + var type = _ref.type, + _ref$data = _ref.data, + data = _ref$data === void 0 ? {} : _ref$data; - _this2.$trigger(event, {}, message); + if (methods.includes(type)) { + if (_typeof(data) === 'object') { + switch (type) { + case 'seek': + data = data.position; + break; - return; + case 'playbackRate': + data = data.rate; + break; } - - res = message; - }, - onClose: function onClose() { - _this2.page = null; - var event = res.event; - delete res.event; - - _this2.$trigger(event, {}, res); } - }); - }, - _updatePicker: function _updatePicker(data) { - this.page && this.page.sendMessage(data); + + this.video && this.video[type](data); + } } } }); -// CONCATENATED MODULE: ./src/platforms/app-plus/view/components/picker/index.vue?vue&type=script&lang=js& - /* harmony default export */ var components_pickervue_type_script_lang_js_ = (pickervue_type_script_lang_js_); -// EXTERNAL MODULE: ./src/platforms/app-plus/view/components/picker/index.vue?vue&type=style&index=0&lang=css& -var pickervue_type_style_index_0_lang_css_ = __webpack_require__(94); +// CONCATENATED MODULE: ./src/platforms/app-plus/view/components/video/index.vue?vue&type=script&lang=js& + /* harmony default export */ var components_videovue_type_script_lang_js_ = (videovue_type_script_lang_js_); +// EXTERNAL MODULE: ./src/platforms/app-plus/view/components/video/index.vue?vue&type=style&index=0&lang=css& +var videovue_type_style_index_0_lang_css_ = __webpack_require__(97); // EXTERNAL MODULE: ./node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js var componentNormalizer = __webpack_require__(0); -// CONCATENATED MODULE: ./src/platforms/app-plus/view/components/picker/index.vue +// CONCATENATED MODULE: ./src/platforms/app-plus/view/components/video/index.vue @@ -15554,7 +15528,7 @@ var componentNormalizer = __webpack_require__(0); /* normalize component */ var component = Object(componentNormalizer["a" /* default */])( - components_pickervue_type_script_lang_js_, + components_videovue_type_script_lang_js_, render, staticRenderFns, false, @@ -15566,28 +15540,32 @@ var component = Object(componentNormalizer["a" /* default */])( /* hot reload */ if (false) { var api; } -component.options.__file = "src/platforms/app-plus/view/components/picker/index.vue" -/* harmony default export */ var picker = __webpack_exports__["default"] = (component.exports); +component.options.__file = "src/platforms/app-plus/view/components/video/index.vue" +/* harmony default export */ var video = __webpack_exports__["default"] = (component.exports); /***/ }), -/* 97 */ +/* 101 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); -// CONCATENATED MODULE: ./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"26557f38-vue-loader-template"}!./node_modules/@vue/cli-service/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader/lib??vue-loader-options!./src/core/view/components/movable-view/index.vue?vue&type=template&id=8de47606& +// CONCATENATED MODULE: ./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"26557f38-vue-loader-template"}!./node_modules/@vue/cli-service/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader/lib??vue-loader-options!./src/platforms/app-plus/view/components/picker/index.vue?vue&type=template&id=0268771e& var render = function() { var _vm = this var _h = _vm.$createElement var _c = _vm._self._c || _h return _c( - "uni-movable-view", - _vm._g({}, _vm.$listeners), - [ - _c("v-uni-resize-sensor", { on: { resize: _vm.setParent } }), - _vm._t("default") - ], + "uni-picker", + { + on: { + click: function($event) { + $event.stopPropagation() + return _vm._show($event) + } + } + }, + [_vm._t("default")], 2 ) } @@ -15595,932 +15573,1321 @@ var staticRenderFns = [] render._withStripped = true -// CONCATENATED MODULE: ./src/core/view/components/movable-view/index.vue?vue&type=template&id=8de47606& +// CONCATENATED MODULE: ./src/platforms/app-plus/view/components/picker/index.vue?vue&type=template&id=0268771e& -// EXTERNAL MODULE: ./src/core/view/mixins/touchtrack.js -var touchtrack = __webpack_require__(8); +// EXTERNAL MODULE: ./src/core/view/mixins/index.js + 1 modules +var mixins = __webpack_require__(1); -// CONCATENATED MODULE: ./src/core/view/components/movable-view/utils.js -function e(e, t, n) { - return e > t - n && e < t + n; -} +// CONCATENATED MODULE: ./src/platforms/app-plus/view/components/picker/page.js +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } -function t(t, n) { - return e(t, 0, n); -} +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } -function Decline() {} +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } -Decline.prototype.x = function (e) { - return Math.sqrt(e); -}; +function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } -function Friction(e, t) { - this._m = e; - this._f = 1e3 * t; - this._startTime = 0; - this._v = 0; +function getPageType() { + return (typeof window === "undefined" ? "undefined" : _typeof(window)) === 'object' && (typeof navigator === "undefined" ? "undefined" : _typeof(navigator)) === 'object' && (typeof document === "undefined" ? "undefined" : _typeof(document)) === 'object' ? 'vue' : 'nvue'; } -Friction.prototype.setV = function (x, y) { - var n = Math.pow(Math.pow(x, 2) + Math.pow(y, 2), 0.5); - this._x_v = x; - this._y_v = y; - this._x_a = -this._f * this._x_v / n; - this._y_a = -this._f * this._y_v / n; - this._t = Math.abs(x / this._x_a) || Math.abs(y / this._y_a); - this._lastDt = null; - this._startTime = new Date().getTime(); -}; +var pageId; -Friction.prototype.setS = function (x, y) { - this._x_s = x; - this._y_s = y; -}; +function getPageId() { + return pageId || (pageId = plus.webview.currentWebview().id); +} -Friction.prototype.s = function (t) { - if (undefined === t) { - t = (new Date().getTime() - this._startTime) / 1e3; - } +var initedEventListener = false; +var callbacks = {}; - if (t > this._t) { - t = this._t; - this._lastDt = t; - } +function addEventListener(pageId, callback) { + var type = getPageType(); - var x = this._x_v * t + 0.5 * this._x_a * Math.pow(t, 2) + this._x_s; + function onPlusMessage(res) { + var message = res.data.__message; - var y = this._y_v * t + 0.5 * this._y_a * Math.pow(t, 2) + this._y_s; + if (!message || !message.__page) { + return; + } - if (this._x_a > 0 && x < this._endPositionX || this._x_a < 0 && x > this._endPositionX) { - x = this._endPositionX; - } + var pageId = message.__page; + var callback = callbacks[pageId]; + callback && callback(message); - if (this._y_a > 0 && y < this._endPositionY || this._y_a < 0 && y > this._endPositionY) { - y = this._endPositionY; + if (!message.keep) { + delete callbacks[pageId]; + } } - return { - x: x, - y: y - }; -}; + if (!initedEventListener) { + if (type === 'nvue') { + var globalEvent = weex.requireModule('globalEvent'); + globalEvent.addEventListener('plusMessage', onPlusMessage); + } else { + window.__plusMessage = onPlusMessage; + } -Friction.prototype.ds = function (t) { - if (undefined === t) { - t = (new Date().getTime() - this._startTime) / 1e3; + initedEventListener = true; } - if (t > this._t) { - t = this._t; - } + callbacks[pageId] = callback; +} - return { - dx: this._x_v + this._x_a * t, - dy: this._y_v + this._y_a * t - }; -}; +var Page = +/*#__PURE__*/ +function () { + function Page(webview) { + _classCallCheck(this, Page); -Friction.prototype.delta = function () { - return { - x: -1.5 * Math.pow(this._x_v, 2) / this._x_a || 0, - y: -1.5 * Math.pow(this._y_v, 2) / this._y_a || 0 - }; -}; + this.webview = webview; + } -Friction.prototype.dt = function () { - return -this._x_v / this._x_a; -}; + _createClass(Page, [{ + key: "sendMessage", + value: function sendMessage(data) { + plus.webview.postMessageToUniNView({ + __message: { + data: data + } + }, this.webview.id); + } + }]); -Friction.prototype.done = function () { - var t = e(this.s().x, this._endPositionX) || e(this.s().y, this._endPositionY) || this._lastDt === this._t; + return Page; +}(); - this._lastDt = null; - return t; -}; +function showPage(_ref) { + var url = _ref.url, + _ref$data = _ref.data, + data = _ref$data === void 0 ? {} : _ref$data, + _ref$style = _ref.style, + style = _ref$style === void 0 ? {} : _ref$style, + onMessage = _ref.onMessage, + onClose = _ref.onClose; + var type = getPageType(); + var fromId = getPageId(); + var titleNView = { + autoBackButton: true, + titleSize: '17px' + }; + var pageId = "page".concat(Date.now()); + style = Object.assign({}, style); -Friction.prototype.setEnd = function (x, y) { - this._endPositionX = x; - this._endPositionY = y; -}; + if (style.titleNView !== false && style.titleNView !== 'none') { + style.titleNView = Object.assign(titleNView, style.titleNView); + } -Friction.prototype.reconfigure = function (m, f) { - this._m = m; - this._f = 1e3 * f; -}; + var defaultStyle = { + top: 0, + bottom: 0, + usingComponents: {}, + popGesture: 'close', + scrollIndicator: 'none', + animationType: 'pop-in', + animationDuration: 200, + uniNView: { + path: "_www/".concat(url, ".js?from=").concat(fromId, "&type=").concat(type, "&data=").concat(encodeURIComponent(JSON.stringify(data))), + defaultFontSize: plus.screen.resolutionWidth / 20, + viewport: plus.screen.resolutionWidth + } + }; + style = Object.assign(defaultStyle, style); + var page = plus.webview.create('', pageId, style); + page.addEventListener('close', onClose); + addEventListener(pageId, function (message) { + if (typeof onMessage === 'function') { + onMessage(message.data); + } -function Spring(m, k, c) { - this._m = m; - this._k = k; - this._c = c; - this._solution = null; - this._endPosition = 0; - this._startTime = 0; + if (!message.keep) { + page.close('auto'); + } + }); + page.show(style.animationType, style.animationDuration); + return new Page(page); } +// CONCATENATED MODULE: ./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader/lib??vue-loader-options!./src/platforms/app-plus/view/components/picker/index.vue?vue&type=script&lang=js& +// +// +// +// +// +// -Spring.prototype._solve = function (e, t) { - var n = this._c; - var i = this._m; - var r = this._k; - var o = n * n - 4 * i * r; - if (o === 0) { - var a = -n / (2 * i); - var s = e; - var l = t / (a * e); - return { - x: function x(e) { - return (s + l * e) * Math.pow(Math.E, a * e); - }, - dx: function dx(e) { - var t = Math.pow(Math.E, a * e); - return a * (s + l * e) * t + l * t; +var mode = { + SELECTOR: 'selector', + MULTISELECTOR: 'multiSelector', + TIME: 'time', + DATE: 'date' // 暂不支持城市选择 + // REGION: 'region' + +}; +var fields = { + YEAR: 'year', + MONTH: 'month', + DAY: 'day' +}; +/* harmony default export */ var pickervue_type_script_lang_js_ = ({ + name: 'Picker', + mixins: [mixins["a" /* emitter */]], + props: { + name: { + type: String, + default: '' + }, + range: { + type: Array, + default: function _default() { + return []; } - }; - } + }, + rangeKey: { + type: String, + default: '' + }, + value: { + type: [Number, String, Array], + default: 0 + }, + mode: { + type: String, + default: mode.SELECTOR, + validator: function validator(val) { + return Object.values(mode).indexOf(val) >= 0; + } + }, + fields: { + type: String, + default: 'day', + validator: function validator(val) { + return Object.values(fields).indexOf(val) >= 0; + } + }, + start: { + type: String, + default: function _default() { + if (this.mode === mode.TIME) { + return '00:00'; + } - if (o > 0) { - var c = (-n - Math.sqrt(o)) / (2 * i); - var u = (-n + Math.sqrt(o)) / (2 * i); - var d = (t - c * e) / (u - c); - var h = e - d; - return { - x: function x(e) { - var t; - var n; + if (this.mode === mode.DATE) { + var year = new Date().getFullYear() - 60; - if (e === this._t) { - t = this._powER1T; - n = this._powER2T; - } + switch (this.fields) { + case fields.YEAR: + return year; - this._t = e; + case fields.MONTH: + return year + '-01'; - if (!t) { - t = this._powER1T = Math.pow(Math.E, c * e); + case fields.DAY: + return year + '-01-01'; + } } - if (!n) { - n = this._powER2T = Math.pow(Math.E, u * e); + return ''; + } + }, + end: { + type: String, + default: function _default() { + if (this.mode === mode.TIME) { + return '23:59'; } - return h * t + d * n; - }, - dx: function dx(e) { - var t; - var n; - - if (e === this._t) { - t = this._powER1T; - n = this._powER2T; - } + if (this.mode === mode.DATE) { + var year = new Date().getFullYear() + 60; - this._t = e; + switch (this.fields) { + case fields.YEAR: + return year; - if (!t) { - t = this._powER1T = Math.pow(Math.E, c * e); - } + case fields.MONTH: + return year + '-12'; - if (!n) { - n = this._powER2T = Math.pow(Math.E, u * e); + case fields.DAY: + return year + '-12-31'; + } } - return h * c * t + d * u * n; + return ''; } - }; - } - - var p = Math.sqrt(4 * i * r - n * n) / (2 * i); - var f = -n / 2 * i; - var v = e; - var g = (t - f * e) / p; - return { - x: function x(e) { - return Math.pow(Math.E, f * e) * (v * Math.cos(p * e) + g * Math.sin(p * e)); }, - dx: function dx(e) { - var t = Math.pow(Math.E, f * e); - var n = Math.cos(p * e); - var i = Math.sin(p * e); - return t * (g * p * n - v * p * i) + f * t * (g * i + v * n); - } - }; -}; - -Spring.prototype.x = function (e) { - if (undefined === e) { - e = (new Date().getTime() - this._startTime) / 1e3; - } - - return this._solution ? this._endPosition + this._solution.x(e) : 0; -}; + disabled: { + type: [Boolean, String], + default: false + } + }, + created: function created() { + var _this = this; -Spring.prototype.dx = function (e) { - if (undefined === e) { - e = (new Date().getTime() - this._startTime) / 1e3; - } + this.$dispatch('Form', 'uni-form-group-update', { + type: 'add', + vm: this + }); + Object.keys(this.$props).forEach(function (key) { + if (key !== 'name') { + _this.$watch(key, function (val) { + _this._updatePicker({ + key: val + }); + }); + } + }); + }, + beforeDestroy: function beforeDestroy() { + this.$dispatch('Form', 'uni-form-group-update', { + type: 'remove', + vm: this + }); + }, + methods: { + _show: function _show() { + if (this.disabled) { + return; + } - return this._solution ? this._solution.dx(e) : 0; -}; + this._showPicker(Object.assign({}, this.$props)); + }, + _showPicker: function _showPicker(data) { + var _this2 = this; -Spring.prototype.setEnd = function (e, n, i) { - if (!i) { - i = new Date().getTime(); - } + if (this.page) { + return; + } - if (e !== this._endPosition || !t(n, 0.1)) { - n = n || 0; - var r = this._endPosition; + var res = { + event: 'cancel' + }; + this.page = showPage({ + url: '__uniapppicker', + data: data, + style: { + titleNView: false, + animationType: 'none', + animationDuration: 0, + background: 'rgba(0,0,0,0)', + popGesture: 'none' + }, + onMessage: function onMessage(message) { + var event = message.event; - if (this._solution) { - if (t(n, 0.1)) { - n = this._solution.dx((i - this._startTime) / 1e3); - } + if (event === 'created') { + _this2._updatePicker(data); - r = this._solution.x((i - this._startTime) / 1e3); + return; + } - if (t(n, 0.1)) { - n = 0; - } + if (event === 'columnchange') { + delete message.event; - if (t(r, 0.1)) { - r = 0; - } + _this2.$trigger(event, {}, message); - r += this._endPosition; - } + return; + } - if (!(this._solution && t(r - e, 0.1) && t(n, 0.1))) { - this._endPosition = e; - this._solution = this._solve(r - this._endPosition, n); - this._startTime = i; - } - } -}; + res = message; + }, + onClose: function onClose() { + _this2.page = null; + var event = res.event; + delete res.event; -Spring.prototype.snap = function (e) { - this._startTime = new Date().getTime(); - this._endPosition = e; - this._solution = { - x: function x() { - return 0; + _this2.$trigger(event, {}, res); + } + }); }, - dx: function dx() { - return 0; + _updatePicker: function _updatePicker(data) { + this.page && this.page.sendMessage(data); } - }; -}; - -Spring.prototype.done = function (n) { - if (!n) { - n = new Date().getTime(); } +}); +// CONCATENATED MODULE: ./src/platforms/app-plus/view/components/picker/index.vue?vue&type=script&lang=js& + /* harmony default export */ var components_pickervue_type_script_lang_js_ = (pickervue_type_script_lang_js_); +// EXTERNAL MODULE: ./src/platforms/app-plus/view/components/picker/index.vue?vue&type=style&index=0&lang=css& +var pickervue_type_style_index_0_lang_css_ = __webpack_require__(96); - return e(this.x(), this._endPosition, 0.1) && t(this.dx(), 0.1); -}; +// EXTERNAL MODULE: ./node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js +var componentNormalizer = __webpack_require__(0); -Spring.prototype.reconfigure = function (m, t, c) { - this._m = m; - this._k = t; - this._c = c; +// CONCATENATED MODULE: ./src/platforms/app-plus/view/components/picker/index.vue - if (!this.done()) { - this._solution = this._solve(this.x() - this._endPosition, this.dx()); - this._startTime = new Date().getTime(); - } -}; -Spring.prototype.springConstant = function () { - return this._k; -}; -Spring.prototype.damping = function () { - return this._c; -}; -Spring.prototype.configuration = function () { - function e(e, t) { - e.reconfigure(1, t, e.damping()); - } - function t(e, t) { - e.reconfigure(1, e.springConstant(), t); - } - return [{ - label: 'Spring Constant', - read: this.springConstant.bind(this), - write: e.bind(this, this), - min: 100, - max: 1e3 - }, { - label: 'Damping', - read: this.damping.bind(this), - write: t.bind(this, this), - min: 1, - max: 500 - }]; -}; +/* normalize component */ -function STD(e, t, n) { - this._springX = new Spring(e, t, n); - this._springY = new Spring(e, t, n); - this._springScale = new Spring(e, t, n); - this._startTime = 0; -} +var component = Object(componentNormalizer["a" /* default */])( + components_pickervue_type_script_lang_js_, + render, + staticRenderFns, + false, + null, + null, + null + +) -STD.prototype.setEnd = function (e, t, n, i) { - var r = new Date().getTime(); +/* hot reload */ +if (false) { var api; } +component.options.__file = "src/platforms/app-plus/view/components/picker/index.vue" +/* harmony default export */ var picker = __webpack_exports__["default"] = (component.exports); - this._springX.setEnd(e, i, r); +/***/ }), +/* 102 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { - this._springY.setEnd(t, i, r); +"use strict"; +__webpack_require__.r(__webpack_exports__); - this._springScale.setEnd(n, i, r); +// CONCATENATED MODULE: ./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"26557f38-vue-loader-template"}!./node_modules/@vue/cli-service/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader/lib??vue-loader-options!./src/core/view/components/movable-view/index.vue?vue&type=template&id=8de47606& +var render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "uni-movable-view", + _vm._g({}, _vm.$listeners), + [ + _c("v-uni-resize-sensor", { on: { resize: _vm.setParent } }), + _vm._t("default") + ], + 2 + ) +} +var staticRenderFns = [] +render._withStripped = true - this._startTime = r; -}; -STD.prototype.x = function () { - var e = (new Date().getTime() - this._startTime) / 1e3; - return { - x: this._springX.x(e), - y: this._springY.x(e), - scale: this._springScale.x(e) - }; -}; +// CONCATENATED MODULE: ./src/core/view/components/movable-view/index.vue?vue&type=template&id=8de47606& -STD.prototype.done = function () { - var e = new Date().getTime(); - return this._springX.done(e) && this._springY.done(e) && this._springScale.done(e); -}; +// EXTERNAL MODULE: ./src/core/view/mixins/touchtrack.js +var touchtrack = __webpack_require__(8); -STD.prototype.reconfigure = function (e, t, n) { - this._springX.reconfigure(e, t, n); +// CONCATENATED MODULE: ./src/core/view/components/movable-view/utils.js +function e(e, t, n) { + return e > t - n && e < t + n; +} - this._springY.reconfigure(e, t, n); +function t(t, n) { + return e(t, 0, n); +} - this._springScale.reconfigure(e, t, n); +function Decline() {} + +Decline.prototype.x = function (e) { + return Math.sqrt(e); }; -// CONCATENATED MODULE: ./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader/lib??vue-loader-options!./src/core/view/components/movable-view/index.vue?vue&type=script&lang=js& -// -// -// -// -// -// +function Friction(e, t) { + this._m = e; + this._f = 1e3 * t; + this._startTime = 0; + this._v = 0; +} -var requesting = false; +Friction.prototype.setV = function (x, y) { + var n = Math.pow(Math.pow(x, 2) + Math.pow(y, 2), 0.5); + this._x_v = x; + this._y_v = y; + this._x_a = -this._f * this._x_v / n; + this._y_a = -this._f * this._y_v / n; + this._t = Math.abs(x / this._x_a) || Math.abs(y / this._y_a); + this._lastDt = null; + this._startTime = new Date().getTime(); +}; -function _requestAnimationFrame(e) { - if (!requesting) { - requesting = true; - requestAnimationFrame(function () { - e(); - requesting = false; - }); +Friction.prototype.setS = function (x, y) { + this._x_s = x; + this._y_s = y; +}; + +Friction.prototype.s = function (t) { + if (undefined === t) { + t = (new Date().getTime() - this._startTime) / 1e3; } -} -function p(t, n) { - if (t === n) { - return 0; + if (t > this._t) { + t = this._t; + this._lastDt = t; } - var i = t.offsetLeft; - return t.offsetParent ? i += p(t.offsetParent, n) : 0; -} + var x = this._x_v * t + 0.5 * this._x_a * Math.pow(t, 2) + this._x_s; -function f(t, n) { - if (t === n) { - return 0; + var y = this._y_v * t + 0.5 * this._y_a * Math.pow(t, 2) + this._y_s; + + if (this._x_a > 0 && x < this._endPositionX || this._x_a < 0 && x > this._endPositionX) { + x = this._endPositionX; } - var i = t.offsetTop; - return t.offsetParent ? i += f(t.offsetParent, n) : 0; -} + if (this._y_a > 0 && y < this._endPositionY || this._y_a < 0 && y > this._endPositionY) { + y = this._endPositionY; + } -function v(a, b) { - return +((1000 * a - 1000 * b) / 1000).toFixed(1); -} + return { + x: x, + y: y + }; +}; -function g(e, t, n) { - var i = function i(e) { - if (e && e.id) { - cancelAnimationFrame(e.id); - } +Friction.prototype.ds = function (t) { + if (undefined === t) { + t = (new Date().getTime() - this._startTime) / 1e3; + } - if (e) { - e.cancelled = true; - } + if (t > this._t) { + t = this._t; + } + + return { + dx: this._x_v + this._x_a * t, + dy: this._y_v + this._y_a * t }; +}; - var r = { - id: 0, - cancelled: false +Friction.prototype.delta = function () { + return { + x: -1.5 * Math.pow(this._x_v, 2) / this._x_a || 0, + y: -1.5 * Math.pow(this._y_v, 2) / this._y_a || 0 }; +}; - function fn(n, i, r, o) { - if (!n || !n.cancelled) { - r(i); - var a = e.done(); +Friction.prototype.dt = function () { + return -this._x_v / this._x_a; +}; - if (!a) { - if (!n.cancelled) { - n.id = requestAnimationFrame(fn.bind(null, n, i, r, o)); - } +Friction.prototype.done = function () { + var t = e(this.s().x, this._endPositionX) || e(this.s().y, this._endPositionY) || this._lastDt === this._t; + + this._lastDt = null; + return t; +}; + +Friction.prototype.setEnd = function (x, y) { + this._endPositionX = x; + this._endPositionY = y; +}; + +Friction.prototype.reconfigure = function (m, f) { + this._m = m; + this._f = 1e3 * f; +}; + +function Spring(m, k, c) { + this._m = m; + this._k = k; + this._c = c; + this._solution = null; + this._endPosition = 0; + this._startTime = 0; +} + +Spring.prototype._solve = function (e, t) { + var n = this._c; + var i = this._m; + var r = this._k; + var o = n * n - 4 * i * r; + + if (o === 0) { + var a = -n / (2 * i); + var s = e; + var l = t / (a * e); + return { + x: function x(e) { + return (s + l * e) * Math.pow(Math.E, a * e); + }, + dx: function dx(e) { + var t = Math.pow(Math.E, a * e); + return a * (s + l * e) * t + l * t; } + }; + } - if (a && o) { - o(i); + if (o > 0) { + var c = (-n - Math.sqrt(o)) / (2 * i); + var u = (-n + Math.sqrt(o)) / (2 * i); + var d = (t - c * e) / (u - c); + var h = e - d; + return { + x: function x(e) { + var t; + var n; + + if (e === this._t) { + t = this._powER1T; + n = this._powER2T; + } + + this._t = e; + + if (!t) { + t = this._powER1T = Math.pow(Math.E, c * e); + } + + if (!n) { + n = this._powER2T = Math.pow(Math.E, u * e); + } + + return h * t + d * n; + }, + dx: function dx(e) { + var t; + var n; + + if (e === this._t) { + t = this._powER1T; + n = this._powER2T; + } + + this._t = e; + + if (!t) { + t = this._powER1T = Math.pow(Math.E, c * e); + } + + if (!n) { + n = this._powER2T = Math.pow(Math.E, u * e); + } + + return h * c * t + d * u * n; } - } + }; } - fn(r, e, t, n); + var p = Math.sqrt(4 * i * r - n * n) / (2 * i); + var f = -n / 2 * i; + var v = e; + var g = (t - f * e) / p; return { - cancel: i.bind(null, r), - model: e + x: function x(e) { + return Math.pow(Math.E, f * e) * (v * Math.cos(p * e) + g * Math.sin(p * e)); + }, + dx: function dx(e) { + var t = Math.pow(Math.E, f * e); + var n = Math.cos(p * e); + var i = Math.sin(p * e); + return t * (g * p * n - v * p * i) + f * t * (g * i + v * n); + } }; -} +}; -/* harmony default export */ var movable_viewvue_type_script_lang_js_ = ({ - name: 'MovableView', - mixins: [touchtrack["a" /* default */]], - props: { - direction: { - type: String, - default: 'none' - }, - inertia: { - type: [Boolean, String], - default: false - }, - outOfBounds: { - type: [Boolean, String], - default: false - }, - x: { - type: [Number, String], - default: 0 - }, - y: { - type: [Number, String], - default: 0 - }, - damping: { - type: [Number, String], - default: 20 - }, - friction: { - type: [Number, String], - default: 2 - }, - disabled: { - type: [Boolean, String], - default: false - }, - scale: { - type: [Boolean, String], - default: false - }, - scaleMin: { - type: [Number, String], - default: 0.5 - }, - scaleMax: { - type: [Number, String], - default: 10 - }, - scaleValue: { - type: [Number, String], - default: 1 - }, - animation: { - type: [Boolean, String], - default: true - } - }, - data: function data() { - return { - xSync: this._getPx(this.x), - ySync: this._getPx(this.y), - scaleValueSync: Number(this.scaleValue) || 1, - width: 0, - height: 0, - minX: 0, - minY: 0, - maxX: 0, - maxY: 0 - }; - }, - computed: { - dampingNumber: function dampingNumber() { - var val = Number(this.damping); - return isNaN(val) ? 20 : val; - }, - frictionNumber: function frictionNumber() { - var val = Number(this.friction); - return isNaN(val) || val <= 0 ? 2 : val; - }, - scaleMinNumber: function scaleMinNumber() { - var val = Number(this.scaleMin); - return isNaN(val) ? 0.5 : val; - }, - scaleMaxNumber: function scaleMaxNumber() { - var val = Number(this.scaleMax); - return isNaN(val) ? 10 : val; - }, - xMove: function xMove() { - return this.direction === 'all' || this.direction === 'horizontal'; - }, - yMove: function yMove() { - return this.direction === 'all' || this.direction === 'vertical'; - } - }, - watch: { - x: function x(val) { - this.xSync = this._getPx(val); - }, - xSync: function xSync(val) { - this._setX(val); - }, - y: function y(val) { - this.ySync = this._getPx(val); - }, - ySync: function ySync(val) { - this._setY(val); - }, - scaleValue: function scaleValue(val) { - this.scaleValueSync = Number(val) || 0; - }, - scaleValueSync: function scaleValueSync(val) { - this._setScaleValue(val); - }, - scaleMinNumber: function scaleMinNumber() { - this._setScaleMinOrMax(); - }, - scaleMaxNumber: function scaleMaxNumber() { - this._setScaleMinOrMax(); - } - }, - created: function created() { - this._offset = { - x: 0, - y: 0 - }; - this._scaleOffset = { - x: 0, - y: 0 - }; - this._translateX = 0; - this._translateY = 0; - this._scale = 1; - this._oldScale = 1; - this._STD = new STD(1, 9 * Math.pow(this.dampingNumber, 2) / 40, this.dampingNumber); - this._friction = new Friction(1, this.frictionNumber); - this._declineX = new Decline(); - this._declineY = new Decline(); - this.__touchInfo = { - historyX: [0, 0], - historyY: [0, 0], - historyT: [0, 0] - }; - }, - mounted: function mounted() { - this.touchtrack(this.$el, '_onTrack'); - this.setParent(); +Spring.prototype.x = function (e) { + if (undefined === e) { + e = (new Date().getTime() - this._startTime) / 1e3; + } - this._friction.reconfigure(1, this.frictionNumber); + return this._solution ? this._endPosition + this._solution.x(e) : 0; +}; - this._STD.reconfigure(1, 9 * Math.pow(this.dampingNumber, 2) / 40, this.dampingNumber); +Spring.prototype.dx = function (e) { + if (undefined === e) { + e = (new Date().getTime() - this._startTime) / 1e3; + } - this.$el.style.transformOrigin = 'center'; - }, - methods: { - _getPx: function _getPx(val) { - if (/\d+[ur]px$/i.test(val)) { - return uni.upx2px(parseFloat(val)); - } + return this._solution ? this._solution.dx(e) : 0; +}; - return Number(val) || 0; - }, - _setX: function _setX(val) { - if (this.xMove) { - if (val + this._scaleOffset.x === this._translateX) { - return this._translateX; - } else { - if (this._SFA) { - this._SFA.cancel(); - } +Spring.prototype.setEnd = function (e, n, i) { + if (!i) { + i = new Date().getTime(); + } - this._animationTo(val + this._scaleOffset.x, this.ySync + this._scaleOffset.y, this._scale); - } + if (e !== this._endPosition || !t(n, 0.1)) { + n = n || 0; + var r = this._endPosition; + + if (this._solution) { + if (t(n, 0.1)) { + n = this._solution.dx((i - this._startTime) / 1e3); } - return val; - }, - _setY: function _setY(val) { - if (this.yMove) { - if (val + this._scaleOffset.y === this._translateY) { - return this._translateY; - } else { - if (this._SFA) { - this._SFA.cancel(); - } + r = this._solution.x((i - this._startTime) / 1e3); - this._animationTo(this.xSync + this._scaleOffset.x, val + this._scaleOffset.y, this._scale); - } + if (t(n, 0.1)) { + n = 0; } - return val; - }, - _setScaleMinOrMax: function _setScaleMinOrMax() { - if (!this.scale) { - return false; + if (t(r, 0.1)) { + r = 0; } - this._updateScale(this._scale, true); + r += this._endPosition; + } - this._updateOldScale(this._scale); - }, - _setScaleValue: function _setScaleValue(scale) { - if (!this.scale) { - return false; - } + if (!(this._solution && t(r - e, 0.1) && t(n, 0.1))) { + this._endPosition = e; + this._solution = this._solve(r - this._endPosition, n); + this._startTime = i; + } + } +}; - scale = this._adjustScale(scale); +Spring.prototype.snap = function (e) { + this._startTime = new Date().getTime(); + this._endPosition = e; + this._solution = { + x: function x() { + return 0; + }, + dx: function dx() { + return 0; + } + }; +}; - this._updateScale(scale, true); +Spring.prototype.done = function (n) { + if (!n) { + n = new Date().getTime(); + } - this._updateOldScale(scale); + return e(this.x(), this._endPosition, 0.1) && t(this.dx(), 0.1); +}; - return scale; - }, - __handleTouchStart: function __handleTouchStart() { - if (!this._isScaling) { - if (!this.disabled) { - if (this._FA) { - this._FA.cancel(); - } +Spring.prototype.reconfigure = function (m, t, c) { + this._m = m; + this._k = t; + this._c = c; - if (this._SFA) { - this._SFA.cancel(); - } + if (!this.done()) { + this._solution = this._solve(this.x() - this._endPosition, this.dx()); + this._startTime = new Date().getTime(); + } +}; - this.__touchInfo.historyX = [0, 0]; - this.__touchInfo.historyY = [0, 0]; - this.__touchInfo.historyT = [0, 0]; +Spring.prototype.springConstant = function () { + return this._k; +}; - if (this.xMove) { - this.__baseX = this._translateX; - } +Spring.prototype.damping = function () { + return this._c; +}; - if (this.yMove) { - this.__baseY = this._translateY; - } +Spring.prototype.configuration = function () { + function e(e, t) { + e.reconfigure(1, t, e.damping()); + } - this.$el.style.willChange = 'transform'; - this._checkCanMove = null; - this._firstMoveDirection = null; - this._isTouching = true; - } - } - }, - __handleTouchMove: function __handleTouchMove(event) { - var self = this; - - if (!this._isScaling && !this.disabled && this._isTouching) { - var x = this._translateX; - var y = this._translateY; - - if (this._firstMoveDirection === null) { - this._firstMoveDirection = Math.abs(event.detail.dx / event.detail.dy) > 1 ? 'htouchmove' : 'vtouchmove'; - } - - if (this.xMove) { - x = event.detail.dx + this.__baseX; - - this.__touchInfo.historyX.shift(); + function t(e, t) { + e.reconfigure(1, e.springConstant(), t); + } - this.__touchInfo.historyX.push(x); + return [{ + label: 'Spring Constant', + read: this.springConstant.bind(this), + write: e.bind(this, this), + min: 100, + max: 1e3 + }, { + label: 'Damping', + read: this.damping.bind(this), + write: t.bind(this, this), + min: 1, + max: 500 + }]; +}; - if (!this.yMove) { - if (!null !== this._checkCanMove) { - if (Math.abs(event.detail.dx / event.detail.dy) > 1) { - this._checkCanMove = false; - } else { - this._checkCanMove = true; - } - } - } - } +function STD(e, t, n) { + this._springX = new Spring(e, t, n); + this._springY = new Spring(e, t, n); + this._springScale = new Spring(e, t, n); + this._startTime = 0; +} - if (this.yMove) { - y = event.detail.dy + this.__baseY; +STD.prototype.setEnd = function (e, t, n, i) { + var r = new Date().getTime(); - this.__touchInfo.historyY.shift(); + this._springX.setEnd(e, i, r); - this.__touchInfo.historyY.push(y); + this._springY.setEnd(t, i, r); - if (!this.xMove) { - if (!null !== this._checkCanMove) { - if (Math.abs(event.detail.dy / event.detail.dx) > 1) { - this._checkCanMove = false; - } else { - this._checkCanMove = true; - } - } - } - } + this._springScale.setEnd(n, i, r); - this.__touchInfo.historyT.shift(); + this._startTime = r; +}; - this.__touchInfo.historyT.push(event.detail.timeStamp); +STD.prototype.x = function () { + var e = (new Date().getTime() - this._startTime) / 1e3; + return { + x: this._springX.x(e), + y: this._springY.x(e), + scale: this._springScale.x(e) + }; +}; - if (!this._checkCanMove) { - event.preventDefault(); - var source = 'touch'; +STD.prototype.done = function () { + var e = new Date().getTime(); + return this._springX.done(e) && this._springY.done(e) && this._springScale.done(e); +}; - if (x < this.minX) { - if (this.outOfBounds) { - source = 'touch-out-of-bounds'; - x = this.minX - this._declineX.x(this.minX - x); - } else { - x = this.minX; - } - } else if (x > this.maxX) { - if (this.outOfBounds) { - source = 'touch-out-of-bounds'; - x = this.maxX + this._declineX.x(x - this.maxX); - } else { - x = this.maxX; - } - } +STD.prototype.reconfigure = function (e, t, n) { + this._springX.reconfigure(e, t, n); - if (y < this.minY) { - if (this.outOfBounds) { - source = 'touch-out-of-bounds'; - y = this.minY - this._declineY.x(this.minY - y); - } else { - y = this.minY; - } - } else { - if (y > this.maxY) { - if (this.outOfBounds) { - source = 'touch-out-of-bounds'; - y = this.maxY + this._declineY.x(y - this.maxY); - } else { - y = this.maxY; - } - } - } + this._springY.reconfigure(e, t, n); - _requestAnimationFrame(function () { - self._setTransform(x, y, self._scale, source); - }); - } - } - }, - __handleTouchEnd: function __handleTouchEnd() { - var self = this; + this._springScale.reconfigure(e, t, n); +}; +// CONCATENATED MODULE: ./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader/lib??vue-loader-options!./src/core/view/components/movable-view/index.vue?vue&type=script&lang=js& +// +// +// +// +// +// - if (!this._isScaling && !this.disabled && this._isTouching) { - this.$el.style.willChange = 'auto'; - this._isTouching = false; - if (!this._checkCanMove && !this._revise('out-of-bounds') && this.inertia) { - var xv = 1000 * (this.__touchInfo.historyX[1] - this.__touchInfo.historyX[0]) / (this.__touchInfo.historyT[1] - this.__touchInfo.historyT[0]); - var yv = 1000 * (this.__touchInfo.historyY[1] - this.__touchInfo.historyY[0]) / (this.__touchInfo.historyT[1] - this.__touchInfo.historyT[0]); +var requesting = false; - this._friction.setV(xv, yv); +function _requestAnimationFrame(e) { + if (!requesting) { + requesting = true; + requestAnimationFrame(function () { + e(); + requesting = false; + }); + } +} - this._friction.setS(this._translateX, this._translateY); +function p(t, n) { + if (t === n) { + return 0; + } - var x0 = this._friction.delta().x; + var i = t.offsetLeft; + return t.offsetParent ? i += p(t.offsetParent, n) : 0; +} - var y0 = this._friction.delta().y; +function f(t, n) { + if (t === n) { + return 0; + } - var x = x0 + this._translateX; - var y = y0 + this._translateY; + var i = t.offsetTop; + return t.offsetParent ? i += f(t.offsetParent, n) : 0; +} - if (x < this.minX) { - x = this.minX; - y = this._translateY + (this.minX - this._translateX) * y0 / x0; - } else { - if (x > this.maxX) { - x = this.maxX; - y = this._translateY + (this.maxX - this._translateX) * y0 / x0; - } - } +function v(a, b) { + return +((1000 * a - 1000 * b) / 1000).toFixed(1); +} - if (y < this.minY) { - y = this.minY; - x = this._translateX + (this.minY - this._translateY) * x0 / y0; - } else { - if (y > this.maxY) { - y = this.maxY; - x = this._translateX + (this.maxY - this._translateY) * x0 / y0; - } - } +function g(e, t, n) { + var i = function i(e) { + if (e && e.id) { + cancelAnimationFrame(e.id); + } - this._friction.setEnd(x, y); + if (e) { + e.cancelled = true; + } + }; - this._FA = g(this._friction, function () { - var t = self._friction.s(); + var r = { + id: 0, + cancelled: false + }; - var x = t.x; - var y = t.y; + function fn(n, i, r, o) { + if (!n || !n.cancelled) { + r(i); + var a = e.done(); - self._setTransform(x, y, self._scale, 'friction'); - }, function () { - self._FA.cancel(); - }); + if (!a) { + if (!n.cancelled) { + n.id = requestAnimationFrame(fn.bind(null, n, i, r, o)); } } - }, - _onTrack: function _onTrack(event) { - switch (event.detail.state) { - case 'start': - this.__handleTouchStart(); - - break; - - case 'move': - this.__handleTouchMove(event); - - break; - - case 'end': - this.__handleTouchEnd(); + if (a && o) { + o(i); } - }, - _getLimitXY: function _getLimitXY(x, y) { - var outOfBounds = false; + } + } - if (x > this.maxX) { - x = this.maxX; - outOfBounds = true; - } else { - if (x < this.minX) { - x = this.minX; - outOfBounds = true; - } + fn(r, e, t, n); + return { + cancel: i.bind(null, r), + model: e + }; +} + +/* harmony default export */ var movable_viewvue_type_script_lang_js_ = ({ + name: 'MovableView', + mixins: [touchtrack["a" /* default */]], + props: { + direction: { + type: String, + default: 'none' + }, + inertia: { + type: [Boolean, String], + default: false + }, + outOfBounds: { + type: [Boolean, String], + default: false + }, + x: { + type: [Number, String], + default: 0 + }, + y: { + type: [Number, String], + default: 0 + }, + damping: { + type: [Number, String], + default: 20 + }, + friction: { + type: [Number, String], + default: 2 + }, + disabled: { + type: [Boolean, String], + default: false + }, + scale: { + type: [Boolean, String], + default: false + }, + scaleMin: { + type: [Number, String], + default: 0.5 + }, + scaleMax: { + type: [Number, String], + default: 10 + }, + scaleValue: { + type: [Number, String], + default: 1 + }, + animation: { + type: [Boolean, String], + default: true + } + }, + data: function data() { + return { + xSync: this._getPx(this.x), + ySync: this._getPx(this.y), + scaleValueSync: Number(this.scaleValue) || 1, + width: 0, + height: 0, + minX: 0, + minY: 0, + maxX: 0, + maxY: 0 + }; + }, + computed: { + dampingNumber: function dampingNumber() { + var val = Number(this.damping); + return isNaN(val) ? 20 : val; + }, + frictionNumber: function frictionNumber() { + var val = Number(this.friction); + return isNaN(val) || val <= 0 ? 2 : val; + }, + scaleMinNumber: function scaleMinNumber() { + var val = Number(this.scaleMin); + return isNaN(val) ? 0.5 : val; + }, + scaleMaxNumber: function scaleMaxNumber() { + var val = Number(this.scaleMax); + return isNaN(val) ? 10 : val; + }, + xMove: function xMove() { + return this.direction === 'all' || this.direction === 'horizontal'; + }, + yMove: function yMove() { + return this.direction === 'all' || this.direction === 'vertical'; + } + }, + watch: { + x: function x(val) { + this.xSync = this._getPx(val); + }, + xSync: function xSync(val) { + this._setX(val); + }, + y: function y(val) { + this.ySync = this._getPx(val); + }, + ySync: function ySync(val) { + this._setY(val); + }, + scaleValue: function scaleValue(val) { + this.scaleValueSync = Number(val) || 0; + }, + scaleValueSync: function scaleValueSync(val) { + this._setScaleValue(val); + }, + scaleMinNumber: function scaleMinNumber() { + this._setScaleMinOrMax(); + }, + scaleMaxNumber: function scaleMaxNumber() { + this._setScaleMinOrMax(); + } + }, + created: function created() { + this._offset = { + x: 0, + y: 0 + }; + this._scaleOffset = { + x: 0, + y: 0 + }; + this._translateX = 0; + this._translateY = 0; + this._scale = 1; + this._oldScale = 1; + this._STD = new STD(1, 9 * Math.pow(this.dampingNumber, 2) / 40, this.dampingNumber); + this._friction = new Friction(1, this.frictionNumber); + this._declineX = new Decline(); + this._declineY = new Decline(); + this.__touchInfo = { + historyX: [0, 0], + historyY: [0, 0], + historyT: [0, 0] + }; + }, + mounted: function mounted() { + this.touchtrack(this.$el, '_onTrack'); + this.setParent(); + + this._friction.reconfigure(1, this.frictionNumber); + + this._STD.reconfigure(1, 9 * Math.pow(this.dampingNumber, 2) / 40, this.dampingNumber); + + this.$el.style.transformOrigin = 'center'; + }, + methods: { + _getPx: function _getPx(val) { + if (/\d+[ur]px$/i.test(val)) { + return uni.upx2px(parseFloat(val)); } - if (y > this.maxY) { - y = this.maxY; - outOfBounds = true; - } else { - if (y < this.minY) { - y = this.minY; - outOfBounds = true; + return Number(val) || 0; + }, + _setX: function _setX(val) { + if (this.xMove) { + if (val + this._scaleOffset.x === this._translateX) { + return this._translateX; + } else { + if (this._SFA) { + this._SFA.cancel(); + } + + this._animationTo(val + this._scaleOffset.x, this.ySync + this._scaleOffset.y, this._scale); } } - return { - x: x, - y: y, - outOfBounds: outOfBounds - }; + return val; }, - setParent: function setParent() { - if (!this.$parent._isMounted) { - return; - } + _setY: function _setY(val) { + if (this.yMove) { + if (val + this._scaleOffset.y === this._translateY) { + return this._translateY; + } else { + if (this._SFA) { + this._SFA.cancel(); + } - if (this._FA) { - this._FA.cancel(); + this._animationTo(this.xSync + this._scaleOffset.x, val + this._scaleOffset.y, this._scale); + } } - if (this._SFA) { - this._SFA.cancel(); + return val; + }, + _setScaleMinOrMax: function _setScaleMinOrMax() { + if (!this.scale) { + return false; } - var scale = this.scale ? this.scaleValueSync : 1; + this._updateScale(this._scale, true); - this._updateOffset(); + this._updateOldScale(this._scale); + }, + _setScaleValue: function _setScaleValue(scale) { + if (!this.scale) { + return false; + } - this._updateWH(scale); + scale = this._adjustScale(scale); - this._updateBoundary(); + this._updateScale(scale, true); - this._translateX = this.xSync + this._scaleOffset.x; - this._translateY = this.ySync + this._scaleOffset.y; + this._updateOldScale(scale); - var limitXY = this._getLimitXY(this._translateX, this._translateY); + return scale; + }, + __handleTouchStart: function __handleTouchStart() { + if (!this._isScaling) { + if (!this.disabled) { + if (this._FA) { + this._FA.cancel(); + } - var x = limitXY.x; - var y = limitXY.y; + if (this._SFA) { + this._SFA.cancel(); + } - this._setTransform(x, y, scale, '', true); + this.__touchInfo.historyX = [0, 0]; + this.__touchInfo.historyY = [0, 0]; + this.__touchInfo.historyT = [0, 0]; - this._updateOldScale(scale); - }, - _updateOffset: function _updateOffset() { - this._offset.x = p(this.$el, this.$parent.$el); + if (this.xMove) { + this.__baseX = this._translateX; + } + + if (this.yMove) { + this.__baseY = this._translateY; + } + + this.$el.style.willChange = 'transform'; + this._checkCanMove = null; + this._firstMoveDirection = null; + this._isTouching = true; + } + } + }, + __handleTouchMove: function __handleTouchMove(event) { + var self = this; + + if (!this._isScaling && !this.disabled && this._isTouching) { + var x = this._translateX; + var y = this._translateY; + + if (this._firstMoveDirection === null) { + this._firstMoveDirection = Math.abs(event.detail.dx / event.detail.dy) > 1 ? 'htouchmove' : 'vtouchmove'; + } + + if (this.xMove) { + x = event.detail.dx + this.__baseX; + + this.__touchInfo.historyX.shift(); + + this.__touchInfo.historyX.push(x); + + if (!this.yMove) { + if (!null !== this._checkCanMove) { + if (Math.abs(event.detail.dx / event.detail.dy) > 1) { + this._checkCanMove = false; + } else { + this._checkCanMove = true; + } + } + } + } + + if (this.yMove) { + y = event.detail.dy + this.__baseY; + + this.__touchInfo.historyY.shift(); + + this.__touchInfo.historyY.push(y); + + if (!this.xMove) { + if (!null !== this._checkCanMove) { + if (Math.abs(event.detail.dy / event.detail.dx) > 1) { + this._checkCanMove = false; + } else { + this._checkCanMove = true; + } + } + } + } + + this.__touchInfo.historyT.shift(); + + this.__touchInfo.historyT.push(event.detail.timeStamp); + + if (!this._checkCanMove) { + event.preventDefault(); + var source = 'touch'; + + if (x < this.minX) { + if (this.outOfBounds) { + source = 'touch-out-of-bounds'; + x = this.minX - this._declineX.x(this.minX - x); + } else { + x = this.minX; + } + } else if (x > this.maxX) { + if (this.outOfBounds) { + source = 'touch-out-of-bounds'; + x = this.maxX + this._declineX.x(x - this.maxX); + } else { + x = this.maxX; + } + } + + if (y < this.minY) { + if (this.outOfBounds) { + source = 'touch-out-of-bounds'; + y = this.minY - this._declineY.x(this.minY - y); + } else { + y = this.minY; + } + } else { + if (y > this.maxY) { + if (this.outOfBounds) { + source = 'touch-out-of-bounds'; + y = this.maxY + this._declineY.x(y - this.maxY); + } else { + y = this.maxY; + } + } + } + + _requestAnimationFrame(function () { + self._setTransform(x, y, self._scale, source); + }); + } + } + }, + __handleTouchEnd: function __handleTouchEnd() { + var self = this; + + if (!this._isScaling && !this.disabled && this._isTouching) { + this.$el.style.willChange = 'auto'; + this._isTouching = false; + + if (!this._checkCanMove && !this._revise('out-of-bounds') && this.inertia) { + var xv = 1000 * (this.__touchInfo.historyX[1] - this.__touchInfo.historyX[0]) / (this.__touchInfo.historyT[1] - this.__touchInfo.historyT[0]); + var yv = 1000 * (this.__touchInfo.historyY[1] - this.__touchInfo.historyY[0]) / (this.__touchInfo.historyT[1] - this.__touchInfo.historyT[0]); + + this._friction.setV(xv, yv); + + this._friction.setS(this._translateX, this._translateY); + + var x0 = this._friction.delta().x; + + var y0 = this._friction.delta().y; + + var x = x0 + this._translateX; + var y = y0 + this._translateY; + + if (x < this.minX) { + x = this.minX; + y = this._translateY + (this.minX - this._translateX) * y0 / x0; + } else { + if (x > this.maxX) { + x = this.maxX; + y = this._translateY + (this.maxX - this._translateX) * y0 / x0; + } + } + + if (y < this.minY) { + y = this.minY; + x = this._translateX + (this.minY - this._translateY) * x0 / y0; + } else { + if (y > this.maxY) { + y = this.maxY; + x = this._translateX + (this.maxY - this._translateY) * x0 / y0; + } + } + + this._friction.setEnd(x, y); + + this._FA = g(this._friction, function () { + var t = self._friction.s(); + + var x = t.x; + var y = t.y; + + self._setTransform(x, y, self._scale, 'friction'); + }, function () { + self._FA.cancel(); + }); + } + } + }, + _onTrack: function _onTrack(event) { + switch (event.detail.state) { + case 'start': + this.__handleTouchStart(); + + break; + + case 'move': + this.__handleTouchMove(event); + + break; + + case 'end': + this.__handleTouchEnd(); + + } + }, + _getLimitXY: function _getLimitXY(x, y) { + var outOfBounds = false; + + if (x > this.maxX) { + x = this.maxX; + outOfBounds = true; + } else { + if (x < this.minX) { + x = this.minX; + outOfBounds = true; + } + } + + if (y > this.maxY) { + y = this.maxY; + outOfBounds = true; + } else { + if (y < this.minY) { + y = this.minY; + outOfBounds = true; + } + } + + return { + x: x, + y: y, + outOfBounds: outOfBounds + }; + }, + setParent: function setParent() { + if (!this.$parent._isMounted) { + return; + } + + if (this._FA) { + this._FA.cancel(); + } + + if (this._SFA) { + this._SFA.cancel(); + } + + var scale = this.scale ? this.scaleValueSync : 1; + + this._updateOffset(); + + this._updateWH(scale); + + this._updateBoundary(); + + this._translateX = this.xSync + this._scaleOffset.x; + this._translateY = this.ySync + this._scaleOffset.y; + + var limitXY = this._getLimitXY(this._translateX, this._translateY); + + var x = limitXY.x; + var y = limitXY.y; + + this._setTransform(x, y, scale, '', true); + + this._updateOldScale(scale); + }, + _updateOffset: function _updateOffset() { + this._offset.x = p(this.$el, this.$parent.$el); this._offset.y = f(this.$el, this.$parent.$el); }, _updateWH: function _updateWH(scale) { @@ -16594,438 +16961,134 @@ function g(e, t, n) { scale = Math.min(10, this.scaleMaxNumber, scale); return scale; }, - _animationTo: function _animationTo(x, y, scale, source, r, o) { - var self = this; - - if (this._FA) { - this._FA.cancel(); - } - - if (this._SFA) { - this._SFA.cancel(); - } - - if (!this.xMove) { - x = this._translateX; - } - - if (!this.yMove) { - y = this._translateY; - } - - if (!this.scale) { - scale = this._scale; - } - - var limitXY = this._getLimitXY(x, y); - - x = limitXY.x; - y = limitXY.y; - - if (!this.animation) { - this._setTransform(x, y, scale, source, r, o); - - return; - } - - this._STD._springX._solution = null; - this._STD._springY._solution = null; - this._STD._springScale._solution = null; - this._STD._springX._endPosition = this._translateX; - this._STD._springY._endPosition = this._translateY; - this._STD._springScale._endPosition = this._scale; - - this._STD.setEnd(x, y, scale, 1); - - this._SFA = g(this._STD, function () { - var data = self._STD.x(); - - var x = data.x; - var y = data.y; - var scale = data.scale; - - self._setTransform(x, y, scale, source, r, o); - }, function () { - self._SFA.cancel(); - }); - }, - _revise: function _revise(source) { - var limitXY = this._getLimitXY(this._translateX, this._translateY); - - var x = limitXY.x; - var y = limitXY.y; - var outOfBounds = limitXY.outOfBounds; - - if (outOfBounds) { - this._animationTo(x, y, this._scale, source); - } - - return outOfBounds; - }, - _setTransform: function _setTransform(x, y, scale) { - var source = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : ''; - var r = arguments.length > 4 ? arguments[4] : undefined; - var o = arguments.length > 5 ? arguments[5] : undefined; - - if (!(x !== null && x.toString() !== 'NaN' && typeof x === 'number')) { - x = this._translateX || 0; - } - - if (!(y !== null && y.toString() !== 'NaN' && typeof y === 'number')) { - y = this._translateY || 0; - } - - x = Number(x.toFixed(1)); - y = Number(y.toFixed(1)); - scale = Number(scale.toFixed(1)); - - if (!(this._translateX === x && this._translateY === y)) { - if (!r) { - this.$trigger('change', {}, { - x: v(x, this._scaleOffset.x), - y: v(y, this._scaleOffset.y), - source: source - }); - } - } - - if (!this.scale) { - scale = this._scale; - } - - scale = this._adjustScale(scale); - scale = +scale.toFixed(3); - - if (o && scale !== this._scale) { - this.$trigger('scale', {}, { - x: x, - y: y, - scale: scale - }); - } - - var transform = 'translateX(' + x + 'px) translateY(' + y + 'px) translateZ(0px) scale(' + scale + ')'; - this.$el.style.transform = transform; - this.$el.style.webkitTransform = transform; - this._translateX = x; - this._translateY = y; - this._scale = scale; - } - } -}); -// CONCATENATED MODULE: ./src/core/view/components/movable-view/index.vue?vue&type=script&lang=js& - /* harmony default export */ var components_movable_viewvue_type_script_lang_js_ = (movable_viewvue_type_script_lang_js_); -// EXTERNAL MODULE: ./src/core/view/components/movable-view/index.vue?vue&type=style&index=0&lang=css& -var movable_viewvue_type_style_index_0_lang_css_ = __webpack_require__(77); - -// EXTERNAL MODULE: ./node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js -var componentNormalizer = __webpack_require__(0); - -// CONCATENATED MODULE: ./src/core/view/components/movable-view/index.vue - - - - - - -/* normalize component */ - -var component = Object(componentNormalizer["a" /* default */])( - components_movable_viewvue_type_script_lang_js_, - render, - staticRenderFns, - false, - null, - null, - null - -) - -/* hot reload */ -if (false) { var api; } -component.options.__file = "src/core/view/components/movable-view/index.vue" -/* harmony default export */ var movable_view = __webpack_exports__["default"] = (component.exports); - -/***/ }), -/* 98 */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); - -// CONCATENATED MODULE: ./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"26557f38-vue-loader-template"}!./node_modules/@vue/cli-service/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader/lib??vue-loader-options!./src/core/view/components/slider/index.vue?vue&type=template&id=1969bd7a& -var render = function() { - var _vm = this - var _h = _vm.$createElement - var _c = _vm._self._c || _h - return _c( - "uni-slider", - _vm._g({ ref: "uni-slider", on: { click: _vm._onClick } }, _vm.$listeners), - [ - _c("div", { staticClass: "uni-slider-wrapper" }, [ - _c("div", { staticClass: "uni-slider-tap-area" }, [ - _c( - "div", - { staticClass: "uni-slider-handle-wrapper", style: _vm.setBgColor }, - [ - _c("div", { - ref: "uni-slider-handle", - staticClass: "uni-slider-handle", - style: _vm.setBlockBg - }), - _c("div", { - staticClass: "uni-slider-thumb", - style: _vm.setBlockStyle - }), - _c("div", { - staticClass: "uni-slider-track", - style: _vm.setActiveColor - }) - ] - ) - ]), - _c( - "span", - { - directives: [ - { - name: "show", - rawName: "v-show", - value: _vm.showValue, - expression: "showValue" - } - ], - staticClass: "uni-slider-value" - }, - [_vm._v(_vm._s(_vm.sliderValue))] - ) - ]), - _vm._t("default") - ], - 2 - ) -} -var staticRenderFns = [] -render._withStripped = true - - -// CONCATENATED MODULE: ./src/core/view/components/slider/index.vue?vue&type=template&id=1969bd7a& - -// EXTERNAL MODULE: ./src/core/view/mixins/index.js + 1 modules -var mixins = __webpack_require__(1); - -// EXTERNAL MODULE: ./src/core/view/mixins/touchtrack.js -var touchtrack = __webpack_require__(8); - -// CONCATENATED MODULE: ./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader/lib??vue-loader-options!./src/core/view/components/slider/index.vue?vue&type=script&lang=js& -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// - - -/* harmony default export */ var slidervue_type_script_lang_js_ = ({ - name: 'Slider', - mixins: [mixins["a" /* emitter */], mixins["c" /* listeners */], touchtrack["a" /* default */]], - props: { - name: { - type: String, - default: '' - }, - min: { - type: [Number, String], - default: 0 - }, - max: { - type: [Number, String], - default: 100 - }, - value: { - type: [Number, String], - default: 0 - }, - step: { - type: [Number, String], - default: 1 - }, - disabled: { - type: [Boolean, String], - default: false - }, - color: { - type: String, - default: '#e9e9e9' - }, - backgroundColor: { - type: String, - default: '#e9e9e9' - }, - activeColor: { - type: String, - default: '#007aff' - }, - selectedColor: { - type: String, - default: '#007aff' - }, - blockColor: { - type: String, - default: '#ffffff' - }, - blockSize: { - type: [Number, String], - default: 28 - }, - showValue: { - type: [Boolean, String], - default: false - } - }, - data: function data() { - return { - sliderValue: Number(this.value) - }; - }, - computed: { - setBlockStyle: function setBlockStyle() { - return { - width: this.blockSize + 'px', - height: this.blockSize + 'px', - marginLeft: -this.blockSize / 2 + 'px', - marginTop: -this.blockSize / 2 + 'px', - left: this._getValueWidth(), - backgroundColor: this.blockColor - }; - }, - setBgColor: function setBgColor() { - return { - backgroundColor: this._getBgColor() - }; - }, - setBlockBg: function setBlockBg() { - return { - left: this._getValueWidth() - }; - }, - setActiveColor: function setActiveColor() { - // 有问题,设置最大值最小值是有问题 - return { - backgroundColor: this._getActiveColor(), - width: this._getValueWidth() - }; - } - }, - watch: { - value: function value(val) { - this.sliderValue = Number(val); - } - }, - mounted: function mounted() { - this.touchtrack(this.$refs['uni-slider-handle'], '_onTrack'); - }, - created: function created() { - this.$dispatch('Form', 'uni-form-group-update', { - type: 'add', - vm: this - }); - }, - beforeDestroy: function beforeDestroy() { - this.$dispatch('Form', 'uni-form-group-update', { - type: 'remove', - vm: this - }); - }, - methods: { - _onUserChangedValue: function _onUserChangedValue(e) { - var slider = this.$refs['uni-slider']; - var offsetWidth = slider.offsetWidth; - var boxLeft = slider.getBoundingClientRect().left; - var value = (e.x - boxLeft) * (this.max - this.min) / offsetWidth + Number(this.min); - this.sliderValue = this._filterValue(value); - }, - _filterValue: function _filterValue(e) { - return e < this.min ? this.min : e > this.max ? this.max : Math.round((e - this.min) / this.step) * this.step + Number(this.min); - }, - _getValueWidth: function _getValueWidth() { - return 100 * (this.sliderValue - this.min) / (this.max - this.min) + '%'; - }, - _getBgColor: function _getBgColor() { - return this.backgroundColor !== '#e9e9e9' ? this.backgroundColor : this.color !== '#007aff' ? this.color : '#007aff'; - }, - _getActiveColor: function _getActiveColor() { - return this.activeColor !== '#007aff' ? this.activeColor : this.selectedColor !== '#e9e9e9' ? this.selectedColor : '#e9e9e9'; - }, - _onTrack: function _onTrack(e) { - if (!this.disabled) { - return e.detail.state === 'move' ? (this._onUserChangedValue({ - x: e.detail.x0 - }), this.$trigger('changing', e, { - value: this.sliderValue - }), !1) : void (e.detail.state === 'end' && this.$trigger('change', e, { - value: this.sliderValue - })); - } - }, - _onClick: function _onClick($event) { - if (this.disabled) { + _animationTo: function _animationTo(x, y, scale, source, r, o) { + var self = this; + + if (this._FA) { + this._FA.cancel(); + } + + if (this._SFA) { + this._SFA.cancel(); + } + + if (!this.xMove) { + x = this._translateX; + } + + if (!this.yMove) { + y = this._translateY; + } + + if (!this.scale) { + scale = this._scale; + } + + var limitXY = this._getLimitXY(x, y); + + x = limitXY.x; + y = limitXY.y; + + if (!this.animation) { + this._setTransform(x, y, scale, source, r, o); + return; } - this._onUserChangedValue($event); + this._STD._springX._solution = null; + this._STD._springY._solution = null; + this._STD._springScale._solution = null; + this._STD._springX._endPosition = this._translateX; + this._STD._springY._endPosition = this._translateY; + this._STD._springScale._endPosition = this._scale; - this.$trigger('change', $event, { - value: this.sliderValue + this._STD.setEnd(x, y, scale, 1); + + this._SFA = g(this._STD, function () { + var data = self._STD.x(); + + var x = data.x; + var y = data.y; + var scale = data.scale; + + self._setTransform(x, y, scale, source, r, o); + }, function () { + self._SFA.cancel(); }); }, - _resetFormData: function _resetFormData() { - this.sliderValue = this.min; + _revise: function _revise(source) { + var limitXY = this._getLimitXY(this._translateX, this._translateY); + + var x = limitXY.x; + var y = limitXY.y; + var outOfBounds = limitXY.outOfBounds; + + if (outOfBounds) { + this._animationTo(x, y, this._scale, source); + } + + return outOfBounds; }, - _getFormData: function _getFormData() { - var data = {}; + _setTransform: function _setTransform(x, y, scale) { + var source = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : ''; + var r = arguments.length > 4 ? arguments[4] : undefined; + var o = arguments.length > 5 ? arguments[5] : undefined; - if (this.name !== '') { - data['value'] = this.sliderValue; - data['key'] = this.name; + if (!(x !== null && x.toString() !== 'NaN' && typeof x === 'number')) { + x = this._translateX || 0; } - return data; + if (!(y !== null && y.toString() !== 'NaN' && typeof y === 'number')) { + y = this._translateY || 0; + } + + x = Number(x.toFixed(1)); + y = Number(y.toFixed(1)); + scale = Number(scale.toFixed(1)); + + if (!(this._translateX === x && this._translateY === y)) { + if (!r) { + this.$trigger('change', {}, { + x: v(x, this._scaleOffset.x), + y: v(y, this._scaleOffset.y), + source: source + }); + } + } + + if (!this.scale) { + scale = this._scale; + } + + scale = this._adjustScale(scale); + scale = +scale.toFixed(3); + + if (o && scale !== this._scale) { + this.$trigger('scale', {}, { + x: x, + y: y, + scale: scale + }); + } + + var transform = 'translateX(' + x + 'px) translateY(' + y + 'px) translateZ(0px) scale(' + scale + ')'; + this.$el.style.transform = transform; + this.$el.style.webkitTransform = transform; + this._translateX = x; + this._translateY = y; + this._scale = scale; } } }); -// CONCATENATED MODULE: ./src/core/view/components/slider/index.vue?vue&type=script&lang=js& - /* harmony default export */ var components_slidervue_type_script_lang_js_ = (slidervue_type_script_lang_js_); -// EXTERNAL MODULE: ./src/core/view/components/slider/index.vue?vue&type=style&index=0&lang=css& -var slidervue_type_style_index_0_lang_css_ = __webpack_require__(86); +// CONCATENATED MODULE: ./src/core/view/components/movable-view/index.vue?vue&type=script&lang=js& + /* harmony default export */ var components_movable_viewvue_type_script_lang_js_ = (movable_viewvue_type_script_lang_js_); +// EXTERNAL MODULE: ./src/core/view/components/movable-view/index.vue?vue&type=style&index=0&lang=css& +var movable_viewvue_type_style_index_0_lang_css_ = __webpack_require__(79); // EXTERNAL MODULE: ./node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js var componentNormalizer = __webpack_require__(0); -// CONCATENATED MODULE: ./src/core/view/components/slider/index.vue +// CONCATENATED MODULE: ./src/core/view/components/movable-view/index.vue @@ -17035,7 +17098,7 @@ var componentNormalizer = __webpack_require__(0); /* normalize component */ var component = Object(componentNormalizer["a" /* default */])( - components_slidervue_type_script_lang_js_, + components_movable_viewvue_type_script_lang_js_, render, staticRenderFns, false, @@ -17047,11 +17110,11 @@ var component = Object(componentNormalizer["a" /* default */])( /* hot reload */ if (false) { var api; } -component.options.__file = "src/core/view/components/slider/index.vue" -/* harmony default export */ var slider = __webpack_exports__["default"] = (component.exports); +component.options.__file = "src/core/view/components/movable-view/index.vue" +/* harmony default export */ var movable_view = __webpack_exports__["default"] = (component.exports); /***/ }), -/* 99 */ +/* 103 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -17121,7 +17184,7 @@ render._withStripped = true // CONCATENATED MODULE: ./src/core/view/components/icon/index.vue?vue&type=script&lang=js& /* harmony default export */ var components_iconvue_type_script_lang_js_ = (iconvue_type_script_lang_js_); // EXTERNAL MODULE: ./src/core/view/components/icon/index.vue?vue&type=style&index=0&lang=css& -var iconvue_type_style_index_0_lang_css_ = __webpack_require__(73); +var iconvue_type_style_index_0_lang_css_ = __webpack_require__(75); // EXTERNAL MODULE: ./node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js var componentNormalizer = __webpack_require__(0); @@ -17152,237 +17215,134 @@ component.options.__file = "src/core/view/components/icon/index.vue" /* harmony default export */ var icon = __webpack_exports__["default"] = (component.exports); /***/ }), -/* 100 */ +/* 104 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -__webpack_require__.r(__webpack_exports__); - -// CONCATENATED MODULE: ./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"26557f38-vue-loader-template"}!./node_modules/@vue/cli-service/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader/lib??vue-loader-options!./src/core/view/components/image/index.vue?vue&type=template&id=c7af6f90& -var render = function() { - var _vm = this - var _h = _vm.$createElement - var _c = _vm._self._c || _h - return _c( - "uni-image", - _vm._g({}, _vm.$listeners), - [ - _c("div", { ref: "content", style: _vm.modeStyle }), - _c("img", { attrs: { src: _vm.realImagePath } }), - _vm.mode === "widthFix" - ? _c("v-uni-resize-sensor", { - ref: "sensor", - on: { resize: _vm._resize } - }) - : _vm._e() - ], - 1 - ) -} -var staticRenderFns = [] -render._withStripped = true - - -// CONCATENATED MODULE: ./src/core/view/components/image/index.vue?vue&type=template&id=c7af6f90& - -// CONCATENATED MODULE: ./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader/lib??vue-loader-options!./src/core/view/components/image/index.vue?vue&type=script&lang=js& -function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - -// -// -// -// -// -// -// -// -// -// -// -// -/* harmony default export */ var imagevue_type_script_lang_js_ = ({ - name: 'Image', - props: { - src: { - type: String, - default: '' - }, - mode: { - type: String, - default: 'scaleToFill' - }, - // TODO 懒加载 - lazyLoad: { - type: [Boolean, String], - default: false - } - }, - data: function data() { - return { - originalWidth: 0, - originalHeight: 0, - availHeight: '', - sizeFixed: false - }; - }, - computed: { - ratio: function ratio() { - return this.originalWidth && this.originalHeight ? this.originalWidth / this.originalHeight : 0; - }, - realImagePath: function realImagePath() { - return this.src && this.$getRealPath(this.src); - }, - modeStyle: function modeStyle() { - var size = 'auto'; - var position = ''; - var repeat = 'no-repeat'; - - switch (this.mode) { - case 'aspectFit': - size = 'contain'; - position = 'center center'; - break; - - case 'aspectFill': - size = 'cover'; - position = 'center center'; - break; - - case 'widthFix': - size = '100% 100%'; - break; - - case 'top': - position = 'center top'; - break; - - case 'bottom': - position = 'center bottom'; - break; - - case 'center': - position = 'center center'; - break; - - case 'left': - position = 'left center'; - break; - - case 'right': - position = 'right center'; - break; - - case 'top left': - position = 'left top'; - break; +__webpack_require__.r(__webpack_exports__); - case 'top right': - position = 'right top'; - break; +// CONCATENATED MODULE: ./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"26557f38-vue-loader-template"}!./node_modules/@vue/cli-service/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader/lib??vue-loader-options!./src/platforms/app-plus/view/components/web-view/index.vue?vue&type=template&id=02a3393e& +var render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c("uni-web-view") +} +var staticRenderFns = [] +render._withStripped = true - case 'bottom left': - position = 'left bottom'; - break; - case 'bottom right': - position = 'right bottom'; - break; +// CONCATENATED MODULE: ./src/platforms/app-plus/view/components/web-view/index.vue?vue&type=template&id=02a3393e& - default: - size = '100% 100%'; - position = '0% 0%'; - break; - } +// CONCATENATED MODULE: ./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader/lib??vue-loader-options!./src/platforms/app-plus/view/components/web-view/index.vue?vue&type=script&lang=js& +// +// +// +var webview = false; - return "background-position:".concat(position, ";background-size:").concat(size, ";background-repeat:").concat(repeat, ";"); - } - }, - watch: { - src: function src(newValue, oldValue) { - this._loadImage(); - }, - mode: function mode(newValue, oldValue) { - if (oldValue === 'widthFix') { - this.$el.style.height = this.availHeight; - this.sizeFixed = false; - } +var insertHTMLWebView = function insertHTMLWebView(_ref) { + var htmlId = _ref.htmlId; + var parentWebview = plus.webview.currentWebview(); // fixed by hxy web-view 组件所在的 webview 不注入 uni-app 框架 - if (newValue === 'widthFix' && this.ratio) { - this._fixSize(); - } - } - }, - mounted: function mounted() { - this.availHeight = this.$el.style.height || ''; + var styles = { + 'uni-app': 'none' + }; + var parentTitleNView = parentWebview.getTitleNView(); - this._loadImage(); - }, - methods: { - _resize: function _resize() { - if (this.mode === 'widthFix' && !this.sizeFixed) { - this._fixSize(); - } - }, - _fixSize: function _fixSize() { - var elWidth = this._getWidth(); + if (parentTitleNView) { + styles.top = 44 + plus.navigator.getStatusbarHeight(); + styles.bottom = 0; + } - if (elWidth) { - var height = elWidth / this.ratio; // fix: 解决 Chrome 浏览器上某些情况下导致 1px 缝隙的问题 + webview = plus.webview.create('', htmlId, styles); - if ((typeof navigator === "undefined" ? "undefined" : _typeof(navigator)) && navigator.vendor === 'Google Inc.' && height > 10) { - height = Math.round(height / 2) * 2; + if (parentTitleNView) { + webview.addEventListener('titleUpdate', function () { + var title = webview.getTitle(); + parentWebview.setStyle({ + titleNView: { + titleText: !title || title === 'null' ? '' : title } + }); + }); + } - this.$el.style.height = height + 'px'; - this.sizeFixed = true; - } - }, - _loadImage: function _loadImage() { - this.$refs.content.style.backgroundImage = this.src ? "url(".concat(this.realImagePath, ")") : 'none'; - - var _self = this; + plus.webview.currentWebview().append(webview); +}; - var img = new Image(); +var updateHTMLWebView = function updateHTMLWebView(_ref2) { + var htmlId = _ref2.htmlId, + src = _ref2.src, + webviewStyles = _ref2.webviewStyles; + // fixed by xxx 非空时才执行更新操作 + var realPath = src || ''; - img.onload = function ($event) { - _self.originalWidth = this.width; - _self.originalHeight = this.height; + if (!realPath) { + return; + } - if (_self.mode === 'widthFix') { - _self._fixSize(); - } + if (/^(http|https):\/\//.test(realPath) && webviewStyles.progress) { + webview.setStyle({ + progress: { + color: webviewStyles.progress.color + } + }); + } - _self.$trigger('load', $event, { - width: this.width, - height: this.height - }); - }; + webview.loadURL(realPath); +}; - img.onerror = function ($event) { - _self.$trigger('error', $event, { - errMsg: "GET ".concat(_self.src, " 404 (Not Found)") - }); - }; +var removeHTMLWebView = function removeHTMLWebView() { + plus.webview.currentWebview().remove(webview); + webview.close('none'); + webview = false; +}; - img.src = this.realImagePath; +/* harmony default export */ var web_viewvue_type_script_lang_js_ = ({ + name: 'WebView', + props: { + src: { + type: String, + default: '' }, - _getWidth: function _getWidth() { - var computedStyle = window.getComputedStyle(this.$el); - var borderWidth = (parseFloat(computedStyle.borderLeftWidth, 10) || 0) + (parseFloat(computedStyle.borderRightWidth, 10) || 0); - var paddingWidth = (parseFloat(computedStyle.paddingLeft, 10) || 0) + (parseFloat(computedStyle.paddingRight, 10) || 0); - return this.$el.offsetWidth - borderWidth - paddingWidth; + webviewStyles: { + type: Object, + default: function _default() { + return {}; + } + } + }, + watch: { + src: function src(val, oldVal) { + webview && updateHTMLWebView({ + src: this.$getRealPath(val), + webviewStyles: this.webviewStyles + }); } + }, + mounted: function mounted() { + this.htmlId = 'webviewId' + this.$page.id; + insertHTMLWebView({ + htmlId: this.htmlId + }); + updateHTMLWebView({ + src: this.$getRealPath(this.src), + webviewStyles: this.webviewStyles + }); + }, + beforeDestroy: function beforeDestroy() { + removeHTMLWebView(); } }); -// CONCATENATED MODULE: ./src/core/view/components/image/index.vue?vue&type=script&lang=js& - /* harmony default export */ var components_imagevue_type_script_lang_js_ = (imagevue_type_script_lang_js_); -// EXTERNAL MODULE: ./src/core/view/components/image/index.vue?vue&type=style&index=0&lang=css& -var imagevue_type_style_index_0_lang_css_ = __webpack_require__(74); +// CONCATENATED MODULE: ./src/platforms/app-plus/view/components/web-view/index.vue?vue&type=script&lang=js& + /* harmony default export */ var components_web_viewvue_type_script_lang_js_ = (web_viewvue_type_script_lang_js_); +// EXTERNAL MODULE: ./src/platforms/app-plus/view/components/web-view/index.vue?vue&type=style&index=0&lang=css& +var web_viewvue_type_style_index_0_lang_css_ = __webpack_require__(98); // EXTERNAL MODULE: ./node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js var componentNormalizer = __webpack_require__(0); -// CONCATENATED MODULE: ./src/core/view/components/image/index.vue +// CONCATENATED MODULE: ./src/platforms/app-plus/view/components/web-view/index.vue @@ -17392,7 +17352,7 @@ var componentNormalizer = __webpack_require__(0); /* normalize component */ var component = Object(componentNormalizer["a" /* default */])( - components_imagevue_type_script_lang_js_, + components_web_viewvue_type_script_lang_js_, render, staticRenderFns, false, @@ -17404,51 +17364,222 @@ var component = Object(componentNormalizer["a" /* default */])( /* hot reload */ if (false) { var api; } -component.options.__file = "src/core/view/components/image/index.vue" -/* harmony default export */ var components_image = __webpack_exports__["default"] = (component.exports); +component.options.__file = "src/platforms/app-plus/view/components/web-view/index.vue" +/* harmony default export */ var web_view = __webpack_exports__["default"] = (component.exports); /***/ }), -/* 101 */ +/* 105 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); -// CONCATENATED MODULE: ./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"26557f38-vue-loader-template"}!./node_modules/@vue/cli-service/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader/lib??vue-loader-options!./src/core/view/components/scroll-view/index.vue?vue&type=template&id=e9d562fc& +// CONCATENATED MODULE: ./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"26557f38-vue-loader-template"}!./node_modules/@vue/cli-service/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader/lib??vue-loader-options!./src/core/view/components/input/index.vue?vue&type=template&id=c65e1032& var render = function() { var _vm = this var _h = _vm.$createElement var _c = _vm._self._c || _h - return _c("uni-scroll-view", _vm._g({}, _vm.$listeners), [ - _c("div", { ref: "wrap", staticClass: "uni-scroll-view" }, [ - _c( - "div", - { - ref: "main", - staticClass: "uni-scroll-view", - style: { - "overflow-x": _vm.scrollX ? "auto" : "hidden", - "overflow-y": _vm.scrollY ? "auto" : "hidden" + return _c( + "uni-input", + _vm._g( + { + on: { + change: function($event) { + $event.stopPropagation() } - }, - [_c("div", { ref: "content" }, [_vm._t("default")], 2)] - ) - ]) - ]) + } + }, + _vm.$listeners + ), + [ + _c("div", { ref: "wrapper", staticClass: "uni-input-wrapper" }, [ + _c( + "div", + { + directives: [ + { + name: "show", + rawName: "v-show", + value: !(_vm.composing || _vm.inputValue.length), + expression: "!(composing || inputValue.length)" + } + ], + ref: "placeholder", + staticClass: "uni-input-placeholder", + class: _vm.placeholderClass, + style: _vm.placeholderStyle + }, + [_vm._v(_vm._s(_vm.placeholder))] + ), + _vm.inputType === "checkbox" + ? _c("input", { + directives: [ + { + name: "model", + rawName: "v-model", + value: _vm.inputValue, + expression: "inputValue" + } + ], + ref: "input", + staticClass: "uni-input-input", + attrs: { + disabled: _vm.disabled, + maxlength: _vm.maxlength, + step: _vm.step, + autocomplete: "off", + type: "checkbox" + }, + domProps: { + checked: Array.isArray(_vm.inputValue) + ? _vm._i(_vm.inputValue, null) > -1 + : _vm.inputValue + }, + on: { + focus: _vm._onFocus, + blur: _vm._onBlur, + input: function($event) { + $event.stopPropagation() + return _vm._onInput($event) + }, + compositionstart: _vm._onComposition, + compositionend: _vm._onComposition, + keyup: function($event) { + $event.stopPropagation() + return _vm._onKeyup($event) + }, + change: function($event) { + var $$a = _vm.inputValue, + $$el = $event.target, + $$c = $$el.checked ? true : false + if (Array.isArray($$a)) { + var $$v = null, + $$i = _vm._i($$a, $$v) + if ($$el.checked) { + $$i < 0 && (_vm.inputValue = $$a.concat([$$v])) + } else { + $$i > -1 && + (_vm.inputValue = $$a + .slice(0, $$i) + .concat($$a.slice($$i + 1))) + } + } else { + _vm.inputValue = $$c + } + } + } + }) + : _vm.inputType === "radio" + ? _c("input", { + directives: [ + { + name: "model", + rawName: "v-model", + value: _vm.inputValue, + expression: "inputValue" + } + ], + ref: "input", + staticClass: "uni-input-input", + attrs: { + disabled: _vm.disabled, + maxlength: _vm.maxlength, + step: _vm.step, + autocomplete: "off", + type: "radio" + }, + domProps: { checked: _vm._q(_vm.inputValue, null) }, + on: { + focus: _vm._onFocus, + blur: _vm._onBlur, + input: function($event) { + $event.stopPropagation() + return _vm._onInput($event) + }, + compositionstart: _vm._onComposition, + compositionend: _vm._onComposition, + keyup: function($event) { + $event.stopPropagation() + return _vm._onKeyup($event) + }, + change: function($event) { + _vm.inputValue = null + } + } + }) + : _c("input", { + directives: [ + { + name: "model", + rawName: "v-model", + value: _vm.inputValue, + expression: "inputValue" + } + ], + ref: "input", + staticClass: "uni-input-input", + attrs: { + disabled: _vm.disabled, + maxlength: _vm.maxlength, + step: _vm.step, + autocomplete: "off", + type: _vm.inputType + }, + domProps: { value: _vm.inputValue }, + on: { + focus: _vm._onFocus, + blur: _vm._onBlur, + input: [ + function($event) { + if ($event.target.composing) { + return + } + _vm.inputValue = $event.target.value + }, + function($event) { + $event.stopPropagation() + return _vm._onInput($event) + } + ], + compositionstart: _vm._onComposition, + compositionend: _vm._onComposition, + keyup: function($event) { + $event.stopPropagation() + return _vm._onKeyup($event) + } + } + }) + ]) + ] + ) } var staticRenderFns = [] render._withStripped = true -// CONCATENATED MODULE: ./src/core/view/components/scroll-view/index.vue?vue&type=template&id=e9d562fc& - -// EXTERNAL MODULE: ./src/core/view/mixins/scroller/index.js + 2 modules -var scroller = __webpack_require__(48); +// CONCATENATED MODULE: ./src/core/view/components/input/index.vue?vue&type=template&id=c65e1032& -// EXTERNAL MODULE: ./src/shared/index.js + 4 modules -var shared = __webpack_require__(2); +// EXTERNAL MODULE: ./src/core/view/mixins/index.js + 1 modules +var mixins = __webpack_require__(1); -// CONCATENATED MODULE: ./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader/lib??vue-loader-options!./src/core/view/components/scroll-view/index.vue?vue&type=script&lang=js& +// CONCATENATED MODULE: ./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader/lib??vue-loader-options!./src/core/view/components/input/index.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// // // // @@ -17466,400 +17597,383 @@ var shared = __webpack_require__(2); // // - -var passiveOptions = shared["f" /* supportsPassive */] ? { - passive: true -} : false; -/* harmony default export */ var scroll_viewvue_type_script_lang_js_ = ({ - name: 'ScrollView', - mixins: [scroller["a" /* default */]], +var INPUT_TYPES = ['text', 'number', 'idcard', 'digit', 'password']; +var NUMBER_TYPES = ['number', 'digit']; +/* harmony default export */ var inputvue_type_script_lang_js_ = ({ + name: 'Input', + mixins: [mixins["a" /* emitter */]], + model: { + prop: 'value', + event: 'update:value' + }, props: { - scrollX: { - type: [Boolean, String], - default: false + name: { + type: String, + default: '' }, - scrollY: { - type: [Boolean, String], - default: false + value: { + type: [String, Number], + default: '' }, - upperThreshold: { - type: [Number, String], - default: 50 + type: { + type: String, + default: 'text' }, - lowerThreshold: { - type: [Number, String], - default: 50 + password: { + type: [Boolean, String], + default: false }, - scrollTop: { - type: [Number, String], - default: 0 + placeholder: { + type: String, + default: '' }, - scrollLeft: { - type: [Number, String], - default: 0 + placeholderStyle: { + type: String, + default: '' }, - scrollIntoView: { + placeholderClass: { type: String, default: '' }, - scrollWithAnimation: { + disabled: { type: [Boolean, String], default: false }, - enableBackToTop: { + maxlength: { + type: [Number, String], + default: 140 + }, + focus: { type: [Boolean, String], default: false + }, + confirmType: { + type: String, + default: 'done' } }, data: function data() { return { - lastScrollTop: this.scrollTopNumber, - lastScrollLeft: this.scrollLeftNumber, - lastScrollToUpperTime: 0, - lastScrollToLowerTime: 0 + inputValue: this.value + '', + composing: false, + wrapperHeight: 0, + cachedValue: '' }; }, computed: { - upperThresholdNumber: function upperThresholdNumber() { - var val = Number(this.upperThreshold); - return isNaN(val) ? 50 : val; - }, - lowerThresholdNumber: function lowerThresholdNumber() { - var val = Number(this.lowerThreshold); - return isNaN(val) ? 50 : val; - }, - scrollTopNumber: function scrollTopNumber() { - return Number(this.scrollTop) || 0; + inputType: function inputType() { + var type = ''; + + switch (this.type) { + case 'text': + this.confirmType === 'search' && (type = 'search'); + break; + + case 'idcard': + // TODO 可能要根据不同平台进行区分处理 + type = 'text'; + break; + + case 'digit': + type = 'number'; + break; + + default: + type = ~INPUT_TYPES.indexOf(this.type) ? this.type : 'text'; + break; + } + + return this.password ? 'password' : type; }, - scrollLeftNumber: function scrollLeftNumber() { - return Number(this.scrollLeft) || 0; + step: function step() { + // 处理部分设备中无法输入小数点的问题 + return ~NUMBER_TYPES.indexOf(this.type) ? '0.000000000000000001' : ''; } }, watch: { - scrollTopNumber: function scrollTopNumber(val) { - this._scrollTopChanged(val); + focus: function focus(value) { + value && this._focusInput(); }, - scrollLeftNumber: function scrollLeftNumber(val) { - this._scrollLeftChanged(val); + value: function value(_value) { + this.inputValue = _value + ''; }, - scrollIntoView: function scrollIntoView(val) { - this._scrollIntoViewChanged(val); + inputValue: function inputValue(value) { + this.$emit('update:value', value); + }, + maxlength: function maxlength(value) { + var realValue = this.inputValue.slice(0, parseInt(value, 10)); + realValue !== this.inputValue && (this.inputValue = realValue); } }, + created: function created() { + this.$dispatch('Form', 'uni-form-group-update', { + type: 'add', + vm: this + }); + }, mounted: function mounted() { - var self = this; - this._attached = true; - - this._scrollTopChanged(this.scrollTopNumber); - - this._scrollLeftChanged(this.scrollLeftNumber); - - this._scrollIntoViewChanged(this.scrollIntoView); - - this.__handleScroll = function (e) { - event.preventDefault(); - event.stopPropagation(); - - self._handleScroll.bind(self, event)(); - }; - - var touchStart = null; - var needStop = null; - - this.__handleTouchMove = function (event) { - var x = event.touches[0].pageX; - var y = event.touches[0].pageY; - var main = self.$refs.main; - - if (needStop === null) { - if (Math.abs(x - touchStart.x) > Math.abs(y - touchStart.y)) { - // 横向滑动 - if (self.scrollX) { - if (main.scrollLeft === 0 && x > touchStart.x) { - needStop = false; - return; - } else if (main.scrollWidth === main.offsetWidth + main.scrollLeft && x < touchStart.x) { - needStop = false; - return; - } + if (this.confirmType === 'search') { + var formElem = document.createElement('form'); + formElem.action = ''; - needStop = true; - } else { - needStop = false; - } - } else { - // 纵向滑动 - if (self.scrollY) { - if (main.scrollTop === 0 && y > touchStart.y) { - needStop = false; - return; - } else if (main.scrollHeight === main.offsetHeight + main.scrollTop && y < touchStart.y) { - needStop = false; - return; - } + formElem.onsubmit = function () { + return false; + }; - needStop = true; - } else { - needStop = false; - } - } - } + formElem.className = 'uni-input-form'; + formElem.appendChild(this.$refs.input); + this.$refs.wrapper.appendChild(formElem); + } - if (needStop) { - event.stopPropagation(); - } - }; + var $vm = this; - this.__handleTouchStart = function (event) { - if (event.touches.length === 1) { - needStop = null; - touchStart = { - x: event.touches[0].pageX, - y: event.touches[0].pageY - }; + while ($vm) { + var scopeId = $vm.$options._scopeId; + + if (scopeId) { + this.$refs.placeholder.setAttribute(scopeId, ''); } - }; - this.$refs.main.addEventListener('touchstart', this.__handleTouchStart, passiveOptions); - this.$refs.main.addEventListener('touchmove', this.__handleTouchMove, passiveOptions); - this.$refs.main.addEventListener('scroll', this.__handleScroll, shared["f" /* supportsPassive */] ? { - passive: false - } : false); - }, - activated: function activated() { - // 还原 scroll-view 滚动位置 - this.scrollY && (this.$refs.main.scrollTop = this.lastScrollTop); - this.scrollX && (this.$refs.main.scrollLeft = this.lastScrollLeft); + $vm = $vm.$parent; + } + + this.focus && this._focusInput(); }, beforeDestroy: function beforeDestroy() { - this.$refs.main.removeEventListener('touchstart', this.__handleTouchStart, passiveOptions); - this.$refs.main.removeEventListener('touchmove', this.__handleTouchMove, passiveOptions); - this.$refs.main.removeEventListener('scroll', this.__handleScroll, shared["f" /* supportsPassive */] ? { - passive: false - } : false); + this.$dispatch('Form', 'uni-form-group-update', { + type: 'remove', + vm: this + }); }, methods: { - scrollTo: function scrollTo(t, n) { - var i = this.$refs.main; - t < 0 ? t = 0 : n === 'x' && t > i.scrollWidth - i.offsetWidth ? t = i.scrollWidth - i.offsetWidth : n === 'y' && t > i.scrollHeight - i.offsetHeight && (t = i.scrollHeight - i.offsetHeight); - var r = 0; - var o = ''; - n === 'x' ? r = i.scrollLeft - t : n === 'y' && (r = i.scrollTop - t); + _onKeyup: function _onKeyup($event) { + if ($event.keyCode === 13) { + this.$trigger('confirm', $event, { + value: $event.target.value + }); + } + }, + _onInput: function _onInput($event) { + if (this.composing) { + return; + } // 处理部分输入法可以输入其它字符的情况 - if (r !== 0) { - this.$refs.content.style.transition = 'transform .3s ease-out'; - this.$refs.content.style.webkitTransition = '-webkit-transform .3s ease-out'; - if (n === 'x') { - o = 'translateX(' + r + 'px) translateZ(0)'; + if (~NUMBER_TYPES.indexOf(this.type)) { + if (this.$refs.input.validity && !this.$refs.input.validity.valid) { + $event.target.value = this.cachedValue; + this.inputValue = $event.target.value; // 输入非法字符不触发 input 事件 + + return; } else { - n === 'y' && (o = 'translateY(' + r + 'px) translateZ(0)'); + this.cachedValue = this.inputValue; } + } // type="number" 不支持 maxlength 属性,因此需要主动限制长度。 - this.$refs.content.removeEventListener('transitionend', this.__transitionEnd); - this.$refs.content.removeEventListener('webkitTransitionEnd', this.__transitionEnd); - this.__transitionEnd = this._transitionEnd.bind(this, t, n); - this.$refs.content.addEventListener('transitionend', this.__transitionEnd); - this.$refs.content.addEventListener('webkitTransitionEnd', this.__transitionEnd); - - if (n === 'x') { - // if (e !== 'ios') { - i.style.overflowX = 'hidden'; // } - } else if (n === 'y') { - i.style.overflowY = 'hidden'; - } - this.$refs.content.style.transform = o; - this.$refs.content.style.webkitTransform = o; - } - }, - _handleTrack: function _handleTrack($event) { - if ($event.detail.state === 'start') { - this._x = $event.detail.x; - this._y = $event.detail.y; - this._noBubble = null; - return; - } + if (this.inputType === 'number') { + var maxlength = parseInt(this.maxlength, 10); - if ($event.detail.state === 'end') { - this._noBubble = false; - } + if (maxlength > 0 && $event.target.value.length > maxlength) { + $event.target.value = $event.target.value.slice(0, maxlength); + this.inputValue = $event.target.value; // 字符长度超出范围不触发 input 事件 - if (this._noBubble === null && this.scrollY) { - if (Math.abs(this._y - $event.detail.y) / Math.abs(this._x - $event.detail.x) > 1) { - this._noBubble = true; - } else { - this._noBubble = false; + return; } } - if (this._noBubble === null && this.scrollX) { - if (Math.abs(this._x - $event.detail.x) / Math.abs(this._y - $event.detail.y) > 1) { - this._noBubble = true; - } else { - this._noBubble = false; - } - } + this.$trigger('input', $event, { + value: this.inputValue + }); + }, + _onFocus: function _onFocus($event) { + this.$trigger('focus', $event, { + value: $event.target.value + }); + }, + _onBlur: function _onBlur($event) { + this.$trigger('blur', $event, { + value: $event.target.value + }); + }, + _focusInput: function _focusInput() { + var _this = this; - this._x = $event.detail.x; - this._y = $event.detail.y; + setTimeout(function () { + _this.$refs.input.focus(); + }, 350); + }, + _blurInput: function _blurInput() { + var _this2 = this; - if (this._noBubble) { - $event.stopPropagation(); + setTimeout(function () { + _this2.$refs.input.blur(); + }, 350); + }, + _onComposition: function _onComposition($event) { + if ($event.type === 'compositionstart') { + this.composing = true; + } else { + this.composing = false; } }, - _handleScroll: function _handleScroll($event) { - if (!($event.timeStamp - this._lastScrollTime < 20)) { - this._lastScrollTime = $event.timeStamp; - var target = $event.target; - this.$trigger('scroll', $event, { - scrollLeft: target.scrollLeft, - scrollTop: target.scrollTop, - scrollHeight: target.scrollHeight, - scrollWidth: target.scrollWidth, - deltaX: this.lastScrollLeft - target.scrollLeft, - deltaY: this.lastScrollTop - target.scrollTop - }); + _resetFormData: function _resetFormData() { + this.inputValue = ''; + }, + _getFormData: function _getFormData() { + return this.name ? { + value: this.inputValue, + key: this.name + } : {}; + } + } +}); +// CONCATENATED MODULE: ./src/core/view/components/input/index.vue?vue&type=script&lang=js& + /* harmony default export */ var components_inputvue_type_script_lang_js_ = (inputvue_type_script_lang_js_); +// EXTERNAL MODULE: ./src/core/view/components/input/index.vue?vue&type=style&index=0&lang=css& +var inputvue_type_style_index_0_lang_css_ = __webpack_require__(77); - if (this.scrollY) { - if (target.scrollTop <= this.upperThresholdNumber && this.lastScrollTop - target.scrollTop > 0 && $event.timeStamp - this.lastScrollToUpperTime > 200) { - this.$trigger('scrolltoupper', $event, { - direction: 'top' - }); - this.lastScrollToUpperTime = $event.timeStamp; - } +// EXTERNAL MODULE: ./node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js +var componentNormalizer = __webpack_require__(0); - if (target.scrollTop + target.offsetHeight + this.lowerThresholdNumber >= target.scrollHeight && this.lastScrollTop - target.scrollTop < 0 && $event.timeStamp - this.lastScrollToLowerTime > 200) { - this.$trigger('scrolltolower', $event, { - direction: 'bottom' - }); - this.lastScrollToLowerTime = $event.timeStamp; - } - } +// CONCATENATED MODULE: ./src/core/view/components/input/index.vue - if (this.scrollX) { - if (target.scrollLeft <= this.upperThresholdNumber && this.lastScrollLeft - target.scrollLeft > 0 && $event.timeStamp - this.lastScrollToUpperTime > 200) { - this.$trigger('scrolltoupper', $event, { - direction: 'left' - }); - this.lastScrollToUpperTime = $event.timeStamp; - } - if (target.scrollLeft + target.offsetWidth + this.lowerThresholdNumber >= target.scrollWidth && this.lastScrollLeft - target.scrollLeft < 0 && $event.timeStamp - this.lastScrollToLowerTime > 200) { - this.$trigger('scrolltolower', $event, { - direction: 'right' - }); - this.lastScrollToLowerTime = $event.timeStamp; - } - } - this.lastScrollTop = target.scrollTop; - this.lastScrollLeft = target.scrollLeft; - } - }, - _scrollTopChanged: function _scrollTopChanged(val) { - if (this.scrollY) { - if (this._innerSetScrollTop) { - this._innerSetScrollTop = false; - } else { - if (this.scrollWithAnimation) { - this.scrollTo(val, 'y'); - } else { - this.$refs.main.scrollTop = val; - } - } - } - }, - _scrollLeftChanged: function _scrollLeftChanged(val) { - if (this.scrollX) { - if (this._innerSetScrollLeft) { - this._innerSetScrollLeft = false; - } else { - if (this.scrollWithAnimation) { - this.scrollTo(val, 'x'); - } else { - this.$refs.main.scrollLeft = val; - } - } - } - }, - _scrollIntoViewChanged: function _scrollIntoViewChanged(val) { - if (val) { - if (!/^[_a-zA-Z][-_a-zA-Z0-9:]*$/.test(val)) { - console.group('scroll-into-view="' + val + '" 有误'); - console.error('id 属性值格式错误。如不能以数字开头。'); - console.groupEnd(); - return; - } - var element = this.$el.querySelector('#' + val); - if (element) { - var mainRect = this.$refs.main.getBoundingClientRect(); - var elRect = element.getBoundingClientRect(); - if (this.scrollX) { - var left = elRect.left - mainRect.left; - var scrollLeft = this.$refs.main.scrollLeft; - var x = scrollLeft + left; +/* normalize component */ + +var component = Object(componentNormalizer["a" /* default */])( + components_inputvue_type_script_lang_js_, + render, + staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var api; } +component.options.__file = "src/core/view/components/input/index.vue" +/* harmony default export */ var input = __webpack_exports__["default"] = (component.exports); + +/***/ }), +/* 106 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); + +// CONCATENATED MODULE: ./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"26557f38-vue-loader-template"}!./node_modules/@vue/cli-service/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader/lib??vue-loader-options!./src/core/view/components/checkbox-group/index.vue?vue&type=template&id=37cde58e& +var render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "uni-checkbox-group", + _vm._g({}, _vm.$listeners), + [_vm._t("default")], + 2 + ) +} +var staticRenderFns = [] +render._withStripped = true + - if (this.scrollWithAnimation) { - this.scrollTo(x, 'x'); - } else { - this.$refs.main.scrollLeft = x; - } - } +// CONCATENATED MODULE: ./src/core/view/components/checkbox-group/index.vue?vue&type=template&id=37cde58e& - if (this.scrollY) { - var top = elRect.top - mainRect.top; - var scrollTop = this.$refs.main.scrollTop; - var y = scrollTop + top; +// EXTERNAL MODULE: ./src/core/view/mixins/index.js + 1 modules +var mixins = __webpack_require__(1); - if (this.scrollWithAnimation) { - this.scrollTo(y, 'y'); - } else { - this.$refs.main.scrollTop = y; - } - } +// CONCATENATED MODULE: ./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader/lib??vue-loader-options!./src/core/view/components/checkbox-group/index.vue?vue&type=script&lang=js& +// +// +// +// +// +// + +/* harmony default export */ var checkbox_groupvue_type_script_lang_js_ = ({ + name: 'CheckboxGroup', + mixins: [mixins["a" /* emitter */], mixins["c" /* listeners */]], + props: { + name: { + type: String, + default: '' + } + }, + data: function data() { + return { + checkboxList: [] + }; + }, + listeners: { + '@checkbox-change': '_changeHandler', + '@checkbox-group-update': '_checkboxGroupUpdateHandler' + }, + created: function created() { + this.$dispatch('Form', 'uni-form-group-update', { + type: 'add', + vm: this + }); + }, + beforeDestroy: function beforeDestroy() { + this.$dispatch('Form', 'uni-form-group-update', { + type: 'remove', + vm: this + }); + }, + methods: { + _changeHandler: function _changeHandler($event) { + var value = []; + this.checkboxList.forEach(function (vm) { + if (vm.checkboxChecked) { + value.push(vm.value); } + }); + this.$trigger('change', $event, { + value: value + }); + }, + _checkboxGroupUpdateHandler: function _checkboxGroupUpdateHandler($event) { + if ($event.type === 'add') { + this.checkboxList.push($event.vm); + } else { + var index = this.checkboxList.indexOf($event.vm); + this.checkboxList.splice(index, 1); } }, - _transitionEnd: function _transitionEnd(val, type) { - this.$refs.content.style.transition = ''; - this.$refs.content.style.webkitTransition = ''; - this.$refs.content.style.transform = ''; - this.$refs.content.style.webkitTransform = ''; - var main = this.$refs.main; + _getFormData: function _getFormData() { + var data = {}; - if (type === 'x') { - main.style.overflowX = this.scrollX ? 'auto' : 'hidden'; - main.scrollLeft = val; - } else if (type === 'y') { - main.style.overflowY = this.scrollY ? 'auto' : 'hidden'; - main.scrollTop = val; + if (this.name !== '') { + var value = []; + this.checkboxList.forEach(function (vm) { + if (vm.checkboxChecked) { + value.push(vm.value); + } + }); + data['value'] = value; + data['key'] = this.name; } - this.$refs.content.removeEventListener('transitionend', this.__transitionEnd); - this.$refs.content.removeEventListener('webkitTransitionEnd', this.__transitionEnd); - }, - getScrollPosition: function getScrollPosition() { - var main = this.$refs.main; - return { - scrollLeft: main.scrollLeft, - scrollTop: main.scrollTop - }; + return data; } } }); -// CONCATENATED MODULE: ./src/core/view/components/scroll-view/index.vue?vue&type=script&lang=js& - /* harmony default export */ var components_scroll_viewvue_type_script_lang_js_ = (scroll_viewvue_type_script_lang_js_); -// EXTERNAL MODULE: ./src/core/view/components/scroll-view/index.vue?vue&type=style&index=0&lang=css& -var scroll_viewvue_type_style_index_0_lang_css_ = __webpack_require__(85); +// CONCATENATED MODULE: ./src/core/view/components/checkbox-group/index.vue?vue&type=script&lang=js& + /* harmony default export */ var components_checkbox_groupvue_type_script_lang_js_ = (checkbox_groupvue_type_script_lang_js_); +// EXTERNAL MODULE: ./src/core/view/components/checkbox-group/index.vue?vue&type=style&index=0&lang=css& +var checkbox_groupvue_type_style_index_0_lang_css_ = __webpack_require__(73); // EXTERNAL MODULE: ./node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js var componentNormalizer = __webpack_require__(0); -// CONCATENATED MODULE: ./src/core/view/components/scroll-view/index.vue +// CONCATENATED MODULE: ./src/core/view/components/checkbox-group/index.vue @@ -17869,7 +17983,7 @@ var componentNormalizer = __webpack_require__(0); /* normalize component */ var component = Object(componentNormalizer["a" /* default */])( - components_scroll_viewvue_type_script_lang_js_, + components_checkbox_groupvue_type_script_lang_js_, render, staticRenderFns, false, @@ -17881,64 +17995,51 @@ var component = Object(componentNormalizer["a" /* default */])( /* hot reload */ if (false) { var api; } -component.options.__file = "src/core/view/components/scroll-view/index.vue" -/* harmony default export */ var scroll_view = __webpack_exports__["default"] = (component.exports); +component.options.__file = "src/core/view/components/checkbox-group/index.vue" +/* harmony default export */ var checkbox_group = __webpack_exports__["default"] = (component.exports); /***/ }), -/* 102 */ +/* 107 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); -// CONCATENATED MODULE: ./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"26557f38-vue-loader-template"}!./node_modules/@vue/cli-service/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader/lib??vue-loader-options!./src/core/view/components/view/index.vue?vue&type=template&id=6ae9b1be& +// CONCATENATED MODULE: ./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"26557f38-vue-loader-template"}!./node_modules/@vue/cli-service/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader/lib??vue-loader-options!./src/core/view/components/checkbox/index.vue?vue&type=template&id=a63c1348& var render = function() { var _vm = this var _h = _vm.$createElement var _c = _vm._self._c || _h - return _vm.hoverClass && _vm.hoverClass !== "none" - ? _c( - "uni-view", - _vm._g( - { - class: [_vm.hovering ? _vm.hoverClass : ""], - on: { - touchstart: _vm._hoverTouchStart, - touchend: _vm._hoverTouchEnd, - touchcancel: _vm._hoverTouchCancel - } - }, - _vm.$listeners - ), - [_vm._t("default")], + return _c( + "uni-checkbox", + _vm._g({ on: { click: _vm._onClick } }, _vm.$listeners), + [ + _c( + "div", + { staticClass: "uni-checkbox-wrapper" }, + [ + _c("div", { + staticClass: "uni-checkbox-input", + class: [_vm.checkboxChecked ? "uni-checkbox-input-checked" : ""], + style: { color: _vm.color } + }), + _vm._t("default") + ], 2 ) - : _c("uni-view", _vm._g({}, _vm.$listeners), [_vm._t("default")], 2) + ] + ) } var staticRenderFns = [] render._withStripped = true -// CONCATENATED MODULE: ./src/core/view/components/view/index.vue?vue&type=template&id=6ae9b1be& +// CONCATENATED MODULE: ./src/core/view/components/checkbox/index.vue?vue&type=template&id=a63c1348& -// EXTERNAL MODULE: ./src/core/view/mixins/hover.js -var hover = __webpack_require__(14); +// EXTERNAL MODULE: ./src/core/view/mixins/index.js + 1 modules +var mixins = __webpack_require__(1); -// CONCATENATED MODULE: ./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader/lib??vue-loader-options!./src/core/view/components/view/index.vue?vue&type=script&lang=js& -// -// -// -// -// -// -// -// -// -// -// -// -// -// +// CONCATENATED MODULE: ./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader/lib??vue-loader-options!./src/core/view/components/checkbox/index.vue?vue&type=script&lang=js& // // // @@ -17953,22 +18054,92 @@ var hover = __webpack_require__(14); // // -/* harmony default export */ var viewvue_type_script_lang_js_ = ({ - name: 'View', - mixins: [hover["a" /* default */]], +/* harmony default export */ var checkboxvue_type_script_lang_js_ = ({ + name: 'Checkbox', + mixins: [mixins["a" /* emitter */], mixins["c" /* listeners */]], + props: { + checked: { + type: [Boolean, String], + default: false + }, + id: { + type: String, + default: '' + }, + disabled: { + type: [Boolean, String], + default: false + }, + color: { + type: String, + default: '#007aff' + }, + value: { + type: String, + default: '' + } + }, + data: function data() { + return { + checkboxChecked: this.checked, + checkboxValue: this.value + }; + }, + watch: { + checked: function checked(val) { + this.checkboxChecked = val; + }, + value: function value(val) { + this.checkboxValue = val; + } + }, listeners: { - 'label-click': 'clickHandler' + 'label-click': '_onClick', + '@label-click': '_onClick' + }, + created: function created() { + this.$dispatch('CheckboxGroup', 'uni-checkbox-group-update', { + type: 'add', + vm: this + }); + this.$dispatch('Form', 'uni-form-group-update', { + type: 'add', + vm: this + }); + }, + beforeDestroy: function beforeDestroy() { + this.$dispatch('CheckboxGroup', 'uni-checkbox-group-update', { + type: 'remove', + vm: this + }); + this.$dispatch('Form', 'uni-form-group-update', { + type: 'remove', + vm: this + }); + }, + methods: { + _onClick: function _onClick($event) { + if (this.disabled) { + return; + } + + this.checkboxChecked = !this.checkboxChecked; + this.$dispatch('CheckboxGroup', 'uni-checkbox-change', $event); + }, + _resetFormData: function _resetFormData() { + this.checkboxChecked = false; + } } }); -// CONCATENATED MODULE: ./src/core/view/components/view/index.vue?vue&type=script&lang=js& - /* harmony default export */ var components_viewvue_type_script_lang_js_ = (viewvue_type_script_lang_js_); -// EXTERNAL MODULE: ./src/core/view/components/view/index.vue?vue&type=style&index=0&lang=css& -var viewvue_type_style_index_0_lang_css_ = __webpack_require__(92); +// CONCATENATED MODULE: ./src/core/view/components/checkbox/index.vue?vue&type=script&lang=js& + /* harmony default export */ var components_checkboxvue_type_script_lang_js_ = (checkboxvue_type_script_lang_js_); +// EXTERNAL MODULE: ./src/core/view/components/checkbox/index.vue?vue&type=style&index=0&lang=css& +var checkboxvue_type_style_index_0_lang_css_ = __webpack_require__(74); // EXTERNAL MODULE: ./node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js var componentNormalizer = __webpack_require__(0); -// CONCATENATED MODULE: ./src/core/view/components/view/index.vue +// CONCATENATED MODULE: ./src/core/view/components/checkbox/index.vue @@ -17978,7 +18149,7 @@ var componentNormalizer = __webpack_require__(0); /* normalize component */ var component = Object(componentNormalizer["a" /* default */])( - components_viewvue_type_script_lang_js_, + components_checkboxvue_type_script_lang_js_, render, staticRenderFns, false, @@ -17990,11 +18161,11 @@ var component = Object(componentNormalizer["a" /* default */])( /* hot reload */ if (false) { var api; } -component.options.__file = "src/core/view/components/view/index.vue" -/* harmony default export */ var view = __webpack_exports__["default"] = (component.exports); +component.options.__file = "src/core/view/components/checkbox/index.vue" +/* harmony default export */ var components_checkbox = __webpack_exports__["default"] = (component.exports); /***/ }), -/* 103 */ +/* 108 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -18413,291 +18584,466 @@ var mixins = __webpack_require__(1); // CONCATENATED MODULE: ./src/core/view/components/textarea/index.vue?vue&type=script&lang=js& /* harmony default export */ var components_textareavue_type_script_lang_js_ = (textareavue_type_script_lang_js_); // EXTERNAL MODULE: ./src/core/view/components/textarea/index.vue?vue&type=style&index=0&lang=css& -var textareavue_type_style_index_0_lang_css_ = __webpack_require__(91); +var textareavue_type_style_index_0_lang_css_ = __webpack_require__(93); + +// EXTERNAL MODULE: ./node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js +var componentNormalizer = __webpack_require__(0); + +// CONCATENATED MODULE: ./src/core/view/components/textarea/index.vue + + + + + + +/* normalize component */ + +var component = Object(componentNormalizer["a" /* default */])( + components_textareavue_type_script_lang_js_, + render, + staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var api; } +component.options.__file = "src/core/view/components/textarea/index.vue" +/* harmony default export */ var components_textarea = __webpack_exports__["default"] = (component.exports); + +/***/ }), +/* 109 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); + +// CONCATENATED MODULE: ./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"26557f38-vue-loader-template"}!./node_modules/@vue/cli-service/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader/lib??vue-loader-options!./src/core/view/components/form/index.vue?vue&type=template&id=7735a91d& +var render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c("uni-form", _vm._g({}, _vm.$listeners), [ + _c("span", [_vm._t("default")], 2) + ]) +} +var staticRenderFns = [] +render._withStripped = true + + +// CONCATENATED MODULE: ./src/core/view/components/form/index.vue?vue&type=template&id=7735a91d& + +// EXTERNAL MODULE: ./src/core/view/mixins/index.js + 1 modules +var mixins = __webpack_require__(1); + +// CONCATENATED MODULE: ./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader/lib??vue-loader-options!./src/core/view/components/form/index.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +/* harmony default export */ var formvue_type_script_lang_js_ = ({ + name: 'Form', + mixins: [mixins["c" /* listeners */]], + data: function data() { + return { + childrenList: [] + }; + }, + listeners: { + '@form-submit': '_onSubmit', + '@form-reset': '_onReset', + '@form-group-update': '_formGroupUpdateHandler' + }, + methods: { + _onSubmit: function _onSubmit($event) { + var data = {}; + this.childrenList.forEach(function (vm) { + if (vm._getFormData && vm._getFormData().key) { + data[vm._getFormData().key] = vm._getFormData().value; + } + }); + this.$trigger('submit', $event, { + value: data + }); + }, + _onReset: function _onReset($event) { + this.$trigger('reset', $event, {}); + this.childrenList.forEach(function (vm) { + vm._resetFormData && vm._resetFormData(); + }); + }, + _formGroupUpdateHandler: function _formGroupUpdateHandler($event) { + if ($event.type === 'add') { + this.childrenList.push($event.vm); + } else { + var index = this.childrenList.indexOf($event.vm); + this.childrenList.splice(index, 1); + } + } + } +}); +// CONCATENATED MODULE: ./src/core/view/components/form/index.vue?vue&type=script&lang=js& + /* harmony default export */ var components_formvue_type_script_lang_js_ = (formvue_type_script_lang_js_); // EXTERNAL MODULE: ./node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js var componentNormalizer = __webpack_require__(0); -// CONCATENATED MODULE: ./src/core/view/components/textarea/index.vue +// CONCATENATED MODULE: ./src/core/view/components/form/index.vue + + + + + +/* normalize component */ + +var component = Object(componentNormalizer["a" /* default */])( + components_formvue_type_script_lang_js_, + render, + staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var api; } +component.options.__file = "src/core/view/components/form/index.vue" +/* harmony default export */ var components_form = __webpack_exports__["default"] = (component.exports); + +/***/ }), +/* 110 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); + +// EXTERNAL MODULE: ./packages/uni-app-plus/dist/view.runtime.esm.js +var view_runtime_esm = __webpack_require__(5); + +// CONCATENATED MODULE: ./src/core/helpers/get-real-route.js +function getRealRoute(fromRoute, toRoute) { + if (!toRoute) { + toRoute = fromRoute; + + if (toRoute.indexOf('/') === 0) { + return toRoute; + } + + var pages = getCurrentPages(); + + if (pages.length) { + fromRoute = pages[pages.length - 1].$page.route; + } else { + fromRoute = ''; + } + } else { + if (toRoute.indexOf('/') === 0) { + return toRoute; + } + } + + if (toRoute.indexOf('./') === 0) { + return getRealRoute(fromRoute, toRoute.substr(2)); + } + + var toRouteArray = toRoute.split('/'); + var toRouteLength = toRouteArray.length; + var i = 0; + + for (; i < toRouteLength && toRouteArray[i] === '..'; i++) {// noop + } + + toRouteArray.splice(0, i); + toRoute = toRouteArray.join('/'); + var fromRouteArray = fromRoute.length > 0 ? fromRoute.split('/') : []; + fromRouteArray.splice(fromRouteArray.length - i - 1, i + 1); + return '/' + fromRouteArray.concat(toRouteArray).join('/'); +} +// CONCATENATED MODULE: ./src/platforms/app-plus/helpers/get-real-path.js +var SCHEME_RE = /^([a-z-]+:)?\/\//i; +var DATA_RE = /^data:.*,.*/; // 处理 Android 平台解压与非解压模式下获取的路径不一致的情况 +function handleLocalPath(filePath) { + return plus.io.convertLocalFileSystemURL(filePath).replace(/^\/?apps\//, '/android_asset/apps/').replace(/\/$/, ''); +} +var wwwPath; +function addBase(filePath) { + if (!wwwPath) { + // 需要时,初始化一次,外部直接初始化,需要等 plusready + wwwPath = 'file://' + handleLocalPath('_www') + '/'; + } + return wwwPath + filePath; +} -/* normalize component */ +function getRealPath(filePath) { + if (filePath.indexOf('/') === 0) { + if (filePath.indexOf('//') === 0) { + filePath = 'https:' + filePath; + } else { + return addBase(filePath.substr(1)); + } + } // 网络资源或base64 -var component = Object(componentNormalizer["a" /* default */])( - components_textareavue_type_script_lang_js_, - render, - staticRenderFns, - false, - null, - null, - null - -) -/* hot reload */ -if (false) { var api; } -component.options.__file = "src/core/view/components/textarea/index.vue" -/* harmony default export */ var components_textarea = __webpack_exports__["default"] = (component.exports); + if (SCHEME_RE.test(filePath) || DATA_RE.test(filePath) || filePath.indexOf('blob:') === 0) { + return filePath; + } // _do=>_doc,_documents,_downloads -/***/ }), -/* 104 */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { -"use strict"; -__webpack_require__.r(__webpack_exports__); + if (filePath.indexOf('_www') === 0 || filePath.indexOf('_do') === 0) { + return 'file://' + handleLocalPath(filePath); + } -// CONCATENATED MODULE: ./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"26557f38-vue-loader-template"}!./node_modules/@vue/cli-service/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader/lib??vue-loader-options!./src/core/view/components/switch/index.vue?vue&type=template&id=04951fe6& -var render = function() { - var _vm = this - var _h = _vm.$createElement - var _c = _vm._self._c || _h - return _c( - "uni-switch", - _vm._g({ on: { click: _vm._onClick } }, _vm.$listeners), - [ - _c("div", { staticClass: "uni-switch-wrapper" }, [ - _c("div", { - directives: [ - { - name: "show", - rawName: "v-show", - value: _vm.type === "switch", - expression: "type === 'switch'" - } - ], - staticClass: "uni-switch-input", - class: [_vm.switchChecked ? "uni-switch-input-checked" : ""], - style: { - backgroundColor: _vm.switchChecked ? _vm.color : "#DFDFDF", - borderColor: _vm.switchChecked ? _vm.color : "#DFDFDF" - } - }), - _c("div", { - directives: [ - { - name: "show", - rawName: "v-show", - value: _vm.type === "checkbox", - expression: "type === 'checkbox'" - } - ], - staticClass: "uni-checkbox-input", - class: [_vm.switchChecked ? "uni-checkbox-input-checked" : ""], - style: { color: _vm.color } - }) - ]) - ] - ) -} -var staticRenderFns = [] -render._withStripped = true + var pages = getCurrentPages(); + if (pages.length) { + return addBase(getRealRoute(pages[pages.length - 1].$page.route, filePath).substr(1)); + } -// CONCATENATED MODULE: ./src/core/view/components/switch/index.vue?vue&type=template&id=04951fe6& + return filePath; +} +// EXTERNAL MODULE: ./src/core/view/plugins/events.js + 1 modules +var events = __webpack_require__(10); -// EXTERNAL MODULE: ./src/core/view/mixins/index.js + 1 modules -var mixins = __webpack_require__(1); +// CONCATENATED MODULE: ./src/core/view/mixins/base.js -// CONCATENATED MODULE: ./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader/lib??vue-loader-options!./src/core/view/components/switch/index.vue?vue&type=script&lang=js& -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -/* harmony default export */ var switchvue_type_script_lang_js_ = ({ - name: 'Switch', - mixins: [mixins["a" /* emitter */], mixins["c" /* listeners */]], - props: { - name: { - type: String, - default: '' - }, - checked: { - type: [Boolean, String], - default: false - }, - type: { - type: String, - default: 'switch' - }, - id: { - type: String, - default: '' - }, - disabled: { - type: [Boolean, String], - default: false +/* harmony default export */ var base = ({ + methods: { + $getRealPath: function $getRealPath(src) { + return getRealPath(src); }, - color: { - type: String, - default: '#007aff' - } - }, - data: function data() { - return { - switchChecked: this.checked - }; - }, - watch: { - checked: function checked(val) { - this.switchChecked = val; + $trigger: function $trigger(name, $event, detail) { + this.$emit(name, events["b" /* processEvent */].call(this, name, $event, detail, this.$el, this.$el)); } - }, - created: function created() { - this.$dispatch('Form', 'uni-form-group-update', { - type: 'add', - vm: this - }); - }, - beforeDestroy: function beforeDestroy() { - this.$dispatch('Form', 'uni-form-group-update', { - type: 'remove', - vm: this - }); - }, - listeners: { - 'label-click': '_onClick', - '@label-click': '_onClick' - }, - methods: { - _onClick: function _onClick($event) { - if (this.disabled) { - return; - } + } +}); +// CONCATENATED MODULE: ./src/core/view/mixins/animation.js +function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); } - this.switchChecked = !this.switchChecked; - this.$trigger('change', $event, { - value: this.switchChecked - }); - }, - _resetFormData: function _resetFormData() { - this.switchChecked = false; - }, - _getFormData: function _getFormData() { - var data = {}; +function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); } + +function _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); } + +function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } } + +function converPx(value) { + if (/\d+[ur]px$/i.test(value)) { + value.replace(/\d+[ur]px$/i, function (text) { + return "".concat(uni.upx2px(parseFloat(text)), "px"); + }); // eslint-disable-next-line no-useless-escape + } else if (/^-?[\d\.]+$/.test(value)) { + return "".concat(value, "px"); + } + + return value || ''; +} + +function converType(type) { + return type.replace(/[A-Z]/g, function (text) { + return "-".concat(text.toLowerCase()); + }).replace('webkit', '-webkit'); +} + +function getStyle(action) { + var animateTypes1 = ['matrix', 'matrix3d', 'scale', 'scale3d', 'rotate3d', 'skew', 'translate', 'translate3d']; + var animateTypes2 = ['scaleX', 'scaleY', 'scaleZ', 'rotate', 'rotateX', 'rotateY', 'rotateZ', 'skewX', 'skewY', 'translateX', 'translateY', 'translateZ']; + var animateTypes3 = ['opacity', 'backgroundColor']; + var animateTypes4 = ['width', 'height', 'left', 'right', 'top', 'bottom']; + var animates = action.animates; + var option = action.option; + var transition = option.transition; + var style = {}; + var transform = []; + animates.forEach(function (animate) { + var type = animate.type; + + var args = _toConsumableArray(animate.args); + + if (animateTypes1.concat(animateTypes2).includes(type)) { + if (type.startsWith('rotate') || type.startsWith('skew')) { + args = args.map(function (value) { + return parseFloat(value) + 'deg'; + }); + } else if (type.startsWith('translate')) { + args = args.map(converPx); + } - if (this.name !== '') { - data['value'] = this.switchChecked; - data['key'] = this.name; + if (animateTypes2.indexOf(type)) { + args.length = 1; } - return data; + transform.push("".concat(type, "(").concat(args.join(','), ")")); + } else if (animateTypes3.concat(animateTypes4).includes(args[0])) { + type = args[0]; + var value = args[1]; + style[type] = animateTypes4.includes(type) ? converPx(value) : value; } - } -}); -// CONCATENATED MODULE: ./src/core/view/components/switch/index.vue?vue&type=script&lang=js& - /* harmony default export */ var components_switchvue_type_script_lang_js_ = (switchvue_type_script_lang_js_); -// EXTERNAL MODULE: ./src/core/view/components/switch/index.vue?vue&type=style&index=0&lang=css& -var switchvue_type_style_index_0_lang_css_ = __webpack_require__(89); + }); + style.transform = style.webkitTransform = transform.join(' '); + style.transition = style.webkitTransition = Object.keys(style).map(function (type) { + return "".concat(converType(type), " ").concat(transition.duration, "ms ").concat(transition.timingFunction, " ").concat(transition.delay, "ms"); + }).join(','); + style.transformOrigin = style.webkitTransformOrigin = option.transformOrigin; + return style; +} -// EXTERNAL MODULE: ./node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js -var componentNormalizer = __webpack_require__(0); +function startAnimation(context) { + var animation = context.animation; -// CONCATENATED MODULE: ./src/core/view/components/switch/index.vue + if (!animation || !animation.actions || !animation.actions.length) { + return; + } + var index = 0; + var actions = animation.actions; + var length = animation.actions.length; + function animate() { + var action = actions[index]; + var transition = action.option.transition; + var style = getStyle(action); + Object.keys(style).forEach(function (key) { + context.$el.style[key] = style[key]; + }); + index += 1; + if (index < length) { + setTimeout(animate, transition.duration + transition.delay); + } + } + animate(); +} +/* harmony default export */ var animation = ({ + props: ['animation'], + watch: { + animation: function animation() { + startAnimation(this); + } + }, + mounted: function mounted() { + startAnimation(this); + } +}); +// CONCATENATED MODULE: ./src/core/view/components/index.js -/* normalize component */ -var component = Object(componentNormalizer["a" /* default */])( - components_switchvue_type_script_lang_js_, - render, - staticRenderFns, - false, - null, - null, - null - -) -/* hot reload */ -if (false) { var api; } -component.options.__file = "src/core/view/components/switch/index.vue" -/* harmony default export */ var components_switch = __webpack_exports__["default"] = (component.exports); +var requireComponents = [// baseComponents +__webpack_require__(70), __webpack_require__(95)]; +requireComponents.forEach(function (components, index) { + components.keys().forEach(function (fileName) { + // 获取组件配置 + var componentModule = components(fileName); + var componentConfig = componentModule.default || componentModule; + componentConfig.mixins = componentConfig.mixins ? [].concat(base, componentConfig.mixins) : [base]; + componentConfig.mixins.push(animation); + componentConfig.name = 'VUni' + componentConfig.name; + componentConfig.isReserved = true; // 全局注册组件 + + view_runtime_esm["a" /* default */].component(componentConfig.name, componentConfig); + }); +}); /***/ }), -/* 105 */ +/* 111 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); -// CONCATENATED MODULE: ./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"26557f38-vue-loader-template"}!./node_modules/@vue/cli-service/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader/lib??vue-loader-options!./src/core/view/components/swiper-item/index.vue?vue&type=template&id=3883b065& +// CONCATENATED MODULE: ./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"26557f38-vue-loader-template"}!./node_modules/@vue/cli-service/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader/lib??vue-loader-options!./src/core/view/components/view/index.vue?vue&type=template&id=6ae9b1be& var render = function() { var _vm = this var _h = _vm.$createElement var _c = _vm._self._c || _h - return _c( - "uni-swiper-item", - _vm._g({}, _vm.$listeners), - [_vm._t("default")], - 2 - ) + return _vm.hoverClass && _vm.hoverClass !== "none" + ? _c( + "uni-view", + _vm._g( + { + class: [_vm.hovering ? _vm.hoverClass : ""], + on: { + touchstart: _vm._hoverTouchStart, + touchend: _vm._hoverTouchEnd, + touchcancel: _vm._hoverTouchCancel + } + }, + _vm.$listeners + ), + [_vm._t("default")], + 2 + ) + : _c("uni-view", _vm._g({}, _vm.$listeners), [_vm._t("default")], 2) } var staticRenderFns = [] render._withStripped = true -// CONCATENATED MODULE: ./src/core/view/components/swiper-item/index.vue?vue&type=template&id=3883b065& +// CONCATENATED MODULE: ./src/core/view/components/view/index.vue?vue&type=template&id=6ae9b1be& -// CONCATENATED MODULE: ./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader/lib??vue-loader-options!./src/core/view/components/swiper-item/index.vue?vue&type=script&lang=js& +// EXTERNAL MODULE: ./src/core/view/mixins/hover.js +var hover = __webpack_require__(14); + +// CONCATENATED MODULE: ./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader/lib??vue-loader-options!./src/core/view/components/view/index.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// // // // // // -/* harmony default export */ var swiper_itemvue_type_script_lang_js_ = ({ - name: 'SwiperItem', - props: { - itemId: { - type: String, - default: '' - } - }, - mounted: function mounted() { - var $el = this.$el; - $el.style.position = 'absolute'; - $el.style.width = '100%'; - $el.style.height = '100%'; - var callbacks = this.$vnode._callbacks; - if (callbacks) { - callbacks.forEach(function (callback) { - callback(); - }); - } +/* harmony default export */ var viewvue_type_script_lang_js_ = ({ + name: 'View', + mixins: [hover["a" /* default */]], + listeners: { + 'label-click': 'clickHandler' } }); -// CONCATENATED MODULE: ./src/core/view/components/swiper-item/index.vue?vue&type=script&lang=js& - /* harmony default export */ var components_swiper_itemvue_type_script_lang_js_ = (swiper_itemvue_type_script_lang_js_); -// EXTERNAL MODULE: ./src/core/view/components/swiper-item/index.vue?vue&type=style&index=0&lang=css& -var swiper_itemvue_type_style_index_0_lang_css_ = __webpack_require__(87); +// CONCATENATED MODULE: ./src/core/view/components/view/index.vue?vue&type=script&lang=js& + /* harmony default export */ var components_viewvue_type_script_lang_js_ = (viewvue_type_script_lang_js_); +// EXTERNAL MODULE: ./src/core/view/components/view/index.vue?vue&type=style&index=0&lang=css& +var viewvue_type_style_index_0_lang_css_ = __webpack_require__(94); // EXTERNAL MODULE: ./node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js var componentNormalizer = __webpack_require__(0); -// CONCATENATED MODULE: ./src/core/view/components/swiper-item/index.vue +// CONCATENATED MODULE: ./src/core/view/components/view/index.vue @@ -18707,7 +19053,7 @@ var componentNormalizer = __webpack_require__(0); /* normalize component */ var component = Object(componentNormalizer["a" /* default */])( - components_swiper_itemvue_type_script_lang_js_, + components_viewvue_type_script_lang_js_, render, staticRenderFns, false, @@ -18719,276 +19065,305 @@ var component = Object(componentNormalizer["a" /* default */])( /* hot reload */ if (false) { var api; } -component.options.__file = "src/core/view/components/swiper-item/index.vue" -/* harmony default export */ var swiper_item = __webpack_exports__["default"] = (component.exports); +component.options.__file = "src/core/view/components/view/index.vue" +/* harmony default export */ var view = __webpack_exports__["default"] = (component.exports); /***/ }), -/* 106 */ +/* 112 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); -// EXTERNAL MODULE: ./packages/uni-app-plus/dist/view.runtime.esm.js -var view_runtime_esm = __webpack_require__(5); - -// CONCATENATED MODULE: ./src/core/helpers/get-real-route.js -function getRealRoute(fromRoute, toRoute) { - if (!toRoute) { - toRoute = fromRoute; - - if (toRoute.indexOf('/') === 0) { - return toRoute; - } - - var pages = getCurrentPages(); - - if (pages.length) { - fromRoute = pages[pages.length - 1].$page.route; - } else { - fromRoute = ''; - } - } else { - if (toRoute.indexOf('/') === 0) { - return toRoute; - } - } - - if (toRoute.indexOf('./') === 0) { - return getRealRoute(fromRoute, toRoute.substr(2)); - } - - var toRouteArray = toRoute.split('/'); - var toRouteLength = toRouteArray.length; - var i = 0; - - for (; i < toRouteLength && toRouteArray[i] === '..'; i++) {// noop - } - - toRouteArray.splice(0, i); - toRoute = toRouteArray.join('/'); - var fromRouteArray = fromRoute.length > 0 ? fromRoute.split('/') : []; - fromRouteArray.splice(fromRouteArray.length - i - 1, i + 1); - return '/' + fromRouteArray.concat(toRouteArray).join('/'); -} -// CONCATENATED MODULE: ./src/platforms/app-plus/helpers/get-real-path.js - -var SCHEME_RE = /^([a-z-]+:)?\/\//i; -var DATA_RE = /^data:.*,.*/; // 处理 Android 平台解压与非解压模式下获取的路径不一致的情况 - -function handleLocalPath(filePath) { - return plus.io.convertLocalFileSystemURL(filePath).replace(/^\/?apps\//, '/android_asset/apps/').replace(/\/$/, ''); +// CONCATENATED MODULE: ./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"26557f38-vue-loader-template"}!./node_modules/@vue/cli-service/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader/lib??vue-loader-options!./src/core/view/components/image/index.vue?vue&type=template&id=c7af6f90& +var render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "uni-image", + _vm._g({}, _vm.$listeners), + [ + _c("div", { ref: "content", style: _vm.modeStyle }), + _c("img", { attrs: { src: _vm.realImagePath } }), + _vm.mode === "widthFix" + ? _c("v-uni-resize-sensor", { + ref: "sensor", + on: { resize: _vm._resize } + }) + : _vm._e() + ], + 1 + ) } +var staticRenderFns = [] +render._withStripped = true -var wwwPath; -function addBase(filePath) { - if (!wwwPath) { - // 需要时,初始化一次,外部直接初始化,需要等 plusready - wwwPath = 'file://' + handleLocalPath('_www') + '/'; - } +// CONCATENATED MODULE: ./src/core/view/components/image/index.vue?vue&type=template&id=c7af6f90& - return wwwPath + filePath; -} +// CONCATENATED MODULE: ./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader/lib??vue-loader-options!./src/core/view/components/image/index.vue?vue&type=script&lang=js& +function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } -function getRealPath(filePath) { - if (filePath.indexOf('/') === 0) { - if (filePath.indexOf('//') === 0) { - filePath = 'https:' + filePath; - } else { - return addBase(filePath.substr(1)); +// +// +// +// +// +// +// +// +// +// +// +// +/* harmony default export */ var imagevue_type_script_lang_js_ = ({ + name: 'Image', + props: { + src: { + type: String, + default: '' + }, + mode: { + type: String, + default: 'scaleToFill' + }, + // TODO 懒加载 + lazyLoad: { + type: [Boolean, String], + default: false } - } // 网络资源或base64 + }, + data: function data() { + return { + originalWidth: 0, + originalHeight: 0, + availHeight: '', + sizeFixed: false + }; + }, + computed: { + ratio: function ratio() { + return this.originalWidth && this.originalHeight ? this.originalWidth / this.originalHeight : 0; + }, + realImagePath: function realImagePath() { + return this.src && this.$getRealPath(this.src); + }, + modeStyle: function modeStyle() { + var size = 'auto'; + var position = ''; + var repeat = 'no-repeat'; + switch (this.mode) { + case 'aspectFit': + size = 'contain'; + position = 'center center'; + break; - if (SCHEME_RE.test(filePath) || DATA_RE.test(filePath) || filePath.indexOf('blob:') === 0) { - return filePath; - } // _do=>_doc,_documents,_downloads + case 'aspectFill': + size = 'cover'; + position = 'center center'; + break; + case 'widthFix': + size = '100% 100%'; + break; - if (filePath.indexOf('_www') === 0 || filePath.indexOf('_do') === 0) { - return 'file://' + handleLocalPath(filePath); - } + case 'top': + position = 'center top'; + break; - var pages = getCurrentPages(); + case 'bottom': + position = 'center bottom'; + break; - if (pages.length) { - return addBase(getRealRoute(pages[pages.length - 1].$page.route, filePath).substr(1)); - } + case 'center': + position = 'center center'; + break; - return filePath; -} -// EXTERNAL MODULE: ./src/core/view/plugins/events.js + 1 modules -var events = __webpack_require__(10); + case 'left': + position = 'left center'; + break; -// CONCATENATED MODULE: ./src/core/view/mixins/base.js + case 'right': + position = 'right center'; + break; + case 'top left': + position = 'left top'; + break; -/* harmony default export */ var base = ({ - methods: { - $getRealPath: function $getRealPath(src) { - return getRealPath(src); - }, - $trigger: function $trigger(name, $event, detail) { - this.$emit(name, events["b" /* processEvent */].call(this, name, $event, detail, this.$el, this.$el)); - } - } -}); -// CONCATENATED MODULE: ./src/core/view/mixins/animation.js -function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); } + case 'top right': + position = 'right top'; + break; -function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); } + case 'bottom left': + position = 'left bottom'; + break; -function _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); } + case 'bottom right': + position = 'right bottom'; + break; -function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } } + default: + size = '100% 100%'; + position = '0% 0%'; + break; + } -function converPx(value) { - if (/\d+[ur]px$/i.test(value)) { - value.replace(/\d+[ur]px$/i, function (text) { - return "".concat(uni.upx2px(parseFloat(text)), "px"); - }); // eslint-disable-next-line no-useless-escape - } else if (/^-?[\d\.]+$/.test(value)) { - return "".concat(value, "px"); - } + return "background-position:".concat(position, ";background-size:").concat(size, ";background-repeat:").concat(repeat, ";"); + } + }, + watch: { + src: function src(newValue, oldValue) { + this._loadImage(); + }, + mode: function mode(newValue, oldValue) { + if (oldValue === 'widthFix') { + this.$el.style.height = this.availHeight; + this.sizeFixed = false; + } - return value || ''; -} + if (newValue === 'widthFix' && this.ratio) { + this._fixSize(); + } + } + }, + mounted: function mounted() { + this.availHeight = this.$el.style.height || ''; -function converType(type) { - return type.replace(/[A-Z]/g, function (text) { - return "-".concat(text.toLowerCase()); - }).replace('webkit', '-webkit'); -} + this._loadImage(); + }, + methods: { + _resize: function _resize() { + if (this.mode === 'widthFix' && !this.sizeFixed) { + this._fixSize(); + } + }, + _fixSize: function _fixSize() { + var elWidth = this._getWidth(); -function getStyle(action) { - var animateTypes1 = ['matrix', 'matrix3d', 'scale', 'scale3d', 'rotate3d', 'skew', 'translate', 'translate3d']; - var animateTypes2 = ['scaleX', 'scaleY', 'scaleZ', 'rotate', 'rotateX', 'rotateY', 'rotateZ', 'skewX', 'skewY', 'translateX', 'translateY', 'translateZ']; - var animateTypes3 = ['opacity', 'backgroundColor']; - var animateTypes4 = ['width', 'height', 'left', 'right', 'top', 'bottom']; - var animates = action.animates; - var option = action.option; - var transition = option.transition; - var style = {}; - var transform = []; - animates.forEach(function (animate) { - var type = animate.type; + if (elWidth) { + var height = elWidth / this.ratio; // fix: 解决 Chrome 浏览器上某些情况下导致 1px 缝隙的问题 - var args = _toConsumableArray(animate.args); + if ((typeof navigator === "undefined" ? "undefined" : _typeof(navigator)) && navigator.vendor === 'Google Inc.' && height > 10) { + height = Math.round(height / 2) * 2; + } - if (animateTypes1.concat(animateTypes2).includes(type)) { - if (type.startsWith('rotate') || type.startsWith('skew')) { - args = args.map(function (value) { - return parseFloat(value) + 'deg'; - }); - } else if (type.startsWith('translate')) { - args = args.map(converPx); + this.$el.style.height = height + 'px'; + this.sizeFixed = true; } + }, + _loadImage: function _loadImage() { + this.$refs.content.style.backgroundImage = this.src ? "url(".concat(this.realImagePath, ")") : 'none'; - if (animateTypes2.indexOf(type)) { - args.length = 1; - } + var _self = this; - transform.push("".concat(type, "(").concat(args.join(','), ")")); - } else if (animateTypes3.concat(animateTypes4).includes(args[0])) { - type = args[0]; - var value = args[1]; - style[type] = animateTypes4.includes(type) ? converPx(value) : value; - } - }); - style.transform = style.webkitTransform = transform.join(' '); - style.transition = style.webkitTransition = Object.keys(style).map(function (type) { - return "".concat(converType(type), " ").concat(transition.duration, "ms ").concat(transition.timingFunction, " ").concat(transition.delay, "ms"); - }).join(','); - style.transformOrigin = style.webkitTransformOrigin = option.transformOrigin; - return style; -} + var img = new Image(); -function startAnimation(context) { - var animation = context.animation; + img.onload = function ($event) { + _self.originalWidth = this.width; + _self.originalHeight = this.height; + + if (_self.mode === 'widthFix') { + _self._fixSize(); + } + + _self.$trigger('load', $event, { + width: this.width, + height: this.height + }); + }; + + img.onerror = function ($event) { + _self.$trigger('error', $event, { + errMsg: "GET ".concat(_self.src, " 404 (Not Found)") + }); + }; - if (!animation || !animation.actions || !animation.actions.length) { - return; + img.src = this.realImagePath; + }, + _getWidth: function _getWidth() { + var computedStyle = window.getComputedStyle(this.$el); + var borderWidth = (parseFloat(computedStyle.borderLeftWidth, 10) || 0) + (parseFloat(computedStyle.borderRightWidth, 10) || 0); + var paddingWidth = (parseFloat(computedStyle.paddingLeft, 10) || 0) + (parseFloat(computedStyle.paddingRight, 10) || 0); + return this.$el.offsetWidth - borderWidth - paddingWidth; + } } +}); +// CONCATENATED MODULE: ./src/core/view/components/image/index.vue?vue&type=script&lang=js& + /* harmony default export */ var components_imagevue_type_script_lang_js_ = (imagevue_type_script_lang_js_); +// EXTERNAL MODULE: ./src/core/view/components/image/index.vue?vue&type=style&index=0&lang=css& +var imagevue_type_style_index_0_lang_css_ = __webpack_require__(76); - var index = 0; - var actions = animation.actions; - var length = animation.actions.length; +// EXTERNAL MODULE: ./node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js +var componentNormalizer = __webpack_require__(0); - function animate() { - var action = actions[index]; - var transition = action.option.transition; - var style = getStyle(action); - Object.keys(style).forEach(function (key) { - context.$el.style[key] = style[key]; - }); - index += 1; +// CONCATENATED MODULE: ./src/core/view/components/image/index.vue - if (index < length) { - setTimeout(animate, transition.duration + transition.delay); - } - } - animate(); -} -/* harmony default export */ var animation = ({ - props: ['animation'], - watch: { - animation: function animation() { - startAnimation(this); - } - }, - mounted: function mounted() { - startAnimation(this); - } -}); -// CONCATENATED MODULE: ./src/core/view/components/index.js -var requireComponents = [// baseComponents -__webpack_require__(68), __webpack_require__(93)]; -requireComponents.forEach(function (components, index) { - components.keys().forEach(function (fileName) { - // 获取组件配置 - var componentModule = components(fileName); - var componentConfig = componentModule.default || componentModule; - componentConfig.mixins = componentConfig.mixins ? [].concat(base, componentConfig.mixins) : [base]; - componentConfig.mixins.push(animation); - componentConfig.name = 'VUni' + componentConfig.name; - componentConfig.isReserved = true; // 全局注册组件 +/* normalize component */ - view_runtime_esm["a" /* default */].component(componentConfig.name, componentConfig); - }); -}); +var component = Object(componentNormalizer["a" /* default */])( + components_imagevue_type_script_lang_js_, + render, + staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var api; } +component.options.__file = "src/core/view/components/image/index.vue" +/* harmony default export */ var components_image = __webpack_exports__["default"] = (component.exports); /***/ }), -/* 107 */ +/* 113 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); -// CONCATENATED MODULE: ./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"26557f38-vue-loader-template"}!./node_modules/@vue/cli-service/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader/lib??vue-loader-options!./src/core/view/components/form/index.vue?vue&type=template&id=7735a91d& +// CONCATENATED MODULE: ./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"26557f38-vue-loader-template"}!./node_modules/@vue/cli-service/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader/lib??vue-loader-options!./src/core/view/components/progress/index.vue?vue&type=template&id=34f62046& var render = function() { var _vm = this var _h = _vm.$createElement var _c = _vm._self._c || _h - return _c("uni-form", _vm._g({}, _vm.$listeners), [ - _c("span", [_vm._t("default")], 2) - ]) + return _c( + "uni-progress", + _vm._g({ staticClass: "uni-progress" }, _vm.$listeners), + [ + _c("div", { staticClass: "uni-progress-bar", style: _vm.outerBarStyle }, [ + _c("div", { + staticClass: "uni-progress-inner-bar", + style: _vm.innerBarStyle + }) + ]), + _vm.showInfo + ? [ + _c("p", { staticClass: "uni-progress-info" }, [ + _vm._v(_vm._s(_vm.currentPercent) + "%") + ]) + ] + : _vm._e() + ], + 2 + ) } var staticRenderFns = [] render._withStripped = true -// CONCATENATED MODULE: ./src/core/view/components/form/index.vue?vue&type=template&id=7735a91d& - -// EXTERNAL MODULE: ./src/core/view/mixins/index.js + 1 modules -var mixins = __webpack_require__(1); +// CONCATENATED MODULE: ./src/core/view/components/progress/index.vue?vue&type=template&id=34f62046& -// CONCATENATED MODULE: ./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader/lib??vue-loader-options!./src/core/view/components/form/index.vue?vue&type=script&lang=js& +// CONCATENATED MODULE: ./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader/lib??vue-loader-options!./src/core/view/components/progress/index.vue?vue&type=script&lang=js& // // // @@ -18996,54 +19371,134 @@ var mixins = __webpack_require__(1); // // // - -/* harmony default export */ var formvue_type_script_lang_js_ = ({ - name: 'Form', - mixins: [mixins["c" /* listeners */]], +// +// +// +// +// +// +// +// +// +var VALUES = { + activeColor: '#007AFF', + backgroundColor: '#EBEBEB', + activeMode: 'backwards' +}; +/* harmony default export */ var progressvue_type_script_lang_js_ = ({ + name: 'Progress', + props: { + percent: { + type: [Number, String], + default: 0, + validator: function validator(value) { + return !isNaN(parseFloat(value, 10)); + } + }, + showInfo: { + type: [Boolean, String], + default: false + }, + strokeWidth: { + type: [Number, String], + default: 6, + validator: function validator(value) { + return !isNaN(parseFloat(value, 10)); + } + }, + color: { + type: String, + default: VALUES.activeColor + }, + activeColor: { + type: String, + default: VALUES.activeColor + }, + backgroundColor: { + type: String, + default: VALUES.backgroundColor + }, + active: { + type: [Boolean, String], + default: false + }, + activeMode: { + type: String, + default: VALUES.activeMode + } + }, data: function data() { return { - childrenList: [] + currentPercent: 0, + strokeTimer: 0, + lastPercent: 0 }; }, - listeners: { - '@form-submit': '_onSubmit', - '@form-reset': '_onReset', - '@form-group-update': '_formGroupUpdateHandler' - }, - methods: { - _onSubmit: function _onSubmit($event) { - var data = {}; - this.childrenList.forEach(function (vm) { - if (vm._getFormData && vm._getFormData().key) { - data[vm._getFormData().key] = vm._getFormData().value; - } - }); - this.$trigger('submit', $event, { - value: data - }); + computed: { + outerBarStyle: function outerBarStyle() { + return "background-color: ".concat(this.backgroundColor, "; height: ").concat(this.strokeWidth, "px;"); }, - _onReset: function _onReset($event) { - this.$trigger('reset', $event, {}); - this.childrenList.forEach(function (vm) { - vm._resetFormData && vm._resetFormData(); - }); + innerBarStyle: function innerBarStyle() { + // 兼容下不推荐的属性,activeColor 优先级高于 color。 + var backgroundColor = ''; + + if (this.color !== VALUES.activeColor && this.activeColor === VALUES.activeColor) { + backgroundColor = this.color; + } else { + backgroundColor = this.activeColor; + } + + return "width: ".concat(this.currentPercent, "%;background-color: ").concat(backgroundColor); }, - _formGroupUpdateHandler: function _formGroupUpdateHandler($event) { - if ($event.type === 'add') { - this.childrenList.push($event.vm); + realPercent: function realPercent() { + // 确保最终计算时使用的是 Number 类型的值,并且在有效范围内。 + var realValue = parseFloat(this.percent, 10); + realValue < 0 && (realValue = 0); + realValue > 100 && (realValue = 100); + return realValue; + } + }, + watch: { + realPercent: function realPercent(newValue, oldValue) { + this.strokeTimer && clearInterval(this.strokeTimer); + this.lastPercent = oldValue || 0; + + this._activeAnimation(); + } + }, + created: function created() { + this._activeAnimation(); + }, + methods: { + _activeAnimation: function _activeAnimation() { + var _this = this; + + if (this.active) { + this.currentPercent = this.activeMode === VALUES.activeMode ? 0 : this.lastPercent; + this.strokeTimer = setInterval(function () { + if (_this.currentPercent + 1 > _this.realPercent) { + _this.currentPercent = _this.realPercent; + _this.strokeTimer && clearInterval(_this.strokeTimer); + } else { + _this.currentPercent += 1; + } + }, 30); } else { - var index = this.childrenList.indexOf($event.vm); - this.childrenList.splice(index, 1); + this.currentPercent = this.realPercent; } } } }); -// CONCATENATED MODULE: ./src/core/view/components/form/index.vue?vue&type=script&lang=js& - /* harmony default export */ var components_formvue_type_script_lang_js_ = (formvue_type_script_lang_js_); +// CONCATENATED MODULE: ./src/core/view/components/progress/index.vue?vue&type=script&lang=js& + /* harmony default export */ var components_progressvue_type_script_lang_js_ = (progressvue_type_script_lang_js_); +// EXTERNAL MODULE: ./src/core/view/components/progress/index.vue?vue&type=style&index=0&lang=css& +var progressvue_type_style_index_0_lang_css_ = __webpack_require__(83); + // EXTERNAL MODULE: ./node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js var componentNormalizer = __webpack_require__(0); -// CONCATENATED MODULE: ./src/core/view/components/form/index.vue +// CONCATENATED MODULE: ./src/core/view/components/progress/index.vue + @@ -19052,7 +19507,7 @@ var componentNormalizer = __webpack_require__(0); /* normalize component */ var component = Object(componentNormalizer["a" /* default */])( - components_formvue_type_script_lang_js_, + components_progressvue_type_script_lang_js_, render, staticRenderFns, false, @@ -19064,11 +19519,11 @@ var component = Object(componentNormalizer["a" /* default */])( /* hot reload */ if (false) { var api; } -component.options.__file = "src/core/view/components/form/index.vue" -/* harmony default export */ var components_form = __webpack_exports__["default"] = (component.exports); +component.options.__file = "src/core/view/components/progress/index.vue" +/* harmony default export */ var progress = __webpack_exports__["default"] = (component.exports); /***/ }), -/* 108 */ +/* 114 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -19208,7 +19663,7 @@ var mixins = __webpack_require__(1); // CONCATENATED MODULE: ./src/core/view/components/radio/index.vue?vue&type=script&lang=js& /* harmony default export */ var components_radiovue_type_script_lang_js_ = (radiovue_type_script_lang_js_); // EXTERNAL MODULE: ./src/core/view/components/radio/index.vue?vue&type=style&index=0&lang=css& -var radiovue_type_style_index_0_lang_css_ = __webpack_require__(83); +var radiovue_type_style_index_0_lang_css_ = __webpack_require__(85); // EXTERNAL MODULE: ./node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js var componentNormalizer = __webpack_require__(0); @@ -19239,34 +19694,77 @@ component.options.__file = "src/core/view/components/radio/index.vue" /* harmony default export */ var components_radio = __webpack_exports__["default"] = (component.exports); /***/ }), -/* 109 */ +/* 115 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); -// CONCATENATED MODULE: ./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"26557f38-vue-loader-template"}!./node_modules/@vue/cli-service/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader/lib??vue-loader-options!./src/core/view/components/checkbox-group/index.vue?vue&type=template&id=37cde58e& +// CONCATENATED MODULE: ./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"26557f38-vue-loader-template"}!./node_modules/@vue/cli-service/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader/lib??vue-loader-options!./src/core/view/components/switch/index.vue?vue&type=template&id=04951fe6& var render = function() { var _vm = this var _h = _vm.$createElement var _c = _vm._self._c || _h return _c( - "uni-checkbox-group", - _vm._g({}, _vm.$listeners), - [_vm._t("default")], - 2 + "uni-switch", + _vm._g({ on: { click: _vm._onClick } }, _vm.$listeners), + [ + _c("div", { staticClass: "uni-switch-wrapper" }, [ + _c("div", { + directives: [ + { + name: "show", + rawName: "v-show", + value: _vm.type === "switch", + expression: "type === 'switch'" + } + ], + staticClass: "uni-switch-input", + class: [_vm.switchChecked ? "uni-switch-input-checked" : ""], + style: { + backgroundColor: _vm.switchChecked ? _vm.color : "#DFDFDF", + borderColor: _vm.switchChecked ? _vm.color : "#DFDFDF" + } + }), + _c("div", { + directives: [ + { + name: "show", + rawName: "v-show", + value: _vm.type === "checkbox", + expression: "type === 'checkbox'" + } + ], + staticClass: "uni-checkbox-input", + class: [_vm.switchChecked ? "uni-checkbox-input-checked" : ""], + style: { color: _vm.color } + }) + ]) + ] ) } var staticRenderFns = [] render._withStripped = true -// CONCATENATED MODULE: ./src/core/view/components/checkbox-group/index.vue?vue&type=template&id=37cde58e& +// CONCATENATED MODULE: ./src/core/view/components/switch/index.vue?vue&type=template&id=04951fe6& // EXTERNAL MODULE: ./src/core/view/mixins/index.js + 1 modules var mixins = __webpack_require__(1); -// CONCATENATED MODULE: ./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader/lib??vue-loader-options!./src/core/view/components/checkbox-group/index.vue?vue&type=script&lang=js& +// CONCATENATED MODULE: ./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader/lib??vue-loader-options!./src/core/view/components/switch/index.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// +// // // // @@ -19274,23 +19772,44 @@ var mixins = __webpack_require__(1); // // -/* harmony default export */ var checkbox_groupvue_type_script_lang_js_ = ({ - name: 'CheckboxGroup', +/* harmony default export */ var switchvue_type_script_lang_js_ = ({ + name: 'Switch', mixins: [mixins["a" /* emitter */], mixins["c" /* listeners */]], props: { name: { type: String, default: '' + }, + checked: { + type: [Boolean, String], + default: false + }, + type: { + type: String, + default: 'switch' + }, + id: { + type: String, + default: '' + }, + disabled: { + type: [Boolean, String], + default: false + }, + color: { + type: String, + default: '#007aff' } }, data: function data() { return { - checkboxList: [] + switchChecked: this.checked }; }, - listeners: { - '@checkbox-change': '_changeHandler', - '@checkbox-group-update': '_checkboxGroupUpdateHandler' + watch: { + checked: function checked(val) { + this.switchChecked = val; + } }, created: function created() { this.$dispatch('Form', 'uni-form-group-update', { @@ -19304,53 +19823,221 @@ var mixins = __webpack_require__(1); vm: this }); }, + listeners: { + 'label-click': '_onClick', + '@label-click': '_onClick' + }, methods: { - _changeHandler: function _changeHandler($event) { - var value = []; - this.checkboxList.forEach(function (vm) { - if (vm.checkboxChecked) { - value.push(vm.value); - } - }); + _onClick: function _onClick($event) { + if (this.disabled) { + return; + } + + this.switchChecked = !this.switchChecked; this.$trigger('change', $event, { - value: value + value: this.switchChecked }); }, - _checkboxGroupUpdateHandler: function _checkboxGroupUpdateHandler($event) { - if ($event.type === 'add') { - this.checkboxList.push($event.vm); - } else { - var index = this.checkboxList.indexOf($event.vm); - this.checkboxList.splice(index, 1); + _resetFormData: function _resetFormData() { + this.switchChecked = false; + }, + _getFormData: function _getFormData() { + var data = {}; + + if (this.name !== '') { + data['value'] = this.switchChecked; + data['key'] = this.name; + } + + return data; + } + } +}); +// CONCATENATED MODULE: ./src/core/view/components/switch/index.vue?vue&type=script&lang=js& + /* harmony default export */ var components_switchvue_type_script_lang_js_ = (switchvue_type_script_lang_js_); +// EXTERNAL MODULE: ./src/core/view/components/switch/index.vue?vue&type=style&index=0&lang=css& +var switchvue_type_style_index_0_lang_css_ = __webpack_require__(91); + +// EXTERNAL MODULE: ./node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js +var componentNormalizer = __webpack_require__(0); + +// CONCATENATED MODULE: ./src/core/view/components/switch/index.vue + + + + + + +/* normalize component */ + +var component = Object(componentNormalizer["a" /* default */])( + components_switchvue_type_script_lang_js_, + render, + staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var api; } +component.options.__file = "src/core/view/components/switch/index.vue" +/* harmony default export */ var components_switch = __webpack_exports__["default"] = (component.exports); + +/***/ }), +/* 116 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); + +// CONCATENATED MODULE: ./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"26557f38-vue-loader-template"}!./node_modules/@vue/cli-service/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader/lib??vue-loader-options!./src/core/view/components/navigator/index.vue?vue&type=template&id=c893a598& +var render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _vm.hoverClass && _vm.hoverClass !== "none" + ? _c( + "uni-navigator", + _vm._g( + { + class: [_vm.hovering ? _vm.hoverClass : ""], + on: { + touchstart: _vm._hoverTouchStart, + touchend: _vm._hoverTouchEnd, + touchcancel: _vm._hoverTouchCancel, + click: _vm._onClick + } + }, + _vm.$listeners + ), + [_vm._t("default")], + 2 + ) + : _c( + "uni-navigator", + _vm._g({ on: { click: _vm._onClick } }, _vm.$listeners), + [_vm._t("default")], + 2 + ) +} +var staticRenderFns = [] +render._withStripped = true + + +// CONCATENATED MODULE: ./src/core/view/components/navigator/index.vue?vue&type=template&id=c893a598& + +// EXTERNAL MODULE: ./src/core/view/mixins/index.js + 1 modules +var mixins = __webpack_require__(1); + +// CONCATENATED MODULE: ./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader/lib??vue-loader-options!./src/core/view/components/navigator/index.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + +var OPEN_TYPES = ['navigate', 'redirect', 'switchTab', 'reLaunch', 'navigateBack']; +/* harmony default export */ var navigatorvue_type_script_lang_js_ = ({ + name: 'Navigator', + mixins: [mixins["b" /* hover */]], + props: { + hoverClass: { + type: String, + default: 'navigator-hover' + }, + url: { + type: String, + default: '' + }, + openType: { + type: String, + default: 'navigate', + validator: function validator(value) { + return ~OPEN_TYPES.indexOf(value); } }, - _getFormData: function _getFormData() { - var data = {}; - - if (this.name !== '') { - var value = []; - this.checkboxList.forEach(function (vm) { - if (vm.checkboxChecked) { - value.push(vm.value); - } - }); - data['value'] = value; - data['key'] = this.name; + delta: { + type: Number, + default: 1 + }, + hoverStartTime: { + type: Number, + default: 20 + }, + hoverStayTime: { + type: Number, + default: 600 + } + }, + methods: { + _onClick: function _onClick($event) { + if (this.openType !== 'navigateBack' && !this.url) { + console.error(" should have url attribute when using navigateTo, redirectTo, reLaunch or switchTab"); + return; } - return data; + switch (this.openType) { + case 'navigate': + uni.navigateTo({ + url: this.url + }); + break; + + case 'redirect': + uni.redirectTo({ + url: this.url + }); + break; + + case 'switchTab': + uni.switchTab({ + url: this.url + }); + break; + + case 'reLaunch': + uni.reLaunch({ + url: this.url + }); + break; + + case 'navigateBack': + uni.navigateBack({ + delta: this.delta + }); + break; + + default: + break; + } } } }); -// CONCATENATED MODULE: ./src/core/view/components/checkbox-group/index.vue?vue&type=script&lang=js& - /* harmony default export */ var components_checkbox_groupvue_type_script_lang_js_ = (checkbox_groupvue_type_script_lang_js_); -// EXTERNAL MODULE: ./src/core/view/components/checkbox-group/index.vue?vue&type=style&index=0&lang=css& -var checkbox_groupvue_type_style_index_0_lang_css_ = __webpack_require__(71); +// CONCATENATED MODULE: ./src/core/view/components/navigator/index.vue?vue&type=script&lang=js& + /* harmony default export */ var components_navigatorvue_type_script_lang_js_ = (navigatorvue_type_script_lang_js_); +// EXTERNAL MODULE: ./src/core/view/components/navigator/index.vue?vue&type=style&index=0&lang=css& +var navigatorvue_type_style_index_0_lang_css_ = __webpack_require__(80); // EXTERNAL MODULE: ./node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js var componentNormalizer = __webpack_require__(0); -// CONCATENATED MODULE: ./src/core/view/components/checkbox-group/index.vue +// CONCATENATED MODULE: ./src/core/view/components/navigator/index.vue @@ -19360,7 +20047,7 @@ var componentNormalizer = __webpack_require__(0); /* normalize component */ var component = Object(componentNormalizer["a" /* default */])( - components_checkbox_groupvue_type_script_lang_js_, + components_navigatorvue_type_script_lang_js_, render, staticRenderFns, false, @@ -19372,23 +20059,23 @@ var component = Object(componentNormalizer["a" /* default */])( /* hot reload */ if (false) { var api; } -component.options.__file = "src/core/view/components/checkbox-group/index.vue" -/* harmony default export */ var checkbox_group = __webpack_exports__["default"] = (component.exports); +component.options.__file = "src/core/view/components/navigator/index.vue" +/* harmony default export */ var components_navigator = __webpack_exports__["default"] = (component.exports); /***/ }), -/* 110 */ +/* 117 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); -// CONCATENATED MODULE: ./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"26557f38-vue-loader-template"}!./node_modules/@vue/cli-service/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader/lib??vue-loader-options!./src/core/view/components/radio-group/index.vue?vue&type=template&id=17be8d0a& +// CONCATENATED MODULE: ./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"26557f38-vue-loader-template"}!./node_modules/@vue/cli-service/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader/lib??vue-loader-options!./src/core/view/components/swiper-item/index.vue?vue&type=template&id=3883b065& var render = function() { var _vm = this var _h = _vm.$createElement var _c = _vm._self._c || _h return _c( - "uni-radio-group", + "uni-swiper-item", _vm._g({}, _vm.$listeners), [_vm._t("default")], 2 @@ -19398,120 +20085,45 @@ var staticRenderFns = [] render._withStripped = true -// CONCATENATED MODULE: ./src/core/view/components/radio-group/index.vue?vue&type=template&id=17be8d0a& - -// EXTERNAL MODULE: ./src/core/view/mixins/index.js + 1 modules -var mixins = __webpack_require__(1); +// CONCATENATED MODULE: ./src/core/view/components/swiper-item/index.vue?vue&type=template&id=3883b065& -// CONCATENATED MODULE: ./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader/lib??vue-loader-options!./src/core/view/components/radio-group/index.vue?vue&type=script&lang=js& -// +// CONCATENATED MODULE: ./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader/lib??vue-loader-options!./src/core/view/components/swiper-item/index.vue?vue&type=script&lang=js& // // // // // - -/* harmony default export */ var radio_groupvue_type_script_lang_js_ = ({ - name: 'RadioGroup', - mixins: [mixins["a" /* emitter */], mixins["c" /* listeners */]], +/* harmony default export */ var swiper_itemvue_type_script_lang_js_ = ({ + name: 'SwiperItem', props: { - name: { + itemId: { type: String, default: '' } }, - data: function data() { - return { - radioList: [] - }; - }, - listeners: { - '@radio-change': '_changeHandler', - '@radio-group-update': '_radioGroupUpdateHandler' - }, mounted: function mounted() { - this._resetRadioGroupValue(this.radioList.length - 1); - }, - created: function created() { - this.$dispatch('Form', 'uni-form-group-update', { - type: 'add', - vm: this - }); - }, - beforeDestroy: function beforeDestroy() { - this.$dispatch('Form', 'uni-form-group-update', { - type: 'remove', - vm: this - }); - }, - methods: { - _changeHandler: function _changeHandler($event, vm) { - var index = this.radioList.indexOf(vm); - - this._resetRadioGroupValue(index, true); - - this.$trigger('change', $event, { - value: vm.radioValue - }); - }, - _radioGroupUpdateHandler: function _radioGroupUpdateHandler($event) { - if ($event.type === 'add') { - this.radioList.push($event.vm); - } else { - var index = this.radioList.indexOf($event.vm); - this.radioList.splice(index, 1); - } - }, - _resetRadioGroupValue: function _resetRadioGroupValue(key, change) { - var _this = this; - - this.radioList.forEach(function (value, index) { - if (index === key) { - return; - } - - if (change) { - _this.radioList[index].radioChecked = false; - } else { - _this.radioList.forEach(function (v, i) { - if (index >= i) { - return; - } + var $el = this.$el; + $el.style.position = 'absolute'; + $el.style.width = '100%'; + $el.style.height = '100%'; + var callbacks = this.$vnode._callbacks; - if (_this.radioList[i].radioChecked) { - _this.radioList[index].radioChecked = false; - } - }); - } + if (callbacks) { + callbacks.forEach(function (callback) { + callback(); }); - }, - _getFormData: function _getFormData() { - var data = {}; - - if (this.name !== '') { - var value = ''; - this.radioList.forEach(function (vm) { - if (vm.radioChecked) { - value = vm.value; - } - }); - data['value'] = value; - data['key'] = this.name; - } - - return data; } } }); -// CONCATENATED MODULE: ./src/core/view/components/radio-group/index.vue?vue&type=script&lang=js& - /* harmony default export */ var components_radio_groupvue_type_script_lang_js_ = (radio_groupvue_type_script_lang_js_); -// EXTERNAL MODULE: ./src/core/view/components/radio-group/index.vue?vue&type=style&index=0&lang=css& -var radio_groupvue_type_style_index_0_lang_css_ = __webpack_require__(82); +// CONCATENATED MODULE: ./src/core/view/components/swiper-item/index.vue?vue&type=script&lang=js& + /* harmony default export */ var components_swiper_itemvue_type_script_lang_js_ = (swiper_itemvue_type_script_lang_js_); +// EXTERNAL MODULE: ./src/core/view/components/swiper-item/index.vue?vue&type=style&index=0&lang=css& +var swiper_itemvue_type_style_index_0_lang_css_ = __webpack_require__(89); // EXTERNAL MODULE: ./node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js var componentNormalizer = __webpack_require__(0); -// CONCATENATED MODULE: ./src/core/view/components/radio-group/index.vue +// CONCATENATED MODULE: ./src/core/view/components/swiper-item/index.vue @@ -19521,7 +20133,7 @@ var componentNormalizer = __webpack_require__(0); /* normalize component */ var component = Object(componentNormalizer["a" /* default */])( - components_radio_groupvue_type_script_lang_js_, + components_swiper_itemvue_type_script_lang_js_, render, staticRenderFns, false, @@ -19533,38 +20145,64 @@ var component = Object(componentNormalizer["a" /* default */])( /* hot reload */ if (false) { var api; } -component.options.__file = "src/core/view/components/radio-group/index.vue" -/* harmony default export */ var radio_group = __webpack_exports__["default"] = (component.exports); +component.options.__file = "src/core/view/components/swiper-item/index.vue" +/* harmony default export */ var swiper_item = __webpack_exports__["default"] = (component.exports); /***/ }), -/* 111 */ +/* 118 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); -// CONCATENATED MODULE: ./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"26557f38-vue-loader-template"}!./node_modules/@vue/cli-service/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader/lib??vue-loader-options!./src/core/view/components/progress/index.vue?vue&type=template&id=34f62046& +// CONCATENATED MODULE: ./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"26557f38-vue-loader-template"}!./node_modules/@vue/cli-service/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader/lib??vue-loader-options!./src/core/view/components/slider/index.vue?vue&type=template&id=1969bd7a& var render = function() { var _vm = this var _h = _vm.$createElement var _c = _vm._self._c || _h return _c( - "uni-progress", - _vm._g({ staticClass: "uni-progress" }, _vm.$listeners), + "uni-slider", + _vm._g({ ref: "uni-slider", on: { click: _vm._onClick } }, _vm.$listeners), [ - _c("div", { staticClass: "uni-progress-bar", style: _vm.outerBarStyle }, [ - _c("div", { - staticClass: "uni-progress-inner-bar", - style: _vm.innerBarStyle - }) - ]), - _vm.showInfo - ? [ - _c("p", { staticClass: "uni-progress-info" }, [ - _vm._v(_vm._s(_vm.currentPercent) + "%") - ]) - ] - : _vm._e() + _c("div", { staticClass: "uni-slider-wrapper" }, [ + _c("div", { staticClass: "uni-slider-tap-area" }, [ + _c( + "div", + { staticClass: "uni-slider-handle-wrapper", style: _vm.setBgColor }, + [ + _c("div", { + ref: "uni-slider-handle", + staticClass: "uni-slider-handle", + style: _vm.setBlockBg + }), + _c("div", { + staticClass: "uni-slider-thumb", + style: _vm.setBlockStyle + }), + _c("div", { + staticClass: "uni-slider-track", + style: _vm.setActiveColor + }) + ] + ) + ]), + _c( + "span", + { + directives: [ + { + name: "show", + rawName: "v-show", + value: _vm.showValue, + expression: "showValue" + } + ], + staticClass: "uni-slider-value" + }, + [_vm._v(_vm._s(_vm.sliderValue))] + ) + ]), + _vm._t("default") ], 2 ) @@ -19573,9 +20211,15 @@ var staticRenderFns = [] render._withStripped = true -// CONCATENATED MODULE: ./src/core/view/components/progress/index.vue?vue&type=template&id=34f62046& +// CONCATENATED MODULE: ./src/core/view/components/slider/index.vue?vue&type=template&id=1969bd7a& -// CONCATENATED MODULE: ./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader/lib??vue-loader-options!./src/core/view/components/progress/index.vue?vue&type=script&lang=js& +// EXTERNAL MODULE: ./src/core/view/mixins/index.js + 1 modules +var mixins = __webpack_require__(1); + +// EXTERNAL MODULE: ./src/core/view/mixins/touchtrack.js +var touchtrack = __webpack_require__(8); + +// CONCATENATED MODULE: ./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader/lib??vue-loader-options!./src/core/view/components/slider/index.vue?vue&type=script&lang=js& // // // @@ -19592,124 +20236,198 @@ render._withStripped = true // // // -var VALUES = { - activeColor: '#007AFF', - backgroundColor: '#EBEBEB', - activeMode: 'backwards' -}; -/* harmony default export */ var progressvue_type_script_lang_js_ = ({ - name: 'Progress', +// +// +// +// +// +// +// +// +// +// +// +// +// + + +/* harmony default export */ var slidervue_type_script_lang_js_ = ({ + name: 'Slider', + mixins: [mixins["a" /* emitter */], mixins["c" /* listeners */], touchtrack["a" /* default */]], props: { - percent: { + name: { + type: String, + default: '' + }, + min: { type: [Number, String], - default: 0, - validator: function validator(value) { - return !isNaN(parseFloat(value, 10)); - } + default: 0 }, - showInfo: { - type: [Boolean, String], - default: false + max: { + type: [Number, String], + default: 100 }, - strokeWidth: { + value: { type: [Number, String], - default: 6, - validator: function validator(value) { - return !isNaN(parseFloat(value, 10)); - } + default: 0 + }, + step: { + type: [Number, String], + default: 1 + }, + disabled: { + type: [Boolean, String], + default: false }, color: { type: String, - default: VALUES.activeColor + default: '#e9e9e9' + }, + backgroundColor: { + type: String, + default: '#e9e9e9' }, activeColor: { type: String, - default: VALUES.activeColor + default: '#007aff' }, - backgroundColor: { + selectedColor: { type: String, - default: VALUES.backgroundColor + default: '#007aff' }, - active: { + blockColor: { + type: String, + default: '#ffffff' + }, + blockSize: { + type: [Number, String], + default: 28 + }, + showValue: { type: [Boolean, String], default: false - }, - activeMode: { - type: String, - default: VALUES.activeMode } }, data: function data() { return { - currentPercent: 0, - strokeTimer: 0, - lastPercent: 0 + sliderValue: Number(this.value) }; }, computed: { - outerBarStyle: function outerBarStyle() { - return "background-color: ".concat(this.backgroundColor, "; height: ").concat(this.strokeWidth, "px;"); + setBlockStyle: function setBlockStyle() { + return { + width: this.blockSize + 'px', + height: this.blockSize + 'px', + marginLeft: -this.blockSize / 2 + 'px', + marginTop: -this.blockSize / 2 + 'px', + left: this._getValueWidth(), + backgroundColor: this.blockColor + }; }, - innerBarStyle: function innerBarStyle() { - // 兼容下不推荐的属性,activeColor 优先级高于 color。 - var backgroundColor = ''; - - if (this.color !== VALUES.activeColor && this.activeColor === VALUES.activeColor) { - backgroundColor = this.color; - } else { - backgroundColor = this.activeColor; - } - - return "width: ".concat(this.currentPercent, "%;background-color: ").concat(backgroundColor); + setBgColor: function setBgColor() { + return { + backgroundColor: this._getBgColor() + }; }, - realPercent: function realPercent() { - // 确保最终计算时使用的是 Number 类型的值,并且在有效范围内。 - var realValue = parseFloat(this.percent, 10); - realValue < 0 && (realValue = 0); - realValue > 100 && (realValue = 100); - return realValue; + setBlockBg: function setBlockBg() { + return { + left: this._getValueWidth() + }; + }, + setActiveColor: function setActiveColor() { + // 有问题,设置最大值最小值是有问题 + return { + backgroundColor: this._getActiveColor(), + width: this._getValueWidth() + }; } }, watch: { - realPercent: function realPercent(newValue, oldValue) { - this.strokeTimer && clearInterval(this.strokeTimer); - this.lastPercent = oldValue || 0; - - this._activeAnimation(); + value: function value(val) { + this.sliderValue = Number(val); } }, + mounted: function mounted() { + this.touchtrack(this.$refs['uni-slider-handle'], '_onTrack'); + }, created: function created() { - this._activeAnimation(); + this.$dispatch('Form', 'uni-form-group-update', { + type: 'add', + vm: this + }); + }, + beforeDestroy: function beforeDestroy() { + this.$dispatch('Form', 'uni-form-group-update', { + type: 'remove', + vm: this + }); }, methods: { - _activeAnimation: function _activeAnimation() { - var _this = this; + _onUserChangedValue: function _onUserChangedValue(e) { + var slider = this.$refs['uni-slider']; + var offsetWidth = slider.offsetWidth; + var boxLeft = slider.getBoundingClientRect().left; + var value = (e.x - boxLeft) * (this.max - this.min) / offsetWidth + Number(this.min); + this.sliderValue = this._filterValue(value); + }, + _filterValue: function _filterValue(e) { + return e < this.min ? this.min : e > this.max ? this.max : Math.round((e - this.min) / this.step) * this.step + Number(this.min); + }, + _getValueWidth: function _getValueWidth() { + return 100 * (this.sliderValue - this.min) / (this.max - this.min) + '%'; + }, + _getBgColor: function _getBgColor() { + return this.backgroundColor !== '#e9e9e9' ? this.backgroundColor : this.color !== '#007aff' ? this.color : '#007aff'; + }, + _getActiveColor: function _getActiveColor() { + return this.activeColor !== '#007aff' ? this.activeColor : this.selectedColor !== '#e9e9e9' ? this.selectedColor : '#e9e9e9'; + }, + _onTrack: function _onTrack(e) { + if (!this.disabled) { + return e.detail.state === 'move' ? (this._onUserChangedValue({ + x: e.detail.x0 + }), this.$trigger('changing', e, { + value: this.sliderValue + }), !1) : void (e.detail.state === 'end' && this.$trigger('change', e, { + value: this.sliderValue + })); + } + }, + _onClick: function _onClick($event) { + if (this.disabled) { + return; + } - if (this.active) { - this.currentPercent = this.activeMode === VALUES.activeMode ? 0 : this.lastPercent; - this.strokeTimer = setInterval(function () { - if (_this.currentPercent + 1 > _this.realPercent) { - _this.currentPercent = _this.realPercent; - _this.strokeTimer && clearInterval(_this.strokeTimer); - } else { - _this.currentPercent += 1; - } - }, 30); - } else { - this.currentPercent = this.realPercent; + this._onUserChangedValue($event); + + this.$trigger('change', $event, { + value: this.sliderValue + }); + }, + _resetFormData: function _resetFormData() { + this.sliderValue = this.min; + }, + _getFormData: function _getFormData() { + var data = {}; + + if (this.name !== '') { + data['value'] = this.sliderValue; + data['key'] = this.name; } + + return data; } } }); -// CONCATENATED MODULE: ./src/core/view/components/progress/index.vue?vue&type=script&lang=js& - /* harmony default export */ var components_progressvue_type_script_lang_js_ = (progressvue_type_script_lang_js_); -// EXTERNAL MODULE: ./src/core/view/components/progress/index.vue?vue&type=style&index=0&lang=css& -var progressvue_type_style_index_0_lang_css_ = __webpack_require__(81); +// CONCATENATED MODULE: ./src/core/view/components/slider/index.vue?vue&type=script&lang=js& + /* harmony default export */ var components_slidervue_type_script_lang_js_ = (slidervue_type_script_lang_js_); +// EXTERNAL MODULE: ./src/core/view/components/slider/index.vue?vue&type=style&index=0&lang=css& +var slidervue_type_style_index_0_lang_css_ = __webpack_require__(88); // EXTERNAL MODULE: ./node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js var componentNormalizer = __webpack_require__(0); -// CONCATENATED MODULE: ./src/core/view/components/progress/index.vue +// CONCATENATED MODULE: ./src/core/view/components/slider/index.vue @@ -19719,7 +20437,7 @@ var componentNormalizer = __webpack_require__(0); /* normalize component */ var component = Object(componentNormalizer["a" /* default */])( - components_progressvue_type_script_lang_js_, + components_slidervue_type_script_lang_js_, render, staticRenderFns, false, @@ -19731,51 +20449,54 @@ var component = Object(componentNormalizer["a" /* default */])( /* hot reload */ if (false) { var api; } -component.options.__file = "src/core/view/components/progress/index.vue" -/* harmony default export */ var progress = __webpack_exports__["default"] = (component.exports); +component.options.__file = "src/core/view/components/slider/index.vue" +/* harmony default export */ var slider = __webpack_exports__["default"] = (component.exports); /***/ }), -/* 112 */ +/* 119 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); -// CONCATENATED MODULE: ./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"26557f38-vue-loader-template"}!./node_modules/@vue/cli-service/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader/lib??vue-loader-options!./src/core/view/components/checkbox/index.vue?vue&type=template&id=a63c1348& +// CONCATENATED MODULE: ./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"26557f38-vue-loader-template"}!./node_modules/@vue/cli-service/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader/lib??vue-loader-options!./src/core/view/components/scroll-view/index.vue?vue&type=template&id=e9d562fc& var render = function() { - var _vm = this - var _h = _vm.$createElement - var _c = _vm._self._c || _h - return _c( - "uni-checkbox", - _vm._g({ on: { click: _vm._onClick } }, _vm.$listeners), - [ + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c("uni-scroll-view", _vm._g({}, _vm.$listeners), [ + _c("div", { ref: "wrap", staticClass: "uni-scroll-view" }, [ _c( "div", - { staticClass: "uni-checkbox-wrapper" }, - [ - _c("div", { - staticClass: "uni-checkbox-input", - class: [_vm.checkboxChecked ? "uni-checkbox-input-checked" : ""], - style: { color: _vm.color } - }), - _vm._t("default") - ], - 2 + { + ref: "main", + staticClass: "uni-scroll-view", + style: { + "overflow-x": _vm.scrollX ? "auto" : "hidden", + "overflow-y": _vm.scrollY ? "auto" : "hidden" + } + }, + [_c("div", { ref: "content" }, [_vm._t("default")], 2)] ) - ] - ) + ]) + ]) } var staticRenderFns = [] render._withStripped = true -// CONCATENATED MODULE: ./src/core/view/components/checkbox/index.vue?vue&type=template&id=a63c1348& +// CONCATENATED MODULE: ./src/core/view/components/scroll-view/index.vue?vue&type=template&id=e9d562fc& -// EXTERNAL MODULE: ./src/core/view/mixins/index.js + 1 modules -var mixins = __webpack_require__(1); +// EXTERNAL MODULE: ./src/core/view/mixins/scroller/index.js + 2 modules +var scroller = __webpack_require__(50); -// CONCATENATED MODULE: ./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader/lib??vue-loader-options!./src/core/view/components/checkbox/index.vue?vue&type=script&lang=js& +// EXTERNAL MODULE: ./src/shared/index.js + 4 modules +var shared = __webpack_require__(2); + +// CONCATENATED MODULE: ./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader/lib??vue-loader-options!./src/core/view/components/scroll-view/index.vue?vue&type=script&lang=js& +// +// +// // // // @@ -19790,268 +20511,400 @@ var mixins = __webpack_require__(1); // // -/* harmony default export */ var checkboxvue_type_script_lang_js_ = ({ - name: 'Checkbox', - mixins: [mixins["a" /* emitter */], mixins["c" /* listeners */]], + +var passiveOptions = shared["f" /* supportsPassive */] ? { + passive: true +} : false; +/* harmony default export */ var scroll_viewvue_type_script_lang_js_ = ({ + name: 'ScrollView', + mixins: [scroller["a" /* default */]], props: { - checked: { + scrollX: { type: [Boolean, String], default: false }, - id: { - type: String, - default: '' - }, - disabled: { + scrollY: { type: [Boolean, String], default: false }, - color: { - type: String, - default: '#007aff' + upperThreshold: { + type: [Number, String], + default: 50 }, - value: { + lowerThreshold: { + type: [Number, String], + default: 50 + }, + scrollTop: { + type: [Number, String], + default: 0 + }, + scrollLeft: { + type: [Number, String], + default: 0 + }, + scrollIntoView: { type: String, default: '' + }, + scrollWithAnimation: { + type: [Boolean, String], + default: false + }, + enableBackToTop: { + type: [Boolean, String], + default: false } }, data: function data() { return { - checkboxChecked: this.checked, - checkboxValue: this.value + lastScrollTop: this.scrollTopNumber, + lastScrollLeft: this.scrollLeftNumber, + lastScrollToUpperTime: 0, + lastScrollToLowerTime: 0 }; }, + computed: { + upperThresholdNumber: function upperThresholdNumber() { + var val = Number(this.upperThreshold); + return isNaN(val) ? 50 : val; + }, + lowerThresholdNumber: function lowerThresholdNumber() { + var val = Number(this.lowerThreshold); + return isNaN(val) ? 50 : val; + }, + scrollTopNumber: function scrollTopNumber() { + return Number(this.scrollTop) || 0; + }, + scrollLeftNumber: function scrollLeftNumber() { + return Number(this.scrollLeft) || 0; + } + }, watch: { - checked: function checked(val) { - this.checkboxChecked = val; + scrollTopNumber: function scrollTopNumber(val) { + this._scrollTopChanged(val); }, - value: function value(val) { - this.checkboxValue = val; + scrollLeftNumber: function scrollLeftNumber(val) { + this._scrollLeftChanged(val); + }, + scrollIntoView: function scrollIntoView(val) { + this._scrollIntoViewChanged(val); } }, - listeners: { - 'label-click': '_onClick', - '@label-click': '_onClick' + mounted: function mounted() { + var self = this; + this._attached = true; + + this._scrollTopChanged(this.scrollTopNumber); + + this._scrollLeftChanged(this.scrollLeftNumber); + + this._scrollIntoViewChanged(this.scrollIntoView); + + this.__handleScroll = function (e) { + event.preventDefault(); + event.stopPropagation(); + + self._handleScroll.bind(self, event)(); + }; + + var touchStart = null; + var needStop = null; + + this.__handleTouchMove = function (event) { + var x = event.touches[0].pageX; + var y = event.touches[0].pageY; + var main = self.$refs.main; + + if (needStop === null) { + if (Math.abs(x - touchStart.x) > Math.abs(y - touchStart.y)) { + // 横向滑动 + if (self.scrollX) { + if (main.scrollLeft === 0 && x > touchStart.x) { + needStop = false; + return; + } else if (main.scrollWidth === main.offsetWidth + main.scrollLeft && x < touchStart.x) { + needStop = false; + return; + } + + needStop = true; + } else { + needStop = false; + } + } else { + // 纵向滑动 + if (self.scrollY) { + if (main.scrollTop === 0 && y > touchStart.y) { + needStop = false; + return; + } else if (main.scrollHeight === main.offsetHeight + main.scrollTop && y < touchStart.y) { + needStop = false; + return; + } + + needStop = true; + } else { + needStop = false; + } + } + } + + if (needStop) { + event.stopPropagation(); + } + }; + + this.__handleTouchStart = function (event) { + if (event.touches.length === 1) { + needStop = null; + touchStart = { + x: event.touches[0].pageX, + y: event.touches[0].pageY + }; + } + }; + + this.$refs.main.addEventListener('touchstart', this.__handleTouchStart, passiveOptions); + this.$refs.main.addEventListener('touchmove', this.__handleTouchMove, passiveOptions); + this.$refs.main.addEventListener('scroll', this.__handleScroll, shared["f" /* supportsPassive */] ? { + passive: false + } : false); }, - created: function created() { - this.$dispatch('CheckboxGroup', 'uni-checkbox-group-update', { - type: 'add', - vm: this - }); - this.$dispatch('Form', 'uni-form-group-update', { - type: 'add', - vm: this - }); + activated: function activated() { + // 还原 scroll-view 滚动位置 + this.scrollY && (this.$refs.main.scrollTop = this.lastScrollTop); + this.scrollX && (this.$refs.main.scrollLeft = this.lastScrollLeft); }, beforeDestroy: function beforeDestroy() { - this.$dispatch('CheckboxGroup', 'uni-checkbox-group-update', { - type: 'remove', - vm: this - }); - this.$dispatch('Form', 'uni-form-group-update', { - type: 'remove', - vm: this - }); + this.$refs.main.removeEventListener('touchstart', this.__handleTouchStart, passiveOptions); + this.$refs.main.removeEventListener('touchmove', this.__handleTouchMove, passiveOptions); + this.$refs.main.removeEventListener('scroll', this.__handleScroll, shared["f" /* supportsPassive */] ? { + passive: false + } : false); }, methods: { - _onClick: function _onClick($event) { - if (this.disabled) { - return; - } - - this.checkboxChecked = !this.checkboxChecked; - this.$dispatch('CheckboxGroup', 'uni-checkbox-change', $event); - }, - _resetFormData: function _resetFormData() { - this.checkboxChecked = false; - } - } -}); -// CONCATENATED MODULE: ./src/core/view/components/checkbox/index.vue?vue&type=script&lang=js& - /* harmony default export */ var components_checkboxvue_type_script_lang_js_ = (checkboxvue_type_script_lang_js_); -// EXTERNAL MODULE: ./src/core/view/components/checkbox/index.vue?vue&type=style&index=0&lang=css& -var checkboxvue_type_style_index_0_lang_css_ = __webpack_require__(72); - -// EXTERNAL MODULE: ./node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js -var componentNormalizer = __webpack_require__(0); - -// CONCATENATED MODULE: ./src/core/view/components/checkbox/index.vue - + scrollTo: function scrollTo(t, n) { + var i = this.$refs.main; + t < 0 ? t = 0 : n === 'x' && t > i.scrollWidth - i.offsetWidth ? t = i.scrollWidth - i.offsetWidth : n === 'y' && t > i.scrollHeight - i.offsetHeight && (t = i.scrollHeight - i.offsetHeight); + var r = 0; + var o = ''; + n === 'x' ? r = i.scrollLeft - t : n === 'y' && (r = i.scrollTop - t); + if (r !== 0) { + this.$refs.content.style.transition = 'transform .3s ease-out'; + this.$refs.content.style.webkitTransition = '-webkit-transform .3s ease-out'; + if (n === 'x') { + o = 'translateX(' + r + 'px) translateZ(0)'; + } else { + n === 'y' && (o = 'translateY(' + r + 'px) translateZ(0)'); + } + this.$refs.content.removeEventListener('transitionend', this.__transitionEnd); + this.$refs.content.removeEventListener('webkitTransitionEnd', this.__transitionEnd); + this.__transitionEnd = this._transitionEnd.bind(this, t, n); + this.$refs.content.addEventListener('transitionend', this.__transitionEnd); + this.$refs.content.addEventListener('webkitTransitionEnd', this.__transitionEnd); + if (n === 'x') { + // if (e !== 'ios') { + i.style.overflowX = 'hidden'; // } + } else if (n === 'y') { + i.style.overflowY = 'hidden'; + } -/* normalize component */ + this.$refs.content.style.transform = o; + this.$refs.content.style.webkitTransform = o; + } + }, + _handleTrack: function _handleTrack($event) { + if ($event.detail.state === 'start') { + this._x = $event.detail.x; + this._y = $event.detail.y; + this._noBubble = null; + return; + } -var component = Object(componentNormalizer["a" /* default */])( - components_checkboxvue_type_script_lang_js_, - render, - staticRenderFns, - false, - null, - null, - null - -) + if ($event.detail.state === 'end') { + this._noBubble = false; + } -/* hot reload */ -if (false) { var api; } -component.options.__file = "src/core/view/components/checkbox/index.vue" -/* harmony default export */ var components_checkbox = __webpack_exports__["default"] = (component.exports); + if (this._noBubble === null && this.scrollY) { + if (Math.abs(this._y - $event.detail.y) / Math.abs(this._x - $event.detail.x) > 1) { + this._noBubble = true; + } else { + this._noBubble = false; + } + } -/***/ }), -/* 113 */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { + if (this._noBubble === null && this.scrollX) { + if (Math.abs(this._x - $event.detail.x) / Math.abs(this._y - $event.detail.y) > 1) { + this._noBubble = true; + } else { + this._noBubble = false; + } + } -"use strict"; -__webpack_require__.r(__webpack_exports__); + this._x = $event.detail.x; + this._y = $event.detail.y; -// CONCATENATED MODULE: ./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"26557f38-vue-loader-template"}!./node_modules/@vue/cli-service/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader/lib??vue-loader-options!./src/core/view/components/navigator/index.vue?vue&type=template&id=c893a598& -var render = function() { - var _vm = this - var _h = _vm.$createElement - var _c = _vm._self._c || _h - return _vm.hoverClass && _vm.hoverClass !== "none" - ? _c( - "uni-navigator", - _vm._g( - { - class: [_vm.hovering ? _vm.hoverClass : ""], - on: { - touchstart: _vm._hoverTouchStart, - touchend: _vm._hoverTouchEnd, - touchcancel: _vm._hoverTouchCancel, - click: _vm._onClick - } - }, - _vm.$listeners - ), - [_vm._t("default")], - 2 - ) - : _c( - "uni-navigator", - _vm._g({ on: { click: _vm._onClick } }, _vm.$listeners), - [_vm._t("default")], - 2 - ) -} -var staticRenderFns = [] -render._withStripped = true + if (this._noBubble) { + $event.stopPropagation(); + } + }, + _handleScroll: function _handleScroll($event) { + if (!($event.timeStamp - this._lastScrollTime < 20)) { + this._lastScrollTime = $event.timeStamp; + var target = $event.target; + this.$trigger('scroll', $event, { + scrollLeft: target.scrollLeft, + scrollTop: target.scrollTop, + scrollHeight: target.scrollHeight, + scrollWidth: target.scrollWidth, + deltaX: this.lastScrollLeft - target.scrollLeft, + deltaY: this.lastScrollTop - target.scrollTop + }); + if (this.scrollY) { + if (target.scrollTop <= this.upperThresholdNumber && this.lastScrollTop - target.scrollTop > 0 && $event.timeStamp - this.lastScrollToUpperTime > 200) { + this.$trigger('scrolltoupper', $event, { + direction: 'top' + }); + this.lastScrollToUpperTime = $event.timeStamp; + } -// CONCATENATED MODULE: ./src/core/view/components/navigator/index.vue?vue&type=template&id=c893a598& + if (target.scrollTop + target.offsetHeight + this.lowerThresholdNumber >= target.scrollHeight && this.lastScrollTop - target.scrollTop < 0 && $event.timeStamp - this.lastScrollToLowerTime > 200) { + this.$trigger('scrolltolower', $event, { + direction: 'bottom' + }); + this.lastScrollToLowerTime = $event.timeStamp; + } + } -// EXTERNAL MODULE: ./src/core/view/mixins/index.js + 1 modules -var mixins = __webpack_require__(1); + if (this.scrollX) { + if (target.scrollLeft <= this.upperThresholdNumber && this.lastScrollLeft - target.scrollLeft > 0 && $event.timeStamp - this.lastScrollToUpperTime > 200) { + this.$trigger('scrolltoupper', $event, { + direction: 'left' + }); + this.lastScrollToUpperTime = $event.timeStamp; + } -// CONCATENATED MODULE: ./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader/lib??vue-loader-options!./src/core/view/components/navigator/index.vue?vue&type=script&lang=js& -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// + if (target.scrollLeft + target.offsetWidth + this.lowerThresholdNumber >= target.scrollWidth && this.lastScrollLeft - target.scrollLeft < 0 && $event.timeStamp - this.lastScrollToLowerTime > 200) { + this.$trigger('scrolltolower', $event, { + direction: 'right' + }); + this.lastScrollToLowerTime = $event.timeStamp; + } + } -var OPEN_TYPES = ['navigate', 'redirect', 'switchTab', 'reLaunch', 'navigateBack']; -/* harmony default export */ var navigatorvue_type_script_lang_js_ = ({ - name: 'Navigator', - mixins: [mixins["b" /* hover */]], - props: { - hoverClass: { - type: String, - default: 'navigator-hover' - }, - url: { - type: String, - default: '' - }, - openType: { - type: String, - default: 'navigate', - validator: function validator(value) { - return ~OPEN_TYPES.indexOf(value); + this.lastScrollTop = target.scrollTop; + this.lastScrollLeft = target.scrollLeft; } }, - delta: { - type: Number, - default: 1 - }, - hoverStartTime: { - type: Number, - default: 20 + _scrollTopChanged: function _scrollTopChanged(val) { + if (this.scrollY) { + if (this._innerSetScrollTop) { + this._innerSetScrollTop = false; + } else { + if (this.scrollWithAnimation) { + this.scrollTo(val, 'y'); + } else { + this.$refs.main.scrollTop = val; + } + } + } }, - hoverStayTime: { - type: Number, - default: 600 - } - }, - methods: { - _onClick: function _onClick($event) { - if (this.openType !== 'navigateBack' && !this.url) { - console.error(" should have url attribute when using navigateTo, redirectTo, reLaunch or switchTab"); - return; + _scrollLeftChanged: function _scrollLeftChanged(val) { + if (this.scrollX) { + if (this._innerSetScrollLeft) { + this._innerSetScrollLeft = false; + } else { + if (this.scrollWithAnimation) { + this.scrollTo(val, 'x'); + } else { + this.$refs.main.scrollLeft = val; + } + } } + }, + _scrollIntoViewChanged: function _scrollIntoViewChanged(val) { + if (val) { + if (!/^[_a-zA-Z][-_a-zA-Z0-9:]*$/.test(val)) { + console.group('scroll-into-view="' + val + '" 有误'); + console.error('id 属性值格式错误。如不能以数字开头。'); + console.groupEnd(); + return; + } - switch (this.openType) { - case 'navigate': - uni.navigateTo({ - url: this.url - }); - break; + var element = this.$el.querySelector('#' + val); - case 'redirect': - uni.redirectTo({ - url: this.url - }); - break; + if (element) { + var mainRect = this.$refs.main.getBoundingClientRect(); + var elRect = element.getBoundingClientRect(); + + if (this.scrollX) { + var left = elRect.left - mainRect.left; + var scrollLeft = this.$refs.main.scrollLeft; + var x = scrollLeft + left; - case 'switchTab': - uni.switchTab({ - url: this.url - }); - break; + if (this.scrollWithAnimation) { + this.scrollTo(x, 'x'); + } else { + this.$refs.main.scrollLeft = x; + } + } - case 'reLaunch': - uni.reLaunch({ - url: this.url - }); - break; + if (this.scrollY) { + var top = elRect.top - mainRect.top; + var scrollTop = this.$refs.main.scrollTop; + var y = scrollTop + top; - case 'navigateBack': - uni.navigateBack({ - delta: this.delta - }); - break; + if (this.scrollWithAnimation) { + this.scrollTo(y, 'y'); + } else { + this.$refs.main.scrollTop = y; + } + } + } + } + }, + _transitionEnd: function _transitionEnd(val, type) { + this.$refs.content.style.transition = ''; + this.$refs.content.style.webkitTransition = ''; + this.$refs.content.style.transform = ''; + this.$refs.content.style.webkitTransform = ''; + var main = this.$refs.main; - default: - break; + if (type === 'x') { + main.style.overflowX = this.scrollX ? 'auto' : 'hidden'; + main.scrollLeft = val; + } else if (type === 'y') { + main.style.overflowY = this.scrollY ? 'auto' : 'hidden'; + main.scrollTop = val; } + + this.$refs.content.removeEventListener('transitionend', this.__transitionEnd); + this.$refs.content.removeEventListener('webkitTransitionEnd', this.__transitionEnd); + }, + getScrollPosition: function getScrollPosition() { + var main = this.$refs.main; + return { + scrollLeft: main.scrollLeft, + scrollTop: main.scrollTop + }; } } }); -// CONCATENATED MODULE: ./src/core/view/components/navigator/index.vue?vue&type=script&lang=js& - /* harmony default export */ var components_navigatorvue_type_script_lang_js_ = (navigatorvue_type_script_lang_js_); -// EXTERNAL MODULE: ./src/core/view/components/navigator/index.vue?vue&type=style&index=0&lang=css& -var navigatorvue_type_style_index_0_lang_css_ = __webpack_require__(78); +// CONCATENATED MODULE: ./src/core/view/components/scroll-view/index.vue?vue&type=script&lang=js& + /* harmony default export */ var components_scroll_viewvue_type_script_lang_js_ = (scroll_viewvue_type_script_lang_js_); +// EXTERNAL MODULE: ./src/core/view/components/scroll-view/index.vue?vue&type=style&index=0&lang=css& +var scroll_viewvue_type_style_index_0_lang_css_ = __webpack_require__(87); // EXTERNAL MODULE: ./node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js var componentNormalizer = __webpack_require__(0); -// CONCATENATED MODULE: ./src/core/view/components/navigator/index.vue +// CONCATENATED MODULE: ./src/core/view/components/scroll-view/index.vue @@ -20061,7 +20914,7 @@ var componentNormalizer = __webpack_require__(0); /* normalize component */ var component = Object(componentNormalizer["a" /* default */])( - components_navigatorvue_type_script_lang_js_, + components_scroll_viewvue_type_script_lang_js_, render, staticRenderFns, false, @@ -20073,232 +20926,38 @@ var component = Object(componentNormalizer["a" /* default */])( /* hot reload */ if (false) { var api; } -component.options.__file = "src/core/view/components/navigator/index.vue" -/* harmony default export */ var components_navigator = __webpack_exports__["default"] = (component.exports); - -/***/ }), -/* 114 */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); - -// CONCATENATED MODULE: ./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"26557f38-vue-loader-template"}!./node_modules/@vue/cli-service/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader/lib??vue-loader-options!./src/core/view/components/input/index.vue?vue&type=template&id=c65e1032& -var render = function() { - var _vm = this - var _h = _vm.$createElement - var _c = _vm._self._c || _h - return _c( - "uni-input", - _vm._g( - { - on: { - change: function($event) { - $event.stopPropagation() - } - } - }, - _vm.$listeners - ), - [ - _c("div", { ref: "wrapper", staticClass: "uni-input-wrapper" }, [ - _c( - "div", - { - directives: [ - { - name: "show", - rawName: "v-show", - value: !(_vm.composing || _vm.inputValue.length), - expression: "!(composing || inputValue.length)" - } - ], - ref: "placeholder", - staticClass: "uni-input-placeholder", - class: _vm.placeholderClass, - style: _vm.placeholderStyle - }, - [_vm._v(_vm._s(_vm.placeholder))] - ), - _vm.inputType === "checkbox" - ? _c("input", { - directives: [ - { - name: "model", - rawName: "v-model", - value: _vm.inputValue, - expression: "inputValue" - } - ], - ref: "input", - staticClass: "uni-input-input", - attrs: { - disabled: _vm.disabled, - maxlength: _vm.maxlength, - step: _vm.step, - autocomplete: "off", - type: "checkbox" - }, - domProps: { - checked: Array.isArray(_vm.inputValue) - ? _vm._i(_vm.inputValue, null) > -1 - : _vm.inputValue - }, - on: { - focus: _vm._onFocus, - blur: _vm._onBlur, - input: function($event) { - $event.stopPropagation() - return _vm._onInput($event) - }, - compositionstart: _vm._onComposition, - compositionend: _vm._onComposition, - keyup: function($event) { - $event.stopPropagation() - return _vm._onKeyup($event) - }, - change: function($event) { - var $$a = _vm.inputValue, - $$el = $event.target, - $$c = $$el.checked ? true : false - if (Array.isArray($$a)) { - var $$v = null, - $$i = _vm._i($$a, $$v) - if ($$el.checked) { - $$i < 0 && (_vm.inputValue = $$a.concat([$$v])) - } else { - $$i > -1 && - (_vm.inputValue = $$a - .slice(0, $$i) - .concat($$a.slice($$i + 1))) - } - } else { - _vm.inputValue = $$c - } - } - } - }) - : _vm.inputType === "radio" - ? _c("input", { - directives: [ - { - name: "model", - rawName: "v-model", - value: _vm.inputValue, - expression: "inputValue" - } - ], - ref: "input", - staticClass: "uni-input-input", - attrs: { - disabled: _vm.disabled, - maxlength: _vm.maxlength, - step: _vm.step, - autocomplete: "off", - type: "radio" - }, - domProps: { checked: _vm._q(_vm.inputValue, null) }, - on: { - focus: _vm._onFocus, - blur: _vm._onBlur, - input: function($event) { - $event.stopPropagation() - return _vm._onInput($event) - }, - compositionstart: _vm._onComposition, - compositionend: _vm._onComposition, - keyup: function($event) { - $event.stopPropagation() - return _vm._onKeyup($event) - }, - change: function($event) { - _vm.inputValue = null - } - } - }) - : _c("input", { - directives: [ - { - name: "model", - rawName: "v-model", - value: _vm.inputValue, - expression: "inputValue" - } - ], - ref: "input", - staticClass: "uni-input-input", - attrs: { - disabled: _vm.disabled, - maxlength: _vm.maxlength, - step: _vm.step, - autocomplete: "off", - type: _vm.inputType - }, - domProps: { value: _vm.inputValue }, - on: { - focus: _vm._onFocus, - blur: _vm._onBlur, - input: [ - function($event) { - if ($event.target.composing) { - return - } - _vm.inputValue = $event.target.value - }, - function($event) { - $event.stopPropagation() - return _vm._onInput($event) - } - ], - compositionstart: _vm._onComposition, - compositionend: _vm._onComposition, - keyup: function($event) { - $event.stopPropagation() - return _vm._onKeyup($event) - } - } - }) - ]) - ] +component.options.__file = "src/core/view/components/scroll-view/index.vue" +/* harmony default export */ var scroll_view = __webpack_exports__["default"] = (component.exports); + +/***/ }), +/* 120 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); + +// CONCATENATED MODULE: ./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"26557f38-vue-loader-template"}!./node_modules/@vue/cli-service/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader/lib??vue-loader-options!./src/core/view/components/radio-group/index.vue?vue&type=template&id=17be8d0a& +var render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "uni-radio-group", + _vm._g({}, _vm.$listeners), + [_vm._t("default")], + 2 ) } var staticRenderFns = [] render._withStripped = true -// CONCATENATED MODULE: ./src/core/view/components/input/index.vue?vue&type=template&id=c65e1032& +// CONCATENATED MODULE: ./src/core/view/components/radio-group/index.vue?vue&type=template&id=17be8d0a& // EXTERNAL MODULE: ./src/core/view/mixins/index.js + 1 modules var mixins = __webpack_require__(1); -// CONCATENATED MODULE: ./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader/lib??vue-loader-options!./src/core/view/components/input/index.vue?vue&type=script&lang=js& -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// +// CONCATENATED MODULE: ./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader/lib??vue-loader-options!./src/core/view/components/radio-group/index.vue?vue&type=script&lang=js& // // // @@ -20306,113 +20965,26 @@ var mixins = __webpack_require__(1); // // -var INPUT_TYPES = ['text', 'number', 'idcard', 'digit', 'password']; -var NUMBER_TYPES = ['number', 'digit']; -/* harmony default export */ var inputvue_type_script_lang_js_ = ({ - name: 'Input', - mixins: [mixins["a" /* emitter */]], - model: { - prop: 'value', - event: 'update:value' - }, +/* harmony default export */ var radio_groupvue_type_script_lang_js_ = ({ + name: 'RadioGroup', + mixins: [mixins["a" /* emitter */], mixins["c" /* listeners */]], props: { name: { type: String, default: '' - }, - value: { - type: [String, Number], - default: '' - }, - type: { - type: String, - default: 'text' - }, - password: { - type: [Boolean, String], - default: false - }, - placeholder: { - type: String, - default: '' - }, - placeholderStyle: { - type: String, - default: '' - }, - placeholderClass: { - type: String, - default: '' - }, - disabled: { - type: [Boolean, String], - default: false - }, - maxlength: { - type: [Number, String], - default: 140 - }, - focus: { - type: [Boolean, String], - default: false - }, - confirmType: { - type: String, - default: 'done' } }, data: function data() { return { - inputValue: this.value + '', - composing: false, - wrapperHeight: 0, - cachedValue: '' + radioList: [] }; }, - computed: { - inputType: function inputType() { - var type = ''; - - switch (this.type) { - case 'text': - this.confirmType === 'search' && (type = 'search'); - break; - - case 'idcard': - // TODO 可能要根据不同平台进行区分处理 - type = 'text'; - break; - - case 'digit': - type = 'number'; - break; - - default: - type = ~INPUT_TYPES.indexOf(this.type) ? this.type : 'text'; - break; - } - - return this.password ? 'password' : type; - }, - step: function step() { - // 处理部分设备中无法输入小数点的问题 - return ~NUMBER_TYPES.indexOf(this.type) ? '0.000000000000000001' : ''; - } + listeners: { + '@radio-change': '_changeHandler', + '@radio-group-update': '_radioGroupUpdateHandler' }, - watch: { - focus: function focus(value) { - value && this._focusInput(); - }, - value: function value(_value) { - this.inputValue = _value + ''; - }, - inputValue: function inputValue(value) { - this.$emit('update:value', value); - }, - maxlength: function maxlength(value) { - var realValue = this.inputValue.slice(0, parseInt(value, 10)); - realValue !== this.inputValue && (this.inputValue = realValue); - } + mounted: function mounted() { + this._resetRadioGroupValue(this.radioList.length - 1); }, created: function created() { this.$dispatch('Form', 'uni-form-group-update', { @@ -20420,34 +20992,6 @@ var NUMBER_TYPES = ['number', 'digit']; vm: this }); }, - mounted: function mounted() { - if (this.confirmType === 'search') { - var formElem = document.createElement('form'); - formElem.action = ''; - - formElem.onsubmit = function () { - return false; - }; - - formElem.className = 'uni-input-form'; - formElem.appendChild(this.$refs.input); - this.$refs.wrapper.appendChild(formElem); - } - - var $vm = this; - - while ($vm) { - var scopeId = $vm.$options._scopeId; - - if (scopeId) { - this.$refs.placeholder.setAttribute(scopeId, ''); - } - - $vm = $vm.$parent; - } - - this.focus && this._focusInput(); - }, beforeDestroy: function beforeDestroy() { this.$dispatch('Form', 'uni-form-group-update', { type: 'remove', @@ -20455,98 +20999,131 @@ var NUMBER_TYPES = ['number', 'digit']; }); }, methods: { - _onKeyup: function _onKeyup($event) { - if ($event.keyCode === 13) { - this.$trigger('confirm', $event, { - value: $event.target.value - }); + _changeHandler: function _changeHandler($event, vm) { + var index = this.radioList.indexOf(vm); + + this._resetRadioGroupValue(index, true); + + this.$trigger('change', $event, { + value: vm.radioValue + }); + }, + _radioGroupUpdateHandler: function _radioGroupUpdateHandler($event) { + if ($event.type === 'add') { + this.radioList.push($event.vm); + } else { + var index = this.radioList.indexOf($event.vm); + this.radioList.splice(index, 1); } }, - _onInput: function _onInput($event) { - if (this.composing) { - return; - } // 处理部分输入法可以输入其它字符的情况 + _resetRadioGroupValue: function _resetRadioGroupValue(key, change) { + var _this = this; + + this.radioList.forEach(function (value, index) { + if (index === key) { + return; + } + + if (change) { + _this.radioList[index].radioChecked = false; + } else { + _this.radioList.forEach(function (v, i) { + if (index >= i) { + return; + } + + if (_this.radioList[i].radioChecked) { + _this.radioList[index].radioChecked = false; + } + }); + } + }); + }, + _getFormData: function _getFormData() { + var data = {}; + + if (this.name !== '') { + var value = ''; + this.radioList.forEach(function (vm) { + if (vm.radioChecked) { + value = vm.value; + } + }); + data['value'] = value; + data['key'] = this.name; + } + + return data; + } + } +}); +// CONCATENATED MODULE: ./src/core/view/components/radio-group/index.vue?vue&type=script&lang=js& + /* harmony default export */ var components_radio_groupvue_type_script_lang_js_ = (radio_groupvue_type_script_lang_js_); +// EXTERNAL MODULE: ./src/core/view/components/radio-group/index.vue?vue&type=style&index=0&lang=css& +var radio_groupvue_type_style_index_0_lang_css_ = __webpack_require__(84); + +// EXTERNAL MODULE: ./node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js +var componentNormalizer = __webpack_require__(0); + +// CONCATENATED MODULE: ./src/core/view/components/radio-group/index.vue - if (~NUMBER_TYPES.indexOf(this.type)) { - if (this.$refs.input.validity && !this.$refs.input.validity.valid) { - $event.target.value = this.cachedValue; - this.inputValue = $event.target.value; // 输入非法字符不触发 input 事件 - return; - } else { - this.cachedValue = this.inputValue; - } - } // type="number" 不支持 maxlength 属性,因此需要主动限制长度。 - if (this.inputType === 'number') { - var maxlength = parseInt(this.maxlength, 10); - if (maxlength > 0 && $event.target.value.length > maxlength) { - $event.target.value = $event.target.value.slice(0, maxlength); - this.inputValue = $event.target.value; // 字符长度超出范围不触发 input 事件 +/* normalize component */ - return; - } - } +var component = Object(componentNormalizer["a" /* default */])( + components_radio_groupvue_type_script_lang_js_, + render, + staticRenderFns, + false, + null, + null, + null + +) - this.$trigger('input', $event, { - value: this.inputValue - }); - }, - _onFocus: function _onFocus($event) { - this.$trigger('focus', $event, { - value: $event.target.value - }); - }, - _onBlur: function _onBlur($event) { - this.$trigger('blur', $event, { - value: $event.target.value - }); - }, - _focusInput: function _focusInput() { - var _this = this; +/* hot reload */ +if (false) { var api; } +component.options.__file = "src/core/view/components/radio-group/index.vue" +/* harmony default export */ var radio_group = __webpack_exports__["default"] = (component.exports); - setTimeout(function () { - _this.$refs.input.focus(); - }, 350); - }, - _blurInput: function _blurInput() { - var _this2 = this; +/***/ }), +/* 121 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { - setTimeout(function () { - _this2.$refs.input.blur(); - }, 350); - }, - _onComposition: function _onComposition($event) { - if ($event.type === 'compositionstart') { - this.composing = true; - } else { - this.composing = false; - } - }, - _resetFormData: function _resetFormData() { - this.inputValue = ''; - }, - _getFormData: function _getFormData() { - return this.name ? { - value: this.inputValue, - key: this.name - } : {}; - } - } -}); -// CONCATENATED MODULE: ./src/core/view/components/input/index.vue?vue&type=script&lang=js& - /* harmony default export */ var components_inputvue_type_script_lang_js_ = (inputvue_type_script_lang_js_); -// EXTERNAL MODULE: ./src/core/view/components/input/index.vue?vue&type=style&index=0&lang=css& -var inputvue_type_style_index_0_lang_css_ = __webpack_require__(75); +"use strict"; +__webpack_require__.r(__webpack_exports__); + +// CONCATENATED MODULE: ./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"26557f38-vue-loader-template"}!./node_modules/@vue/cli-service/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader/lib??vue-loader-options!./src/core/view/components/label/index.vue?vue&type=template&id=04b5b291& +var render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "uni-label", + _vm._g({ on: { click: _vm._onClick } }, _vm.$listeners), + [_vm._t("default")], + 2 + ) +} +var staticRenderFns = [] +render._withStripped = true + + +// CONCATENATED MODULE: ./src/core/view/components/label/index.vue?vue&type=template&id=04b5b291& + +// EXTERNAL MODULE: ./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader/lib??vue-loader-options!./src/core/view/components/label/index.vue?vue&type=script&lang=js& +var labelvue_type_script_lang_js_ = __webpack_require__(23); +// CONCATENATED MODULE: ./src/core/view/components/label/index.vue?vue&type=script&lang=js& + /* harmony default export */ var components_labelvue_type_script_lang_js_ = (labelvue_type_script_lang_js_["a" /* default */]); // EXTERNAL MODULE: ./node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js var componentNormalizer = __webpack_require__(0); -// CONCATENATED MODULE: ./src/core/view/components/input/index.vue - +// CONCATENATED MODULE: ./src/core/view/components/label/index.vue @@ -20555,7 +21132,7 @@ var componentNormalizer = __webpack_require__(0); /* normalize component */ var component = Object(componentNormalizer["a" /* default */])( - components_inputvue_type_script_lang_js_, + components_labelvue_type_script_lang_js_, render, staticRenderFns, false, @@ -20567,11 +21144,11 @@ var component = Object(componentNormalizer["a" /* default */])( /* hot reload */ if (false) { var api; } -component.options.__file = "src/core/view/components/input/index.vue" -/* harmony default export */ var input = __webpack_exports__["default"] = (component.exports); +component.options.__file = "src/core/view/components/label/index.vue" +/* harmony default export */ var label = __webpack_exports__["default"] = (component.exports); /***/ }), -/* 115 */ +/* 122 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -20627,7 +21204,7 @@ var canvasvue_type_script_lang_js_ = __webpack_require__(16); // CONCATENATED MODULE: ./src/core/view/components/canvas/index.vue?vue&type=script&lang=js& /* harmony default export */ var components_canvasvue_type_script_lang_js_ = (canvasvue_type_script_lang_js_["a" /* default */]); // EXTERNAL MODULE: ./src/core/view/components/canvas/index.vue?vue&type=style&index=0&lang=css& -var canvasvue_type_style_index_0_lang_css_ = __webpack_require__(70); +var canvasvue_type_style_index_0_lang_css_ = __webpack_require__(72); // EXTERNAL MODULE: ./node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js var componentNormalizer = __webpack_require__(0); @@ -20658,64 +21235,7 @@ component.options.__file = "src/core/view/components/canvas/index.vue" /* harmony default export */ var canvas = __webpack_exports__["default"] = (component.exports); /***/ }), -/* 116 */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); - -// CONCATENATED MODULE: ./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"26557f38-vue-loader-template"}!./node_modules/@vue/cli-service/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader/lib??vue-loader-options!./src/core/view/components/label/index.vue?vue&type=template&id=04b5b291& -var render = function() { - var _vm = this - var _h = _vm.$createElement - var _c = _vm._self._c || _h - return _c( - "uni-label", - _vm._g({ on: { click: _vm._onClick } }, _vm.$listeners), - [_vm._t("default")], - 2 - ) -} -var staticRenderFns = [] -render._withStripped = true - - -// CONCATENATED MODULE: ./src/core/view/components/label/index.vue?vue&type=template&id=04b5b291& - -// EXTERNAL MODULE: ./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader/lib??vue-loader-options!./src/core/view/components/label/index.vue?vue&type=script&lang=js& -var labelvue_type_script_lang_js_ = __webpack_require__(23); - -// CONCATENATED MODULE: ./src/core/view/components/label/index.vue?vue&type=script&lang=js& - /* harmony default export */ var components_labelvue_type_script_lang_js_ = (labelvue_type_script_lang_js_["a" /* default */]); -// EXTERNAL MODULE: ./node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js -var componentNormalizer = __webpack_require__(0); - -// CONCATENATED MODULE: ./src/core/view/components/label/index.vue - - - - - -/* normalize component */ - -var component = Object(componentNormalizer["a" /* default */])( - components_labelvue_type_script_lang_js_, - render, - staticRenderFns, - false, - null, - null, - null - -) - -/* hot reload */ -if (false) { var api; } -component.options.__file = "src/core/view/components/label/index.vue" -/* harmony default export */ var label = __webpack_exports__["default"] = (component.exports); - -/***/ }), -/* 117 */ +/* 123 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -21453,7 +21973,7 @@ var touchtrack = __webpack_require__(8); // CONCATENATED MODULE: ./src/core/view/components/swiper/index.vue?vue&type=script&lang=js& /* harmony default export */ var components_swipervue_type_script_lang_js_ = (swipervue_type_script_lang_js_); // EXTERNAL MODULE: ./src/core/view/components/swiper/index.vue?vue&type=style&index=0&lang=css& -var swipervue_type_style_index_0_lang_css_ = __webpack_require__(88); +var swipervue_type_style_index_0_lang_css_ = __webpack_require__(90); // EXTERNAL MODULE: ./node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js var componentNormalizer = __webpack_require__(0); @@ -21484,152 +22004,90 @@ component.options.__file = "src/core/view/components/swiper/index.vue" /* harmony default export */ var swiper = __webpack_exports__["default"] = (component.exports); /***/ }), -/* 118 */ +/* 124 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); -// CONCATENATED MODULE: ./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader/lib??vue-loader-options!./src/core/view/components/picker-view/index.vue?vue&type=script&lang=js& -function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); } - -function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); } - -function _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); } - -function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } } - -/* harmony default export */ var picker_viewvue_type_script_lang_js_ = ({ - name: 'PickerView', +// CONCATENATED MODULE: ./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader/lib??vue-loader-options!./src/core/view/components/resize-sensor/index.vue?vue&type=script&lang=js& +/* harmony default export */ var resize_sensorvue_type_script_lang_js_ = ({ + name: 'ResizeSensor', props: { - value: { - type: Array, - default: function _default() { - return []; - }, - validator: function validator(val) { - return Array.isArray(val) && val.filter(function (val) { - return typeof val === 'number'; - }).length === val.length; - } - }, - indicatorStyle: { - type: String, - default: '' - }, - indicatorClass: { - type: String, - default: '' - }, - maskStyle: { - type: String, - default: '' - }, - maskClass: { - type: String, - default: '' + initial: { + type: [Boolean, String], + default: false } }, data: function data() { return { - valueSync: _toConsumableArray(this.value), - height: 34, - items: [], - changeSource: '' - }; - }, - watch: { - value: function value(val) { - var _this = this; - - this.valueSync.length = val.length; - val.forEach(function (val, index) { - if (val !== _this.valueSync[index]) { - _this.$set(_this.valueSync, index, val); - } - }); - }, - valueSync: { - deep: true, - handler: function handler(val, oldVal) { - if (this.changeSource === '') { - this._valueChanged(val); - } else { - this.changeSource = ''; // 避免外部直接对此值进行修改 - - var value = val.map(function (val) { - return val; - }); - this.$emit('update:value', value); - this.$trigger('change', {}, { - value: value - }); - } + size: { + width: -1, + height: -1 } - } + }; }, - methods: { - getItemIndex: function getItemIndex(vnode) { - return this.items.indexOf(vnode); - }, - getItemValue: function getItemValue(vm) { - return this.valueSync[this.getItemIndex(vm.$vnode)] || 0; - }, - setItemValue: function setItemValue(vm, val) { - var index = this.getItemIndex(vm.$vnode); - var oldVal = this.valueSync[index]; - - if (oldVal !== val) { - this.changeSource = 'touch'; - this.$set(this.valueSync, index, val); + watch: { + size: { + deep: true, + handler: function handler(size) { + this.$emit('resize', Object.assign({}, size)); } - }, - _valueChanged: function _valueChanged(val) { - this.items.forEach(function (item, index) { - item.componentInstance.setCurrent(val[index] || 0); - }); - }, - _resize: function _resize(_ref) { - var height = _ref.height; - this.height = height; } }, - render: function render(createElement) { - var items = []; + mounted: function mounted() { + if (this.initial === true) { + this.$nextTick(this.update); + } - if (this.$slots.default) { - this.$slots.default.forEach(function (vnode) { - if (vnode.componentOptions && vnode.componentOptions.tag === 'v-uni-picker-view-column') { - items.push(vnode); - } - }); + if (this.$el.offsetParent !== this.$el.parentNode) { + this.$el.parentNode.style.position = 'relative'; } - this.items = items; - return createElement('uni-picker-view', { - on: this.$listeners - }, [createElement('v-uni-resize-sensor', { - attrs: { - initial: true - }, + if (!('AnimationEvent' in window)) { + this.reset(); + } + }, + methods: { + reset: function reset() { + var expand = this.$el.firstChild; + var shrink = this.$el.lastChild; + expand.scrollLeft = 100000; + expand.scrollTop = 100000; + shrink.scrollLeft = 100000; + shrink.scrollTop = 100000; + }, + update: function update() { + this.size.width = this.$el.offsetWidth; + this.size.height = this.$el.offsetHeight; + this.reset(); + } + }, + render: function render(create) { + return create('uni-resize-sensor', { on: { - resize: this._resize + '~animationstart': this.update } - }), createElement('div', { - ref: 'wrapper', - 'class': 'uni-picker-view-wrapper' - }, items)]); + }, [create('div', { + on: { + scroll: this.update + } + }, [create('div')]), create('div', { + on: { + scroll: this.update + } + }, [create('div')])]); } }); -// CONCATENATED MODULE: ./src/core/view/components/picker-view/index.vue?vue&type=script&lang=js& - /* harmony default export */ var components_picker_viewvue_type_script_lang_js_ = (picker_viewvue_type_script_lang_js_); -// EXTERNAL MODULE: ./src/core/view/components/picker-view/index.vue?vue&type=style&index=0&lang=css& -var picker_viewvue_type_style_index_0_lang_css_ = __webpack_require__(80); +// CONCATENATED MODULE: ./src/core/view/components/resize-sensor/index.vue?vue&type=script&lang=js& + /* harmony default export */ var components_resize_sensorvue_type_script_lang_js_ = (resize_sensorvue_type_script_lang_js_); +// EXTERNAL MODULE: ./src/core/view/components/resize-sensor/index.vue?vue&type=style&index=0&lang=css& +var resize_sensorvue_type_style_index_0_lang_css_ = __webpack_require__(86); // EXTERNAL MODULE: ./node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js var componentNormalizer = __webpack_require__(0); -// CONCATENATED MODULE: ./src/core/view/components/picker-view/index.vue +// CONCATENATED MODULE: ./src/core/view/components/resize-sensor/index.vue var render, staticRenderFns @@ -21639,7 +22097,7 @@ var render, staticRenderFns /* normalize component */ var component = Object(componentNormalizer["a" /* default */])( - components_picker_viewvue_type_script_lang_js_, + components_resize_sensorvue_type_script_lang_js_, render, staticRenderFns, false, @@ -21651,92 +22109,146 @@ var component = Object(componentNormalizer["a" /* default */])( /* hot reload */ if (false) { var api; } -component.options.__file = "src/core/view/components/picker-view/index.vue" -/* harmony default export */ var picker_view = __webpack_exports__["default"] = (component.exports); +component.options.__file = "src/core/view/components/resize-sensor/index.vue" +/* harmony default export */ var resize_sensor = __webpack_exports__["default"] = (component.exports); /***/ }), -/* 119 */ +/* 125 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); -// CONCATENATED MODULE: ./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader/lib??vue-loader-options!./src/core/view/components/text/index.vue?vue&type=script&lang=js& -var SPACE_UNICODE = { - 'ensp': "\u2002", - 'emsp': "\u2003", - 'nbsp': "\xA0" -}; -/* harmony default export */ var textvue_type_script_lang_js_ = ({ - name: 'Text', +// EXTERNAL MODULE: ./src/core/view/mixins/index.js + 1 modules +var mixins = __webpack_require__(1); + +// CONCATENATED MODULE: ./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader/lib??vue-loader-options!./src/core/view/components/button/index.vue?vue&type=script&lang=js& + +/* harmony default export */ var buttonvue_type_script_lang_js_ = ({ + name: 'Button', + mixins: [mixins["b" /* hover */], mixins["a" /* emitter */], mixins["c" /* listeners */]], props: { - selectable: { + hoverClass: { + type: String, + default: 'button-hover' + }, + disabled: { type: [Boolean, String], default: false }, - space: { + id: { type: String, default: '' }, - decode: { - type: [Boolean, String], + hoverStopPropagation: { + type: Boolean, default: false + }, + hoverStartTime: { + type: Number, + default: 20 + }, + hoverStayTime: { + type: Number, + default: 70 + }, + formType: { + type: String, + default: '', + validator: function validator(value) { + // 只有这几个可取值,其它都是非法的。 + return ~['', 'submit', 'reset'].indexOf(value); + } } }, + data: function data() { + return { + clickFunction: null + }; + }, methods: { - _decodeHtml: function _decodeHtml(htmlString) { - if (this.space && SPACE_UNICODE[this.space]) { - htmlString = htmlString.replace(/ /g, SPACE_UNICODE[this.space]); + _onClick: function _onClick($event, isLabelClick) { + if (this.disabled) { + return; } - if (this.decode) { - htmlString = htmlString.replace(/ /g, SPACE_UNICODE.nbsp).replace(/ /g, SPACE_UNICODE.ensp).replace(/ /g, SPACE_UNICODE.emsp).replace(/</g, '<').replace(/>/g, '>').replace(/&/g, '&').replace(/"/g, '"').replace(/'/g, "'"); + if (isLabelClick) { + this.$el.click(); + } // TODO 通知父表单执行相应的行为 + + + if (this.formType) { + this.$dispatch('Form', this.formType === 'submit' ? 'uni-form-submit' : 'uni-form-reset', { + type: this.formType + }); + } + }, + _bindObjectListeners: function _bindObjectListeners(data, value) { + if (value) { + for (var key in value) { + var existing = data.on[key]; + var ours = value[key]; + data.on[key] = existing ? [].concat(existing, ours) : ours; + } } - return htmlString; + return data; } }, render: function render(createElement) { var _this = this; - var nodeList = []; - this.$slots.default && this.$slots.default.forEach(function (vnode) { - if (vnode.text) { - // 处理可能出现的多余的转义字符 - var nodeText = vnode.text.replace(/\\n/g, '\n'); - var texts = nodeText.split('\n'); - texts.forEach(function (text, index) { - nodeList.push(_this._decodeHtml(text)); + var $listeners = Object.create(null); - if (index !== texts.length - 1) { - nodeList.push(createElement('br')); - } - }); - } else { - if (vnode.componentOptions && vnode.componentOptions.tag !== 'v-uni-text') { - console.warn(' 组件内只支持嵌套 ,不支持其它组件或自定义组件,否则会引发在不同平台的渲染差异。'); + if (this.$listeners) { + Object.keys(this.$listeners).forEach(function (e) { + if (_this.disabled && (e === 'click' || e === 'tap')) { + return; } - nodeList.push(vnode); - } - }); - return createElement('uni-text', { - on: this.$listeners, - attrs: { - selectable: !!this.selectable - } - }, [createElement('span', {}, nodeList)]); + $listeners[e] = _this.$listeners[e]; + }); + } + + if (this.hoverClass && this.hoverClass !== 'none') { + return createElement('uni-button', this._bindObjectListeners({ + class: [this.hovering ? this.hoverClass : ''], + attrs: { + 'disabled': this.disabled + }, + on: { + touchstart: this._hoverTouchStart, + touchend: this._hoverTouchEnd, + touchcancel: this._hoverTouchCancel, + click: this._onClick + } + }, $listeners), this.$slots.default); + } else { + return createElement('uni-button', this._bindObjectListeners({ + class: [this.hovering ? this.hoverClass : ''], + attrs: { + 'disabled': this.disabled + }, + on: { + click: this._onClick + } + }, $listeners), this.$slots.default); + } + }, + listeners: { + 'label-click': '_onClick', + '@label-click': '_onClick' } }); -// CONCATENATED MODULE: ./src/core/view/components/text/index.vue?vue&type=script&lang=js& - /* harmony default export */ var components_textvue_type_script_lang_js_ = (textvue_type_script_lang_js_); -// EXTERNAL MODULE: ./src/core/view/components/text/index.vue?vue&type=style&index=0&lang=css& -var textvue_type_style_index_0_lang_css_ = __webpack_require__(90); +// CONCATENATED MODULE: ./src/core/view/components/button/index.vue?vue&type=script&lang=js& + /* harmony default export */ var components_buttonvue_type_script_lang_js_ = (buttonvue_type_script_lang_js_); +// EXTERNAL MODULE: ./src/core/view/components/button/index.vue?vue&type=style&index=0&lang=css& +var buttonvue_type_style_index_0_lang_css_ = __webpack_require__(71); // EXTERNAL MODULE: ./node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js var componentNormalizer = __webpack_require__(0); -// CONCATENATED MODULE: ./src/core/view/components/text/index.vue +// CONCATENATED MODULE: ./src/core/view/components/button/index.vue var render, staticRenderFns @@ -21746,7 +22258,7 @@ var render, staticRenderFns /* normalize component */ var component = Object(componentNormalizer["a" /* default */])( - components_textvue_type_script_lang_js_, + components_buttonvue_type_script_lang_js_, render, staticRenderFns, false, @@ -21758,11 +22270,11 @@ var component = Object(componentNormalizer["a" /* default */])( /* hot reload */ if (false) { var api; } -component.options.__file = "src/core/view/components/text/index.vue" -/* harmony default export */ var components_text = __webpack_exports__["default"] = (component.exports); +component.options.__file = "src/core/view/components/button/index.vue" +/* harmony default export */ var components_button = __webpack_exports__["default"] = (component.exports); /***/ }), -/* 120 */ +/* 126 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -21772,13 +22284,13 @@ __webpack_require__.r(__webpack_exports__); var touchtrack = __webpack_require__(8); // EXTERNAL MODULE: ./src/core/view/mixins/scroller/index.js + 2 modules -var scroller = __webpack_require__(48); +var scroller = __webpack_require__(50); // EXTERNAL MODULE: ./src/core/view/mixins/scroller/Friction.js -var Friction = __webpack_require__(46); +var Friction = __webpack_require__(48); // EXTERNAL MODULE: ./src/core/view/mixins/scroller/Spring.js -var Spring = __webpack_require__(47); +var Spring = __webpack_require__(49); // CONCATENATED MODULE: ./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader/lib??vue-loader-options!./src/core/view/components/picker-view-column/index.vue?vue&type=script&lang=js& @@ -22004,7 +22516,7 @@ function onClick(dom, callback) { // CONCATENATED MODULE: ./src/core/view/components/picker-view-column/index.vue?vue&type=script&lang=js& /* harmony default export */ var components_picker_view_columnvue_type_script_lang_js_ = (picker_view_columnvue_type_script_lang_js_); // EXTERNAL MODULE: ./src/core/view/components/picker-view-column/index.vue?vue&type=style&index=0&lang=css& -var picker_view_columnvue_type_style_index_0_lang_css_ = __webpack_require__(79); +var picker_view_columnvue_type_style_index_0_lang_css_ = __webpack_require__(81); // EXTERNAL MODULE: ./node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js var componentNormalizer = __webpack_require__(0); @@ -22035,310 +22547,88 @@ component.options.__file = "src/core/view/components/picker-view-column/index.vu /* harmony default export */ var picker_view_column = __webpack_exports__["default"] = (component.exports); /***/ }), -/* 121 */ +/* 127 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); -// CONCATENATED MODULE: ./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader/lib??vue-loader-options!./src/core/view/components/movable-area/index.vue?vue&type=script&lang=js& -function calc(e) { - return Math.sqrt(e.x * e.x + e.y * e.y); -} - -/* harmony default export */ var movable_areavue_type_script_lang_js_ = ({ - name: 'MovableArea', +// CONCATENATED MODULE: ./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader/lib??vue-loader-options!./src/core/view/components/text/index.vue?vue&type=script&lang=js& +var SPACE_UNICODE = { + 'ensp': "\u2002", + 'emsp': "\u2003", + 'nbsp': "\xA0" +}; +/* harmony default export */ var textvue_type_script_lang_js_ = ({ + name: 'Text', props: { - scaleArea: { - type: Boolean, + selectable: { + type: [Boolean, String], default: false - } - }, - data: function data() { - return { - width: 0, - height: 0, - items: [] - }; - }, - created: function created() { - this.gapV = { - x: null, - y: null - }; - this.pinchStartLen = null; - }, - mounted: function mounted() { - this._resize(); - }, - methods: { - _resize: function _resize() { - this._getWH(); - - this.items.forEach(function (item, index) { - item.componentInstance.setParent(); - }); - }, - _find: function _find(target) { - var items = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.items; - var root = this.$el; - - function get(node) { - for (var i = 0; i < items.length; i++) { - var item = items[i]; - - if (node === item.componentInstance.$el) { - return item; - } - } - - if (node === root || node === document.body || node === document) { - return null; - } - - return get(node.parentNode); - } - - return get(target); - }, - _touchstart: function _touchstart(t) { - var i = t.touches; - - if (i) { - if (i.length > 1) { - var r = { - x: i[1].pageX - i[0].pageX, - y: i[1].pageY - i[0].pageY - }; - this.pinchStartLen = calc(r); - this.gapV = r; - - if (!this.scaleArea) { - var touch0 = this._find(i[0].target); - - var touch1 = this._find(i[1].target); - - this._scaleMovableView = touch0 && touch0 === touch1 ? touch0 : null; - } - } - } - }, - _touchmove: function _touchmove(t) { - var n = t.touches; - - if (n) { - if (n.length > 1) { - t.preventDefault(); - var i = { - x: n[1].pageX - n[0].pageX, - y: n[1].pageY - n[0].pageY - }; - - if (this.gapV.x !== null && this.pinchStartLen > 0) { - var r = calc(i) / this.pinchStartLen; - - this._updateScale(r); - } - - this.gapV = i; - } - } - }, - _touchend: function _touchend(e) { - var t = e.touches; - - if (!(t && t.length)) { - if (e.changedTouches) { - this.gapV.x = 0; - this.gapV.y = 0; - this.pinchStartLen = null; - - if (this.scaleArea) { - this.items.forEach(function (item) { - item.componentInstance._endScale(); - }); - } else { - if (this._scaleMovableView) { - this._scaleMovableView.componentInstance._endScale(); - } - } - } - } }, - _updateScale: function _updateScale(e) { - if (e && e !== 1) { - if (this.scaleArea) { - this.items.forEach(function (item) { - item.componentInstance._setScale(e); - }); - } else { - if (this._scaleMovableView) { - this._scaleMovableView.componentInstance._setScale(e); - } - } - } + space: { + type: String, + default: '' }, - _getWH: function _getWH() { - var style = window.getComputedStyle(this.$el); - var rect = this.$el.getBoundingClientRect(); - this.width = rect.width - ['Left', 'Right'].reduce(function (all, item) { - return all + parseFloat(style['border' + item + 'Width']) + parseFloat(style['padding' + item]); - }, 0); - this.height = rect.height - ['Top', 'Bottom'].reduce(function (all, item) { - return all + parseFloat(style['border' + item + 'Width']) + parseFloat(style['padding' + item]); - }, 0); - } - }, - render: function render(createElement) { - var _this = this; - - var items = []; - - if (this.$slots.default) { - this.$slots.default.forEach(function (vnode) { - if (vnode.componentOptions && vnode.componentOptions.tag === 'v-uni-movable-view') { - items.push(vnode); - } - }); - } - - this.items = items; - var $listeners = Object.assign({}, this.$listeners); - var events = ['touchstart', 'touchmove', 'touchend']; - events.forEach(function (event) { - var existing = $listeners[event]; - - var ours = _this["_".concat(event)]; - - $listeners[event] = existing ? [].concat(existing, ours) : ours; - }); - return createElement('uni-movable-area', { - on: $listeners - }, [createElement('v-uni-resize-sensor', { - on: { - resize: this._resize - } - })].concat(items)); - } -}); -// CONCATENATED MODULE: ./src/core/view/components/movable-area/index.vue?vue&type=script&lang=js& - /* harmony default export */ var components_movable_areavue_type_script_lang_js_ = (movable_areavue_type_script_lang_js_); -// EXTERNAL MODULE: ./src/core/view/components/movable-area/index.vue?vue&type=style&index=0&lang=css& -var movable_areavue_type_style_index_0_lang_css_ = __webpack_require__(76); - -// EXTERNAL MODULE: ./node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js -var componentNormalizer = __webpack_require__(0); - -// CONCATENATED MODULE: ./src/core/view/components/movable-area/index.vue -var render, staticRenderFns - - - - - -/* normalize component */ - -var component = Object(componentNormalizer["a" /* default */])( - components_movable_areavue_type_script_lang_js_, - render, - staticRenderFns, - false, - null, - null, - null - -) - -/* hot reload */ -if (false) { var api; } -component.options.__file = "src/core/view/components/movable-area/index.vue" -/* harmony default export */ var movable_area = __webpack_exports__["default"] = (component.exports); - -/***/ }), -/* 122 */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); - -// CONCATENATED MODULE: ./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader/lib??vue-loader-options!./src/core/view/components/resize-sensor/index.vue?vue&type=script&lang=js& -/* harmony default export */ var resize_sensorvue_type_script_lang_js_ = ({ - name: 'ResizeSensor', - props: { - initial: { + decode: { type: [Boolean, String], - default: false - } - }, - data: function data() { - return { - size: { - width: -1, - height: -1 - } - }; - }, - watch: { - size: { - deep: true, - handler: function handler(size) { - this.$emit('resize', Object.assign({}, size)); - } + default: false } }, - mounted: function mounted() { - if (this.initial === true) { - this.$nextTick(this.update); - } + methods: { + _decodeHtml: function _decodeHtml(htmlString) { + if (this.space && SPACE_UNICODE[this.space]) { + htmlString = htmlString.replace(/ /g, SPACE_UNICODE[this.space]); + } - if (this.$el.offsetParent !== this.$el.parentNode) { - this.$el.parentNode.style.position = 'relative'; - } + if (this.decode) { + htmlString = htmlString.replace(/ /g, SPACE_UNICODE.nbsp).replace(/ /g, SPACE_UNICODE.ensp).replace(/ /g, SPACE_UNICODE.emsp).replace(/</g, '<').replace(/>/g, '>').replace(/&/g, '&').replace(/"/g, '"').replace(/'/g, "'"); + } - if (!('AnimationEvent' in window)) { - this.reset(); - } - }, - methods: { - reset: function reset() { - var expand = this.$el.firstChild; - var shrink = this.$el.lastChild; - expand.scrollLeft = 100000; - expand.scrollTop = 100000; - shrink.scrollLeft = 100000; - shrink.scrollTop = 100000; - }, - update: function update() { - this.size.width = this.$el.offsetWidth; - this.size.height = this.$el.offsetHeight; - this.reset(); + return htmlString; } }, - render: function render(create) { - return create('uni-resize-sensor', { - on: { - '~animationstart': this.update - } - }, [create('div', { - on: { - scroll: this.update + render: function render(createElement) { + var _this = this; + + var nodeList = []; + this.$slots.default && this.$slots.default.forEach(function (vnode) { + if (vnode.text) { + // 处理可能出现的多余的转义字符 + var nodeText = vnode.text.replace(/\\n/g, '\n'); + var texts = nodeText.split('\n'); + texts.forEach(function (text, index) { + nodeList.push(_this._decodeHtml(text)); + + if (index !== texts.length - 1) { + nodeList.push(createElement('br')); + } + }); + } else { + if (vnode.componentOptions && vnode.componentOptions.tag !== 'v-uni-text') { + console.warn(' 组件内只支持嵌套 ,不支持其它组件或自定义组件,否则会引发在不同平台的渲染差异。'); + } + + nodeList.push(vnode); } - }, [create('div')]), create('div', { - on: { - scroll: this.update + }); + return createElement('uni-text', { + on: this.$listeners, + attrs: { + selectable: !!this.selectable } - }, [create('div')])]); + }, [createElement('span', {}, nodeList)]); } }); -// CONCATENATED MODULE: ./src/core/view/components/resize-sensor/index.vue?vue&type=script&lang=js& - /* harmony default export */ var components_resize_sensorvue_type_script_lang_js_ = (resize_sensorvue_type_script_lang_js_); -// EXTERNAL MODULE: ./src/core/view/components/resize-sensor/index.vue?vue&type=style&index=0&lang=css& -var resize_sensorvue_type_style_index_0_lang_css_ = __webpack_require__(84); +// CONCATENATED MODULE: ./src/core/view/components/text/index.vue?vue&type=script&lang=js& + /* harmony default export */ var components_textvue_type_script_lang_js_ = (textvue_type_script_lang_js_); +// EXTERNAL MODULE: ./src/core/view/components/text/index.vue?vue&type=style&index=0&lang=css& +var textvue_type_style_index_0_lang_css_ = __webpack_require__(92); // EXTERNAL MODULE: ./node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js var componentNormalizer = __webpack_require__(0); -// CONCATENATED MODULE: ./src/core/view/components/resize-sensor/index.vue +// CONCATENATED MODULE: ./src/core/view/components/text/index.vue var render, staticRenderFns @@ -22348,7 +22638,7 @@ var render, staticRenderFns /* normalize component */ var component = Object(componentNormalizer["a" /* default */])( - components_resize_sensorvue_type_script_lang_js_, + components_textvue_type_script_lang_js_, render, staticRenderFns, false, @@ -22360,146 +22650,156 @@ var component = Object(componentNormalizer["a" /* default */])( /* hot reload */ if (false) { var api; } -component.options.__file = "src/core/view/components/resize-sensor/index.vue" -/* harmony default export */ var resize_sensor = __webpack_exports__["default"] = (component.exports); +component.options.__file = "src/core/view/components/text/index.vue" +/* harmony default export */ var components_text = __webpack_exports__["default"] = (component.exports); /***/ }), -/* 123 */ +/* 128 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); -// EXTERNAL MODULE: ./src/core/view/mixins/index.js + 1 modules -var mixins = __webpack_require__(1); +// CONCATENATED MODULE: ./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader/lib??vue-loader-options!./src/core/view/components/picker-view/index.vue?vue&type=script&lang=js& +function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); } -// CONCATENATED MODULE: ./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader/lib??vue-loader-options!./src/core/view/components/button/index.vue?vue&type=script&lang=js& +function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); } -/* harmony default export */ var buttonvue_type_script_lang_js_ = ({ - name: 'Button', - mixins: [mixins["b" /* hover */], mixins["a" /* emitter */], mixins["c" /* listeners */]], +function _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); } + +function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } } + +/* harmony default export */ var picker_viewvue_type_script_lang_js_ = ({ + name: 'PickerView', props: { - hoverClass: { - type: String, - default: 'button-hover' - }, - disabled: { - type: [Boolean, String], - default: false + value: { + type: Array, + default: function _default() { + return []; + }, + validator: function validator(val) { + return Array.isArray(val) && val.filter(function (val) { + return typeof val === 'number'; + }).length === val.length; + } }, - id: { + indicatorStyle: { type: String, default: '' }, - hoverStopPropagation: { - type: Boolean, - default: false - }, - hoverStartTime: { - type: Number, - default: 20 + indicatorClass: { + type: String, + default: '' }, - hoverStayTime: { - type: Number, - default: 70 + maskStyle: { + type: String, + default: '' }, - formType: { + maskClass: { type: String, - default: '', - validator: function validator(value) { - // 只有这几个可取值,其它都是非法的。 - return ~['', 'submit', 'reset'].indexOf(value); - } + default: '' } }, data: function data() { return { - clickFunction: null + valueSync: _toConsumableArray(this.value), + height: 34, + items: [], + changeSource: '' }; }, - methods: { - _onClick: function _onClick($event, isLabelClick) { - if (this.disabled) { - return; - } - - if (isLabelClick) { - this.$el.click(); - } // TODO 通知父表单执行相应的行为 - + watch: { + value: function value(val) { + var _this = this; - if (this.formType) { - this.$dispatch('Form', this.formType === 'submit' ? 'uni-form-submit' : 'uni-form-reset', { - type: this.formType - }); - } + this.valueSync.length = val.length; + val.forEach(function (val, index) { + if (val !== _this.valueSync[index]) { + _this.$set(_this.valueSync, index, val); + } + }); }, - _bindObjectListeners: function _bindObjectListeners(data, value) { - if (value) { - for (var key in value) { - var existing = data.on[key]; - var ours = value[key]; - data.on[key] = existing ? [].concat(existing, ours) : ours; + valueSync: { + deep: true, + handler: function handler(val, oldVal) { + if (this.changeSource === '') { + this._valueChanged(val); + } else { + this.changeSource = ''; // 避免外部直接对此值进行修改 + + var value = val.map(function (val) { + return val; + }); + this.$emit('update:value', value); + this.$trigger('change', {}, { + value: value + }); } } - - return data; } }, - render: function render(createElement) { - var _this = this; - - var $listeners = Object.create(null); - - if (this.$listeners) { - Object.keys(this.$listeners).forEach(function (e) { - if (_this.disabled && (e === 'click' || e === 'tap')) { - return; - } + methods: { + getItemIndex: function getItemIndex(vnode) { + return this.items.indexOf(vnode); + }, + getItemValue: function getItemValue(vm) { + return this.valueSync[this.getItemIndex(vm.$vnode)] || 0; + }, + setItemValue: function setItemValue(vm, val) { + var index = this.getItemIndex(vm.$vnode); + var oldVal = this.valueSync[index]; - $listeners[e] = _this.$listeners[e]; + if (oldVal !== val) { + this.changeSource = 'touch'; + this.$set(this.valueSync, index, val); + } + }, + _valueChanged: function _valueChanged(val) { + this.items.forEach(function (item, index) { + item.componentInstance.setCurrent(val[index] || 0); }); + }, + _resize: function _resize(_ref) { + var height = _ref.height; + this.height = height; } - - if (this.hoverClass && this.hoverClass !== 'none') { - return createElement('uni-button', this._bindObjectListeners({ - class: [this.hovering ? this.hoverClass : ''], - attrs: { - 'disabled': this.disabled - }, - on: { - touchstart: this._hoverTouchStart, - touchend: this._hoverTouchEnd, - touchcancel: this._hoverTouchCancel, - click: this._onClick - } - }, $listeners), this.$slots.default); - } else { - return createElement('uni-button', this._bindObjectListeners({ - class: [this.hovering ? this.hoverClass : ''], - attrs: { - 'disabled': this.disabled - }, - on: { - click: this._onClick + }, + render: function render(createElement) { + var items = []; + + if (this.$slots.default) { + this.$slots.default.forEach(function (vnode) { + if (vnode.componentOptions && vnode.componentOptions.tag === 'v-uni-picker-view-column') { + items.push(vnode); } - }, $listeners), this.$slots.default); + }); } - }, - listeners: { - 'label-click': '_onClick', - '@label-click': '_onClick' + + this.items = items; + return createElement('uni-picker-view', { + on: this.$listeners + }, [createElement('v-uni-resize-sensor', { + attrs: { + initial: true + }, + on: { + resize: this._resize + } + }), createElement('div', { + ref: 'wrapper', + 'class': 'uni-picker-view-wrapper' + }, items)]); } }); -// CONCATENATED MODULE: ./src/core/view/components/button/index.vue?vue&type=script&lang=js& - /* harmony default export */ var components_buttonvue_type_script_lang_js_ = (buttonvue_type_script_lang_js_); -// EXTERNAL MODULE: ./src/core/view/components/button/index.vue?vue&type=style&index=0&lang=css& -var buttonvue_type_style_index_0_lang_css_ = __webpack_require__(69); +// CONCATENATED MODULE: ./src/core/view/components/picker-view/index.vue?vue&type=script&lang=js& + /* harmony default export */ var components_picker_viewvue_type_script_lang_js_ = (picker_viewvue_type_script_lang_js_); +// EXTERNAL MODULE: ./src/core/view/components/picker-view/index.vue?vue&type=style&index=0&lang=css& +var picker_viewvue_type_style_index_0_lang_css_ = __webpack_require__(82); // EXTERNAL MODULE: ./node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js var componentNormalizer = __webpack_require__(0); -// CONCATENATED MODULE: ./src/core/view/components/button/index.vue +// CONCATENATED MODULE: ./src/core/view/components/picker-view/index.vue var render, staticRenderFns @@ -22509,7 +22809,7 @@ var render, staticRenderFns /* normalize component */ var component = Object(componentNormalizer["a" /* default */])( - components_buttonvue_type_script_lang_js_, + components_picker_viewvue_type_script_lang_js_, render, staticRenderFns, false, @@ -22521,334 +22821,206 @@ var component = Object(componentNormalizer["a" /* default */])( /* hot reload */ if (false) { var api; } -component.options.__file = "src/core/view/components/button/index.vue" -/* harmony default export */ var components_button = __webpack_exports__["default"] = (component.exports); - -/***/ }), -/* 124 */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); - -// CONCATENATED MODULE: ./node_modules/@vue/cli-service/lib/commands/build/setPublicPath.js -// This file is imported into lib/wc client bundles. - -if (typeof window !== 'undefined') { - if (true) { - __webpack_require__(65) - } - - var i - if ((i = window.document.currentScript) && (i = i.src.match(/(.+\/)[^/]+\.js(\?.*)?$/))) { - __webpack_require__.p = i[1] // eslint-disable-line - } -} - -// Indicate to webpack that this file can be concatenated -/* harmony default export */ var setPublicPath = (null); - -// EXTERNAL MODULE: ./lib/app-plus/view.js -var view = __webpack_require__(53); - -// CONCATENATED MODULE: ./node_modules/@vue/cli-service/lib/commands/build/entry-lib-no-default.js -/* concated harmony reexport upx2px */__webpack_require__.d(__webpack_exports__, "upx2px", function() { return view["h" /* upx2px */]; }); -/* concated harmony reexport getSystemInfoSync */__webpack_require__.d(__webpack_exports__, "getSystemInfoSync", function() { return view["b" /* getSystemInfoSync */]; }); -/* concated harmony reexport canIUse */__webpack_require__.d(__webpack_exports__, "canIUse", function() { return view["a" /* canIUse */]; }); -/* concated harmony reexport navigateTo */__webpack_require__.d(__webpack_exports__, "navigateTo", function() { return view["d" /* navigateTo */]; }); -/* concated harmony reexport navigateBack */__webpack_require__.d(__webpack_exports__, "navigateBack", function() { return view["c" /* navigateBack */]; }); -/* concated harmony reexport reLaunch */__webpack_require__.d(__webpack_exports__, "reLaunch", function() { return view["e" /* reLaunch */]; }); -/* concated harmony reexport redirectTo */__webpack_require__.d(__webpack_exports__, "redirectTo", function() { return view["f" /* redirectTo */]; }); -/* concated harmony reexport switchTab */__webpack_require__.d(__webpack_exports__, "switchTab", function() { return view["g" /* switchTab */]; }); - - - - -/***/ }), -/* 125 */ -/***/ (function(module, exports, __webpack_require__) { - -// extracted by mini-css-extract-plugin - if(false) { var cssReload; } - - -/***/ }), -/* 126 */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony import */ var _node_modules_vue_cli_service_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_vue_cli_service_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_cli_service_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_vue_cli_service_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_cli_service_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(125); -/* harmony import */ var _node_modules_vue_cli_service_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_vue_cli_service_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_cli_service_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_vue_cli_service_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_cli_service_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_vue_cli_service_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_vue_cli_service_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_cli_service_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_vue_cli_service_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_cli_service_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0__); -/* unused harmony reexport * */ - /* unused harmony default export */ var _unused_webpack_default_export = (_node_modules_vue_cli_service_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_vue_cli_service_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_cli_service_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_vue_cli_service_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_cli_service_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0___default.a); +component.options.__file = "src/core/view/components/picker-view/index.vue" +/* harmony default export */ var picker_view = __webpack_exports__["default"] = (component.exports); /***/ }), -/* 127 */ +/* 129 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); -// CONCATENATED MODULE: ./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"26557f38-vue-loader-template"}!./node_modules/@vue/cli-service/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader/lib??vue-loader-options!./src/platforms/app-plus/view/components/video/index.vue?vue&type=template&id=0ba2468e& -var render = function() { - var _vm = this - var _h = _vm.$createElement - var _c = _vm._self._c || _h - return _c( - "uni-video", - _vm._g(_vm._b({}, "uni-video", _vm.attrs, false), _vm.$listeners), - [ - _c("div", { ref: "container", staticClass: "uni-video-container" }), - _c("div", { staticClass: "uni-video-slot" }, [_vm._t("default")], 2) - ] - ) +// CONCATENATED MODULE: ./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader/lib??vue-loader-options!./src/core/view/components/movable-area/index.vue?vue&type=script&lang=js& +function calc(e) { + return Math.sqrt(e.x * e.x + e.y * e.y); } -var staticRenderFns = [] -render._withStripped = true - - -// CONCATENATED MODULE: ./src/platforms/app-plus/view/components/video/index.vue?vue&type=template&id=0ba2468e& - -// EXTERNAL MODULE: ./src/core/view/mixins/index.js + 1 modules -var mixins = __webpack_require__(1); - -// CONCATENATED MODULE: ./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader/lib??vue-loader-options!./src/platforms/app-plus/view/components/video/index.vue?vue&type=script&lang=js& -function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - -// -// -// -// -// -// -// -// -// -// -// -// -var methods = ['play', 'pause', 'seek', 'sendDanmu', 'playbackRate', 'requestFullScreen', 'exitFullScreen']; -var events = ['play', 'pause', 'ended', 'timeupdate', 'fullscreenchange', 'waiting', 'error']; -var _attrs = ['src', 'duration', 'controls', 'danmuList', 'danmuBtn', 'enableDanmu', 'autoplay', 'loop', 'muted', 'objectFit', 'poster', 'direction', 'showProgress', 'initialTime', 'showFullscreenBtn', 'pageGesture', 'enableProgressGesture', 'showPlayBtn', 'showCenterPlayBtn']; -/* harmony default export */ var videovue_type_script_lang_js_ = ({ - name: 'Video', - mixins: [mixins["d" /* subscriber */], mixins["c" /* listeners */]], +/* harmony default export */ var movable_areavue_type_script_lang_js_ = ({ + name: 'MovableArea', props: { - id: { - type: String, - default: '' - }, - src: { - type: String, - default: '' - }, - duration: { - type: [Number, String], - default: '' - }, - controls: { - type: [Boolean, String], - default: true - }, - danmuList: { - type: Array, - default: function _default() { - return []; - } - }, - danmuBtn: { - type: [Boolean, String], - default: false - }, - enableDanmu: { - type: [Boolean, String], - default: false - }, - autoplay: { - type: [Boolean, String], - default: false - }, - loop: { - type: [Boolean, String], - default: false - }, - muted: { - type: [Boolean, String], - default: false - }, - objectFit: { - type: String, - default: 'contain' - }, - poster: { - type: String, - default: '' - }, - direction: { - type: [String, Number], - default: 360 - }, - showProgress: { + scaleArea: { type: Boolean, - default: true - }, - initialTime: { - type: [String, Number], - default: 0 - }, - showFullscreenBtn: { - type: [Boolean, String], - default: true - }, - pageGesture: { - type: [Boolean, String], default: false - }, - enableProgressGesture: { - type: [Boolean, String], - default: true - }, - showPlayBtn: { - type: [Boolean, String], - default: true - }, - showCenterPlayBtn: { - type: [Boolean, String], - default: true } }, - data: function data() { - return { - style: { - top: '0px', - left: '0px', - width: '0px', - height: '0px', - position: 'static' - }, - hidden: false - }; - }, - computed: { - attrs: function attrs() { - var _this = this; - - var obj = {}; - - _attrs.forEach(function (key) { - var val = _this.$props[key]; - val = key === 'src' ? _this.$getRealPath(val) : val; - obj[key.replace(/[A-Z]/g, function (str) { - return '-' + str.toLowerCase(); - })] = val; - }); - - return obj; - } - }, - watch: { - hidden: function hidden(val) { - this.video && this.video[val ? 'hide' : 'show'](); - } + data: function data() { + return { + width: 0, + height: 0, + items: [] + }; }, - listeners: { - '@view-update': '_requestUpdate' + created: function created() { + this.gapV = { + x: null, + y: null + }; + this.pinchStartLen = null; }, mounted: function mounted() { - var _this2 = this; + this._resize(); + }, + methods: { + _resize: function _resize() { + this._getWH(); - this._updateStyle(); + this.items.forEach(function (item, index) { + item.componentInstance.setParent(); + }); + }, + _find: function _find(target) { + var items = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.items; + var root = this.$el; - var video = this.video = plus.video.createVideoPlayer('video' + Date.now(), Object.assign({}, this.attrs, this.style)); - plus.webview.currentWebview().append(video); + function get(node) { + for (var i = 0; i < items.length; i++) { + var item = items[i]; - if (this.hidden) { - video.hide(); - } + if (node === item.componentInstance.$el) { + return item; + } + } - this.$watch('attrs', function () { - _this2.video && _this2.video.setStyles(_this2.attrs); - }, { - deep: true - }); - this.$watch('style', function () { - _this2.video && _this2.video.setStyles(_this2.style); - }, { - deep: true - }); - events.forEach(function (key) { - video.addEventListener(key, function () { - var data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; + if (node === root || node === document.body || node === document) { + return null; + } - _this2.$trigger(key, {}, data); - }); - }); - }, - beforeDestroy: function beforeDestroy() { - this.video && this.video.close(); - delete this.video; - }, - methods: { - _handleSubscribe: function _handleSubscribe(_ref) { - var type = _ref.type, - _ref$data = _ref.data, - data = _ref$data === void 0 ? {} : _ref$data; + return get(node.parentNode); + } - if (methods.includes(type)) { - if (_typeof(data) === 'object') { - switch (type) { - case 'seek': - data = data.position; - break; + return get(target); + }, + _touchstart: function _touchstart(t) { + var i = t.touches; - case 'playbackRate': - data = data.rate; - break; + if (i) { + if (i.length > 1) { + var r = { + x: i[1].pageX - i[0].pageX, + y: i[1].pageY - i[0].pageY + }; + this.pinchStartLen = calc(r); + this.gapV = r; + + if (!this.scaleArea) { + var touch0 = this._find(i[0].target); + + var touch1 = this._find(i[1].target); + + this._scaleMovableView = touch0 && touch0 === touch1 ? touch0 : null; } } - - this.video && this.video[type](data); } }, - _updateStyle: function _updateStyle() { - var _this3 = this; + _touchmove: function _touchmove(t) { + var n = t.touches; - var rect = this.$refs.container.getBoundingClientRect(); - this.hidden = getComputedStyle(this.$el).display === 'none'; - ['top', 'left', 'width', 'height'].forEach(function (key) { - var val = rect[key]; - val = key === 'top' ? val + (document.documentElement.scrollTop || document.body.scrollTop || 0) : val; - _this3.style[key] = val + 'px'; - }); - }, - _requestUpdate: function _requestUpdate() { - var _this4 = this; + if (n) { + if (n.length > 1) { + t.preventDefault(); + var i = { + x: n[1].pageX - n[0].pageX, + y: n[1].pageY - n[0].pageY + }; - if (this._animationFrame) { - cancelAnimationFrame(this._animationFrame); + if (this.gapV.x !== null && this.pinchStartLen > 0) { + var r = calc(i) / this.pinchStartLen; + + this._updateScale(r); + } + + this.gapV = i; + } } + }, + _touchend: function _touchend(e) { + var t = e.touches; - if (this.video) { - this._animationFrame = requestAnimationFrame(function () { - delete _this4._animationFrame; + if (!(t && t.length)) { + if (e.changedTouches) { + this.gapV.x = 0; + this.gapV.y = 0; + this.pinchStartLen = null; - _this4._updateStyle(); - }); + if (this.scaleArea) { + this.items.forEach(function (item) { + item.componentInstance._endScale(); + }); + } else { + if (this._scaleMovableView) { + this._scaleMovableView.componentInstance._endScale(); + } + } + } + } + }, + _updateScale: function _updateScale(e) { + if (e && e !== 1) { + if (this.scaleArea) { + this.items.forEach(function (item) { + item.componentInstance._setScale(e); + }); + } else { + if (this._scaleMovableView) { + this._scaleMovableView.componentInstance._setScale(e); + } + } } + }, + _getWH: function _getWH() { + var style = window.getComputedStyle(this.$el); + var rect = this.$el.getBoundingClientRect(); + this.width = rect.width - ['Left', 'Right'].reduce(function (all, item) { + return all + parseFloat(style['border' + item + 'Width']) + parseFloat(style['padding' + item]); + }, 0); + this.height = rect.height - ['Top', 'Bottom'].reduce(function (all, item) { + return all + parseFloat(style['border' + item + 'Width']) + parseFloat(style['padding' + item]); + }, 0); + } + }, + render: function render(createElement) { + var _this = this; + + var items = []; + + if (this.$slots.default) { + this.$slots.default.forEach(function (vnode) { + if (vnode.componentOptions && vnode.componentOptions.tag === 'v-uni-movable-view') { + items.push(vnode); + } + }); } + + this.items = items; + var $listeners = Object.assign({}, this.$listeners); + var events = ['touchstart', 'touchmove', 'touchend']; + events.forEach(function (event) { + var existing = $listeners[event]; + + var ours = _this["_".concat(event)]; + + $listeners[event] = existing ? [].concat(existing, ours) : ours; + }); + return createElement('uni-movable-area', { + on: $listeners + }, [createElement('v-uni-resize-sensor', { + on: { + resize: this._resize + } + })].concat(items)); } }); -// CONCATENATED MODULE: ./src/platforms/app-plus/view/components/video/index.vue?vue&type=script&lang=js& - /* harmony default export */ var components_videovue_type_script_lang_js_ = (videovue_type_script_lang_js_); -// EXTERNAL MODULE: ./src/platforms/app-plus/view/components/video/index.vue?vue&type=style&index=0&lang=css& -var videovue_type_style_index_0_lang_css_ = __webpack_require__(126); +// CONCATENATED MODULE: ./src/core/view/components/movable-area/index.vue?vue&type=script&lang=js& + /* harmony default export */ var components_movable_areavue_type_script_lang_js_ = (movable_areavue_type_script_lang_js_); +// EXTERNAL MODULE: ./src/core/view/components/movable-area/index.vue?vue&type=style&index=0&lang=css& +var movable_areavue_type_style_index_0_lang_css_ = __webpack_require__(78); // EXTERNAL MODULE: ./node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js var componentNormalizer = __webpack_require__(0); -// CONCATENATED MODULE: ./src/platforms/app-plus/view/components/video/index.vue - +// CONCATENATED MODULE: ./src/core/view/components/movable-area/index.vue +var render, staticRenderFns @@ -22857,7 +23029,7 @@ var componentNormalizer = __webpack_require__(0); /* normalize component */ var component = Object(componentNormalizer["a" /* default */])( - components_videovue_type_script_lang_js_, + components_movable_areavue_type_script_lang_js_, render, staticRenderFns, false, @@ -22869,8 +23041,48 @@ var component = Object(componentNormalizer["a" /* default */])( /* hot reload */ if (false) { var api; } -component.options.__file = "src/platforms/app-plus/view/components/video/index.vue" -/* harmony default export */ var video = __webpack_exports__["default"] = (component.exports); +component.options.__file = "src/core/view/components/movable-area/index.vue" +/* harmony default export */ var movable_area = __webpack_exports__["default"] = (component.exports); + +/***/ }), +/* 130 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); + +// CONCATENATED MODULE: ./node_modules/@vue/cli-service/lib/commands/build/setPublicPath.js +// This file is imported into lib/wc client bundles. + +if (typeof window !== 'undefined') { + if (true) { + __webpack_require__(67) + } + + var i + if ((i = window.document.currentScript) && (i = i.src.match(/(.+\/)[^/]+\.js(\?.*)?$/))) { + __webpack_require__.p = i[1] // eslint-disable-line + } +} + +// Indicate to webpack that this file can be concatenated +/* harmony default export */ var setPublicPath = (null); + +// EXTERNAL MODULE: ./lib/app-plus/view.js +var view = __webpack_require__(55); + +// CONCATENATED MODULE: ./node_modules/@vue/cli-service/lib/commands/build/entry-lib-no-default.js +/* concated harmony reexport upx2px */__webpack_require__.d(__webpack_exports__, "upx2px", function() { return view["h" /* upx2px */]; }); +/* concated harmony reexport getSystemInfoSync */__webpack_require__.d(__webpack_exports__, "getSystemInfoSync", function() { return view["b" /* getSystemInfoSync */]; }); +/* concated harmony reexport canIUse */__webpack_require__.d(__webpack_exports__, "canIUse", function() { return view["a" /* canIUse */]; }); +/* concated harmony reexport navigateTo */__webpack_require__.d(__webpack_exports__, "navigateTo", function() { return view["d" /* navigateTo */]; }); +/* concated harmony reexport navigateBack */__webpack_require__.d(__webpack_exports__, "navigateBack", function() { return view["c" /* navigateBack */]; }); +/* concated harmony reexport reLaunch */__webpack_require__.d(__webpack_exports__, "reLaunch", function() { return view["e" /* reLaunch */]; }); +/* concated harmony reexport redirectTo */__webpack_require__.d(__webpack_exports__, "redirectTo", function() { return view["f" /* redirectTo */]; }); +/* concated harmony reexport switchTab */__webpack_require__.d(__webpack_exports__, "switchTab", function() { return view["g" /* switchTab */]; }); + + + /***/ }) /******/ ]); diff --git a/src/core/view/plugins/events.js b/src/core/view/plugins/events.js index 6a6719f401..0eafa5a691 100644 --- a/src/core/view/plugins/events.js +++ b/src/core/view/plugins/events.js @@ -125,11 +125,9 @@ function touchstart (evt) { return } const { - touches: [{ - pageX, - pageY - }] - } = evt + pageX, + pageY + } = evt.touches[0] startPageX = pageX startPageY = pageY diff --git a/src/platforms/app-plus/service/framework/plugins/vdom-sync.js b/src/platforms/app-plus/service/framework/plugins/vdom-sync.js index ced7b135d8..375d0cff31 100644 --- a/src/platforms/app-plus/service/framework/plugins/vdom-sync.js +++ b/src/platforms/app-plus/service/framework/plugins/vdom-sync.js @@ -20,7 +20,7 @@ import { vdSyncCallbacks } from '../subscribe-handlers/on-vd-sync-callback' -function wrapperEvent(event) { +function wrapperEvent (event) { event.preventDefault = noop event.stopPropagation = noop event.mp = event @@ -30,7 +30,7 @@ function wrapperEvent(event) { } const handleVdData = { - [UI_EVENT]: function onUIEvent(vdBatchEvent, vd) { + [UI_EVENT]: function onUIEvent (vdBatchEvent, vd) { vdBatchEvent.forEach(([cid, nid, event]) => { nid = String(nid) const target = vd.elements.find(target => target.cid === cid && target.nid === nid) @@ -42,14 +42,14 @@ const handleVdData = { } } -function onVdSync(vdBatchData, vd) { +function onVdSync (vdBatchData, vd) { vdBatchData.forEach(([type, vdData]) => { handleVdData[type](vdData, vd) }) } export class VDomSync { - constructor(pageId, pagePath, pageVm) { + constructor (pageId, pagePath, pageVm) { this.pageId = pageId this.pagePath = pagePath this.pageVm = pageVm @@ -64,47 +64,47 @@ export class VDomSync { this._init() } - _init() { + _init () { registerVdSync(this.pageId, (vdBatchData) => { onVdSync(vdBatchData, this) }) } - addMountedVm(vm) { + addMountedVm (vm) { vm._$mounted() // 触发vd数据同步 - this.addVdSyncCallback(function mounted() { + this.addVdSyncCallback(function mounted () { vm.__call_hook('mounted') }) } - addUpdatedVm(vm) { + addUpdatedVm (vm) { vm._$updated() // 触发vd数据同步 - this.addVdSyncCallback(function mounted() { + this.addVdSyncCallback(function mounted () { vm.__call_hook('updated') }) } - addVdSyncCallback(callback) { + addVdSyncCallback (callback) { isFn(callback) && vdSyncCallbacks.push(callback) } - getVm(id) { + getVm (id) { return this.vms[id] } - addVm(vm) { + addVm (vm) { this.vms[vm._$id] = vm } - removeVm(vm) { + removeVm (vm) { delete this.vms[vm._$id] } - addElement(elm) { + addElement (elm) { this.elements.indexOf(elm) === -1 && this.elements.push(elm) } - removeElement(elm) { + removeElement (elm) { const elmIndex = this.elements.indexOf(elm) if (elmIndex === -1) { return console.error(`removeElement[${elm.cid}][${elm.nid}] not found`) @@ -112,11 +112,11 @@ export class VDomSync { this.elements.splice(elmIndex, 1) } - push(type, cid, data) { + push (type, cid, data) { this.batchData.push([type, [cid, data]]) } - sendPageCreate(data) { + sendPageCreate (data) { this.pageCreateData = data UniServiceJSBridge.publishHandler(VD_SYNC, { data: [ @@ -128,7 +128,7 @@ export class VDomSync { }, [this.pageId]) } - flush() { + flush () { if (!this.initialized) { this.initialized = true this.batchData.push([PAGE_CREATED, [this.pageId, this.pagePath]]) @@ -144,26 +144,26 @@ export class VDomSync { } } - restorePageCreate() { + restorePageCreate () { this.batchData.push([PAGE_CREATE, this.pageCreateData]) } - restoreMountedData() { + restoreMountedData () { const addMountedData = (vm) => { if (vm._$id) { this.push(MOUNTED_DATA, vm._$id, vm._$data) } - // vue 中 $children 顺序不可靠,可能存在恢复误差 + // TODO vue 中 $children 顺序不可靠,可能存在恢复误差 vm.$children.forEach(childVm => addMountedData(childVm)) } addMountedData(this.pageVm) } - restorePageCreated() { + restorePageCreated () { this.batchData.push([PAGE_CREATED, [this.pageId, this.pagePath]]) } - restore() { + restore () { this.initialized = true this.batchData.length = 0 @@ -174,7 +174,7 @@ export class VDomSync { this.flush() } - destroy() { + destroy () { this.batchData.length = 0 this.vms = Object.create(null) this.initialized = false -- GitLab