You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							465 lines
						
					
					
						
							13 KiB
						
					
					
				
			
		
		
	
	
							465 lines
						
					
					
						
							13 KiB
						
					
					
				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] = { | 
						|
/******/ 			i: moduleId, | 
						|
/******/ 			l: false, | 
						|
/******/ 			exports: {} | 
						|
/******/ 		}; | 
						|
/******/ | 
						|
/******/ 		// Execute the module function | 
						|
/******/ 		modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); | 
						|
/******/ | 
						|
/******/ 		// Flag the module as loaded | 
						|
/******/ 		module.l = 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; | 
						|
/******/ | 
						|
/******/ 	// define getter function for harmony exports | 
						|
/******/ 	__webpack_require__.d = function(exports, name, getter) { | 
						|
/******/ 		if(!__webpack_require__.o(exports, name)) { | 
						|
/******/ 			Object.defineProperty(exports, name, { enumerable: true, get: getter }); | 
						|
/******/ 		} | 
						|
/******/ 	}; | 
						|
/******/ | 
						|
/******/ 	// define __esModule on exports | 
						|
/******/ 	__webpack_require__.r = function(exports) { | 
						|
/******/ 		if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { | 
						|
/******/ 			Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); | 
						|
/******/ 		} | 
						|
/******/ 		Object.defineProperty(exports, '__esModule', { value: true }); | 
						|
/******/ 	}; | 
						|
/******/ | 
						|
/******/ 	// create a fake namespace object | 
						|
/******/ 	// mode & 1: value is a module id, require it | 
						|
/******/ 	// mode & 2: merge all properties of value into the ns | 
						|
/******/ 	// mode & 4: return value when already ns object | 
						|
/******/ 	// mode & 8|1: behave like require | 
						|
/******/ 	__webpack_require__.t = function(value, mode) { | 
						|
/******/ 		if(mode & 1) value = __webpack_require__(value); | 
						|
/******/ 		if(mode & 8) return value; | 
						|
/******/ 		if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; | 
						|
/******/ 		var ns = Object.create(null); | 
						|
/******/ 		__webpack_require__.r(ns); | 
						|
/******/ 		Object.defineProperty(ns, 'default', { enumerable: true, value: value }); | 
						|
/******/ 		if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); | 
						|
/******/ 		return ns; | 
						|
/******/ 	}; | 
						|
/******/ | 
						|
/******/ 	// getDefaultExport function for compatibility with non-harmony modules | 
						|
/******/ 	__webpack_require__.n = function(module) { | 
						|
/******/ 		var getter = module && module.__esModule ? | 
						|
/******/ 			function getDefault() { return module['default']; } : | 
						|
/******/ 			function getModuleExports() { return module; }; | 
						|
/******/ 		__webpack_require__.d(getter, 'a', getter); | 
						|
/******/ 		return getter; | 
						|
/******/ 	}; | 
						|
/******/ | 
						|
/******/ 	// Object.prototype.hasOwnProperty.call | 
						|
/******/ 	__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; | 
						|
/******/ | 
						|
/******/ 	// __webpack_public_path__ | 
						|
/******/ 	__webpack_require__.p = "/dist/"; | 
						|
/******/ | 
						|
/******/ | 
						|
/******/ 	// Load entry module and return exports | 
						|
/******/ 	return __webpack_require__(__webpack_require__.s = 121); | 
						|
/******/ }) | 
						|
/************************************************************************/ | 
						|
