element-ui
Version:
A Component Library for Vue.js.
409 lines (354 loc) • 9.64 kB
JavaScript
module.exports =
/******/ (function(modules) { // webpackBootstrap
/******/ // The module cache
/******/ var installedModules = {};
/******/ // The require function
/******/ function __webpack_require__(moduleId) {
/******/ // Check if module is in cache
/******/ if(installedModules[moduleId])
/******/ return installedModules[moduleId].exports;
/******/ // Create a new module (and put it into the cache)
/******/ var module = installedModules[moduleId] = {
/******/ exports: {},
/******/ id: moduleId,
/******/ loaded: false
/******/ };
/******/ // Execute the module function
/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
/******/ // Flag the module as loaded
/******/ module.loaded = true;
/******/ // Return the exports of the module
/******/ return module.exports;
/******/ }
/******/ // expose the modules object (__webpack_modules__)
/******/ __webpack_require__.m = modules;
/******/ // expose the module cache
/******/ __webpack_require__.c = installedModules;
/******/ // __webpack_public_path__
/******/ __webpack_require__.p = "/dist/";
/******/ // Load entry module and return exports
/******/ return __webpack_require__(0);
/******/ })
/************************************************************************/
/******/ ({
/***/ 0:
/***/ function(module, exports, __webpack_require__) {
module.exports = __webpack_require__(135);
/***/ },
/***/ 8:
/***/ function(module, exports) {
module.exports = require("element-ui/lib/input");
/***/ },
/***/ 68:
/***/ function(module, exports) {
module.exports = require("element-ui/lib/utils/dom");
/***/ },
/***/ 135:
/***/ function(module, exports, __webpack_require__) {
'use strict';
exports.__esModule = true;
var _inputNumber = __webpack_require__(136);
var _inputNumber2 = _interopRequireDefault(_inputNumber);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
/* istanbul ignore next */
_inputNumber2.default.install = function (Vue) {
Vue.component(_inputNumber2.default.name, _inputNumber2.default);
};
exports.default = _inputNumber2.default;
/***/ },
/***/ 136:
/***/ function(module, exports, __webpack_require__) {
var __vue_exports__, __vue_options__
var __vue_styles__ = {}
/* script */
__vue_exports__ = __webpack_require__(137)
/* template */
var __vue_template__ = __webpack_require__(138)
__vue_options__ = __vue_exports__ = __vue_exports__ || {}
if (
typeof __vue_exports__.default === "object" ||
typeof __vue_exports__.default === "function"
) {
__vue_options__ = __vue_exports__ = __vue_exports__.default
}
if (typeof __vue_options__ === "function") {
__vue_options__ = __vue_options__.options
}
__vue_options__.render = __vue_template__.render
__vue_options__.staticRenderFns = __vue_template__.staticRenderFns
module.exports = __vue_exports__
/***/ },
/***/ 137:
/***/ function(module, exports, __webpack_require__) {
'use strict';
exports.__esModule = true;
var _input = __webpack_require__(8);
var _input2 = _interopRequireDefault(_input);
var _dom = __webpack_require__(68);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
exports.default = {
name: 'ElInputNumber',
directives: {
repeatClick: {
bind: function bind(el, binding, vnode) {
var interval = null;
var startTime = void 0;
var handler = function handler() {
return vnode.context[binding.expression]();
};
var clear = function clear() {
if (new Date() - startTime < 100) {
handler();
}
clearInterval(interval);
interval = null;
};
(0, _dom.on)(el, 'mousedown', function () {
startTime = new Date();
(0, _dom.once)(document, 'mouseup', clear);
interval = setInterval(handler, 100);
});
}
}
},
components: {
ElInput: _input2.default
},
props: {
step: {
type: Number,
default: 1
},
max: {
type: Number,
default: Infinity
},
min: {
type: Number,
default: 0
},
value: {
default: 0
},
disabled: Boolean,
size: String,
controls: {
type: Boolean,
default: true
}
},
data: function data() {
// correct the init value
var value = this.value;
if (value < this.min) {
this.$emit('input', this.min);
value = this.min;
}
if (value > this.max) {
this.$emit('input', this.max);
value = this.max;
}
return {
currentValue: value
};
},
watch: {
value: function value(val) {
this.currentValue = val;
},
currentValue: function currentValue(newVal, oldVal) {
if (newVal <= this.max && newVal >= this.min) {
this.$emit('change', newVal, oldVal);
this.$emit('input', newVal);
}
}
},
computed: {
minDisabled: function minDisabled() {
return this.accSub(this.value, this.step) < this.min;
},
maxDisabled: function maxDisabled() {
return this.accAdd(this.value, this.step) > this.max;
}
},
methods: {
accSub: function accSub(arg1, arg2) {
var r1, r2, m, n;
try {
r1 = arg1.toString().split('.')[1].length;
} catch (e) {
r1 = 0;
}
try {
r2 = arg2.toString().split('.')[1].length;
} catch (e) {
r2 = 0;
}
m = Math.pow(10, Math.max(r1, r2));
n = r1 >= r2 ? r1 : r2;
return parseFloat(((arg1 * m - arg2 * m) / m).toFixed(n));
},
accAdd: function accAdd(arg1, arg2) {
var r1, r2, m, c;
try {
r1 = arg1.toString().split('.')[1].length;
} catch (e) {
r1 = 0;
}
try {
r2 = arg2.toString().split('.')[1].length;
} catch (e) {
r2 = 0;
}
c = Math.abs(r1 - r2);
m = Math.pow(10, Math.max(r1, r2));
if (c > 0) {
var cm = Math.pow(10, c);
if (r1 > r2) {
arg1 = Number(arg1.toString().replace('.', ''));
arg2 = Number(arg2.toString().replace('.', '')) * cm;
} else {
arg1 = Number(arg1.toString().replace('.', '')) * cm;
arg2 = Number(arg2.toString().replace('.', ''));
}
} else {
arg1 = Number(arg1.toString().replace('.', ''));
arg2 = Number(arg2.toString().replace('.', ''));
}
return (arg1 + arg2) / m;
},
increase: function increase() {
if (this.maxDisabled) return;
var value = this.value || 0;
if (this.accAdd(value, this.step) > this.max || this.disabled) return;
this.currentValue = this.accAdd(value, this.step);
},
decrease: function decrease() {
if (this.minDisabled) return;
var value = this.value || 0;
if (this.accSub(value, this.step) < this.min || this.disabled) return;
this.currentValue = this.accSub(value, this.step);
},
handleBlur: function handleBlur() {
this.$refs.input.setCurrentValue(this.currentValue);
}
}
};
/***/ },
/***/ 138:
/***/ function(module, exports) {
module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;
return _c('div', {
staticClass: "el-input-number",
class: [
_vm.size ? 'el-input-number--' + _vm.size : '', {
'is-disabled': _vm.disabled
}, {
'is-without-controls': !_vm.controls
}
]
}, [(_vm.controls) ? _c('span', {
directives: [{
name: "repeat-click",
rawName: "v-repeat-click",
value: (_vm.decrease),
expression: "decrease"
}],
staticClass: "el-input-number__decrease el-icon-minus",
class: {
'is-disabled': _vm.minDisabled
}
}) : _vm._e(), (_vm.controls) ? _c('span', {
directives: [{
name: "repeat-click",
rawName: "v-repeat-click",
value: (_vm.increase),
expression: "increase"
}],
staticClass: "el-input-number__increase el-icon-plus",
class: {
'is-disabled': _vm.maxDisabled
}
}) : _vm._e(), _c('el-input', {
directives: [{
name: "model",
rawName: "v-model.number",
value: (_vm.currentValue),
expression: "currentValue",
modifiers: {
"number": true
}
}],
ref: "input",
attrs: {
"disabled": _vm.disabled,
"size": _vm.size
},
domProps: {
"value": (_vm.currentValue)
},
on: {
"blur": [_vm.handleBlur, function($event) {
_vm.$forceUpdate()
}],
"input": function($event) {
_vm.currentValue = _vm._n($event)
}
},
nativeOn: {
"keydown": [function($event) {
if (_vm._k($event.keyCode, "up", 38)) { return; }
_vm.increase($event)
}, function($event) {
if (_vm._k($event.keyCode, "down", 40)) { return; }
_vm.decrease($event)
}]
}
}, [(_vm.$slots.prepend) ? _c('template', {
slot: "prepend"
}, [_vm._t("prepend")], 2) : _vm._e(), (_vm.$slots.append) ? _c('template', {
slot: "append"
}, [_vm._t("append")], 2) : _vm._e()], 2)], 1)
},staticRenderFns: []}
/***/ }
/******/ });