UNPKG

element-ui

Version:

A Component Library for Vue.js.

348 lines (271 loc) 8.32 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__(98); /***/ }, /***/ 38: /***/ function(module, exports) { module.exports = require("element-ui/lib/mixins/emitter"); /***/ }, /***/ 98: /***/ function(module, exports, __webpack_require__) { 'use strict'; exports.__esModule = true; var _formItem = __webpack_require__(99); var _formItem2 = _interopRequireDefault(_formItem); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } /* istanbul ignore next */ _formItem2.default.install = function (Vue) { Vue.component(_formItem2.default.name, _formItem2.default); }; exports.default = _formItem2.default; /***/ }, /***/ 99: /***/ function(module, exports, __webpack_require__) { var __vue_exports__, __vue_options__ var __vue_styles__ = {} /* script */ __vue_exports__ = __webpack_require__(100) /* template */ var __vue_template__ = __webpack_require__(102) __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__ /***/ }, /***/ 100: /***/ function(module, exports, __webpack_require__) { 'use strict'; exports.__esModule = true; var _asyncValidator = __webpack_require__(101); var _asyncValidator2 = _interopRequireDefault(_asyncValidator); var _emitter = __webpack_require__(38); var _emitter2 = _interopRequireDefault(_emitter); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } // // // // // // // // // // // // // // // // // exports.default = { name: 'ElFormItem', componentName: 'form-item', mixins: [_emitter2.default], props: { label: String, labelWidth: String, prop: String, required: Boolean, rules: [Object, Array] }, computed: { labelStyle: function labelStyle() { var ret = {}; var labelWidth = this.labelWidth || this.form.labelWidth; if (labelWidth) { ret.width = labelWidth; } return ret; }, contentStyle: function contentStyle() { var ret = {}; var labelWidth = this.labelWidth || this.form.labelWidth; if (labelWidth) { ret.marginLeft = labelWidth; } return ret; }, form: function form() { var parent = this.$parent; while (parent.$options.componentName !== 'form') { parent = parent.$parent; } return parent; }, fieldValue: { cache: false, get: function get() { var model = this.form.model; if (!model || !this.prop) { return; } var temp = this.prop.split(':'); return temp.length > 1 ? model[temp[0]][temp[1]] : model[this.prop]; } } }, data: function data() { return { valid: true, error: '', validateDisabled: false, validating: false, validator: {}, isRequired: false }; }, methods: { validate: function validate(trigger, cb) { var _this = this; var rules = this.getFilteredRule(trigger); if (!rules || rules.length === 0) { cb && cb(); return true; } this.validating = true; var descriptor = {}; descriptor[this.prop] = rules; var validator = new _asyncValidator2.default(descriptor); var model = {}; model[this.prop] = this.fieldValue; validator.validate(model, { firstFields: true }, function (errors, fields) { _this.valid = !errors; _this.error = errors ? errors[0].message : ''; cb && cb(errors); _this.validating = false; }); }, resetField: function resetField() { this.valid = true; this.error = ''; var model = this.form.model; var value = this.fieldValue; if (Array.isArray(value) && value.length > 0) { this.validateDisabled = true; model[this.prop] = []; } else if (value) { this.validateDisabled = true; model[this.prop] = this.initialValue; } }, getRules: function getRules() { var formRules = this.form.rules; var selfRuels = this.rules; formRules = formRules ? formRules[this.prop] : []; return [].concat(selfRuels || formRules || []); }, getFilteredRule: function getFilteredRule(trigger) { var rules = this.getRules(); return rules.filter(function (rule) { return !rule.trigger || rule.trigger.indexOf(trigger) !== -1; }); }, onFieldBlur: function onFieldBlur() { this.validate('blur'); }, onFieldChange: function onFieldChange() { if (this.validateDisabled) { this.validateDisabled = false; return; } this.validate('change'); } }, mounted: function mounted() { var _this2 = this; if (this.prop) { this.dispatch('form', 'el.form.addField', [this]); Object.defineProperty(this, 'initialValue', { value: this.form.model[this.prop] }); var rules = this.getRules(); if (rules.length) { rules.every(function (rule) { if (rule.required) { _this2.isRequired = true; return false; } }); this.$on('el.form.blur', this.onFieldBlur); this.$on('el.form.change', this.onFieldChange); } } }, beforeDestroy: function beforeDestroy() { this.dispatch('form', 'el.form.removeField', [this]); } }; /***/ }, /***/ 101: /***/ function(module, exports) { module.exports = require("async-validator"); /***/ }, /***/ 102: /***/ function(module, exports) { module.exports={render:function (){var _vm=this; return _vm._h('div', { staticClass: "el-form-item", class: { 'is-error': _vm.error !== '', 'is-validating': _vm.validating, 'is-required': _vm.isRequired || _vm.required } }, [(_vm.label) ? _vm._h('label', { staticClass: "el-form-item__label", style: (_vm.labelStyle) }, ["\n " + _vm._s(_vm.label + _vm.form.labelSuffix) + "\n "]) : _vm._e(), _vm._h('div', { staticClass: "el-form-item__content", style: (_vm.contentStyle) }, [_vm._t("default"), _vm._h('transition', { attrs: { "name": "md-fade-bottom" } }, [(_vm.error !== '') ? _vm._h('div', { staticClass: "el-form-item__error" }, [_vm._s(_vm.error)]) : _vm._e()])])]) },staticRenderFns: []} /***/ } /******/ });