UNPKG

vimo-dt

Version:

A Vue2.x UI Project For Mobile & HyBrid

147 lines (144 loc) 2.93 kB
const hasTouch = 'ontouchstart' in window const DEFAULT = { startX: 0, startY: 0, scrollX: false, scrollY: true, freeScroll: false, directionLockThreshold: 5, eventPassthrough: '', click: false, tap: false, bounce: true, bounceTime: 700, momentum: true, momentumLimitTime: 300, momentumLimitDistance: 15, swipeTime: 2500, swipeBounceTime: 500, deceleration: 0.001, flickLimitTime: 200, flickLimitDistance: 100, resizePolling: 60, probeType: 0, preventDefault: true, preventDefaultException: { tagName: /^(INPUT|TEXTAREA|BUTTON|SELECT)$/ }, HWCompositing: true, useTransition: true, useTransform: true, bindToWrapper: false, disableMouse: hasTouch, disableTouch: !hasTouch, /** * for picker * wheel: { * selectedIndex: 0, * rotate: 25, * adjustTime: 400 * } */ wheel: false, /** * for slide * snap: { * loop: false, * el: domEl, * threshold: 0.1, * stepX: 100, * stepY: 100, * listenFlick: true * } */ snap: false, /** * for scrollbar * scrollbar: { * fade: true * } */ scrollbar: false, /** * for pull down and refresh * pullDownRefresh: { * threshold: 50, * stop: 20 * } */ pullDownRefresh: false, /** * for pull up and load * pullUpLoad: { * threshold: 50 * } */ pullUpLoad: false } function defaultDataToProps (defaults) { let props = {} for (let key in defaults) { let value = defaults[key] let valueType = typeof value let tmp = null switch (valueType) { case 'number': tmp = { type: [Number, String], default: value } break case 'string': tmp = { type: String, default: value } break case 'boolean': tmp = { type: [Boolean, Number], default: value } break case 'object': if (value) { tmp = { type: Object, default () { return JSON.parse(JSON.stringify(value)) } } } else { // Number String Function tmp = { type: [Object, Number, String, Function, Array], default () { return null } } } break case 'function': tmp = { type: Function, default () { return value } } break case 'undefined': tmp = [Object] break default: tmp = [Object] console.debug('这个属性未找到::props.js::defaultDataToProps()') console.debug('key: ' + key) console.debug('value: ' + value) console.debug('valueType: ' + valueType) break } props[key] = tmp } return props } export default defaultDataToProps(DEFAULT)