/******/ ({ | 
						|
 | 
						|
/***/ 0: | 
						|
/***/ (function(module, __webpack_exports__, __webpack_require__) { | 
						|
 | 
						|
"use strict"; | 
						|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return normalizeComponent; }); | 
						|
/* globals __VUE_SSR_CONTEXT__ */ | 
						|
 | 
						|
// IMPORTANT: Do NOT use ES2015 features in this file (except for modules). | 
						|
// This module is a runtime utility for cleaner component module output and will | 
						|
// be included in the final webpack user bundle. | 
						|
 | 
						|
function normalizeComponent ( | 
						|
  scriptExports, | 
						|
  render, | 
						|
  staticRenderFns, | 
						|
  functionalTemplate, | 
						|
  injectStyles, | 
						|
  scopeId, | 
						|
  moduleIdentifier, /* server only */ | 
						|
  shadowMode /* vue-cli only */ | 
						|
) { | 
						|
  // Vue.extend constructor export interop | 
						|
  var options = typeof scriptExports === 'function' | 
						|
    ? scriptExports.options | 
						|
    : scriptExports | 
						|
 | 
						|
  // render functions | 
						|
  if (render) { | 
						|
    options.render = render | 
						|
    options.staticRenderFns = staticRenderFns | 
						|
    options._compiled = true | 
						|
  } | 
						|
 | 
						|
  // functional template | 
						|
  if (functionalTemplate) { | 
						|
    options.functional = true | 
						|
  } | 
						|
 | 
						|
  // scopedId | 
						|
  if (scopeId) { | 
						|
    options._scopeId = 'data-v-' + scopeId | 
						|
  } | 
						|
 | 
						|
  var hook | 
						|
  if (moduleIdentifier) { // server build | 
						|
    hook = function (context) { | 
						|
      // 2.3 injection | 
						|
      context = | 
						|
        context || // cached call | 
						|
        (this.$vnode && this.$vnode.ssrContext) || // stateful | 
						|
        (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional | 
						|
      // 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 = shadowMode | 
						|
      ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) } | 
						|
      : injectStyles | 
						|
  } | 
						|
 | 
						|
  if (hook) { | 
						|
    if (options.functional) { | 
						|
      // for template-only hot-reload because in that case the render fn doesn't | 
						|
      // go through the normalizer | 
						|
      options._injectStyles = hook | 
						|
      // register for functioal component in vue file | 
						|
      var originalRender = options.render | 
						|
      options.render = function renderWithStyleInjection (h, context) { | 
						|
        hook.call(context) | 
						|
        return originalRender(h, context) | 
						|
      } | 
						|
    } else { | 
						|
      // inject component registration as beforeCreate hook | 
						|
      var existing = options.beforeCreate | 
						|
      options.beforeCreate = existing | 
						|
        ? [].concat(existing, hook) | 
						|
        : [hook] | 
						|
    } | 
						|
  } | 
						|
 | 
						|
  return { | 
						|
    exports: scriptExports, | 
						|
    options: options | 
						|
  } | 
						|
} | 
						|
 | 
						|
 | 
						|
/***/ }), | 
						|
 | 
						|
/***/ 121: | 
						|
