vimo-dt
Version:
A Vue2.x UI Project For Mobile & HyBrid
125 lines (113 loc) • 2.88 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
var hasTouch = 'ontouchstart' in window;
var 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,
wheel: false,
snap: false,
scrollbar: false,
pullDownRefresh: false,
pullUpLoad: false
};
function defaultDataToProps(defaults) {
var props = {};
var _loop = function _loop(key) {
var value = defaults[key];
var valueType = typeof value === 'undefined' ? 'undefined' : _typeof(value);
var 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: function _default() {
return JSON.parse(JSON.stringify(value));
}
};
} else {
tmp = {
type: [Object, Number, String, Function, Array],
default: function _default() {
return null;
}
};
}
break;
case 'function':
tmp = {
type: Function,
default: 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;
};
for (var key in defaults) {
_loop(key);
}
return props;
}
exports.default = defaultDataToProps(DEFAULT);