|
@@ -213,9 +213,19 @@ export default (options={}) => { |
|
|
export(options={}) { |
|
|
export(options={}) { |
|
|
let _data = this.data() |
|
|
let _data = this.data() |
|
|
|
|
|
|
|
|
|
|
|
if (typeof options.filter == 'function') { |
|
|
|
|
|
_data = options.filter(_data) |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
if (options.type == 'csv') { |
|
|
if (options.type == 'csv') { |
|
|
let headers = _configs.selects && _configs.selects.map(select => select.alias || select.label) || Object.keys(_data[0]) |
|
|
let headers = _configs.selects && _configs.selects.map(select => select.alias || select.label) || Object.keys(_data[0]) |
|
|
|
|
|
|
|
|
|
|
|
if (options.generated_columns) { |
|
|
|
|
|
options.generated_columns.forEach(column => { |
|
|
|
|
|
headers.splice(column.position, 0, column.label) |
|
|
|
|
|
}) |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
let body = _data.map(row => headers.map(key => row[key]).join(',')).join('\n') |
|
|
let body = _data.map(row => headers.map(key => row[key]).join(',')).join('\n') |
|
|
|
|
|
|
|
|
_data = '\ufeff' + headers.join(',') + '\n' + body |
|
|
_data = '\ufeff' + headers.join(',') + '\n' + body |
|
|