/***/ (function(module, __webpack_exports__, __webpack_require__) { | 
						|
 | 
						|
"use strict"; | 
						|
__webpack_require__.r(__webpack_exports__); | 
						|
 | 
						|
// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/form/src/form.vue?vue&type=template&id=a1b5ff34& | 
						|
var render = function() { | 
						|
  var _vm = this | 
						|
  var _h = _vm.$createElement | 
						|
  var _c = _vm._self._c || _h | 
						|
  return _c( | 
						|
    "form", | 
						|
    { | 
						|
      staticClass: "el-form", | 
						|
      class: [ | 
						|
        _vm.labelPosition ? "el-form--label-" + _vm.labelPosition : "", | 
						|
        { "el-form--inline": _vm.inline } | 
						|
      ] | 
						|
    }, | 
						|
    [_vm._t("default")], | 
						|
    2 | 
						|
  ) | 
						|
} | 
						|
var staticRenderFns = [] | 
						|
render._withStripped = true | 
						|
 | 
						|
 | 
						|
// CONCATENATED MODULE: ./packages/form/src/form.vue?vue&type=template&id=a1b5ff34& | 
						|
 | 
						|
// EXTERNAL MODULE: external "element-ui/lib/utils/merge" | 
						|
var merge_ = __webpack_require__(9); | 
						|
var merge_default = /*#__PURE__*/__webpack_require__.n(merge_); | 
						|
 | 
						|
// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/form/src/form.vue?vue&type=script&lang=js& | 
						|
// | 
						|
// | 
						|
// | 
						|
// | 
						|
// | 
						|
// | 
						|
// | 
						|
// | 
						|
 | 
						|
 | 
						|
 | 
						|
/* harmony default export */ var formvue_type_script_lang_js_ = ({ | 
						|
  name: 'ElForm', | 
						|
 | 
						|
  componentName: 'ElForm', | 
						|
 | 
						|
  provide: function provide() { | 
						|
    return { | 
						|
      elForm: this | 
						|
    }; | 
						|
  }, | 
						|
 | 
						|
 | 
						|
  props: { | 
						|
    model: Object, | 
						|
    rules: Object, | 
						|
    labelPosition: String, | 
						|
    labelWidth: String, | 
						|
    labelSuffix: { | 
						|
      type: String, | 
						|
      default: '' | 
						|
    }, | 
						|
    inline: Boolean, | 
						|
    inlineMessage: Boolean, | 
						|
    statusIcon: Boolean, | 
						|
    showMessage: { | 
						|
      type: Boolean, | 
						|
      default: true | 
						|
    }, | 
						|
    size: String, | 
						|
    disabled: Boolean, | 
						|
    validateOnRuleChange: { | 
						|
      type: Boolean, | 
						|
      default: true | 
						|
    }, | 
						|
    hideRequiredAsterisk: { | 
						|
      type: Boolean, | 
						|
      default: false | 
						|
    } | 
						|
  }, | 
						|
  watch: { | 
						|
    rules: function rules() { | 
						|
      // remove then add event listeners on form-item after form rules change | 
						|
      this.fields.forEach(function (field) { | 
						|
        field.removeValidateEvents(); | 
						|
        field.addValidateEvents(); | 
						|
      }); | 
						|
 | 
						|
      if (this.validateOnRuleChange) { | 
						|
        this.validate(function () {}); | 
						|
      } | 
						|
    } | 
						|
  }, | 
						|
  computed: { | 
						|
    autoLabelWidth: function autoLabelWidth() { | 
						|
      if (!this.potentialLabelWidthArr.length) return 0; | 
						|
      var max = Math.max.apply(Math, this.potentialLabelWidthArr); | 
						|
      return max ? max + 'px' : ''; | 
						|
    } | 
						|
  }, | 
						|
  data: function data() { | 
						|
    return { | 
						|
      fields: [], | 
						|
      potentialLabelWidthArr: [] // use this array to calculate auto width | 
						|
    }; | 
						|
  }, | 
						|
  created: function created() { | 
						|
    var _this = this; | 
						|
 | 
						|
    this.$on('el.form.addField', function (field) { | 
						|
      if (field) { | 
						|
        _this.fields.push(field); | 
						|
      } | 
						|
    }); | 
						|
    /* istanbul ignore next */ | 
						|
    this.$on('el.form.removeField', function (field) { | 
						|
      if (field.prop) { | 
						|
        _this.fields.splice(_this.fields.indexOf(field), 1); | 
						|
      } | 
						|
    }); | 
						|
  }, | 
						|
 | 
						|
  methods: { | 
						|
    resetFields: function resetFields() { | 
						|
      if (!this.model) { | 
						|
        console.warn('[Element Warn][Form]model is required for resetFields to work.'); | 
						|
        return; | 
						|
      } | 
						|
      this.fields.forEach(function (field) { | 
						|
        field.resetField(); | 
						|
      }); | 
						|
    }, | 
						|
    clearValidate: function clearValidate() { | 
						|
      var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : []; | 
						|
 | 
						|
      var fields = props.length ? typeof props === 'string' ? this.fields.filter(function (field) { | 
						|
        return props === field.prop; | 
						|
      }) : this.fields.filter(function (field) { | 
						|
        return props.indexOf(field.prop) > -1; | 
						|
      }) : this.fields; | 
						|
      fields.forEach(function (field) { | 
						|
        field.clearValidate(); | 
						|
      }); | 
						|
    }, | 
						|
    validate: function validate(callback) { | 
						|
      var _this2 = this; | 
						|
 | 
						|
      if (!this.model) { | 
						|
        console.warn('[Element Warn][Form]model is required for validate to work!'); | 
						|
        return; | 
						|
      } | 
						|
 | 
						|
      var promise = void 0; | 
						|
      // if no callback, return promise | 
						|
      if (typeof callback !== 'function' && window.Promise) { | 
						|
        promise = new window.Promise(function (resolve, reject) { | 
						|
          callback = function callback(valid) { | 
						|
            valid ? resolve(valid) : reject(valid); | 
						|
          }; | 
						|
        }); | 
						|
      } | 
						|
 | 
						|
      var valid = true; | 
						|
      var count = 0; | 
						|
      // 如果需要验证的fields为空,调用验证时立刻返回callback | 
						|
      if (this.fields.length === 0 && callback) { | 
						|
        callback(true); | 
						|
      } | 
						|
      var invalidFields = {}; | 
						|
      this.fields.forEach(function (field) { | 
						|
        field.validate('', function (message, field) { | 
						|
          if (message) { | 
						|
            valid = false; | 
						|
          } | 
						|
          invalidFields = merge_default()({}, invalidFields, field); | 
						|
          if (typeof callback === 'function' && ++count === _this2.fields.length) { | 
						|
            callback(valid, invalidFields); | 
						|
          } | 
						|
        }); | 
						|
      }); | 
						|
 | 
						|
      if (promise) { | 
						|
        return promise; | 
						|
      } | 
						|
    }, | 
						|
    validateField: function validateField(props, cb) { | 
						|
      props = [].concat(props); | 
						|
      var fields = this.fields.filter(function (field) { | 
						|
        return props.indexOf(field.prop) !== -1; | 
						|
      }); | 
						|
      if (!fields.length) { | 
						|
        console.warn('[Element Warn]please pass correct props!'); | 
						|
        return; | 
						|
      } | 
						|
 | 
						|
      fields.forEach(function (field) { | 
						|
        field.validate('', cb); | 
						|
      }); | 
						|
    }, | 
						|
    getLabelWidthIndex: function getLabelWidthIndex(width) { | 
						|
      var index = this.potentialLabelWidthArr.indexOf(width); | 
						|
      // it's impossible | 
						|
      if (index === -1) { | 
						|
        throw new Error('[ElementForm]unpected width ', width); | 
						|
      } | 
						|
      return index; | 
						|
    }, | 
						|
    registerLabelWidth: function registerLabelWidth(val, oldVal) { | 
						|
      if (val && oldVal) { | 
						|
        var index = this.getLabelWidthIndex(oldVal); | 
						|
        this.potentialLabelWidthArr.splice(index, 1, val); | 
						|
      } else if (val) { | 
						|
        this.potentialLabelWidthArr.push(val); | 
						|
      } | 
						|
    }, | 
						|
    deregisterLabelWidth: function deregisterLabelWidth(val) { | 
						|
      var index = this.getLabelWidthIndex(val); | 
						|
      this.potentialLabelWidthArr.splice(index, 1); | 
						|
    } | 
						|
  } | 
						|
}); | 
						|
// CONCATENATED MODULE: ./packages/form/src/form.vue?vue&type=script&lang=js& | 
						|
 /* harmony default export */ var src_formvue_type_script_lang_js_ = (formvue_type_script_lang_js_);  | 
						|
// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js | 
						|
var componentNormalizer = __webpack_require__(0); | 
						|
 | 
						|
// CONCATENATED MODULE: ./packages/form/src/form.vue | 
						|
 | 
						|
 | 
						|
 | 
						|
 | 
						|
 | 
						|
/* normalize component */ | 
						|
 | 
						|
var component = Object(componentNormalizer["a" /* default */])( | 
						|
  src_formvue_type_script_lang_js_, | 
						|
  render, | 
						|
  staticRenderFns, | 
						|
  false, | 
						|
  null, | 
						|
  null, | 
						|
  null | 
						|
   | 
						|
) | 
						|
 | 
						|
/* hot reload */ | 
						|
if (false) { var api; } | 
						|
component.options.__file = "packages/form/src/form.vue" | 
						|
/* harmony default export */ var src_form = (component.exports); | 
						|
// CONCATENATED MODULE: ./packages/form/index.js | 
						|
 | 
						|
 | 
						|
/* istanbul ignore next */ | 
						|
src_form.install = function (Vue) { | 
						|
  Vue.component(src_form.name, src_form); | 
						|
}; | 
						|
 | 
						|
/* harmony default export */ var packages_form = __webpack_exports__["default"] = (src_form); | 
						|
 | 
						|
/***/ }), | 
						|
 | 
						|
/***/ 9: | 
						|
/***/ (function(module, exports) { | 
						|
 | 
						|
module.exports = require("element-ui/lib/utils/merge"); | 
						|
 | 
						|
/***/ }) | 
						|
 | 
						|
/******/ }); |