UNPKG

element-ui

Version:

A Component Library for Vue.js.

874 lines (743 loc) 20.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__(347); /***/ }, /***/ 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"); /***/ }, /***/ 14: /***/ function(module, exports) { module.exports = require("element-ui/lib/mixins/emitter"); /***/ }, /***/ 61: /***/ function(module, exports) { module.exports = require("element-ui/lib/mixins/locale"); /***/ }, /***/ 143: /***/ function(module, exports) { module.exports = require("element-ui/lib/button"); /***/ }, /***/ 308: /***/ function(module, exports) { module.exports = require("element-ui/lib/checkbox"); /***/ }, /***/ 317: /***/ function(module, exports) { module.exports = require("element-ui/lib/checkbox-group"); /***/ }, /***/ 347: /***/ function(module, exports, __webpack_require__) { 'use strict'; exports.__esModule = true; var _main = __webpack_require__(348); var _main2 = _interopRequireDefault(_main); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } /* istanbul ignore next */ _main2.default.install = function (Vue) { Vue.component(_main2.default.name, _main2.default); }; exports.default = _main2.default; /***/ }, /***/ 348: /***/ function(module, exports, __webpack_require__) { var Component = __webpack_require__(3)( /* script */ __webpack_require__(349), /* template */ __webpack_require__(353), /* styles */ null, /* scopeId */ null, /* moduleIdentifier (server only) */ null ) module.exports = Component.exports /***/ }, /***/ 349: /***/ function(module, exports, __webpack_require__) { 'use strict'; exports.__esModule = true; var _button = __webpack_require__(143); var _button2 = _interopRequireDefault(_button); var _emitter = __webpack_require__(14); var _emitter2 = _interopRequireDefault(_emitter); var _locale = __webpack_require__(61); var _locale2 = _interopRequireDefault(_locale); var _transferPanel = __webpack_require__(350); var _transferPanel2 = _interopRequireDefault(_transferPanel); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // exports.default = { name: 'ElTransfer', mixins: [_emitter2.default, _locale2.default], components: { TransferPanel: _transferPanel2.default, ElButton: _button2.default }, props: { data: { type: Array, default: function _default() { return []; } }, titles: { type: Array, default: function _default() { return []; } }, buttonTexts: { type: Array, default: function _default() { return []; } }, filterPlaceholder: { type: String, default: '' }, filterMethod: Function, leftDefaultChecked: { type: Array, default: function _default() { return []; } }, rightDefaultChecked: { type: Array, default: function _default() { return []; } }, renderContent: Function, value: { type: Array, default: function _default() { return []; } }, footerFormat: { type: Object, default: function _default() { return {}; } }, filterable: Boolean, props: { type: Object, default: function _default() { return { label: 'label', key: 'key', disabled: 'disabled' }; } } }, data: function data() { return { leftChecked: [], rightChecked: [] }; }, computed: { sourceData: function sourceData() { var _this = this; return this.data.filter(function (item) { return _this.value.indexOf(item[_this.props.key]) === -1; }); }, targetData: function targetData() { var _this2 = this; return this.data.filter(function (item) { return _this2.value.indexOf(item[_this2.props.key]) > -1; }); } }, watch: { value: function value(val) { this.dispatch('ElFormItem', 'el.form.change', val); } }, methods: { onSourceCheckedChange: function onSourceCheckedChange(val) { this.leftChecked = val; }, onTargetCheckedChange: function onTargetCheckedChange(val) { this.rightChecked = val; }, addToLeft: function addToLeft() { var currentValue = this.value.slice(); this.rightChecked.forEach(function (item) { var index = currentValue.indexOf(item); if (index > -1) { currentValue.splice(index, 1); } }); this.$emit('input', currentValue); this.$emit('change', currentValue, 'left', this.rightChecked); }, addToRight: function addToRight() { var _this3 = this; var currentValue = this.value.slice(); this.leftChecked.forEach(function (item) { if (_this3.value.indexOf(item) === -1) { currentValue = currentValue.concat(item); } }); this.$emit('input', currentValue); this.$emit('change', currentValue, 'right', this.leftChecked); } } }; /***/ }, /***/ 350: /***/ function(module, exports, __webpack_require__) { var Component = __webpack_require__(3)( /* script */ __webpack_require__(351), /* template */ __webpack_require__(352), /* styles */ null, /* scopeId */ null, /* moduleIdentifier (server only) */ null ) module.exports = Component.exports /***/ }, /***/ 351: /***/ function(module, exports, __webpack_require__) { 'use strict'; exports.__esModule = true; var _checkboxGroup = __webpack_require__(317); var _checkboxGroup2 = _interopRequireDefault(_checkboxGroup); var _checkbox = __webpack_require__(308); var _checkbox2 = _interopRequireDefault(_checkbox); var _input = __webpack_require__(9); var _input2 = _interopRequireDefault(_input); var _locale = __webpack_require__(61); var _locale2 = _interopRequireDefault(_locale); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // exports.default = { mixins: [_locale2.default], name: 'ElTransferPanel', componentName: 'ElTransferPanel', components: { ElCheckboxGroup: _checkboxGroup2.default, ElCheckbox: _checkbox2.default, ElInput: _input2.default, OptionContent: { props: { option: Object }, render: function render(h) { var getParent = function getParent(vm) { if (vm.$options.componentName === 'ElTransferPanel') { return vm; } else if (vm.$parent) { return getParent(vm.$parent); } else { return vm; } }; var parent = getParent(this); return parent.renderContent ? parent.renderContent(h, this.option) : h( 'span', null, [this.option[parent.labelProp] || this.option[parent.keyProp]] ); } } }, props: { data: { type: Array, default: function _default() { return []; } }, renderContent: Function, placeholder: String, title: String, filterable: Boolean, footerFormat: Object, filterMethod: Function, defaultChecked: Array, props: Object }, data: function data() { return { checked: [], allChecked: false, query: '', inputHover: false }; }, watch: { checked: function checked(val) { this.updateAllChecked(); this.$emit('checked-change', val); }, data: function data() { var _this = this; var checked = []; var filteredDataKeys = this.filteredData.map(function (item) { return item[_this.keyProp]; }); this.checked.forEach(function (item) { if (filteredDataKeys.indexOf(item) > -1) { checked.push(item); } }); this.checked = checked; }, checkableData: function checkableData() { this.updateAllChecked(); }, defaultChecked: { immediate: true, handler: function handler(val, oldVal) { var _this2 = this; if (oldVal && val.length === oldVal.length && val.every(function (item) { return oldVal.indexOf(item) > -1; })) return; var checked = []; var checkableDataKeys = this.checkableData.map(function (item) { return item[_this2.keyProp]; }); val.forEach(function (item) { if (checkableDataKeys.indexOf(item) > -1) { checked.push(item); } }); this.checked = checked; } } }, computed: { filteredData: function filteredData() { var _this3 = this; return this.data.filter(function (item) { if (typeof _this3.filterMethod === 'function') { return _this3.filterMethod(_this3.query, item); } else { var label = item[_this3.labelProp] || item[_this3.keyProp].toString(); return label.toLowerCase().indexOf(_this3.query.toLowerCase()) > -1; } }); }, checkableData: function checkableData() { var _this4 = this; return this.filteredData.filter(function (item) { return !item[_this4.disabledProp]; }); }, checkedSummary: function checkedSummary() { var checkedLength = this.checked.length; var dataLength = this.data.length; var _footerFormat = this.footerFormat, noChecked = _footerFormat.noChecked, hasChecked = _footerFormat.hasChecked; if (noChecked && hasChecked) { return checkedLength > 0 ? hasChecked.replace(/\${checked}/g, checkedLength).replace(/\${total}/g, dataLength) : noChecked.replace(/\${total}/g, dataLength); } else { return checkedLength > 0 ? this.t('el.transfer.hasCheckedFormat', { total: dataLength, checked: checkedLength }) : this.t('el.transfer.noCheckedFormat', { total: dataLength }); } }, isIndeterminate: function isIndeterminate() { var checkedLength = this.checked.length; return checkedLength > 0 && checkedLength < this.checkableData.length; }, hasNoMatch: function hasNoMatch() { return this.query.length > 0 && this.filteredData.length === 0; }, inputIcon: function inputIcon() { return this.query.length > 0 && this.inputHover ? 'circle-close' : 'search'; }, labelProp: function labelProp() { return this.props.label || 'label'; }, keyProp: function keyProp() { return this.props.key || 'key'; }, disabledProp: function disabledProp() { return this.props.disabled || 'disabled'; } }, methods: { updateAllChecked: function updateAllChecked() { var _this5 = this; var checkableDataKeys = this.checkableData.map(function (item) { return item[_this5.keyProp]; }); this.allChecked = checkableDataKeys.length > 0 && checkableDataKeys.every(function (item) { return _this5.checked.indexOf(item) > -1; }); }, handleAllCheckedChange: function handleAllCheckedChange(value) { var _this6 = this; this.checked = value.target.checked ? this.checkableData.map(function (item) { return item[_this6.keyProp]; }) : []; }, clearQuery: function clearQuery() { if (this.inputIcon === 'circle-close') { this.query = ''; } } } }; /***/ }, /***/ 352: /***/ 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-transfer-panel" }, [_c('p', { staticClass: "el-transfer-panel__header" }, [_vm._v(_vm._s(_vm.title))]), _c('div', { staticClass: "el-transfer-panel__body" }, [(_vm.filterable) ? _c('el-input', { staticClass: "el-transfer-panel__filter", attrs: { "size": "small", "placeholder": _vm.placeholder, "icon": _vm.inputIcon }, on: { "click": _vm.clearQuery }, nativeOn: { "mouseenter": function($event) { _vm.inputHover = true }, "mouseleave": function($event) { _vm.inputHover = false } }, model: { value: (_vm.query), callback: function($$v) { _vm.query = $$v }, expression: "query" } }) : _vm._e(), _c('el-checkbox-group', { directives: [{ name: "show", rawName: "v-show", value: (!_vm.hasNoMatch && _vm.data.length > 0), expression: "!hasNoMatch && data.length > 0" }], staticClass: "el-transfer-panel__list", class: { 'is-filterable': _vm.filterable }, model: { value: (_vm.checked), callback: function($$v) { _vm.checked = $$v }, expression: "checked" } }, _vm._l((_vm.filteredData), function(item) { return _c('el-checkbox', { key: item[_vm.keyProp], staticClass: "el-transfer-panel__item", attrs: { "label": item[_vm.keyProp], "disabled": item[_vm.disabledProp] } }, [_c('option-content', { attrs: { "option": item } })], 1) })), _c('p', { directives: [{ name: "show", rawName: "v-show", value: (_vm.hasNoMatch), expression: "hasNoMatch" }], staticClass: "el-transfer-panel__empty" }, [_vm._v(_vm._s(_vm.t('el.transfer.noMatch')))]), _c('p', { directives: [{ name: "show", rawName: "v-show", value: (_vm.data.length === 0 && !_vm.hasNoMatch), expression: "data.length === 0 && !hasNoMatch" }], staticClass: "el-transfer-panel__empty" }, [_vm._v(_vm._s(_vm.t('el.transfer.noData')))])], 1), _c('p', { staticClass: "el-transfer-panel__footer" }, [_c('el-checkbox', { attrs: { "indeterminate": _vm.isIndeterminate }, on: { "change": _vm.handleAllCheckedChange }, model: { value: (_vm.allChecked), callback: function($$v) { _vm.allChecked = $$v }, expression: "allChecked" } }, [_vm._v(_vm._s(_vm.checkedSummary))]), _vm._t("default")], 2)]) },staticRenderFns: []} /***/ }, /***/ 353: /***/ 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-transfer" }, [_c('transfer-panel', _vm._b({ attrs: { "data": _vm.sourceData, "title": _vm.titles[0] || _vm.t('el.transfer.titles.0'), "default-checked": _vm.leftDefaultChecked, "placeholder": _vm.filterPlaceholder || _vm.t('el.transfer.filterPlaceholder') }, on: { "checked-change": _vm.onSourceCheckedChange } }, 'transfer-panel', _vm.$props), [_vm._t("left-footer")], 2), _c('div', { staticClass: "el-transfer__buttons" }, [_c('el-button', { attrs: { "type": "primary", "size": "small", "disabled": _vm.rightChecked.length === 0 }, nativeOn: { "click": function($event) { _vm.addToLeft($event) } } }, [_c('i', { staticClass: "el-icon-arrow-left" }), (_vm.buttonTexts[0] !== undefined) ? _c('span', [_vm._v(_vm._s(_vm.buttonTexts[0]))]) : _vm._e()]), _c('el-button', { attrs: { "type": "primary", "size": "small", "disabled": _vm.leftChecked.length === 0 }, nativeOn: { "click": function($event) { _vm.addToRight($event) } } }, [(_vm.buttonTexts[1] !== undefined) ? _c('span', [_vm._v(_vm._s(_vm.buttonTexts[1]))]) : _vm._e(), _c('i', { staticClass: "el-icon-arrow-right" })])], 1), _c('transfer-panel', _vm._b({ attrs: { "data": _vm.targetData, "title": _vm.titles[1] || _vm.t('el.transfer.titles.1'), "default-checked": _vm.rightDefaultChecked, "placeholder": _vm.filterPlaceholder || _vm.t('el.transfer.filterPlaceholder') }, on: { "checked-change": _vm.onTargetCheckedChange } }, 'transfer-panel', _vm.$props), [_vm._t("right-footer")], 2)], 1) },staticRenderFns: []} /***/ } /******/ });