vue-tables-2
Version:
Vue.js 2 grid components
29 lines (24 loc) • 847 B
JavaScript
"use strict";
module.exports = function (column) {
var _this = this;
if (!this.userControlsColumns) {
this.userColumnsDisplay = JSON.parse(JSON.stringify(this.allColumns));
this.userControlsColumns = true;
}
if (this.userColumnsDisplay.includes(column)) {
// can't have no columns
if (this.userColumnsDisplay.length === 1) return;
var index = this.userColumnsDisplay.indexOf(column);
this.userColumnsDisplay.splice(index, 1);
} else {
this.userColumnsDisplay.push(column);
}
this.updateState('userControlsColumns', true);
this.updateState('userColumnsDisplay', this.userColumnsDisplay);
this.$nextTick(function () {
_this._setFiltersDOM(_this.query);
if (_this.userColumnsDisplay.includes(column) && _this.opts.dateColumns.includes(column)) {
_this.initDateFilters();
}
});
};