diff --git a/packages/uni-app-plus/dist/index.v3.js b/packages/uni-app-plus/dist/index.v3.js
index c060ec71e2ad14099728159da336d63bda967e7a..b9541716c449b100e9bbbfb4d5600f2d515c2f4c 100644
--- a/packages/uni-app-plus/dist/index.v3.js
+++ b/packages/uni-app-plus/dist/index.v3.js
@@ -5853,7 +5853,7 @@ var serviceContext = (function () {
);
}
- function restoreGlobal(
+ function restoreGlobal (
newWeex,
newPlus,
newSetTimeout,
@@ -6335,7 +6335,8 @@ var serviceContext = (function () {
const PAGE_CREATED = 10;
const WEBVIEW_READY = 'webviewReady';
- const WEBVIEW_UI_EVENT = 'webviewUIEvent';
+ const WEBVIEW_UI_EVENT = 'webviewUIEvent';
+ const VD_SYNC_CALLBACK = 'vdSyncCallback';
const pageFactory = Object.create(null);
@@ -6345,9 +6346,9 @@ var serviceContext = (function () {
const getPageVueComponent = cached(function (pagePath) {
return pageFactory[pagePath]()
- });
-
- function createPage (pagePath, pageId) {
+ });
+
+ function createPage (pagePath, pageId, pageQuery, pageInstance) {
if (!pageFactory[pagePath]) {
console.error(`${pagePath} not found`);
}
@@ -6355,7 +6356,9 @@ var serviceContext = (function () {
const pageVm = new (getPageVueComponent(pagePath))({
mpType: 'page',
pageId,
- pagePath
+ pagePath,
+ pageQuery,
+ pageInstance
});
if (process.env.NODE_ENV !== 'production') {
console.log(`new ${pagePath}`, Date.now() - startTime);
@@ -6430,6 +6433,9 @@ var serviceContext = (function () {
const index = pages.findIndex(page => page === this);
if (index !== -1) {
pages.splice(index, 1);
+ if (!webview.nvue) {
+ this.$vm.$destroy();
+ }
if (process.env.NODE_ENV !== 'production') {
console.log(`[uni-app] removePage`, path, webview.id);
}
@@ -6461,9 +6467,7 @@ var serviceContext = (function () {
}
}, [pageId]);
- pageInstance.$vm = createPage(route, pageId);
- pageInstance.$vm.$scope = pageInstance;
- pageInstance.$vm.$mount();
+ createPage(route, pageId, query, pageInstance).$mount();
}
}
@@ -7674,7 +7678,8 @@ var serviceContext = (function () {
pause: [],
resume: [],
start: [],
- stop: []
+ stop: [],
+ error: []
};
class RecorderManager {
@@ -8942,8 +8947,12 @@ var serviceContext = (function () {
};
}
+ function noop() {}
+
+ const callbacks$a = []; // 数据同步 callback
+
class VDomSync {
- constructor (pageId, pagePath) {
+ constructor(pageId, pagePath) {
this.pageId = pageId;
this.pagePath = pagePath;
this.batchData = [];
@@ -8955,9 +8964,19 @@ var serviceContext = (function () {
this._init();
}
- _init () {
+ _init() {
+ UniServiceJSBridge.subscribe(VD_SYNC_CALLBACK, () => {
+ const copies = callbacks$a.slice(0);
+ callbacks$a.length = 0;
+ for (let i = 0; i < copies.length; i++) {
+ copies[i]();
+ }
+ });
+
registerWebviewUIEvent(this.pageId, (cid, nid, event) => {
console.log(`[EVENT]`, cid, nid, event);
+ event.preventDefault = noop;
+ event.stopPropagation = noop;
if (
this.handlers[cid] &&
this.handlers[cid][nid] &&
@@ -8966,29 +8985,49 @@ var serviceContext = (function () {
this.handlers[cid][nid][event.type].forEach(handler => {
handler(event);
});
+ } else {
+ console.error(`event handler[${cid}][${nid}][${event.type}] not found`);
}
});
}
- getVm (id) {
+ addMountedVm(vm) {
+ vm._$mounted(); // 触发vd数据同步
+ this.addCallback(function mounted() {
+ vm.__call_hook('mounted');
+ });
+ }
+
+ addUpdatedVm(vm) {
+ vm._$updated(); // 触发vd数据同步
+ this.addCallback(function mounted() {
+ vm.__call_hook('updated');
+ });
+ }
+
+ addCallback(callback) {
+ isFn(callback) && callbacks$a.push(callback);
+ }
+
+ getVm(id) {
return this.vms[id]
}
- addVm (vm) {
+ addVm(vm) {
this.vms[vm._$id] = vm;
}
- removeVm (vm) {
+ removeVm(vm) {
delete this.vms[vm._$id];
}
- addEvent (cid, nid, name, handler) {
+ addEvent(cid, nid, name, handler) {
const cHandlers = this.handlers[cid] || (this.handlers[cid] = Object.create(null));
const nHandlers = cHandlers[nid] || (cHandlers[nid] = Object.create(null));
(nHandlers[name] || (nHandlers[name] = [])).push(handler);
}
- removeEvent (cid, nid, name, handler) {
+ removeEvent(cid, nid, name, handler) {
const cHandlers = this.handlers[cid] || (this.handlers[cid] = Object.create(null));
const nHandlers = cHandlers[nid] || (cHandlers[nid] = Object.create(null));
const eHandlers = nHandlers[name];
@@ -9000,11 +9039,11 @@ var serviceContext = (function () {
}
}
- push (type, nodeId, data) {
+ push(type, nodeId, data) {
this.batchData.push([type, [nodeId, data]]);
}
- flush () {
+ flush() {
if (!this.initialized) {
this.initialized = true;
this.batchData.push([PAGE_CREATED, [this.pageId, this.pagePath]]);
@@ -9020,7 +9059,7 @@ var serviceContext = (function () {
}
}
- destroy () {
+ destroy() {
this.batchData.length = 0;
this.vms = Object.create(null);
this.initialized = false;
@@ -9044,8 +9083,7 @@ var serviceContext = (function () {
}
}
- function diff (newData, oldData) {
- const result = Object.create(null);
+ function diff (newData, oldData, result) {
let id, cur, old;
for (id in newData) {
cur = newData[id];
@@ -9059,25 +9097,47 @@ var serviceContext = (function () {
return result
}
- function initData (Vue) {
+ function initData(Vue) {
Vue.prototype._$s = setData;
Vue.prototype._$i = setIfData;
Vue.prototype._$f = setForData;
Vue.prototype._$e = setElseIfData;
- Vue.prototype._$setData = function setData (type, data) {
+ Vue.prototype._$setData = function setData(type, data) {
this._$vd.push(type, this._$id, data);
+ };
+
+ Vue.prototype._$mounted = function mounted() {
+ if (!this._$vd) {
+ return
+ }
+ diff(this._$newData, this._$data, this._$vdMountedData);
+ this._$data = JSON.parse(JSON.stringify(this._$newData));
+ console.log(`[${this._$id}] mounted ` + Date.now());
+ if (this.mpType === 'page') {
+ // 页面 mounted 之后,第一次同步数据
+ this._$vd.flush();
+ }
+ };
+
+ Vue.prototype._$updated = function updated() {
+ if (!this._$vd) {
+ return
+ }
+ diff(this._$newData, this._$data, this._$vdUpdatedData);
+ this._$data = JSON.parse(JSON.stringify(this._$newData));
+ console.log(`[${this._$id}] updated ` + Date.now());
this._$vd.initialized && this.$nextTick(this._$vd.flush.bind(this._$vd));
};
Object.defineProperty(Vue.prototype, '_$vd', {
- get () {
+ get() {
return this.$root._$vdomSync
}
});
Vue.mixin({
- beforeCreate () {
+ beforeCreate() {
if (this.$options.mpType) {
this.mpType = this.$options.mpType;
}
@@ -9090,52 +9150,34 @@ var serviceContext = (function () {
if (this._$vd) {
this._$id = guid();
this._$vd.addVm(this);
+ this._$vdMountedData = Object.create(null);
+ this._$setData(MOUNTED_DATA, this._$vdMountedData);
console.log(`[${this._$id}] beforeCreate ` + Date.now());
// 目前全量采集做 diff(iOS 需要保留全量状态做 restore),理论上可以差量采集
this._$data = Object.create(null);
this._$newData = Object.create(null);
}
},
- mounted () {
- if (!this._$vd) {
- return
- }
- const diffData = diff(this._$newData, this._$data);
- this._$data = JSON.parse(JSON.stringify(this._$newData));
- console.log(`[${this._$id}] mounted ` + Date.now());
- this._$setData(MOUNTED_DATA, diffData);
- if (this.mpType === 'page') {
- // 页面 mounted 之后,第一次同步数据
- this._$vd.flush();
- }
- },
- beforeUpdate () {
+ beforeUpdate() {
if (!this._$vd) {
return
}
+ this._$vdUpdatedData = Object.create(null);
+ this._$setData(UPDATED_DATA, this._$vdUpdatedData);
console.log(`[${this._$id}] beforeUpdate ` + Date.now());
this._$newData = Object.create(null);
},
- updated () {
- if (!this._$vd) {
- return
- }
- const diffData = diff(this._$newData, this._$data);
- this._$data = JSON.parse(JSON.stringify(this._$newData));
- console.log(`[${this._$id}] updated ` + Date.now());
- this._$setData(UPDATED_DATA, diffData);
- },
- beforeDestroy () {
+ beforeDestroy() {
if (!this._$vd) {
return
}
this._$vd.removeVm(this);
- this._$vdomSync && this._$vdomSync.destory();
+ this._$vdomSync && this._$vdomSync.destroy();
}
});
}
- function setData (id, name, value) {
+ function setData(id, name, value) {
const diffData = this._$newData[id] || (this._$newData[id] = {});
if (typeof name !== 'string') {
@@ -9151,14 +9193,19 @@ var serviceContext = (function () {
return (diffData[name] = value)
}
- function setForData (id, value) {
+ function setForData(id, value) {
+ const diffData = this._$newData[id] || (this._$newData[id] = {});
+ const vForData = diffData['v-for'] || (diffData['v-for'] = []);
+
+ if (value.forItems) {
+ return value.forItems
+ }
+
const {
forIndex,
key
} = value;
- const diffData = this._$newData[id] || (this._$newData[id] = {});
- const vForData = diffData['v-for'] || (diffData['v-for'] = []);
if (!hasOwn(value, 'keyIndex')) {
vForData[forIndex] = key;
} else {
@@ -9167,11 +9214,11 @@ var serviceContext = (function () {
return key
}
- function setIfData (id, value) {
+ function setIfData(id, value) {
return ((this._$newData[id] || (this._$newData[id] = {}))['v-if'] = value)
}
- function setElseIfData (id, value) {
+ function setElseIfData(id, value) {
return ((this._$newData[id] || (this._$newData[id] = {}))['v-else-if'] = value)
}
@@ -9233,12 +9280,42 @@ var serviceContext = (function () {
});
}
+ function initLifecycle (Vue) {
+ lifecycleMixin(Vue);
+
+ Vue.mixin({
+ beforeCreate () {
+ if (this.mpType === 'page') {
+ this.$scope = this.$options.pageInstance;
+ this.$scope.$vm = this;
+ delete this.$options.pageInstance;
+ }
+ },
+ created () {
+ if (this.mpType === 'page') {
+ callPageHook(this.$scope, 'onLoad', this.$options.pageQuery);
+ callPageHook(this.$scope, 'onShow');
+ }
+ },
+ beforeDestroy () {
+ if (this.mpType === 'page') {
+ callPageHook(this.$scope, 'onUnload');
+ }
+ },
+ mounted () {
+ if (this.mpType === 'page') {
+ callPageHook(this.$scope, 'onReady');
+ }
+ }
+ });
+ }
+
var vuePlugin = {
install (Vue, options) {
initVue(Vue);
initData(Vue);
- lifecycleMixin(Vue);
+ initLifecycle(Vue);
const oldMount = Vue.prototype.$mount;
Vue.prototype.$mount = function mount (el, hydrating) {
diff --git a/packages/uni-app-plus/dist/service.runtime.esm.js b/packages/uni-app-plus/dist/service.runtime.esm.js
index a438cf5b370c51f09e002d9b9dffbcbabd59bf0d..88053fd7c7b10c510d6f18bb7712f10949344a8d 100644
--- a/packages/uni-app-plus/dist/service.runtime.esm.js
+++ b/packages/uni-app-plus/dist/service.runtime.esm.js
@@ -2619,20 +2619,21 @@ function renderList (
if (Array.isArray(val) || typeof val === 'string') {
ret = new Array(val.length);
for (i = 0, l = val.length; i < l; i++) {
- ret[i] = render(val[i], i);
+ ret[i] = render(val[i], i, i, i);
}
} else if (typeof val === 'number') {
ret = new Array(val);
for (i = 0; i < val; i++) {
- ret[i] = render(i + 1, i);
+ ret[i] = render(i + 1, i, i, i);
}
} else if (isObject(val)) {
if (hasSymbol && val[Symbol.iterator]) {
ret = [];
var iterator = val[Symbol.iterator]();
var result = iterator.next();
+ i = 0;
while (!result.done) {
- ret.push(render(result.value, ret.length));
+ ret.push(render(result.value, ret.length, i++, i));
result = iterator.next();
}
} else {
@@ -2640,7 +2641,7 @@ function renderList (
ret = new Array(keys.length);
for (i = 0, l = keys.length; i < l; i++) {
key = keys[i];
- ret[i] = render(val[key], key, i);
+ ret[i] = render(val[key], key, i, i);
}
}
}
@@ -3127,8 +3128,13 @@ var componentVNodeHooks = {
var context = vnode.context;
var componentInstance = vnode.componentInstance;
if (!componentInstance._isMounted) {
+ // fixed by xxxxxx
componentInstance._isMounted = true;
- callHook(componentInstance, 'mounted');
+ if (componentInstance._$vd) {// 延迟 mounted
+ componentInstance._$vd.addMountedVm(componentInstance);
+ } else {
+ callHook(componentInstance, 'mounted');
+ }
}
if (vnode.data.keepAlive) {
if (context._isMounted) {
@@ -4074,8 +4080,13 @@ function mountComponent (
// manually mounted instance, call mounted on self
// mounted is called for render-created child components in its inserted hook
if (vm.$vnode == null) {
+ // fixed by xxxxxx
vm._isMounted = true;
- callHook(vm, 'mounted');
+ if (vm._$vd) {// 延迟 mounted 事件
+ vm._$vd.addMountedVm(vm);
+ } else {
+ callHook(vm, 'mounted');
+ }
}
return vm
}
@@ -4340,7 +4351,12 @@ function callUpdatedHooks (queue) {
var watcher = queue[i];
var vm = watcher.vm;
if (vm._watcher === watcher && vm._isMounted && !vm._isDestroyed) {
- callHook(vm, 'updated');
+ // fixed by xxxxx
+ if (vm._$vd) { // 延迟 updated 事件
+ vm._$vd.addUpdatedVm(vm);
+ }else{
+ callHook(vm, 'updated');
+ }
}
}
}
@@ -6692,17 +6708,33 @@ function normalizeStyleBinding (bindingStyle) {
}
function updateExtras(oldVnode, vnode) {
- if (isUndef(vnode.data.extras) && isUndef(vnode.data.attrs)) {
+
+ var attrs = vnode.data.attrs;
+ var extras = vnode.data.extras;
+
+ var isExtrasUndef = isUndef(extras);
+ if (isExtrasUndef && isUndef(attrs)) {
return
}
var elm = vnode.elm;
var context = vnode.context;
- var attrs = vnode.data.attrs;
- var extras = vnode.data.extras;
-
var id = attrs['_i'];
+ // 存储事件标记
+ elm.setAttribute('nid', String(id));
+ elm.setAttribute('cid', context._$id);
+
+ if (
+ (
+ isExtrasUndef ||
+ Object.keys(extras).length === 0
+ ) &&
+ Object.keys(attrs).length === 1
+ ) {
+ return
+ }
+
var $s = vnode.context._$s.bind(vnode.context);
if (extras) {
@@ -6722,9 +6754,7 @@ function updateExtras(oldVnode, vnode) {
key$1 !== '_i' && $s(id, 'a-' + key$1, attrs[key$1]);
}
}
- // 存储事件标记
- elm.setAttribute('nid', String(id));
- elm.setAttribute('cid', context._$id);
+
}
diff --git a/packages/uni-app-plus/dist/view.runtime.esm.js b/packages/uni-app-plus/dist/view.runtime.esm.js
index 843bcfea6819bd041a818a11ff88e965c0f7cfe5..bc0baa257b6f33dbd8bf9e115a67a705493c8356 100644
--- a/packages/uni-app-plus/dist/view.runtime.esm.js
+++ b/packages/uni-app-plus/dist/view.runtime.esm.js
@@ -2627,20 +2627,21 @@ function renderList (
if (Array.isArray(val) || typeof val === 'string') {
ret = new Array(val.length);
for (i = 0, l = val.length; i < l; i++) {
- ret[i] = render(val[i], i);
+ ret[i] = render(val[i], i, i, i);
}
} else if (typeof val === 'number') {
ret = new Array(val);
for (i = 0; i < val; i++) {
- ret[i] = render(i + 1, i);
+ ret[i] = render(i + 1, i, i, i);
}
} else if (isObject(val)) {
if (hasSymbol && val[Symbol.iterator]) {
ret = [];
var iterator = val[Symbol.iterator]();
var result = iterator.next();
+ i = 0;
while (!result.done) {
- ret.push(render(result.value, ret.length));
+ ret.push(render(result.value, ret.length, i++, i));
result = iterator.next();
}
} else {
@@ -2648,7 +2649,7 @@ function renderList (
ret = new Array(keys.length);
for (i = 0, l = keys.length; i < l; i++) {
key = keys[i];
- ret[i] = render(val[key], key, i);
+ ret[i] = render(val[key], key, i, i);
}
}
}
diff --git a/packages/uni-app-plus/dist/view.umd.js b/packages/uni-app-plus/dist/view.umd.js
index c1a6eecaa3a386d2c400ef369a43074389b012c4..2c9f8f36d7af679f8311748566454e2175d74fb8 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 = 122);
+/******/ return __webpack_require__(__webpack_require__.s = 118);
/******/ })
/************************************************************************/
/******/ ([
@@ -201,105 +201,6 @@ function normalizeComponent (
"use strict";
-// CONCATENATED MODULE: ./src/core/view/mixins/emitter.js
-// 暂不提供通知所有
-// function broadcast (componentName, eventName, ...params) {
-// this.$children.forEach(child => {
-// const name = child.$options.name && child.$options.name.substr(1)
-// if (~componentName.indexOf(name)) {
-// child.$emit.apply(child, [eventName].concat(params))
-// } else {
-// broadcast.apply(child, [componentName, eventName].concat([params]))
-// }
-// })
-// }
-function broadcast(componentName, eventName) {
- var children = this.$children;
- var len = children.length;
-
- for (var _len = arguments.length, params = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {
- params[_key - 2] = arguments[_key];
- }
-
- for (var i = 0; i < len; i++) {
- var child = children[i];
- var name = child.$options.name && child.$options.name.substr(4);
-
- if (~componentName.indexOf(name)) {
- child.$emit.apply(child, [eventName].concat(params));
- return false;
- } else {
- if (broadcast.apply(child, [componentName, eventName].concat([params])) === false) {
- return false;
- }
- }
- }
-}
-
-/* harmony default export */ var emitter = ({
- methods: {
- $dispatch: function $dispatch(componentName, eventName) {
- if (typeof componentName === 'string') {
- componentName = [componentName];
- }
-
- var parent = this.$parent || this.$root;
- var name = parent.$options.name && parent.$options.name.substr(4);
-
- while (parent && (!name || !~componentName.indexOf(name))) {
- parent = parent.$parent;
-
- if (parent) {
- name = parent.$options.name && parent.$options.name.substr(4);
- }
- }
-
- if (parent) {
- for (var _len2 = arguments.length, params = new Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) {
- params[_key2 - 2] = arguments[_key2];
- }
-
- parent.$emit.apply(parent, [eventName].concat(params));
- }
- },
- $broadcast: function $broadcast(componentName, eventName) {
- if (typeof componentName === 'string') {
- componentName = [componentName];
- }
-
- for (var _len3 = arguments.length, params = new Array(_len3 > 2 ? _len3 - 2 : 0), _key3 = 2; _key3 < _len3; _key3++) {
- params[_key3 - 2] = arguments[_key3];
- }
-
- broadcast.apply(this, [componentName, eventName].concat(params));
- }
- }
-});
-// EXTERNAL MODULE: ./src/core/view/mixins/listeners.js
-var listeners = __webpack_require__(51);
-
-// EXTERNAL MODULE: ./src/core/view/mixins/hover.js
-var hover = __webpack_require__(12);
-
-// EXTERNAL MODULE: ./src/core/view/mixins/subscriber.js
-var subscriber = __webpack_require__(52);
-
-// CONCATENATED MODULE: ./src/core/view/mixins/index.js
-/* concated harmony reexport emitter */__webpack_require__.d(__webpack_exports__, "a", function() { return emitter; });
-/* concated harmony reexport listeners */__webpack_require__.d(__webpack_exports__, "c", function() { return listeners["a" /* default */]; });
-/* concated harmony reexport hover */__webpack_require__.d(__webpack_exports__, "b", function() { return hover["a" /* default */]; });
-/* concated harmony reexport subscriber */__webpack_require__.d(__webpack_exports__, "d", function() { return subscriber["a" /* default */]; });
-
-
-
-
-
-/***/ }),
-/* 2 */
-/***/ (function(module, __webpack_exports__, __webpack_require__) {
-
-"use strict";
-
// CONCATENATED MODULE: ./src/shared/env.js
var supportsPassive = false;
@@ -528,6 +429,105 @@ function stringifyQuery(obj) {
+/***/ }),
+/* 2 */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+
+// CONCATENATED MODULE: ./src/core/view/mixins/emitter.js
+// 暂不提供通知所有
+// function broadcast (componentName, eventName, ...params) {
+// this.$children.forEach(child => {
+// const name = child.$options.name && child.$options.name.substr(1)
+// if (~componentName.indexOf(name)) {
+// child.$emit.apply(child, [eventName].concat(params))
+// } else {
+// broadcast.apply(child, [componentName, eventName].concat([params]))
+// }
+// })
+// }
+function broadcast(componentName, eventName) {
+ var children = this.$children;
+ var len = children.length;
+
+ for (var _len = arguments.length, params = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {
+ params[_key - 2] = arguments[_key];
+ }
+
+ for (var i = 0; i < len; i++) {
+ var child = children[i];
+ var name = child.$options.name && child.$options.name.substr(4);
+
+ if (~componentName.indexOf(name)) {
+ child.$emit.apply(child, [eventName].concat(params));
+ return false;
+ } else {
+ if (broadcast.apply(child, [componentName, eventName].concat([params])) === false) {
+ return false;
+ }
+ }
+ }
+}
+
+/* harmony default export */ var emitter = ({
+ methods: {
+ $dispatch: function $dispatch(componentName, eventName) {
+ if (typeof componentName === 'string') {
+ componentName = [componentName];
+ }
+
+ var parent = this.$parent || this.$root;
+ var name = parent.$options.name && parent.$options.name.substr(4);
+
+ while (parent && (!name || !~componentName.indexOf(name))) {
+ parent = parent.$parent;
+
+ if (parent) {
+ name = parent.$options.name && parent.$options.name.substr(4);
+ }
+ }
+
+ if (parent) {
+ for (var _len2 = arguments.length, params = new Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) {
+ params[_key2 - 2] = arguments[_key2];
+ }
+
+ parent.$emit.apply(parent, [eventName].concat(params));
+ }
+ },
+ $broadcast: function $broadcast(componentName, eventName) {
+ if (typeof componentName === 'string') {
+ componentName = [componentName];
+ }
+
+ for (var _len3 = arguments.length, params = new Array(_len3 > 2 ? _len3 - 2 : 0), _key3 = 2; _key3 < _len3; _key3++) {
+ params[_key3 - 2] = arguments[_key3];
+ }
+
+ broadcast.apply(this, [componentName, eventName].concat(params));
+ }
+ }
+});
+// EXTERNAL MODULE: ./src/core/view/mixins/listeners.js
+var listeners = __webpack_require__(49);
+
+// EXTERNAL MODULE: ./src/core/view/mixins/hover.js
+var hover = __webpack_require__(12);
+
+// EXTERNAL MODULE: ./src/core/view/mixins/subscriber.js
+var subscriber = __webpack_require__(50);
+
+// CONCATENATED MODULE: ./src/core/view/mixins/index.js
+/* concated harmony reexport emitter */__webpack_require__.d(__webpack_exports__, "a", function() { return emitter; });
+/* concated harmony reexport listeners */__webpack_require__.d(__webpack_exports__, "c", function() { return listeners["a" /* default */]; });
+/* concated harmony reexport hover */__webpack_require__.d(__webpack_exports__, "b", function() { return hover["a" /* default */]; });
+/* concated harmony reexport subscriber */__webpack_require__.d(__webpack_exports__, "d", function() { return subscriber["a" /* default */]; });
+
+
+
+
+
/***/ }),
/* 3 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
@@ -536,25 +536,25 @@ function stringifyQuery(obj) {
__webpack_require__.r(__webpack_exports__);
// EXTERNAL MODULE: ./packages/uni-app-plus/dist/view.runtime.esm.js
-var view_runtime_esm = __webpack_require__(8);
+var view_runtime_esm = __webpack_require__(6);
// EXTERNAL MODULE: ./src/shared/index.js + 4 modules
-var shared = __webpack_require__(2);
+var shared = __webpack_require__(1);
// EXTERNAL MODULE: ./src/core/helpers/index.js
-var helpers = __webpack_require__(4);
+var helpers = __webpack_require__(5);
// CONCATENATED MODULE: ./src/core/helpers/constants.js
var NAVBAR_HEIGHT = 44;
var TABBAR_HEIGHT = 50;
// EXTERNAL MODULE: ./src/core/view/bridge/subscribe/scroll.js
-var subscribe_scroll = __webpack_require__(54);
+var subscribe_scroll = __webpack_require__(52);
// EXTERNAL MODULE: ./src/core/view/bridge/subscribe/api/request-component-info.js
-var request_component_info = __webpack_require__(55);
+var request_component_info = __webpack_require__(53);
// EXTERNAL MODULE: ./src/core/view/bridge/subscribe/api/request-component-observer.js
-var request_component_observer = __webpack_require__(48);
+var request_component_observer = __webpack_require__(46);
// CONCATENATED MODULE: ./src/core/view/bridge/subscribe/api/index.js
@@ -634,6 +634,30 @@ initSubscribe(bridge_subscribe);
/* 4 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
+"use strict";
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return PAGE_CREATE; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return MOUNTED_DATA; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "e", function() { return UPDATED_DATA; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "d", function() { return PAGE_CREATED; });
+/* unused harmony export LAYOUT_READY */
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return APP_SERVICE_ID; });
+/* unused harmony export WEBVIEW_READY */
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "g", function() { return WEBVIEW_UI_EVENT; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "f", function() { return VD_SYNC_CALLBACK; });
+var PAGE_CREATE = 2;
+var MOUNTED_DATA = 4;
+var UPDATED_DATA = 6;
+var PAGE_CREATED = 10;
+var LAYOUT_READY = 30;
+var APP_SERVICE_ID = '__uniapp__service';
+var WEBVIEW_READY = 'webviewReady';
+var WEBVIEW_UI_EVENT = 'webviewUIEvent';
+var VD_SYNC_CALLBACK = 'vdSyncCallback';
+
+/***/ }),
+/* 5 */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
"use strict";
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return isPage; });
/* unused harmony export hasLifecycleHook */
@@ -678,330 +702,24 @@ function upx2px(str) {
}
/***/ }),
-/* 5 */
+/* 6 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return PAGE_CREATE; });
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return MOUNTED_DATA; });
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "e", function() { return UPDATED_DATA; });
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "d", function() { return PAGE_CREATED; });
-/* unused harmony export LAYOUT_READY */
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return APP_SERVICE_ID; });
-/* unused harmony export WEBVIEW_READY */
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "f", function() { return WEBVIEW_UI_EVENT; });
-var PAGE_CREATE = 2;
-var MOUNTED_DATA = 4;
-var UPDATED_DATA = 6;
-var PAGE_CREATED = 10;
-var LAYOUT_READY = 30;
-var APP_SERVICE_ID = '__uniapp__service';
-var WEBVIEW_READY = 'webviewReady';
-var WEBVIEW_UI_EVENT = 'webviewUIEvent';
+/* WEBPACK VAR INJECTION */(function(global) {/*!
+ * Vue.js v2.6.10
+ * (c) 2014-2019 Evan You
+ * Released under the MIT License.
+ */
+/* */
-/***/ }),
-/* 6 */
-/***/ (function(module, exports, __webpack_require__) {
+var emptyObject = Object.freeze({});
-"use strict";
-
-var attrs = ['top', 'left', 'right', 'bottom'];
-var inited;
-var elementComputedStyle = {};
-var support;
-function getSupport() {
- if (!('CSS' in window) || typeof CSS.supports != 'function') {
- support = '';
- }
- else if (CSS.supports('top: env(safe-area-inset-top)')) {
- support = 'env';
- }
- else if (CSS.supports('top: constant(safe-area-inset-top)')) {
- support = 'constant';
- }
- else {
- support = '';
- }
- return support;
-}
-function init() {
- support = typeof support === 'string' ? support : getSupport();
- if (!support) {
- attrs.forEach(function (attr) {
- elementComputedStyle[attr] = 0;
- });
- return;
- }
- function setStyle(el, style) {
- var elStyle = el.style;
- Object.keys(style).forEach(function (key) {
- var val = style[key];
- elStyle[key] = val;
- });
- }
- var cbs = [];
- function parentReady(callback) {
- if (callback) {
- cbs.push(callback);
- }
- else {
- cbs.forEach(function (cb) {
- cb();
- });
- }
- }
- var passiveEvents = false;
- try {
- var opts = Object.defineProperty({}, 'passive', {
- get: function () {
- passiveEvents = { passive: true };
- }
- });
- window.addEventListener('test', null, opts);
- }
- catch (e) {
- }
- function addChild(parent, attr) {
- var a1 = document.createElement('div');
- var a2 = document.createElement('div');
- var a1Children = document.createElement('div');
- var a2Children = document.createElement('div');
- var W = 100;
- var MAX = 10000;
- var aStyle = {
- position: 'absolute',
- width: W + 'px',
- height: '200px',
- boxSizing: 'border-box',
- overflow: 'hidden',
- paddingBottom: support + "(safe-area-inset-" + attr + ")"
- };
- setStyle(a1, aStyle);
- setStyle(a2, aStyle);
- setStyle(a1Children, {
- transition: '0s',
- animation: 'none',
- width: '400px',
- height: '400px'
- });
- setStyle(a2Children, {
- transition: '0s',
- animation: 'none',
- width: '250%',
- height: '250%'
- });
- a1.appendChild(a1Children);
- a2.appendChild(a2Children);
- parent.appendChild(a1);
- parent.appendChild(a2);
- parentReady(function () {
- a1.scrollTop = a2.scrollTop = MAX;
- var a1LastScrollTop = a1.scrollTop;
- var a2LastScrollTop = a2.scrollTop;
- function onScroll() {
- if (this.scrollTop === (this === a1 ? a1LastScrollTop : a2LastScrollTop)) {
- return;
- }
- a1.scrollTop = a2.scrollTop = MAX;
- a1LastScrollTop = a1.scrollTop;
- a2LastScrollTop = a2.scrollTop;
- attrChange(attr);
- }
- a1.addEventListener('scroll', onScroll, passiveEvents);
- a2.addEventListener('scroll', onScroll, passiveEvents);
- });
- var computedStyle = getComputedStyle(a1);
- Object.defineProperty(elementComputedStyle, attr, {
- configurable: true,
- get: function () {
- return parseFloat(computedStyle.paddingBottom);
- }
- });
- }
- var parentDiv = document.createElement('div');
- setStyle(parentDiv, {
- position: 'absolute',
- left: '0',
- top: '0',
- width: '0',
- height: '0',
- zIndex: '-1',
- overflow: 'hidden',
- visibility: 'hidden',
- });
- attrs.forEach(function (key) {
- addChild(parentDiv, key);
- });
- document.body.appendChild(parentDiv);
- parentReady();
- inited = true;
-}
-function getAttr(attr) {
- if (!inited) {
- init();
- }
- return elementComputedStyle[attr];
-}
-var changeAttrs = [];
-function attrChange(attr) {
- if (!changeAttrs.length) {
- setTimeout(function () {
- var style = {};
- changeAttrs.forEach(function (attr) {
- style[attr] = elementComputedStyle[attr];
- });
- changeAttrs.length = 0;
- callbacks.forEach(function (callback) {
- callback(style);
- });
- }, 0);
- }
- changeAttrs.push(attr);
-}
-var callbacks = [];
-function onChange(callback) {
- if (!getSupport()) {
- return;
- }
- if (!inited) {
- init();
- }
- if (typeof callback === 'function') {
- callbacks.push(callback);
- }
-}
-function offChange(callback) {
- var index = callbacks.indexOf(callback);
- if (index >= 0) {
- callbacks.splice(index, 1);
- }
-}
-var safeAreaInsets = {
- get support() {
- return (typeof support === 'string' ? support : getSupport()).length != 0;
- },
- get top() {
- return getAttr('top');
- },
- get left() {
- return getAttr('left');
- },
- get right() {
- return getAttr('right');
- },
- get bottom() {
- return getAttr('bottom');
- },
- onChange: onChange,
- offChange: offChange
-};
-module.exports = safeAreaInsets;
-//# sourceMappingURL=index.js.map
-
-/***/ }),
-/* 7 */
-/***/ (function(module, __webpack_exports__, __webpack_require__) {
-
-"use strict";
-var addListenerToElement = function addListenerToElement(element, type, callback, r) {
- // 暂时忽略capture
- element.addEventListener(type, function ($event) {
- if (typeof callback === 'function') {
- if (callback($event) === false) {
- $event.preventDefault();
- $event.stopPropagation();
- }
- }
- }, {
- passive: false
- });
-};
-
-/* harmony default export */ __webpack_exports__["a"] = ({
- methods: {
- touchtrack: function touchtrack(element, method, useCancel) {
- var self = this;
- var x0 = 0;
- var y0 = 0;
- var x1 = 0;
- var y1 = 0;
-
- var fn = function fn($event, state, x, y) {
- if (self[method]({
- target: $event.target,
- currentTarget: $event.currentTarget,
- preventDefault: $event.preventDefault.bind($event),
- stopPropagation: $event.stopPropagation.bind($event),
- touches: $event.touches,
- changedTouches: $event.changedTouches,
- detail: {
- state: state,
- x0: x,
- y0: y,
- dx: x - x0,
- dy: y - y0,
- ddx: x - x1,
- ddy: y - y1,
- timeStamp: $event.timeStamp
- }
- }) === false) {
- return false;
- }
- };
-
- var $eventOld = null;
- addListenerToElement(element, 'touchstart', function ($event) {
- if ($event.touches.length === 1 && !$eventOld) {
- $eventOld = $event;
- x0 = x1 = $event.touches[0].pageX;
- y0 = y1 = $event.touches[0].pageY;
- return fn($event, 'start', x0, y0);
- }
- });
- addListenerToElement(element, 'touchmove', function ($event) {
- if ($event.touches.length === 1 && $eventOld) {
- var res = fn($event, 'move', $event.touches[0].pageX, $event.touches[0].pageY);
- x1 = $event.touches[0].pageX;
- y1 = $event.touches[0].pageY;
- return res;
- }
- });
- addListenerToElement(element, 'touchend', function ($event) {
- if ($event.touches.length === 0 && $eventOld) {
- $eventOld = null;
- return fn($event, 'end', $event.changedTouches[0].pageX, $event.changedTouches[0].pageY);
- }
- });
- addListenerToElement(element, 'touchcancel', function ($event) {
- if ($eventOld) {
- var $eventTemp = $eventOld;
- $eventOld = null;
- return fn($event, useCancel ? 'cancel' : 'end', $eventTemp.touches[0].pageX, $eventTemp.touches[0].pageY);
- }
- });
- }
- }
-});
-
-/***/ }),
-/* 8 */
-/***/ (function(module, __webpack_exports__, __webpack_require__) {
-
-"use strict";
-/* WEBPACK VAR INJECTION */(function(global) {/*!
- * Vue.js v2.6.10
- * (c) 2014-2019 Evan You
- * Released under the MIT License.
- */
-/* */
-
-var emptyObject = Object.freeze({});
-
-// These helpers produce better VM code in JS engines due to their
-// explicitness and function inlining.
-function isUndef (v) {
- return v === undefined || v === null
-}
+// These helpers produce better VM code in JS engines due to their
+// explicitness and function inlining.
+function isUndef (v) {
+ return v === undefined || v === null
+}
function isDef (v) {
return v !== undefined && v !== null
@@ -3613,20 +3331,21 @@ function renderList (
if (Array.isArray(val) || typeof val === 'string') {
ret = new Array(val.length);
for (i = 0, l = val.length; i < l; i++) {
- ret[i] = render(val[i], i);
+ ret[i] = render(val[i], i, i, i);
}
} else if (typeof val === 'number') {
ret = new Array(val);
for (i = 0; i < val; i++) {
- ret[i] = render(i + 1, i);
+ ret[i] = render(i + 1, i, i, i);
}
} else if (isObject(val)) {
if (hasSymbol && val[Symbol.iterator]) {
ret = [];
var iterator = val[Symbol.iterator]();
var result = iterator.next();
+ i = 0;
while (!result.done) {
- ret.push(render(result.value, ret.length));
+ ret.push(render(result.value, ret.length, i++, i));
result = iterator.next();
}
} else {
@@ -3634,7 +3353,7 @@ function renderList (
ret = new Array(keys.length);
for (i = 0, l = keys.length; i < l; i++) {
key = keys[i];
- ret[i] = render(val[key], key, i);
+ ret[i] = render(val[key], key, i, i);
}
}
}
@@ -9367,88 +9086,372 @@ function callPendingCbs (c) {
c.elm._enterCb();
}
}
-
-function recordPosition (c) {
- c.data.newPos = c.elm.getBoundingClientRect();
+
+function recordPosition (c) {
+ c.data.newPos = c.elm.getBoundingClientRect();
+}
+
+function applyTranslation (c) {
+ var oldPos = c.data.pos;
+ var newPos = c.data.newPos;
+ var dx = oldPos.left - newPos.left;
+ var dy = oldPos.top - newPos.top;
+ if (dx || dy) {
+ c.data.moved = true;
+ var s = c.elm.style;
+ s.transform = s.WebkitTransform = "translate(" + dx + "px," + dy + "px)";
+ s.transitionDuration = '0s';
+ }
+}
+
+var platformComponents = {
+ Transition: Transition,
+ TransitionGroup: TransitionGroup
+};
+
+/* */
+
+// install platform specific utils
+Vue.config.mustUseProp = mustUseProp;
+Vue.config.isReservedTag = isReservedTag;
+Vue.config.isReservedAttr = isReservedAttr;
+Vue.config.getTagNamespace = getTagNamespace;
+Vue.config.isUnknownElement = isUnknownElement;
+
+// install platform runtime directives & components
+extend(Vue.options.directives, platformDirectives);
+extend(Vue.options.components, platformComponents);
+
+// install platform patch function
+Vue.prototype.__patch__ = inBrowser ? patch : noop;
+
+// public mount method
+Vue.prototype.$mount = function (
+ el,
+ hydrating
+) {
+ el = el && inBrowser ? query(el) : undefined;
+ return mountComponent(this, el, hydrating)
+};
+
+// devtools global hook
+/* istanbul ignore next */
+if (inBrowser) {
+ setTimeout(function () {
+ if (config.devtools) {
+ if (devtools) {
+ devtools.emit('init', Vue);
+ } else if (
+ true
+ ) {
+ console[console.info ? 'info' : 'log'](
+ 'Download the Vue Devtools extension for a better development experience:\n' +
+ 'https://github.com/vuejs/vue-devtools'
+ );
+ }
+ }
+ if ( true &&
+ config.productionTip !== false &&
+ typeof console !== 'undefined'
+ ) {
+ console[console.info ? 'info' : 'log'](
+ "You are running Vue in development mode.\n" +
+ "Make sure to turn on production mode when deploying for production.\n" +
+ "See more tips at https://vuejs.org/guide/deployment.html"
+ );
+ }
+ }, 0);
+}
+
+/* */
+
+/* harmony default export */ __webpack_exports__["a"] = (Vue);
+
+/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(45)))
+
+/***/ }),
+/* 7 */
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+var attrs = ['top', 'left', 'right', 'bottom'];
+var inited;
+var elementComputedStyle = {};
+var support;
+function getSupport() {
+ if (!('CSS' in window) || typeof CSS.supports != 'function') {
+ support = '';
+ }
+ else if (CSS.supports('top: env(safe-area-inset-top)')) {
+ support = 'env';
+ }
+ else if (CSS.supports('top: constant(safe-area-inset-top)')) {
+ support = 'constant';
+ }
+ else {
+ support = '';
+ }
+ return support;
+}
+function init() {
+ support = typeof support === 'string' ? support : getSupport();
+ if (!support) {
+ attrs.forEach(function (attr) {
+ elementComputedStyle[attr] = 0;
+ });
+ return;
+ }
+ function setStyle(el, style) {
+ var elStyle = el.style;
+ Object.keys(style).forEach(function (key) {
+ var val = style[key];
+ elStyle[key] = val;
+ });
+ }
+ var cbs = [];
+ function parentReady(callback) {
+ if (callback) {
+ cbs.push(callback);
+ }
+ else {
+ cbs.forEach(function (cb) {
+ cb();
+ });
+ }
+ }
+ var passiveEvents = false;
+ try {
+ var opts = Object.defineProperty({}, 'passive', {
+ get: function () {
+ passiveEvents = { passive: true };
+ }
+ });
+ window.addEventListener('test', null, opts);
+ }
+ catch (e) {
+ }
+ function addChild(parent, attr) {
+ var a1 = document.createElement('div');
+ var a2 = document.createElement('div');
+ var a1Children = document.createElement('div');
+ var a2Children = document.createElement('div');
+ var W = 100;
+ var MAX = 10000;
+ var aStyle = {
+ position: 'absolute',
+ width: W + 'px',
+ height: '200px',
+ boxSizing: 'border-box',
+ overflow: 'hidden',
+ paddingBottom: support + "(safe-area-inset-" + attr + ")"
+ };
+ setStyle(a1, aStyle);
+ setStyle(a2, aStyle);
+ setStyle(a1Children, {
+ transition: '0s',
+ animation: 'none',
+ width: '400px',
+ height: '400px'
+ });
+ setStyle(a2Children, {
+ transition: '0s',
+ animation: 'none',
+ width: '250%',
+ height: '250%'
+ });
+ a1.appendChild(a1Children);
+ a2.appendChild(a2Children);
+ parent.appendChild(a1);
+ parent.appendChild(a2);
+ parentReady(function () {
+ a1.scrollTop = a2.scrollTop = MAX;
+ var a1LastScrollTop = a1.scrollTop;
+ var a2LastScrollTop = a2.scrollTop;
+ function onScroll() {
+ if (this.scrollTop === (this === a1 ? a1LastScrollTop : a2LastScrollTop)) {
+ return;
+ }
+ a1.scrollTop = a2.scrollTop = MAX;
+ a1LastScrollTop = a1.scrollTop;
+ a2LastScrollTop = a2.scrollTop;
+ attrChange(attr);
+ }
+ a1.addEventListener('scroll', onScroll, passiveEvents);
+ a2.addEventListener('scroll', onScroll, passiveEvents);
+ });
+ var computedStyle = getComputedStyle(a1);
+ Object.defineProperty(elementComputedStyle, attr, {
+ configurable: true,
+ get: function () {
+ return parseFloat(computedStyle.paddingBottom);
+ }
+ });
+ }
+ var parentDiv = document.createElement('div');
+ setStyle(parentDiv, {
+ position: 'absolute',
+ left: '0',
+ top: '0',
+ width: '0',
+ height: '0',
+ zIndex: '-1',
+ overflow: 'hidden',
+ visibility: 'hidden',
+ });
+ attrs.forEach(function (key) {
+ addChild(parentDiv, key);
+ });
+ document.body.appendChild(parentDiv);
+ parentReady();
+ inited = true;
+}
+function getAttr(attr) {
+ if (!inited) {
+ init();
+ }
+ return elementComputedStyle[attr];
+}
+var changeAttrs = [];
+function attrChange(attr) {
+ if (!changeAttrs.length) {
+ setTimeout(function () {
+ var style = {};
+ changeAttrs.forEach(function (attr) {
+ style[attr] = elementComputedStyle[attr];
+ });
+ changeAttrs.length = 0;
+ callbacks.forEach(function (callback) {
+ callback(style);
+ });
+ }, 0);
+ }
+ changeAttrs.push(attr);
+}
+var callbacks = [];
+function onChange(callback) {
+ if (!getSupport()) {
+ return;
+ }
+ if (!inited) {
+ init();
+ }
+ if (typeof callback === 'function') {
+ callbacks.push(callback);
+ }
}
-
-function applyTranslation (c) {
- var oldPos = c.data.pos;
- var newPos = c.data.newPos;
- var dx = oldPos.left - newPos.left;
- var dy = oldPos.top - newPos.top;
- if (dx || dy) {
- c.data.moved = true;
- var s = c.elm.style;
- s.transform = s.WebkitTransform = "translate(" + dx + "px," + dy + "px)";
- s.transitionDuration = '0s';
- }
+function offChange(callback) {
+ var index = callbacks.indexOf(callback);
+ if (index >= 0) {
+ callbacks.splice(index, 1);
+ }
}
-
-var platformComponents = {
- Transition: Transition,
- TransitionGroup: TransitionGroup
+var safeAreaInsets = {
+ get support() {
+ return (typeof support === 'string' ? support : getSupport()).length != 0;
+ },
+ get top() {
+ return getAttr('top');
+ },
+ get left() {
+ return getAttr('left');
+ },
+ get right() {
+ return getAttr('right');
+ },
+ get bottom() {
+ return getAttr('bottom');
+ },
+ onChange: onChange,
+ offChange: offChange
};
+module.exports = safeAreaInsets;
+//# sourceMappingURL=index.js.map
-/* */
-
-// install platform specific utils
-Vue.config.mustUseProp = mustUseProp;
-Vue.config.isReservedTag = isReservedTag;
-Vue.config.isReservedAttr = isReservedAttr;
-Vue.config.getTagNamespace = getTagNamespace;
-Vue.config.isUnknownElement = isUnknownElement;
-
-// install platform runtime directives & components
-extend(Vue.options.directives, platformDirectives);
-extend(Vue.options.components, platformComponents);
-
-// install platform patch function
-Vue.prototype.__patch__ = inBrowser ? patch : noop;
-
-// public mount method
-Vue.prototype.$mount = function (
- el,
- hydrating
-) {
- el = el && inBrowser ? query(el) : undefined;
- return mountComponent(this, el, hydrating)
-};
+/***/ }),
+/* 8 */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
-// devtools global hook
-/* istanbul ignore next */
-if (inBrowser) {
- setTimeout(function () {
- if (config.devtools) {
- if (devtools) {
- devtools.emit('init', Vue);
- } else if (
- true
- ) {
- console[console.info ? 'info' : 'log'](
- 'Download the Vue Devtools extension for a better development experience:\n' +
- 'https://github.com/vuejs/vue-devtools'
- );
+"use strict";
+var addListenerToElement = function addListenerToElement(element, type, callback, r) {
+ // 暂时忽略capture
+ element.addEventListener(type, function ($event) {
+ if (typeof callback === 'function') {
+ if (callback($event) === false) {
+ $event.preventDefault();
+ $event.stopPropagation();
}
}
- if ( true &&
- config.productionTip !== false &&
- typeof console !== 'undefined'
- ) {
- console[console.info ? 'info' : 'log'](
- "You are running Vue in development mode.\n" +
- "Make sure to turn on production mode when deploying for production.\n" +
- "See more tips at https://vuejs.org/guide/deployment.html"
- );
- }
- }, 0);
-}
+ }, {
+ passive: false
+ });
+};
-/* */
+/* harmony default export */ __webpack_exports__["a"] = ({
+ methods: {
+ touchtrack: function touchtrack(element, method, useCancel) {
+ var self = this;
+ var x0 = 0;
+ var y0 = 0;
+ var x1 = 0;
+ var y1 = 0;
-/* harmony default export */ __webpack_exports__["a"] = (Vue);
+ var fn = function fn($event, state, x, y) {
+ if (self[method]({
+ target: $event.target,
+ currentTarget: $event.currentTarget,
+ preventDefault: $event.preventDefault.bind($event),
+ stopPropagation: $event.stopPropagation.bind($event),
+ touches: $event.touches,
+ changedTouches: $event.changedTouches,
+ detail: {
+ state: state,
+ x0: x,
+ y0: y,
+ dx: x - x0,
+ dy: y - y0,
+ ddx: x - x1,
+ ddy: y - y1,
+ timeStamp: $event.timeStamp
+ }
+ }) === false) {
+ return false;
+ }
+ };
-/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(47)))
+ var $eventOld = null;
+ addListenerToElement(element, 'touchstart', function ($event) {
+ if ($event.touches.length === 1 && !$eventOld) {
+ $eventOld = $event;
+ x0 = x1 = $event.touches[0].pageX;
+ y0 = y1 = $event.touches[0].pageY;
+ return fn($event, 'start', x0, y0);
+ }
+ });
+ addListenerToElement(element, 'touchmove', function ($event) {
+ if ($event.touches.length === 1 && $eventOld) {
+ var res = fn($event, 'move', $event.touches[0].pageX, $event.touches[0].pageY);
+ x1 = $event.touches[0].pageX;
+ y1 = $event.touches[0].pageY;
+ return res;
+ }
+ });
+ addListenerToElement(element, 'touchend', function ($event) {
+ if ($event.touches.length === 0 && $eventOld) {
+ $eventOld = null;
+ return fn($event, 'end', $event.changedTouches[0].pageX, $event.changedTouches[0].pageY);
+ }
+ });
+ addListenerToElement(element, 'touchcancel', function ($event) {
+ if ($eventOld) {
+ var $eventTemp = $eventOld;
+ $eventOld = null;
+ return fn($event, useCancel ? 'cancel' : 'end', $eventTemp.touches[0].pageX, $eventTemp.touches[0].pageY);
+ }
+ });
+ }
+ }
+});
/***/ }),
/* 9 */
@@ -9470,10 +9473,10 @@ function getWindowOffset() {
"use strict";
// EXTERNAL MODULE: ./src/shared/index.js + 4 modules
-var shared = __webpack_require__(2);
+var shared = __webpack_require__(1);
// EXTERNAL MODULE: ./src/core/helpers/index.js
-var helpers = __webpack_require__(4);
+var helpers = __webpack_require__(5);
// CONCATENATED MODULE: ./src/core/helpers/patch.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); }
@@ -9723,7 +9726,7 @@ function initEvents() {
"use strict";
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return publishHandler; });
-/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(5);
+/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(4);
function plusReady(callback) {
@@ -9856,8 +9859,8 @@ function publishHandler(event) {
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"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__(46);
+/* WEBPACK VAR INJECTION */(function(UniViewJSBridge) {/* harmony import */ var uni_mixins__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2);
+/* harmony import */ var uni_helpers_hidpi__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(44);
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); }
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); }
@@ -10451,7 +10454,7 @@ function processTouches(target, touches) {
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
-/* WEBPACK VAR INJECTION */(function(UniViewJSBridge) {/* harmony import */ var uni_mixins__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(1);
+/* WEBPACK VAR INJECTION */(function(UniViewJSBridge) {/* harmony import */ var uni_mixins__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2);
//
//
//
@@ -10532,9 +10535,7 @@ function processTouches(target, touches) {
/***/ }),
-/* 27 */,
-/* 28 */,
-/* 29 */
+/* 27 */
/***/ (function(module, exports, __webpack_require__) {
// extracted by mini-css-extract-plugin
@@ -10542,7 +10543,7 @@ function processTouches(target, touches) {
/***/ }),
-/* 30 */
+/* 28 */
/***/ (function(module, exports, __webpack_require__) {
// extracted by mini-css-extract-plugin
@@ -10550,7 +10551,7 @@ function processTouches(target, touches) {
/***/ }),
-/* 31 */
+/* 29 */
/***/ (function(module, exports, __webpack_require__) {
// extracted by mini-css-extract-plugin
@@ -10558,7 +10559,7 @@ function processTouches(target, touches) {
/***/ }),
-/* 32 */
+/* 30 */
/***/ (function(module, exports, __webpack_require__) {
// extracted by mini-css-extract-plugin
@@ -10566,7 +10567,7 @@ function processTouches(target, touches) {
/***/ }),
-/* 33 */
+/* 31 */
/***/ (function(module, exports, __webpack_require__) {
// extracted by mini-css-extract-plugin
@@ -10574,7 +10575,7 @@ function processTouches(target, touches) {
/***/ }),
-/* 34 */
+/* 32 */
/***/ (function(module, exports, __webpack_require__) {
// extracted by mini-css-extract-plugin
@@ -10582,7 +10583,7 @@ function processTouches(target, touches) {
/***/ }),
-/* 35 */
+/* 33 */
/***/ (function(module, exports, __webpack_require__) {
// extracted by mini-css-extract-plugin
@@ -10590,7 +10591,7 @@ function processTouches(target, touches) {
/***/ }),
-/* 36 */
+/* 34 */
/***/ (function(module, exports, __webpack_require__) {
// extracted by mini-css-extract-plugin
@@ -10598,7 +10599,7 @@ function processTouches(target, touches) {
/***/ }),
-/* 37 */
+/* 35 */
/***/ (function(module, exports, __webpack_require__) {
// extracted by mini-css-extract-plugin
@@ -10606,7 +10607,7 @@ function processTouches(target, touches) {
/***/ }),
-/* 38 */
+/* 36 */
/***/ (function(module, exports, __webpack_require__) {
// extracted by mini-css-extract-plugin
@@ -10614,7 +10615,7 @@ function processTouches(target, touches) {
/***/ }),
-/* 39 */
+/* 37 */
/***/ (function(module, exports, __webpack_require__) {
// extracted by mini-css-extract-plugin
@@ -10622,7 +10623,7 @@ function processTouches(target, touches) {
/***/ }),
-/* 40 */
+/* 38 */
/***/ (function(module, exports, __webpack_require__) {
// extracted by mini-css-extract-plugin
@@ -10630,14 +10631,14 @@ function processTouches(target, touches) {
/***/ }),
-/* 41 */
+/* 39 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return definePage; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return getPageVueComponent; });
/* unused harmony export createPage */
-/* harmony import */ var uni_shared__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2);
+/* harmony import */ var uni_shared__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(1);
var pageFactory = Object.create(null);
function definePage(name, createPageVueComponent) {
@@ -10646,7 +10647,7 @@ function definePage(name, createPageVueComponent) {
var getPageVueComponent = Object(uni_shared__WEBPACK_IMPORTED_MODULE_0__[/* cached */ "a"])(function (pagePath) {
return pageFactory[pagePath]();
});
-function createPage(pagePath, pageId) {
+function createPage(pagePath, pageId, pageQuery, pageInstance) {
if (!pageFactory[pagePath]) {
console.error("".concat(pagePath, " not found"));
}
@@ -10655,7 +10656,9 @@ function createPage(pagePath, pageId) {
var pageVm = new (getPageVueComponent(pagePath))({
mpType: 'page',
pageId: pageId,
- pagePath: pagePath
+ pagePath: pagePath,
+ pageQuery: pageQuery,
+ pageInstance: pageInstance
});
if (true) {
@@ -10666,7 +10669,7 @@ function createPage(pagePath, pageId) {
}
/***/ }),
-/* 42 */
+/* 40 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
@@ -10687,7 +10690,7 @@ function setCurrentPage(pageId, pagePath) {
}
/***/ }),
-/* 43 */
+/* 41 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
@@ -10761,7 +10764,7 @@ Friction.prototype.configuration = function () {
};
/***/ }),
-/* 44 */
+/* 42 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
@@ -10994,16 +10997,16 @@ Spring.prototype.configuration = function () {
};
/***/ }),
-/* 45 */
+/* 43 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
// EXTERNAL MODULE: ./src/core/view/mixins/scroller/Friction.js
-var Friction = __webpack_require__(43);
+var Friction = __webpack_require__(41);
// EXTERNAL MODULE: ./src/core/view/mixins/scroller/Spring.js
-var Spring = __webpack_require__(44);
+var Spring = __webpack_require__(42);
// CONCATENATED MODULE: ./src/core/view/mixins/scroller/Scroll.js
@@ -11544,7 +11547,7 @@ Scroller.prototype.isScrolling = function () {
});
/***/ }),
-/* 46 */
+/* 44 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
@@ -11709,7 +11712,7 @@ function wrapper(canvas) {
}
/***/ }),
-/* 47 */
+/* 45 */
/***/ (function(module, exports) {
var g;
@@ -11735,15 +11738,15 @@ module.exports = g;
/***/ }),
-/* 48 */
+/* 46 */
/***/ (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__(64);
+/* harmony import */ var intersection_observer__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(62);
/* 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__(4);
+/* harmony import */ var uni_helpers_index__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(5);
@@ -11819,23 +11822,23 @@ function destroyComponentObserver(_ref2) {
/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(3)))
/***/ }),
-/* 49 */
+/* 47 */
/***/ (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'];
/***/ }),
-/* 50 */
+/* 48 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
-/* WEBPACK VAR INJECTION */(function(UniViewJSBridge, global) {/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8);
-/* harmony import */ var uni_core_view_index_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(65);
+/* WEBPACK VAR INJECTION */(function(UniViewJSBridge, global) {/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6);
+/* harmony import */ var uni_core_view_index_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(63);
/* harmony import */ var uni_core_view_index_css__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(uni_core_view_index_css__WEBPACK_IMPORTED_MODULE_1__);
-/* harmony import */ var uni_platform_page_factory__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(41);
-/* harmony import */ var uni_platform_view_framework_page__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(42);
-/* harmony import */ var uni_platform_view_framework_plugins_index__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(62);
-/* harmony import */ var _view_api_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(53);
+/* harmony import */ var uni_platform_page_factory__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(39);
+/* harmony import */ var uni_platform_view_framework_page__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(40);
+/* harmony import */ var uni_platform_view_framework_plugins_index__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(60);
+/* harmony import */ var _view_api_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(51);
/* 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"]; });
@@ -11856,17 +11859,17 @@ 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__(103);
+__webpack_require__(100);
-/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(3), __webpack_require__(47)))
+/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(3), __webpack_require__(45)))
/***/ }),
-/* 51 */
+/* 49 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
-/* WEBPACK VAR INJECTION */(function(UniViewJSBridge) {/* harmony import */ var uni_shared__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2);
+/* WEBPACK VAR INJECTION */(function(UniViewJSBridge) {/* harmony import */ var uni_shared__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(1);
/* harmony default export */ __webpack_exports__["a"] = ({
props: {
@@ -11976,11 +11979,11 @@ __webpack_require__(103);
/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(3)))
/***/ }),
-/* 52 */
+/* 50 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
-/* WEBPACK VAR INJECTION */(function(UniViewJSBridge) {/* harmony import */ var uni_shared__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2);
+/* WEBPACK VAR INJECTION */(function(UniViewJSBridge) {/* harmony import */ var uni_shared__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(1);
/* harmony default export */ __webpack_exports__["a"] = ({
// 取消id的定义,某些组件(canvas)内不在props内定义id
@@ -12026,7 +12029,7 @@ __webpack_require__(103);
/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(3)))
/***/ }),
-/* 53 */
+/* 51 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
@@ -12082,7 +12085,7 @@ function upx2px(number, newDeviceWidth) {
var get_window_offset = __webpack_require__(9);
// EXTERNAL MODULE: ./node_modules/safe-area-insets/out/index.js
-var out = __webpack_require__(6);
+var out = __webpack_require__(7);
var out_default = /*#__PURE__*/__webpack_require__.n(out);
// CONCATENATED MODULE: ./src/platforms/h5/service/api/device/get-system-info.js
@@ -12225,7 +12228,7 @@ function canIUse(schema) {
}
/***/ }),
-/* 54 */
+/* 52 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
@@ -12356,12 +12359,12 @@ function createScrollListener(pageId, _ref2) {
/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(3)))
/***/ }),
-/* 55 */
+/* 53 */
/***/ (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__(4);
+/* harmony import */ var uni_helpers_index__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(5);
/* harmony import */ var uni_platform_helpers_get_window_offset__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(9);
@@ -12515,14 +12518,14 @@ function requestComponentInfo(_ref, pageId) {
/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(3)))
/***/ }),
-/* 56 */
+/* 54 */
/***/ (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__(4);
+/* WEBPACK VAR INJECTION */(function(UniViewJSBridge) {/* harmony import */ var uni_helpers_index__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(5);
/* harmony import */ var _events__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(10);
-/* harmony import */ var _behaviors__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(61);
-/* harmony import */ var _wxs_component_descriptor__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(57);
+/* harmony import */ var _behaviors__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(59);
+/* harmony import */ var _wxs_component_descriptor__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(55);
@@ -12615,12 +12618,12 @@ function pageMounted() {
/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(3)))
/***/ }),
-/* 57 */
+/* 55 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
/* WEBPACK VAR INJECTION */(function(global) {/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return createComponentDescriptor; });
-/* harmony import */ var uni_shared__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2);
+/* harmony import */ var uni_shared__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(1);
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
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); } }
@@ -12830,18 +12833,20 @@ function createComponentDescriptor(vm) {
return vm.$el.__wxsComponentDescriptor;
}
}
-/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(47)))
+/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(45)))
/***/ }),
-/* 58 */
+/* 56 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
/* WEBPACK VAR INJECTION */(function(UniViewJSBridge) {/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return initData; });
-/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(5);
-/* harmony import */ var _vdom_sync__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(59);
-/* harmony import */ var _page__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(42);
-/* harmony import */ var _page_factory__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(41);
+/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6);
+/* harmony import */ var uni_shared__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(1);
+/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(4);
+/* harmony import */ var _vdom_sync__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(57);
+/* harmony import */ var _page__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(40);
+/* harmony import */ var _page_factory__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(39);
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; }
@@ -12858,24 +12863,27 @@ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
+
+
var vd;
var PageVueComponent;
-var handleData = (_handleData = {}, _defineProperty(_handleData, _constants__WEBPACK_IMPORTED_MODULE_0__[/* PAGE_CREATE */ "c"], function onPageCreate(data) {
+var handleData = (_handleData = {}, _defineProperty(_handleData, _constants__WEBPACK_IMPORTED_MODULE_2__[/* PAGE_CREATE */ "c"], function onPageCreate(data) {
var _data = _slicedToArray(data, 2),
pageId = _data[0],
- pagePath = _data[1]; // 设置当前页面伪对象,方便其他地方使用 getCurrentPages 获取当前页面 id,route
+ pagePath = _data[1];
+ document.title = "".concat(pagePath, "[").concat(pageId, "]"); // 设置当前页面伪对象,方便其他地方使用 getCurrentPages 获取当前页面 id,route
- Object(_page__WEBPACK_IMPORTED_MODULE_2__[/* setCurrentPage */ "b"])(pageId, pagePath); // 初始化当前页面 VueComponent(生成页面样式代码)
+ Object(_page__WEBPACK_IMPORTED_MODULE_4__[/* setCurrentPage */ "b"])(pageId, pagePath); // 初始化当前页面 VueComponent(生成页面样式代码)
- PageVueComponent = Object(_page_factory__WEBPACK_IMPORTED_MODULE_3__[/* getPageVueComponent */ "b"])(pagePath); // 生成当前页面 vd
+ PageVueComponent = Object(_page_factory__WEBPACK_IMPORTED_MODULE_5__[/* getPageVueComponent */ "b"])(pagePath); // 生成当前页面 vd
- vd = new _vdom_sync__WEBPACK_IMPORTED_MODULE_1__[/* VDomSync */ "a"](pageId);
-}), _defineProperty(_handleData, _constants__WEBPACK_IMPORTED_MODULE_0__[/* MOUNTED_DATA */ "b"], function onMounted(data) {
+ vd = new _vdom_sync__WEBPACK_IMPORTED_MODULE_3__[/* VDomSync */ "a"](pageId);
+}), _defineProperty(_handleData, _constants__WEBPACK_IMPORTED_MODULE_2__[/* MOUNTED_DATA */ "b"], function onMounted(data) {
vd.addVData.apply(vd, data);
-}), _defineProperty(_handleData, _constants__WEBPACK_IMPORTED_MODULE_0__[/* UPDATED_DATA */ "e"], function onUpdated(data) {
+}), _defineProperty(_handleData, _constants__WEBPACK_IMPORTED_MODULE_2__[/* UPDATED_DATA */ "e"], function onUpdated(data) {
vd.updateVData.apply(vd, data);
-}), _defineProperty(_handleData, _constants__WEBPACK_IMPORTED_MODULE_0__[/* PAGE_CREATED */ "d"], function onPageCreated(data) {
+}), _defineProperty(_handleData, _constants__WEBPACK_IMPORTED_MODULE_2__[/* PAGE_CREATED */ "d"], function onPageCreated(data) {
var _data2 = _slicedToArray(data, 2),
pageId = _data2[0],
pagePath = _data2[1];
@@ -12890,13 +12898,40 @@ var handleData = (_handleData = {}, _defineProperty(_handleData, _constants__WEB
function vdSync(_ref) {
var data = _ref.data,
options = _ref.options;
+ var isVdCallback = true;
data.forEach(function (data) {
+ if (data[0] === _constants__WEBPACK_IMPORTED_MODULE_2__[/* PAGE_CREATE */ "c"]) {
+ // 页面创建无需触发 callback
+ isVdCallback = false;
+ }
+
handleData[data[0]](data[1]);
});
vd.flush();
+ isVdCallback && vue__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"].nextTick(function () {
+ UniViewJSBridge.publishHandler(_constants__WEBPACK_IMPORTED_MODULE_2__[/* VD_SYNC_CALLBACK */ "f"]);
+ });
+}
+
+function getData(id, name) {
+ var isFallbackContent = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
+ var root = this.$r;
+
+ if (Object(uni_shared__WEBPACK_IMPORTED_MODULE_1__[/* hasOwn */ "c"])(root, id)) {
+ var vNodeData = root[id];
+
+ if (Object(uni_shared__WEBPACK_IMPORTED_MODULE_1__[/* hasOwn */ "c"])(vNodeData, name)) {
+ return vNodeData[name];
+ } else {
+ !isFallbackContent && console.error(this.$options.__file + ":[".concat(this._$id, "]$r[").concat(id, "][").concat(name, "] is undefined"));
+ }
+ } else {
+ !isFallbackContent && console.error(this.$options.__file + ":[".concat(this._$id, "]$r[").concat(id, "] is undefined"));
+ }
}
function initData(Vue) {
+ Vue.prototype._$g = getData;
UniViewJSBridge.subscribe('vdSync', vdSync);
Object.defineProperty(Vue.prototype, '_$vd', {
get: function get() {
@@ -12920,12 +12955,12 @@ function initData(Vue) {
/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(3)))
/***/ }),
-/* 59 */
+/* 57 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return VDomSync; });
-/* harmony import */ var uni_shared__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2);
+/* harmony import */ var uni_shared__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(1);
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); }
@@ -12968,10 +13003,10 @@ function () {
}, {
key: "initVm",
value: function initVm(vm) {
- var _this$addVDatas$pop = this.addVDatas.pop(),
- _this$addVDatas$pop2 = _slicedToArray(_this$addVDatas$pop, 2),
- nodeId = _this$addVDatas$pop2[0],
- data = _this$addVDatas$pop2[1];
+ var _this$addVDatas$shift = this.addVDatas.shift(),
+ _this$addVDatas$shift2 = _slicedToArray(_this$addVDatas$shift, 2),
+ nodeId = _this$addVDatas$shift2[0],
+ data = _this$addVDatas$shift2[1];
if (!nodeId) {
vm._$id = Object(uni_shared__WEBPACK_IMPORTED_MODULE_0__[/* guid */ "b"])();
@@ -13000,7 +13035,9 @@ function () {
return console.error("Not found ".concat(nodeId));
}
- Object.assign(vm.$r, data);
+ Object.keys(data).forEach(function (nodeId) {
+ Object.assign(vm.$r[nodeId] || (vm.$r[nodeId] = Object.create(null)), data[nodeId]);
+ });
vm.$forceUpdate();
});
this.updateVDatas.length = 0;
@@ -13011,20 +13048,21 @@ function () {
}();
/***/ }),
-/* 60 */
+/* 58 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
/* WEBPACK VAR INJECTION */(function(UniViewJSBridge) {/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return initEvent; });
-/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(5);
+/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(4);
function initEvent(Vue) {
Vue.prototype.$handleViewEvent = function ($vueEvent, options) {
var $event = this.$handleEvent($vueEvent);
- var cid = this._$id;
- var nid = $event.options.nid;
+ var cid = this._$id; // 当自定义组件根节点触发事件时,nid 始终为 0
+
+ var nid = $vueEvent.currentTarget === this.$el ? 0 : $event.options.nid;
- if (!nid) {
+ if (typeof nid === 'undefined') {
return console.error("[".concat(cid, "] nid not found"));
} // 移除无用属性
@@ -13034,7 +13072,7 @@ function initEvent(Vue) {
delete $event.preventDefault;
delete $event.stopPropagation;
delete $event.options;
- UniViewJSBridge.publishHandler(_constants__WEBPACK_IMPORTED_MODULE_0__[/* WEBVIEW_UI_EVENT */ "f"], {
+ UniViewJSBridge.publishHandler(_constants__WEBPACK_IMPORTED_MODULE_0__[/* WEBVIEW_UI_EVENT */ "g"], {
data: $event,
options: {
cid: cid,
@@ -13046,16 +13084,16 @@ function initEvent(Vue) {
/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(3)))
/***/ }),
-/* 61 */
+/* 59 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
// EXTERNAL MODULE: ./src/shared/index.js + 4 modules
-var shared = __webpack_require__(2);
+var shared = __webpack_require__(1);
// EXTERNAL MODULE: ./src/core/view/mixins/index.js + 1 modules
-var mixins = __webpack_require__(1);
+var mixins = __webpack_require__(2);
// CONCATENATED MODULE: ./src/core/view/plugins/behaviors/form-field.js
/**
@@ -13165,13 +13203,13 @@ function initBehaviors(options, vm) {
}
/***/ }),
-/* 62 */
+/* 60 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
// EXTERNAL MODULE: ./src/core/helpers/tags.js
-var tags = __webpack_require__(49);
+var tags = __webpack_require__(47);
var tags_default = /*#__PURE__*/__webpack_require__.n(tags);
// CONCATENATED MODULE: ./src/core/vue.js
@@ -13198,13 +13236,13 @@ function initVue(Vue) {
};
}
// EXTERNAL MODULE: ./src/core/view/plugins/index.js
-var plugins = __webpack_require__(56);
+var plugins = __webpack_require__(54);
// EXTERNAL MODULE: ./src/platforms/app-plus/view/framework/plugins/data.js
-var data = __webpack_require__(58);
+var data = __webpack_require__(56);
// EXTERNAL MODULE: ./src/platforms/app-plus/view/framework/plugins/event.js
-var plugins_event = __webpack_require__(60);
+var plugins_event = __webpack_require__(58);
// CONCATENATED MODULE: ./src/platforms/app-plus/view/framework/plugins/index.js
@@ -13225,7 +13263,7 @@ var plugins_event = __webpack_require__(60);
});
/***/ }),
-/* 63 */
+/* 61 */
/***/ (function(module, exports) {
// document.currentScript polyfill by Adam Miller
@@ -13267,7 +13305,7 @@ var plugins_event = __webpack_require__(60);
/***/ }),
-/* 64 */
+/* 62 */
/***/ (function(module, exports) {
/**
@@ -14014,7 +14052,7 @@ window.IntersectionObserverEntry = IntersectionObserverEntry;
/***/ }),
-/* 65 */
+/* 63 */
/***/ (function(module, exports, __webpack_require__) {
// extracted by mini-css-extract-plugin
@@ -14022,37 +14060,37 @@ window.IntersectionObserverEntry = IntersectionObserverEntry;
/***/ }),
-/* 66 */
+/* 64 */
/***/ (function(module, exports, __webpack_require__) {
var map = {
- "./button/index.vue": 115,
- "./canvas/index.vue": 114,
- "./checkbox-group/index.vue": 106,
- "./checkbox/index.vue": 109,
- "./form/index.vue": 110,
+ "./button/index.vue": 114,
+ "./canvas/index.vue": 110,
+ "./checkbox-group/index.vue": 98,
+ "./checkbox/index.vue": 108,
+ "./form/index.vue": 101,
"./icon/index.vue": 102,
- "./image/index.vue": 96,
- "./input/index.vue": 97,
- "./label/index.vue": 112,
- "./movable-area/index.vue": 121,
- "./movable-view/index.vue": 94,
- "./navigator/index.vue": 95,
- "./picker-view-column/index.vue": 119,
+ "./image/index.vue": 107,
+ "./input/index.vue": 104,
+ "./label/index.vue": 109,
+ "./movable-area/index.vue": 111,
+ "./movable-view/index.vue": 91,
+ "./navigator/index.vue": 103,
+ "./picker-view-column/index.vue": 115,
"./picker-view/index.vue": 117,
- "./progress/index.vue": 108,
- "./radio-group/index.vue": 107,
- "./radio/index.vue": 105,
- "./resize-sensor/index.vue": 118,
- "./rich-text/index.vue": 93,
- "./scroll-view/index.vue": 104,
- "./slider/index.vue": 111,
- "./swiper-item/index.vue": 101,
- "./swiper/index.vue": 116,
- "./switch/index.vue": 100,
- "./text/index.vue": 120,
+ "./progress/index.vue": 94,
+ "./radio-group/index.vue": 92,
+ "./radio/index.vue": 95,
+ "./resize-sensor/index.vue": 116,
+ "./rich-text/index.vue": 90,
+ "./scroll-view/index.vue": 96,
+ "./slider/index.vue": 106,
+ "./swiper-item/index.vue": 105,
+ "./swiper/index.vue": 112,
+ "./switch/index.vue": 93,
+ "./text/index.vue": 113,
"./textarea/index.vue": 99,
- "./view/index.vue": 98
+ "./view/index.vue": 97
};
@@ -14074,10 +14112,10 @@ webpackContext.keys = function webpackContextKeys() {
};
webpackContext.resolve = webpackContextResolve;
module.exports = webpackContext;
-webpackContext.id = 66;
+webpackContext.id = 64;
/***/ }),
-/* 67 */
+/* 65 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
@@ -14087,7 +14125,7 @@ webpackContext.id = 66;
/* 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);
/***/ }),
-/* 68 */
+/* 66 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
@@ -14097,7 +14135,7 @@ webpackContext.id = 66;
/* 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);
/***/ }),
-/* 69 */
+/* 67 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
@@ -14107,7 +14145,7 @@ webpackContext.id = 66;
/* 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 */
+/* 68 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
@@ -14117,7 +14155,7 @@ webpackContext.id = 66;
/* 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 */
+/* 69 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
@@ -14127,7 +14165,7 @@ webpackContext.id = 66;
/* 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 */
+/* 70 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
@@ -14137,7 +14175,7 @@ webpackContext.id = 66;
/* 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 */
+/* 71 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
@@ -14147,7 +14185,7 @@ webpackContext.id = 66;
/* 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 */
+/* 72 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
@@ -14157,7 +14195,7 @@ webpackContext.id = 66;
/* 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 */
+/* 73 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
@@ -14167,7 +14205,7 @@ webpackContext.id = 66;
/* 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 */
+/* 74 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
@@ -14177,7 +14215,7 @@ webpackContext.id = 66;
/* 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 */
+/* 75 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
@@ -14187,7 +14225,7 @@ webpackContext.id = 66;
/* 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 */
+/* 76 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
@@ -14197,128 +14235,127 @@ webpackContext.id = 66;
/* 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 */,
-/* 80 */
+/* 77 */
/***/ (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__(29);
+/* 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__(27);
/* 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);
/***/ }),
-/* 81 */
+/* 78 */
/***/ (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__(30);
+/* 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__(28);
/* 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);
/***/ }),
-/* 82 */
+/* 79 */
/***/ (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__(31);
+/* 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__(29);
/* 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);
/***/ }),
-/* 83 */
+/* 80 */
/***/ (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__(32);
+/* 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__(30);
/* 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);
/***/ }),
-/* 84 */
+/* 81 */
/***/ (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__(33);
+/* 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__(31);
/* 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);
/***/ }),
-/* 85 */
+/* 82 */
/***/ (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__(34);
+/* 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__(32);
/* 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);
/***/ }),
-/* 86 */
+/* 83 */
/***/ (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__(35);
+/* 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__(33);
/* 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);
/***/ }),
-/* 87 */
+/* 84 */
/***/ (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__(36);
+/* 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__(34);
/* 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);
/***/ }),
-/* 88 */
+/* 85 */
/***/ (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__(37);
+/* 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__(35);
/* 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);
/***/ }),
-/* 89 */
+/* 86 */
/***/ (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__(38);
+/* 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__(36);
/* 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);
/***/ }),
-/* 90 */
+/* 87 */
/***/ (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__(39);
+/* 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__(37);
/* 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);
/***/ }),
-/* 91 */
+/* 88 */
/***/ (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__(40);
+/* 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__(38);
/* 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);
/***/ }),
-/* 92 */
+/* 89 */
/***/ (function(module, exports) {
function webpackEmptyContext(req) {
@@ -14329,10 +14366,10 @@ function webpackEmptyContext(req) {
webpackEmptyContext.keys = function() { return []; };
webpackEmptyContext.resolve = webpackEmptyContext;
module.exports = webpackEmptyContext;
-webpackEmptyContext.id = 92;
+webpackEmptyContext.id = 89;
/***/ }),
-/* 93 */
+/* 90 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
@@ -14714,7 +14751,7 @@ function parseHtml(html) {
return results.children;
}
// EXTERNAL MODULE: ./src/shared/index.js + 4 modules
-var shared = __webpack_require__(2);
+var shared = __webpack_require__(1);
// CONCATENATED MODULE: ./src/core/view/components/rich-text/nodes-parser.js
@@ -14923,7 +14960,7 @@ component.options.__file = "src/core/view/components/rich-text/index.vue"
/* harmony default export */ var rich_text = __webpack_exports__["default"] = (component.exports);
/***/ }),
-/* 94 */
+/* 91 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
@@ -14951,7 +14988,7 @@ render._withStripped = true
// CONCATENATED MODULE: ./src/core/view/components/movable-view/index.vue?vue&type=template&id=8de47606&
// EXTERNAL MODULE: ./src/core/view/mixins/touchtrack.js
-var touchtrack = __webpack_require__(7);
+var touchtrack = __webpack_require__(8);
// CONCATENATED MODULE: ./src/core/view/components/movable-view/utils.js
function e(e, t, n) {
@@ -16040,41 +16077,202 @@ function g(e, t, n) {
source: source
});
}
- }
-
- if (!this.scale) {
- scale = this._scale;
- }
-
- scale = this._adjustScale(scale);
- scale = +scale.toFixed(3);
+ }
+
+ 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__(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/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);
+
+/***/ }),
+/* 92 */
+/***/ (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":"70784d34-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/radio-group/index.vue?vue&type=template&id=17be8d0a&
+
+// EXTERNAL MODULE: ./src/core/view/mixins/index.js + 1 modules
+var mixins = __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/radio-group/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 */]],
+ props: {
+ name: {
+ 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;
+ }
+
+ if (_this.radioList[i].radioChecked) {
+ _this.radioList[index].radioChecked = false;
+ }
+ });
+ }
+ });
+ },
+ _getFormData: function _getFormData() {
+ var data = {};
- if (o && scale !== this._scale) {
- this.$trigger('scale', {}, {
- x: x,
- y: y,
- scale: scale
+ if (this.name !== '') {
+ var value = '';
+ this.radioList.forEach(function (vm) {
+ if (vm.radioChecked) {
+ value = vm.value;
+ }
});
+ data['value'] = value;
+ data['key'] = this.name;
}
- 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;
+ return data;
}
}
});
-// 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__(75);
+// 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__(78);
// 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
+// CONCATENATED MODULE: ./src/core/view/components/radio-group/index.vue
@@ -16084,7 +16282,7 @@ var componentNormalizer = __webpack_require__(0);
/* normalize component */
var component = Object(componentNormalizer["a" /* default */])(
- components_movable_viewvue_type_script_lang_js_,
+ components_radio_groupvue_type_script_lang_js_,
render,
staticRenderFns,
false,
@@ -16096,56 +16294,69 @@ var component = Object(componentNormalizer["a" /* default */])(
/* 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);
+component.options.__file = "src/core/view/components/radio-group/index.vue"
+/* harmony default export */ var radio_group = __webpack_exports__["default"] = (component.exports);
/***/ }),
-/* 95 */
+/* 93 */
/***/ (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":"70784d34-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&
+// CONCATENATED MODULE: ./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"70784d34-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 _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
+ 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'"
}
- },
- _vm.$listeners
- ),
- [_vm._t("default")],
- 2
- )
- : _c(
- "uni-navigator",
- _vm._g({ on: { click: _vm._onClick } }, _vm.$listeners),
- [_vm._t("default")],
- 2
- )
+ ],
+ 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/navigator/index.vue?vue&type=template&id=c893a598&
+// 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);
+var mixins = __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/navigator/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&
//
//
//
@@ -16165,92 +16376,96 @@ var mixins = __webpack_require__(1);
//
//
-var OPEN_TYPES = ['navigate', 'redirect', 'switchTab', 'reLaunch', 'navigateBack'];
-/* harmony default export */ var navigatorvue_type_script_lang_js_ = ({
- name: 'Navigator',
- mixins: [mixins["b" /* hover */]],
+/* harmony default export */ var switchvue_type_script_lang_js_ = ({
+ name: 'Switch',
+ mixins: [mixins["a" /* emitter */], mixins["c" /* listeners */]],
props: {
- hoverClass: {
- type: String,
- default: 'navigator-hover'
- },
- url: {
+ name: {
type: String,
default: ''
},
- openType: {
+ checked: {
+ type: [Boolean, String],
+ default: false
+ },
+ type: {
type: String,
- default: 'navigate',
- validator: function validator(value) {
- return ~OPEN_TYPES.indexOf(value);
- }
+ default: 'switch'
},
- delta: {
- type: Number,
- default: 1
+ id: {
+ type: String,
+ default: ''
},
- hoverStartTime: {
- type: Number,
- default: 20
+ disabled: {
+ type: [Boolean, String],
+ default: false
},
- hoverStayTime: {
- type: Number,
- default: 600
+ color: {
+ type: String,
+ default: '#007aff'
+ }
+ },
+ data: function data() {
+ return {
+ switchChecked: this.checked
+ };
+ },
+ watch: {
+ checked: function checked(val) {
+ this.switchChecked = val;
}
},
+ 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.openType !== 'navigateBack' && !this.url) {
- console.error(" should have url attribute when using navigateTo, redirectTo, reLaunch or switchTab");
+ if (this.disabled) {
return;
}
- 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;
+ this.switchChecked = !this.switchChecked;
+ this.$trigger('change', $event, {
+ value: this.switchChecked
+ });
+ },
+ _resetFormData: function _resetFormData() {
+ this.switchChecked = false;
+ },
+ _getFormData: function _getFormData() {
+ var data = {};
- default:
- break;
+ if (this.name !== '') {
+ data['value'] = this.switchChecked;
+ data['key'] = this.name;
}
+
+ return data;
}
}
});
-// 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__(76);
+// 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__(85);
// 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/switch/index.vue
@@ -16260,7 +16475,7 @@ var componentNormalizer = __webpack_require__(0);
/* normalize component */
var component = Object(componentNormalizer["a" /* default */])(
- components_navigatorvue_type_script_lang_js_,
+ components_switchvue_type_script_lang_js_,
render,
staticRenderFns,
false,
@@ -16272,46 +16487,49 @@ 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);
+component.options.__file = "src/core/view/components/switch/index.vue"
+/* harmony default export */ var components_switch = __webpack_exports__["default"] = (component.exports);
/***/ }),
-/* 96 */
+/* 94 */
/***/ (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":"70784d34-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&
+// CONCATENATED MODULE: ./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"70784d34-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-image",
- _vm._g({}, _vm.$listeners),
+ "uni-progress",
+ _vm._g({ staticClass: "uni-progress" }, _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 }
- })
+ _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()
],
- 1
+ 2
)
}
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); }
+// 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/progress/index.vue?vue&type=script&lang=js&
//
//
//
@@ -16324,189 +16542,128 @@ function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterat
//
//
//
-/* harmony default export */ var imagevue_type_script_lang_js_ = ({
- name: 'Image',
+//
+//
+//
+//
+var VALUES = {
+ activeColor: '#007AFF',
+ backgroundColor: '#EBEBEB',
+ activeMode: 'backwards'
+};
+/* harmony default export */ var progressvue_type_script_lang_js_ = ({
+ name: 'Progress',
props: {
- src: {
+ 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: ''
+ default: VALUES.activeColor
},
- mode: {
+ activeColor: {
type: String,
- default: 'scaleToFill'
+ default: VALUES.activeColor
},
- // TODO 懒加载
- lazyLoad: {
+ backgroundColor: {
+ type: String,
+ default: VALUES.backgroundColor
+ },
+ active: {
type: [Boolean, String],
default: false
+ },
+ activeMode: {
+ type: String,
+ default: VALUES.activeMode
}
},
data: function data() {
return {
- originalWidth: 0,
- originalHeight: 0,
- availHeight: '',
- sizeFixed: false
+ currentPercent: 0,
+ strokeTimer: 0,
+ lastPercent: 0
};
},
computed: {
- ratio: function ratio() {
- return this.originalWidth && this.originalHeight ? this.originalWidth / this.originalHeight : 0;
- },
- realImagePath: function realImagePath() {
- return this.src && this.$getRealPath(this.src);
+ outerBarStyle: function outerBarStyle() {
+ return "background-color: ".concat(this.backgroundColor, "; height: ").concat(this.strokeWidth, "px;");
},
- 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;
-
- case 'top right':
- position = 'right top';
- break;
-
- case 'bottom left':
- position = 'left bottom';
- break;
-
- case 'bottom right':
- position = 'right bottom';
- break;
+ innerBarStyle: function innerBarStyle() {
+ // 兼容下不推荐的属性,activeColor 优先级高于 color。
+ var backgroundColor = '';
- default:
- size = '100% 100%';
- position = '0% 0%';
- break;
+ if (this.color !== VALUES.activeColor && this.activeColor === VALUES.activeColor) {
+ backgroundColor = this.color;
+ } else {
+ backgroundColor = this.activeColor;
}
- return "background-position:".concat(position, ";background-size:").concat(size, ";background-repeat:").concat(repeat, ";");
+ return "width: ".concat(this.currentPercent, "%;background-color: ").concat(backgroundColor);
+ },
+ realPercent: function realPercent() {
+ // 确保最终计算时使用的是 Number 类型的值,并且在有效范围内。
+ var realValue = parseFloat(this.percent, 10);
+ realValue < 0 && (realValue = 0);
+ realValue > 100 && (realValue = 100);
+ return realValue;
}
},
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;
- }
+ realPercent: function realPercent(newValue, oldValue) {
+ this.strokeTimer && clearInterval(this.strokeTimer);
+ this.lastPercent = oldValue || 0;
- if (newValue === 'widthFix' && this.ratio) {
- this._fixSize();
- }
+ this._activeAnimation();
}
},
- mounted: function mounted() {
- this.availHeight = this.$el.style.height || '';
-
- this._loadImage();
+ created: function created() {
+ this._activeAnimation();
},
methods: {
- _resize: function _resize() {
- if (this.mode === 'widthFix' && !this.sizeFixed) {
- this._fixSize();
- }
- },
- _fixSize: function _fixSize() {
- var elWidth = this._getWidth();
-
- if (elWidth) {
- var height = elWidth / this.ratio; // fix: 解决 Chrome 浏览器上某些情况下导致 1px 缝隙的问题
-
- if ((typeof navigator === "undefined" ? "undefined" : _typeof(navigator)) && navigator.vendor === 'Google Inc.' && height > 10) {
- height = Math.round(height / 2) * 2;
- }
+ _activeAnimation: function _activeAnimation() {
+ var _this = this;
- this.$el.style.height = height + 'px';
- this.sizeFixed = true;
+ 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;
}
- },
- _loadImage: function _loadImage() {
- this.$refs.content.style.backgroundImage = this.src ? "url(".concat(this.realImagePath, ")") : 'none';
-
- var _self = this;
-
- var img = new Image();
-
- 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)")
- });
- };
-
- 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__(72);
+// 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__(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/image/index.vue
+// CONCATENATED MODULE: ./src/core/view/components/progress/index.vue
@@ -16516,7 +16673,7 @@ var componentNormalizer = __webpack_require__(0);
/* normalize component */
var component = Object(componentNormalizer["a" /* default */])(
- components_imagevue_type_script_lang_js_,
+ components_progressvue_type_script_lang_js_,
render,
staticRenderFns,
false,
@@ -16528,192 +16685,38 @@ 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/core/view/components/progress/index.vue"
+/* harmony default export */ var progress = __webpack_exports__["default"] = (component.exports);
/***/ }),
-/* 97 */
+/* 95 */
/***/ (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":"70784d34-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&
+// CONCATENATED MODULE: ./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"70784d34-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/index.vue?vue&type=template&id=4b562a50&
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
- ),
+ "uni-radio",
+ _vm._g({ on: { click: _vm._onClick } }, _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)
- }
- }
- })
- ])
+ _c(
+ "div",
+ { staticClass: "uni-radio-wrapper" },
+ [
+ _c("div", {
+ staticClass: "uni-radio-input",
+ class: _vm.radioChecked ? "uni-radio-input-checked" : "",
+ style: _vm.radioChecked ? _vm.checkedStyle : ""
+ }),
+ _vm._t("default")
+ ],
+ 2
+ )
]
)
}
@@ -16721,29 +16724,183 @@ 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/index.vue?vue&type=template&id=4b562a50&
+
+// EXTERNAL MODULE: ./src/core/view/mixins/index.js + 1 modules
+var mixins = __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/radio/index.vue?vue&type=script&lang=js&
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+
+/* harmony default export */ var radiovue_type_script_lang_js_ = ({
+ name: 'Radio',
+ 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 {
+ radioChecked: this.checked,
+ radioValue: this.value
+ };
+ },
+ computed: {
+ checkedStyle: function checkedStyle() {
+ return "background-color: ".concat(this.color, ";border-color: ").concat(this.color, ";");
+ }
+ },
+ watch: {
+ checked: function checked(val) {
+ this.radioChecked = val;
+ },
+ value: function value(val) {
+ this.radioValue = val;
+ }
+ },
+ listeners: {
+ 'label-click': '_onClick',
+ '@label-click': '_onClick'
+ },
+ created: function created() {
+ this.$dispatch('RadioGroup', 'uni-radio-group-update', {
+ type: 'add',
+ vm: this
+ });
+ this.$dispatch('Form', 'uni-form-group-update', {
+ type: 'add',
+ vm: this
+ });
+ },
+ beforeDestroy: function beforeDestroy() {
+ this.$dispatch('RadioGroup', 'uni-radio-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 || this.radioChecked) {
+ return;
+ }
+
+ this.radioChecked = true;
+ this.$dispatch('RadioGroup', 'uni-radio-change', $event, this);
+ },
+ _resetFormData: function _resetFormData() {
+ this.radioChecked = this.min;
+ }
+ }
+});
+// 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__(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/radio/index.vue
+
+
+
+
+
+
+/* normalize component */
+
+var component = Object(componentNormalizer["a" /* default */])(
+ components_radiovue_type_script_lang_js_,
+ render,
+ staticRenderFns,
+ false,
+ null,
+ null,
+ null
+
+)
+
+/* hot reload */
+if (false) { var api; }
+component.options.__file = "src/core/view/components/radio/index.vue"
+/* harmony default export */ var components_radio = __webpack_exports__["default"] = (component.exports);
+
+/***/ }),
+/* 96 */
+/***/ (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":"70784d34-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-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"
+ }
+ },
+ [_c("div", { ref: "content" }, [_vm._t("default")], 2)]
+ )
+ ])
+ ])
+}
+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/index.js + 1 modules
-var mixins = __webpack_require__(1);
+// EXTERNAL MODULE: ./src/core/view/mixins/scroller/index.js + 2 modules
+var scroller = __webpack_require__(43);
-// 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&
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
+// EXTERNAL MODULE: ./src/shared/index.js + 4 modules
+var shared = __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&
//
//
//
@@ -16761,246 +16918,400 @@ 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'
- },
+
+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: {
- name: {
- type: String,
- default: ''
- },
- value: {
- type: [String, Number],
- default: ''
- },
- type: {
- type: String,
- default: 'text'
+ scrollX: {
+ type: [Boolean, String],
+ default: false
},
- password: {
+ scrollY: {
type: [Boolean, String],
default: false
},
- placeholder: {
- type: String,
- default: ''
+ upperThreshold: {
+ type: [Number, String],
+ default: 50
},
- placeholderStyle: {
- type: String,
- default: ''
+ lowerThreshold: {
+ type: [Number, String],
+ default: 50
},
- placeholderClass: {
+ scrollTop: {
+ type: [Number, String],
+ default: 0
+ },
+ scrollLeft: {
+ type: [Number, String],
+ default: 0
+ },
+ scrollIntoView: {
type: String,
default: ''
},
- disabled: {
+ scrollWithAnimation: {
type: [Boolean, String],
default: false
},
- maxlength: {
- type: [Number, String],
- default: 140
- },
- focus: {
+ enableBackToTop: {
type: [Boolean, String],
default: false
- },
- confirmType: {
- type: String,
- default: 'done'
}
},
data: function data() {
return {
- inputValue: this.value + '',
- composing: false,
- wrapperHeight: 0,
- cachedValue: ''
+ lastScrollTop: this.scrollTopNumber,
+ lastScrollLeft: this.scrollLeftNumber,
+ lastScrollToUpperTime: 0,
+ lastScrollToLowerTime: 0
};
},
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;
+ upperThresholdNumber: function upperThresholdNumber() {
+ var val = Number(this.upperThreshold);
+ return isNaN(val) ? 50 : val;
},
- step: function step() {
- // 处理部分设备中无法输入小数点的问题
- return ~NUMBER_TYPES.indexOf(this.type) ? '0.000000000000000001' : '';
+ 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: {
- focus: function focus(value) {
- value && this._focusInput();
- },
- value: function value(_value) {
- this.inputValue = _value + '';
+ scrollTopNumber: function scrollTopNumber(val) {
+ this._scrollTopChanged(val);
},
- inputValue: function inputValue(value) {
- this.$emit('update:value', value);
+ scrollLeftNumber: function scrollLeftNumber(val) {
+ this._scrollLeftChanged(val);
},
- maxlength: function maxlength(value) {
- var realValue = this.inputValue.slice(0, parseInt(value, 10));
- realValue !== this.inputValue && (this.inputValue = realValue);
+ scrollIntoView: function scrollIntoView(val) {
+ this._scrollIntoViewChanged(val);
}
},
- created: function created() {
- this.$dispatch('Form', 'uni-form-group-update', {
- type: 'add',
- vm: this
- });
- },
mounted: function mounted() {
- if (this.confirmType === 'search') {
- var formElem = document.createElement('form');
- formElem.action = '';
+ var self = this;
+ this._attached = true;
- formElem.onsubmit = function () {
- return false;
- };
+ this._scrollTopChanged(this.scrollTopNumber);
- formElem.className = 'uni-input-form';
- formElem.appendChild(this.$refs.input);
- this.$refs.wrapper.appendChild(formElem);
- }
+ this._scrollLeftChanged(this.scrollLeftNumber);
- var $vm = this;
+ this._scrollIntoViewChanged(this.scrollIntoView);
- while ($vm) {
- var scopeId = $vm.$options._scopeId;
+ this.__handleScroll = function (e) {
+ event.preventDefault();
+ event.stopPropagation();
- if (scopeId) {
- this.$refs.placeholder.setAttribute(scopeId, '');
+ 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;
+ }
+ }
}
- $vm = $vm.$parent;
- }
+ if (needStop) {
+ event.stopPropagation();
+ }
+ };
- this.focus && this._focusInput();
+ 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);
+ },
+ 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('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: {
- _onKeyup: function _onKeyup($event) {
- if ($event.keyCode === 13) {
- this.$trigger('confirm', $event, {
- value: $event.target.value
- });
+ 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';
+ }
+
+ this.$refs.content.style.transform = o;
+ this.$refs.content.style.webkitTransform = o;
}
},
- _onInput: function _onInput($event) {
- if (this.composing) {
+ _handleTrack: function _handleTrack($event) {
+ if ($event.detail.state === 'start') {
+ this._x = $event.detail.x;
+ this._y = $event.detail.y;
+ this._noBubble = null;
return;
- } // 处理部分输入法可以输入其它字符的情况
+ }
+ if ($event.detail.state === 'end') {
+ this._noBubble = false;
+ }
- 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 事件
+ 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._x = $event.detail.x;
+ this._y = $event.detail.y;
+
+ 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;
+ }
+
+ 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;
+ }
+ }
+
+ 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 {
- this.cachedValue = this.inputValue;
+ 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;
}
- } // type="number" 不支持 maxlength 属性,因此需要主动限制长度。
+ var element = this.$el.querySelector('#' + val);
- if (this.inputType === 'number') {
- var maxlength = parseInt(this.maxlength, 10);
+ if (element) {
+ var mainRect = this.$refs.main.getBoundingClientRect();
+ var elRect = element.getBoundingClientRect();
- 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.scrollX) {
+ var left = elRect.left - mainRect.left;
+ var scrollLeft = this.$refs.main.scrollLeft;
+ var x = scrollLeft + left;
- return;
- }
- }
+ if (this.scrollWithAnimation) {
+ this.scrollTo(x, 'x');
+ } else {
+ this.$refs.main.scrollLeft = x;
+ }
+ }
- 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;
+ if (this.scrollY) {
+ var top = elRect.top - mainRect.top;
+ var scrollTop = this.$refs.main.scrollTop;
+ var y = scrollTop + top;
- setTimeout(function () {
- _this.$refs.input.focus();
- }, 350);
+ if (this.scrollWithAnimation) {
+ this.scrollTo(y, 'y');
+ } else {
+ this.$refs.main.scrollTop = y;
+ }
+ }
+ }
+ }
},
- _blurInput: function _blurInput() {
- var _this2 = this;
+ _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;
- setTimeout(function () {
- _this2.$refs.input.blur();
- }, 350);
- },
- _onComposition: function _onComposition($event) {
- if ($event.type === 'compositionstart') {
- this.composing = true;
- } else {
- this.composing = false;
+ 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);
},
- _resetFormData: function _resetFormData() {
- this.inputValue = '';
- },
- _getFormData: function _getFormData() {
- return this.name ? {
- value: this.inputValue,
- key: this.name
- } : {};
+ getScrollPosition: function getScrollPosition() {
+ var main = this.$refs.main;
+ return {
+ scrollLeft: main.scrollLeft,
+ scrollTop: main.scrollTop
+ };
}
}
});
-// 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__(73);
+// 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__(81);
// 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/scroll-view/index.vue
@@ -17010,7 +17321,7 @@ var componentNormalizer = __webpack_require__(0);
/* normalize component */
var component = Object(componentNormalizer["a" /* default */])(
- components_inputvue_type_script_lang_js_,
+ components_scroll_viewvue_type_script_lang_js_,
render,
staticRenderFns,
false,
@@ -17022,11 +17333,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/scroll-view/index.vue"
+/* harmony default export */ var scroll_view = __webpack_exports__["default"] = (component.exports);
/***/ }),
-/* 98 */
+/* 97 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
@@ -17101,15 +17412,152 @@ var hover = __webpack_require__(12);
'label-click': 'clickHandler'
}
});
-// 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__(91);
+// 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__(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/view/index.vue
+
+
+
+
+
+
+/* normalize component */
+
+var component = Object(componentNormalizer["a" /* default */])(
+ components_viewvue_type_script_lang_js_,
+ render,
+ staticRenderFns,
+ false,
+ null,
+ null,
+ null
+
+)
+
+/* 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);
+
+/***/ }),
+/* 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":"70784d34-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
+
+
+// CONCATENATED MODULE: ./src/core/view/components/checkbox-group/index.vue?vue&type=template&id=37cde58e&
+
+// EXTERNAL MODULE: ./src/core/view/mixins/index.js + 1 modules
+var mixins = __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/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);
+ }
+ },
+ _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;
+ }
+
+ return data;
+ }
+ }
+});
+// 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__(67);
// 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-group/index.vue
@@ -17119,7 +17567,7 @@ var componentNormalizer = __webpack_require__(0);
/* normalize component */
var component = Object(componentNormalizer["a" /* default */])(
- components_viewvue_type_script_lang_js_,
+ components_checkbox_groupvue_type_script_lang_js_,
render,
staticRenderFns,
false,
@@ -17131,8 +17579,8 @@ 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-group/index.vue"
+/* harmony default export */ var checkbox_group = __webpack_exports__["default"] = (component.exports);
/***/ }),
/* 99 */
@@ -17259,7 +17707,7 @@ render._withStripped = true
// CONCATENATED MODULE: ./src/core/view/components/textarea/index.vue?vue&type=template&id=33f82dda&
// EXTERNAL MODULE: ./src/core/view/mixins/index.js + 1 modules
-var mixins = __webpack_require__(1);
+var mixins = __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/textarea/index.vue?vue&type=script&lang=js&
//
@@ -17439,267 +17887,29 @@ var mixins = __webpack_require__(1);
this._checkSelection();
- this._checkCursor();
- },
- cursorNumber: function cursorNumber() {
- this._checkCursor();
- },
- selectionStartNumber: function selectionStartNumber() {
- this._checkSelection();
- },
- selectionEndNumber: function selectionEndNumber() {
- this._checkSelection();
- },
- height: function height(_height) {
- var lineHeight = getComputedStyle(this.$el).lineHeight.replace('px', '');
- var lineCount = Math.round(_height / lineHeight);
- this.$trigger('linechange', {}, {
- height: _height,
- heightRpx: 750 / window.innerWidth * _height,
- lineCount: lineCount
- });
-
- if (this.autoHeight) {
- this.$el.style.height = this.height + 'px';
- }
- }
- },
- created: function created() {
- this.$dispatch('Form', 'uni-form-group-update', {
- type: 'add',
- vm: this
- });
- },
- mounted: function mounted() {
- this._oldValue = this.$refs.textarea.value = this.valueSync;
-
- this._resize({
- height: this.$refs.sensor.$el.offsetHeight
- });
- },
- beforeDestroy: function beforeDestroy() {
- this.$dispatch('Form', 'uni-form-group-update', {
- type: 'remove',
- vm: this
- });
- },
- methods: {
- _focus: function _focus($event) {
- this.focusSync = true;
- this.$trigger('focus', $event, {
- value: this.valueSync
- });
- },
- _checkSelection: function _checkSelection() {
- if (this.focusSync && !this.focusChangeSource && this.selectionStartNumber > -1 && this.selectionEndNumber > -1) {
- this.$refs.textarea.selectionStart = this.selectionStartNumber;
- this.$refs.textarea.selectionEnd = this.selectionEndNumber;
- }
- },
- _checkCursor: function _checkCursor() {
- if (this.focusSync && (this.focusChangeSource === 'focus' || !this.focusChangeSource && this.selectionStartNumber < 0 && this.selectionEndNumber < 0) && this.cursorNumber > -1) {
- this.$refs.textarea.selectionEnd = this.$refs.textarea.selectionStart = this.cursorNumber;
- }
- },
- _blur: function _blur($event) {
- this.focusSync = false;
- this.$trigger('blur', $event, {
- value: this.valueSync,
- cursor: this.$refs.textarea.selectionEnd
- });
- },
- _compositionstart: function _compositionstart($event) {
- this.composition = true;
- },
- _compositionend: function _compositionend($event) {
- this.composition = false;
- },
- // 暂无完成按钮,此功能未实现
- _confirm: function _confirm($event) {
- this.$trigger('confirm', $event, {
- value: this.valueSync
- });
- },
- _linechange: function _linechange($event) {
- this.$trigger('linechange', $event, {
- value: this.valueSync
- });
- },
- _touchstart: function _touchstart() {
- this.focusChangeSource = 'touch';
- },
- _resize: function _resize(_ref) {
- var height = _ref.height;
- this.height = height;
- },
- _input: function _input($event) {
- if (this.composition) {
- this.valueComposition = $event.target.value;
- }
- },
- _getFormData: function _getFormData() {
- return {
- value: this.valueSync,
- key: this.name
- };
- },
- _resetFormData: function _resetFormData() {
- this.valueSync = '';
- },
- _checkEmpty: function _checkEmpty(str) {
- return str || false;
- }
- }
-});
-// 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__(90);
-
-// 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);
-
-/***/ }),
-/* 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":"70784d34-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
-
-
-// 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/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'
+ this._checkCursor();
},
- id: {
- type: String,
- default: ''
+ cursorNumber: function cursorNumber() {
+ this._checkCursor();
},
- disabled: {
- type: [Boolean, String],
- default: false
+ selectionStartNumber: function selectionStartNumber() {
+ this._checkSelection();
},
- color: {
- type: String,
- default: '#007aff'
- }
- },
- data: function data() {
- return {
- switchChecked: this.checked
- };
- },
- watch: {
- checked: function checked(val) {
- this.switchChecked = val;
+ selectionEndNumber: function selectionEndNumber() {
+ this._checkSelection();
+ },
+ height: function height(_height) {
+ var lineHeight = getComputedStyle(this.$el).lineHeight.replace('px', '');
+ var lineCount = Math.round(_height / lineHeight);
+ this.$trigger('linechange', {}, {
+ height: _height,
+ heightRpx: 750 / window.innerWidth * _height,
+ lineCount: lineCount
+ });
+
+ if (this.autoHeight) {
+ this.$el.style.height = this.height + 'px';
+ }
}
},
created: function created() {
@@ -17708,238 +17918,96 @@ var mixins = __webpack_require__(1);
vm: this
});
},
+ mounted: function mounted() {
+ this._oldValue = this.$refs.textarea.value = this.valueSync;
+
+ this._resize({
+ height: this.$refs.sensor.$el.offsetHeight
+ });
+ },
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;
- }
-
- this.switchChecked = !this.switchChecked;
- this.$trigger('change', $event, {
- value: this.switchChecked
+ _focus: function _focus($event) {
+ this.focusSync = true;
+ this.$trigger('focus', $event, {
+ value: this.valueSync
});
},
- _resetFormData: function _resetFormData() {
- this.switchChecked = false;
+ _checkSelection: function _checkSelection() {
+ if (this.focusSync && !this.focusChangeSource && this.selectionStartNumber > -1 && this.selectionEndNumber > -1) {
+ this.$refs.textarea.selectionStart = this.selectionStartNumber;
+ this.$refs.textarea.selectionEnd = this.selectionEndNumber;
+ }
},
- _getFormData: function _getFormData() {
- var data = {};
-
- if (this.name !== '') {
- data['value'] = this.switchChecked;
- data['key'] = this.name;
+ _checkCursor: function _checkCursor() {
+ if (this.focusSync && (this.focusChangeSource === 'focus' || !this.focusChangeSource && this.selectionStartNumber < 0 && this.selectionEndNumber < 0) && this.cursorNumber > -1) {
+ this.$refs.textarea.selectionEnd = this.$refs.textarea.selectionStart = this.cursorNumber;
}
-
- 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__(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/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);
-
-/***/ }),
-/* 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":"70784d34-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-swiper-item",
- _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: ./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 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();
+ },
+ _blur: function _blur($event) {
+ this.focusSync = false;
+ this.$trigger('blur', $event, {
+ value: this.valueSync,
+ cursor: this.$refs.textarea.selectionEnd
+ });
+ },
+ _compositionstart: function _compositionstart($event) {
+ this.composition = true;
+ },
+ _compositionend: function _compositionend($event) {
+ this.composition = false;
+ },
+ // 暂无完成按钮,此功能未实现
+ _confirm: function _confirm($event) {
+ this.$trigger('confirm', $event, {
+ value: this.valueSync
});
- }
- }
-});
-// 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__(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/swiper-item/index.vue
-
-
-
-
-
-
-/* normalize component */
-
-var component = Object(componentNormalizer["a" /* default */])(
- components_swiper_itemvue_type_script_lang_js_,
- render,
- staticRenderFns,
- false,
- null,
- null,
- null
-
-)
-
-/* 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);
-
-/***/ }),
-/* 102 */
-/***/ (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":"70784d34-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/icon/index.vue?vue&type=template&id=6c7a7a92&
-var render = function() {
- var _vm = this
- var _h = _vm.$createElement
- var _c = _vm._self._c || _h
- return _c("uni-icon", [
- _c("i", {
- class: "uni-icon-" + _vm.type,
- style: { "font-size": _vm._converPx(_vm.size), color: _vm.color },
- attrs: { role: "img" }
- })
- ])
-}
-var staticRenderFns = []
-render._withStripped = true
-
-
-// CONCATENATED MODULE: ./src/core/view/components/icon/index.vue?vue&type=template&id=6c7a7a92&
-
-// 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/icon/index.vue?vue&type=script&lang=js&
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-/* harmony default export */ var iconvue_type_script_lang_js_ = ({
- name: 'Icon',
- props: {
- type: {
- type: String,
- required: true,
- default: ''
},
- size: {
- type: [String, Number],
- default: 23
+ _linechange: function _linechange($event) {
+ this.$trigger('linechange', $event, {
+ value: this.valueSync
+ });
},
- color: {
- type: String,
- default: ''
- }
- },
- methods: {
- _converPx: 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");
+ _touchstart: function _touchstart() {
+ this.focusChangeSource = 'touch';
+ },
+ _resize: function _resize(_ref) {
+ var height = _ref.height;
+ this.height = height;
+ },
+ _input: function _input($event) {
+ if (this.composition) {
+ this.valueComposition = $event.target.value;
}
-
- return value || '';
+ },
+ _getFormData: function _getFormData() {
+ return {
+ value: this.valueSync,
+ key: this.name
+ };
+ },
+ _resetFormData: function _resetFormData() {
+ this.valueSync = '';
+ },
+ _checkEmpty: function _checkEmpty(str) {
+ return str || false;
}
}
});
-// 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__(71);
+// 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__(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/icon/index.vue
+// CONCATENATED MODULE: ./src/core/view/components/textarea/index.vue
@@ -17949,7 +18017,7 @@ var componentNormalizer = __webpack_require__(0);
/* normalize component */
var component = Object(componentNormalizer["a" /* default */])(
- components_iconvue_type_script_lang_js_,
+ components_textareavue_type_script_lang_js_,
render,
staticRenderFns,
false,
@@ -17961,18 +18029,18 @@ var component = Object(componentNormalizer["a" /* default */])(
/* hot reload */
if (false) { var api; }
-component.options.__file = "src/core/view/components/icon/index.vue"
-/* harmony default export */ var icon = __webpack_exports__["default"] = (component.exports);
+component.options.__file = "src/core/view/components/textarea/index.vue"
+/* harmony default export */ var components_textarea = __webpack_exports__["default"] = (component.exports);
/***/ }),
-/* 103 */
+/* 100 */
/***/ (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__(8);
+var view_runtime_esm = __webpack_require__(6);
// CONCATENATED MODULE: ./src/core/helpers/get-real-route.js
function getRealRoute(fromRoute, toRoute) {
@@ -17996,653 +18064,280 @@ function getRealRoute(fromRoute, 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:.*,.*/;
-
-function addBase(filePath) {
- return filePath;
-}
-
-function getRealPath(filePath) {
- if (filePath.indexOf('/') === 0) {
- if (filePath.indexOf('//') === 0) {
- filePath = 'https:' + filePath;
- } else {
- return addBase(filePath.substr(1));
- }
- } // 网络资源或base64
-
-
- if (SCHEME_RE.test(filePath) || DATA_RE.test(filePath) || filePath.indexOf('blob:') === 0) {
- return filePath;
- }
-
- var pages = getCurrentPages();
-
- if (pages.length) {
- return addBase(getRealRoute(pages[pages.length - 1].$page.route, filePath).substr(1));
- }
-
- return filePath;
-}
-// EXTERNAL MODULE: ./src/core/view/plugins/events.js + 1 modules
-var events = __webpack_require__(10);
-
-// CONCATENATED MODULE: ./src/core/view/mixins/base.js
-
-
-/* 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(); }
-
-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 (animateTypes2.indexOf(type)) {
- args.length = 1;
- }
-
- 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;
-}
-
-function startAnimation(context) {
- var animation = context.animation;
-
- 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
-
-
-
-var requireComponents = [// baseComponents
-__webpack_require__(66), __webpack_require__(92)];
-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);
- });
-});
+ if (toRoute.indexOf('./') === 0) {
+ return getRealRoute(fromRoute, toRoute.substr(2));
+ }
-/***/ }),
-/* 104 */
-/***/ (function(module, __webpack_exports__, __webpack_require__) {
+ var toRouteArray = toRoute.split('/');
+ var toRouteLength = toRouteArray.length;
+ var i = 0;
-"use strict";
-__webpack_require__.r(__webpack_exports__);
+ for (; i < toRouteLength && toRouteArray[i] === '..'; i++) {// noop
+ }
-// CONCATENATED MODULE: ./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"70784d34-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-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"
- }
- },
- [_c("div", { ref: "content" }, [_vm._t("default")], 2)]
- )
- ])
- ])
+ 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('/');
}
-var staticRenderFns = []
-render._withStripped = true
+// CONCATENATED MODULE: ./src/platforms/app-plus/helpers/get-real-path.js
+var SCHEME_RE = /^([a-z-]+:)?\/\//i;
+var DATA_RE = /^data:.*,.*/;
-// CONCATENATED MODULE: ./src/core/view/components/scroll-view/index.vue?vue&type=template&id=e9d562fc&
+function addBase(filePath) {
+ return filePath;
+}
-// EXTERNAL MODULE: ./src/core/view/mixins/scroller/index.js + 2 modules
-var scroller = __webpack_require__(45);
+function getRealPath(filePath) {
+ if (filePath.indexOf('/') === 0) {
+ if (filePath.indexOf('//') === 0) {
+ filePath = 'https:' + filePath;
+ } else {
+ return addBase(filePath.substr(1));
+ }
+ } // 网络资源或base64
-// 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&
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
+ if (SCHEME_RE.test(filePath) || DATA_RE.test(filePath) || filePath.indexOf('blob:') === 0) {
+ return filePath;
+ }
+ var pages = getCurrentPages();
-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: {
- scrollX: {
- type: [Boolean, String],
- default: false
- },
- scrollY: {
- type: [Boolean, String],
- default: false
- },
- upperThreshold: {
- type: [Number, String],
- default: 50
- },
- 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 {
- 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: {
- scrollTopNumber: function scrollTopNumber(val) {
- this._scrollTopChanged(val);
- },
- scrollLeftNumber: function scrollLeftNumber(val) {
- this._scrollLeftChanged(val);
- },
- scrollIntoView: function scrollIntoView(val) {
- this._scrollIntoViewChanged(val);
- }
- },
- mounted: function mounted() {
- var self = this;
- this._attached = true;
+ if (pages.length) {
+ return addBase(getRealRoute(pages[pages.length - 1].$page.route, filePath).substr(1));
+ }
- this._scrollTopChanged(this.scrollTopNumber);
+ return filePath;
+}
+// EXTERNAL MODULE: ./src/core/view/plugins/events.js + 1 modules
+var events = __webpack_require__(10);
- this._scrollLeftChanged(this.scrollLeftNumber);
+// CONCATENATED MODULE: ./src/core/view/mixins/base.js
- this._scrollIntoViewChanged(this.scrollIntoView);
- this.__handleScroll = function (e) {
- event.preventDefault();
- event.stopPropagation();
+/* 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(); }
- self._handleScroll.bind(self, event)();
- };
+function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); }
- var touchStart = null;
- var needStop = null;
+function _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); }
- this.__handleTouchMove = function (event) {
- var x = event.touches[0].pageX;
- var y = event.touches[0].pageY;
- var main = self.$refs.main;
+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; } }
- 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;
- }
+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");
+ }
- 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;
- }
+ return value || '';
+}
- needStop = true;
- } else {
- needStop = false;
- }
- }
- }
+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;
- if (needStop) {
- event.stopPropagation();
- }
- };
+ var args = _toConsumableArray(animate.args);
- this.__handleTouchStart = function (event) {
- if (event.touches.length === 1) {
- needStop = null;
- touchStart = {
- x: event.touches[0].pageX,
- y: event.touches[0].pageY
- };
+ 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.$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);
- },
- 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);
- },
- 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);
- if (r !== 0) {
- this.$refs.content.style.transition = 'transform .3s ease-out';
- this.$refs.content.style.webkitTransition = '-webkit-transform .3s ease-out';
+ if (animateTypes2.indexOf(type)) {
+ args.length = 1;
+ }
- if (n === 'x') {
- o = 'translateX(' + r + 'px) translateZ(0)';
- } else {
- n === 'y' && (o = 'translateY(' + r + 'px) translateZ(0)');
- }
+ 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;
+}
- 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);
+function startAnimation(context) {
+ var animation = context.animation;
- if (n === 'x') {
- // if (e !== 'ios') {
- i.style.overflowX = 'hidden'; // }
- } else if (n === 'y') {
- i.style.overflowY = 'hidden';
- }
+ if (!animation || !animation.actions || !animation.actions.length) {
+ return;
+ }
- 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 index = 0;
+ var actions = animation.actions;
+ var length = animation.actions.length;
- if ($event.detail.state === 'end') {
- this._noBubble = false;
- }
+ 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 (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;
- }
- }
+ if (index < length) {
+ setTimeout(animate, transition.duration + transition.delay);
+ }
+ }
- 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;
- }
- }
+ animate();
+}
- this._x = $event.detail.x;
- this._y = $event.detail.y;
+/* 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
- 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;
- }
- 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;
- }
- }
+var requireComponents = [// baseComponents
+__webpack_require__(64), __webpack_require__(89)];
+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; // 全局注册组件
- 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;
- }
+ view_runtime_esm["a" /* default */].component(componentConfig.name, componentConfig);
+ });
+});
- 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;
- }
- }
+/***/ }),
+/* 101 */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
- 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;
- }
+"use strict";
+__webpack_require__.r(__webpack_exports__);
- var element = this.$el.querySelector('#' + val);
+// CONCATENATED MODULE: ./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"70784d34-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
- 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;
+// CONCATENATED MODULE: ./src/core/view/components/form/index.vue?vue&type=template&id=7735a91d&
- if (this.scrollWithAnimation) {
- this.scrollTo(x, 'x');
- } else {
- this.$refs.main.scrollLeft = x;
- }
- }
+// EXTERNAL MODULE: ./src/core/view/mixins/index.js + 1 modules
+var mixins = __webpack_require__(2);
- if (this.scrollY) {
- var top = elRect.top - mainRect.top;
- var scrollTop = this.$refs.main.scrollTop;
- var y = scrollTop + top;
+// 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&
+//
+//
+//
+//
+//
+//
+//
- if (this.scrollWithAnimation) {
- this.scrollTo(y, 'y');
- } else {
- this.$refs.main.scrollTop = y;
- }
- }
+/* 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
+ });
},
- _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;
-
- 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);
+ _onReset: function _onReset($event) {
+ this.$trigger('reset', $event, {});
+ this.childrenList.forEach(function (vm) {
+ vm._resetFormData && vm._resetFormData();
+ });
},
- getScrollPosition: function getScrollPosition() {
- var main = this.$refs.main;
- return {
- scrollLeft: main.scrollLeft,
- scrollTop: main.scrollTop
- };
+ _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/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__(84);
-
+// 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/scroll-view/index.vue
-
+// CONCATENATED MODULE: ./src/core/view/components/form/index.vue
@@ -18651,7 +18346,7 @@ var componentNormalizer = __webpack_require__(0);
/* normalize component */
var component = Object(componentNormalizer["a" /* default */])(
- components_scroll_viewvue_type_script_lang_js_,
+ components_formvue_type_script_lang_js_,
render,
staticRenderFns,
false,
@@ -18663,54 +18358,36 @@ 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/form/index.vue"
+/* harmony default export */ var components_form = __webpack_exports__["default"] = (component.exports);
/***/ }),
-/* 105 */
+/* 102 */
/***/ (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":"70784d34-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/index.vue?vue&type=template&id=4b562a50&
+// CONCATENATED MODULE: ./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"70784d34-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/icon/index.vue?vue&type=template&id=6c7a7a92&
var render = function() {
var _vm = this
var _h = _vm.$createElement
var _c = _vm._self._c || _h
- return _c(
- "uni-radio",
- _vm._g({ on: { click: _vm._onClick } }, _vm.$listeners),
- [
- _c(
- "div",
- { staticClass: "uni-radio-wrapper" },
- [
- _c("div", {
- staticClass: "uni-radio-input",
- class: _vm.radioChecked ? "uni-radio-input-checked" : "",
- style: _vm.radioChecked ? _vm.checkedStyle : ""
- }),
- _vm._t("default")
- ],
- 2
- )
- ]
- )
+ return _c("uni-icon", [
+ _c("i", {
+ class: "uni-icon-" + _vm.type,
+ style: { "font-size": _vm._converPx(_vm.size), color: _vm.color },
+ attrs: { role: "img" }
+ })
+ ])
}
var staticRenderFns = []
render._withStripped = true
-// CONCATENATED MODULE: ./src/core/view/components/radio/index.vue?vue&type=template&id=4b562a50&
-
-// EXTERNAL MODULE: ./src/core/view/mixins/index.js + 1 modules
-var mixins = __webpack_require__(1);
+// CONCATENATED MODULE: ./src/core/view/components/icon/index.vue?vue&type=template&id=6c7a7a92&
-// 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/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/icon/index.vue?vue&type=script&lang=js&
//
//
//
@@ -18721,98 +18398,46 @@ var mixins = __webpack_require__(1);
//
//
//
-
-/* harmony default export */ var radiovue_type_script_lang_js_ = ({
- name: 'Radio',
- mixins: [mixins["a" /* emitter */], mixins["c" /* listeners */]],
+/* harmony default export */ var iconvue_type_script_lang_js_ = ({
+ name: 'Icon',
props: {
- checked: {
- type: [Boolean, String],
- default: false
- },
- id: {
+ type: {
type: String,
+ required: true,
default: ''
},
- disabled: {
- type: [Boolean, String],
- default: false
+ size: {
+ type: [String, Number],
+ default: 23
},
color: {
- type: String,
- default: '#007AFF'
- },
- value: {
type: String,
default: ''
}
},
- data: function data() {
- return {
- radioChecked: this.checked,
- radioValue: this.value
- };
- },
- computed: {
- checkedStyle: function checkedStyle() {
- return "background-color: ".concat(this.color, ";border-color: ").concat(this.color, ";");
- }
- },
- watch: {
- checked: function checked(val) {
- this.radioChecked = val;
- },
- value: function value(val) {
- this.radioValue = val;
- }
- },
- listeners: {
- 'label-click': '_onClick',
- '@label-click': '_onClick'
- },
- created: function created() {
- this.$dispatch('RadioGroup', 'uni-radio-group-update', {
- type: 'add',
- vm: this
- });
- this.$dispatch('Form', 'uni-form-group-update', {
- type: 'add',
- vm: this
- });
- },
- beforeDestroy: function beforeDestroy() {
- this.$dispatch('RadioGroup', 'uni-radio-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 || this.radioChecked) {
- return;
+ _converPx: 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");
}
- this.radioChecked = true;
- this.$dispatch('RadioGroup', 'uni-radio-change', $event, this);
- },
- _resetFormData: function _resetFormData() {
- this.radioChecked = this.min;
+ return value || '';
}
}
});
-// 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__(82);
+// 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__(69);
// 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/index.vue
+// CONCATENATED MODULE: ./src/core/view/components/icon/index.vue
@@ -18822,7 +18447,7 @@ var componentNormalizer = __webpack_require__(0);
/* normalize component */
var component = Object(componentNormalizer["a" /* default */])(
- components_radiovue_type_script_lang_js_,
+ components_iconvue_type_script_lang_js_,
render,
staticRenderFns,
false,
@@ -18834,38 +18459,68 @@ var component = Object(componentNormalizer["a" /* default */])(
/* hot reload */
if (false) { var api; }
-component.options.__file = "src/core/view/components/radio/index.vue"
-/* harmony default export */ var components_radio = __webpack_exports__["default"] = (component.exports);
+component.options.__file = "src/core/view/components/icon/index.vue"
+/* harmony default export */ var icon = __webpack_exports__["default"] = (component.exports);
/***/ }),
-/* 106 */
+/* 103 */
/***/ (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":"70784d34-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":"70784d34-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 _c(
- "uni-checkbox-group",
- _vm._g({}, _vm.$listeners),
- [_vm._t("default")],
- 2
- )
+ 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/checkbox-group/index.vue?vue&type=template&id=37cde58e&
+// 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);
+var mixins = __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/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/navigator/index.vue?vue&type=script&lang=js&
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
//
//
//
@@ -18873,83 +18528,92 @@ var mixins = __webpack_require__(1);
//
//
-/* harmony default export */ var checkbox_groupvue_type_script_lang_js_ = ({
- name: 'CheckboxGroup',
- mixins: [mixins["a" /* emitter */], mixins["c" /* listeners */]],
+var OPEN_TYPES = ['navigate', 'redirect', 'switchTab', 'reLaunch', 'navigateBack'];
+/* harmony default export */ var navigatorvue_type_script_lang_js_ = ({
+ name: 'Navigator',
+ mixins: [mixins["b" /* hover */]],
props: {
- name: {
+ hoverClass: {
+ type: String,
+ default: 'navigator-hover'
+ },
+ url: {
type: String,
default: ''
+ },
+ openType: {
+ type: String,
+ default: 'navigate',
+ validator: function validator(value) {
+ return ~OPEN_TYPES.indexOf(value);
+ }
+ },
+ delta: {
+ type: Number,
+ default: 1
+ },
+ hoverStartTime: {
+ type: Number,
+ default: 20
+ },
+ hoverStayTime: {
+ type: Number,
+ default: 600
}
},
- 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);
+ _onClick: function _onClick($event) {
+ if (this.openType !== 'navigateBack' && !this.url) {
+ console.error(" should have url attribute when using navigateTo, redirectTo, reLaunch or switchTab");
+ return;
}
- },
- _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;
- }
+ switch (this.openType) {
+ case 'navigate':
+ uni.navigateTo({
+ url: this.url
+ });
+ break;
- return data;
+ 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__(69);
+// 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__(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/checkbox-group/index.vue
+// CONCATENATED MODULE: ./src/core/view/components/navigator/index.vue
@@ -18959,7 +18623,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,
@@ -18971,38 +18635,232 @@ 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);
/***/ }),
-/* 107 */
+/* 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":"70784d34-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":"70784d34-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-radio-group",
- _vm._g({}, _vm.$listeners),
- [_vm._t("default")],
- 2
+ "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)
+ }
+ }
+ })
+ ])
+ ]
)
}
var staticRenderFns = []
render._withStripped = true
-// CONCATENATED MODULE: ./src/core/view/components/radio-group/index.vue?vue&type=template&id=17be8d0a&
+// CONCATENATED MODULE: ./src/core/view/components/input/index.vue?vue&type=template&id=c65e1032&
// EXTERNAL MODULE: ./src/core/view/mixins/index.js + 1 modules
-var mixins = __webpack_require__(1);
+var mixins = __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/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/input/index.vue?vue&type=script&lang=js&
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
//
//
//
@@ -19010,26 +18868,113 @@ var mixins = __webpack_require__(1);
//
//
-/* harmony default export */ var radio_groupvue_type_script_lang_js_ = ({
- name: 'RadioGroup',
- mixins: [mixins["a" /* emitter */], mixins["c" /* listeners */]],
+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: {
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 {
- radioList: []
+ inputValue: this.value + '',
+ composing: false,
+ wrapperHeight: 0,
+ cachedValue: ''
};
},
- listeners: {
- '@radio-change': '_changeHandler',
- '@radio-group-update': '_radioGroupUpdateHandler'
+ 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' : '';
+ }
},
- mounted: function mounted() {
- this._resetRadioGroupValue(this.radioList.length - 1);
+ 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);
+ }
},
created: function created() {
this.$dispatch('Form', 'uni-form-group-update', {
@@ -19037,6 +18982,34 @@ var mixins = __webpack_require__(1);
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',
@@ -19044,73 +19017,97 @@ var mixins = __webpack_require__(1);
});
},
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);
+ _onKeyup: function _onKeyup($event) {
+ if ($event.keyCode === 13) {
+ this.$trigger('confirm', $event, {
+ value: $event.target.value
+ });
}
},
- _resetRadioGroupValue: function _resetRadioGroupValue(key, change) {
- var _this = this;
+ _onInput: function _onInput($event) {
+ if (this.composing) {
+ return;
+ } // 处理部分输入法可以输入其它字符的情况
+
+
+ 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 事件
- this.radioList.forEach(function (value, index) {
- if (index === key) {
return;
+ } else {
+ this.cachedValue = this.inputValue;
}
+ } // type="number" 不支持 maxlength 属性,因此需要主动限制长度。
- 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;
- }
- });
+ 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 事件
+
+ return;
}
+ }
+
+ this.$trigger('input', $event, {
+ value: this.inputValue
});
},
- _getFormData: function _getFormData() {
- var data = {};
+ _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;
- if (this.name !== '') {
- var value = '';
- this.radioList.forEach(function (vm) {
- if (vm.radioChecked) {
- value = vm.value;
- }
- });
- data['value'] = value;
- data['key'] = this.name;
- }
+ setTimeout(function () {
+ _this.$refs.input.focus();
+ }, 350);
+ },
+ _blurInput: function _blurInput() {
+ var _this2 = this;
- return data;
+ 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/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__(81);
+// 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__(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/radio-group/index.vue
+// CONCATENATED MODULE: ./src/core/view/components/input/index.vue
@@ -19120,7 +19117,7 @@ var componentNormalizer = __webpack_require__(0);
/* normalize component */
var component = Object(componentNormalizer["a" /* default */])(
- components_radio_groupvue_type_script_lang_js_,
+ components_inputvue_type_script_lang_js_,
render,
staticRenderFns,
false,
@@ -19132,39 +19129,25 @@ 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/input/index.vue"
+/* harmony default export */ var input = __webpack_exports__["default"] = (component.exports);
/***/ }),
-/* 108 */
+/* 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":"70784d34-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":"70784d34-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-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()
- ],
+ "uni-swiper-item",
+ _vm._g({}, _vm.$listeners),
+ [_vm._t("default")],
2
)
}
@@ -19172,143 +19155,45 @@ var staticRenderFns = []
render._withStripped = true
-// 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/progress/index.vue?vue&type=script&lang=js&
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-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 {
- currentPercent: 0,
- strokeTimer: 0,
- lastPercent: 0
- };
- },
- computed: {
- outerBarStyle: function outerBarStyle() {
- return "background-color: ".concat(this.backgroundColor, "; height: ").concat(this.strokeWidth, "px;");
- },
- 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);
- },
- 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;
+// CONCATENATED MODULE: ./src/core/view/components/swiper-item/index.vue?vue&type=template&id=3883b065&
- this._activeAnimation();
+// 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 swiper_itemvue_type_script_lang_js_ = ({
+ name: 'SwiperItem',
+ props: {
+ itemId: {
+ type: String,
+ default: ''
}
},
- created: function created() {
- this._activeAnimation();
- },
- methods: {
- _activeAnimation: function _activeAnimation() {
- var _this = this;
+ 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 (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;
- }
+ if (callbacks) {
+ callbacks.forEach(function (callback) {
+ callback();
+ });
}
}
});
-// 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__(80);
+// 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__(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/progress/index.vue
+// CONCATENATED MODULE: ./src/core/view/components/swiper-item/index.vue
@@ -19318,7 +19203,7 @@ var componentNormalizer = __webpack_require__(0);
/* normalize component */
var component = Object(componentNormalizer["a" /* default */])(
- components_progressvue_type_script_lang_js_,
+ components_swiper_itemvue_type_script_lang_js_,
render,
staticRenderFns,
false,
@@ -19330,51 +19215,97 @@ 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/swiper-item/index.vue"
+/* harmony default export */ var swiper_item = __webpack_exports__["default"] = (component.exports);
/***/ }),
-/* 109 */
+/* 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":"70784d34-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":"70784d34-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-checkbox",
- _vm._g({ on: { click: _vm._onClick } }, _vm.$listeners),
+ "uni-slider",
+ _vm._g({ ref: "uni-slider", 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("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/checkbox/index.vue?vue&type=template&id=a63c1348&
+// 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);
+var mixins = __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/checkbox/index.vue?vue&type=script&lang=js&
+// 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&
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
//
//
//
@@ -19389,92 +19320,184 @@ var mixins = __webpack_require__(1);
//
//
-/* harmony default export */ var checkboxvue_type_script_lang_js_ = ({
- name: 'Checkbox',
- mixins: [mixins["a" /* emitter */], mixins["c" /* listeners */]],
+
+/* harmony default export */ var slidervue_type_script_lang_js_ = ({
+ name: 'Slider',
+ mixins: [mixins["a" /* emitter */], mixins["c" /* listeners */], touchtrack["a" /* default */]],
props: {
- checked: {
- type: [Boolean, String],
- default: false
- },
- id: {
+ 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'
},
- value: {
+ selectedColor: {
type: String,
- default: ''
+ default: '#007aff'
+ },
+ blockColor: {
+ type: String,
+ default: '#ffffff'
+ },
+ blockSize: {
+ type: [Number, String],
+ default: 28
+ },
+ showValue: {
+ type: [Boolean, String],
+ default: false
}
},
data: function data() {
return {
- checkboxChecked: this.checked,
- checkboxValue: this.value
+ sliderValue: Number(this.value)
};
},
- watch: {
- checked: function checked(val) {
- this.checkboxChecked = val;
+ 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.checkboxValue = val;
+ this.sliderValue = Number(val);
}
},
- listeners: {
- 'label-click': '_onClick',
- '@label-click': '_onClick'
+ mounted: function mounted() {
+ this.touchtrack(this.$refs['uni-slider-handle'], '_onTrack');
},
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: {
+ _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;
}
- this.checkboxChecked = !this.checkboxChecked;
- this.$dispatch('CheckboxGroup', 'uni-checkbox-change', $event);
+ this._onUserChangedValue($event);
+
+ this.$trigger('change', $event, {
+ value: this.sliderValue
+ });
},
_resetFormData: function _resetFormData() {
- this.checkboxChecked = false;
+ 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/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__(70);
+// 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__(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/checkbox/index.vue
+// CONCATENATED MODULE: ./src/core/view/components/slider/index.vue
@@ -19484,7 +19507,7 @@ var componentNormalizer = __webpack_require__(0);
/* normalize component */
var component = Object(componentNormalizer["a" /* default */])(
- components_checkboxvue_type_script_lang_js_,
+ components_slidervue_type_script_lang_js_,
render,
staticRenderFns,
false,
@@ -19496,35 +19519,46 @@ var component = Object(componentNormalizer["a" /* default */])(
/* 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);
+component.options.__file = "src/core/view/components/slider/index.vue"
+/* harmony default export */ var slider = __webpack_exports__["default"] = (component.exports);
/***/ }),
-/* 110 */
+/* 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":"70784d34-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":"70784d34-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-form", _vm._g({}, _vm.$listeners), [
- _c("span", [_vm._t("default")], 2)
- ])
+ 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/form/index.vue?vue&type=template&id=7735a91d&
+// CONCATENATED MODULE: ./src/core/view/components/image/index.vue?vue&type=template&id=c7af6f90&
-// 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/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); }
-// 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&
//
//
//
@@ -19532,54 +19566,195 @@ var mixins = __webpack_require__(1);
//
//
//
-
-/* harmony default export */ var formvue_type_script_lang_js_ = ({
- name: 'Form',
- mixins: [mixins["c" /* listeners */]],
+//
+//
+//
+//
+//
+/* 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 {
- childrenList: []
+ originalWidth: 0,
+ originalHeight: 0,
+ availHeight: '',
+ sizeFixed: false
};
},
- listeners: {
- '@form-submit': '_onSubmit',
- '@form-reset': '_onReset',
- '@form-group-update': '_formGroupUpdateHandler'
+ 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;
+
+ case 'top right':
+ position = 'right top';
+ break;
+
+ case 'bottom left':
+ position = 'left bottom';
+ break;
+
+ case 'bottom right':
+ position = 'right bottom';
+ break;
+
+ default:
+ size = '100% 100%';
+ position = '0% 0%';
+ break;
+ }
+
+ 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;
+ }
+
+ if (newValue === 'widthFix' && this.ratio) {
+ this._fixSize();
+ }
+ }
+ },
+ mounted: function mounted() {
+ this.availHeight = this.$el.style.height || '';
+
+ this._loadImage();
},
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;
+ _resize: function _resize() {
+ if (this.mode === 'widthFix' && !this.sizeFixed) {
+ this._fixSize();
+ }
+ },
+ _fixSize: function _fixSize() {
+ var elWidth = this._getWidth();
+
+ if (elWidth) {
+ var height = elWidth / this.ratio; // fix: 解决 Chrome 浏览器上某些情况下导致 1px 缝隙的问题
+
+ if ((typeof navigator === "undefined" ? "undefined" : _typeof(navigator)) && navigator.vendor === 'Google Inc.' && height > 10) {
+ height = Math.round(height / 2) * 2;
}
- });
- this.$trigger('submit', $event, {
- value: data
- });
+
+ this.$el.style.height = height + 'px';
+ this.sizeFixed = true;
+ }
},
- _onReset: function _onReset($event) {
- this.$trigger('reset', $event, {});
- this.childrenList.forEach(function (vm) {
- vm._resetFormData && vm._resetFormData();
- });
+ _loadImage: function _loadImage() {
+ this.$refs.content.style.backgroundImage = this.src ? "url(".concat(this.realImagePath, ")") : 'none';
+
+ var _self = this;
+
+ var img = new Image();
+
+ 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)")
+ });
+ };
+
+ img.src = this.realImagePath;
},
- _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);
- }
+ _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/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/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__(70);
+
// 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/image/index.vue
+
@@ -19588,7 +19763,7 @@ var componentNormalizer = __webpack_require__(0);
/* normalize component */
var component = Object(componentNormalizer["a" /* default */])(
- components_formvue_type_script_lang_js_,
+ components_imagevue_type_script_lang_js_,
render,
staticRenderFns,
false,
@@ -19600,97 +19775,51 @@ 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/image/index.vue"
+/* harmony default export */ var components_image = __webpack_exports__["default"] = (component.exports);
/***/ }),
-/* 111 */
+/* 108 */
/***/ (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":"70784d34-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&
+// CONCATENATED MODULE: ./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"70784d34-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 _c(
- "uni-slider",
- _vm._g({ ref: "uni-slider", on: { click: _vm._onClick } }, _vm.$listeners),
+ "uni-checkbox",
+ _vm._g({ 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
+ _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
+ )
+ ]
)
}
var staticRenderFns = []
render._withStripped = true
-// CONCATENATED MODULE: ./src/core/view/components/slider/index.vue?vue&type=template&id=1969bd7a&
+// CONCATENATED MODULE: ./src/core/view/components/checkbox/index.vue?vue&type=template&id=a63c1348&
// 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__(7);
+var mixins = __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/slider/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&
//
//
//
@@ -19705,184 +19834,92 @@ var touchtrack = __webpack_require__(7);
//
//
-
-/* harmony default export */ var slidervue_type_script_lang_js_ = ({
- name: 'Slider',
- mixins: [mixins["a" /* emitter */], mixins["c" /* listeners */], touchtrack["a" /* default */]],
+/* harmony default export */ var checkboxvue_type_script_lang_js_ = ({
+ name: 'Checkbox',
+ mixins: [mixins["a" /* emitter */], mixins["c" /* listeners */]],
props: {
- name: {
+ checked: {
+ type: [Boolean, String],
+ default: false
+ },
+ id: {
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: {
+ value: {
type: String,
- default: '#ffffff'
- },
- blockSize: {
- type: [Number, String],
- default: 28
- },
- showValue: {
- type: [Boolean, String],
- default: false
+ default: ''
}
},
data: function data() {
return {
- sliderValue: Number(this.value)
+ checkboxChecked: this.checked,
+ checkboxValue: 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: {
+ checked: function checked(val) {
+ this.checkboxChecked = val;
+ },
value: function value(val) {
- this.sliderValue = Number(val);
+ this.checkboxValue = val;
}
},
- mounted: function mounted() {
- this.touchtrack(this.$refs['uni-slider-handle'], '_onTrack');
+ listeners: {
+ 'label-click': '_onClick',
+ '@label-click': '_onClick'
},
created: function created() {
- this.$dispatch('Form', 'uni-form-group-update', {
+ this.$dispatch('CheckboxGroup', 'uni-checkbox-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
- }));
- }
- },
+ 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._onUserChangedValue($event);
-
- this.$trigger('change', $event, {
- value: this.sliderValue
- });
+ this.checkboxChecked = !this.checkboxChecked;
+ this.$dispatch('CheckboxGroup', 'uni-checkbox-change', $event);
},
_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;
+ this.checkboxChecked = false;
}
}
});
-// 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__(85);
+// 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__(68);
// 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/checkbox/index.vue
@@ -19892,7 +19929,7 @@ var componentNormalizer = __webpack_require__(0);
/* normalize component */
var component = Object(componentNormalizer["a" /* default */])(
- components_slidervue_type_script_lang_js_,
+ components_checkboxvue_type_script_lang_js_,
render,
staticRenderFns,
false,
@@ -19904,11 +19941,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/checkbox/index.vue"
+/* harmony default export */ var components_checkbox = __webpack_exports__["default"] = (component.exports);
/***/ }),
-/* 112 */
+/* 109 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
@@ -19965,8 +20002,7 @@ component.options.__file = "src/core/view/components/label/index.vue"
/* harmony default export */ var label = __webpack_exports__["default"] = (component.exports);
/***/ }),
-/* 113 */,
-/* 114 */
+/* 110 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
@@ -20022,7 +20058,7 @@ var canvasvue_type_script_lang_js_ = __webpack_require__(14);
// 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__(68);
+var canvasvue_type_style_index_0_lang_css_ = __webpack_require__(66);
// EXTERNAL MODULE: ./node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js
var componentNormalizer = __webpack_require__(0);
@@ -20053,142 +20089,201 @@ component.options.__file = "src/core/view/components/canvas/index.vue"
/* harmony default export */ var canvas = __webpack_exports__["default"] = (component.exports);
/***/ }),
-/* 115 */
+/* 111 */
/***/ (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/button/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/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 buttonvue_type_script_lang_js_ = ({
- name: 'Button',
- mixins: [mixins["b" /* hover */], mixins["a" /* emitter */], mixins["c" /* listeners */]],
+/* harmony default export */ var movable_areavue_type_script_lang_js_ = ({
+ name: 'MovableArea',
props: {
- hoverClass: {
- type: String,
- default: 'button-hover'
- },
- disabled: {
- type: [Boolean, String],
- default: false
- },
- id: {
- type: String,
- default: ''
- },
- hoverStopPropagation: {
+ scaleArea: {
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
+ width: 0,
+ height: 0,
+ items: []
+ };
+ },
+ created: function created() {
+ this.gapV = {
+ x: null,
+ y: null
};
+ this.pinchStartLen = null;
+ },
+ mounted: function mounted() {
+ this._resize();
},
methods: {
- _onClick: function _onClick($event, isLabelClick) {
- if (this.disabled) {
- return;
- }
+ _resize: function _resize() {
+ this._getWH();
- if (isLabelClick) {
- this.$el.click();
- } // TODO 通知父表单执行相应的行为
+ 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 (this.formType) {
- this.$dispatch('Form', this.formType === 'submit' ? 'uni-form-submit' : 'uni-form-reset', {
- type: this.formType
- });
+ if (node === item.componentInstance.$el) {
+ return item;
+ }
+ }
+
+ if (node === root || node === document.body || node === document) {
+ return null;
+ }
+
+ return get(node.parentNode);
}
+
+ return get(target);
},
- _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;
+ _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;
- return data;
- }
- },
- render: function render(createElement) {
- var _this = 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
+ };
- var $listeners = Object.create(null);
+ if (this.gapV.x !== null && this.pinchStartLen > 0) {
+ var r = calc(i) / this.pinchStartLen;
- if (this.$listeners) {
- Object.keys(this.$listeners).forEach(function (e) {
- if (_this.disabled && (e === 'click' || e === 'tap')) {
- return;
+ this._updateScale(r);
+ }
+
+ this.gapV = i;
}
+ }
+ },
+ _touchend: function _touchend(e) {
+ var t = e.touches;
- $listeners[e] = _this.$listeners[e];
- });
- }
+ if (!(t && t.length)) {
+ if (e.changedTouches) {
+ this.gapV.x = 0;
+ this.gapV.y = 0;
+ this.pinchStartLen = null;
- 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
+ if (this.scaleArea) {
+ this.items.forEach(function (item) {
+ item.componentInstance._endScale();
+ });
+ } else {
+ if (this._scaleMovableView) {
+ this._scaleMovableView.componentInstance._endScale();
+ }
+ }
}
- }, $listeners), this.$slots.default);
- } else {
- return createElement('uni-button', this._bindObjectListeners({
- class: [this.hovering ? this.hoverClass : ''],
- attrs: {
- 'disabled': this.disabled
- },
- on: {
- click: this._onClick
+ }
+ },
+ _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);
+ }
}
- }, $listeners), this.$slots.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);
}
},
- listeners: {
- 'label-click': '_onClick',
- '@label-click': '_onClick'
+ 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/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__(67);
+// 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__(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/button/index.vue
+// CONCATENATED MODULE: ./src/core/view/components/movable-area/index.vue
var render, staticRenderFns
@@ -20198,7 +20293,7 @@ var render, staticRenderFns
/* normalize component */
var component = Object(componentNormalizer["a" /* default */])(
- components_buttonvue_type_script_lang_js_,
+ components_movable_areavue_type_script_lang_js_,
render,
staticRenderFns,
false,
@@ -20210,18 +20305,18 @@ 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);
+component.options.__file = "src/core/view/components/movable-area/index.vue"
+/* harmony default export */ var movable_area = __webpack_exports__["default"] = (component.exports);
/***/ }),
-/* 116 */
+/* 112 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
// EXTERNAL MODULE: ./src/core/view/mixins/touchtrack.js
-var touchtrack = __webpack_require__(7);
+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/swiper/index.vue?vue&type=script&lang=js&
//
@@ -20952,7 +21047,7 @@ var touchtrack = __webpack_require__(7);
// 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__(87);
+var swipervue_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);
@@ -20983,152 +21078,88 @@ component.options.__file = "src/core/view/components/swiper/index.vue"
/* harmony default export */ var swiper = __webpack_exports__["default"] = (component.exports);
/***/ }),
-/* 117 */
+/* 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??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/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: {
- 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: ''
+ selectable: {
+ type: [Boolean, String],
+ default: false
},
- maskClass: {
+ space: {
type: String,
default: ''
- }
- },
- 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
- });
- }
- }
+ decode: {
+ type: [Boolean, String],
+ default: false
}
},
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];
+ _decodeHtml: function _decodeHtml(htmlString) {
+ if (this.space && SPACE_UNICODE[this.space]) {
+ htmlString = htmlString.replace(/ /g, SPACE_UNICODE[this.space]);
+ }
- if (oldVal !== val) {
- this.changeSource = 'touch';
- this.$set(this.valueSync, index, val);
+ 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, "'");
}
- },
- _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;
+
+ return htmlString;
}
},
render: function render(createElement) {
- var items = [];
+ var _this = this;
- if (this.$slots.default) {
- this.$slots.default.forEach(function (vnode) {
- if (vnode.componentOptions && vnode.componentOptions.tag === 'v-uni-picker-view-column') {
- items.push(vnode);
+ 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(' 组件内只支持嵌套 ,不支持其它组件或自定义组件,否则会引发在不同平台的渲染差异。');
}
- });
- }
- this.items = items;
- return createElement('uni-picker-view', {
- on: this.$listeners
- }, [createElement('v-uni-resize-sensor', {
+ nodeList.push(vnode);
+ }
+ });
+ return createElement('uni-text', {
+ on: this.$listeners,
attrs: {
- initial: true
- },
- on: {
- resize: this._resize
+ selectable: !!this.selectable
}
- }), createElement('div', {
- ref: 'wrapper',
- 'class': 'uni-picker-view-wrapper'
- }, items)]);
+ }, [createElement('span', {}, nodeList)]);
}
});
-// 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__(78);
+// 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__(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/text/index.vue
var render, staticRenderFns
@@ -21138,7 +21169,7 @@ var render, staticRenderFns
/* normalize component */
var component = Object(componentNormalizer["a" /* default */])(
- components_picker_viewvue_type_script_lang_js_,
+ components_textvue_type_script_lang_js_,
render,
staticRenderFns,
false,
@@ -21150,94 +21181,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/text/index.vue"
+/* harmony default export */ var components_text = __webpack_exports__["default"] = (component.exports);
/***/ }),
-/* 118 */
+/* 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??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',
+// EXTERNAL MODULE: ./src/core/view/mixins/index.js + 1 modules
+var mixins = __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/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: {
- initial: {
+ hoverClass: {
+ type: String,
+ default: 'button-hover'
+ },
+ disabled: {
type: [Boolean, String],
default: false
+ },
+ id: {
+ type: String,
+ default: ''
+ },
+ 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 {
- size: {
- width: -1,
- height: -1
- }
+ clickFunction: null
};
},
- watch: {
- size: {
- deep: true,
- handler: function handler(size) {
- this.$emit('resize', Object.assign({}, size));
+ methods: {
+ _onClick: function _onClick($event, isLabelClick) {
+ if (this.disabled) {
+ return;
+ }
+
+ 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 data;
}
},
- mounted: function mounted() {
- if (this.initial === true) {
- this.$nextTick(this.update);
- }
+ render: function render(createElement) {
+ var _this = this;
- if (this.$el.offsetParent !== this.$el.parentNode) {
- this.$el.parentNode.style.position = 'relative';
- }
+ var $listeners = Object.create(null);
- if (!('AnimationEvent' in window)) {
- this.reset();
+ if (this.$listeners) {
+ Object.keys(this.$listeners).forEach(function (e) {
+ if (_this.disabled && (e === 'click' || e === 'tap')) {
+ return;
+ }
+
+ $listeners[e] = _this.$listeners[e];
+ });
}
- },
- 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();
+
+ 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);
}
},
- render: function render(create) {
- return create('uni-resize-sensor', {
- on: {
- '~animationstart': this.update
- }
- }, [create('div', {
- on: {
- scroll: this.update
- }
- }, [create('div')]), create('div', {
- on: {
- scroll: this.update
- }
- }, [create('div')])]);
+ listeners: {
+ 'label-click': '_onClick',
+ '@label-click': '_onClick'
}
});
-// 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__(83);
+// 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__(65);
// 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/button/index.vue
var render, staticRenderFns
@@ -21247,7 +21330,7 @@ var render, staticRenderFns
/* normalize component */
var component = Object(componentNormalizer["a" /* default */])(
- components_resize_sensorvue_type_script_lang_js_,
+ components_buttonvue_type_script_lang_js_,
render,
staticRenderFns,
false,
@@ -21259,27 +21342,27 @@ 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/button/index.vue"
+/* harmony default export */ var components_button = __webpack_exports__["default"] = (component.exports);
/***/ }),
-/* 119 */
+/* 115 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
// EXTERNAL MODULE: ./src/core/view/mixins/touchtrack.js
-var touchtrack = __webpack_require__(7);
+var touchtrack = __webpack_require__(8);
// EXTERNAL MODULE: ./src/core/view/mixins/scroller/index.js + 2 modules
-var scroller = __webpack_require__(45);
+var scroller = __webpack_require__(43);
// EXTERNAL MODULE: ./src/core/view/mixins/scroller/Friction.js
-var Friction = __webpack_require__(43);
+var Friction = __webpack_require__(41);
// EXTERNAL MODULE: ./src/core/view/mixins/scroller/Spring.js
-var Spring = __webpack_require__(44);
+var Spring = __webpack_require__(42);
// 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&
@@ -21467,7 +21550,7 @@ var Spring = __webpack_require__(44);
// 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__(77);
+var picker_view_columnvue_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);
@@ -21498,88 +21581,90 @@ component.options.__file = "src/core/view/components/picker-view-column/index.vu
/* harmony default export */ var picker_view_column = __webpack_exports__["default"] = (component.exports);
/***/ }),
-/* 120 */
+/* 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??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',
+// 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: {
- selectable: {
- type: [Boolean, String],
- default: false
- },
- space: {
- type: String,
- default: ''
- },
- decode: {
+ initial: {
type: [Boolean, String],
default: false
}
},
- methods: {
- _decodeHtml: function _decodeHtml(htmlString) {
- if (this.space && SPACE_UNICODE[this.space]) {
- htmlString = htmlString.replace(/ /g, SPACE_UNICODE[this.space]);
+ data: function data() {
+ return {
+ size: {
+ width: -1,
+ height: -1
}
-
- 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, "'");
+ };
+ },
+ watch: {
+ size: {
+ deep: true,
+ handler: function handler(size) {
+ this.$emit('resize', Object.assign({}, size));
}
-
- return htmlString;
}
},
- 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));
+ mounted: function mounted() {
+ if (this.initial === true) {
+ this.$nextTick(this.update);
+ }
- if (index !== texts.length - 1) {
- nodeList.push(createElement('br'));
- }
- });
- } else {
- if (vnode.componentOptions && vnode.componentOptions.tag !== 'v-uni-text') {
- console.warn(' 组件内只支持嵌套 ,不支持其它组件或自定义组件,否则会引发在不同平台的渲染差异。');
- }
+ if (this.$el.offsetParent !== this.$el.parentNode) {
+ this.$el.parentNode.style.position = 'relative';
+ }
- nodeList.push(vnode);
+ 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: {
+ '~animationstart': this.update
}
- });
- return createElement('uni-text', {
- on: this.$listeners,
- attrs: {
- selectable: !!this.selectable
+ }, [create('div', {
+ on: {
+ scroll: this.update
}
- }, [createElement('span', {}, nodeList)]);
+ }, [create('div')]), create('div', {
+ on: {
+ scroll: this.update
+ }
+ }, [create('div')])]);
}
});
-// 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__(89);
+// 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__(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/text/index.vue
+// CONCATENATED MODULE: ./src/core/view/components/resize-sensor/index.vue
var render, staticRenderFns
@@ -21589,7 +21674,7 @@ var render, staticRenderFns
/* normalize component */
var component = Object(componentNormalizer["a" /* default */])(
- components_textvue_type_script_lang_js_,
+ components_resize_sensorvue_type_script_lang_js_,
render,
staticRenderFns,
false,
@@ -21601,205 +21686,156 @@ 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/resize-sensor/index.vue"
+/* harmony default export */ var resize_sensor = __webpack_exports__["default"] = (component.exports);
/***/ }),
-/* 121 */
+/* 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??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);
-}
+// 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(); }
-/* harmony default export */ var movable_areavue_type_script_lang_js_ = ({
- name: 'MovableArea',
+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',
props: {
- scaleArea: {
- type: Boolean,
- 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;
+ }
+ },
+ indicatorStyle: {
+ type: String,
+ default: ''
+ },
+ indicatorClass: {
+ type: String,
+ default: ''
+ },
+ maskStyle: {
+ type: String,
+ default: ''
+ },
+ maskClass: {
+ type: String,
+ default: ''
}
},
data: function data() {
return {
- width: 0,
- height: 0,
- items: []
- };
- },
- created: function created() {
- this.gapV = {
- x: null,
- y: null
+ valueSync: _toConsumableArray(this.value),
+ height: 34,
+ items: [],
+ changeSource: ''
};
- 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;
- }
- }
+ watch: {
+ value: function value(val) {
+ var _this = this;
- if (node === root || node === document.body || node === document) {
- return null;
+ this.valueSync.length = val.length;
+ val.forEach(function (val, index) {
+ if (val !== _this.valueSync[index]) {
+ _this.$set(_this.valueSync, index, val);
}
-
- 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);
+ valueSync: {
+ deep: true,
+ handler: function handler(val, oldVal) {
+ if (this.changeSource === '') {
+ this._valueChanged(val);
+ } else {
+ this.changeSource = ''; // 避免外部直接对此值进行修改
- this._scaleMovableView = touch0 && touch0 === touch1 ? touch0 : null;
- }
+ var value = val.map(function (val) {
+ return val;
+ });
+ this.$emit('update:value', value);
+ this.$trigger('change', {}, {
+ value: value
+ });
}
}
+ }
+ },
+ methods: {
+ getItemIndex: function getItemIndex(vnode) {
+ return this.items.indexOf(vnode);
},
- _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;
- }
- }
+ getItemValue: function getItemValue(vm) {
+ return this.valueSync[this.getItemIndex(vm.$vnode)] || 0;
},
- _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;
+ setItemValue: function setItemValue(vm, val) {
+ var index = this.getItemIndex(vm.$vnode);
+ var oldVal = this.valueSync[index];
- if (this.scaleArea) {
- this.items.forEach(function (item) {
- item.componentInstance._endScale();
- });
- } else {
- if (this._scaleMovableView) {
- this._scaleMovableView.componentInstance._endScale();
- }
- }
- }
+ if (oldVal !== val) {
+ this.changeSource = 'touch';
+ this.$set(this.valueSync, index, val);
}
},
- _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);
- }
- }
- }
+ _valueChanged: function _valueChanged(val) {
+ this.items.forEach(function (item, index) {
+ item.componentInstance.setCurrent(val[index] || 0);
+ });
},
- _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);
+ _resize: function _resize(_ref) {
+ var height = _ref.height;
+ this.height = height;
}
},
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') {
+ if (vnode.componentOptions && vnode.componentOptions.tag === 'v-uni-picker-view-column') {
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
+ return createElement('uni-picker-view', {
+ on: this.$listeners
}, [createElement('v-uni-resize-sensor', {
+ attrs: {
+ initial: true
+ },
on: {
resize: this._resize
}
- })].concat(items));
+ }), createElement('div', {
+ ref: 'wrapper',
+ 'class': 'uni-picker-view-wrapper'
+ }, 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__(74);
+// 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__(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
+// CONCATENATED MODULE: ./src/core/view/components/picker-view/index.vue
var render, staticRenderFns
@@ -21809,7 +21845,7 @@ var render, staticRenderFns
/* normalize component */
var component = Object(componentNormalizer["a" /* default */])(
- components_movable_areavue_type_script_lang_js_,
+ components_picker_viewvue_type_script_lang_js_,
render,
staticRenderFns,
false,
@@ -21821,11 +21857,11 @@ var component = Object(componentNormalizer["a" /* default */])(
/* 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);
+component.options.__file = "src/core/view/components/picker-view/index.vue"
+/* harmony default export */ var picker_view = __webpack_exports__["default"] = (component.exports);
/***/ }),
-/* 122 */
+/* 118 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
@@ -21836,7 +21872,7 @@ __webpack_require__.r(__webpack_exports__);
if (typeof window !== 'undefined') {
if (true) {
- __webpack_require__(63)
+ __webpack_require__(61)
}
var i
@@ -21849,7 +21885,7 @@ if (typeof window !== 'undefined') {
/* harmony default export */ var setPublicPath = (null);
// EXTERNAL MODULE: ./lib/app-plus/view.js
-var view = __webpack_require__(50);
+var view = __webpack_require__(48);
// 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["c" /* upx2px */]; });
diff --git a/packages/uni-template-compiler/__tests__/compiler-app-plus-extra.service.spec.js b/packages/uni-template-compiler/__tests__/compiler-app-plus-extra.service.spec.js
index 32f9d61cca5861a01c9081f87e2b8b587217aab4..025748c19331602e367b2ea7b9744608b87d6f48 100644
--- a/packages/uni-template-compiler/__tests__/compiler-app-plus-extra.service.spec.js
+++ b/packages/uni-template-compiler/__tests__/compiler-app-plus-extra.service.spec.js
@@ -11,7 +11,21 @@ function assertCodegen (template, generatedCode, ...args) {
}
/* eslint-disable quotes */
-describe('codegen', () => {
+describe('codegen', () => {
+ it('generate block', () => {
+ assertCodegen(
+ ' ',
+ `with(this){return (_$i(0,show))?void 0:_e()}`
+ )
+ assertCodegen(
+ '',
+ `with(this){return _c('div',{attrs:{"_i":0}},[_l((_$f(1,{forItems:items})),function(item,$10,$20,$30){return [_c('div',{key:_$f(1,{forIndex:$20,keyIndex:0,key:1+'-0-'+$30}),attrs:{"_i":("2-"+$30)}}),_c('div',{key:_$f(1,{forIndex:$20,keyIndex:1,key:1+'-1-'+$30}),attrs:{"_i":("3-"+$30)}})]})],2)}`
+ )
+ assertCodegen(
+ '',
+ `with(this){return _c('div',{attrs:{"_i":0}},[_l((_$f(1,{forItems:items})),function(item,$10,$20,$30){return [_c('div',{key:_$f(1,{forIndex:$20,keyIndex:0,key:item.id+'_0'}),attrs:{"_i":("2-"+$30)}}),_c('div',{key:_$f(1,{forIndex:$20,keyIndex:1,key:item.id+'_1'}),attrs:{"_i":("3-"+$30)}})]})],2)}`
+ )
+ })
it('generate directive', () => {
assertCodegen(
'
',
@@ -21,23 +35,27 @@ describe('codegen', () => {
it('generate v-for directive', () => {
assertCodegen(
'',
- `with(this){return _c('div',{attrs:{"_i":0}},[_l((items),function(item,$i){return [_c('div',{key:_$f(1,{forIndex:$i,keyIndex:0,key:'1-0-'+$i}),attrs:{"_i":("2-"+$i)}}),_c('div',{key:_$f(1,{forIndex:$i,keyIndex:1,key:'1-1-'+$i}),attrs:{"_i":("3-"+$i)}})]})],2)}`
+ `with(this){return _c('div',{attrs:{"_i":0}},[_l((_$f(1,{forItems:items})),function(item,$10,$20,$30){return [_c('div',{key:_$f(1,{forIndex:$20,keyIndex:0,key:1+'-0-'+$30}),attrs:{"_i":("2-"+$30)}}),_c('div',{key:_$f(1,{forIndex:$20,keyIndex:1,key:1+'-1-'+$30}),attrs:{"_i":("3-"+$30)}})]})],2)}`
)
assertCodegen(
'text
',
- `with(this){return _c('div',{attrs:{"_i":0}},[_l((items),function(item,$i){return [_c('text',{key:_$f(1,{forIndex:$i,keyIndex:0,key:'1-0-'+$i}),attrs:{"_i":("1-"+$i)}})]})],2)}`
+ `with(this){return _c('div',{attrs:{"_i":0}},[_l((_$f(1,{forItems:items})),function(item,$10,$20,$30){return [_c('text',{key:_$f(1,{forIndex:$20,keyIndex:0,key:1+'-0-'+$30}),attrs:{"_i":("1-"+$30)}})]})],2)}`
)
assertCodegen(
'{{text}}
',
- `with(this){return _c('div',{attrs:{"_i":0}},[_l((items),function(item,$i){return [_c('text',{key:_$f(1,{forIndex:$i,keyIndex:0,key:'1-0-'+$i}),extras:{t0:_s(text)},attrs:{"_i":("1-"+$i)}})]})],2)}`
+ `with(this){return _c('div',{attrs:{"_i":0}},[_l((_$f(1,{forItems:items})),function(item,$i){return [_c('text',{key:_$f(1,{forIndex:$i,keyIndex:0,key:'1-0-'+$i}),extras:{t0:_s(text)},attrs:{"_i":("1-"+$i)}})]})],2)}`
)
assertCodegen(
' {{text}}
',
- `with(this){return _c('div',{attrs:{"_i":0}},[_l((items),function(item,$i){return [_c('span',{key:_$f(1,{forIndex:$i,keyIndex:0,key:'1-0-'+$i}),attrs:{"_i":("2-"+$i)}}),_c('text',{extras:{t0:_s(text)},attrs:{"_i":("1-"+$i)}})]})],2)}`
+ `with(this){return _c('div',{attrs:{"_i":0}},[_l((_$f(1,{forItems:items})),function(item,$i){return [_c('span',{key:_$f(1,{forIndex:$i,keyIndex:0,key:'1-0-'+$i}),attrs:{"_i":("2-"+$i)}}),_c('text',{extras:{t0:_s(text)},attrs:{"_i":("1-"+$i)}})]})],2)}`
)
assertCodegen(
'a {{text1}} b {{text2}}
',
- `with(this){return _c('div',{attrs:{"_i":0}},[_l((items),function(item,$i){return [_c('text',{key:_$f(1,{forIndex:$i,keyIndex:0,key:'1-0-'+$i}),extras:{t0:_s(text1),t1:_s(text2)},attrs:{"_i":("1-"+$i)}})]})],2)}`
+ `with(this){return _c('div',{attrs:{"_i":0}},[_l((_$f(1,{forItems:items})),function(item,$i){return [_c('text',{key:_$f(1,{forIndex:$i,keyIndex:0,key:'1-0-'+$i}),extras:{t0:_s(text1),t1:_s(text2)},attrs:{"_i":("1-"+$i)}})]})],2)}`
+ )
+ assertCodegen(
+ '
',
+ `with(this){return _c('div',{attrs:{"_i":0}},[_l((_$f(1,{forItems:items})),function(item,$i){return [(_$i(("2-"+$i),item.sub))?_c('span',{key:_$f(1,{forIndex:$i,keyIndex:0,key:'1-0-'+$i}),attrs:{"_i":("2-"+$i)}}):_e()]})],2)}`
)
})
it('generate text with multiple statements', () => {
diff --git a/packages/uni-template-compiler/__tests__/compiler-app-plus-extra.view.spec.js b/packages/uni-template-compiler/__tests__/compiler-app-plus-extra.view.spec.js
index f8d79afd40cc5aa7d23434e62257470d7c244c87..886501156940c05fc5eb83d476aff2440ce08186 100644
--- a/packages/uni-template-compiler/__tests__/compiler-app-plus-extra.view.spec.js
+++ b/packages/uni-template-compiler/__tests__/compiler-app-plus-extra.view.spec.js
@@ -23,6 +23,10 @@ describe('codegen', () => {
'',
`with(this){return _c('v-uni-view',{attrs:{"_i":0}},[_l(($r['1']['v-for']),function(item,$i){return [_c('v-uni-view',{key:item['k0'],attrs:{"_i":("2-"+$i)}}),_c('v-uni-view',{key:item['k1'],attrs:{"_i":("3-"+$i)}})]})],2)}`
)
+ assertCodegen(
+ '
',
+ `with(this){return _c('v-uni-view',{attrs:{"_i":0}},[_l(($r['1']['v-for']),function(item,$i){return [($r[("2-"+$i)]['v-if'])?_c('v-uni-label',{key:item['k0'],attrs:{"_i":("2-"+$i)}}):_e()]})],2)}`
+ )
})
it('generate events with multiple statements', () => {
assertCodegen(
diff --git a/packages/uni-template-compiler/__tests__/compiler-app-plus.service.spec.js b/packages/uni-template-compiler/__tests__/compiler-app-plus.service.spec.js
index 5ab5a4341f800a210edbbba437711879216ba157..c5c10c53eaf47c0c6e1ad6180e48bb243cf65035 100644
--- a/packages/uni-template-compiler/__tests__/compiler-app-plus.service.spec.js
+++ b/packages/uni-template-compiler/__tests__/compiler-app-plus.service.spec.js
@@ -41,30 +41,30 @@ describe('codegen', () => {
it('generate v-for directive', () => {
assertCodegen(
'
',
- `with(this){return _c('div',{attrs:{"_i":0}},_l((items),function(item,$i){return _c('li',{key:_$f(1,{forIndex:$i,key:item.uid}),attrs:{"_i":("1-"+$i)}})}),0)}`
+ `with(this){return _c('div',{attrs:{"_i":0}},_l((_$f(1,{forItems:items})),function(item,$10,$20,$30){return _c('li',{key:_$f(1,{forIndex:$20,key:item.uid}),attrs:{"_i":("1-"+$30)}})}),0)}`
)
// iterator syntax
assertCodegen(
'
',
- `with(this){return _c('div',{attrs:{"_i":0}},_l((items),function(item,i){return _c('li',{key:_$f(1,{forIndex:i,key:'1-'+i}),attrs:{"_i":("1-"+i)}})}),0)}`
+ `with(this){return _c('div',{attrs:{"_i":0}},_l((_$f(1,{forItems:items})),function(item,i,$20,$30){return _c('li',{key:_$f(1,{forIndex:$20,key:1+'-'+$30}),attrs:{"_i":("1-"+$30)}})}),0)}`
)
assertCodegen(
'
',
- `with(this){return _c('div',{attrs:{"_i":0}},_l((items),function(item,key,index){return _c('li',{key:_$f(1,{forIndex:index,key:'1-'+index}),attrs:{"_i":("1-"+index)}})}),0)}`
+ `with(this){return _c('div',{attrs:{"_i":0}},_l((_$f(1,{forItems:items})),function(item,key,index,$30){return _c('li',{key:_$f(1,{forIndex:index,key:1+'-'+$30}),attrs:{"_i":("1-"+$30)}})}),0)}`
)
// destructuring
assertCodegen(
'
',
- `with(this){return _c('div',{attrs:{"_i":0}},_l((items),function({ a, b },$i){return _c('li',{key:_$f(1,{forIndex:$i,key:'1-'+$i}),attrs:{"_i":("1-"+$i)}})}),0)}`
+ `with(this){return _c('div',{attrs:{"_i":0}},_l((_$f(1,{forItems:items})),function({ a, b },$10,$20,$30){return _c('li',{key:_$f(1,{forIndex:$20,key:1+'-'+$30}),attrs:{"_i":("1-"+$30)}})}),0)}`
)
assertCodegen(
'
',
- `with(this){return _c('div',{attrs:{"_i":0}},_l((items),function({ a, b },key,index){return _c('li',{key:_$f(1,{forIndex:index,key:'1-'+index}),attrs:{"_i":("1-"+index)}})}),0)}`
+ `with(this){return _c('div',{attrs:{"_i":0}},_l((_$f(1,{forItems:items})),function({ a, b },key,index,$30){return _c('li',{key:_$f(1,{forIndex:index,key:1+'-'+$30}),attrs:{"_i":("1-"+$30)}})}),0)}`
)
// v-for with extra element
assertCodegen(
'',
- `with(this){return _c('div',{attrs:{"_i":0}},[_c('p',{attrs:{"_i":1}}),_l((items),function(item,$i){return _c('li',{key:_$f(2,{forIndex:$i,key:'2-'+$i}),attrs:{"_i":("2-"+$i)}})})],2)}`
+ `with(this){return _c('div',{attrs:{"_i":0}},[_c('p',{attrs:{"_i":1}}),_l((_$f(2,{forItems:items})),function(item,$10,$20,$30){return _c('li',{key:_$f(2,{forIndex:$20,key:2+'-'+$30}),attrs:{"_i":("2-"+$30)}})})],2)}`
)
})
@@ -113,7 +113,7 @@ describe('codegen', () => {
it('generate ref on v-for', () => {
assertCodegen(
'',
- `with(this){return _c('ul',{attrs:{"_i":0}},_l((items),function(item,$i){return _c('li',{key:_$f(1,{forIndex:$i,key:'1-'+$i}),ref:"component1",refInFor:true,attrs:{"_i":("1-"+$i)}})}),0)}`
+ `with(this){return _c('ul',{attrs:{"_i":0}},_l((_$f(1,{forItems:items})),function(item,$10,$20,$30){return _c('li',{key:_$f(1,{forIndex:$20,key:1+'-'+$30}),ref:"component1",refInFor:true,attrs:{"_i":("1-"+$30)}})}),0)}`
)
})
@@ -625,7 +625,7 @@ describe('codegen', () => {
// normalize type: 2
assertCodegen(
'{{ item }}
',
- `with(this){return _c('div',{attrs:{"_i":0}},[_c('child',{attrs:{"_i":1}}),_l((list),function(item,$i){return [_c('text',{key:_$f(2,{forIndex:$i,keyIndex:0,key:'2-0-'+$i}),extras:{t0:_s(item)},attrs:{"_i":("2-"+$i)}})]})],2)}`
+ `with(this){return _c('div',{attrs:{"_i":0}},[_c('child',{attrs:{"_i":1}}),_l((_$f(2,{forItems:list})),function(item,$i){return [_c('text',{key:_$f(2,{forIndex:$i,keyIndex:0,key:'2-0-'+$i}),extras:{t0:_s(item)},attrs:{"_i":("2-"+$i)}})]})],2)}`
)
})
diff --git a/packages/uni-template-compiler/__tests__/compiler-app-plus.view.spec.js b/packages/uni-template-compiler/__tests__/compiler-app-plus.view.spec.js
index 71ab97f6f075f4dfa399968a661f930baec437ee..dde7fd142aca6c41304ca85fa77142ff3c22f32c 100644
--- a/packages/uni-template-compiler/__tests__/compiler-app-plus.view.spec.js
+++ b/packages/uni-template-compiler/__tests__/compiler-app-plus.view.spec.js
@@ -41,7 +41,7 @@ describe('codegen', () => {
it('generate v-for directive', () => {
assertCodegen(
'
',
- `with(this){return _c('v-uni-view',{attrs:{"_i":0}},_l(($r['1']['v-for']),function(item,$i){return _c('v-uni-view',{key:item,attrs:{"_i":("1-"+$i)}})}),1)}`
+ `with(this){return _c('v-uni-view',{attrs:{"_i":0}},_l(($r['1']['v-for']),function(item,$10,$20,$30){return _c('v-uni-view',{key:item,attrs:{"_i":("1-"+$30)}})}),0)}`
)
// iterator syntax
assertCodegen(
@@ -272,7 +272,7 @@ describe('codegen', () => {
// input + value
assertCodegen(
' ',
- `with(this){return _c('v-uni-input',{attrs:{"_i":0},domProps:{"value":$r['0']['a-value']}})}`
+ `with(this){return _c('v-uni-input',{attrs:{"value":$r['0']['a-value'],"_i":0}})}`
)
// non input
assertCodegen(
diff --git a/packages/uni-template-compiler/__tests__/demo.js b/packages/uni-template-compiler/__tests__/demo.js
index 213b3df1c45dd8b127959c207bb21a322fe3ba05..402a7af1c8c28be86b3f011bb0c25c1f895ed5dc 100644
--- a/packages/uni-template-compiler/__tests__/demo.js
+++ b/packages/uni-template-compiler/__tests__/demo.js
@@ -1,7 +1,14 @@
const compiler = require('../lib')
const res = compiler.compile(
`
-{{hello}}
+
+
+
+
+
+
+
+
`, {
resourcePath: '/User/fxy/Documents/test.wxml',
isReservedTag: function (tag) {
@@ -13,7 +20,7 @@ const res = compiler.compile(
mp: {
platform: 'app-plus'
},
- // service: true
+ // service: true,
view: true
})
console.log(require('util').inspect(res, {
diff --git a/packages/uni-template-compiler/lib/app/component-parser.js b/packages/uni-template-compiler/lib/app/component-parser.js
deleted file mode 100644
index 2898681f9e191bb72421b2a9a05f45949ad65ed2..0000000000000000000000000000000000000000
--- a/packages/uni-template-compiler/lib/app/component-parser.js
+++ /dev/null
@@ -1,20 +0,0 @@
-const {
- ID,
- hasOwn
-} = require('./util')
-
-const tags = require('../../../uni-cli-shared/lib/tags')
-
-const {
- getTagName
-} = require('../h5')
-
-// 仅限 view 层
-module.exports = function parseComponent (el) {
- // TODO 需要把自定义组件的 attrs, props 全干掉
- el.tag = getTagName(el.tag)
- if (!hasOwn(tags, el.tag)) {
- // 仅保留 ID
- el.attrs = el.attrs.filter(attr => attr.name === ID)
- }
-}
diff --git a/packages/uni-template-compiler/lib/app/parser/block-parser.js b/packages/uni-template-compiler/lib/app/parser/block-parser.js
new file mode 100644
index 0000000000000000000000000000000000000000..993f997fc4f8f52f134af7356d68b70457da2d1b
--- /dev/null
+++ b/packages/uni-template-compiler/lib/app/parser/block-parser.js
@@ -0,0 +1,17 @@
+module.exports = function parseBlock (el) {
+ if (el.tag === 'block') {
+ el.tag = 'template'
+ const vForKey = el.key
+ if (vForKey) {
+ delete el.key
+ el.children.forEach((childEl, index) => {
+ const childVForKey = childEl.key
+ if (childVForKey) {
+ childEl.key = `${childVForKey}+'_'+${vForKey}+'_${index}'`
+ } else {
+ childEl.key = `${vForKey}+'_${index}'`
+ }
+ })
+ }
+ }
+}
diff --git a/packages/uni-template-compiler/lib/app/parser/component-parser.js b/packages/uni-template-compiler/lib/app/parser/component-parser.js
new file mode 100644
index 0000000000000000000000000000000000000000..97f07cbde884e56dfaf5bd2c5e963c00ab2135be
--- /dev/null
+++ b/packages/uni-template-compiler/lib/app/parser/component-parser.js
@@ -0,0 +1,15 @@
+const {
+ ID,
+ hasOwn
+} = require('../util')
+
+const tags = require('../../../../uni-cli-shared/lib/tags')
+
+// 仅限 view 层
+module.exports = function parseComponent (el) {
+ // 需要把自定义组件的 attrs, props 全干掉
+ if (el.tag && !hasOwn(tags, el.tag.replace('v-uni-', ''))) {
+ // 仅保留 ID
+ el.attrs = el.attrs.filter(attr => attr.name === ID)
+ }
+}
diff --git a/packages/uni-template-compiler/lib/app/event-parser.js b/packages/uni-template-compiler/lib/app/parser/event-parser.js
similarity index 100%
rename from packages/uni-template-compiler/lib/app/event-parser.js
rename to packages/uni-template-compiler/lib/app/parser/event-parser.js
diff --git a/packages/uni-template-compiler/lib/app/filter-parser.js b/packages/uni-template-compiler/lib/app/parser/filter-parser.js
similarity index 100%
rename from packages/uni-template-compiler/lib/app/filter-parser.js
rename to packages/uni-template-compiler/lib/app/parser/filter-parser.js
diff --git a/packages/uni-template-compiler/lib/app/tag-parser.js b/packages/uni-template-compiler/lib/app/parser/tag-parser.js
similarity index 50%
rename from packages/uni-template-compiler/lib/app/tag-parser.js
rename to packages/uni-template-compiler/lib/app/parser/tag-parser.js
index 21cd42226bf9841aacc77a004db61acdf9cba74f..60afecf073e7679d05aa1c5f698bb64943fbe53b 100644
--- a/packages/uni-template-compiler/lib/app/tag-parser.js
+++ b/packages/uni-template-compiler/lib/app/parser/tag-parser.js
@@ -1,10 +1,16 @@
const {
hasOwn
-} = require('./util')
+} = require('../util')
+
+const {
+ getTagName
+} = require('../../h5')
+
+const tags = require('../../../../uni-cli-shared/lib/tags')
-const tags = require('../../../uni-cli-shared/lib/tags')
// 仅限 view 层
module.exports = function parseTag (el) {
+ el.tag = getTagName(el.tag)
if (el.tag.indexOf('v-uni-') !== 0 && hasOwn(tags, el.tag)) {
el.tag = 'v-uni-' + el.tag
}
diff --git a/packages/uni-template-compiler/lib/app/text-parser.js b/packages/uni-template-compiler/lib/app/parser/text-parser.js
similarity index 100%
rename from packages/uni-template-compiler/lib/app/text-parser.js
rename to packages/uni-template-compiler/lib/app/parser/text-parser.js
diff --git a/packages/uni-template-compiler/lib/app/service.js b/packages/uni-template-compiler/lib/app/service.js
index 8c40b7cf4222e1cb15b63d58eca42f4f19e216e4..f8bffc32a72344c09156666cbc63d3a0c72fc396 100644
--- a/packages/uni-template-compiler/lib/app/service.js
+++ b/packages/uni-template-compiler/lib/app/service.js
@@ -4,19 +4,23 @@ const {
isVar,
getForEl,
processForKey,
- updateForEleId
+ updateForEleId,
+ traverseNode
} = require('./util')
const {
isComponent
} = require('../util')
-const parseText = require('./text-parser')
-const parseEvent = require('./event-parser')
+const parseText = require('./parser/text-parser')
+const parseEvent = require('./parser/event-parser')
+const parseBlock = require('./parser/block-parser')
const preTransformNode = require('./pre-transform-node')
-function genData (el) {
+function genData (el) {
+ delete el.$parentIterator3
+
const {
events,
dynamicClass,
@@ -130,14 +134,6 @@ function processIfConditions (el) {
})
el.if = `_$i(${el.attrsMap[ID]},${el.if})`
}
-
- el.children && el.children.forEach(child => {
- processIfConditions(child)
- })
-
- el.scopedSlots && Object.values(el.scopedSlots).forEach(child => {
- processIfConditions(child)
- })
}
function removeStatic (el) {
@@ -162,8 +158,10 @@ function processKey (el) {
if (processForKey(el)) {
el = el.children[0] // 当 template 下仅文本时,处理第一个动态文本
}
-
- if (el.key) { // renderList key
+ if (el.key && (
+ el.key.indexOf('_$f') !== 0 &&
+ el.key.indexOf('_$s') !== 0
+ )) { // renderList key
const forEl = getForEl(el)
if (forEl) {
if (!isVar(forEl.for)) {
@@ -184,8 +182,7 @@ function processKey (el) {
}
function processIf (el) {
- // 因为时机问题,在最后处理根节点时,遍历处理 ifConditions
- !el.parent && processIfConditions(el)
+ processIfConditions(el)
}
function processDirs (el) {
@@ -225,8 +222,9 @@ function processDynamicText (el, state) {
}]
el.hasBindings = true
- if (el.text) {
- const ret = parseText(el.text, false, state)
+ if (el.text) {
+ // fixed by xxxxxx 注意:保持平台一致性,trim 一下
+ const ret = parseText(el.text.trim(), false, state)
if (ret && ret.dynamicTexts.length) {
el.dynamicTexts = ret.dynamicTexts
}
@@ -274,7 +272,14 @@ function processAttrs (el) {
}
}
-function postTransformNode (el) {
+function processFor (el) {
+ if (el.for && isVar(el.for)) {
+ el.for = `_$f(${el.forId},{forItems:${el.for}})`
+ }
+}
+
+function transformNode (el, parent, state) {
+ parseBlock(el)
parseEvent(el)
removeStatic(el)
@@ -283,13 +288,22 @@ function postTransformNode (el) {
processAttrs(el)
processText(el)
- updateForEleId(el)
+ updateForEleId(el, state)
+ processFor(el)
processKey(el)
processIf(el)
processDirs(el)
}
+function postTransformNode (el) {
+ if (!el.parent) { // 从根节点开始递归处理
+ traverseNode(el, false, {
+ forIteratorId: 0,
+ transformNode
+ })
+ }
+}
module.exports = {
preTransformNode,
postTransformNode,
diff --git a/packages/uni-template-compiler/lib/app/util.js b/packages/uni-template-compiler/lib/app/util.js
index 130617115403aa80365c8bc477ee31e78d18085e..ccb8a00ea9b55f7e34f2514f782b568d1c115f5c 100644
--- a/packages/uni-template-compiler/lib/app/util.js
+++ b/packages/uni-template-compiler/lib/app/util.js
@@ -2,8 +2,10 @@ const VARS = ['true', 'false', 'null']
const NUMBER_RE = /^-?\d*(\.\d+)?$/
const ID = '_i'
-const ITERATOR = '$i'
-const DATA_ROOT = '$r'
+const ITERATOR1 = '$1'
+const ITERATOR2 = '$2'
+const ITERATOR3 = '$3'
+const DATA_ROOT = '_$g'
function isVar (str) {
if (!str) {
@@ -29,7 +31,7 @@ function addAttr (el, name, value) {
})
}
-function updateEleId (el, it) {
+function updateEleId (el, it, state) {
if (el.type !== 1) {
return
}
@@ -39,7 +41,12 @@ function updateEleId (el, it) {
const attr = el.attrs.find(attr => attr.name === ID)
attr.value = newId
el.children.forEach(child => {
- updateEleId(child, it)
+ if (!child.for) { // 忽略嵌套 for
+ updateEleId(child, it)
+ } else {
+ child.$parentIterator3 = (child.$parentIterator3 ? (child.$parentIterator3 + '+') : '') + it
+ child.forId = `${child.forId}+'-'+${it}`
+ }
})
}
@@ -63,12 +70,28 @@ function getAndRemoveAttr (el, name) {
return val
}
-function updateForEleId (el) {
+function updateForIterator (el, state) {
+ if (!el.for) {
+ return
+ }
+ // 简单处理,确保所有 for 循环,均包含 1,2,3
+ const forIteratorId = state.forIteratorId++
+ if (!el.iterator1) {
+ el.iterator1 = ITERATOR1 + forIteratorId
+ }
+ if (!el.iterator2) {
+ el.iterator2 = ITERATOR2 + forIteratorId
+ }
+ if (!el.iterator3) {
+ el.iterator3 = ITERATOR3 + forIteratorId
+ }
+}
+
+function updateForEleId (el, state) {
+ updateForIterator(el, state)
if (el.for) {
- if (!el.iterator1) {
- el.iterator1 = ITERATOR
- }
- updateEleId(el, el.iterator2 || el.iterator1)
+ const it = el.$parentIterator3 ? (el.$parentIterator3 + '+' + el.iterator3) : el.iterator3
+ updateEleId(el, it, state)
}
}
@@ -76,30 +99,30 @@ function getForEl (el) {
if (el.for) {
return el
}
- if (el.parent && el.parent.for && el.parent.tag === 'template') {
+ if (el.parent && el.parent.for && (el.parent.tag === 'template' || el.parent.tag === 'block')) {
return el.parent
}
}
function processForKey (el) {
const forEl = getForEl(el)
- if (forEl && !el.key) {
+ if (forEl && !el.key && !el.dynamicTexts) { // 占位的 text 标签也无需添加 key
if (!isVar(forEl.for)) { //
return
}
- const it = forEl.iterator2 || forEl.iterator1 || ITERATOR
- if (forEl.tag === 'template') {
+ const it = forEl.iterator3
+ if (forEl.tag === 'template' || forEl.tag === 'block') {
if (forEl !== el) {
const keyIndex = forEl.children.indexOf(el)
- el.key = `'${forEl.forId}-${keyIndex}-'+${it}`
+ el.key = `${forEl.forId}+'-${keyIndex}'+${it}`
} else { // 当 template 下只有文本节点
if (el.children && el.children.length && !el.children.find(child => child.key)) {
- el.children[0].key = `'${forEl.forId}-0-'+${it}`
+ el.children[0].key = `${forEl.forId}+'-0'+${it}`
return true
}
}
} else {
- el.key = `'${forEl.forId}-'+${it}`
+ el.key = `${forEl.forId}+${it}`
}
}
}
@@ -108,10 +131,18 @@ function hasOwn (obj, key) {
return hasOwnProperty.call(obj, key)
}
+function traverseNode (el, parent, state) {
+ state.transformNode(el, parent, state)
+ el.children && el.children.forEach(child => traverseNode(child, el, state))
+ el.ifConditions && el.ifConditions.forEach((con, index) => {
+ index !== 0 && traverseNode(con.block, el, state)
+ })
+ el.scopedSlots && Object.values(el.scopedSlots).forEach(slot => traverseNode(slot, el, state))
+}
+
module.exports = {
ID,
DATA_ROOT,
- ITERATOR,
isVar,
hasOwn,
addAttr,
@@ -119,5 +150,6 @@ module.exports = {
processForKey,
updateForEleId,
getBindingAttr,
- getAndRemoveAttr
+ getAndRemoveAttr,
+ traverseNode
}
diff --git a/packages/uni-template-compiler/lib/app/view.js b/packages/uni-template-compiler/lib/app/view.js
index eb7b1c7d6ebef2b11d006c5fa46ee06eb3bbf1fa..08b451f7322219d04bf6c24bac8b44e727495e73 100644
--- a/packages/uni-template-compiler/lib/app/view.js
+++ b/packages/uni-template-compiler/lib/app/view.js
@@ -4,22 +4,22 @@ const {
isVar,
getForEl,
updateForEleId,
- processForKey
+ processForKey,
+ traverseNode
} = require('./util')
-const parseTag = require('./tag-parser')
-const parseText = require('./text-parser')
-const parseEvent = require('./event-parser')
-const parseComponent = require('./component-parser')
+const parseTag = require('./parser/tag-parser')
+const parseText = require('./parser/text-parser')
+const parseEvent = require('./parser/event-parser')
+const parseBlock = require('./parser/block-parser')
+const parseComponent = require('./parser/component-parser')
-const preTransformNode = require('./pre-transform-node')
+const basePreTransformNode = require('./pre-transform-node')
function createGenVar (id) {
return function genVar (name, extra = '') {
- if (/^\d+$/.test(id)) {
- return `${DATA_ROOT}['${id}']['${name}']${extra}`
- }
- return `${DATA_ROOT}[${id}]['${name}']${extra}`
+ extra = extra ? (',' + extra) : ''
+ return `${DATA_ROOT}(${id},'${name}'${extra})`
}
}
@@ -34,14 +34,6 @@ function processIfConditions (el) {
el.if = createGenVar(el.attrsMap[ID])('v-if')
}
-
- el.children && el.children.forEach(child => {
- processIfConditions(child)
- })
-
- el.scopedSlots && Object.values(el.scopedSlots).forEach(child => {
- processIfConditions(child)
- })
}
function processBinding (el, genVar) {
@@ -63,14 +55,6 @@ function processFor (el, genVal) {
if (el.alias[0] === '{') {
el.alias = '$item'
}
- // items 只有两种格式 [1,2,3],[{k0:'1-0',k1:'1-1'}]
- //
- // =>
- //
- if (el.iterator2) {
- el.iterator1 = el.iterator2
- delete el.iterator2
- }
}
}
@@ -97,8 +81,7 @@ function processKey (el) {
}
function processIf (el) {
- // 因为时机问题,在最后处理根节点时,遍历处理 ifConditions
- !el.parent && processIfConditions(el)
+ processIfConditions(el)
}
function processDirs (el, genVar) {
@@ -127,13 +110,17 @@ function processText (el, parent) {
index: 0,
view: true,
genVar: createGenVar(parent.attrsMap[ID])
- }
- el.expression = parseText(el.text, false, state).expression
+ }
+ // fixed by xxxxxx 注意:保持平台一致性,trim 一下
+ el.expression = parseText(el.text.trim(), false, state).expression
}
-function transformNode (el, parent) {
+function transformNode (el, parent, state) {
+ parseBlock(el)
+ parseComponent(el)
+ parseEvent(el)
// 更新 id
- updateForEleId(el)
+ updateForEleId(el, state)
if (el.type !== 1) {
return (el.type === 2 && processText(el, parent))
@@ -151,20 +138,12 @@ function transformNode (el, parent) {
processProps(el, genVar)
}
-function traverseNode (el, parent) {
- transformNode(el, parent)
- el.children && el.children.forEach(child => traverseNode(child, el))
- el.scopedSlots && Object.values(el.scopedSlots).forEach(slot => traverseNode(slot, el))
-}
-
function postTransformNode (el) {
- // 需要提前处理的内容
- parseComponent(el)
- parseTag(el)
- parseEvent(el)
-
if (!el.parent) { // 从根节点开始递归处理
- traverseNode(el)
+ traverseNode(el, false, {
+ forIteratorId: 0,
+ transformNode
+ })
}
}
@@ -207,6 +186,8 @@ function processEvents (events) {
}
function genData (el) {
+ delete el.$parentIterator3
+
if (el.model) {
el.model.callback = `function ($$v) {}`
}
@@ -219,7 +200,10 @@ function genData (el) {
}
module.exports = {
- preTransformNode,
+ preTransformNode: function (el, options) {
+ parseTag(el)
+ return basePreTransformNode(el, options)
+ },
postTransformNode,
genData
}
diff --git a/packages/uni-template-compiler/lib/index.js b/packages/uni-template-compiler/lib/index.js
index a8c0389f7f4343e92a1dcdee7277cac573f28113..20e2714d67c7505a304d8c20ffa1c07ec146a632 100644
--- a/packages/uni-template-compiler/lib/index.js
+++ b/packages/uni-template-compiler/lib/index.js
@@ -8,7 +8,7 @@ const {
compileToFunctions,
ssrCompile,
ssrCompileToFunctions
-} = require('vue-template-compiler')
+} = require('../../vue-cli-plugin-uni/packages/vue-template-compiler')
const platforms = require('./platforms')
const traverseScript = require('./script/traverse')
diff --git a/packages/vue-cli-plugin-uni/lib/app-plus/index.js b/packages/vue-cli-plugin-uni/lib/app-plus/index.js
index 5711364c762543245ff80c97129b289bd393a469..4c6d58559a79509e171c209a2b6bda007d00a2cb 100644
--- a/packages/vue-cli-plugin-uni/lib/app-plus/index.js
+++ b/packages/vue-cli-plugin-uni/lib/app-plus/index.js
@@ -34,13 +34,11 @@ const v3 = {
// disable noEmitOnErrors
webpackConfig.optimization.noEmitOnErrors = false
- const externals = {}
- if (isAppService) { // service 层需要编译时注入 vue 内核
+ if (isAppService) {
webpackConfig.optimization.runtimeChunk = {
name: 'app-config'
}
} else if (isAppView) {
- externals['vue'] = 'Vue'
webpackConfig.optimization.runtimeChunk = false
}
@@ -48,6 +46,18 @@ const v3 = {
let devtool = false
+ const rules = []
+
+ if (isAppView) {
+ rules.push({ // 解析组件,css 等
+ resourceQuery: /vue&type=script/,
+ use: [{
+ loader: path.resolve(__dirname,
+ '../../packages/webpack-uni-app-loader/view/script')
+ }]
+ })
+ }
+
return {
devtool,
mode: process.env.NODE_ENV,
@@ -65,7 +75,7 @@ const v3 = {
},
output: {
filename: '[name].js',
- chunkFilename: '[id].js',
+ chunkFilename: '[id].js',
globalObject: 'this'
},
performance: {
@@ -84,7 +94,7 @@ const v3 = {
test: path.resolve(process.env.UNI_INPUT_DIR, getMainEntry()),
use: [{
loader: isAppService ? 'wrap-loader' : path.resolve(__dirname,
- '../../packages/webpack-uni-view-main-loader'),
+ '../../packages/webpack-uni-app-loader/view/main.js'),
options: {
compiler: getPlatformCompiler(),
before: [
@@ -92,7 +102,9 @@ const v3 = {
]
}
}]
- }]
+ },
+ ...rules
+ ]
},
plugins: [
new webpack.ProvidePlugin(getProvides())
@@ -114,9 +126,10 @@ const v3 = {
webpackConfig.module
.rule('vue')
.test([/\.vue$/, /\.nvue$/])
- .use('vue-loader')// service 层移除 style 节点,view 层返回固定 script
+ .use('vue-loader') // service 层移除 style 节点,view 层返回固定 script
.loader(path.resolve(__dirname, '../../packages/vue-loader/lib'))
.tap(options => Object.assign(options, {
+ isAppService,
isAppView,
compiler: getPlatformCompiler(),
compilerOptions,
@@ -132,6 +145,11 @@ const v3 = {
// .options({
// compiler: getPlatformCompiler()
// })
+ if (isAppView) {
+ if (process.env.NODE_ENV === 'production') {
+ require('../h5/cssnano-options')(webpackConfig)
+ }
+ }
webpackConfig.plugins.delete('hmr')
webpackConfig.plugins.delete('html')
diff --git a/packages/vue-cli-plugin-uni/lib/h5/cssnano-options.js b/packages/vue-cli-plugin-uni/lib/h5/cssnano-options.js
new file mode 100644
index 0000000000000000000000000000000000000000..5428a35896d8db2801ad35d8d65b6f9bb0eb6fe8
--- /dev/null
+++ b/packages/vue-cli-plugin-uni/lib/h5/cssnano-options.js
@@ -0,0 +1,52 @@
+const {
+ getPlatformCssnano
+} = require('@dcloudio/uni-cli-shared')
+
+module.exports = function initCssnanoOptions (webpackConfig) {
+ const module = webpackConfig.module
+ // TODO 临时 hack calc:false 看看 vue cli 后续是否开放 cssnano 的配置
+ const cssnanoOptions = {
+ sourceMap: false,
+ plugins: [require('cssnano')({
+ preset: ['default', getPlatformCssnano()]
+ })]
+ }
+
+ module.rule('css').oneOf('vue-modules').use('cssnano').loader('postcss-loader').options(cssnanoOptions)
+ module.rule('css').oneOf('vue').use('cssnano').loader('postcss-loader').options(cssnanoOptions)
+ module.rule('css').oneOf('normal-modules').use('cssnano').loader('postcss-loader').options(
+ cssnanoOptions)
+ module.rule('css').oneOf('normal').use('cssnano').loader('postcss-loader').options(cssnanoOptions)
+
+ module.rule('postcss').oneOf('vue-modules').use('cssnano').loader('postcss-loader').options(
+ cssnanoOptions)
+ module.rule('postcss').oneOf('vue').use('cssnano').loader('postcss-loader').options(cssnanoOptions)
+ module.rule('postcss').oneOf('normal-modules').use('cssnano').loader('postcss-loader').options(
+ cssnanoOptions)
+ module.rule('postcss').oneOf('normal').use('cssnano').loader('postcss-loader').options(cssnanoOptions)
+
+ module.rule('scss').oneOf('vue-modules').use('cssnano').loader('postcss-loader').options(cssnanoOptions)
+ module.rule('scss').oneOf('vue').use('cssnano').loader('postcss-loader').options(cssnanoOptions)
+ module.rule('scss').oneOf('normal-modules').use('cssnano').loader('postcss-loader').options(
+ cssnanoOptions)
+ module.rule('scss').oneOf('normal').use('cssnano').loader('postcss-loader').options(cssnanoOptions)
+
+ module.rule('sass').oneOf('vue-modules').use('cssnano').loader('postcss-loader').options(cssnanoOptions)
+ module.rule('sass').oneOf('vue').use('cssnano').loader('postcss-loader').options(cssnanoOptions)
+ module.rule('sass').oneOf('normal-modules').use('cssnano').loader('postcss-loader').options(
+ cssnanoOptions)
+ module.rule('sass').oneOf('normal').use('cssnano').loader('postcss-loader').options(cssnanoOptions)
+
+ module.rule('less').oneOf('vue-modules').use('cssnano').loader('postcss-loader').options(cssnanoOptions)
+ module.rule('less').oneOf('vue').use('cssnano').loader('postcss-loader').options(cssnanoOptions)
+ module.rule('less').oneOf('normal-modules').use('cssnano').loader('postcss-loader').options(
+ cssnanoOptions)
+ module.rule('less').oneOf('normal').use('cssnano').loader('postcss-loader').options(cssnanoOptions)
+
+ module.rule('stylus').oneOf('vue-modules').use('cssnano').loader('postcss-loader').options(
+ cssnanoOptions)
+ module.rule('stylus').oneOf('vue').use('cssnano').loader('postcss-loader').options(cssnanoOptions)
+ module.rule('stylus').oneOf('normal-modules').use('cssnano').loader('postcss-loader').options(
+ cssnanoOptions)
+ module.rule('stylus').oneOf('normal').use('cssnano').loader('postcss-loader').options(cssnanoOptions)
+}
diff --git a/packages/vue-cli-plugin-uni/lib/h5/index.js b/packages/vue-cli-plugin-uni/lib/h5/index.js
index 1f33b207d495589a49a892406869102af84a157e..c9d89cb8090a9b436aa726e79ec46fe4881bee41 100644
--- a/packages/vue-cli-plugin-uni/lib/h5/index.js
+++ b/packages/vue-cli-plugin-uni/lib/h5/index.js
@@ -4,8 +4,7 @@ const path = require('path')
const {
getMainEntry,
getH5Options,
- getPlatformCompiler,
- getPlatformCssnano
+ getPlatformCompiler
} = require('@dcloudio/uni-cli-shared')
const WebpackHtmlAppendPlugin = require('../../packages/webpack-html-append-plugin')
@@ -61,7 +60,7 @@ if (devServer && Object.keys(devServer).length) {
module.exports = {
vueConfig,
- webpackConfig (webpackConfig) {
+ webpackConfig (webpackConfig) {
let useBuiltIns = 'usage'
const statCode = process.env.UNI_USING_STAT ? `import '@dcloudio/uni-stat';` : ''
@@ -72,7 +71,7 @@ module.exports = {
} catch (e) {}
const beforeCode = (useBuiltIns === 'entry' ? `import '@babel/polyfill';` : '') +
- `import 'uni-pages';import 'uni-${process.env.UNI_PLATFORM}';`
+ `import 'uni-pages';import 'uni-${process.env.UNI_PLATFORM}';`
return {
devtool: process.env.NODE_ENV === 'production' ? false : 'source-map',
@@ -156,52 +155,7 @@ module.exports = {
.delete('cache-loader')
if (process.env.NODE_ENV === 'production') {
- const module = webpackConfig.module
- // TODO 临时 hack calc:false 看看 vue cli 后续是否开放 cssnano 的配置
- const cssnanoOptions = {
- sourceMap: false,
- plugins: [require('cssnano')({
- preset: ['default', getPlatformCssnano()]
- })]
- }
-
- module.rule('css').oneOf('vue-modules').use('cssnano').loader('postcss-loader').options(cssnanoOptions)
- module.rule('css').oneOf('vue').use('cssnano').loader('postcss-loader').options(cssnanoOptions)
- module.rule('css').oneOf('normal-modules').use('cssnano').loader('postcss-loader').options(
- cssnanoOptions)
- module.rule('css').oneOf('normal').use('cssnano').loader('postcss-loader').options(cssnanoOptions)
-
- module.rule('postcss').oneOf('vue-modules').use('cssnano').loader('postcss-loader').options(
- cssnanoOptions)
- module.rule('postcss').oneOf('vue').use('cssnano').loader('postcss-loader').options(cssnanoOptions)
- module.rule('postcss').oneOf('normal-modules').use('cssnano').loader('postcss-loader').options(
- cssnanoOptions)
- module.rule('postcss').oneOf('normal').use('cssnano').loader('postcss-loader').options(cssnanoOptions)
-
- module.rule('scss').oneOf('vue-modules').use('cssnano').loader('postcss-loader').options(cssnanoOptions)
- module.rule('scss').oneOf('vue').use('cssnano').loader('postcss-loader').options(cssnanoOptions)
- module.rule('scss').oneOf('normal-modules').use('cssnano').loader('postcss-loader').options(
- cssnanoOptions)
- module.rule('scss').oneOf('normal').use('cssnano').loader('postcss-loader').options(cssnanoOptions)
-
- module.rule('sass').oneOf('vue-modules').use('cssnano').loader('postcss-loader').options(cssnanoOptions)
- module.rule('sass').oneOf('vue').use('cssnano').loader('postcss-loader').options(cssnanoOptions)
- module.rule('sass').oneOf('normal-modules').use('cssnano').loader('postcss-loader').options(
- cssnanoOptions)
- module.rule('sass').oneOf('normal').use('cssnano').loader('postcss-loader').options(cssnanoOptions)
-
- module.rule('less').oneOf('vue-modules').use('cssnano').loader('postcss-loader').options(cssnanoOptions)
- module.rule('less').oneOf('vue').use('cssnano').loader('postcss-loader').options(cssnanoOptions)
- module.rule('less').oneOf('normal-modules').use('cssnano').loader('postcss-loader').options(
- cssnanoOptions)
- module.rule('less').oneOf('normal').use('cssnano').loader('postcss-loader').options(cssnanoOptions)
-
- module.rule('stylus').oneOf('vue-modules').use('cssnano').loader('postcss-loader').options(
- cssnanoOptions)
- module.rule('stylus').oneOf('vue').use('cssnano').loader('postcss-loader').options(cssnanoOptions)
- module.rule('stylus').oneOf('normal-modules').use('cssnano').loader('postcss-loader').options(
- cssnanoOptions)
- module.rule('stylus').oneOf('normal').use('cssnano').loader('postcss-loader').options(cssnanoOptions)
+ require('./cssnano-options')(webpackConfig)
}
}
}
diff --git a/packages/vue-cli-plugin-uni/packages/h5-vue-template-loader/index.js b/packages/vue-cli-plugin-uni/packages/h5-vue-template-loader/index.js
index 27e9fd2d6b34e6b5ee0441807d3f126aa84ad34d..a2f3603b689cc0be1ca82289fefb276b0c9f83b9 100644
--- a/packages/vue-cli-plugin-uni/packages/h5-vue-template-loader/index.js
+++ b/packages/vue-cli-plugin-uni/packages/h5-vue-template-loader/index.js
@@ -1,8 +1,6 @@
-const path = require('path')
-
const loaderUtils = require('loader-utils')
-module.exports = function(content) {
+module.exports = function (content) {
this.cacheable && this.cacheable()
const vueLoaderOptions = this.loaders[0]
diff --git a/packages/vue-cli-plugin-uni/packages/postcss/index.js b/packages/vue-cli-plugin-uni/packages/postcss/index.js
index 8e8537a2d2fdc704ff33d9f97d27d7b9c900ea25..a5880f7cb5f26557c7ada292c19560396b55cf7a 100644
--- a/packages/vue-cli-plugin-uni/packages/postcss/index.js
+++ b/packages/vue-cli-plugin-uni/packages/postcss/index.js
@@ -25,7 +25,7 @@ if (process.env.UNI_USING_V3) {
return selectorParser(transformer).processSync(complexSelector)
}
- const parseWord = function(node, opts) {
+ const parseWord = function (node, opts) {
const pair = unit(node.value)
if (pair) {
const num = Number(pair.number)
@@ -51,13 +51,13 @@ if (process.env.UNI_USING_V3) {
}
}
- const isInsideKeyframes = function(rule) {
+ const isInsideKeyframes = function (rule) {
return (
rule.parent && rule.parent.type === 'atrule' && /^(-\w+-)?keyframes$/.test(rule.parent.name)
)
}
- const tranformValue = function(decl, opts) {
+ const tranformValue = function (decl, opts) {
return valueParser(decl.value)
.walk(node => {
if (node.type === 'word') {
@@ -154,12 +154,12 @@ if (process.env.UNI_USING_V3) {
* 转换 upx
* 转换 px
*/
- module.exports = postcss.plugin('postcss-uniapp-plugin', function(opts) {
+ module.exports = postcss.plugin('postcss-uniapp-plugin', function (opts) {
opts = {
...defaultOpts,
...opts
}
- return function(root, result) {
+ return function (root, result) {
if (process.env.UNI_PLATFORM === 'h5') {
// Transform CSS AST here
@@ -181,7 +181,7 @@ if (process.env.UNI_USING_V3) {
tag.value = 'uni-page-body'
hasPage = true
} else if (~TAGS.indexOf(tag.value) && tag.value.substring(
- 0, 4) !== 'uni-') {
+ 0, 4) !== 'uni-') {
tag.value = 'uni-' + tag.value
}
})
@@ -209,7 +209,7 @@ if (process.env.UNI_USING_V3) {
}
} else {
root.walkRules(rule => {
- const selectors = transformSelector(rule.selectors.join(','), function(selectors) {
+ const selectors = transformSelector(rule.selectors.join(','), function (selectors) {
selectors.walkUniversals(node => {
node.parent.remove()
})
@@ -240,8 +240,8 @@ if (process.env.UNI_USING_V3) {
const k = tag.value
const v = CSS_TAGS[k]
if (v) {
- tag.value = v === 'r' ?
- `._${k}` : v
+ tag.value = v === 'r'
+ ? `._${k}` : v
}
})
})
diff --git a/packages/vue-cli-plugin-uni/packages/postcss/index.v3.js b/packages/vue-cli-plugin-uni/packages/postcss/index.v3.js
index 5a24eaf72eecde9a724b5417ac9ca5d351b00bf5..5e1b9d7693e87f511089b05ffea6eee5f633e879 100644
--- a/packages/vue-cli-plugin-uni/packages/postcss/index.v3.js
+++ b/packages/vue-cli-plugin-uni/packages/postcss/index.v3.js
@@ -6,13 +6,13 @@ const TAGS = Object.keys(require('@dcloudio/uni-cli-shared').tags)
const transformSelector = (complexSelector, transformer) => {
return selectorParser(transformer).processSync(complexSelector)
}
-const isInsideKeyframes = function(rule) {
+const isInsideKeyframes = function (rule) {
return (
rule.parent && rule.parent.type === 'atrule' && /^(-\w+-)?keyframes$/.test(rule.parent.name)
)
}
-module.exports = postcss.plugin('postcss-uniapp-plugin', function(opts) {
- return function(root, result) {
+module.exports = postcss.plugin('postcss-uniapp-plugin', function (opts) {
+ return function (root, result) {
root.walkRules(rule => {
// Transform each rule here
if (!isInsideKeyframes(rule)) {
@@ -27,7 +27,7 @@ module.exports = postcss.plugin('postcss-uniapp-plugin', function(opts) {
if (tag.value === 'page') {
tag.value = 'body'
} else if (~TAGS.indexOf(tag.value) && tag.value.substring(
- 0, 4) !== 'uni-') {
+ 0, 4) !== 'uni-') {
tag.value = 'uni-' + tag.value
}
})
diff --git a/packages/vue-cli-plugin-uni/packages/vue-loader/lib/index.js b/packages/vue-cli-plugin-uni/packages/vue-loader/lib/index.js
index 19455e39f09a9f10e693f26335826079e7512a55..8023f68eb46540d73221c4c4fe10ebf631718220 100644
--- a/packages/vue-cli-plugin-uni/packages/vue-loader/lib/index.js
+++ b/packages/vue-cli-plugin-uni/packages/vue-loader/lib/index.js
@@ -122,7 +122,7 @@ module.exports = function (source) {
// script
let scriptImport = `var script = {}`
- if (descriptor.script) {
+ if (descriptor.script) {// fixed by xxxxxx view 层的 script 在 script-loader 中提取自定义组件信息
const src = descriptor.script.src || resourcePath
const attrsQuery = attrsToQuery(descriptor.script.attrs, 'js')
const query = `?vue&type=script${attrsQuery}${inheritQuery}`
@@ -135,7 +135,7 @@ module.exports = function (source) {
// styles
let stylesCode = ``
- if (options.isAppView && descriptor.styles.length) {
+ if (options.isAppView && descriptor.styles.length) {// fixed by xxxxxx 仅限 view 层
stylesCode = genStylesCode(
loaderContext,
descriptor.styles,
diff --git a/packages/vue-cli-plugin-uni/packages/vue-template-compiler/browser.js b/packages/vue-cli-plugin-uni/packages/vue-template-compiler/browser.js
index 8b9b33fa6c4dfeafc61caf5ac88328eeece673fb..83dd5cd15122959b3bb5be12b3b52b6b83f0457c 100644
--- a/packages/vue-cli-plugin-uni/packages/vue-template-compiler/browser.js
+++ b/packages/vue-cli-plugin-uni/packages/vue-template-compiler/browser.js
@@ -255,8 +255,8 @@
/* */
- var isUnaryTag = makeMap(
- 'area,base,br,col,embed,frame,hr,img,input,isindex,keygen,' +
+ var isUnaryTag = makeMap(// fixed by xxxxxx add image
+ 'image,area,base,br,col,embed,frame,hr,img,input,isindex,keygen,' +
'link,meta,param,source,track,wbr'
);
@@ -1036,7 +1036,13 @@
* directives subscribing to it.
*/
var Dep = function Dep () {
- this.id = uid++;
+ // fixed by xxxxxx (nvue vuex)
+ /* eslint-disable no-undef */
+ if(typeof SharedObject !== 'undefined'){
+ this.id = SharedObject.uid++;
+ } else {
+ this.id = uid++;
+ }
this.subs = [];
};
@@ -1763,36 +1769,6 @@
/* */
- /* */
-
- function transformNode(el) {
- var list = el.attrsList;
- for (var i = list.length - 1; i >= 0; i--) {
- var name = list[i].name;
- if (name.indexOf(':change:') === 0 || name.indexOf('v-bind:change:') === 0) {
- var nameArr = name.split(':');
- var wxsProp = nameArr[nameArr.length - 1];
- var wxsPropBinding = el.attrsMap[':' + wxsProp] || el.attrsMap['v-bind:' + wxsProp];
- if (wxsPropBinding) {
- (el.wxsPropBindings || (el.wxsPropBindings = {}))['change:' + wxsProp] = wxsPropBinding;
- }
- }
- }
- }
-
- function genData(el) {
- var data = '';
- if (el.wxsPropBindings) {
- data += "wxsProps:" + (JSON.stringify(el.wxsPropBindings)) + ",";
- }
- return data
- }
-
- var wxs = {
- transformNode: transformNode,
- genData: genData
- };
-
/* */
var validDivisionCharRE = /[\w).+\-_$\]]/;
@@ -2170,7 +2146,7 @@
/* */
- function transformNode$1 (el, options) {
+ function transformNode (el, options) {
var warn = options.warn || baseWarn;
var staticClass = getAndRemoveAttr(el, 'class');
if (staticClass) {
@@ -2194,7 +2170,7 @@
}
}
- function genData$1 (el) {
+ function genData (el) {
var data = '';
if (el.staticClass) {
data += "staticClass:" + (el.staticClass) + ",";
@@ -2207,8 +2183,8 @@
var klass = {
staticKeys: ['staticClass'],
- transformNode: transformNode$1,
- genData: genData$1
+ transformNode: transformNode,
+ genData: genData
};
/* */
@@ -2228,7 +2204,7 @@
/* */
- function transformNode$2 (el, options) {
+ function transformNode$1 (el, options) {
var warn = options.warn || baseWarn;
var staticStyle = getAndRemoveAttr(el, 'style');
if (staticStyle) {
@@ -2254,7 +2230,7 @@
}
}
- function genData$2 (el) {
+ function genData$1 (el) {
var data = '';
if (el.staticStyle) {
data += "staticStyle:" + (el.staticStyle) + ",";
@@ -2267,8 +2243,8 @@
var style = {
staticKeys: ['staticStyle'],
- transformNode: transformNode$2,
- genData: genData$2
+ transformNode: transformNode$1,
+ genData: genData$1
};
var commonjsGlobal = typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
@@ -3783,6 +3759,36 @@
preTransformNode: preTransformNode
};
+ /* */
+
+ function transformNode$2(el) {
+ var list = el.attrsList;
+ for (var i = list.length - 1; i >= 0; i--) {
+ var name = list[i].name;
+ if (name.indexOf(':change:') === 0 || name.indexOf('v-bind:change:') === 0) {
+ var nameArr = name.split(':');
+ var wxsProp = nameArr[nameArr.length - 1];
+ var wxsPropBinding = el.attrsMap[':' + wxsProp] || el.attrsMap['v-bind:' + wxsProp];
+ if (wxsPropBinding) {
+ (el.wxsPropBindings || (el.wxsPropBindings = {}))['change:' + wxsProp] = wxsPropBinding;
+ }
+ }
+ }
+ }
+
+ function genData$2(el) {
+ var data = '';
+ if (el.wxsPropBindings) {
+ data += "wxsProps:" + (JSON.stringify(el.wxsPropBindings)) + ",";
+ }
+ return data
+ }
+
+ var wxs = {
+ transformNode: transformNode$2,
+ genData: genData$2
+ };
+
var modules = [
wxs,// fixed by xxxxxx
klass,
@@ -4470,7 +4476,7 @@
var alias = el.alias;
var iterator1 = el.iterator1 ? ("," + (el.iterator1)) : '';
var iterator2 = el.iterator2 ? ("," + (el.iterator2)) : '';
-
+ var iterator3 = el.iterator3 ? ("," + (el.iterator3)) : ''; // fixed by xxxxxx
if (state.maybeComponent(el) &&
el.tag !== 'slot' &&
el.tag !== 'template' &&
@@ -4487,7 +4493,7 @@
el.forProcessed = true; // avoid recursion
return (altHelper || '_l') + "((" + exp + ")," +
- "function(" + alias + iterator1 + iterator2 + "){" +
+ "function(" + alias + iterator1 + iterator2 + iterator3 + "){" + // fixed by xxxxxx
"return " + ((altGen || genElement)(el, state)) +
'})'
}
diff --git a/packages/vue-cli-plugin-uni/packages/vue-template-compiler/build.js b/packages/vue-cli-plugin-uni/packages/vue-template-compiler/build.js
index 4791721ac4900c6f651d0cba9ae50521a113aa49..3e98e934cc17a883ace5b98f13e94e8784915054 100644
--- a/packages/vue-cli-plugin-uni/packages/vue-template-compiler/build.js
+++ b/packages/vue-cli-plugin-uni/packages/vue-template-compiler/build.js
@@ -212,8 +212,8 @@ function genStaticKeys (modules) {
/* */
-var isUnaryTag = makeMap(
- 'area,base,br,col,embed,frame,hr,img,input,isindex,keygen,' +
+var isUnaryTag = makeMap(// fixed by xxxxxx add image
+ 'image,area,base,br,col,embed,frame,hr,img,input,isindex,keygen,' +
'link,meta,param,source,track,wbr'
);
@@ -994,7 +994,13 @@ var uid = 0;
* directives subscribing to it.
*/
var Dep = function Dep () {
- this.id = uid++;
+ // fixed by xxxxxx (nvue vuex)
+ /* eslint-disable no-undef */
+ if(typeof SharedObject !== 'undefined'){
+ this.id = SharedObject.uid++;
+ } else {
+ this.id = uid++;
+ }
this.subs = [];
};
@@ -1728,36 +1734,6 @@ var isTextInputType = makeMap('text,number,password,search,email,tel,url');
/* */
-/* */
-
-function transformNode(el) {
- var list = el.attrsList;
- for (var i = list.length - 1; i >= 0; i--) {
- var name = list[i].name;
- if (name.indexOf(':change:') === 0 || name.indexOf('v-bind:change:') === 0) {
- var nameArr = name.split(':');
- var wxsProp = nameArr[nameArr.length - 1];
- var wxsPropBinding = el.attrsMap[':' + wxsProp] || el.attrsMap['v-bind:' + wxsProp];
- if (wxsPropBinding) {
- (el.wxsPropBindings || (el.wxsPropBindings = {}))['change:' + wxsProp] = wxsPropBinding;
- }
- }
- }
-}
-
-function genData(el) {
- var data = '';
- if (el.wxsPropBindings) {
- data += "wxsProps:" + (JSON.stringify(el.wxsPropBindings)) + ",";
- }
- return data
-}
-
-var wxs = {
- transformNode: transformNode,
- genData: genData
-};
-
/* */
var validDivisionCharRE = /[\w).+\-_$\]]/;
@@ -2135,7 +2111,7 @@ function rangeSetItem (
/* */
-function transformNode$1 (el, options) {
+function transformNode (el, options) {
var warn = options.warn || baseWarn;
var staticClass = getAndRemoveAttr(el, 'class');
if (process.env.NODE_ENV !== 'production' && staticClass) {
@@ -2159,7 +2135,7 @@ function transformNode$1 (el, options) {
}
}
-function genData$1 (el) {
+function genData (el) {
var data = '';
if (el.staticClass) {
data += "staticClass:" + (el.staticClass) + ",";
@@ -2172,8 +2148,8 @@ function genData$1 (el) {
var klass = {
staticKeys: ['staticClass'],
- transformNode: transformNode$1,
- genData: genData$1
+ transformNode: transformNode,
+ genData: genData
};
/* */
@@ -2193,7 +2169,7 @@ var parseStyleText = cached(function (cssText) {
/* */
-function transformNode$2 (el, options) {
+function transformNode$1 (el, options) {
var warn = options.warn || baseWarn;
var staticStyle = getAndRemoveAttr(el, 'style');
if (staticStyle) {
@@ -2219,7 +2195,7 @@ function transformNode$2 (el, options) {
}
}
-function genData$2 (el) {
+function genData$1 (el) {
var data = '';
if (el.staticStyle) {
data += "staticStyle:" + (el.staticStyle) + ",";
@@ -2232,8 +2208,8 @@ function genData$2 (el) {
var style = {
staticKeys: ['staticStyle'],
- transformNode: transformNode$2,
- genData: genData$2
+ transformNode: transformNode$1,
+ genData: genData$1
};
/* */
@@ -3405,6 +3381,36 @@ var model = {
preTransformNode: preTransformNode
};
+/* */
+
+function transformNode$2(el) {
+ var list = el.attrsList;
+ for (var i = list.length - 1; i >= 0; i--) {
+ var name = list[i].name;
+ if (name.indexOf(':change:') === 0 || name.indexOf('v-bind:change:') === 0) {
+ var nameArr = name.split(':');
+ var wxsProp = nameArr[nameArr.length - 1];
+ var wxsPropBinding = el.attrsMap[':' + wxsProp] || el.attrsMap['v-bind:' + wxsProp];
+ if (wxsPropBinding) {
+ (el.wxsPropBindings || (el.wxsPropBindings = {}))['change:' + wxsProp] = wxsPropBinding;
+ }
+ }
+ }
+}
+
+function genData$2(el) {
+ var data = '';
+ if (el.wxsPropBindings) {
+ data += "wxsProps:" + (JSON.stringify(el.wxsPropBindings)) + ",";
+ }
+ return data
+}
+
+var wxs = {
+ transformNode: transformNode$2,
+ genData: genData$2
+};
+
var modules = [
wxs,// fixed by xxxxxx
klass,
@@ -4100,7 +4106,7 @@ function genFor (
var alias = el.alias;
var iterator1 = el.iterator1 ? ("," + (el.iterator1)) : '';
var iterator2 = el.iterator2 ? ("," + (el.iterator2)) : '';
-
+ var iterator3 = el.iterator3 ? ("," + (el.iterator3)) : ''; // fixed by xxxxxx
if (process.env.NODE_ENV !== 'production' &&
state.maybeComponent(el) &&
el.tag !== 'slot' &&
@@ -4118,7 +4124,7 @@ function genFor (
el.forProcessed = true; // avoid recursion
return (altHelper || '_l') + "((" + exp + ")," +
- "function(" + alias + iterator1 + iterator2 + "){" +
+ "function(" + alias + iterator1 + iterator2 + iterator3 + "){" + // fixed by xxxxxx
"return " + ((altGen || genElement)(el, state)) +
'})'
}
diff --git a/packages/vue-cli-plugin-uni/packages/webpack-custom-block-loader/index.js b/packages/vue-cli-plugin-uni/packages/webpack-custom-block-loader/index.js
index a3777dbc8efd77592fdd4cd22ec390ca899f091a..e6936b694f3339eb636005dd42d8d430284b3447 100644
--- a/packages/vue-cli-plugin-uni/packages/webpack-custom-block-loader/index.js
+++ b/packages/vue-cli-plugin-uni/packages/webpack-custom-block-loader/index.js
@@ -14,8 +14,7 @@ const {
const FILTER_TAG = getPlatformFilterTag()
-module.exports = function(source) {
-
+module.exports = function (source) {
const loaderContext = this
const {
@@ -38,11 +37,6 @@ module.exports = function(source) {
needMap: sourceMap
})
- if (options.isAppService) { // 移除 styles
- descriptor.styles.length = 0
- return source
- }
-
if (!descriptor.template || !FILTER_TAG) {
// delete customBlocks
descriptor.customBlocks.length = 0
diff --git a/packages/vue-cli-plugin-uni/packages/webpack-html-append-plugin/index.js b/packages/vue-cli-plugin-uni/packages/webpack-html-append-plugin/index.js
index 237852c279c4573276aeab7d6d9126ff910bb50a..686c7e9f4c5608ae8882e19600d4676593bc234e 100644
--- a/packages/vue-cli-plugin-uni/packages/webpack-html-append-plugin/index.js
+++ b/packages/vue-cli-plugin-uni/packages/webpack-html-append-plugin/index.js
@@ -1,20 +1,20 @@
-const HtmlWebpackPlugin = require('html-webpack-plugin');
+const HtmlWebpackPlugin = require('html-webpack-plugin')
class WebpackHtmlAppendPlugin {
- constructor(content) {
- this.content = content || ''
- }
- apply(compiler) {
- compiler.hooks.compilation.tap('WebpackHtmlAppendPlugin', (compilation) => {
- const beforeEmit = compilation.hooks.htmlWebpackPluginAfterHtmlProcessing ||
+ constructor (content) {
+ this.content = content || ''
+ }
+ apply (compiler) {
+ compiler.hooks.compilation.tap('WebpackHtmlAppendPlugin', (compilation) => {
+ const beforeEmit = compilation.hooks.htmlWebpackPluginAfterHtmlProcessing ||
HtmlWebpackPlugin.getHooks(compilation).beforeEmit
- beforeEmit.tapAsync('WebpackHtmlAppendPlugin', (data, cb) => {
- data.html += this.content
- cb(null, data)
- })
- })
- }
+ beforeEmit.tapAsync('WebpackHtmlAppendPlugin', (data, cb) => {
+ data.html += this.content
+ cb(null, data)
+ })
+ })
+ }
}
module.exports = WebpackHtmlAppendPlugin
diff --git a/packages/vue-cli-plugin-uni/packages/webpack-preprocess-loader/index.js b/packages/vue-cli-plugin-uni/packages/webpack-preprocess-loader/index.js
index d343b69d2f1bea0462df74e7e14496449e6b3a7c..4aeb4cb1b04b466e08d0c2bd5a4bc696e7b48b0a 100644
--- a/packages/vue-cli-plugin-uni/packages/webpack-preprocess-loader/index.js
+++ b/packages/vue-cli-plugin-uni/packages/webpack-preprocess-loader/index.js
@@ -2,23 +2,23 @@ const path = require('path')
const utils = require('loader-utils')
const {
- normalizePath
+ normalizePath
} = require('@dcloudio/uni-cli-shared')
const preprocessor = require('./preprocess/lib/preprocess')
const ERRORS = {
- 'html': `条件编译失败,参考示例(注意 ifdef 与 endif 必须配对使用):
+ 'html': `条件编译失败,参考示例(注意 ifdef 与 endif 必须配对使用):
模板代码
`,
- 'js': `条件编译失败,参考示例(注意 ifdef 与 endif 必须配对使用):
+ 'js': `条件编译失败,参考示例(注意 ifdef 与 endif 必须配对使用):
// #ifdef %PLATFORM%
js代码
// #endif
`,
- 'css': `条件编译失败,参考示例(注意 ifdef 与 endif 必须配对使用):
+ 'css': `条件编译失败,参考示例(注意 ifdef 与 endif 必须配对使用):
/* #ifdef %PLATFORM% */
css代码
/* #endif */
@@ -26,36 +26,36 @@ css代码
}
const TAGS = {
- 'html': 'template',
- 'js': 'script',
- 'css': 'style'
+ 'html': 'template',
+ 'js': 'script',
+ 'css': 'style'
}
-module.exports = function(content, map) {
- this.cacheable && this.cacheable()
-
- let types = utils.getOptions(this).type || 'js'
-
- const context = utils.getOptions(this).context || {}
-
- if (!Array.isArray(types)) {
- types = [types]
+module.exports = function (content, map) {
+ this.cacheable && this.cacheable()
+
+ let types = utils.getOptions(this).type || 'js'
+
+ const context = utils.getOptions(this).context || {}
+
+ if (!Array.isArray(types)) {
+ types = [types]
+ }
+ const resourcePath = this.resourcePath
+ types.forEach(type => {
+ try {
+ content = preprocessor.preprocess(content, context, {
+ type
+ })
+ } catch (e) {
+ if (~['.nvue', '.vue'].indexOf(path.extname(resourcePath))) {
+ console.error(`${TAGS[type]}节点 ${ERRORS[type]} at ` + normalizePath(path.relative(process.env.UNI_INPUT_DIR,
+ resourcePath)) + ':1')
+ } else {
+ console.error(`${ERRORS[type]} at ` + normalizePath(path.relative(process.env.UNI_INPUT_DIR,
+ resourcePath)) + ':1')
+ }
}
- const resourcePath = this.resourcePath
- types.forEach(type => {
- try {
- content = preprocessor.preprocess(content, context, {
- type
- })
- } catch (e) {
- if (~['.nvue', '.vue'].indexOf(path.extname(resourcePath))) {
- console.error(`${TAGS[type]}节点 ${ERRORS[type]} at ` + normalizePath(path.relative(process.env.UNI_INPUT_DIR,
- resourcePath)) + ':1')
- } else {
- console.error(`${ERRORS[type]} at ` + normalizePath(path.relative(process.env.UNI_INPUT_DIR,
- resourcePath)) + ':1')
- }
- }
- })
- this.callback(null, content, map)
+ })
+ this.callback(null, content, map)
}
diff --git a/packages/vue-cli-plugin-uni/packages/webpack-scoped-loader/index.js b/packages/vue-cli-plugin-uni/packages/webpack-scoped-loader/index.js
index b2439856443dad4ceb4e9d3bd3730359bfa65a14..53f17d8b0c0d9335bcaf70ddbacaec02160819e7 100644
--- a/packages/vue-cli-plugin-uni/packages/webpack-scoped-loader/index.js
+++ b/packages/vue-cli-plugin-uni/packages/webpack-scoped-loader/index.js
@@ -4,12 +4,11 @@ const isWin = /^win/.test(process.platform)
const normalizePath = path => (isWin ? path.replace(/\\/g, '/') : path)
-module.exports = function(content) {
- this.cacheable && this.cacheable()
- const resourcePath = normalizePath(this.resourcePath)
- const inputPath = normalizePath(process.env.UNI_INPUT_DIR)
- if (resourcePath !== normalizePath(path.resolve(process.env.UNI_INPUT_DIR, 'App.vue'))) {
- return content.replace(/(