UNPKG

element-ui

Version:

A Component Library for Vue.js.

508 lines (434 loc) 12.4 kB
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__(172); /***/ }, /***/ 3: /***/ function(module, exports) { /* globals __VUE_SSR_CONTEXT__ */ // this module is a runtime utility for cleaner component module output and will // be included in the final webpack user bundle module.exports = function normalizeComponent ( rawScriptExports, compiledTemplate, injectStyles, scopeId, moduleIdentifier /* server only */ ) { var esModule var scriptExports = rawScriptExports = rawScriptExports || {} // ES6 modules interop var type = typeof rawScriptExports.default if (type === 'object' || type === 'function') { esModule = rawScriptExports scriptExports = rawScriptExports.default } // Vue.extend constructor export interop var options = typeof scriptExports === 'function' ? scriptExports.options : scriptExports // render functions if (compiledTemplate) { options.render = compiledTemplate.render options.staticRenderFns = compiledTemplate.staticRenderFns } // scopedId if (scopeId) { options._scopeId = scopeId } var hook if (moduleIdentifier) { // server build hook = function (context) { // 2.3 injection context = context || (this.$vnode && this.$vnode.ssrContext) // 2.2 with runInNewContext: true if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') { context = __VUE_SSR_CONTEXT__ } // inject component styles if (injectStyles) { injectStyles.call(this, context) } // register component module identifier for async chunk inferrence if (context && context._registeredComponents) { context._registeredComponents.add(moduleIdentifier) } } // used by ssr in case component is cached and beforeCreate // never gets called options._ssrRegister = hook } else if (injectStyles) { hook = injectStyles } if (hook) { // inject component registration as beforeCreate hook var existing = options.beforeCreate options.beforeCreate = existing ? [].concat(existing, hook) : [hook] } return { esModule: esModule, exports: scriptExports, options: options } } /***/ }, /***/ 9: /***/ function(module, exports) { module.exports = require("element-ui/lib/input"); /***/ }, /***/ 63: /***/ function(module, exports) { module.exports = require("throttle-debounce/debounce"); /***/ }, /***/ 123: /***/ function(module, exports) { module.exports = require("element-ui/lib/utils/dom"); /***/ }, /***/ 172: /***/ function(module, exports, __webpack_require__) { 'use strict'; exports.__esModule = true; var _inputNumber = __webpack_require__(173); 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; /***/ }, /***/ 173: /***/ function(module, exports, __webpack_require__) { var Component = __webpack_require__(3)( /* script */ __webpack_require__(174), /* template */ __webpack_require__(175), /* styles */ null, /* scopeId */ null, /* moduleIdentifier (server only) */ null ) module.exports = Component.exports /***/ }, /***/ 174: /***/ function(module, exports, __webpack_require__) { 'use strict'; exports.__esModule = true; var _input = __webpack_require__(9); var _input2 = _interopRequireDefault(_input); var _dom = __webpack_require__(123); var _debounce = __webpack_require__(63); var _debounce2 = _interopRequireDefault(_debounce); 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].apply(); }; 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); clearInterval(interval); interval = setInterval(handler, 100); }); } } }, components: { ElInput: _input2.default }, props: { step: { type: Number, default: 1 }, max: { type: Number, default: Infinity }, min: { type: Number, default: -Infinity }, value: { default: 0 }, disabled: Boolean, size: String, controls: { type: Boolean, default: true }, debounce: { type: Number, default: 300 } }, data: function data() { return { currentValue: 0 }; }, watch: { value: { immediate: true, handler: function handler(value) { var newVal = Number(value); if (isNaN(newVal)) return; if (newVal >= this.max) newVal = this.max; if (newVal <= this.min) newVal = this.min; this.currentValue = newVal; this.$emit('input', newVal); } } }, computed: { minDisabled: function minDisabled() { return this._decrease(this.value, this.step) < this.min; }, maxDisabled: function maxDisabled() { return this._increase(this.value, this.step) > this.max; }, precision: function precision() { var value = this.value, step = this.step, getPrecision = this.getPrecision; return Math.max(getPrecision(value), getPrecision(step)); } }, methods: { toPrecision: function toPrecision(num, precision) { if (precision === undefined) precision = this.precision; return parseFloat(parseFloat(Number(num).toFixed(precision))); }, getPrecision: function getPrecision(value) { var valueString = value.toString(); var dotPosition = valueString.indexOf('.'); var precision = 0; if (dotPosition !== -1) { precision = valueString.length - dotPosition - 1; } return precision; }, _increase: function _increase(val, step) { if (typeof val !== 'number') return this.currentValue; var precisionFactor = Math.pow(10, this.precision); return this.toPrecision((precisionFactor * val + precisionFactor * step) / precisionFactor); }, _decrease: function _decrease(val, step) { if (typeof val !== 'number') return this.currentValue; var precisionFactor = Math.pow(10, this.precision); return this.toPrecision((precisionFactor * val - precisionFactor * step) / precisionFactor); }, increase: function increase() { if (this.disabled || this.maxDisabled) return; var value = this.value || 0; var newVal = this._increase(value, this.step); if (newVal > this.max) return; this.setCurrentValue(newVal); }, decrease: function decrease() { if (this.disabled || this.minDisabled) return; var value = this.value || 0; var newVal = this._decrease(value, this.step); if (newVal < this.min) return; this.setCurrentValue(newVal); }, handleBlur: function handleBlur() { this.$refs.input.setCurrentValue(this.currentValue); }, setCurrentValue: function setCurrentValue(newVal) { var oldVal = this.currentValue; if (newVal >= this.max) newVal = this.max; if (newVal <= this.min) newVal = this.min; if (oldVal === newVal) { this.$refs.input.setCurrentValue(this.currentValue); return; } this.$emit('change', newVal, oldVal); this.$emit('input', newVal); this.currentValue = newVal; }, handleInput: function handleInput(value) { if (value === '') { return; } var newVal = Number(value); if (!isNaN(newVal)) { this.setCurrentValue(newVal); } else { this.$refs.input.setCurrentValue(this.currentValue); } } }, created: function created() { var _this = this; this.debounceHandleInput = (0, _debounce2.default)(this.debounce, function (value) { _this.handleInput(value); }); } }; // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // /***/ }, /***/ 175: /***/ 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", class: { 'is-disabled': _vm.minDisabled } }, [_c('i', { staticClass: "el-icon-minus" })]) : _vm._e(), (_vm.controls) ? _c('span', { directives: [{ name: "repeat-click", rawName: "v-repeat-click", value: (_vm.increase), expression: "increase" }], staticClass: "el-input-number__increase", class: { 'is-disabled': _vm.maxDisabled } }, [_c('i', { staticClass: "el-icon-plus" })]) : _vm._e(), _c('el-input', { ref: "input", attrs: { "value": _vm.currentValue, "disabled": _vm.disabled, "size": _vm.size, "max": _vm.max, "min": _vm.min }, on: { "blur": _vm.handleBlur, "input": _vm.debounceHandleInput }, nativeOn: { "keydown": [function($event) { if (!('button' in $event) && _vm._k($event.keyCode, "up", 38)) { return null; } $event.preventDefault(); _vm.increase($event) }, function($event) { if (!('button' in $event) && _vm._k($event.keyCode, "down", 40)) { return null; } $event.preventDefault(); _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: []} /***/ } /******/ });