123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666 |
- 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__(316);
- /***/ },
- /***/ 164:
- /***/ function(module, exports) {
- module.exports = require("element-ui/lib/utils/merge");
- /***/ },
- /***/ 266:
- /***/ function(module, exports) {
- module.exports = require("element-ui/lib/tag");
- /***/ },
- /***/ 304:
- /***/ function(module, exports) {
- module.exports = require("element-ui/lib/checkbox");
- /***/ },
- /***/ 306:
- /***/ function(module, exports) {
- 'use strict';
- exports.__esModule = true;
- var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
- var getCell = exports.getCell = function getCell(event) {
- var cell = event.target;
- while (cell && cell.tagName.toUpperCase() !== 'HTML') {
- if (cell.tagName.toUpperCase() === 'TD') {
- return cell;
- }
- cell = cell.parentNode;
- }
- return null;
- };
- var getValueByPath = exports.getValueByPath = function getValueByPath(object, prop) {
- prop = prop || '';
- var paths = prop.split('.');
- var current = object;
- var result = null;
- for (var i = 0, j = paths.length; i < j; i++) {
- var path = paths[i];
- if (!current) break;
- if (i === j - 1) {
- result = current[path];
- break;
- }
- current = current[path];
- }
- return result;
- };
- var isObject = function isObject(obj) {
- return obj !== null && (typeof obj === 'undefined' ? 'undefined' : _typeof(obj)) === 'object';
- };
- var orderBy = exports.orderBy = function orderBy(array, sortKey, reverse, sortMethod) {
- if (typeof reverse === 'string') {
- reverse = reverse === 'descending' ? -1 : 1;
- }
- if (!sortKey) {
- return array;
- }
- var order = reverse && reverse < 0 ? -1 : 1;
- // sort on a copy to avoid mutating original array
- return array.slice().sort(sortMethod ? function (a, b) {
- return sortMethod(a, b) ? order : -order;
- } : function (a, b) {
- if (sortKey !== '$key') {
- if (isObject(a) && '$value' in a) a = a.$value;
- if (isObject(b) && '$value' in b) b = b.$value;
- }
- a = isObject(a) ? getValueByPath(a, sortKey) : a;
- b = isObject(b) ? getValueByPath(b, sortKey) : b;
- return a === b ? 0 : a > b ? order : -order;
- });
- };
- var getColumnById = exports.getColumnById = function getColumnById(table, columnId) {
- var column = null;
- table.columns.forEach(function (item) {
- if (item.id === columnId) {
- column = item;
- }
- });
- return column;
- };
- var getColumnByCell = exports.getColumnByCell = function getColumnByCell(table, cell) {
- var matches = (cell.className || '').match(/el-table_[^\s]+/gm);
- if (matches) {
- return getColumnById(table, matches[0]);
- }
- return null;
- };
- var isFirefox = typeof navigator !== 'undefined' && navigator.userAgent.toLowerCase().indexOf('firefox') > -1;
- var mousewheel = exports.mousewheel = function mousewheel(element, callback) {
- if (element && element.addEventListener) {
- element.addEventListener(isFirefox ? 'DOMMouseScroll' : 'mousewheel', callback);
- }
- };
- var getRowIdentity = exports.getRowIdentity = function getRowIdentity(row, rowKey) {
- if (!row) throw new Error('row is required when get row identity');
- if (typeof rowKey === 'string') {
- return row[rowKey];
- } else if (typeof rowKey === 'function') {
- return rowKey.call(null, row);
- }
- };
- /***/ },
- /***/ 316:
- /***/ function(module, exports, __webpack_require__) {
- 'use strict';
- exports.__esModule = true;
- var _tableColumn = __webpack_require__(317);
- var _tableColumn2 = _interopRequireDefault(_tableColumn);
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
- /* istanbul ignore next */
- _tableColumn2.default.install = function (Vue) {
- Vue.component(_tableColumn2.default.name, _tableColumn2.default);
- };
- exports.default = _tableColumn2.default;
- /***/ },
- /***/ 317:
- /***/ function(module, exports, __webpack_require__) {
- 'use strict';
- exports.__esModule = true;
- var _checkbox = __webpack_require__(304);
- var _checkbox2 = _interopRequireDefault(_checkbox);
- var _tag = __webpack_require__(266);
- var _tag2 = _interopRequireDefault(_tag);
- var _merge = __webpack_require__(164);
- var _merge2 = _interopRequireDefault(_merge);
- var _util = __webpack_require__(306);
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
- function _objectDestructuringEmpty(obj) { if (obj == null) throw new TypeError("Cannot destructure undefined"); }
- var columnIdSeed = 1;
- var defaults = {
- default: {
- order: ''
- },
- selection: {
- width: 48,
- minWidth: 48,
- realWidth: 48,
- order: '',
- className: 'el-table-column--selection'
- },
- expand: {
- width: 48,
- minWidth: 48,
- realWidth: 48,
- order: ''
- },
- index: {
- width: 48,
- minWidth: 48,
- realWidth: 48,
- order: ''
- }
- };
- var forced = {
- selection: {
- renderHeader: function renderHeader(h) {
- return h(
- 'el-checkbox',
- {
- nativeOn: {
- 'click': this.toggleAllSelection
- },
- domProps: {
- 'value': this.isAllSelected
- }
- },
- []
- );
- },
- renderCell: function renderCell(h, _ref) {
- var row = _ref.row,
- column = _ref.column,
- store = _ref.store,
- $index = _ref.$index;
- return h(
- 'el-checkbox',
- {
- domProps: {
- 'value': store.isSelected(row)
- },
- attrs: {
- disabled: column.selectable ? !column.selectable.call(null, row, $index) : false
- },
- on: {
- 'input': function input() {
- store.commit('rowSelectedChanged', row);
- }
- }
- },
- []
- );
- },
- sortable: false,
- resizable: false
- },
- index: {
- renderHeader: function renderHeader(h, _ref2) {
- var column = _ref2.column;
- return column.label || '#';
- },
- renderCell: function renderCell(h, _ref3) {
- var $index = _ref3.$index;
- return h(
- 'div',
- null,
- [$index + 1]
- );
- },
- sortable: false
- },
- expand: {
- renderHeader: function renderHeader(h, _ref4) {
- _objectDestructuringEmpty(_ref4);
- return '';
- },
- renderCell: function renderCell(h, _ref5, proxy) {
- var row = _ref5.row,
- store = _ref5.store;
- var expanded = store.states.expandRows.indexOf(row) > -1;
- return h(
- 'div',
- { 'class': 'el-table__expand-icon ' + (expanded ? 'el-table__expand-icon--expanded' : ''),
- on: {
- 'click': function click() {
- return proxy.handleExpandClick(row);
- }
- }
- },
- [h(
- 'i',
- { 'class': 'el-icon el-icon-arrow-right' },
- []
- )]
- );
- },
- sortable: false,
- resizable: false,
- className: 'el-table__expand-column'
- }
- };
- var getDefaultColumn = function getDefaultColumn(type, options) {
- var column = {};
- (0, _merge2.default)(column, defaults[type || 'default']);
- for (var name in options) {
- if (options.hasOwnProperty(name)) {
- var value = options[name];
- if (typeof value !== 'undefined') {
- column[name] = value;
- }
- }
- }
- if (!column.minWidth) {
- column.minWidth = 80;
- }
- column.realWidth = column.width || column.minWidth;
- return column;
- };
- var DEFAULT_RENDER_CELL = function DEFAULT_RENDER_CELL(h, _ref6) {
- var row = _ref6.row,
- column = _ref6.column;
- var property = column.property;
- if (column && column.formatter) {
- return column.formatter(row, column);
- }
- if (property && property.indexOf('.') === -1) {
- return row[property];
- }
- return (0, _util.getValueByPath)(row, property);
- };
- exports.default = {
- name: 'ElTableColumn',
- props: {
- type: {
- type: String,
- default: 'default'
- },
- label: String,
- className: String,
- labelClassName: String,
- property: String,
- prop: String,
- width: {},
- minWidth: {},
- renderHeader: Function,
- sortable: {
- type: [String, Boolean],
- default: false
- },
- sortMethod: Function,
- resizable: {
- type: Boolean,
- default: true
- },
- context: {},
- columnKey: String,
- align: String,
- headerAlign: String,
- showTooltipWhenOverflow: Boolean,
- showOverflowTooltip: Boolean,
- fixed: [Boolean, String],
- formatter: Function,
- selectable: Function,
- reserveSelection: Boolean,
- filterMethod: Function,
- filteredValue: Array,
- filters: Array,
- filterMultiple: {
- type: Boolean,
- default: true
- }
- },
- data: function data() {
- return {
- isSubColumn: false,
- columns: []
- };
- },
- beforeCreate: function beforeCreate() {
- this.row = {};
- this.column = {};
- this.$index = 0;
- },
- components: {
- ElCheckbox: _checkbox2.default,
- ElTag: _tag2.default
- },
- computed: {
- owner: function owner() {
- var parent = this.$parent;
- while (parent && !parent.tableId) {
- parent = parent.$parent;
- }
- return parent;
- }
- },
- created: function created() {
- var _this = this;
- this.customRender = this.$options.render;
- this.$options.render = function (h) {
- return h('div', _this.$slots.default);
- };
- this.columnId = (this.$parent.tableId || this.$parent.columnId + '_') + 'column_' + columnIdSeed++;
- var parent = this.$parent;
- var owner = this.owner;
- this.isSubColumn = owner !== parent;
- var type = this.type;
- var width = this.width;
- if (width !== undefined) {
- width = parseInt(width, 10);
- if (isNaN(width)) {
- width = null;
- }
- }
- var minWidth = this.minWidth;
- if (minWidth !== undefined) {
- minWidth = parseInt(minWidth, 10);
- if (isNaN(minWidth)) {
- minWidth = 80;
- }
- }
- var isColumnGroup = false;
- var column = getDefaultColumn(type, {
- id: this.columnId,
- columnKey: this.columnKey,
- label: this.label,
- className: this.className,
- labelClassName: this.labelClassName,
- property: this.prop || this.property,
- type: type,
- renderCell: null,
- renderHeader: this.renderHeader,
- minWidth: minWidth,
- width: width,
- isColumnGroup: isColumnGroup,
- context: this.context,
- align: this.align ? 'is-' + this.align : null,
- headerAlign: this.headerAlign ? 'is-' + this.headerAlign : this.align ? 'is-' + this.align : null,
- sortable: this.sortable === '' ? true : this.sortable,
- sortMethod: this.sortMethod,
- resizable: this.resizable,
- showOverflowTooltip: this.showOverflowTooltip || this.showTooltipWhenOverflow,
- formatter: this.formatter,
- selectable: this.selectable,
- reserveSelection: this.reserveSelection,
- fixed: this.fixed === '' ? true : this.fixed,
- filterMethod: this.filterMethod,
- filters: this.filters,
- filterable: this.filters || this.filterMethod,
- filterMultiple: this.filterMultiple,
- filterOpened: false,
- filteredValue: this.filteredValue || []
- });
- (0, _merge2.default)(column, forced[type] || {});
- this.columnConfig = column;
- var renderCell = column.renderCell;
- var _self = this;
- if (type === 'expand') {
- owner.renderExpanded = function (h, data) {
- return _self.$scopedSlots.default ? _self.$scopedSlots.default(data) : _self.$slots.default;
- };
- column.renderCell = function (h, data) {
- return h(
- 'div',
- { 'class': 'cell' },
- [renderCell(h, data, this._renderProxy)]
- );
- };
- return;
- }
- column.renderCell = function (h, data) {
- // 未来版本移除
- if (_self.$vnode.data.inlineTemplate) {
- renderCell = function renderCell() {
- data._self = _self.context || data._self;
- if (Object.prototype.toString.call(data._self) === '[object Object]') {
- for (var prop in data._self) {
- if (!data.hasOwnProperty(prop)) {
- data[prop] = data._self[prop];
- }
- }
- }
- // 静态内容会缓存到 _staticTrees 内,不改的话获取的静态数据就不是内部 context
- data._staticTrees = _self._staticTrees;
- data.$options.staticRenderFns = _self.$options.staticRenderFns;
- return _self.customRender.call(data);
- };
- } else if (_self.$scopedSlots.default) {
- renderCell = function renderCell() {
- return _self.$scopedSlots.default(data);
- };
- }
- if (!renderCell) {
- renderCell = DEFAULT_RENDER_CELL;
- }
- return _self.showOverflowTooltip || _self.showTooltipWhenOverflow ? h(
- 'div',
- { 'class': 'cell el-tooltip' },
- [renderCell(h, data)]
- ) : h(
- 'div',
- { 'class': 'cell' },
- [renderCell(h, data)]
- );
- };
- },
- destroyed: function destroyed() {
- if (!this.$parent) return;
- this.owner.store.commit('removeColumn', this.columnConfig);
- },
- watch: {
- label: function label(newVal) {
- if (this.columnConfig) {
- this.columnConfig.label = newVal;
- }
- },
- prop: function prop(newVal) {
- if (this.columnConfig) {
- this.columnConfig.property = newVal;
- }
- },
- property: function property(newVal) {
- if (this.columnConfig) {
- this.columnConfig.property = newVal;
- }
- },
- filters: function filters(newVal) {
- if (this.columnConfig) {
- this.columnConfig.filters = newVal;
- }
- },
- filterMultiple: function filterMultiple(newVal) {
- if (this.columnConfig) {
- this.columnConfig.filterMultiple = newVal;
- }
- },
- align: function align(newVal) {
- if (this.columnConfig) {
- this.columnConfig.align = newVal ? 'is-' + newVal : null;
- if (!this.headerAlign) {
- this.columnConfig.headerAlign = newVal ? 'is-' + newVal : null;
- }
- }
- },
- headerAlign: function headerAlign(newVal) {
- if (this.columnConfig) {
- this.columnConfig.headerAlign = 'is-' + (newVal ? newVal : this.align);
- }
- },
- width: function width(newVal) {
- if (this.columnConfig) {
- this.columnConfig.width = newVal;
- this.owner.store.scheduleLayout();
- }
- },
- minWidth: function minWidth(newVal) {
- if (this.columnConfig) {
- this.columnConfig.minWidth = newVal;
- this.owner.store.scheduleLayout();
- }
- },
- fixed: function fixed(newVal) {
- if (this.columnConfig) {
- this.columnConfig.fixed = newVal;
- this.owner.store.scheduleLayout();
- }
- }
- },
- mounted: function mounted() {
- var owner = this.owner;
- var parent = this.$parent;
- var columnIndex = void 0;
- if (!this.isSubColumn) {
- columnIndex = [].indexOf.call(parent.$refs.hiddenColumns.children, this.$el);
- } else {
- columnIndex = [].indexOf.call(parent.$el.children, this.$el);
- }
- owner.store.commit('insertColumn', this.columnConfig, columnIndex, this.isSubColumn ? parent.columnConfig : null);
- }
- };
- /***/ }
- /******/ });
|